:root {
    --brand-primary: #000000;
    --brand-primary-dark: #000000;
    --brand-primary-soft: rgba(17, 24, 39, 0.08);
    --brand-primary-glow: rgba(17, 24, 39, 0.14);
    --brand-ink: #000000;
    --brand-surface: #f9fafb;
    --brand-beige: #f3f4f6;
    --brand-border: #d1d5db;
    --brand-text: #4b5563;
    --brand-olive: #475569;
    --brand-brown: #374151;
    --color-primary: #000000;
    --color-primary-dark: #000000;
    --color-yellow-50: #f9fafb;
    --color-yellow-100: #f3f4f6;
    --color-yellow-200: #e5e7eb;
    --color-yellow-300: #d1d5db;
    --color-yellow-400: #9ca3af;
    --color-yellow-500: #6b7280;
    --color-yellow-600: #4b5563;
    --color-yellow-700: #374151;
    --color-yellow-800: #1f2937;
    --color-yellow-900: #000000;
    --color-amber-50: #f9fafb;
    --color-amber-100: #f3f4f6;
    --color-amber-200: #e5e7eb;
    --color-amber-500: #6b7280;
    --color-amber-600: #4b5563;
    --color-amber-700: #374151;
    --color-amber-800: #1f2937;
    --color-amber-900: #000000;
    --color-orange-50: #f9fafb;
    --color-orange-100: #f3f4f6;
    --color-orange-200: #e5e7eb;
    --color-orange-500: #6b7280;
    --color-orange-700: #374151;
    --color-orange-900: #000000;
}

html,
body {
    font-family: "Playfair Display", Georgia, serif !important;
}

body {
    background: var(--brand-surface) !important;
    color: var(--brand-text);
}

body :where(p, a, li, span, label, input, button, textarea, select, small, strong, em, td, th, figcaption) {
    font-family: "Playfair Display", Georgia, serif !important;
}

body :where(h1, h2, h3, h4, h5, h6),
.hero-slideshow__heading,
.home-section-title h3,
.product-section-heading h2,
.product-section-heading h3 {
    font-family: "Cinzel", Georgia, serif !important;
    letter-spacing: 0.02em;
}

::selection {
    background: #000000;
    color: #ffffff;
}

.text-primary,
.text-secondary,
.text-tertiary,
.hover\:text-primary:hover,
.hover\:\!text-primary:hover,
.group:hover .group-hover\:text-primary,
.active\:text-primary:active,
[class*="text-[#BB976D]"],
[class*="text-[#bb976d]"],
[class*="text-[#E3B505]"],
[class*="text-[#e3b505]"],
[class*="text-[#EE9818]"],
[class*="text-[#ee9818]"],
[class*="text-yellow-"],
[class*="text-amber-"],
[class*="text-orange-"] {
    color: #000000 !important;
}

.bg-primary,
.bg-secondary,
.bg-tertiary,
.hover\:bg-primary:hover,
.group:hover .group-hover\:bg-primary,
[class*="bg-[#BB976D]"],
[class*="bg-[#bb976d]"],
[class*="bg-[#E3B505]"],
[class*="bg-[#e3b505]"],
[class*="bg-[#F9F8F3]"],
[class*="bg-[#f9f8f3]"],
[class*="bg-[#fbfaf7]"],
[class*="bg-[#faf7f2]"],
[class*="bg-yellow-"],
[class*="bg-amber-"],
[class*="bg-orange-"] {
    background-color: #f3f4f6 !important;
}

.bg-primary,
.bg-secondary,
.bg-tertiary,
.hover\:bg-primary:hover,
.group:hover .group-hover\:bg-primary,
[class*="bg-[#BB976D]"],
[class*="bg-[#bb976d]"],
[class*="bg-[#E3B505]"],
[class*="bg-[#e3b505]"] {
    color: #000000 !important;
}

.bg-primary\/10,
.bg-primary-light,
.bg-primary-midum,
.bg-secondary-light,
.bg-secondary-midum,
.bg-tertiary-light {
    background-color: rgba(17, 24, 39, 0.08) !important;
}

[class*="border-[#BB976D]"],
[class*="border-[#bb976d]"],
[class*="border-yellow-"],
[class*="border-amber-"],
[class*="border-orange-"],
.focus\:border-primary:focus,
.dark\:focus\:border-primary:focus {
    border-color: #d1d5db !important;
}

[class*="ring-yellow-"],
[class*="ring-amber-"],
[class*="ring-orange-"],
.focus\:ring-primary:focus,
.dark\:focus\:ring-primary:focus {
    --tw-ring-color: rgba(17, 24, 39, 0.18) !important;
}

[class*="from-[#BB976D]"],
[class*="from-[#bb976d]"],
[class*="from-yellow-"],
[class*="from-amber-"],
[class*="from-orange-"] {
    --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position) !important;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)) !important;
}

[class*="to-[#BB976D]"],
[class*="to-[#bb976d]"],
[class*="to-yellow-"],
[class*="to-amber-"],
[class*="to-orange-"] {
    --tw-gradient-to: #ffffff var(--tw-gradient-to-position) !important;
}

[class*="shadow-[#BB976D]"],
[class*="shadow-[#bb976d]"],
[class*="shadow-yellow-"],
[class*="shadow-amber-"],
[class*="shadow-orange-"] {
    --tw-shadow-color: rgba(17, 24, 39, 0.12) !important;
    --tw-shadow: var(--tw-shadow-colored) !important;
}

svg [fill="#BB976D"],
svg [fill="#bb976d"],
svg [fill="#E3B505"],
svg [fill="#e3b505"],
svg [fill="#EE9818"],
svg [fill="#ee9818"],
svg [fill="#f59e0b"],
svg [fill="#fbbf24"],
svg [fill="#facc15"] {
    fill: #000000 !important;
}

svg [stroke="#BB976D"],
svg [stroke="#bb976d"],
svg [stroke="#E3B505"],
svg [stroke="#e3b505"],
svg [stroke="#EE9818"],
svg [stroke="#ee9818"],
svg [stroke="#f59e0b"],
svg [stroke="#fbbf24"],
svg [stroke="#facc15"] {
    stroke: #000000 !important;
}

.review-panel-kicker,
.review-star-row svg.is-filled,
.star.filled svg,
.admin-star.filled svg,
.review-form-kicker,
.review-avatar {
    color: #000000 !important;
}

.star.filled svg,
.admin-star.filled svg {
    fill: #000000 !important;
}

.review-rating-track-fill,
.review-rating-row.is-active .review-rating-track-fill {
    background: #000000 !important;
}

.review-rating-row.is-active,
.review-form-kicker,
.review-avatar,
.review-cta-panel,
.review-form-head {
    background: #f3f4f6 !important;
    border-color: #d1d5db !important;
}

