

        :root {
            --primary: #8b3a4a;
            --primary-dark: #602531;
            --primary-light: #b96877;

            --accent: #d9a6a6;
            --gold: #c9a36a;

            --bg: #fdf8f5;
            --bg-soft: #f7efeb;
            --bg-dark: #241519;

            --text: #2c1a1e;
            --text-light: #765d61;

            --white: #ffffff;
            --sale: #bd4d59;

            --border: rgba(139, 58, 74, .12);

            --shadow: 0 15px 50px rgba(72, 31, 39, .09);
            --shadow-hover: 0 25px 70px rgba(72, 31, 39, .16);

            --radius: 22px;

            --transition: cubic-bezier(.22, 1, .36, 1);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            width: 100%;
            max-width: 100%;
        }

        body {
            font-family: 'Cairo', sans-serif;
            background: var(--bg);
            color: var(--text);
            line-height: 1.8;
            overflow-x: hidden;
            width: 100%;
            max-width: 100%;
        }

        body.no-scroll {
            overflow: hidden;
        }

        button,
        input,
        textarea,
        select {
            font-family: inherit;
        }

        button {
            cursor: pointer;
        }

        img {
            display: block;
            max-width: 100%;
        }

        a,
        button {
            -webkit-tap-highlight-color: transparent;
        }

        /* =========================================================
           ANNOUNCEMENT
        ========================================================= */

        .announcement {
            position: relative;
            overflow: hidden;

            background:
                linear-gradient(
                    90deg,
                    var(--primary-dark),
                    var(--primary),
                    var(--primary-dark)
                );

            background-size: 200% 100%;

            color: white;
            text-align: center;

            padding: 9px 20px;

            font-size: .88rem;
            font-weight: 600;

            animation:
                announcementGradient 8s ease infinite;
        }

        .announcement::after {
            content: "";

            position: absolute;

            top: 0;
            bottom: 0;

            width: 100px;

            background:
                linear-gradient(
                    90deg,
                    transparent,
                    rgba(255, 255, 255, .18),
                    transparent
                );

            transform: translateX(-150%);

            animation: announcementShine 4s infinite;
        }

        @keyframes announcementGradient {
            0%, 100% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }
        }

        @keyframes announcementShine {
            0% {
                transform: translateX(-150%);
            }

            45%, 100% {
                transform: translateX(600%);
            }
        }

        /* =========================================================
           HEADER
        ========================================================= */

        header {
            position: sticky;
            top: 0;
            z-index: 500;

            background: rgba(255, 255, 255, .88);

            border-bottom:
                1px solid rgba(139, 58, 74, .08);

            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);

            transition:
                box-shadow .4s ease,
                background .4s ease;
        }

        header.scrolled {
            background: rgba(255, 255, 255, .96);

            box-shadow:
                0 8px 35px rgba(44, 26, 30, .08);
        }

        .header-inner {
            width: min(1300px, calc(100% - 40px));

            min-height: 78px;

            margin: auto;

            display: flex;
            align-items: center;
            justify-content: space-between;

            gap: 30px;
        }

        /* =========================================================
           LOGO
        ========================================================= */

        .logo {
            position: relative;

            display: inline-flex;
            align-items: center;

            font-family: 'Amiri', serif;

            font-size: 2rem;
            font-weight: 700;

            color: var(--primary);

            text-decoration: none;

            white-space: nowrap;

            flex-shrink: 0;
        }

        .logo span {
            color: var(--accent);
            margin-right: 4px;
        }

        .logo::after {
            content: "";

            position: absolute;

            bottom: -2px;
            right: 0;

            width: 0;
            height: 2px;

            background: var(--gold);

            transition:
                width .4s var(--transition);
        }

        .logo:hover::after {
            width: 100%;
        }

        .site-logo {
            width: 90px;
            height: 90px;

            display: block;

            border-radius: 50%;

            object-fit: cover;
        }

        /* =========================================================
           NAVIGATION
        ========================================================= */

        nav ul {
            display: flex;
            align-items: center;

            gap: 30px;

            list-style: none;
        }

        nav a {
            position: relative;

            color: var(--text);

            text-decoration: none;

            font-size: .93rem;
            font-weight: 600;

            transition: color .3s ease;
        }

        nav a::after {
            content: "";

            position: absolute;

            bottom: -8px;
            right: 0;

            width: 0;
            height: 2px;

            background: var(--primary);

            transition:
                width .35s var(--transition);
        }

        nav a:hover {
            color: var(--primary);
        }

        nav a:hover::after {
            width: 100%;
        }

        /* =========================================================
           MOBILE MENU
        ========================================================= */

        .mobile-menu-btn {
            display: none;

            width: 42px;
            height: 42px;

            border: 1px solid var(--border);
            border-radius: 50%;

            background: rgba(255, 255, 255, .75);

            color: var(--text);

            font-size: 1.3rem;

            align-items: center;
            justify-content: center;

            transition: .3s ease;
        }

        .mobile-menu-btn:hover {
            background: var(--primary);
            color: white;
        }

        .mobile-nav {
            position: fixed;

            top: 0;
            right: 0;

            width: min(330px, 88vw);
            height: 100vh;

            z-index: 2000;

            background: white;

            padding: 85px 25px 30px;

            transform: translateX(110%);

            transition:
                transform .5s var(--transition);

            box-shadow:
                -20px 0 60px rgba(0, 0, 0, .12);
        }

        .mobile-nav.active {
            transform: translateX(0);
        }

        .mobile-nav-close {
            position: absolute;

            top: 18px;
            left: 18px;

            width: 40px;
            height: 40px;

            border: none;
            border-radius: 50%;

            background: var(--bg-soft);

            font-size: 25px;

            display: flex;
            align-items: center;
            justify-content: center;
        }

        .mobile-nav ul {
            list-style: none;
        }

        .mobile-nav li {
            border-bottom: 1px solid var(--border);
        }

        .mobile-nav a {
            display: block;

            padding: 15px 5px;

            color: var(--text);

            text-decoration: none;

            font-weight: 700;

            transition: .3s ease;
        }

        .mobile-nav a:hover {
            color: var(--primary);
            padding-right: 10px;
        }

        .mobile-nav-overlay {
            position: fixed;
            inset: 0;

            z-index: 1900;

            background: rgba(20, 8, 11, .5);

            opacity: 0;
            visibility: hidden;

            backdrop-filter: blur(4px);

            transition:
                opacity .35s ease,
                visibility .35s ease;
        }

        .mobile-nav-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        /* =========================================================
           HEADER ACTIONS
        ========================================================= */

        .header-actions {
            display: flex;
            align-items: center;

            gap: 10px;
        }

        .cart-btn {
            position: relative;

            width: 45px;
            height: 45px;

            border: 1px solid var(--border);
            border-radius: 50%;

            background: rgba(255, 255, 255, .7);

            color: var(--text);

            font-size: 1.2rem;

            display: flex;
            align-items: center;
            justify-content: center;

            transition:
                transform .3s var(--transition),
                background .3s ease,
                color .3s ease;
        }

        .cart-btn:hover {
            transform: translateY(-3px);

            background: var(--primary);
            color: white;
        }

        .cart-count {
            position: absolute;

            top: -5px;
            left: -4px;

            width: 20px;
            height: 20px;

            display: flex;
            align-items: center;
            justify-content: center;

            background: var(--primary);
            color: white;

            border: 2px solid white;
            border-radius: 50%;

            font-size: .65rem;
            font-weight: 700;
        }

        .cart-count.bump {
            animation: cartBump .45s ease;
        }

        @keyframes cartBump {
            40% {
                transform: scale(1.45);
            }
        }

        /* =========================================================
           HERO
        ========================================================= */

        .hero-slider {
            position: relative;

            height: min(690px, calc(100vh - 120px));

            min-height: 520px;

            overflow: hidden;

            background: #241519;
        }

        .slides {
            position: relative;

            width: 100%;
            height: 100%;
        }

        .slide {
            position: absolute;
            inset: 0;

            opacity: 0;
            visibility: hidden;

            display: flex;
            align-items: center;

            transition:
                opacity 1s ease,
                visibility 1s ease;
        }

        .slide.active {
            opacity: 1;
            visibility: visible;
            z-index: 2;
        }

        .slide-bg {
            position: absolute;
            inset: 0;

            width: 100%;
            height: 100%;

            object-fit: cover;
            object-position: center;

            transform: scale(1.08);

            transition:
                transform 7s var(--transition);
        }

        .slide.active .slide-bg {
            transform: scale(1);
        }

        .slide-overlay {
            position: absolute;
            inset: 0;

            background:
                linear-gradient(
                    90deg,
                    rgba(30, 12, 16, .91) 0%,
                    rgba(52, 20, 27, .70) 35%,
                    rgba(40, 15, 20, .28) 75%,
                    rgba(20, 10, 12, .08) 100%
                );

            z-index: 1;
        }

        .slide-overlay::after {
            content: "";

            position: absolute;
            inset: 0;

            background:
                radial-gradient(
                    circle at 75% 50%,
                    rgba(255, 255, 255, .08),
                    transparent 35%
                );
        }

        .slide-content {
            position: relative;

            z-index: 3;

            width: min(1300px, calc(100% - 50px));

            margin: auto;

            padding: 40px 5%;

            color: white;
        }

        .slide-content-inner {
            max-width: 720px;
        }

        .slide-eyebrow {
            display: inline-flex;
            align-items: center;

            gap: 10px;

            color: #f4dede;

            font-size: .85rem;
            font-weight: 600;

            margin-bottom: 15px;

            opacity: 0;
            transform: translateY(25px);
        }

        .slide-eyebrow::before {
            content: "";

            width: 35px;
            height: 1px;

            background: var(--accent);
        }

        .slide.active .slide-eyebrow {
            animation:
                heroUp .8s .15s var(--transition) forwards;
        }

        .slide-content h1 {
            font-family: 'Amiri', serif;

            font-size: clamp(3rem, 6vw, 5.7rem);

            line-height: 1.15;

            color: white;

            margin-bottom: 20px;

            text-shadow:
                0 8px 35px rgba(0, 0, 0, .2);

            opacity: 0;
            transform: translateY(35px);
        }

        .slide.active .slide-content h1 {
            animation:
                heroUp .9s .25s var(--transition) forwards;
        }

        .slide-content p {
            max-width: 650px;

            color: rgba(255, 255, 255, .86);

            font-size: 1.05rem;

            line-height: 2;

            margin-bottom: 30px;

            opacity: 0;
            transform: translateY(30px);
        }

        .slide.active .slide-content p {
            animation:
                heroUp .9s .4s var(--transition) forwards;
        }

        .slide-buttons {
            display: flex;
            flex-wrap: wrap;

            gap: 12px;

            opacity: 0;
            transform: translateY(25px);
        }

        .slide.active .slide-buttons {
            animation:
                heroUp .9s .55s var(--transition) forwards;
        }

        @keyframes heroUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* =========================================================
           BUTTONS
        ========================================================= */

        .btn {
            position: relative;
            overflow: hidden;

            display: inline-flex;
            align-items: center;
            justify-content: center;

            min-height: 50px;

            padding: 12px 30px;

            border-radius: 50px;

            background: var(--primary);

            border: 1px solid var(--primary);

            color: white;

            text-decoration: none;

            font-weight: 700;

            box-shadow:
                0 10px 30px rgba(139, 58, 74, .22);

            transition:
                transform .35s var(--transition),
                box-shadow .35s ease,
                background .35s ease;
        }

        .btn::before {
            content: "";

            position: absolute;

            top: 0;
            left: -100%;

            width: 70%;
            height: 100%;

            background:
                linear-gradient(
                    90deg,
                    transparent,
                    rgba(255, 255, 255, .28),
                    transparent
                );

            transform: skewX(-20deg);

            transition: left .6s ease;
        }

        .btn:hover::before {
            left: 140%;
        }

        .btn:hover {
            transform: translateY(-4px);

            box-shadow:
                0 15px 40px rgba(139, 58, 74, .32);

            background: var(--primary-dark);
        }

        .btn-outline {
            background: rgba(255, 255, 255, .08);

            border-color: rgba(255, 255, 255, .7);

            backdrop-filter: blur(10px);
        }

        .btn-outline:hover {
            background: white;
            color: var(--primary);
        }

        /* =========================================================
           HERO DECORATION
        ========================================================= */

        .hero-decoration {
            position: absolute;

            z-index: 3;

            width: 420px;
            height: 420px;

            border:
                1px solid rgba(255, 255, 255, .12);

            border-radius: 50%;

            left: -180px;
            bottom: -220px;

            animation:
                rotateDecoration 25s linear infinite;
        }

        .hero-decoration::before {
            content: "";

            position: absolute;

            inset: 35px;

            border:
                1px solid rgba(255, 255, 255, .08);

            border-radius: 50%;
        }

        @keyframes rotateDecoration {
            to {
                transform: rotate(360deg);
            }
        }

        /* =========================================================
           SLIDER
        ========================================================= */

        .slider-btn {
            position: absolute;

            top: 50%;
            z-index: 10;

            width: 54px;
            height: 54px;

            border:
                1px solid rgba(255, 255, 255, .3);

            border-radius: 50%;

            background:
                rgba(255, 255, 255, .12);

            color: white;

            backdrop-filter: blur(12px);

            display: flex;
            align-items: center;
            justify-content: center;

            font-size: 18px;

            transform: translateY(-50%);

            transition:
                transform .35s var(--transition),
                background .3s ease;
        }

        .slider-btn:hover {
            background: white;
            color: var(--primary);

            transform:
                translateY(-50%) scale(1.1);
        }

        .slider-prev {
            right: 25px;
        }

        .slider-next {
            left: 25px;
        }

        .slider-dots {
            position: absolute;

            z-index: 20;

            bottom: 30px;
            left: 50%;

            transform: translateX(-50%);

            display: flex;

            gap: 8px;
        }

        .slider-dot {
            width: 9px;
            height: 9px;

            padding: 0;

            border: none;
            border-radius: 20px;

            background:
                rgba(255, 255, 255, .4);

            transition:
                width .4s var(--transition),
                background .3s ease;
        }

        .slider-dot.active {
            width: 34px;
            background: white;
        }

        .slider-progress {
            position: absolute;

            bottom: 0;
            right: 0;

            width: 100%;
            height: 3px;

            background:
                rgba(255, 255, 255, .16);

            z-index: 20;
        }

        .slider-progress-bar {
            height: 100%;
            width: 0;

            background:
                linear-gradient(
                    90deg,
                    var(--accent),
                    white
                );
        }

        .slider-progress-bar.running {
            animation:
                sliderProgress 6s linear forwards;
        }

        @keyframes sliderProgress {
            from {
                width: 0;
            }

            to {
                width: 100%;
            }
        }

        /* =========================================================
           SECTIONS
        ========================================================= */

        section:not(.hero-slider) {
            padding: 100px 24px;
        }

        .container {
            width: min(1300px, 100%);
            margin: auto;
        }

        .section-header {
            max-width: 700px;

            margin:
                0 auto 55px;

            text-align: center;

            opacity: 0;

            transform:
                translateY(35px);

            transition:
                opacity .8s ease,
                transform .8s var(--transition);
        }

        .section-header.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .section-header h2 {
            position: relative;

            display: inline-block;

            font-family: 'Amiri', serif;

            font-size:
                clamp(2.2rem, 4vw, 3rem);

            color: var(--primary-dark);

            margin-bottom: 10px;
        }

        .section-header h2::after {
            content: "✦";

            position: absolute;

            top: -4px;
            left: -28px;

            color: var(--gold);

            font-size: .8rem;

            animation:
                sparkle 2s ease-in-out infinite;
        }

        @keyframes sparkle {
            0%, 100% {
                opacity: .4;
                transform: scale(.8);
            }

            50% {
                opacity: 1;
                transform: scale(1.2);
            }
        }

        .section-header p {
            color: var(--text-light);
        }

        /* =========================================================
           PRODUCTS
        ========================================================= */

        .products-grid {
            display: grid;

            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            gap: 28px;
        }

        .product-card {
            position: relative;

            min-width: 0;

            background: white;

            border-radius: var(--radius);

            overflow: hidden;

            box-shadow: var(--shadow);

            opacity: 0;

            transform:
                translateY(40px);

            transition:
                opacity .7s ease,
                transform .7s var(--transition),
                box-shadow .4s ease;
        }

        .product-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .product-card:hover {
            transform:
                translateY(-10px);

            box-shadow:
                var(--shadow-hover);
        }

        .product-image {
            position: relative;

            aspect-ratio: 3 / 4;

            overflow: hidden;

            background: var(--bg-soft);
        }

        .product-image-link {
            display: block;

            width: 100%;
            height: 100%;
        }

        .product-image img {
            width: 100%;
            height: 100%;

            object-fit: cover;

            transition:
                transform .8s var(--transition);
        }

        .product-card:hover .product-image img {
            transform: scale(1.08);
        }

        .product-image::after {
            content: "";

            position: absolute;

            inset: 0;

            background:
                linear-gradient(
                    to top,
                    rgba(30, 10, 15, .15),
                    transparent 40%
                );

            pointer-events: none;
        }

        .badge {
            position: absolute;

            top: 15px;
            right: 15px;

            z-index: 3;

            padding: 6px 13px;

            background:
                rgba(139, 58, 74, .94);

            color: white;

            border-radius: 30px;

            font-size: .72rem;
            font-weight: 700;

            backdrop-filter: blur(8px);
        }

        .badge.sale {
            background: var(--sale);
        }

        .product-info {
            padding: 20px;

            text-align: center;
        }

        .product-title-link {
            color: inherit;
            text-decoration: none;
        }

        .product-title {
            min-height: 48px;

            font-size: .98rem;
            font-weight: 700;

            line-height: 1.6;

            transition:
                color .3s ease;
        }

        .product-title-link:hover .product-title {
            color: var(--primary);
        }

        .product-price {
            display: flex;

            align-items: center;
            justify-content: center;

            gap: 10px;

            margin: 8px 0 16px;

            flex-wrap: wrap;
        }

        .current-price {
            color: var(--primary);

            font-size: 1.15rem;
            font-weight: 800;
        }

        .old-price {
            color: #9a8589;

            font-size: .9rem;

            text-decoration: line-through;
        }

        /*
         * IMPORTANT:
         * This is now an <a>, not a <button>.
         */
        .btn-buy {
            position: relative;
            overflow: hidden;

            width: 100%;

            padding: 12px;

            border: none;

            border-radius: 12px;

            background:
                linear-gradient(
                    135deg,
                    var(--primary),
                    var(--primary-dark)
                );

            color: white;

            font-weight: 700;

            text-decoration: none;

            display: flex;
            align-items: center;
            justify-content: center;

            text-align: center;

            transition:
                transform .3s var(--transition),
                box-shadow .3s ease;
        }

        .btn-buy:hover {
            transform:
                translateY(-3px);

            box-shadow:
                0 10px 25px rgba(139, 58, 74, .25);

            color: white;
        }

        /* =========================================================
           COLLECTION
        ========================================================= */

        .collections {
            position: relative;

            background:
                linear-gradient(
                    135deg,
                    #f8efeb,
                    #fdf8f5
                );
        }

        .collection-card {
            position: relative;

            max-width: 1050px;

            margin: auto;

            display: grid;

            grid-template-columns: 1fr 1fr;

            overflow: hidden;

            border-radius: 28px;

            background: white;

            box-shadow: var(--shadow);

            opacity: 0;

            transform:
                translateY(50px);

            transition:
                opacity .9s ease,
                transform .9s var(--transition),
                box-shadow .4s ease;
        }

        .collection-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .collection-card:hover {
            box-shadow:
                var(--shadow-hover);
        }

        .collection-image {
            min-height: 500px;
            overflow: hidden;
        }

        .collection-image img {
            width: 100%;
            height: 100%;

            object-fit: cover;

            transition:
                transform 1.2s var(--transition);
        }

        .collection-card:hover .collection-image img {
            transform: scale(1.06);
        }

        .collection-content {
            padding: 65px 55px;

            display: flex;
            flex-direction: column;
            justify-content: center;

            background:
                radial-gradient(
                    circle at top left,
                    rgba(217, 166, 166, .16),
                    transparent 45%
                );
        }

        .collection-content h3 {
            font-family: 'Amiri', serif;

            font-size: 2.7rem;

            color: var(--primary-dark);

            margin-bottom: 15px;
        }

        .collection-content p {
            color: var(--text-light);

            margin-bottom: 28px;
        }

        .collection-content .btn {
            align-self: flex-start;
        }

        /* =========================================================
           ABOUT
        ========================================================= */

        .about {
            background: white;

            position: relative;

            overflow: hidden;
        }

        .about::before,
        .about::after {
            content: "";

            position: absolute;

            width: 250px;
            height: 250px;

            border-radius: 50%;

            border:
                1px solid rgba(139, 58, 74, .08);
        }

        .about::before {
            right: -100px;
            top: -100px;
        }

        .about::after {
            left: -100px;
            bottom: -100px;
        }

        .about-content {
            position: relative;

            z-index: 2;

            max-width: 850px;

            margin: auto;

            text-align: center;

            opacity: 0;

            transform:
                translateY(40px);

            transition:
                opacity .9s ease,
                transform .9s var(--transition);
        }

        .about-content.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .about-content h2 {
            font-family: 'Amiri', serif;

            color: var(--primary-dark);

            font-size: 3rem;

            margin-bottom: 25px;
        }

        .about-content p {
            color: var(--text-light);

            font-size: 1.08rem;

            margin-bottom: 15px;
        }

        /* =========================================================
           FOOTER
        ========================================================= */

        footer {
            position: relative;

            background:
                radial-gradient(
                    circle at top right,
                    rgba(217, 166, 166, .12),
                    transparent 30%
                ),
                var(--primary-dark);

            color: #eadcdd;

            padding: 75px 24px 30px;
        }

        .footer-grid {
            width: min(1300px, 100%);

            margin:
                0 auto 55px;

            display: grid;

            grid-template-columns:
                2fr 1fr 1fr 1fr;

            gap: 50px;
        }

        .footer-brand .logo {
            color: white;

            margin-bottom: 15px;
        }

        .footer-logo {
            width: 120px;
            height: 120px;

            display: block;

            border-radius: 50%;

            object-fit: cover;
        }

        .footer-brand p {
            color: #d7c3c6;

            max-width: 350px;
        }

        .social-links {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 22px;
        }

        .social-link {
            width: 44px;
            height: 44px;

            display: inline-flex;
            align-items: center;
            justify-content: center;

            border: 1px solid rgba(255, 255, 255, .18);
            border-radius: 50%;

            background: rgba(255, 255, 255, .06);

            color: white;

            text-decoration: none;

            font-size: 1.05rem;

            transition:
                transform .35s var(--transition),
                background .3s ease,
                border-color .3s ease,
                box-shadow .3s ease,
                color .3s ease;
        }

        .social-link:hover {
            transform: translateY(-5px);

            background: white;

            color: var(--primary);

            border-color: white;

            box-shadow:
                0 10px 25px rgba(0, 0, 0, .18);
        }

        .social-link.facebook:hover {
            color: #1877f2;
        }

        .social-link.instagram:hover {
            color: #e4405f;
        }

        .social-link.whatsapp:hover {
            color: #25d366;
        }

        .footer-col h4 {
            color: white;

            margin-bottom: 20px;
        }

        .footer-col ul {
            list-style: none;
        }

        .footer-col li {
            margin-bottom: 11px;
        }

        .footer-col a {
            color: #d7c3c6;

            text-decoration: none;

            transition:
                color .3s ease,
                padding-right .3s ease;
        }

        .footer-col a:hover {
            color: white;

            padding-right: 5px;
        }

        .footer-bottom {
            width: min(1300px, 100%);

            margin: auto;

            padding-top: 25px;

            border-top:
                1px solid rgba(255, 255, 255, .12);

            text-align: center;

            color: #cdb8bb;

            font-size: .9rem;
        }

        /* =========================================================
           CART
        ========================================================= */

        .cart-overlay {
            position: fixed;

            inset: 0;

            z-index: 900;

            background:
                rgba(20, 8, 11, .55);

            opacity: 0;
            visibility: hidden;

            backdrop-filter: blur(5px);

            transition:
                opacity .4s ease,
                visibility .4s ease;
        }

        .cart-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        .cart-panel {
            position: fixed;

            top: 0;
            right: 0;

            z-index: 1000;

            width: 440px;
            max-width: 95vw;

            height: 100vh;

            background: white;

            transform:
                translateX(110%);

            transition:
                transform .55s var(--transition);

            display: flex;
            flex-direction: column;

            box-shadow:
                -20px 0 60px rgba(0, 0, 0, .15);
        }

        .cart-panel.active {
            transform:
                translateX(0);
        }

        .cart-header {
            padding: 22px;

            border-bottom:
                1px solid var(--border);

            display: flex;

            align-items: center;
            justify-content: space-between;
        }

        .cart-header h2 {
            font-family: 'Amiri', serif;

            color: var(--primary);

            font-size: 1.8rem;
        }

        .cart-close,
        .checkout-close {
            width: 40px;
            height: 40px;

            border: none;

            border-radius: 50%;

            background: var(--bg-soft);

            font-size: 25px;

            display: flex;

            align-items: center;
            justify-content: center;

            transition:
                transform .3s ease,
                background .3s ease;
        }

        .cart-close:hover,
        .checkout-close:hover {
            background: var(--primary);

            color: white;

            transform: rotate(90deg);
        }

        .cart-items {
            flex: 1;

            overflow-y: auto;

            padding: 20px;
        }

        .cart-item {
            display: flex;

            gap: 14px;

            padding: 15px 0;

            border-bottom:
                1px solid var(--border);

            animation:
                cartItemIn .45s var(--transition);
        }

        @keyframes cartItemIn {
            from {
                opacity: 0;
                transform: translateX(20px);
            }

            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .cart-item-image {
            width: 75px;
            height: 95px;

            flex-shrink: 0;

            object-fit: cover;

            border-radius: 12px;
        }

        .cart-item-info {
            flex: 1;

            min-width: 0;
        }

        .cart-item-info h4 {
            margin-bottom: 5px;

            font-size: .95rem;

            line-height: 1.5;
        }

        .cart-item-info strong {
            color: var(--primary);
        }

        .quantity-controls {
            display: flex;

            align-items: center;

            gap: 8px;

            margin-top: 10px;
        }

        .quantity-controls button {
            width: 30px;
            height: 30px;

            border:
                1px solid var(--border);

            background: var(--bg-soft);

            border-radius: 7px;

            transition: .25s;
        }

        .quantity-controls button:hover {
            background: var(--primary);

            color: white;
        }

        .quantity-controls span {
            min-width: 25px;

            text-align: center;

            font-weight: 700;
        }

        .remove-item {
            border: none;

            background: transparent;

            color: var(--sale);

            font-size: .8rem;

            margin-top: 7px;
        }

        .empty-cart {
            text-align: center;

            padding: 70px 20px;

            color: var(--text-light);
        }

        .empty-cart-icon {
            font-size: 55px;

            margin-bottom: 12px;

            opacity: .6;
        }

        .cart-footer {
            padding: 20px;

            border-top:
                1px solid var(--border);

            background: #fff;
        }

        .cart-total {
            display: flex;

            justify-content: space-between;

            margin-bottom: 15px;

            font-size: 1.05rem;
        }

        .cart-total strong {
            color: var(--primary);

            font-size: 1.2rem;
        }

        .checkout-btn {
            width: 100%;

            padding: 14px;

            border: none;

            border-radius: 12px;

            background:
                linear-gradient(
                    135deg,
                    var(--primary),
                    var(--primary-dark)
                );

            color: white;

            font-weight: 700;

            transition:
                transform .3s ease,
                box-shadow .3s ease;
        }

        .checkout-btn:hover {
            transform:
                translateY(-3px);

            box-shadow:
                0 12px 30px rgba(139, 58, 74, .25);
        }

        /* =========================================================
           CHECKOUT
        ========================================================= */

        .checkout-overlay {
            position: fixed;

            inset: 0;

            z-index: 2000;

            background:
                rgba(20, 8, 11, .65);

            display: flex;

            align-items: center;
            justify-content: center;

            padding: 20px;

            opacity: 0;
            visibility: hidden;

            transition:
                opacity .4s ease,
                visibility .4s ease;
        }

        .checkout-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        .checkout-box {
            position: relative;

            width: 550px;
            max-width: 100%;

            max-height: 90vh;

            overflow-y: auto;

            padding: 35px;

            border-radius: 24px;

            background: white;

            box-shadow:
                0 30px 100px rgba(0, 0, 0, .2);

            transform:
                translateY(30px) scale(.96);

            transition:
                transform .5s var(--transition);
        }

        .checkout-overlay.active .checkout-box {
            transform:
                translateY(0) scale(1);
        }

        .checkout-box h2 {
            font-family: 'Amiri', serif;

            color: var(--primary);

            font-size: 2rem;

            margin-bottom: 4px;
        }

        .checkout-description {
            color: var(--text-light);

            margin-bottom: 25px;
        }

        .checkout-close {
            position: absolute;

            top: 18px;
            left: 18px;
        }

        .checkout-group {
            margin-bottom: 17px;
        }

        .checkout-group label {
            display: block;

            margin-bottom: 6px;

            font-weight: 700;
        }

        .checkout-group input,
        .checkout-group textarea {
            width: 100%;

            padding: 13px 14px;

            border:
                1px solid var(--border);

            border-radius: 11px;

            background: #fff;

            outline: none;

            transition:
                border .3s ease,
                box-shadow .3s ease;
        }

        .checkout-group input:focus,
        .checkout-group textarea:focus {
            border-color: var(--primary);

            box-shadow:
                0 0 0 4px rgba(139, 58, 74, .08);
        }

        .checkout-group textarea {
            min-height: 90px;

            resize: vertical;
        }

        .whatsapp-btn {
            width: 100%;

            padding: 15px;

            border: none;

            border-radius: 12px;

            background:
                linear-gradient(
                    135deg,
                    #25d366,
                    #1eaf56
                );

            color: white;

            font-weight: 800;

            transition:
                transform .3s ease,
                box-shadow .3s ease;
        }

        .whatsapp-btn:hover {
            transform:
                translateY(-3px);

            box-shadow:
                0 12px 30px rgba(37, 211, 102, .25);
        }

        /* =========================================================
           REVEAL
        ========================================================= */

        .reveal {
            opacity: 0;

            transform:
                translateY(45px);

            transition:
                opacity .8s ease,
                transform .8s var(--transition);
        }

        .reveal.visible {
            opacity: 1;

            transform:
                translateY(0);
        }

        /* =========================================================
           TABLET
        ========================================================= */

        @media (max-width: 1100px) {

            .header-inner {
                width: min(100% - 30px, 1000px);

                gap: 18px;
            }

            nav ul {
                gap: 16px;
            }

            nav a {
                font-size: .82rem;
            }

            .site-logo {
                width: 70px;
                height: 70px;
            }

            .hero-slider {
                height: 600px;
                min-height: 500px;
            }

            .slide-content {
                width: min(100% - 40px, 1000px);

                padding:
                    35px 30px;
            }

            .slide-content h1 {
                font-size:
                    clamp(2.8rem, 6vw, 4.8rem);
            }

            .products-grid {
                grid-template-columns:
                    repeat(3, minmax(0, 1fr));

                gap: 20px;
            }

            .collection-card {
                max-width: 900px;
            }

            .collection-content {
                padding:
                    45px 35px;
            }

            .footer-grid {
                grid-template-columns:
                    2fr 1fr 1fr;

                gap: 30px;
            }
        }

        /* =========================================================
           MOBILE
        ========================================================= */

        @media (max-width: 800px) {

            .header-inner {
                min-height: 68px;

                width:
                    calc(100% - 24px);

                gap: 10px;
            }

            .logo {
                font-size: 1.6rem;
            }

            .site-logo {
                width: 58px;
                height: 58px;
            }

            nav {
                display: none !important;
            }

            .mobile-menu-btn {
                display: flex;
            }

            .header-actions {
                margin-right: auto;
            }

            .cart-btn {
                width: 42px;
                height: 42px;

                font-size: 1.05rem;
            }

            .announcement {
                padding: 8px 12px;

                font-size: .72rem;

                line-height: 1.5;

                white-space: nowrap;
            }

            .hero-slider {
                height: 570px;
                min-height: 570px;
            }

            .slide-bg {
                object-position: center;
            }

            .slide-overlay {
                background:
                    linear-gradient(
                        180deg,
                        rgba(25, 9, 13, .25) 0%,
                        rgba(25, 9, 13, .45) 35%,
                        rgba(25, 9, 13, .94) 100%
                    );
            }

            .slide-content {
                width: 100%;
                height: 100%;

                padding:
                    30px
                    22px
                    85px;

                display: flex;

                align-items: flex-end;
                justify-content: center;

                text-align: center;
            }

            .slide-content-inner {
                width: 100%;

                max-width: 600px;
            }

            .slide-eyebrow {
                justify-content: center;

                font-size: .75rem;

                margin-bottom: 8px;
            }

            .slide-eyebrow::before {
                width: 25px;
            }

            .slide-content h1 {
                font-size:
                    clamp(2.4rem, 10vw, 3.5rem);

                line-height: 1.2;

                margin-bottom: 12px;
            }

            .slide-content p {
                max-width: 500px;

                margin:
                    0 auto 20px;

                font-size: .88rem;

                line-height: 1.8;
            }

            .slide-buttons {
                justify-content: center;

                gap: 8px;
            }

            .btn {
                min-height: 44px;

                padding:
                    9px 18px;

                font-size: .8rem;
            }

            .slider-btn {
                width: 40px;
                height: 40px;

                font-size: 14px;
            }

            .slider-prev {
                right: 10px;
            }

            .slider-next {
                left: 10px;
            }

            .slider-dots {
                bottom: 20px;
            }

            .slider-dot {
                width: 7px;
                height: 7px;
            }

            .slider-dot.active {
                width: 25px;
            }

            .hero-decoration {
                width: 250px;
                height: 250px;

                left: -130px;
                bottom: -140px;
            }

            section:not(.hero-slider) {
                padding:
                    65px 14px;
            }

            .section-header {
                margin-bottom: 35px;
            }

            .section-header h2 {
                font-size: 2.25rem;
            }

            .section-header p {
                font-size: .88rem;
            }

            .products-grid {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));

                gap: 12px;
            }

            .product-card {
                border-radius: 15px;
            }

            .product-image {
                aspect-ratio: 3 / 4;
            }

            .badge {
                top: 9px;
                right: 9px;

                padding:
                    5px 9px;

                font-size: .62rem;
            }

            .product-info {
                padding:
                    12px 8px;
            }

            .product-title {
                min-height: 42px;

                font-size: .78rem;

                line-height: 1.6;
            }

            .product-price {
                gap: 6px;

                margin:
                    7px 0 11px;
            }

            .current-price {
                font-size: .88rem;
            }

            .old-price {
                font-size: .68rem;
            }

            .btn-buy {
                padding: 10px 5px;

                border-radius: 9px;

                font-size: .7rem;
            }

            .collection-card {
                grid-template-columns: 1fr;

                border-radius: 20px;
            }

            .collection-image {
                min-height: 320px;
                height: 320px;
            }

            .collection-content {
                padding:
                    35px 22px;

                text-align: center;
            }

            .collection-content h3 {
                font-size: 2.2rem;
            }

            .collection-content p {
                font-size: .88rem;

                line-height: 1.9;
            }

            .collection-content .btn {
                width: 100%;

                align-self: stretch;
            }

            .about-content {
                padding: 0 8px;
            }

            .about-content h2 {
                font-size: 2.25rem;
            }

            .about-content p {
                font-size: .9rem;

                line-height: 1.9;
            }

            footer {
                padding:
                    55px 18px 25px;
            }

            .footer-grid {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));

                gap:
                    30px 20px;

                margin-bottom: 35px;
            }

            .footer-brand {
                grid-column: 1 / -1;
            }

            .footer-logo {
                width: 90px;
                height: 90px;
            }

            .footer-brand p {
                font-size: .85rem;
            }

            .social-links {
                justify-content: flex-start;
                gap: 10px;
                margin-top: 18px;
            }

            .social-link {
                width: 40px;
                height: 40px;
                font-size: .95rem;
            }

            .footer-col h4 {
                font-size: .95rem;

                margin-bottom: 13px;
            }

            .footer-col a {
                font-size: .82rem;
            }

            .footer-bottom {
                font-size: .75rem;
            }

            .cart-panel {
                width: 100%;
                max-width: 100%;
            }

            .cart-header {
                padding: 17px;
            }

            .cart-items {
                padding: 15px;
            }

            .cart-item {
                gap: 10px;
            }

            .cart-item-image {
                width: 65px;
                height: 85px;
            }

            .cart-item-info h4 {
                font-size: .82rem;

                line-height: 1.5;
            }

            .cart-footer {
                padding: 15px;
            }

            .checkout-overlay {
                padding: 10px;

                align-items: flex-end;
            }

            .checkout-box {
                width: 100%;

                max-height: 94vh;

                padding:
                    28px 17px 20px;

                border-radius:
                    20px 20px 0 0;
            }

            .checkout-box h2 {
                font-size: 1.7rem;
            }

            .checkout-description {
                font-size: .82rem;

                line-height: 1.7;
            }

            .checkout-group {
                margin-bottom: 13px;
            }

            .checkout-group label {
                font-size: .82rem;
            }

            .checkout-group input,
            .checkout-group textarea {
                padding:
                    11px 12px;

                font-size: 16px;
            }

            .checkout-group textarea {
                min-height: 75px;
            }

            .whatsapp-btn {
                padding: 13px;

                font-size: .85rem;
            }
        }

        /* =========================================================
           SMALL PHONES
        ========================================================= */

        @media (max-width: 480px) {

            .announcement {
                font-size: .65rem;
            }

            .header-inner {
                width:
                    calc(100% - 18px);
            }

            .logo {
                font-size: 1.35rem;
            }

            .site-logo {
                width: 52px;
                height: 52px;
            }

            .mobile-menu-btn {
                width: 39px;
                height: 39px;
            }

            .cart-btn {
                width: 39px;
                height: 39px;
            }

            .cart-count {
                width: 18px;
                height: 18px;

                font-size: .58rem;
            }

            .hero-slider {
                height: 540px;
                min-height: 540px;
            }

            .slide-content {
                padding:
                    20px
                    16px
                    80px;
            }

            .slide-content h1 {
                font-size: 2.35rem;
            }

            .slide-content p {
                font-size: .8rem;

                line-height: 1.8;
            }

            .slide-buttons {
                display: grid;

                grid-template-columns:
                    1fr 1fr;
            }

            .slide-buttons .btn {
                width: 100%;

                padding-left: 8px;
                padding-right: 8px;

                white-space: nowrap;
            }

            .slider-btn {
                width: 36px;
                height: 36px;
            }

            .slider-prev {
                right: 7px;
            }

            .slider-next {
                left: 7px;
            }

            section:not(.hero-slider) {
                padding:
                    55px 10px;
            }

            .section-header h2 {
                font-size: 2rem;
            }

            .products-grid {
                gap: 9px;
            }

            .product-card {
                border-radius: 12px;
            }

            .product-info {
                padding:
                    10px 6px;
            }

            .product-title {
                font-size: .72rem;

                min-height: 38px;
            }

            .current-price {
                font-size: .78rem;
            }

            .old-price {
                font-size: .62rem;
            }

            .btn-buy {
                font-size: .65rem;

                padding:
                    9px 3px;
            }

            .collection-image {
                height: 280px;
                min-height: 280px;
            }

            .collection-content {
                padding:
                    30px 18px;
            }

            .collection-content h3 {
                font-size: 2rem;
            }

            .footer-grid {
                grid-template-columns:
                    1fr 1fr;
            }

            .footer-brand {
                grid-column: 1 / -1;
            }
        }

        /* =========================================================
           VERY SMALL PHONES
        ========================================================= */

        @media (max-width: 360px) {

            .logo {
                font-size: 1.15rem;
            }

            .site-logo {
                width: 46px;
                height: 46px;
            }

            .mobile-menu-btn,
            .cart-btn {
                width: 36px;
                height: 36px;
            }

            .hero-slider {
                height: 520px;
                min-height: 520px;
            }

            .slide-content h1 {
                font-size: 2rem;
            }

            .slide-content p {
                font-size: .75rem;
            }

            .slide-buttons {
                grid-template-columns: 1fr;
            }

            .products-grid {
                gap: 7px;
            }

            .product-title {
                font-size: .68rem;
            }

            .btn-buy {
                font-size: .6rem;
            }
        }

        /* =========================================================
           LANDSCAPE
        ========================================================= */

        @media (max-height: 500px) and (max-width: 900px) {

            .hero-slider {
                height: 500px;
                min-height: 500px;
            }

            .slide-content {
                padding-bottom: 65px;
            }

            .slide-content h1 {
                font-size: 2.3rem;

                margin-bottom: 8px;
            }

            .slide-content p {
                margin-bottom: 12px;
            }

            .slider-dots {
                bottom: 12px;
            }
        }

        /* =========================================================
           TOUCH
        ========================================================= */

        @media (hover: none) {

            .product-card:hover {
                transform: none;

                box-shadow:
                    var(--shadow);
            }

            .product-card:hover .product-image img {
                transform: none;
            }

            .btn:hover,
            .btn-buy:hover,
            .cart-btn:hover {
                transform: none;
            }
        }

        /* =========================================================
           REDUCED MOTION
        ========================================================= */

        @media (prefers-reduced-motion: reduce) {

            *,
            *::before,
            *::after {
                animation-duration: .01ms !important;

                animation-iteration-count: 1 !important;

                transition-duration: .01ms !important;

                scroll-behavior: auto !important;
            }
        }