.review-input:focus,
.review-textarea:focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.12) !important;
}

.monochrome-page {
    --mono-accent: #000000;
    --mono-accent-deep: #000000;
    --mono-line: rgba(17, 24, 39, 0.18);
    --mono-soft-line: rgba(17, 24, 39, 0.1);
    --mono-soft-surface: #f3f4f6;
}

.monochrome-page .bg-overlay .text-primary {
    color: #ffffff !important;
}

.about-work-section {
    background: #f3f4f6 !important;
}

.about-work-section [class*="bg-gradient-to-"] {
    background: #f9fafb !important;
}

/* About page: keep wide sections from creating horizontal page scroll. */
.about-page {
    max-width: 100%;
    overflow: visible;
}

.about-page .container-fluid,
.about-page .max-w-\[1720px\] {
    max-width: 100%;
}

.about-page .container-fluid > *,
.about-page .grid,
.about-page .flex {
    min-width: 0;
}

.about-page .about-slider,
.about-page .about-slider .owl-stage-outer {
    width: 100%;
    overflow: hidden;
}

.about-page .about-slider .owl-item img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
}

.about-page .monochrome-team-card {
    overflow: hidden;
}

.about-page .monochrome-team-card img {
    min-height: 280px;
}

@media (max-width: 1023px) {
    .about-page .about-slider .owl-item img {
        height: 360px;
    }

    .about-page .container-fluid {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 640px) {
    .about-page .bg-overlay {
        padding: 48px 18px !important;
    }

    .about-page .about-slider .owl-item img {
        height: 300px;
    }

    .about-page .monochrome-team-card img {
        min-height: 240px;
    }

    .about-page h2,
    .about-page h3,
    .about-page h4,
    .about-page h5,
    .about-page p {
        overflow-wrap: anywhere;
    }
}

.home-services-panel {
    max-width: min(980px, 100%) !important;
}

.home-services-grid {
    gap: 18px !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.home-service-card {
    min-height: 0;
    padding: 18px !important;
    border-radius: 8px !important;
}

.home-service-card__icon {
    width: 38px !important;
    height: 38px !important;
}

.home-service-card h4 {
    margin-top: 16px !important;
    font-size: clamp(1rem, 1.1vw, 1.2rem) !important;
    line-height: 1.25 !important;
}

.home-service-card p {
    margin-top: 10px !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
}

@media (min-width: 640px) {
    .home-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1025px) {
    .home-services-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Final monochrome contrast and interaction polish */
.btn.btn-outline {
    background: #ffffff !important;
    border-color: #0d131f !important;
    color: #000000 !important;
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.1) !important;
}

.btn.btn-outline::before {
    background: #111827 !important;
    color: #ffffff !important;
}

.btn.btn-outline:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    color: #ffffff !important;
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.18) !important;
}

.btn.btn-solid {
    background: #17191d !important;
    border-color: #111827 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.16) !important;
}

.btn.btn-solid::before {
    background: #ffffff !important;
    color: #111827 !important;
}

.btn.btn-solid:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    color: #111827 !important;
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.2) !important;
}

.btn > span,
.btn::before {
    color: inherit;
}

.site-header-account-link {
    align-items: center !important;
    justify-content: center;
    gap: 0.45rem;
    min-height: 42px;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(17, 24, 39, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #111827 !important;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}

.site-header-account-link i,
.site-header-auth-link i {
    display: inline-flex !important;
    color: currentColor !important;
    font-size: 1.2rem;
    line-height: 1;
}

.site-header-account-link span {
    color: #000000 !important;
}

.site-header-account-link:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(17, 24, 39, 0.18);
}

@media (min-width: 1025px) {
    .site-header-account-link {
        display: inline-flex !important;
    }
}

@media (max-width: 1024px) {
    .site-header-account-link {
        display: none !important;
    }
}

.site-header-cart-button {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17, 24, 39, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #111827;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}

.site-header-cart-button svg,
.site-header-cart-button svg path {
    color: currentColor !important;
    fill: currentColor !important;
    opacity: 1 !important;
}

.site-header-cart-button:is(:hover, :focus-visible) {
    border-color: #111827;
    background: #111827;
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(17, 24, 39, 0.18);
}

.cart-count {
    background: #111827 !important;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.2) !important;
}

.shop-product-card__media,
.home-new-product-card__media {
    border: 1px solid rgba(17, 24, 39, 0.12);
    border-radius: 8px;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(17, 24, 39, 0.09);
}

.shop-product-card:hover .shop-product-card__media,
.home-new-product-card:hover .home-new-product-card__media {
    border-color: rgba(17, 24, 39, 0.24);
    box-shadow: 0 22px 46px rgba(17, 24, 39, 0.14);
}

.shop-product-card__title a:hover {
    color: #111827 !important;
}

.shop-product-card__price {
    width: 100%;
    min-height: 5.7rem;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
}

.shop-product-card__amounts {
    display: inline-flex;
    min-height: 1.35rem;
    align-items: baseline;
    justify-content: center;
    gap: 0.55rem;
    color: #111827;
}

.shop-product-card__button {
    width: min(100%, 150px) !important;
    min-height: 2.55rem !important;
    padding: 0 1rem !important;
    border-radius: 4px !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}

.shop-product-card__button.is-disabled,
.shop-product-card__button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.home-section--new-products .btn-outline {
    min-width: 150px;
}

.home-new-products-carousel .hv1newpdct_prev,
.home-new-products-carousel .hv1newpdct_next {
    display: inline-flex !important;
    width: 52px !important;
    height: 52px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17, 24, 39, 0.26) !important;
    border-radius: 4px;
    background: #ffffff !important;
    color: #111827 !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 18px 42px rgba(17, 24, 39, 0.18) !important;
}




.home-new-products-carousel .hv1newpdct_prev svg,
.home-new-products-carousel .hv1newpdct_next svg,
.home-new-products-carousel .hv1newpdct_prev path,
.home-new-products-carousel .hv1newpdct_next path {
    color: currentColor !important;
    fill: currentColor !important;
}

.home-new-products-carousel .hv1newpdct_prev:is(:hover, :focus-visible),
.home-new-products-carousel .hv1newpdct_next:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
    box-shadow: 0 24px 52px rgba(17, 24, 39, 0.24) !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.site-footer-light a,
.site-footer-light li,
.site-footer-light .footer-contact-item a {
    color: #ffffff !important;
}

.site-footer-light .footer-column a:hover,
.site-footer-light .footer-column li:hover > a,
.site-footer-light .footer-contact-item:hover a,
.site-footer-light__bottom a:hover {
    background: transparent !important;
    color: #e5e7eb !important;
}

.site-footer-light .text-underline-secondary {
    --tw-gradient-from: #ffffff var(--tw-gradient-from-position) !important;
    --tw-gradient-to: #ffffff var(--tw-gradient-to-position) !important;
}

.site-footer-light .footer-socials .w-10.h-10.rounded-full:hover {
    border-color: #ffffff !important;
    background: #ffffff !important;
}

.site-footer-light .footer-socials .w-10.h-10.rounded-full:hover svg {
    color: #111827 !important;
    fill: currentColor !important;
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(1)::before {
    content: "\1F6E0\FE0F";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(2)::before {
    content: "\1F331";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(3)::before {
    content: "\2728";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(4)::before {
    content: "\1F69A";
}

@media (max-width: 767px) {
    .home-new-products-carousel {
        padding-bottom: 3.5rem !important;
    }

    .home-new-products-carousel .hv1newpdct_prev,
    .home-new-products-carousel .hv1newpdct_next {
        bottom: 0 !important;
        top: auto !important;
        width: 44px !important;
        height: 33px !important;
        transform: none !important;
    }

    .home-new-products-carousel .hv1newpdct_prev {
        left: calc(50% - 52px) !important;
    }

    .home-new-products-carousel .hv1newpdct_next {
        right: calc(50% - 52px) !important;
    }

    .home-new-products-carousel .hv1newpdct_prev:is(:hover, :focus-visible),
    .home-new-products-carousel .hv1newpdct_next:is(:hover, :focus-visible) {
        transform: translateY(-2px) !important;
    }
}

/* Backend homepage banner overlay */
#home-hero-slideshow .hero-slideshow__media {
    min-height: min(56.25vw, 100vh);
}

#home-hero-slideshow .hero-slideshow__brand-overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 4rem) clamp(1.5rem, 3vw, 2.2rem);
    pointer-events: none;
}

#home-hero-slideshow .hero-slideshow__brand-center {
    display: grid;
    justify-items: center;
    gap: clamp(1.25rem, 2.4vw, 2rem);
    width: min(100%, 74rem);
    margin-top: clamp(0rem, 18vw, 25rem);
    text-align: center;
}

#home-hero-slideshow .hero-slideshow__brand-center h1 {
    margin: 0;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.05;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.34);
}

#home-hero-slideshow .hero-slideshow__brand-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(1rem, 12vw, 5rem);
}

#home-hero-slideshow .hero-slideshow__brand-buttons a {
    display: inline-flex;
    min-width: clamp(9.6rem, 9.5vw, 12rem);
    min-height: clamp(3.6rem, 4.3vw, 5rem);
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    color: #050505 !important;
    padding: 0.85rem 1.35rem;
    font-size: clamp(0.95rem, 1.08vw, 1.25rem);
    font-weight: 800;
    line-height: 1.28;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
    pointer-events: auto;
}

#home-hero-slideshow .hero-slideshow__brand-buttons a:is(:hover, :focus-visible) {
    background: #050505;
    color: #ffffff !important;
}

#home-hero-slideshow .hero-slideshow__trust-line {
    display: flex;
    width: min(100%, 114rem);
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem clamp(1.1rem, 2vw, 2.1rem);
    margin-top: auto;
    color: #ffffff;
    font-size: clamp(1rem, 2vw, 2.15rem);
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 3px 16px rgba(0, 0, 0, 0.4);
}

#home-hero-slideshow .hero-slideshow__trust-line span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(1)::before {
    content: "🛠️";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(2)::before {
    content: "🌱";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(3)::before {
    content: "✨";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(4)::before {
    content: "🚚";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(1)::before {
    content: "\1F6E0\FE0F";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(2)::before {
    content: "\1F331";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(3)::before {
    content: "\2728";
}

#home-hero-slideshow .hero-slideshow__trust-line span:nth-child(4)::before {
    content: "\1F69A";
}

@media (max-width: 767px) {
    #home-hero-slideshow .hero-slideshow__brand-overlay {
        justify-content: center;
        padding: 0.8rem 0.85rem 0.7rem;
    }

    #home-hero-slideshow .hero-slideshow__brand-center {
        gap: 0.65rem;
        margin-top: 70px;
    }

    #home-hero-slideshow .hero-slideshow__brand-center h1 {
        max-width: 20rem;
        font-size: 0.84rem !important;
        line-height: 1.02 !important;
    }

    #home-hero-slideshow .hero-slideshow__brand-buttons {
        width: 100%;
        gap: 0.5rem;
        flex-wrap: nowrap;
    }

    #home-hero-slideshow .hero-slideshow__brand-buttons a {
        width: 7.4rem;
        min-width: 0;
        min-height: 1.50rem;
        padding: 0.35rem 0.4rem;
        font-size: 0.62rem;
        line-height: 1.2;
    }

    #home-hero-slideshow .hero-slideshow__brand-buttons a:first-child {
        display: none;
    }

    #home-hero-slideshow .hero-slideshow__trust-line {
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: clamp(0.18rem, 1.15vw, 0.55rem);
        margin-top: auto;
        padding-inline: 0.2rem;
        font-size: clamp(0.46rem, 1.85vw, 0.78rem);
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
    }

    #home-hero-slideshow .hero-slideshow__trust-line span {
        flex: 0 0 auto;
        gap: 0.12rem;
    }
}

@media (max-width: 374px) {
    #home-hero-slideshow .hero-slideshow__brand-center h1 {
        font-size: 1.8rem !important;
    }

    #home-hero-slideshow .hero-slideshow__brand-buttons a {
        width: 7.75rem;
        font-size: 0.68rem;
    }
}

/* Product detail custom-process section */
.product-how-it-works {
    padding: clamp(2.25rem, 4vw, 4rem) 0 clamp(2.75rem, 4.5vw, 4.75rem);
    background: #ffffff;
    color: #2f3033;
}

.product-how-it-works h2 {
    margin: 0 0 clamp(1.75rem, 3.2vw, 2.9rem);
    color: #2b2d31;
    font-size: clamp(1.65rem, 2.7vw, 2.45rem);
    font-weight: 800;
    line-height: 1.15;
}

.product-how-it-works__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(2rem, 5vw, 6rem);
}

.product-how-it-works__step {
    min-width: 0;
}

.product-how-it-works__step img {
    display: block;
    width: clamp(7.2rem, 8.7vw, 9.2rem);
    aspect-ratio: 1;
    margin-bottom: clamp(1.15rem, 2vw, 1.55rem);
    border-radius: 999px;
    object-fit: cover;
}

.product-how-it-works__step h3 {
    margin: 0 0 0.85rem;
    color: #2f3033;
    font-size: clamp(1.15rem, 1.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.22;
}

.product-how-it-works__step p {
    margin: 0;
    max-width: 20rem;
    color: rgba(47, 48, 51, 0.88);
    font-size: clamp(0.92rem, 1vw, 1rem);
    line-height: 1.65;
}

@media (max-width: 1023px) {
    .product-how-it-works__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.25rem 2rem;
    }
}

@media (max-width: 640px) {
    .product-how-it-works__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .product-how-it-works__step img {
        width: 7.4rem;
    }
}

/* Mobile polish for homepage banner and choose area */
@media (max-width: 767px) {
    #home-hero-slideshow {
        width: 100%;
        background: #f9fafb;
        overflow: hidden;
    }

    #home-hero-slideshow .hero-slideshow__slides,
    #home-hero-slideshow .hero-slideshow__slide,
    #home-hero-slideshow .hero-slideshow__slide-link {
        width: 100%;
    }

    #home-hero-slideshow .hero-slideshow__media {
        width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
        background: #f3f4f6;
    }

    #home-hero-slideshow .hero-slideshow__image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    #home-hero-slideshow .hero-slideshow__side-arrow {
        width: 34px !important;
        height: 34px !important;
        border: 1px solid rgba(17, 24, 39, 0.18) !important;
        background: rgba(255, 255, 255, 0.94) !important;
        box-shadow: 0 10px 24px rgba(17, 24, 39, 0.12) !important;
    }

    #home-hero-slideshow .hero-slideshow__side-arrow--prev {
        left: 10px !important;
    }

    #home-hero-slideshow .hero-slideshow__side-arrow--next {
        right: 10px !important;
    }

    .home-section--services {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
        background-position: left bottom !important;
        background-size: auto 100% !important;
    }

    .home-section--services > img {
        display: none !important;
    }

    .home-section--services .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .home-services-panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .home-services-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .home-service-card {
        min-width: 0;
        min-height: 100%;
        padding: 14px !important;
        border: 1px solid rgba(17, 24, 39, 0.08);
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.94) !important;
        box-shadow: 0 12px 28px rgba(17, 24, 39, 0.1);
    }

    .home-service-card__icon {
        width: 30px !important;
        height: 30px !important;
    }

    .home-service-card h4 {
        margin-top: 12px !important;
        font-size: 0.94rem !important;
        line-height: 1.18 !important;
    }

    .home-service-card p {
        display: -webkit-box;
        margin-top: 8px !important;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        color: #4b5563 !important;
        font-size: 0.78rem !important;
        line-height: 1.42 !important;
    }
}

@media (max-width: 360px) {
    .home-services-grid {
        grid-template-columns: 1fr !important;
    }

    .home-service-card p {
        -webkit-line-clamp: 3;
    }
}

/* Home product cards: title first, price/rate second, action clear. */
.home-new-product-card__content {
    align-items: center !important;
    gap: 0.65rem !important;
    text-align: center;
}

.home-new-product-card__title {
    order: 1;
    width: 100%;
    margin: 0 !important;
    color: #111827 !important;
    font-size: clamp(1rem, 1.15vw, 1.25rem) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.home-new-product-card__title a {
    color: #111827 !important;
    text-decoration: none !important;
}

.home-new-product-card__title a:is(:hover, :focus-visible) {
    color: #000000 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.home-new-product-card__type-pill {
    order: 2;
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    min-height: 1.55rem;
    padding: 0.25rem 0.7rem;
    border: 1px solid rgba(17, 24, 39, 0.12);
    border-radius: 999px;
    background: #f3f4f6;
    color: #111827;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.home-new-product-card__price {
    order: 3;
    display: flex !important;
    min-height: 1.35rem;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0 !important;
    color: #111827 !important;
    font-size: clamp(0.96rem, 1vw, 1.12rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.home-new-product-card__price span {
    color: #111827 !important;
}

.home-new-product-card__price del {
    color: #6b7280;
    font-size: 0.88em;
    font-weight: 600;
    text-decoration-thickness: 1px;
}

.home-new-product-card__cta {
    order: 4;
    display: inline-flex;
    width: min(100%, 132px);
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid #111827;
    border-radius: 4px;
    background: #111827;
    color: #ffffff !important;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 12px 26px rgba(17, 24, 39, 0.12);
    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.home-new-product-card__cta span {
    color: inherit !important;
}

.home-new-product-card__cta:is(:hover, :focus-visible) {
    background: #ffffff;
    color: #111827 !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(17, 24, 39, 0.16);
}

.featured-product-card__body {
    align-items: center;
    gap: 0.5rem !important;
    text-align: center;
}

.featured-product-card__title {
    order: 1;
    width: 100%;
    margin: 0 !important;
    color: #111827 !important;
    font-weight: 700 !important;
}

.featured-product-card__title a {
    color: #111827 !important;
    text-decoration: none !important;
}

.featured-product-card__title a:is(:hover, :focus-visible) {
    color: #000000 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.featured-product-card__price {
    order: 2;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 !important;
    color: #111827 !important;
    font-size: clamp(0.95rem, 1vw, 1.08rem) !important;
    font-weight: 800 !important;
}

.featured-product-card__price span {
    margin-left: 0 !important;
    color: #040a16 !important;
}

.featured-product-card__rating {
    order: 3;
    justify-content: center;
    color: #111827 !important;
}

.featured-product-card__rating span {
    color: #111827 !important;
}

.featured-product-card__rating .is-muted {
    color: #d1d5db !important;
}

.featured-product-card__rating small {
    color: #6b7280 !important;
}

/* Category rail: scrolls cleanly on narrower screens without pushing the page wide. */
.site-category-rail {
    max-width: 100%;
    overflow: visible;
}

.site-category-rail::before {
    background: linear-gradient(
        90deg,
        transparent,
        rgba(17, 24, 39, 0.28),
        transparent
    ) !important;
}

.site-category-rail .container-fluid {
    max-width: 100%;
    min-width: 0 !important;
}

.site-category-rail__inner,
.site-category-rail__inner.site-header-category-inner {
    width: 100%;
    max-width: 1720px;
    min-width: 0 !important;
}

.site-category-rail__list {
    width: 100%;
    min-width: 0 !important;
    justify-content: center;
    gap: clamp(4px, 0.6vw, 10px) !important;
}

.site-category-link:is(:hover, :focus-visible),
.site-category-item:hover > .site-category-link,
.site-category-item:focus-within > .site-category-link,
.site-category-item.is-active > .site-category-link {
    background: #f3f4f6 !important;
    color: #000000 !important;
    border-bottom-color: #111827 !important;
}

.site-category-menu-panel__item:hover > .site-category-menu-panel__link,
.site-category-menu-panel__item.is-active > .site-category-menu-panel__link,
.site-category-menu-panel__sub-link:hover,
.site-category-menu-panel__sub-link.is-active {
    background: #f3f4f6 !important;
    color: #000000 !important;
}

@media (max-width: 1420px) {
    .site-category-rail {
        overflow: hidden;
    }

    .site-category-rail__inner.site-header-category-inner,
    .site-category-rail__inner {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .site-category-rail__inner.site-header-category-inner::-webkit-scrollbar,
    .site-category-rail__inner::-webkit-scrollbar {
        display: none;
    }

    .site-category-rail__list {
        width: max-content !important;
        min-width: 100% !important;
        justify-content: flex-start !important;
        padding-inline: 0.6rem;
    }

    .site-category-link {
        min-height: 48px !important;
        padding-inline: 0.65rem !important;
        font-size: clamp(0.68rem, 1.08vw, 0.78rem) !important;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 767px) {
    .home-new-product-card__content,
    .featured-product-card__body {
        gap: 0.5rem !important;
    }

    .home-new-product-card__cta {
        width: min(100%, 118px);
        min-height: 2.35rem;
        font-size: 0.76rem;
    }

    .site-category-rail__list {
        padding-inline: 0.35rem;
    }

    .site-category-link {
        min-height: 44px !important;
        padding-inline: 0.55rem !important;
        font-size: 0.68rem !important;
    }
}

/* Auth pages: final monochrome pass loaded after login.css. */
:root {
    --auth-primary: #000000;
    --auth-primary-deep: #111111;
    --auth-accent: #374151;
    --auth-ink: #050505;
    --auth-copy: #3f3f46;
    --auth-muted: #71717a;
    --auth-surface: #ffffff;
    --auth-panel: #ffffff;
    --auth-line: #d4d4d8;
    --auth-shadow: 0 24px 70px rgba(17, 24, 39, 0.12);
    --auth-shadow-soft: 0 14px 34px rgba(17, 24, 39, 0.08);
}

.auth-page,
.login-container {
    background: #f7f7f8 !important;
}

.auth-page::before,
.auth-page::after {
    display: none !important;
}

.auth-shell,
.login-form-wrapper {
    border: 1px solid var(--auth-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: var(--auth-shadow) !important;
}

.auth-showcase {
    background-image:
        linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.5) 48%, rgba(0, 0, 0, 0.86) 100%),
        var(--auth-showcase-image) !important;
    filter: grayscale(1);
}

.auth-showcase::before {
    border-color: rgba(255, 255, 255, 0.24) !important;
    border-radius: 8px !important;
}

.auth-showcase__eyebrow,
.auth-panel__eyebrow {
    border-radius: 4px !important;
    letter-spacing: 0.13em;
}

.auth-showcase__eyebrow {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

.auth-showcase__feature {
    border-radius: 8px !important;
    background: rgba(0, 0, 0, 0.5) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

.auth-showcase__feature-index {
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.auth-panel,
.dark .auth-panel,
.dark .login-form-wrapper {
    background: #ffffff !important;
}

.auth-panel::before {
    display: none !important;
}

.auth-panel__eyebrow,
.dark .auth-panel__eyebrow {
    background: #f3f4f6 !important;
    border-color: var(--auth-line) !important;
    color: #000000 !important;
}

.auth-panel__title,
.auth-label,
.login-label,
.login-header h1,
.login-header h2,
.dark .auth-panel__title,
.dark .auth-label,
.dark .login-label,
.dark .login-header h1,
.dark .login-header h2 {
    color: var(--auth-ink) !important;
}

.auth-panel__copy,
.auth-footnote,
.auth-check,
.login-checkbox,
.login-header p,
.dark .auth-panel__copy,
.dark .auth-footnote,
.dark .auth-check,
.dark .login-checkbox,
.dark .login-header p {
    color: var(--auth-copy) !important;
}

.auth-meta__hint,
.auth-note,
.dark .auth-meta__hint,
.dark .auth-note {
    color: var(--auth-muted) !important;
}

.auth-input,
.login-field,
.dark .auth-input,
.dark .login-field {
    border-color: var(--auth-line) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--auth-ink) !important;
    box-shadow: none !important;
}

.auth-input:focus,
.login-field:focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.1) !important;
}

.auth-input-icon,
.auth-toggle,
.auth-country-picker__chevron,
.dark .auth-input-icon,
.dark .auth-toggle {
    color: #4b5563 !important;
}

.auth-toggle:hover {
    background: #f3f4f6 !important;
    color: #000000 !important;
}

.auth-country-picker__button,
.dark .auth-country-picker__button {
    border-color: var(--auth-line) !important;
    color: #000000 !important;
}

.auth-country-picker__code,
.auth-country-picker__option-code,
.dark .auth-country-picker__code,
.dark .auth-country-picker__option-code {
    color: #000000 !important;
}

.auth-country-picker__flag {
    background-color: #f3f4f6 !important;
    box-shadow: 0 0 0 1px #d1d5db !important;
    filter: grayscale(1);
}

.auth-country-picker__menu,
.dark .auth-country-picker__menu {
    border-color: var(--auth-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(17, 24, 39, 0.12) !important;
}

.auth-country-picker__option,
.dark .auth-country-picker__option {
    border-radius: 4px !important;
    color: #000000 !important;
}

.auth-country-picker__option:hover,
.auth-country-picker__option:focus-visible,
.auth-country-picker__option[aria-selected="true"],
.dark .auth-country-picker__option:hover,
.dark .auth-country-picker__option:focus-visible,
.dark .auth-country-picker__option[aria-selected="true"] {
    background: #f3f4f6 !important;
}

.auth-country-picker__short,
.dark .auth-country-picker__short {
    color: #6b7280 !important;
}

.auth-check input,
.login-checkbox input[type="checkbox"],
.dark .auth-check input,
.dark .login-checkbox input[type="checkbox"] {
    border-color: #6b7280 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
}

.auth-check input:checked,
.login-checkbox input[type="checkbox"]:checked {
    background: #000000 !important;
    border-color: #000000 !important;
    box-shadow: none !important;
}

.auth-submit,
.login-btn {
    border: 1px solid #000000 !important;
    border-radius: 4px !important;
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.auth-submit:hover,
.login-btn:hover {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    filter: none !important;
}

.auth-submit:focus-visible,
.login-btn:focus-visible,
.auth-toggle:focus-visible,
.auth-country-picker__button:focus-visible {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
}

.auth-link,
.login-link {
    color: #000000 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-link:hover,
.login-link:hover {
    color: #4b5563 !important;
}

.auth-note svg,
.login-icon {
    color: #000000 !important;
}

.login-icon {
    background: #f3f4f6 !important;
    box-shadow: none !important;
}

/* Header alignment: icon-only account actions and mobile categories inside menu. */
.site-header-account-link,
.site-header-auth-link {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
}

.site-header-account-link {
    gap: 0 !important;
}

.site-header-account-link .mdi-chevron-down {
    display: none !important;
}

.site-header-account-link:is(:hover, :focus-visible),
.site-header-auth-link:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
}

.site-header-account-link:is(:hover, :focus-visible) i,
.site-header-auth-link:is(:hover, :focus-visible) i {
    color: #ffffff !important;
}

@media (min-width: 1025px) {
    .header-area .site-header-brand {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 8;
    }

    .header-area .container-fluid > .site-header-menu.main-menu {
        left: var(--site-header-inline-start, 64px) !important;
        justify-content: flex-start !important;
        transform: none !important;
    }

    .header-area .site-header-actions {
        position: absolute !important;
        right: var(--site-header-inline-end, 32px) !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 9;
    }
}

@media (max-width: 1024px) {
    .header-area .site-header-row {
        display: flex !important;
        justify-content: flex-end !important;
    }

    .header-area .site-header-brand {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 1;
    }

    .header-area .site-header-actions {
        position: absolute !important;
        right: clamp(10px, 3vw, 18px) !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 2;
    }

    .header-area .hamburger {
        position: absolute !important;
        left: clamp(14px, 4vw, 24px) !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
    }

    .header-area .site-header-auth-link--mobile {
        display: inline-flex !important;
    }

    .header-area .site-header-auth-link--mobile span {
        display: none !important;
    }

    .header-area .site-header-menu.main-menu {
        width: min(520px, calc(100vw - 28px)) !important;
        max-height: calc(100vh - 108px) !important;
        max-height: calc(100dvh - 108px) !important;
    }

    .header-area .shop-menu-item > .shop-dropdown-menu {
        padding: 4px 0 8px 0 !important;
    }

    .header-area .shop-menu-item.active > .shop-dropdown-menu {
        display: block !important;
    }

    .header-area .shop-dropdown-group {
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-area .shop-dropdown-parent,
    .header-area .shop-dropdown-child {
        display: flex !important;
        width: 100% !important;
        min-height: 42px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 14px !important;
        border-radius: 8px !important;
        color: #111827 !important;
        font-size: 0.82rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-transform: none !important;
        background: transparent !important;
    }

    .header-area .shop-dropdown-child {
        min-height: 38px !important;
        padding-left: 28px !important;
        color: #4b5563 !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
    }

    .header-area .shop-dropdown-parent:is(:hover, :focus-visible),
    .header-area .shop-dropdown-child:is(:hover, :focus-visible),
    .header-area .shop-dropdown-group.is-active > .shop-dropdown-parent,
    .header-area .shop-dropdown-children li.is-active > .shop-dropdown-child {
        background: #f3f4f6 !important;
        color: #111827 !important;
    }

    .header-area .shop-dropdown-group > .shop-dropdown-children {
        position: static !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .header-area .mobile-category-dropdown {
        max-height: min(320px, 42dvh) !important;
        overflow-y: auto !important;
        padding: 4px 0 8px 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .header-area .mobile-category-dropdown li {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .header-area .mobile-category-dropdown__link {
        display: flex !important;
        min-height: 42px !important;
        align-items: center !important;
        padding: 0 14px !important;
        border-radius: 8px !important;
        color: #111827 !important;
        font-size: 0.82rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        background: transparent !important;
    }

    .header-area .mobile-menu-link {
        display: flex !important;
        min-height: 44px !important;
        align-items: center !important;
        padding: 0 14px !important;
        border-radius: 8px !important;
        color: #111827 !important;
        font-size: 0.86rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-transform: none !important;
        background: transparent !important;
    }

    .header-area .mobile-category-dropdown__link--child {
        min-height: 38px !important;
        padding-left: 28px !important;
        color: #4b5563 !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
    }

    .header-area .mobile-category-dropdown__link:is(:hover, :focus-visible),
    .header-area .mobile-category-dropdown__link.active,
    .header-area .mobile-category-dropdown li.is-active > .mobile-category-dropdown__link,
    .header-area .mobile-menu-link:is(:hover, :focus-visible),
    .header-area .mobile-menu-link.active,
    .header-area .mobile-category-menu-item.is-active > .mobile-menu-link {
        background: #f3f4f6 !important;
        color: #111827 !important;
    }
}

/* Storefront image cards: keep uploaded category/product images fully visible. */
.home-featured-category-card,
.home-category-card__media,
.home-new-product-card__media,
.home-new-product-card__image-link,
.featured-product-card__media,
.shop-product-card__media,
.shop-subcategory-card__media,
.related-product-card__media {
    overflow: hidden !important;
    background: #f7f5f0 !important;
}

.home-featured-category-card,
.home-category-card__media,
.home-new-product-card__image-link,
.featured-product-card__media,
.shop-product-card__media,
.related-product-card__media {
    aspect-ratio: 1 / 1 !important;
}

.home-featured-category-card__image,
.home-category-card__image,
.home-new-product-card__image,
.featured-product-card__media img,
.shop-product-card__image,
.shop-subcategory-card__image,
.related-product-card__media img {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    padding: clamp(10px, 1vw, 16px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #f7f5f0 !important;
}

.shop-subcategory-card__image {
    padding: 8px !important;
}

.home-featured-category-card:hover .home-featured-category-card__image,
.home-category-card:hover .home-category-card__image,
.home-new-product-card:hover .home-new-product-card__image,
.featured-product-card:hover .featured-product-card__media img,
.shop-product-card:hover .shop-product-card__image,
.shop-subcategory-card:hover .shop-subcategory-card__image,
.related-product-card:hover .related-product-card__media img {
    transform: none !important;
}

.shop-product-card__media.has-hover-image:hover .shop-product-card__image--primary {
    opacity: 0 !important;
}

.shop-product-card__media.has-hover-image:hover .shop-product-card__image--secondary {
    opacity: 1 !important;
}

/* Product detail monochrome surfaces and review overlap fixes. */
.product-breadcrumb-bar {
    border-color: #111827 !important;
    background: #050505 !important;
}

.product-breadcrumb-bar ul,
.product-breadcrumb-bar li,
.product-breadcrumb-bar a,
.product-breadcrumb-bar li:last-child {
    color: rgba(255, 255, 255, 0.82) !important;
}

.product-breadcrumb-bar a:is(:hover, :focus-visible),
.product-breadcrumb-bar li:last-child {
    color: #ffffff !important;
}

.product-detail-info {
    border-color: #111827 !important;
    border-top-color: #050505 !important;
}

.product-detail-info .product-detail-title {
    font-weight: 600 !important;
}

.product-action-panel > div[class*="bg-[#FAF2F2]"],
.product-action-panel > div {
    border: 1px solid #111827 !important;
    background: #050505 !important;
    color: #ffffff !important;
}

.product-action-panel h4,
.product-action-panel p {
    color: #ffffff !important;
}

.product-action-panel .btn.btn-solid {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #050505 !important;
    box-shadow: none !important;
}

.product-action-panel .btn.btn-solid::before {
    background: #050505 !important;
    color: #ffffff !important;
}

.product-action-panel .btn.btn-solid:is(:hover, :focus-visible) {
    border-color: #ffffff !important;
    background: #050505 !important;
    color: #ffffff !important;
}

.product-action-panel form .btn.btn-solid {
    border-color: #111827 !important;
    background: #ffffff !important;
    color: #050505 !important;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08) !important;
}

.product-action-panel form .btn.btn-solid::before {
    background: #050505 !important;
    color: #ffffff !important;
}

.product-action-panel form .btn.btn-solid:is(:hover, :focus-visible) {
    border-color: #111827 !important;
    background: #050505 !important;
    color: #ffffff !important;
    box-shadow: 0 16px 32px rgba(17, 24, 39, 0.18) !important;
}

.customer-say-card {
    position: relative !important;
    min-height: 245px !important;
    overflow: visible !important;
}

.customer-say-card__top {
    display: grid !important;
    grid-template-columns: 4rem minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 1rem !important;
}

.customer-say-card__avatar,
.review-avatar {
    flex: 0 0 auto !important;
    background: #050505 !important;
    color: #ffffff !important;
    border: 1px solid #050505 !important;
}

.customer-say-card__top > div:last-child,
.review-author-box > div:last-child {
    min-width: 0 !important;
}

.customer-say-card h4,
.review-author-box h4 {
    overflow-wrap: anywhere !important;
    color: #050505 !important;
}

.customer-say-card__copy {
    clear: both !important;
    margin-top: 1.2rem !important;
    color: #4b5563 !important;
}

.product-carousel-arrow {
    z-index: 4 !important;
    border: 1px solid rgba(17, 24, 39, 0.16) !important;
    background: #ffffff !important;
    color: #050505 !important;
}

.product-carousel-arrow--prev {
    left: 0 !important;
    transform: translate(-50%, -50%) !important;
}

.product-carousel-arrow--next {
    right: 0 !important;
    transform: translate(50%, -50%) !important;
}

/* Clean square image treatment across storefront cards and product gallery. */
.home-featured-category-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.4vw, 18px) !important;
    max-width: 1400px !important;
    margin-inline: auto !important;
}

.home-featured-category-card,
.home-category-card__media,
.home-new-product-card__media,
.home-new-product-card__image-link,
.featured-product-card__media,
.shop-product-card__media,
.shop-subcategory-card__media,
.related-product-card__media {
    aspect-ratio: 1 / 1 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #f7f5f0 !important;
}

.home-featured-category-card__image,
.home-category-card__image,
.home-new-product-card__image,
.featured-product-card__media img,
.shop-product-card__image,
.shop-subcategory-card__image,
.related-product-card__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
}

.home-featured-category-card:hover .home-featured-category-card__image,
.home-category-card:hover .home-category-card__image,
.home-new-product-card:hover .home-new-product-card__image,
.featured-product-card:hover .featured-product-card__media img,
.shop-product-card:hover .shop-product-card__image,
.shop-subcategory-card:hover .shop-subcategory-card__image,
.related-product-card:hover .related-product-card__media img {
    transform: none !important;
}

.product-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.product-gallery__main {
    width: 100% !important;
}

.product-gallery__stage {
    aspect-ratio: 1 / 1 !important;
    border: 0 !important;
    background: #f7f5f0 !important;
    box-shadow: none !important;
}

.product-gallery__stage:hover {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.product-gallery__hint {
    display: none !important;
}

.product-gallery__zoom-icon {
    top: 1rem !important;
    right: auto !important;
    left: 1rem !important;
    width: 2rem !important;
    height: 2rem !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08) !important;
}

.product-gallery__zoom-frame {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.product-gallery__main-image {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
}

.product-gallery__thumb-slider {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0.65rem !important;
}

.product-gallery__thumbs {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    gap: 0.75rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 0.35rem !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.product-gallery__nav {
    -webkit-appearance: none;
    appearance: none;
    flex: 0 0 2rem !important;
    width: 2rem !important;
    height: 2rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.product-gallery__nav span {
    display: block !important;
    font-size: 2rem !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

.product-gallery__nav:is(:hover, :focus-visible) {
    color: #bb976d !important;
}

.product-gallery__thumb {
    flex: 0 0 clamp(72px, 8vw, 92px) !important;
    aspect-ratio: 1 / 1 !important;
    border: 1px solid transparent !important;
    background: #f7f5f0 !important;
    box-shadow: none !important;
    scroll-snap-align: center;
}

.product-gallery__thumb:hover {
    transform: none !important;
    border-color: #111827 !important;
}

.product-gallery__thumb.is-active {
    border-color: #111827 !important;
    box-shadow: none !important;
}

.product-gallery__thumb.is-active::after {
    display: none !important;
}

.product-gallery__thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

@media (max-width: 767px) {
    .home-featured-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .product-gallery__thumbs {
        margin-inline: 0 !important;
        padding-inline: 0 !important;
    }

    .product-gallery__thumb-slider {
        gap: 0.45rem !important;
    }

    .product-gallery__nav {
        flex-basis: 1.5rem !important;
        width: 1.5rem !important;
    }

    .product-gallery__thumb {
        flex-basis: 76px !important;
    }
}

.bg-overlay,
.breadcumb-area,
.breadcumb-wrap,
[class*="bg-[#F8F5F0]"],
.prose blockquote {
    background-color: #050505 !important;
    color: #ffffff !important;
}

.bg-overlay::before,
.breadcumb-area::before {
    background: #050505 !important;
    opacity: 0.94 !important;
}

.bg-overlay h1,
.bg-overlay h2,
.bg-overlay h3,
.bg-overlay h4,
.bg-overlay p,
.bg-overlay li,
.bg-overlay a,
.breadcumb-area h1,
.breadcumb-area h2,
.breadcumb-area h3,
.breadcumb-area h4,
.breadcumb-area p,
.breadcumb-area li,
.breadcumb-area a,
[class*="bg-[#F8F5F0]"] h1,
[class*="bg-[#F8F5F0]"] h2,
[class*="bg-[#F8F5F0]"] h3,
[class*="bg-[#F8F5F0]"] h4,
[class*="bg-[#F8F5F0]"] p,
[class*="bg-[#F8F5F0]"] li,
[class*="bg-[#F8F5F0]"] a,
.prose blockquote,
.prose blockquote p {
    color: #ffffff !important;
}

.bg-overlay a:is(:hover, :focus-visible),
.breadcumb-area a:is(:hover, :focus-visible),
[class*="bg-[#F8F5F0]"] a:is(:hover, :focus-visible) {
    color: rgba(255, 255, 255, 0.72) !important;
}

/* Home services section: restore the original image-backed design with readable cards. */
.home-section--services.bg-overlay {
    background-color: #f3f4f6 !important;
    background-image: url("/assets/img/home-v1/choose-us-bg.jpg") !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    color: #111827 !important;
}

.home-section--services.bg-overlay::before {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.5) 44%,
        rgba(255, 255, 255, 0.86) 100%
    ) !important;
    opacity: 1 !important;
}

.home-section--services .container-fluid {
    position: relative;
    z-index: 1;
}

.home-section--services .home-services-panel {
    max-width: min(960px, 100%) !important;
}

.home-section--services .home-services-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.home-section--services .home-service-card {
    min-height: 232px;
    border: 1px solid rgba(17, 24, 39, 0.1) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #111827 !important;
    box-shadow: 0 18px 44px rgba(17, 24, 39, 0.12) !important;
}

.home-section--services .home-service-card__icon {
    filter: none !important;
    opacity: 1 !important;
}

.home-section--services .home-service-card h4 {
    color: #111827 !important;
}

.home-section--services .home-service-card p {
    color: #4b5563 !important;
}

@media (max-width: 1024px) {
    .home-section--services .home-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .home-section--services.bg-overlay {
        background-position: center center !important;
    }

    .home-section--services.bg-overlay::before {
        background: rgba(255, 255, 255, 0.76) !important;
    }

    .home-section--services .home-services-grid {
        grid-template-columns: 1fr !important;
    }

    .home-section--services .home-service-card {
        min-height: auto;
    }
}

/* Product lightbox: fullscreen premium viewer above the sticky header. */
html.product-lightbox-open,
body.product-lightbox-open {
    overflow: hidden !important;
}

#product-lightbox-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100dvh !important;
    padding: clamp(12px, 2vw, 28px) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.12), transparent 34%),
        rgba(0, 0, 0, 0.94) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

#product-lightbox-modal.hidden {
    display: none !important;
}

#product-lightbox-modal:not(.hidden) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#product-lightbox-modal .lightbox-container {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#product-lightbox-modal .product-lightbox-swiper,
#product-lightbox-modal .swiper-wrapper,
#product-lightbox-modal .swiper-slide,
#product-lightbox-modal .swiper-zoom-container {
    width: 100% !important;
    height: 100% !important;
}

#product-lightbox-modal .swiper-slide {
    padding: clamp(52px, 6vw, 78px) clamp(18px, 8vw, 128px) clamp(86px, 8vw, 112px) !important;
}

#product-lightbox-modal .swiper-slide img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #111111 !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45) !important;
}

#lightbox-close {
    top: clamp(16px, 2.2vw, 28px) !important;
    right: clamp(16px, 2.2vw, 28px) !important;
    z-index: 30 !important;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #050505 !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
}

#lightbox-close:is(:hover, :focus-visible) {
    background: #050505 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

#product-lightbox-modal .swiper-button-prev,
#product-lightbox-modal .swiper-button-next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: clamp(48px, 4.8vw, 64px) !important;
    height: clamp(48px, 4.8vw, 64px) !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #050505 !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.34) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease !important;
}

#product-lightbox-modal .swiper-button-prev {
    left: clamp(14px, 3vw, 44px) !important;
    right: auto !important;
}

#product-lightbox-modal .swiper-button-next {
    right: clamp(14px, 3vw, 44px) !important;
    left: auto !important;
}

#product-lightbox-modal .swiper-button-prev::after,
#product-lightbox-modal .swiper-button-next::after {
    color: currentColor !important;
    font-size: clamp(1rem, 1.6vw, 1.35rem) !important;
    font-weight: 900 !important;
}

#product-lightbox-modal .swiper-button-prev:is(:hover, :focus-visible),
#product-lightbox-modal .swiper-button-next:is(:hover, :focus-visible) {
    background: #050505 !important;
    color: #ffffff !important;
    transform: translateY(-50%) scale(1.04) !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.46) !important;
}

#product-lightbox-modal .swiper-button-disabled {
    opacity: 0.35 !important;
    pointer-events: none !important;
}

#product-lightbox-modal .swiper-pagination {
    bottom: clamp(18px, 2.4vw, 34px) !important;
}

#product-lightbox-modal .swiper-pagination-bullet {
    width: 28px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.44) !important;
    opacity: 1 !important;
}

#product-lightbox-modal .swiper-pagination-bullet-active {
    background: #ffffff !important;
    transform: none !important;
}

#product-lightbox-modal .lightbox-info {
    right: auto !important;
    bottom: clamp(18px, 2.4vw, 34px) !important;
    left: clamp(18px, 3vw, 44px) !important;
    width: min(440px, calc(100vw - 36px)) !important;
    padding: 1rem 1.15rem !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 8px !important;
    background: rgba(0, 0, 0, 0.46) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22) !important;
}

@media (max-width: 767px) {
    #product-lightbox-modal {
        padding: 0 !important;
    }

    #product-lightbox-modal .lightbox-container {
        border: 0;
    }

    #product-lightbox-modal .swiper-slide {
        padding: 70px 14px 96px !important;
    }

    #product-lightbox-modal .swiper-button-prev,
    #product-lightbox-modal .swiper-button-next {
        width: 44px !important;
        height: 44px !important;
    }

    #product-lightbox-modal .swiper-button-prev {
        left: 10px !important;
    }

    #product-lightbox-modal .swiper-button-next {
        right: 10px !important;
    }

    #product-lightbox-modal .lightbox-info {
        bottom: 14px !important;
        left: 14px !important;
        max-width: calc(100vw - 28px) !important;
        padding: 0.82rem 0.95rem !important;
    }
}

/* Light page contrast guard: keep content black on pale page/card surfaces. */
.content :where(.about-page, .monochrome-page) :where(h1, h2, h3, h4, h5, h6, label, .text-title, .dark\:text-white):not(.bg-overlay *):not(.btn *),
.content :where(.about-page, .monochrome-page) :where(a, strong):not(.bg-overlay *):not(.btn *) {
    color: #050505 !important;
}

.content :where(.about-page, .monochrome-page) :where(a, strong):not(.bg-overlay *):not(.btn *) {
    color: #ffffff !important;
}
.content :where(.about-page, .monochrome-page) :where(p, li, small, figcaption, .text-paragraph, .text-gray-400, .text-gray-500, .text-gray-600, .text-gray-700, .dark\:text-white-light, .dark\:text-gray-300, .dark\:text-gray-400):not(.bg-overlay *):not(.btn *) {
    color: #4b5563 !important;
}

.about-page .about-work-section {
    background-color: #f3f4f6 !important;
    color: #050505 !important;
}

.about-page .about-work-section :where(.group, [class*="bg-white"], [class*="bg-gray-800"]) {
    background-color: #ffffff !important;
    color: #050505 !important;
}

.about-page .about-work-section :where(h2, h3, h4, h5, h6, .dark\:text-white),
.ab