:root {
    --wood-900: #2C1810;
    --wood-800: #3E2723;
    --wood-700: #4E342E;
    --wood-600: #5D4037;
    --wood-500: #6D4C41;
    --wood-400: #8D6E63;
    --wood-300: #A1887F;
    --wood-200: #BCAAA4;
    --wood-100: #D7CCC8;
    --wood-50: #EFEBE9;
    --sand-50: #FFF8F0;
    --sand-100: #FAF0E4;
    --sand-200: #F5E6D0;
    --gold-500: #C4972F;
    --gold-400: #DAA520;
    --gold-300: #E6BE5A;
    --gold-200: #F0D58C;
    --gold-100: #F7E8B8;
    --gold-50: #FDF6E3;
    --header-h: 146px;
}

* {margin: 0;padding: 0;box-sizing: border-box;}
html, body { overflow-x: clip; }
body { font-family: 'Manrope', sans-serif; color: var(--wood-800); background: var(--sand-50); }
h1, h2, h3, h4, h5, .font-display {font-family: 'Playfair Display', serif;}

/* Scrollbar */
::-webkit-scrollbar {width: 8px;}
::-webkit-scrollbar-track {background: var(--sand-100);}
::-webkit-scrollbar-thumb {background: var(--wood-300); border-radius: 4px;}
::-webkit-scrollbar-thumb:hover {background: var(--wood-500);}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-12px) rotate(1deg);
    }
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

@keyframes grainMove {
    0% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(-5%, -5%);
    }

    100% {
        transform: translate(0, 0);
    }
}

@keyframes stringVibrate {
    0%, 100% {
        transform: scaleY(1);
    }

    25% {
        transform: scaleY(1.3);
    }

    75% {
        transform: scaleY(0.7);
    }
}

.animate-on-scroll {opacity: 0;transform: translateY(40px);transition: opacity 0.8s ease-out, transform 0.8s ease-out;}
.animate-on-scroll.visible {opacity: 1;transform: translateY(0);}
.animate-on-scroll.delay-1 {transition-delay: 0.1s;}
.animate-on-scroll.delay-2 {transition-delay: 0.2s;}
.animate-on-scroll.delay-3 {transition-delay: 0.3s;}
.animate-on-scroll.delay-4 {transition-delay: 0.4s;}
.animate-on-scroll.delay-5 {transition-delay: 0.5s;}

/* Grain texture overlay */
.grain-overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;overflow: hidden;pointer-events: none;z-index: 9999;opacity: 0.3;}
.grain-overlay::before {content: '';position: absolute;top: -50%;left: -50%;width: 200%;height: 200%;background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");animation: grainMove 8s steps(10) infinite;}
/* Navigation */
.site-header {position: fixed;top: 0;left: 0;right: 0;width: 100%;z-index: 1050;}
.navbar-main {background: #2C1810;padding: 8px 0;box-shadow: 0 2px 12px rgba(0,0,0,0.08);}
.site-header.scrolled {box-shadow: 0 4px 30px rgba(20, 12, 8, 0.35);}
.navbar-brand-custom {font-family: 'Playfair Display', serif;font-weight: 600;font-size: 1.5rem;color: var(--sand-50) !important;letter-spacing: -0.02em;}
.navbar-brand-custom span {color: var(--gold-500);}
.navbar-main .navbar-brand img {height: 80px;width: auto;display: block;}
.main-nav-actions {display: flex;align-items: center;gap: 8px;}
.user-btn-wrap {position: relative;}
.user-btn {position: relative;}
.user-btn.logged-in {font-size: 13px;font-weight: 700;letter-spacing: 0.04em;}
.user-btn-initials {font-weight: 700;}
.user-online-dot {position: absolute;bottom: 1px;right: 1px;width: 11px;height: 11px;border-radius: 50%;background: #22c55e;border: 2px solid #2C1810;}
.user-dropdown {position: absolute;top: calc(100% + 10px);right: 0;width: 260px;max-width: 85vw;background: #fff;border-radius: 16px;box-shadow: 0 16px 48px rgba(62, 39, 35, 0.16);border: 1px solid var(--wood-100);z-index: 9999;opacity: 0;visibility: hidden;pointer-events: none;transform: translateY(-10px);transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;}
.user-dropdown.open {opacity: 1;visibility: visible;pointer-events: auto;transform: translateY(0);}
.ud-header {display: flex;align-items: center;gap: 12px;padding: 16px 18px 14px;border-bottom: 1px solid var(--wood-100);}
.ud-avatar {width: 40px;height: 40px;border-radius: 50%;background: linear-gradient(135deg, var(--gold-500), var(--gold-400));color: #fff;font-weight: 700;font-size: 0.95rem;display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.ud-name {display: block;font-weight: 600;font-size: 0.95rem;color: var(--wood-900);}
.ud-meta {display: block;font-size: 0.75rem;color: var(--wood-400);}
.ud-menu {padding: 8px 0;}
.ud-menu a, .ud-menu .ud-btn-logout {display: flex;align-items: center;gap: 10px;padding: 10px 18px;font-size: 0.88rem;font-weight: 500;color: var(--wood-700);text-decoration: none;width: 100%;text-align: left;background: none;border: none;cursor: pointer;font-family: inherit;}
.ud-menu a:hover, .ud-menu .ud-btn-logout:hover {background: var(--gold-50);color: var(--gold-500);}
.ud-menu .iconify {font-size: 1.05rem;color: var(--wood-400);flex-shrink: 0;}
.ud-menu a:hover .iconify, .ud-menu .ud-btn-logout:hover .iconify {color: var(--gold-500);}
.ud-divider {border: 0;border-top: 1px solid var(--wood-100);margin: 6px 0;}
.ud-btn-logout {color: #dc2626 !important;}
.ud-btn-logout .iconify {color: #dc2626 !important;}
.ud-btn-logout:hover {background: #fee2e2 !important;color: #dc2626 !important;}
.ud-btn-logout:hover .iconify {color: #dc2626 !important;}
.ud-guest {display: flex;flex-direction: column;align-items: flex-start;gap: 8px;padding: 18px;font-size: 0.85rem;color: var(--wood-500);}
.ud-guest-icon {color: var(--wood-300);font-size: 2.2rem;line-height: 1;}
.ud-btn-login {display: inline-flex;align-items: center;gap: 7px;margin-top: 6px;background: linear-gradient(135deg, var(--wood-800), var(--wood-600));color: #fff;font-weight: 600;font-size: 0.85rem;padding: 9px 16px;border-radius: 10px;text-decoration: none;}
.ud-btn-login:hover {background: var(--gold-500);color: #fff;}
.menu-strip {background: #33211A;border-top: 1px solid rgba(255, 248, 240, 0.06);}
.main-menu {display: flex;align-items: center;gap: 6px;margin: 0;padding: 6px 0;list-style: none;}
.main-menu li a {display: inline-flex;align-items: center;gap: 5px;padding: 8px 16px;color: rgba(255, 248, 240, 0.85);text-decoration: none;font-size: 0.9rem;font-weight: 500;border-radius: 7px;transition: all 0.2s ease;}
.main-menu li a:hover {background: rgba(196, 151, 47, 0.16);color: #fff;}
.mobile-menu-bar, .mobile-menu-dropdown {display: none;}
@media (max-width: 991.98px) {
    :root {--header-h: 120px;}
    .desktop-menu {display: none !important;}
    .mobile-menu-bar {display: flex;align-items: center;justify-content: space-between;min-height: 48px;gap: 10px;}
    .mobile-menu-toggle {display: inline-flex;align-items: center;gap: 7px;border: 0;background: transparent;color: var(--sand-50);font-size: 0.9rem;font-weight: 600;padding: 8px 12px;border-radius: 7px;cursor: pointer;}
    .mobile-menu-toggle:hover {background: rgba(196, 151, 47, 0.16);}
    .mobile-menu-dropdown {display: none;border-top: 1px solid rgba(255, 248, 240, 0.08);}
    .mobile-menu-dropdown.show {display: block;}
    .mobile-menu-dropdown ul {list-style: none;margin: 0;padding: 6px 0;}
    .mobile-menu-dropdown li {border-bottom: 1px solid rgba(255, 248, 240, 0.06);}
    .mobile-menu-dropdown li:last-child {border-bottom: 0;}
    .mobile-menu-dropdown a {display: flex;align-items: center;gap: 12px;padding: 12px 8px;color: rgba(255, 248, 240, 0.85);text-decoration: none;font-size: 0.9rem;font-weight: 500;}
    .mobile-menu-dropdown a:hover {background: rgba(196, 151, 47, 0.16);color: #fff;}
    .mobile-menu-dropdown a .iconify {width: 22px;font-size: 1.1rem;color: var(--gold-400);}
    .navbar-main .navbar-brand img {height: 56px;}
    .main-nav-actions .nav-icon-btn {width: 40px;height: 40px;}
}
@media (max-width: 575.98px) {
    :root {--header-h: 110px;}
    .navbar-main .navbar-brand img {height: 46px;}
}
.nav-link-custom {color: rgba(255, 248, 240, 0.85) !important;font-weight: 400;font-size: 0.9rem;padding: 0.5rem 1rem !important;position: relative;transition: color 0.3s ease;}
.nav-link-custom::after {content: '';position: absolute;bottom: 0;left: 50%;width: 0;height: 1.5px;background: var(--gold-500);transition: all 0.3s ease;transform: translateX(-50%);}
.nav-link-custom:hover {color: #fff !important;}
.nav-link-custom:hover::after {width: 60%;}
.nav-icon-btn {width: 40px;height: 40px;border-radius: 50%;border: 1px solid rgba(255, 248, 240, 0.25);background: transparent;display: flex;align-items: center;justify-content: center; color: var(--sand-50);transition: all 0.3s ease;position: relative;}
.nav-icon-btn:hover {background: var(--gold-500);color: var(--wood-900);border-color: var(--gold-500);transform: translateY(-1px);}
.cart-badge {position: absolute;top: -2px;right: -2px;width: 18px;height: 18px;border-radius: 50%;background: var(--gold-500);color: white;font-size: 0.65rem;font-weight: 600;display: flex;align-items: center;justify-content: center;}

/* Footer */
.footer-section {background: var(--wood-900);padding: 5rem 0 2rem;}
.footer-brand {font-family: 'Playfair Display', serif;font-size: 1.5rem;font-weight: 600;color: white;margin-bottom: 1rem;}
.footer-brand span {color: var(--gold-400);}
.footer-desc {font-size: 0.88rem;color: var(--wood-400);font-weight: 400;line-height: 1.7;max-width: 300px;margin-bottom: 1.5rem;}
.footer-social {display: flex;gap: 0.6rem;}
.footer-social a {width: 38px;height: 38px;border-radius: 10px;border: 1px solid rgba(255,255,255,0.1);display: flex;align-items: center;justify-content: center;color: var(--wood-300);text-decoration: none;transition: all 0.3s ease;}
.footer-social a:hover {background: var(--gold-500);border-color: var(--gold-500);color: white;transform: translateY(-2px);}
.footer-contact-links { margin-top: 1.8rem; }
.footer-contact-links li:first-child { margin-top: 1.8rem; }
.footer-contact-links .iconify { color: var(--gold-400); }
.footer-heading {font-family: 'Playfair Display', serif;font-size: 1rem;font-weight: 600;color: white;margin-bottom: 1.2rem;}
.footer-links {list-style: none;padding: 0;margin: 0;}
.footer-links li {margin-bottom: 0.6rem;}
.footer-links a {text-decoration: none;color: var(--wood-400);font-size: 0.88rem;font-weight: 400;transition: all 0.3s ease;display: inline-flex;align-items: center;gap: 0.3rem;}
.footer-links a:hover {color: var(--gold-400);transform: translateX(4px);}
.footer-bottom {margin-top: 3rem;padding-top: 2rem;border-top: 1px solid rgba(255,255,255,0.06);display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 1rem;}
.footer-bottom-text {font-size: 0.8rem;color: var(--wood-500);font-weight: 400;}
.footer-attribution { color: var(--gold-400); font-weight: 500; }
.footer-payments {display: flex;gap: 0.8rem;align-items: center;}
.footer-payments span {font-size: 0.75rem;color: var(--wood-500);padding: 0.25rem 0.55rem;border-radius: 6px;border: 1px solid rgba(255,255,255,0.14);background: #fff;display: inline-flex;align-items: center;justify-content: center;line-height: 0;box-shadow: 0 1px 3px rgba(0,0,0,0.15);}
.footer-payments svg { display: block; }
.footer-parent {display: flex;align-items: center;gap: 0.8rem;text-decoration: none;background: #FAEEE2;border: 1px solid rgba(107,76,65,0.16);border-radius: 12px;padding: 0.85rem 1rem;margin-bottom: 1.6rem;max-width: 330px;transition: all 0.3s ease;}
.footer-parent:hover {background: #F5E0CC;border-color: rgba(196,151,47,0.65);transform: translateY(-2px);box-shadow: 0 8px 20px rgba(42,26,22,0.18);}
.footer-parent-icon {width: 38px;height: 38px;flex: 0 0 38px;border-radius: 10px;background: linear-gradient(135deg, var(--gold-500), var(--wood-700));color: white;display: flex;align-items: center;justify-content: center;font-size: 1.05rem;}
.footer-parent-text {display: flex;flex-direction: column;line-height: 1.35;min-width: 0;}
.footer-parent-label {font-size: 0.68rem;letter-spacing: 0.09em;text-transform: uppercase;color: var(--wood-600);font-weight: 600;}
.footer-parent-name {font-family: 'Playfair Display', serif;font-size: 0.95rem;font-weight: 600;color: var(--wood-900);}
.footer-parent-desc {font-size: 0.78rem;color: var(--wood-600);}
.footer-parent:hover .footer-parent-name {color: var(--wood-700);}
.footer-parent-ext {margin-left: auto;color: var(--wood-600);font-size: 0.85rem;flex: 0 0 auto;}
.footer-parent:hover .footer-parent-ext {color: var(--wood-800);}

/* Toast */
.toast-notification {position: fixed;bottom: 2rem;right: 2rem;background: var(--wood-800);color: white;padding: 1rem 1.5rem;border-radius: 14px;display: flex;align-items: center;gap: 0.8rem;box-shadow: 0 15px 40px rgba(62, 39, 35, 0.3);z-index: 10000;transform: translateY(120%);opacity: 0;transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);font-size: 0.88rem;}
.toast-notification.show {transform: translateY(0);opacity: 1;}
.toast-notification .iconify {color: var(--gold-400);font-size: 1.2rem;}

/* Back to top */
.back-to-top {position: fixed;bottom: 2rem;left: 2rem;width: 44px;height: 44px;border-radius: 12px;background: var(--wood-800);color: white;border: none;display: flex;align-items: center;justify-content: center;font-size: 1.2rem;cursor: pointer;z-index: 1000;opacity: 0;transform: translateY(20px);transition: all 0.3s ease;box-shadow: 0 8px 25px rgba(62, 39, 35, 0.2);}
.back-to-top.visible {opacity: 1;transform: translateY(0);}
.back-to-top:hover {background: var(--gold-500);transform: translateY(-2px);}

/* Hero */
.hero-section {min-height: 100vh;position: relative;display: flex;align-items: center;overflow: hidden;padding-top: calc(var(--header-h, 146px) + 1.5rem);background: linear-gradient(135deg, var(--sand-50) 0%, var(--sand-100) 50%, var(--wood-50) 100%);}
.hero-wood-pattern {position: absolute;top: 0;right: 0;width: 55%;height: 100%;background: repeating-linear-gradient( 90deg, transparent, transparent 40px, rgba(141, 110, 99, 0.03) 40px, rgba(141, 110, 99, 0.03) 42px ), repeating-linear-gradient( 0deg, transparent, transparent 80px, rgba(141, 110, 99, 0.02) 80px, rgba(141, 110, 99, 0.02) 82px );pointer-events: none;}
.hero-glow {position: absolute;width: 600px;height: 600px;border-radius: 50%;background: radial-gradient(circle, rgba(196, 151, 47, 0.08) 0%, transparent 70%);top: 10%;right: 10%;pointer-events: none;}
.hero-tag {display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.45rem 1.15rem 0.45rem 1.4rem;background: linear-gradient(135deg, rgba(196, 151, 47, 0.9), rgba(196, 151, 47, 0.55));clip-path: polygon(16px 0, 100% 0, 100% 100%, 0 100%, 0 16px);font-size: 0.78rem;font-weight: 600;color: var(--wood-900);letter-spacing: 0.05em;text-transform: uppercase;box-shadow: 0 6px 18px rgba(196, 151, 47, 0.28);animation: fadeInUp 0.8s ease-out forwards;}
.hero-title {font-size: clamp(2.5rem, 6vw, 4.5rem);font-weight: 600;line-height: 1.08;color: var(--wood-900);letter-spacing: -0.03em;margin: 1.5rem 0;animation: fadeInUp 0.8s ease-out 0.15s forwards;opacity: 0;}
.hero-title .italic-accent {font-style: italic;color: var(--gold-500);font-weight: 500;}
/* Only the homepage hero (#hero) gets the half-size accent. Every other page heading sits in an
   .about-hero and keeps the accent at full heading size, as it did originally. */
#hero .hero-title .italic-accent {font-size: 0.5em;line-height: 1.2;}
@media (max-width: 991.98px) {
    #hero {padding-top: calc(var(--header-h, 120px) + 1.5rem);align-items: flex-start;}
}
.hero-desc {font-size: 1.1rem;font-weight: 400;line-height: 1.7;color: var(--wood-500);max-width: 480px;animation: fadeInUp 0.8s ease-out 0.3s forwards;opacity: 0;}
.hero-buttons {display: flex;gap: 1rem;flex-wrap: wrap;margin-top: 2.5rem;animation: fadeInUp 0.8s ease-out 0.45s forwards;opacity: 0;}
.btn-wood {background: var(--wood-800);color: white;border: none;padding: 0.85rem 2rem;border-radius: 8px;font-weight: 500;font-size: 0.9rem;transition: all 0.3s ease;display: inline-flex;align-items: center;gap: 0.5rem;text-decoration: none;}
.btn-wood:hover {background: var(--wood-900);color: white;transform: translateY(-2px);box-shadow: 0 10px 30px rgba(62, 39, 35, 0.25);}
.btn-gold-outline {background: transparent;color: var(--gold-500);border: 1.5px solid var(--gold-400);padding: 0.82rem 2rem;border-radius: 8px;font-weight: 500;font-size: 0.9rem;transition: all 0.3s ease;display: inline-flex;align-items: center;gap: 0.5rem;text-decoration: none;}
.btn-gold-outline:hover {background: var(--gold-500);color: white;border-color: var(--gold-500);transform: translateY(-2px);box-shadow: 0 10px 30px rgba(196, 151, 47, 0.2);}
.hero-image-wrapper {position: relative;animation: fadeInRight 1s ease-out 0.3s forwards;opacity: 0;}
.hero-image-container {position: relative;border-radius: 24px;overflow: hidden;box-shadow: 0 30px 80px rgba(62, 39, 35, 0.15), 0 0 0 1px rgba(141, 110, 99, 0.1);}
.hero-image-container img {width: 100%;height: 520px;object-fit: cover;transition: transform 0.7s ease;}
.hero-image-container:hover img {transform: scale(1.05);}
.hero-float-card {position: absolute;background: rgba(255, 255, 255, 0.92);backdrop-filter: blur(12px);border-radius: 16px;padding: 1rem 1.2rem;box-shadow: 0 10px 40px rgba(62, 39, 35, 0.1);border: 1px solid rgba(141, 110, 99, 0.08);animation: float 6s ease-in-out infinite;}
.hero-float-card.card-1 {bottom: 15%;left: -40px;animation-delay: 0s;}
.hero-float-card.card-2 {top: 10%;right: -20px;animation-delay: 2s;}
.float-card-icon {width: 36px;height: 36px;border-radius: 10px;display: flex;align-items: center;justify-content: center;font-size: 1.1rem;}
.float-card-label {font-size: 0.7rem;color: var(--wood-400);text-transform: uppercase;letter-spacing: 0.05em;}
.float-card-value {font-family: 'Playfair Display', serif;font-size: 1.1rem;font-weight: 600;color: var(--wood-800);}
.hero-stats {display: flex;gap: 2.5rem;margin-top: 3rem;padding-top: 2rem;border-top: 1px solid var(--wood-100);animation: fadeInUp 0.8s ease-out 0.6s forwards;opacity: 0;}
.hero-stat-number {font-family: 'Playfair Display', serif;font-size: 1.8rem;font-weight: 600;color: var(--wood-800);}
.hero-stat-label {font-size: 0.8rem;color: var(--wood-400);margin-top: 0.2rem;}

/* Benefits Strip */
.benefits-section {padding: 2.5rem 0;background: white;border-bottom: 1px solid var(--wood-100);}
.benefits-grid {display: flex;flex-wrap: wrap;justify-content: space-between;gap: 1.5rem;}
.benefit-item {display: flex;align-items: center;gap: 0.9rem;min-width: 200px;}
.benefit-icon {width: 48px;height: 48px;min-width: 48px;border-radius: 14px;background: var(--gold-50);border: 1px solid var(--gold-200);display: flex;align-items: center;justify-content: center;color: var(--gold-500);font-size: 1.3rem;}
.benefit-title {font-weight: 600;font-size: 0.92rem;color: var(--wood-800);}
.benefit-desc {font-size: 0.78rem;color: var(--wood-300);font-weight: 400;}

/* Section Heading */
.section-tag {display: inline-flex;align-items: center;gap: 0.5rem;font-size: 0.75rem;font-weight: 500;letter-spacing: 0.1em;text-transform: uppercase;color: var(--gold-500);margin-bottom: 1rem;}
.section-tag::before {content: '';width: 24px;height: 1.5px;background: var(--gold-400);}
.section-title {font-size: clamp(1.8rem, 4vw, 2.8rem);font-weight: 600;color: var(--wood-900);letter-spacing: -0.02em;line-height: 1.15;}
.section-desc {font-size: 1.05rem;font-weight: 400;color: var(--wood-400);line-height: 1.7;max-width: 560px;}

/* Featured Products */
.products-section {padding: 6rem 0;background: white;}
.product-card {border: none;border-radius: 20px;overflow: hidden;background: var(--sand-50);transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);position: relative;box-shadow: 0 6px 20px rgba(62, 39, 35, 0.08);height: 100%;display: flex;flex-direction: column;}
.product-card:hover {transform: translateY(-8px);box-shadow: 0 25px 60px rgba(62, 39, 35, 0.12);}
.product-image-wrapper {position: relative;overflow: hidden;background: var(--sand-100);aspect-ratio: 4/5;}
.product-image-wrapper img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.7s ease;}
.product-card:hover .product-image-wrapper img {transform: scale(1.08);}
.product-badge {position: absolute;top: 1rem;left: 1rem;padding: 0.3rem 0.8rem;border-radius: 50px;font-size: 0.7rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.05em;z-index: 2;}
.badge-new {background: var(--gold-500);color: white;}
.badge-limited {background: var(--wood-800);color: white;}
.badge-best {background: #C0392B;color: white;}
.product-badge-right { left: auto; right: 1rem; }
.badge-ready { background: #2E7D32; color: #fff; }
.badge-preorder { background: var(--gold-400); color: var(--wood-900); }
.badge-featured { background: var(--wood-800); color: #fff; overflow: hidden; isolation: isolate; }
/* A highlight sweeps across the badge on a loop. The band is kept behind the text
   (z-index:-1 inside our own stacking context) so the label stays readable, and it
   parks off both edges at the loop seam, so there is no visible jump. */
.badge-featured::after {
    content: "";
    position: absolute;
    top: -25%;
    bottom: -25%;
    left: -70%;
    width: 55%;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
    transform: skewX(-18deg) translateX(0);
    animation: badgeShine 3s ease-in-out infinite;
    pointer-events: none;
    z-index: -1;
}
@keyframes badgeShine {
    0%, 12% { transform: skewX(-18deg) translateX(0); }
    55%, 100% { transform: skewX(-18deg) translateX(340%); }
}
@media (prefers-reduced-motion: reduce) {
    .badge-featured::after { animation: none; display: none; }
}
.product-wishlist {position: absolute;top: 1rem;right: 1rem;width: 36px;height: 36px;border-radius: 50%;background: rgba(255,255,255,0.9);backdrop-filter: blur(8px);border: none;display: flex;align-items: center;justify-content: center;color: var(--wood-400);font-size: 1.1rem;cursor: pointer;transition: all 0.3s ease;z-index: 2;opacity: 0;transform: translateY(-8px);}
.product-card:hover .product-wishlist {opacity: 1;transform: translateY(0);}
.product-wishlist:hover {color: #C0392B;background: white;}
.product-wishlist.active {color: #C0392B;opacity: 1;transform: translateY(0);}
.product-quick-add {position: absolute;bottom: 0;left: 0;right: 0;padding: 1rem;background: linear-gradient(to top, rgba(62,39,35,0.9) 0%, transparent 100%);z-index: 2;}
.btn-quick-add {width: 100%;padding: 0.7rem;border: none;border-radius: 10px;background: var(--gold-500);color: white;font-weight: 500;font-size: 0.85rem;cursor: pointer;transition: all 0.3s ease;display: flex;align-items: center;justify-content: center;gap: 0.5rem;}
.btn-quick-add:hover {background: var(--gold-400);}
.product-quick-add-row {display: flex;gap: 0.6rem;}
.product-quick-add-row .btn-quick-add {flex: 1;min-width: 0;}
.btn-quick-buy {background: var(--wood-800);border: 1px solid rgba(196, 151, 47, 0.55);}
.btn-quick-buy:hover {background: var(--wood-900);}
.product-info {padding: 1.3rem 1.3rem 1.5rem;flex: 1;display: flex;flex-direction: column;}
.product-category {font-size: 0.7rem;font-weight: 500;letter-spacing: 0.08em;text-transform: uppercase;color: var(--gold-500);margin-bottom: 0.4rem;}
.product-name {font-family: 'Playfair Display', serif;font-size: 1.15rem;font-weight: 600;color: var(--wood-800);margin-bottom: 0.3rem;line-height: 1.35;min-height: 2.7em;transition: color 0.3s ease;text-decoration: none;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.product-card:hover .product-name {color: var(--gold-500);}
.product-desc-small {font-size: 0.82rem;color: var(--wood-300);font-weight: 400;margin-bottom: 0.8rem;line-height: 1.5;min-height: 3em;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.product-rating {display: flex;align-items: center;gap: 0.3rem;margin-bottom: 0.8rem;}
.product-rating .star {color: var(--gold-400);font-size: 0.8rem;}
.product-rating .count {font-size: 0.75rem;color: var(--wood-300); margin-left: 0.3rem;}
.product-price-row {display: flex;align-items: center;gap: 0.6rem;margin-top: auto;}
.product-price {font-family: 'Playfair Display', serif;font-size: 1.3rem;font-weight: 600;color: var(--wood-800);}
.product-price-old {font-size: 0.9rem;color: var(--wood-300);text-decoration: line-through;}

/* Categories */
.categories-section {padding: 6rem 0;background: var(--sand-50);}
.category-card {position: relative;border-radius: 18px;overflow: hidden;cursor: pointer;height: 230px;transition: all 0.5s ease;}
a.category-card {display: block;text-decoration: none;}
.category-card:hover {transform: translateY(-6px);box-shadow: 0 20px 50px rgba(62, 39, 35, 0.15);}
.category-card img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.7s ease;}
.category-card:hover img {transform: scale(1.1);}
.category-overlay {position: absolute;inset: 0;background: linear-gradient(to top, rgba(44, 24, 16, 0.85) 0%, rgba(44, 24, 16, 0.1) 60%);display: flex;flex-direction: column;justify-content: flex-end;padding: 1.2rem;transition: background 0.5s ease;}
.category-card:hover .category-overlay {background: linear-gradient(to top, rgba(44, 24, 16, 0.9) 0%, rgba(44, 24, 16, 0.2) 70%);}
.category-name {font-family: 'Playfair Display', serif;font-size: 1.15rem;font-weight: 600;color: white;margin-bottom: 0.2rem;}
.category-count {font-size: 0.75rem;color: var(--wood-200);font-weight: 400;}
.category-arrow {position: absolute;top: 1rem;right: 1rem;width: 32px;height: 32px;border-radius: 50%;background: rgba(255,255,255,0.15);backdrop-filter: blur(8px);display: flex;align-items: center;justify-content: center;color: white;font-size: 0.9rem;opacity: 0;transform: translateX(-8px);transition: all 0.4s ease;}
.category-card:hover .category-arrow {opacity: 1;transform: translateX(0);}

/* Categories auto-scroll */
.category-scroll {overflow: hidden;}
.category-track {display: flex;width: max-content;animation: categoryScroll 45s linear infinite;}
.category-track:hover {animation-play-state: paused;}
.category-track-item {width: 280px;margin-right: 1.25rem;flex-shrink: 0;}
@keyframes categoryScroll {
    0% {transform: translateX(0);}
    100% {transform: translateX(-50%);}
}

/* Our Story */
.story-section {padding: 6rem 0;background: var(--sand-50);}
.story-image {border-radius: 24px;overflow: hidden;box-shadow: 0 25px 60px rgba(62, 39, 35, 0.15);}
.story-image img {width: 100%;height: 460px;object-fit: cover;transition: transform 0.7s ease;}
.story-image:hover img {transform: scale(1.04);}
.heritage-media {position: sticky;top: 110px;}
.section-lead {font-family: 'Playfair Display', serif;font-size: 1.3rem;line-height: 1.55;font-weight: 500;color: var(--wood-700);max-width: 560px;}
.heritage-quote {margin-top: 2.25rem;padding: 0.25rem 0 0.25rem 1.75rem;border-left: 3px solid var(--gold-500);}
.heritage-quote p {font-size: 0.88rem;color: var(--wood-500);margin-bottom: 0.7rem;line-height: 1.6;}
.heritage-quote blockquote {font-family: 'Playfair Display', serif;font-size: 1.55rem;line-height: 1.4;font-weight: 600;font-style: italic;color: var(--wood-800);margin: 0;max-width: 560px;}
.heritage-list {list-style: none;margin: 2.25rem 0 0;padding: 0;max-width: 560px;}
.heritage-list li {position: relative;padding-left: 1.9rem;margin-bottom: 0.9rem;font-size: 1.05rem;line-height: 1.7;color: var(--wood-400);}
.heritage-list li:last-child {margin-bottom: 0;}
.heritage-list li::before {content: '';position: absolute;left: 0;top: 0.62em;width: 9px;height: 9px;border-radius: 50%;background: var(--gold-500);}
@media (max-width: 991px) {
    .heritage-media {position: static;}
    .heritage-quote blockquote {font-size: 1.3rem;}
}

/* Craftsmanship */
.craft-section {padding: 6rem 0;background: var(--wood-800);position: relative;overflow: hidden;}
.craft-section::before {content: '';position: absolute;inset: 0;background: repeating-linear-gradient( 90deg, transparent, transparent 60px, rgba(255,255,255,0.015) 60px, rgba(255,255,255,0.015) 62px );pointer-events: none;}
.craft-glow {position: absolute;width: 500px;height: 500px;border-radius: 50%;background: radial-gradient(circle, rgba(196, 151, 47, 0.1) 0%, transparent 70%);top: -100px;left: -100px;pointer-events: none;}
.craft-tag {color: var(--gold-300);}
.craft-tag::before {background: var(--gold-400);}
.craft-title {color: white;}
.craft-desc {color: var(--wood-200);}
.craft-step {display: flex;gap: 1.2rem;margin-bottom: 2rem;}
.craft-step-number {width: 44px;height: 44px;min-width: 44px;border-radius: 12px;border: 1.5px solid var(--gold-500);display: flex;align-items: center;justify-content: center;font-family: 'Playfair Display', serif;font-size: 1.1rem;font-weight: 600;color: var(--gold-400);}
.craft-step-title {font-family: 'Playfair Display', serif;font-size: 1.1rem;font-weight: 600;color: white;margin-bottom: 0.3rem;}

/* ---- Parent company (K.S. Sitarmaker) — home page ---- */
.parent-section {padding: 6rem 0;background: var(--sand-50);position: relative;overflow: hidden;}
.parent-section::before {content: '';position: absolute;inset: 0;background: repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(107,68,45,0.022) 60px, rgba(107,68,45,0.022) 61px);pointer-events: none;}
.parent-section .section-desc strong {color: var(--wood-800);font-weight: 600;}
.parent-card {background: white;border: 1px solid var(--wood-100);border-radius: 16px;padding: 2rem;box-shadow: 0 10px 30px rgba(62,39,35,0.07);position: relative;overflow: hidden;}
.parent-card::before {content: '';position: absolute;top: 0;left: 0;right: 0;height: 3px;background: linear-gradient(90deg, var(--gold-500), var(--wood-700));}
.parent-card-label {font-family: 'Playfair Display', serif;font-size: 0.8rem;letter-spacing: 0.08em;text-transform: uppercase;color: var(--wood-600);font-weight: 600;margin-bottom: 1.2rem;}
.parent-list {list-style: none;padding: 0;margin: 0 0 1.6rem;display: flex;flex-direction: column;gap: 0.75rem;}
.parent-list li {display: flex;align-items: center;gap: 0.85rem;padding: 0.7rem 0.9rem;border: 1px solid var(--wood-100);border-radius: 10px;background: var(--sand-50);transition: all 0.3s ease;}
.parent-list li:hover {border-color: rgba(196,151,47,0.45);background: white;transform: translateX(4px);}
.parent-list-icon {width: 36px;height: 36px;flex: 0 0 36px;border-radius: 9px;background: linear-gradient(135deg, var(--gold-500), var(--wood-700));color: white;display: flex;align-items: center;justify-content: center;font-size: 1rem;}
.parent-list-name {font-family: 'Playfair Display', serif;font-size: 1.05rem;font-weight: 600;color: var(--wood-800);}
.parent-cta {width: 100%;justify-content: center;}
.parent-card-note {text-align: center;font-size: 0.78rem;color: var(--wood-500);margin-top: 0.9rem;}
.craft-step-desc {font-size: 0.88rem;color: var(--wood-300);font-weight: 400;line-height: 1.6;}
.craft-image-grid {display: grid;grid-template-columns: 1fr 1fr;grid-template-rows: 1fr 1fr;gap: 1rem;height: 100%;}
.craft-image-grid img {width: 100%;height: 100%;object-fit: cover;border-radius: 16px;transition: all 0.5s ease;}
.craft-image-grid img:first-child {grid-row: 1 / 3;}
.craft-image-grid img:hover {transform: scale(1.03);box-shadow: 0 10px 30px rgba(0,0,0,0.3);}

/* Testimonials */
.testimonials-section {padding: 6rem 0;background: white;}
/* When a testimonials band follows another white band (the product detail page), the two
   run together into one featureless slab. The tint gives the break a visible edge. */
.testimonials-section.is-tinted {background: var(--sand-100);}
.testimonial-card {background: var(--sand-50);border-radius: 20px;padding: 2rem;border: 1px solid var(--wood-100);transition: all 0.4s ease;height: 100%;display: flex;flex-direction: column;overflow: hidden;}
.testimonial-card:hover {transform: translateY(-4px);box-shadow: 0 15px 40px rgba(62, 39, 35, 0.08);border-color: var(--gold-200);}
.testimonial-media {position: relative;margin: -2rem -2rem 1.4rem;border-radius: 19px 19px 0 0;overflow: hidden;background: var(--wood-800);}
.testimonial-photo {display: block;width: 100%;aspect-ratio: 16 / 9;object-fit: cover;transition: transform 0.7s ease;}
.testimonial-card:hover .testimonial-photo {transform: scale(1.05);}
.testimonial-media-stars {position: absolute;left: 0;right: 0;bottom: 0;display: flex;gap: 0.2rem;padding: 1.6rem 1.5rem 0.9rem;background: linear-gradient(to top, rgba(62,39,35,0.85) 0%, rgba(62,39,35,0.55) 45%, rgba(62,39,35,0) 100%);}
.testimonial-media-stars .star {color: var(--gold-300);font-size: 0.95rem;filter: drop-shadow(0 1px 2px rgba(0,0,0,0.4));}
.testimonial-body {display: flex;flex-direction: column;flex: 1;}
.testimonial-stars {display: flex;gap: 0.2rem;margin-bottom: 1rem;}
.testimonial-stars .star {color: var(--gold-400);font-size: 0.9rem;}
.testimonial-text {font-size: 0.95rem;color: var(--wood-600);line-height: 1.7;font-weight: 400;font-style: italic;margin-bottom: 1.5rem;}
.testimonial-author {display: flex;align-items: center;gap: 0.8rem;margin-top: auto;}
.testimonial-avatar {width: 44px;height: 44px;border-radius: 50%;object-fit: cover;border: 2px solid var(--gold-200);}
.testimonial-avatar-initials {display: inline-flex;align-items: center;justify-content: center;background: linear-gradient(135deg, var(--wood-800), var(--wood-600));color: #fff;font-size: 0.85rem;font-weight: 600;letter-spacing: 0.04em;}
.testimonial-name {font-weight: 600;font-size: 0.9rem;color: var(--wood-800);}
.testimonial-role {font-size: 0.78rem;color: var(--wood-300);}

/* Testimonials - horizontal auto-scroll */
.testimonials-marquee {position: relative;}
.testimonials-viewport {overflow: hidden;padding: 0.5rem 0;-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);}
.testimonials-track {display: flex;align-items: stretch;will-change: transform;animation: tstScroll var(--tst-dur, 30s) linear infinite;}
.testimonial-slide {flex: 0 0 clamp(290px, 30vw, 420px);padding-right: 1.5rem;display: flex;}
.testimonial-slide .testimonial-card {width: 100%;}
@keyframes tstScroll {
    from {transform: translateX(0);}
    to {transform: translateX(calc(var(--tst-set, 0px) * -1));}
}
.testimonials-marquee:hover .testimonials-track,
.testimonials-marquee.is-paused .testimonials-track {animation-play-state: paused;}

/* Not enough content to scroll - centre it instead of leaving gaps */
.testimonials-track.is-static {animation: none;justify-content: center;}
.testimonials-marquee.is-static .testimonials-viewport {-webkit-mask-image: none;mask-image: none;}
.testimonials-marquee.is-static .testimonials-controls {display: none;}

.testimonials-controls {display: flex;justify-content: center;align-items: center;margin-top: 1.5rem;}
.testimonials-pause, .testimonials-nav {width: 40px;height: 40px;border-radius: 50%;border: 1px solid var(--wood-100);background: white;color: var(--wood-700);display: flex;align-items: center;justify-content: center;font-size: 1.05rem;cursor: pointer;transition: all 0.3s ease;}
.testimonials-pause:hover, .testimonials-nav:hover:not(:disabled) {background: var(--wood-800);color: white;border-color: var(--wood-800);}
.testimonials-nav {display: none;}
.testimonials-nav:disabled {opacity: 0.35;cursor: default;}

@media (prefers-reduced-motion: reduce) {
    .testimonials-track {animation: none;}
    .testimonials-viewport {overflow-x: auto;scroll-snap-type: x mandatory;-webkit-mask-image: none;mask-image: none;}
    .testimonial-slide {scroll-snap-align: start;}
}

/* Narrow screens: autoplay is replaced by swipe plus explicit prev/next, since the
   cards move too fast to tap a single one. Controls float over the cards instead of
   taking their own row. */
@media (max-width: 767px) {
    .testimonials-track {animation: none;}
    .testimonials-viewport {overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;-webkit-mask-image: none;mask-image: none;scrollbar-width: none;}
    .testimonials-viewport::-webkit-scrollbar {display: none;}
    .testimonial-slide {scroll-snap-align: start;}
    /* Overlay the cards. pointer-events:none keeps swipes working through the
       buttons' container; the buttons themselves opt back in. */
    .testimonials-controls {position: absolute;inset: 0;margin-top: 0;pointer-events: none;z-index: 2;}
    .testimonials-nav {display: flex;position: absolute;top: 50%;transform: translateY(-50%);pointer-events: auto;box-shadow: 0 4px 16px rgba(62,39,35,0.18);}
    .testimonials-nav-prev {left: 0.5rem;}
    .testimonials-nav-next {right: 0.5rem;}
    .testimonials-pause {display: none;}
}

/* Marquee */
.marquee-section {padding: 2rem 0;background: var(--wood-800);overflow: hidden;}
.marquee-track {display: flex;gap: 3rem;animation: marquee 30s linear infinite;width: max-content;}
@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
.marquee-item {font-family: 'Playfair Display', serif;font-size: 1.3rem;font-weight: 600;color: var(--gold-200);white-space: nowrap;display: flex;align-items: center;gap: 1rem;}
.marquee-item .dot {width: 6px;height: 6px;border-radius: 50%;background: var(--gold-500);}

/* CTA Section */
.cta-section {padding: 6rem 0;background: var(--sand-50);}
.cta-card {background: linear-gradient(135deg, var(--wood-800) 0%, var(--wood-700) 50%, var(--wood-600) 100%);border-radius: 28px;padding: 4rem;position: relative;overflow: hidden;}
.cta-card::before {content: '';position: absolute;inset: 0;background: repeating-linear-gradient( 90deg, transparent, transparent 50px, rgba(255,255,255,0.02) 50px, rgba(255,255,255,0.02) 52px );pointer-events: none;}
.cta-glow-1 {position: absolute;width: 400px;height: 400px;border-radius: 50%;background: radial-gradient(circle, rgba(196, 151, 47, 0.15) 0%, transparent 70%);top: -150px;right: -100px;pointer-events: none;}
.cta-glow-2 {position: absolute;width: 300px;height: 300px;border-radius: 50%;background: radial-gradient(circle, rgba(196, 151, 47, 0.1) 0%, transparent 70%);bottom: -100px;left: -50px;pointer-events: none;}
.cta-title {font-size: clamp(1.8rem, 3.5vw, 2.5rem);font-weight: 600;color: white;letter-spacing: -0.02em;margin-bottom: 1rem;position: relative;z-index: 1;}
.cta-desc {font-size: 1.05rem;color: var(--wood-200);font-weight: 400;line-height: 1.7;max-width: 500px;margin-bottom: 2rem;position: relative;z-index: 1;}
.cta-tag {display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.45rem 1.15rem;background: linear-gradient(135deg, rgba(196,151,47,0.9), rgba(196,151,47,0.55));clip-path: polygon(16px 0, 100% 0, 100% 100%, 0 100%, 0 16px);font-size: 0.75rem;font-weight: 600;color: var(--wood-900);letter-spacing: 0.05em;text-transform: uppercase;margin-bottom: 1.2rem;position: relative;z-index: 1;}
.cta-tag .iconify {font-size: 0.9rem;}
.btn-gold {padding: 0.85rem 1.8rem;border-radius: 10px;border: none;background: var(--gold-500);color: white;font-weight: 500;font-size: 0.9rem;cursor: pointer;transition: all 0.3s ease;white-space: nowrap;text-decoration: none;}
.btn-gold:hover {background: var(--gold-400);transform: translateY(-2px);box-shadow: 0 8px 25px rgba(196, 151, 47, 0.3);}
.cta-section .btn-gold {display: inline-flex;align-items: center;gap: 0.5rem;}
.cta-section .btn-gold .iconify {font-size: 1.15rem;}
.video-thumb {display: block;position: relative;border-radius: 20px;overflow: hidden;border: 1px solid rgba(255,255,255,0.12);box-shadow: 0 25px 60px rgba(0,0,0,0.35);}
.video-thumb img {display: block;width: 100%;aspect-ratio: 16 / 9;object-fit: cover;transition: transform 0.5s ease;}
.video-thumb:hover img {transform: scale(1.06);}
.video-thumb-play {position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;}
.video-thumb-play::before {content: '';position: absolute;width: 78px;height: 78px;border-radius: 50%;background: linear-gradient(135deg, var(--gold-500), var(--gold-400));box-shadow: 0 10px 30px rgba(0,0,0,0.45);transition: transform 0.3s ease;}
.video-thumb:hover .video-thumb-play::before {transform: scale(1.12);}
.video-thumb-play .iconify {position: relative;font-size: 2rem;color: var(--wood-900);margin-left: 6px;}

 /* Responsive */
@media (max-width: 991px) {
    .hero-image-wrapper { margin-top: 3rem; }
    .hero-stats { gap: 1.5rem; }
    .hero-float-card.card-1 { left: 10px; }
    .hero-float-card.card-2 { right: 10px; }
    .cta-card { padding: 3rem 2rem; }
    .video-thumb-play::before { width: 64px; height: 64px; }
    .video-thumb-play .iconify { font-size: 1.6rem; }
    .craft-image-grid { height: 350px; margin-top: 2rem; }
}
@media (max-width: 767px) {
    .hero-stats { flex-wrap: wrap; gap: 1.5rem; }
    .hero-float-card { display: none; }
    .category-card { height: 200px; }
    .category-track-item { width: 240px; }
    .cta-card { padding: 2.5rem 1.5rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
}

/* About Page */
.about-hero { min-height: auto; padding: calc(var(--header-h, 146px) + 1.5rem) 0 5rem; }
.about-hero .hero-title { max-width: 900px; }
.about-quote-section { padding: 6rem 0; background: var(--sand-50); }
.about-quote { max-width: 820px; margin: 0 auto; text-align: center; background: white; border: 1px solid var(--wood-100); border-top: 4px solid var(--gold-500); border-radius: 20px; padding: 3rem 2.5rem; box-shadow: 0 15px 40px rgba(62, 39, 35, 0.06); }
.about-quote .quote-icon { font-size: 2rem; color: var(--gold-500); display: block; margin-bottom: 1rem; }
.about-quote p { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-style: italic; font-weight: 500; color: var(--wood-700); line-height: 1.6; margin-bottom: 0; }
.about-quote .quote-attr { margin-top: 1.5rem; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wood-300); font-weight: 500; }
.about-quote-note { max-width: 560px; margin: 2rem auto 0; text-align: center; font-size: 1.05rem; font-weight: 400; color: var(--wood-400); }
.about-instrument-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.8rem; }
.about-instrument-chips span { padding: 0.5rem 1.1rem; border-radius: 50px; background: var(--gold-50); border: 1px solid var(--gold-200); color: var(--wood-700); font-size: 0.85rem; font-weight: 500; }
.about-value-list { display: flex; flex-direction: column; gap: 1.8rem; }
.about-value-list .craft-step { margin-bottom: 0; }
.about-brand-cta { text-align: center; }
.about-brand-cta .cta-brand { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--gold-300); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.8rem; }
.about-brand-cta .cta-title { margin-bottom: 0.4rem; }
@media (max-width: 767px) {
    .about-hero { padding: calc(var(--header-h, 110px) + 1rem) 0 3rem; }
    .about-quote { padding: 2rem 1.5rem; }
    .about-quote p { font-size: 1.15rem; }
}

/* Privacy Policy Page */
.policy-updated { display: inline-block; background: white; border: 1px solid var(--wood-100); border-radius: 50px; padding: 0.5rem 1.2rem; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wood-400); margin-bottom: 1.5rem; }
.policy-block { background: var(--sand-50); border: 1px solid var(--wood-100); border-left: 4px solid var(--gold-500); border-radius: 16px; padding: 1.8rem 2rem; margin-bottom: 1.2rem; box-shadow: 0 8px 25px rgba(62, 39, 35, 0.05); transition: all 0.3s; }
.policy-block:hover { border-color: var(--gold-200); box-shadow: 0 12px 30px rgba(62, 39, 35, 0.08); }
.policy-block:last-child { margin-bottom: 0; }
.policy-block h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--wood-800); margin-bottom: 0.8rem; }
.policy-block p { color: var(--wood-500); font-size: 0.95rem; line-height: 1.8; margin-bottom: 0; }
.policy-list { list-style: none; padding: 0; margin: 0; }
.policy-list li { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--wood-500); font-size: 0.95rem; line-height: 1.8; margin-bottom: 0.5rem; }
.policy-list li::before { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500); margin-top: 0.6rem; }
@media (max-width: 767px) {
    .policy-block { padding: 1.5rem 1.25rem; }
}

/* Privacy Policy Sidebar */
.policy-sidebar { position: sticky; top: 110px; background: white; border: 1px solid var(--wood-100); border-radius: 20px; padding: 1.8rem 1.5rem; box-shadow: 0 15px 40px rgba(62, 39, 35, 0.06); }
.policy-sidebar-title { display: flex; align-items: center; gap: 0.6rem; font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--wood-800); margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px dashed var(--wood-100); }
.policy-sidebar-title .iconify { color: var(--gold-500); }
.policy-sidebar-nav { list-style: none; margin: 0; padding: 0; }
.policy-sidebar-nav li { margin-bottom: 0.25rem; }
.policy-sidebar-link { display: block; width: 100%; border: none; background: none; font-family: inherit; font-size: 0.9rem; color: var(--wood-500); padding: 0.55rem 1rem 0.55rem 1.4rem; border-radius: 10px; text-align: left; cursor: pointer; transition: all 0.25s; position: relative; }
.policy-sidebar-link::before { content: ''; position: absolute; left: 0.6rem; top: 0.85rem; width: 6px; height: 6px; border-radius: 50%; background: var(--wood-200); transition: all 0.25s; }
.policy-sidebar-nav .policy-sidebar-link:hover { background: var(--sand-100); color: var(--wood-800); }
.policy-sidebar-nav .policy-sidebar-link.active { background: var(--gold-50); color: var(--wood-800); font-weight: 600; }
.policy-sidebar-nav .policy-sidebar-link.active::before { background: var(--gold-500); }
@media (max-width: 991px) {
    .policy-sidebar { position: static; }
}
@media (max-width: 767px) {
    .policy-sidebar { padding: 1.5rem 1.2rem; }
    .policy-sidebar-nav { display: flex; flex-direction: row; flex-wrap: wrap; gap: 0.5rem; }
    .policy-sidebar-nav li { margin-bottom: 0; }
    .policy-sidebar-link { padding: 0.45rem 0.9rem; border-radius: 50px; background: var(--sand-50); border: 1px solid var(--wood-100); font-size: 0.82rem; }
    .policy-sidebar-link::before { display: none; }
    .policy-sidebar-nav .policy-sidebar-link.active { background: var(--gold-50); border-color: var(--gold-200); }
}

/* Contact Page */
.contact-card { background: white; border: 1px solid var(--wood-100); border-radius: 20px; overflow: hidden; box-shadow: 0 15px 40px rgba(62, 39, 35, 0.06); }
.contact-info { background: var(--wood-800); color: var(--wood-200); padding: 2.5rem 2rem; position: relative; height: 100%; }
.contact-info::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(135deg, transparent, transparent 24px, rgba(255, 255, 255, 0.03) 24px, rgba(255, 255, 255, 0.03) 48px); }
.contact-info-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: white; margin-bottom: 1rem; }
.contact-info-desc { font-size: 0.9rem; color: var(--wood-200); margin-bottom: 2rem; }
.contact-item { display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.contact-item-icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: rgba(196, 151, 47, 0.15); border: 1px solid var(--gold-500); color: var(--gold-400); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.contact-item-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold-300); margin-bottom: 0.2rem; }
.contact-item-value { font-size: 0.95rem; color: white; margin: 0; line-height: 1.5; }
.contact-item-value a { color: white; text-decoration: none; }
.contact-item-value a:hover { color: var(--gold-400); }
.contact-social-entry { padding-left: 3.75rem; }
.contact-socials { display: flex; gap: 0.6rem; margin-top: 0.25rem; flex-wrap: wrap; }
.contact-social-link { width: 40px; height: 40px; border-radius: 50%; background: rgba(196, 151, 47, 0.12); border: 1px solid var(--gold-500); color: var(--gold-300); display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; text-decoration: none; transition: all 0.25s ease; }
.contact-social-link:hover { background: var(--gold-500); color: var(--wood-900); border-color: var(--gold-500); box-shadow: 0 6px 16px rgba(196, 151, 47, 0.35); }
.contact-form-side { padding: 2.5rem 2.5rem 2rem; }
.contact-form-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--wood-800); margin-bottom: 0.5rem; }
.contact-form-desc { font-size: 0.9rem; color: var(--wood-400); margin-bottom: 1.8rem; }
.contact-field { margin-bottom: 1.2rem; }
.contact-field label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.4rem; }
.contact-field input, .contact-field textarea { width: 100%; border: 1px solid var(--wood-100); border-radius: 10px; padding: 0.7rem 1rem; font-size: 0.9rem; color: var(--wood-800); background: var(--sand-50); font-family: inherit; transition: border-color 0.25s, box-shadow 0.25s; }
.contact-field input:focus, .contact-field textarea:focus { outline: none; border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196, 151, 47, 0.15); }
.contact-field textarea { resize: vertical; min-height: 120px; }
/* reCAPTCHA v2 renders an absolutely-positioned widget; without this it overhangs
   the submit button on narrow screens. */
.contact-form-side .g-recaptcha { margin: 0.2rem 0 1.2rem; transform-origin: left top; }
@media (max-width: 480px) {
    .contact-form-side .g-recaptcha { transform: scale(0.86); margin-bottom: 0.4rem; }
}
.form-alert { border-radius: 10px; padding: 0.75rem 1rem; font-size: 0.9rem; margin-bottom: 1.2rem; border: 1px solid; }
.form-alert-ok { background: #EDF6ED; border-color: #C8E6C9; color: #2E7D32; }
.form-alert-err { background: #FDEDEC; border-color: #F5C6C2; color: #C0392B; }
@media (max-width: 767px) {
    .contact-info { padding: 2rem 1.5rem; }
    .contact-form-side { padding: 2rem 1.5rem; }
}

/* Shop Page */
.shop-cat-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; }
.shop-cat-chip { display: inline-block; padding: 0.5rem 1.2rem; border-radius: 50px; background: white; border: 1px solid var(--wood-100); color: var(--wood-600); font-size: 0.85rem; text-decoration: none; transition: all 0.25s; }
.shop-cat-chip:hover { background: var(--gold-50); border-color: var(--gold-300); color: var(--wood-800); }
.shop-cat-chip.active { background: var(--gold-500); border-color: var(--gold-500); color: white; font-weight: 600; }

/* Product Detail Page */
.breadcrumb-custom { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.82rem; color: var(--wood-400); margin-bottom: 1.2rem; }
.breadcrumb-custom a { color: var(--wood-400); text-decoration: none; transition: color 0.25s; }
.breadcrumb-custom a:hover { color: var(--gold-500); }
.breadcrumb-custom .breadcrumb-sep { color: var(--wood-300); }
.breadcrumb-custom .current { color: var(--wood-700); font-weight: 600; }
.product-detail-card { background: white; border: 1px solid var(--wood-100); border-radius: 24px; padding: 2.5rem; box-shadow: 0 20px 50px rgba(62, 39, 35, 0.07); }
.product-gallery-scroll { position: relative; }
.product-gallery-track { display: flex; gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; border-radius: 18px; background: var(--sand-50); scrollbar-width: none; }
.product-gallery-track::-webkit-scrollbar { display: none; }
.product-gallery-slide { position: relative; flex: 0 0 88%; min-width: 0; scroll-snap-align: center; border-radius: 18px; overflow: hidden; background: var(--sand-50); aspect-ratio: 1 / 1; }
.product-gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery-scroll .product-badge { z-index: 2; }
.gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; border: none; border-radius: 50%; background: rgba(44, 24, 16, 0.55); color: var(--gold-300); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s, transform 0.25s; }
.gallery-nav:hover { background: rgba(44, 24, 16, 0.85); }
.gallery-prev { left: 0.75rem; }
.gallery-next { right: 0.75rem; }
.gallery-nav .iconify { font-size: 1.4rem; }
.gallery-nav:active { transform: translateY(-50%) scale(0.92); }
.detail-info { position: sticky; top: 120px; }
.detail-name { font-family: 'Playfair Display', serif; font-size: 1.8rem; color: var(--wood-900); margin: 0.4rem 0 0.2rem; line-height: 1.2; }
.detail-subtitle { font-size: 0.95rem; color: var(--wood-500); margin-bottom: 0.4rem; }
.detail-price-row { display: flex; align-items: baseline; gap: 0.8rem; margin: 0.6rem 0 0.3rem; }
.detail-price { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--wood-900); }
.detail-price-old { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--wood-300); text-decoration: line-through; }
.detail-save { display: inline-block; background: #FDEBEB; color: #C0392B; font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.8rem; border-radius: 50px; }
.detail-price-note { font-size: 0.82rem; color: var(--wood-400); margin-bottom: 1.8rem; }
.detail-field { margin-bottom: 1.4rem; }
.detail-label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.5rem; }
.variant-group { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.variant-chip { padding: 0.55rem 1.2rem; border-radius: 50px; background: var(--sand-50); border: 1px solid var(--wood-100); color: var(--wood-600); font-size: 0.85rem; font-family: inherit; cursor: pointer; transition: all 0.25s; }
.variant-chip:hover { border-color: var(--gold-300); background: var(--gold-50); }
.variant-chip.active { background: var(--wood-800); border-color: var(--wood-800); color: white; font-weight: 600; }
.qty-stepper { display: inline-flex; align-items: center; gap: 0; border: 1px solid var(--wood-100); border-radius: 12px; overflow: hidden; background: var(--sand-50); }
.qty-btn { width: 44px; height: 44px; border: none; background: none; color: var(--wood-700); font-size: 1.2rem; cursor: pointer; transition: background 0.2s; }
.qty-btn:hover { background: var(--gold-50); color: var(--wood-900); }
.qty-value { min-width: 48px; text-align: center; font-weight: 600; color: var(--wood-800); }
.detail-preorder { display: flex; align-items: flex-start; gap: 0.6rem; background: var(--gold-50); border: 1px solid var(--gold-200); border-left: 3px solid var(--gold-500); color: var(--wood-700); font-size: 0.88rem; padding: 0.75rem 1rem; border-radius: 12px; margin-bottom: 1rem; }
.detail-preorder .iconify { color: var(--gold-500); flex-shrink: 0; margin-top: 0.15rem; }
.detail-preorder strong { color: var(--wood-900); }
.detail-dispatch { display: flex; align-items: flex-start; gap: 0.6rem; background: #EDF6ED; border: 1px solid #C8E6C9; border-left: 3px solid #2E7D32; color: var(--wood-700); font-size: 0.88rem; padding: 0.75rem 1rem; border-radius: 12px; margin-bottom: 1rem; }
.detail-dispatch .iconify { color: #2E7D32; flex-shrink: 0; margin-top: 0.15rem; }
.detail-dispatch strong { color: var(--wood-900); }
.detail-actions { display: flex; gap: 0.8rem; align-items: stretch; margin-bottom: 1.8rem; }
.detail-actions .btn-wood { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border-radius: 12px; }
.detail-trust { border: 1px solid var(--wood-100); border-radius: 14px; padding: 1rem 1.2rem; background: var(--sand-50); }
.trust-row { display: flex; align-items: center; gap: 0.7rem; font-size: 0.88rem; color: var(--wood-600); padding: 0.3rem 0; }
.trust-row .iconify { color: var(--gold-500); flex-shrink: 0; }
.detail-desc { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px dashed var(--wood-100); }
.detail-desc p { color: var(--wood-500); font-size: 1rem; line-height: 1.9; margin: 0; white-space: pre-line; }
@media (max-width: 991px) {
    .detail-info { position: static; }
}
@media (max-width: 767px) {
    .product-detail-card { padding: 1.5rem; }
    .product-gallery-slide { flex: 0 0 100%; }
}

/* Lightbox */
.lightbox { position: fixed; inset: 0; z-index: 10005; display: flex; align-items: center; justify-content: center; background: rgba(20, 10, 6, 0.95); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.lightbox.open { opacity: 1; visibility: visible; }
.lightbox img { width: 100%; height: 100%; object-fit: contain; }
.lightbox-close { position: absolute; top: 1.25rem; right: 1.5rem; width: 46px; height: 46px; border: none; border-radius: 50%; background: rgba(255, 248, 240, 0.12); color: var(--gold-300); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s; z-index: 2; }
.lightbox-close:hover { background: rgba(255, 248, 240, 0.25); }
.lightbox-close .iconify { font-size: 1.5rem; }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: none; border-radius: 50%; background: rgba(255, 248, 240, 0.12); color: var(--gold-300); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s; z-index: 2; }
.lightbox-nav:hover { background: rgba(255, 248, 240, 0.25); }
.lightbox-prev { left: 1.5rem; }
.lightbox-next { right: 1.5rem; }
.lightbox-nav .iconify { font-size: 1.6rem; }
.lightbox-count { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); color: var(--gold-200); font-family: 'Playfair Display', serif; font-size: 1rem; background: rgba(44, 24, 16, 0.6); padding: 0.35rem 1.1rem; border-radius: 50px; letter-spacing: 0.05em; }
@media (max-width: 767px) {
    .lightbox-prev { left: 0.5rem; }
    .lightbox-next { right: 0.5rem; }
    .lightbox-close { top: 0.75rem; right: 0.75rem; }
}

/* Price Box */
.detail-price-box { position: relative; margin-top: 0.8rem; padding: 1rem 1.2rem; border-radius: 14px; border: 1px solid var(--gold-200); background: linear-gradient(135deg, var(--gold-50) 0%, #FFF9E8 55%, var(--sand-100) 100%); display: flex; flex-direction: column; gap: 0.4rem; }
.detail-price-box::before { content: ''; position: absolute; inset: 0; border-radius: 14px; pointer-events: none; background: linear-gradient(135deg, rgba(196, 151, 47, 0.55), transparent 50%); opacity: 0.16; }
.detail-price-row { display: flex; align-items: baseline; gap: 0.8rem; margin: 0; flex-wrap: wrap; }
.detail-price { font-family: 'Playfair Display', serif; font-size: 2rem; line-height: 1.1; background: linear-gradient(135deg, #A87B1A 0%, var(--gold-500) 50%, var(--gold-300) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.detail-price-old { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--wood-300); text-decoration: line-through; }
.detail-discount { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; color: #1E7A46; background: #E6F5EC; border: 1px solid #B9E3C8; padding: 0.22rem 0.7rem; border-radius: 50px; }
.detail-save { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.82rem; font-weight: 600; color: #C0392B; background: #FDEBEB; border: 1px solid #F5C6C0; padding: 0.3rem 0.9rem; border-radius: 50px; width: max-content; }
.detail-save .iconify { flex-shrink: 0; }

/* Cart Page */
a.nav-icon-btn { text-decoration: none; color: var(--sand-50); }
a.nav-icon-btn:hover { color: var(--wood-900); }
.cart-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 20px; padding: 1rem 1.75rem; box-shadow: 0 20px 50px rgba(62, 39, 35, 0.07); }
.cart-item { display: flex; gap: 1rem; align-items: center; padding: 1.1rem 0; border-bottom: 1px solid #F0E6D6; }
.cart-item:first-child { padding-top: 0.4rem; }
.cart-item:last-child { border-bottom: none; padding-bottom: 0; }
.cart-item-img { width: 96px; height: 96px; border-radius: 14px; overflow: hidden; flex-shrink: 0; background: var(--sand-50); }
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-category { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gold-500); font-weight: 600; }
.cart-item-name { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--wood-900); text-decoration: none; display: block; overflow-wrap: break-word; }
.cart-item-name:hover { color: var(--gold-500); }
.cart-item-variant { font-size: 0.8rem; color: var(--wood-400); margin-top: 0.15rem; }
.cart-item-price { margin-top: 0.3rem; font-size: 0.95rem; color: var(--wood-800); font-weight: 600; }
.cart-item-price-old { margin-left: 0.5rem; font-size: 0.8rem; color: var(--wood-300); text-decoration: line-through; font-weight: 400; }
.cart-item-right { display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; }
.cart-qty-form .qty-stepper { border-radius: 10px; }
.cart-qty-form .qty-btn { width: 34px; height: 34px; }
.cart-qty-form .qty-value-input { width: 44px; height: 34px; border: none; text-align: center; font-weight: 600; color: var(--wood-800); background: transparent; font-family: inherit; -moz-appearance: textfield; }
.cart-qty-form .qty-value-input::-webkit-outer-spin-button,
.cart-qty-form .qty-value-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-remove { width: 34px; height: 34px; border-radius: 10px; border: 1px solid #F5C6C0; background: #FDEBEB; color: #C0392B; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.25s; }
.cart-remove:hover { background: #C0392B; color: #fff; border-color: #C0392B; }
.cart-summary-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 20px; padding: 1.75rem 1.5rem; box-shadow: 0 20px 50px rgba(62, 39, 35, 0.07); position: sticky; top: 110px; }
.cart-summary-title { font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--wood-900); margin-bottom: 1.25rem; }
.cart-summary-row { display: flex; justify-content: space-between; font-size: 0.92rem; color: var(--wood-500); margin-bottom: 0.7rem; }
.cart-summary-row span:last-child { color: var(--wood-800); font-weight: 600; }
.cart-summary-row span.text-green { color: #1E7A46; }
.cart-summary-divider { border: none; border-top: 1px dashed var(--wood-200); margin: 1rem 0; }
.cart-summary-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.cart-summary-total span:first-child { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--wood-900); }
.cart-summary-total span:last-child { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--wood-900); }
.cart-shipprog { margin-bottom: 1.25rem; }
.cart-shipprog-text { font-size: 0.8rem; color: var(--wood-500); margin-bottom: 0.5rem; }
.cart-shipprog-text b { color: #1E7A46; }
.cart-progress { height: 6px; border-radius: 50px; background: var(--sand-100); overflow: hidden; }
.cart-progress-fill { height: 100%; border-radius: 50px; background: linear-gradient(90deg, var(--gold-500), var(--gold-300)); transition: width 0.5s ease; }
.cart-actions .btn-wood, .cart-actions .btn-gold-outline { width: 100%; justify-content: center; }
.cart-actions .btn-gold-outline { margin-top: 0.8rem; }
@media (max-width: 767px) {
    .cart-item-img { width: 80px; height: 80px; }
    .cart-card { padding: 0.75rem 1rem; }
    /* Without wrap the 80px image, the info column and the full-width qty row all
       compete for one line, which crushes the name. Let the qty row drop below. */
    .cart-item { flex-wrap: wrap; }
    .cart-item-right { flex-direction: row; justify-content: space-between; width: 100%; flex-basis: 100%; }
}

/* ---- Account dropdown ---- */
.account-menu { border: 1px solid var(--wood-100); border-radius: 14px; box-shadow: 0 20px 50px rgba(62, 39, 35, 0.12); padding: 0.5rem; min-width: 220px; }
.account-menu .dropdown-item { border-radius: 9px; font-size: 0.92rem; color: var(--wood-700); padding: 0.55rem 0.9rem; }
.account-menu .dropdown-item:hover, .account-menu .dropdown-item:focus { background: var(--sand-50); color: var(--wood-900); }
.account-menu-header { padding: 0.55rem 0.9rem 0.4rem; }
.account-menu-header strong { display: block; font-size: 0.95rem; color: var(--wood-900); }
.account-menu-header small { color: var(--wood-400); font-size: 0.75rem; }
.account-menu .dropdown-divider { border-color: var(--wood-100); margin: 0.35rem 0; }

/* ================= PAGE-SCOPED STYLES (moved from inline <style> blocks in views) ================= */

/* ---- Order Confirmation ---- */
.confirm-section { padding: 4rem 0 5rem; background: var(--sand-50, #FAF6F0); min-height: 60vh; }
.confirm-section .iconify { vertical-align: -2px; }
.confirm-section .success-banner { background: #fff; border: 1px solid var(--wood-100); border-radius: 20px; text-align: center; padding: 2.6rem 1.5rem; margin-bottom: 2.5rem; box-shadow: 0 20px 50px rgba(62,39,35,.07); }
.confirm-section .success-icon { width: 74px; height: 74px; border-radius: 50%; background: #2E7D32; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 2.3rem; margin-bottom: 1rem; }
.confirm-section .success-banner h2 { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 700; margin-bottom: .4rem; }
.confirm-section .success-banner p { color: var(--wood-500); font-size: .95rem; margin-bottom: 1.1rem; }
.confirm-section .success-banner p strong { color: var(--wood-800); }
.confirm-section .order-num-badge { display: inline-flex; align-items: center; gap: .5rem; background: var(--sand-50, #FAF6F0); border: 1px dashed var(--gold-400); color: var(--gold-500); font-weight: 700; font-size: .95rem; padding: .55rem 1.2rem; border-radius: 30px; }
.confirm-section .order-num-badge .iconify { font-size: 1rem; }
.confirm-section .items-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.4rem 1.5rem; }
.confirm-section .items-card-header { display: flex; align-items: center; gap: .55rem; font-family: 'Playfair Display', serif; font-weight: 600; color: var(--wood-800); margin-bottom: 1rem; }
.confirm-section .items-card-header .iconify { color: var(--gold-500); font-size: 1.2rem; }
.confirm-section .order-item-row { display: flex; align-items: center; gap: .9rem; padding: .9rem 0; border-bottom: 1px solid var(--sand-50, #FAF6F0); }
.confirm-section .oi-num { width: 34px; height: 34px; border-radius: 50%; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); color: var(--wood-600); font-weight: 700; font-size: .85rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.confirm-section .oi-info { flex: 1; min-width: 0; }
.confirm-section .oi-name { font-weight: 600; color: var(--wood-800); font-size: .92rem; }
.confirm-section .oi-meta { color: var(--wood-400); font-size: .8rem; margin-top: .15rem; }
.confirm-section .oi-meta .iconify { vertical-align: -2px; }
.confirm-section .oi-price { text-align: right; flex-shrink: 0; }
.confirm-section .oi-sub { display: block; font-weight: 700; color: var(--wood-800); font-size: .92rem; }
.confirm-section .oi-mrp { display: block; font-size: .74rem; color: var(--wood-400); text-decoration: line-through; }
.confirm-section .total-strip { display: flex; align-items: center; justify-content: space-between; padding-top: 1.1rem; }
.confirm-section .total-strip .tl { font-weight: 600; color: var(--wood-700); font-size: .95rem; }
.confirm-section .total-strip .tl small { font-size: .74rem; color: #2E7D32; opacity: .85; margin-left: 4px; font-weight: 600; }
.confirm-section .total-strip .tv { font-weight: 800; color: var(--gold-500); font-size: 1.25rem; }
.confirm-section .next-steps { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.4rem 1.5rem; margin-top: 1.25rem; }
.confirm-section .next-steps-header { font-family: 'Playfair Display', serif; font-weight: 600; color: var(--wood-800); margin-bottom: 1rem; }
.confirm-section .next-step-item { display: flex; gap: 1rem; padding: .8rem 0; }
.confirm-section .next-step-item + .next-step-item { border-top: 1px solid var(--sand-50, #FAF6F0); }
.confirm-section .step-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(196,151,47,.12); color: var(--gold-500); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.confirm-section .step-icon.orange { background: rgba(93,64,55,.08); color: var(--wood-600); }
.confirm-section .next-step-item h6 { color: var(--wood-800); font-weight: 700; font-size: .92rem; margin-bottom: .15rem; }
.confirm-section .next-step-item p { color: var(--wood-500); font-size: .84rem; line-height: 1.6; margin: 0; }
.confirm-section .info-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.4rem 1.5rem; position: sticky; top: 110px; box-shadow: 0 20px 50px rgba(62,39,35,.07); }
.confirm-section .info-card-title { font-family: 'Playfair Display', serif; font-weight: 600; color: var(--wood-800); margin-bottom: .35rem; }
.confirm-section .info-row { display: flex; align-items: center; gap: .6rem; padding: .45rem 0; font-size: .88rem; color: var(--wood-600); }
.confirm-section .info-row > .iconify { color: var(--gold-500); font-size: 1rem; flex-shrink: 0; }
.confirm-section .info-row .label { color: var(--wood-400); width: 86px; flex-shrink: 0; }
.confirm-section .info-row .val { font-weight: 600; color: var(--wood-800); }
.confirm-section .btn-continue, .confirm-section .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; border-radius: 10px; padding: .8rem; font-weight: 700; font-size: .92rem; text-decoration: none; margin-top: .8rem; }
.confirm-section .btn-continue { background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; }
.confirm-section .btn-continue .iconify { color: var(--gold-400); }
.confirm-section .btn-continue:hover { color: #fff; transform: translateY(-1px); }
.confirm-section .btn-ghost { background: transparent; border: 1px solid var(--wood-100); color: var(--wood-700); }
.confirm-section .btn-ghost:hover { border-color: var(--gold-400); color: var(--gold-500); }
.confirm-section .fade-up { animation: confirmFadeUp .45s ease both; }
@keyframes confirmFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---- Checkout ---- */
.checkout-section { padding: 4rem 0 5rem; background: var(--sand-50, #FAF6F0); min-height: 60vh; }
.checkout-section .checkout-steps { display: flex; align-items: center; gap: .65rem; background: #fff; border: 1px solid var(--wood-100); border-radius: 14px; padding: .9rem 1.25rem; }
.checkout-section .cs-step { display: flex; align-items: center; gap: .5rem; font-size: .85rem; font-weight: 600; color: var(--wood-400); white-space: nowrap; }
.checkout-section .cs-step .num { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--wood-100); color: var(--wood-400); background: #fff; font-size: .8rem; }
.checkout-section .cs-step.done { color: var(--wood-600); }
.checkout-section .cs-step.done .num { background: var(--gold-400); border-color: var(--gold-400); color: #fff; }
.checkout-section .cs-step.active { color: var(--wood-800); }
.checkout-section .cs-step.active .num { border-color: var(--gold-400); color: var(--gold-500); box-shadow: 0 0 0 3px rgba(196,151,47,.15); }
.checkout-section .cs-line { flex: 1; height: 2px; background: var(--wood-100); border-radius: 2px; min-width: 18px; }
.checkout-section .cs-line.done { background: var(--gold-400); }
.checkout-section .login-prompt { background: #fff; border: 1.5px dashed var(--wood-100); border-radius: 16px; text-align: center; padding: 2.6rem 1.5rem; margin-bottom: 1.25rem; }
.checkout-section .login-prompt .lp-icon { width: 58px; height: 58px; border-radius: 50%; background: rgba(196,151,47,.12); color: var(--gold-500); display: inline-flex; align-items: center; justify-content: center; margin-bottom: .9rem; }
.checkout-section .login-prompt h5 { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 600; margin-bottom: .35rem; }
.checkout-section .login-prompt p { color: var(--wood-500); font-size: .88rem; margin-bottom: 1.1rem; }
.checkout-section .btn-login-open { background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border: none; border-radius: 10px; padding: .75rem 1.4rem; font-weight: 600; font-size: .92rem; display: inline-flex; align-items: center; gap: .5rem; }
.checkout-section .btn-login-open .iconify { color: var(--gold-400); }
.checkout-section .member-strip { background: #fff; border: 1px solid var(--wood-100); border-radius: 12px; padding: .85rem 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.25rem; }
.checkout-section .member-strip .info { display: flex; align-items: center; gap: .6rem; color: var(--wood-800); font-weight: 600; font-size: .92rem; }
.checkout-section .member-strip .iconify { color: var(--gold-500); font-size: 1.2rem; }
.checkout-section .btn-logout { background: transparent; border: 1px solid var(--gold-400); color: var(--wood-600); border-radius: 8px; padding: .4rem .9rem; font-size: .8rem; font-weight: 600; }
.checkout-section .btn-logout:hover { background: var(--wood-800); border-color: var(--wood-800); color: #fff; }
.checkout-section .form-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 16px; padding: 1.4rem 1.4rem 1.5rem; margin-bottom: 1.25rem; box-shadow: 0 10px 30px rgba(62,39,35,.05); }
.checkout-section .form-card-title { display: flex; align-items: center; gap: .6rem; font-family: 'Playfair Display', serif; font-weight: 600; color: var(--wood-800); margin-bottom: 1.15rem; }
.checkout-section .fct-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); color: var(--gold-500); display: inline-flex; align-items: center; justify-content: center; }
.checkout-section .address-list { display: flex; flex-direction: column; gap: .7rem; margin-bottom: 1rem; }
.checkout-section .addr-card { display: block; border: 1px solid var(--wood-100); border-radius: 12px; padding: 1rem 1.1rem; cursor: pointer; transition: all .2s; }
.checkout-section .addr-card input { display: none; }
.checkout-section .addr-card h6 { color: var(--wood-800); font-weight: 700; font-size: .95rem; margin-bottom: .25rem; display: flex; align-items: center; gap: .5rem; }
.checkout-section .addr-card p { color: var(--wood-500); font-size: .85rem; line-height: 1.7; margin: 0; }
.checkout-section .default-tag { background: rgba(196,151,47,.14); color: var(--gold-500); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .18rem .55rem; border-radius: 20px; }
.checkout-section .addr-card.selected { border-color: var(--gold-400); background: rgba(196,151,47,.06); box-shadow: 0 0 0 3px rgba(196,151,47,.12); }
.checkout-section .btn-add-addr { background: transparent; border: 1px dashed var(--gold-400); color: var(--wood-700); border-radius: 10px; padding: .6rem 1.1rem; font-weight: 600; font-size: .88rem; display: inline-flex; align-items: center; gap: .45rem; }
.checkout-section .btn-add-addr:hover { background: rgba(196,151,47,.08); }
.checkout-section .payment-option { display: flex; align-items: center; gap: 1rem; border: 1px solid var(--wood-100); border-radius: 12px; padding: 1rem 1.1rem; cursor: pointer; transition: all .2s; }
.checkout-section .payment-option input { display: none; }
.checkout-section .payment-option.selected { border-color: var(--gold-400); background: rgba(196,151,47,.06); box-shadow: 0 0 0 3px rgba(196,151,47,.12); }
.checkout-section .pay-icon { min-width: 44px; height: 44px; border-radius: 12px; background: var(--wood-800); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.checkout-section .pay-label h6 { color: var(--wood-800); font-weight: 700; font-size: .95rem; margin-bottom: .1rem; }
.checkout-section .pay-label p { color: var(--wood-400); font-size: .8rem; margin: 0; }
.checkout-section .summary-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 20px; padding: 1.4rem 1.5rem 1.6rem; position: sticky; top: 110px; box-shadow: 0 20px 50px rgba(62,39,35,.08); }
.checkout-section .summary-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .3rem; }
.checkout-section .summary-header h6 { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 600; margin: 0; }
.checkout-section .summary-header span { font-size: .75rem; color: var(--wood-400); font-weight: 600; }
.checkout-section .summary-item { display: flex; gap: .85rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid var(--sand-50, #FAF6F0); }
.checkout-section .s-thumb { width: 62px; height: 62px; border-radius: 10px; overflow: hidden; flex-shrink: 0; border: 1px solid var(--wood-100); }
.checkout-section .s-thumb img { width: 100%; height: 100%; object-fit: cover; }
.checkout-section .s-info { flex: 1; min-width: 0; }
.checkout-section .s-name { font-size: .9rem; font-weight: 600; color: var(--wood-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.checkout-section .s-meta { font-size: .75rem; color: var(--wood-400); margin-top: .15rem; }
.checkout-section .s-price { text-align: right; flex-shrink: 0; }
.checkout-section .s-sub { display: block; font-weight: 700; color: var(--wood-800); font-size: .9rem; }
.checkout-section .s-mrp { display: block; font-size: .72rem; color: var(--wood-400); text-decoration: line-through; }
.checkout-section .summary-totals { padding: 1.15rem 0 .9rem; }
.checkout-section .total-row { display: flex; justify-content: space-between; font-size: .88rem; color: var(--wood-600); padding: .3rem 0; }
.checkout-section .total-row .val { font-weight: 600; color: var(--wood-800); }
.checkout-section .total-row .val.green { color: #2E7D32; }
.checkout-section .grand-row { display: flex; justify-content: space-between; align-items: center; margin-top: .7rem; padding: .85rem 1rem; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); border-radius: 12px; }
.checkout-section .grand-row .gl { font-weight: 600; color: var(--wood-700); font-size: .92rem; }
.checkout-section .grand-row .gv { font-weight: 800; color: var(--gold-500); font-size: 1.2rem; }
.checkout-section .place-order-btn { width: 100%; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border: none; border-radius: 12px; padding: 1rem; font-weight: 700; font-size: 1rem; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; transition: all .2s; }
.checkout-section .place-order-btn .iconify { color: var(--gold-400); font-size: 1.05rem; }
.checkout-section .place-order-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(93,64,55,.35); }
.checkout-section .place-order-btn:disabled { opacity: .65; cursor: not-allowed; }
.checkout-section .back-link { display: block; text-align: center; color: var(--wood-500); font-size: .88rem; font-weight: 600; margin-top: 1rem; text-decoration: none; }
.checkout-section .back-link:hover { color: var(--gold-500); }
.checkout-section .secure-note { text-align: center; color: var(--wood-400); font-size: .78rem; }
.checkout-section .secure-note .iconify { color: #2E7D32; }
.checkout-section .brand-label { font-size: .8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .35rem; display: block; }
.checkout-section .brand-label span { color: #C0392B; }
.checkout-section .brand-input { width: 100%; border: 1px solid var(--wood-100); background: var(--sand-50, #FAF6F0); border-radius: 10px; padding: .7rem 1rem .75rem; font-size: .95rem; color: var(--wood-800); outline: none; transition: all .2s; }
.checkout-section .brand-input:focus { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196,151,47,.15); background: #fff; }
.checkout-section .brand-input.input-error { border-color: #C0392B; }
.checkout-section .field-error { display: block; color: #C0392B; font-size: .78rem; margin-top: .3rem; }
.checkout-section .form-group { margin-bottom: .6rem; }
.checkout-section .iconify { vertical-align: -2px; }
.checkout-section .fade-up { animation: fadeUpCheckout .45s ease both; }
@keyframes fadeUpCheckout { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---- Checkout: login popup ---- */
.auth-overlay { position: fixed; inset: 0; background: rgba(30,20,15,.65); backdrop-filter: blur(4px); z-index: 2000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .25s; }
.auth-overlay.open { opacity: 1; pointer-events: all; }
.auth-popup { background: #fff; border-radius: 20px; width: min(94vw, 440px); max-height: 92vh; overflow-y: auto; box-shadow: 0 30px 80px rgba(0,0,0,.35); animation: popupIn .3s ease; }
@keyframes popupIn { from { transform: translateY(20px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.auth-popup .popup-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.3rem; border-bottom: 1px solid var(--sand-50, #FAF6F0); }
.auth-popup .popup-brand { font-family: 'Playfair Display', serif; font-weight: 800; color: var(--wood-800); font-size: 1.15rem; }
.auth-popup .popup-brand span { color: var(--gold-500); font-style: italic; }
.auth-popup .popup-close { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--wood-100); background: #fff; color: var(--wood-600); display: inline-flex; align-items: center; justify-content: center; }
.auth-popup .popup-close:hover { background: var(--wood-800); color: #fff; }
.auth-popup .popup-body { padding: 1.6rem 1.5rem 1.7rem; }
.auth-popup .popup-step { display: none; }
.auth-popup .popup-step.active { display: flex; flex-direction: column; animation: fadeUpCheckout .3s ease; }
.auth-popup .popup-step h4 { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 600; margin-bottom: .3rem; }
.auth-popup .popup-step .sub { color: var(--wood-500); font-size: .88rem; margin-bottom: 1.1rem; }
.auth-popup .mobile-field { display: flex; align-items: center; border: 1px solid var(--wood-100); background: var(--sand-50, #FAF6F0); border-radius: 10px; overflow: hidden; }
.auth-popup .mobile-field:focus-within { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196,151,47,.15); background: #fff; }
.auth-popup .mobile-prefix { padding: .7rem .2rem .75rem .9rem; color: var(--wood-600); font-weight: 600; font-size: .95rem; }
.auth-popup .mobile-field input { flex: 1; border: none; outline: none; background: transparent; padding: .7rem .8rem .75rem .3rem; font-size: .95rem; color: var(--wood-800); }
.auth-popup .stay-login-row { display: flex; align-items: center; }
.auth-popup .stay-login-label { display: flex; align-items: center; gap: .55rem; font-size: .85rem; color: var(--wood-600); cursor: pointer; margin: 0; }
.auth-popup .stay-login-label input { accent-color: var(--gold-400); width: 16px; height: 16px; }
/* The popup sits outside .checkout-section, so the .checkout-section-scoped
   brand-label/brand-input rules never reach it — the name field rendered as a
   bare inline browser input. Scope them here too. */
.auth-popup .brand-label { display: block; font-size: .8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .4rem; }
.auth-popup .brand-label span { color: #C0392B; }
.auth-popup .brand-input { width: 100%; border: 1px solid var(--wood-100); background: var(--sand-50, #FAF6F0); border-radius: 10px; padding: .7rem 1rem; font-size: .95rem; color: var(--wood-800); font-family: inherit; outline: none; transition: border-color .25s, box-shadow .25s; }
.auth-popup .brand-input:focus { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196,151,47,.15); background: #fff; }
.auth-popup .popup-msg { display: none; font-size: .82rem; margin: .75rem 0 .25rem; }
.auth-popup .popup-msg.error { display: block; color: #C0392B; }
.auth-popup .popup-msg.success { display: block; color: #2E7D32; }
.auth-popup .btn-popup-primary { width: 100%; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border: none; border-radius: 12px; padding: .85rem; font-weight: 700; font-size: .95rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .6rem; }
.auth-popup .btn-popup-primary .iconify { color: var(--gold-400); }
.auth-popup .btn-popup-primary:disabled { opacity: .65; cursor: not-allowed; }
.auth-popup .btn-back-step { background: none; border: none; color: var(--wood-500); font-size: .82rem; font-weight: 600; margin-top: 1rem; align-self: center; display: inline-flex; align-items: center; gap: .3rem; }
.auth-popup .btn-back-step:hover { color: var(--gold-500); }
.auth-popup .otp-grid { display: flex; justify-content: center; gap: .55rem; margin: .5rem 0; }
.auth-popup .otp-cell { width: 46px; height: 52px; text-align: center; font-size: 1.2rem; font-weight: 700; color: var(--wood-800); border: 1px solid var(--wood-100); border-radius: 10px; background: var(--sand-50, #FAF6F0); outline: none; }
.auth-popup .otp-cell:focus { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196,151,47,.15); background: #fff; }
.auth-popup .otp-cell.filled { border-color: var(--gold-400); background: #fff; }
.auth-popup .resend-row { display: flex; align-items: center; justify-content: space-between; margin: .5rem 0 .25rem; }
.auth-popup .resend-timer { font-size: .8rem; color: var(--wood-500); }
.auth-popup .btn-resend { display: none; background: none; border: none; color: var(--gold-500); font-weight: 700; font-size: .85rem; }
.auth-popup .btn-resend.show { display: inline-block; }
.auth-popup .step-success { text-align: center; padding: 1.4rem 0 1rem; }
.auth-popup .sc-icon { width: 66px; height: 66px; border-radius: 50%; background: #2E7D32; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 2rem; margin-bottom: 1rem; }
@media (max-width: 576px) { .auth-popup .otp-cell { width: 42px; height: 48px; } .checkout-section .summary-card { position: static; } }

/* ---- Login / Register ---- */
.login-page { padding: calc(var(--header-h, 146px) + 3rem) 0 3rem; position: relative; background: linear-gradient(180deg, rgba(196, 151, 47, 0.04), transparent 40%), white; min-height: 100vh; }
.login-page .hero-wood-pattern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( 90deg, transparent, transparent 40px, rgba(141, 110, 99, 0.03) 40px, rgba(141, 110, 99, 0.03) 42px ), repeating-linear-gradient( 0deg, transparent, transparent 80px, rgba(141, 110, 99, 0.02) 80px, rgba(141, 110, 99, 0.02) 82px ); pointer-events: none; }
.login-page .login-brand-col h2 { font-family: 'Playfair Display', serif; font-size: 2.6rem; font-weight: 600; color: var(--wood-800); line-height: 1.2; margin-bottom: 1.2rem; }
.login-page .login-brand-col h2 span { color: var(--gold-400); font-style: italic; }
.login-page .login-brand-col > p { color: var(--wood-500); font-size: 0.95rem; line-height: 1.7; margin-bottom: 2rem; max-width: 380px; }
.login-page .login-feature { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.4rem; }
.login-page .lf-icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; background: rgba(196, 151, 47, 0.14); border: 1px solid var(--gold-500); color: var(--gold-400); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.login-page .login-feature h6 { font-weight: 600; color: var(--wood-800); margin-bottom: 0.15rem; font-size: 0.95rem; }
.login-page .login-feature p { color: var(--wood-500); font-size: 0.85rem; margin: 0; line-height: 1.5; }
.login-page .login-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 24px; box-shadow: 0 30px 70px rgba(62, 39, 35, 0.12); overflow: hidden; }
.login-page .login-card-header { background: linear-gradient(135deg, var(--wood-800), var(--wood-700)); padding: 1.75rem 2rem; }
.login-page .login-card-header .brand { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 600; color: #fff; margin-bottom: 0.3rem; }
.login-page .login-card-header .brand span { color: var(--gold-400); }
.login-page .login-card-header p { color: rgba(255, 255, 255, 0.75); font-size: 0.85rem; margin: 0; }
.login-page .login-card-body { padding: 2rem; }
.login-page .login-step { display: none; }
.login-page .login-step.active { display: block; animation: fadeUp 0.35s ease; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.login-page .step-dots { display: flex; gap: 6px; margin-bottom: 1.4rem; }
.login-page .step-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--wood-100); transition: all 0.25s; }
.login-page .step-dot.active { background: var(--gold-400); width: 22px; border-radius: 20px; }
.login-page .step-dot.done { background: var(--gold-400); }
.login-page .step-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 600; color: var(--wood-800); margin-bottom: 0.4rem; }
.login-page .step-sub { color: var(--wood-500); font-size: 0.88rem; margin-bottom: 1.4rem; line-height: 1.6; }
.login-page .step-sub strong { color: var(--wood-700); }
.login-page .mobile-field { display: flex; align-items: center; gap: 0.6rem; border: 1px solid var(--wood-100); border-radius: 12px; padding: 0.5rem 1rem; background: var(--sand-50); transition: border-color 0.25s, box-shadow 0.25s; }
.login-page .mobile-field:focus-within { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196, 151, 47, 0.15); }
.login-page .mobile-prefix { color: var(--wood-500); font-weight: 600; font-size: 0.95rem; border-right: 1px solid var(--wood-100); padding-right: 0.6rem; }
.login-page .mobile-field input { flex: 1; border: none; outline: none; background: transparent; font-size: 1rem; color: var(--wood-800); padding: 0.4rem 0; letter-spacing: 0.05em; }
.login-page .mobile-field input::placeholder { color: var(--wood-300); letter-spacing: 0; }
.login-page .brand-label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.4rem; }
.login-page .brand-label span { color: #C0392B; }
.login-page .brand-input { width: 100%; border: 1px solid var(--wood-100); border-radius: 12px; padding: 0.7rem 1rem; font-size: 0.9rem; color: var(--wood-800); background: var(--sand-50); font-family: inherit; margin-bottom: 1rem; transition: border-color 0.25s, box-shadow 0.25s; }
.login-page .brand-input:focus { outline: none; border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196, 151, 47, 0.15); }
.login-page .stay-login-row { margin: 1.1rem 0 0.6rem; }
.login-page .stay-login-label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--wood-600); cursor: pointer; user-select: none; }
.login-page .stay-login-label input { accent-color: var(--gold-400); width: 16px; height: 16px; cursor: pointer; }
.login-page .step-msg { font-size: 0.82rem; margin: 0.8rem 0; min-height: 1.2rem; display: none; }
.login-page .step-msg.show { display: block; }
.login-page .step-msg.error { color: #C0392B; }
.login-page .step-msg.success { color: #2E7D32; }
.login-page .btn-primary-login { width: 100%; background: var(--wood-800); color: #fff; border: none; padding: 0.85rem 1.5rem; border-radius: 10px; font-weight: 600; font-size: 0.92rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; transition: all 0.3s ease; }
.login-page .btn-primary-login:hover { background: var(--wood-900); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(62, 39, 35, 0.25); }
.login-page .btn-primary-login:disabled { opacity: 0.7; transform: none; cursor: not-allowed; box-shadow: none; }
.login-page .btn-primary-login .iconify { color: var(--gold-400); }
.login-page .btn-primary-login .spinner-border { color: var(--gold-400) !important; }
.login-page .btn-back { background: none; border: none; color: var(--wood-500); font-size: 0.85rem; margin-top: 1rem; display: inline-flex; align-items: center; gap: 0.4rem; transition: color 0.25s; }
.login-page .btn-back:hover { color: var(--wood-800); }
.login-page .otp-grid { display: flex; gap: 0.55rem; margin: 0.2rem 0 1.2rem; }
.login-page .otp-cell { width: 46px; height: 52px; border: 1.5px solid var(--wood-100); border-radius: 12px; text-align: center; font-size: 1.25rem; font-weight: 600; color: var(--wood-800); background: var(--sand-50); transition: all 0.2s; }
.login-page .otp-cell:focus { outline: none; border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196, 151, 47, 0.15); background: #fff; }
.login-page .otp-cell.filled { border-color: var(--gold-400); }
.login-page .resend-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.4rem; }
.login-page .resend-timer { font-size: 0.82rem; color: var(--wood-500); display: none; }
.login-page .resend-timer b { color: var(--wood-800); }
.login-page .btn-resend { background: none; border: none; color: var(--gold-500); font-size: 0.85rem; font-weight: 600; display: none; cursor: pointer; transition: color 0.25s; }
.login-page .btn-resend.show { display: inline-block; }
.login-page .btn-resend:hover { color: var(--wood-800); }
.login-page .step-success-body { text-align: center; padding: 1rem 0; }
.login-page .sc-circle { width: 74px; height: 74px; border-radius: 50%; background: rgba(46, 125, 50, 0.12); border: 2px solid #2E7D32; color: #2E7D32; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.2rem; font-size: 2.1rem; }
.login-page .step-success-body .step-title { margin-bottom: 0.5rem; }
.login-page .login-footer-note { font-size: 0.78rem; color: var(--wood-400); text-align: center; margin-top: 1.2rem; }
.login-page .login-footer-note a { color: var(--wood-600); font-weight: 500; text-decoration: none; }
.login-page .login-footer-note a:hover { color: var(--gold-500); }
.login-page .spinner-border-sm { width: 1rem; height: 1rem; border-width: 0.15em; }
.login-page .me-2 { margin-right: 0.5rem; }
@media (max-width: 768px) { .login-page .login-card-body { padding: 1.5rem; } .login-page .otp-cell { width: 42px; height: 48px; } }

/* ---- My Profile (Member/EditProfile) ---- */
.profile-section { padding: 4rem 0 5rem; background: var(--sand-50, #FAF6F0); min-height: 60vh; }
.profile-section .iconify { vertical-align: -2px; }
.profile-section .profile-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; overflow: hidden; box-shadow: 0 10px 30px rgba(62,39,35,.05); position: sticky; top: 110px; }
.profile-section .profile-card-top { background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); text-align: center; padding: 2rem 1.5rem 1.6rem; color: #fff; }
.profile-section .profile-avatar { width: 86px; height: 86px; border-radius: 50%; background: var(--gold-400); color: var(--wood-900); font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.7rem; display: inline-flex; align-items: center; justify-content: center; position: relative; margin-bottom: .8rem; }
.profile-section .avatar-dot { position: absolute; bottom: 4px; right: 4px; width: 16px; height: 16px; border-radius: 50%; background: #2E7D32; border: 2.5px solid var(--wood-800); }
.profile-section .profile-name { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 1.15rem; }
.profile-section .profile-mobile { color: rgba(255,255,255,.85); font-size: .88rem; }
.profile-section .profile-card-body { padding: 1.2rem 1.4rem; }
.profile-section .meta-row { display: flex; align-items: center; gap: .7rem; padding: .55rem 0; color: var(--wood-600); font-size: .88rem; }
.profile-section .meta-row .iconify { color: var(--gold-500); font-size: 1.05rem; flex-shrink: 0; }
.profile-section .meta-row .ml { color: var(--wood-400); font-size: .8rem; min-width: 108px; }
.profile-section .meta-row .mv { font-weight: 600; color: var(--wood-800); }
.profile-section .profile-links { border-top: 1px solid var(--sand-50, #FAF6F0); padding: .8rem 1.4rem 1.2rem; display: flex; flex-direction: column; gap: .35rem; }
.profile-section .profile-link { display: flex; align-items: center; gap: .6rem; color: var(--wood-700); font-weight: 600; font-size: .88rem; padding: .55rem .7rem; border-radius: 8px; border: none; background: none; width: 100%; text-align: left; text-decoration: none; }
.profile-section .profile-link .iconify { color: var(--gold-500); font-size: 1rem; }
.profile-section .profile-link:hover { background: var(--sand-50, #FAF6F0); color: var(--wood-900); }
.profile-section .profile-link.logout { color: #C0392B; }
.profile-section .profile-link.logout .iconify { color: #C0392B; }
.profile-section .section-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.6rem 1.6rem 1.8rem; margin-bottom: 1.2rem; box-shadow: 0 10px 30px rgba(62,39,35,.05); }
.profile-section .section-card .section-title { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 600; font-size: 1.35rem; margin-bottom: .2rem; }
.profile-section .section-card .section-sub { color: var(--wood-400); font-size: .85rem; margin-bottom: 1.2rem; }
.profile-section .success-banner.profile { display: flex; align-items: center; gap: .6rem; background: rgba(46,125,50,.1); border: 1px solid rgba(46,125,50,.3); color: #2E7D32; border-radius: 10px; padding: .8rem 1rem; font-weight: 600; font-size: .88rem; margin-bottom: 1.2rem; }
.profile-section .success-banner.address { display: flex; align-items: center; gap: .6rem; background: rgba(46,125,50,.1); border: 1px solid rgba(46,125,50,.3); color: #2E7D32; border-radius: 10px; padding: .8rem 1rem; font-weight: 600; font-size: .88rem; margin-bottom: 1.2rem; }
.profile-section .brand-label { font-size: .8rem; font-weight: 600; color: var(--wood-600); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .35rem; display: block; }
.profile-section .brand-label span { color: #C0392B; }
.profile-section .brand-input { width: 100%; border: 1px solid var(--wood-100); background: var(--sand-50, #FAF6F0); border-radius: 10px; padding: .7rem 1rem .75rem; font-size: .95rem; color: var(--wood-800); outline: none; transition: all .2s; }
.profile-section .brand-input:focus { border-color: var(--gold-400); box-shadow: 0 0 0 3px rgba(196,151,47,.15); background: #fff; }
.profile-section .brand-input.input-error { border-color: #C0392B; }
.profile-section .field-error { display: block; color: #C0392B; font-size: .78rem; margin-top: .3rem; }
.profile-section .form-group { margin-bottom: 1rem; }
.profile-section .mobile-wrap { position: relative; }
.profile-section .mobile-wrap input { padding-right: 2.6rem; background: #F3EDE4; color: var(--wood-500); cursor: not-allowed; }
.profile-section .mobile-wrap .lock-ic { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--wood-300); font-size: 1rem; }
.profile-section .field-hint { font-size: .74rem; color: var(--wood-400); margin-top: .3rem; }
.profile-section .section-divider { border: none; border-top: 1px solid var(--sand-50, #FAF6F0); margin: 1.2rem 0; }
.profile-section .btn-save { background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border: none; border-radius: 10px; padding: .75rem 1.5rem; font-weight: 700; font-size: .9rem; display: inline-flex; align-items: center; gap: .5rem; margin-left: auto; }
.profile-section .btn-save .iconify { color: var(--gold-400); }
.profile-section .btn-save:disabled { opacity: .65; cursor: not-allowed; }
.profile-section .view-orders-link { display: inline-flex; align-items: center; gap: .45rem; color: var(--wood-500); font-size: .86rem; font-weight: 600; text-decoration: none; padding: .4rem 0; }
.profile-section .view-orders-link .iconify { color: var(--gold-500); }
.profile-section .view-orders-link:hover { color: var(--gold-500); }
.profile-section .addr-list { display: flex; flex-direction: column; gap: .7rem; margin-bottom: 1.1rem; }
.profile-section .addr-card { border: 1px solid var(--wood-100); border-radius: 12px; padding: 1rem 1.1rem; position: relative; }
.profile-section .addr-card.is-default { border-color: var(--gold-400); background: rgba(196,151,47,.05); }
.profile-section .addr-card-top { display: flex; align-items: center; gap: .5rem; }
.profile-section .addr-name { font-weight: 700; color: var(--wood-800); font-size: .95rem; }
.profile-section .default-tag { background: rgba(196,151,47,.16); color: #9A7B0D; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .16rem .55rem; border-radius: 20px; }
.profile-section .addr-mobile { color: var(--wood-500); font-size: .84rem; margin-top: .15rem; }
.profile-section .addr-mobile .iconify { color: var(--gold-500); font-size: .85rem; }
.profile-section .addr-text { color: var(--wood-500); font-size: .84rem; line-height: 1.7; margin-top: .3rem; }
.profile-section .addr-actions { display: flex; gap: .6rem; margin-top: .8rem; }
.profile-section .btn-addr-action { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 600; padding: .4rem .8rem; border-radius: 8px; border: 1px solid var(--wood-100); background: #fff; color: var(--wood-600); }
.profile-section .btn-addr-action .iconify { font-size: .85rem; }
.profile-section .btn-addr-action.set-default { color: var(--gold-500); border-color: rgba(196,151,47,.4); }
.profile-section .btn-addr-action.delete { color: #C0392B; }
.profile-section .btn-addr-action.delete:hover { background: rgba(192,57,43,.08); }
.profile-section .no-addr-msg { color: var(--wood-400); font-size: .9rem; margin: .5rem 0 1rem; }
.profile-section .btn-add-addr { background: transparent; border: 1px dashed var(--gold-400); color: var(--wood-700); border-radius: 10px; padding: .7rem 1.2rem; font-weight: 600; font-size: .88rem; display: inline-flex; align-items: center; gap: .45rem; }
.profile-section .btn-add-addr .iconify { color: var(--gold-500); }
.profile-section .btn-add-addr:hover { background: rgba(196,151,47,.08); }
.profile-section .new-addr-form { display: none; margin-top: 1.1rem; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); border-radius: 12px; padding: 1.2rem; }
.profile-section .new-addr-form.open { display: block; }
.profile-section .addr-form-title { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--wood-800); margin-bottom: 1rem; }
.profile-section .addr-form-title .iconify { color: var(--gold-500); }
.profile-section .btn-addr-save { display: inline-flex; align-items: center; gap: .45rem; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border: none; border-radius: 10px; padding: .75rem 1.4rem; font-weight: 700; font-size: .88rem; }
.profile-section .btn-addr-save .iconify { color: var(--gold-400); }
.profile-section .btn-addr-save:disabled { opacity: .65; cursor: not-allowed; }
.profile-section .btn-addr-cancel { border: 1px solid var(--wood-100); background: #fff; color: var(--wood-600); border-radius: 10px; padding: .75rem 1.2rem; font-weight: 600; font-size: .88rem; }
.profile-section .addr-form-msg { display: none; font-size: .82rem; margin-bottom: .8rem; }
.profile-section .addr-form-msg.error { display: block; color: #C0392B; }
.profile-section .addr-form-msg.success { display: block; color: #2E7D32; }

/* ---- My Orders (Orders/Index) ---- */
.orders-section { padding: 4rem 0 5rem; background: var(--sand-50, #FAF6F0); min-height: 60vh; }
.orders-section .iconify { vertical-align: -2px; }
.orders-section .orders-count { color: var(--wood-500); font-size: .95rem; }
.orders-section .orders-count strong { color: var(--gold-500); }
.orders-section .order-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.3rem 1.5rem; margin-bottom: 1.1rem; box-shadow: 0 10px 30px rgba(62,39,35,.05); }
.orders-section .order-card-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; padding-bottom: 1rem; border-bottom: 1px solid var(--sand-50, #FAF6F0); }
.orders-section .order-num { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--wood-800); font-size: .95rem; }
.orders-section .order-num .iconify { color: var(--gold-500); }
.orders-section .order-date { display: flex; align-items: center; gap: .45rem; color: var(--wood-400); font-size: .8rem; }
.orders-section .order-date .iconify { font-size: .9rem; }
.orders-section .order-card-body { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 0; flex-wrap: wrap; }
.orders-section .order-thumb { width: 74px; height: 74px; border-radius: 12px; overflow: hidden; border: 1px solid var(--wood-100); flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--sand-50, #FAF6F0); }
.orders-section .order-thumb img { width: 100%; height: 100%; object-fit: cover; }
.orders-section .order-thumb .iconify { font-size: 1.6rem; color: var(--wood-300); }
.orders-section .order-info { flex: 1; min-width: 200px; }
.orders-section .order-product-name { font-weight: 600; color: var(--wood-800); font-size: .98rem; }
.orders-section .order-items-count { color: var(--wood-400); font-size: .8rem; margin-bottom: .5rem; }
.orders-section .order-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.orders-section .order-status-badge, .orders-section .pay-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 700; padding: .32rem .7rem; border-radius: 20px; }
.orders-section .order-status-badge .iconify, .orders-section .pay-badge .iconify { font-size: .82rem; }
.orders-section .status-pending { background: rgba(196,151,47,.14); color: #9A7B0D; }
.orders-section .status-processing { background: rgba(64,120,192,.14); color: #1E5AA8; }
.orders-section .status-shipped { background: rgba(59,130,180,.14); color: #1F6F9B; }
.orders-section .status-delivered { background: rgba(46,125,50,.14); color: #2E7D32; }
.orders-section .status-cancelled { background: rgba(192,57,43,.12); color: #C0392B; }
.orders-section .pay-pending { background: rgba(196,151,47,.14); color: #9A7B0D; }
.orders-section .pay-paid { background: rgba(46,125,50,.14); color: #2E7D32; }
.orders-section .pay-failed { background: rgba(192,57,43,.12); color: #C0392B; }
.orders-section .order-right { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; }
.orders-section .order-total { text-align: right; }
.orders-section .order-total .amount { font-weight: 800; color: var(--wood-800); font-size: 1.05rem; display: block; }
.orders-section .order-total .label { font-size: .72rem; color: var(--wood-400); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.orders-section .btn-view-order { display: inline-flex; align-items: center; gap: .4rem; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border-radius: 9px; padding: .55rem 1rem; font-weight: 600; font-size: .84rem; text-decoration: none; white-space: nowrap; }
.orders-section .btn-view-order .iconify { color: var(--gold-400); font-size: .9rem; }
.orders-section .btn-view-order:hover { color: #fff; transform: translateY(-1px); }
.orders-section .order-progress { padding-top: 1.1rem; }
.orders-section .stepper { display: flex; align-items: center; }
.orders-section .stepper .step { display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; }
.orders-section .stepper .step-dot { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--wood-100); background: #fff; color: var(--wood-300); display: inline-flex; align-items: center; justify-content: center; font-size: .85rem; }
.orders-section .stepper .step-done + .step .step-dot { border-color: transparent; background: transparent; color: var(--wood-300); }
.orders-section .stepper .step.done .step-dot { background: var(--gold-400); border-color: var(--gold-400); color: #fff; }
.orders-section .stepper .step.active .step-dot { border-color: var(--gold-400); color: var(--gold-500); box-shadow: 0 0 0 3px rgba(196,151,47,.15); }
.orders-section .stepper .step-label { font-size: .68rem; font-weight: 600; color: var(--wood-400); }
.orders-section .stepper .step.done .step-label, .orders-section .stepper .step.active .step-label { color: var(--wood-700); }
.orders-section .stepper .step-line { flex: 1; height: 2px; background: var(--wood-100); margin: 0 .5rem; border-radius: 2px; }
.orders-section .stepper .step-line.done { background: var(--gold-400); }
.orders-section .empty-orders { background: #fff; border: 1.5px dashed var(--wood-100); border-radius: 20px; text-align: center; padding: 4rem 1.5rem; }
.orders-section .empty-orders .iconify { font-size: 3rem; color: var(--gold-500); }
.orders-section .empty-orders h4 { font-family: 'Playfair Display', serif; color: var(--wood-800); font-weight: 600; margin-top: .8rem; }
.orders-section .empty-orders p { color: var(--wood-500); font-size: .92rem; }
.orders-section .btn-shop-now { display: inline-flex; align-items: center; gap: .5rem; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border-radius: 10px; padding: .75rem 1.5rem; font-weight: 700; text-decoration: none; margin-top: .5rem; }
.orders-section .btn-shop-now:hover { color: #fff; }
@media (max-width: 576px) { .orders-section .order-right { align-items: flex-start; } }

/* ---- Order tracking (shared: Orders/Index strip + Orders/Details card) ---- */
.order-track-strip { display: flex; align-items: center; gap: .85rem; margin-top: 1rem; padding: .85rem 1rem; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); border-left: 3px solid var(--gold-500); border-radius: 12px; }
.ots-icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: #fff; border: 1px solid var(--wood-100); display: inline-flex; align-items: center; justify-content: center; }
.ots-icon .iconify { font-size: 1.05rem; color: var(--gold-500); }
.ots-main { flex: 1; min-width: 0; }
.ots-label { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--wood-400); }
.ots-value { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: .15rem; }
.ots-courier { font-weight: 600; color: var(--wood-800); font-size: .9rem; }
.ots-awb { font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace; font-size: .85rem; font-weight: 600; color: var(--wood-700); background: #fff; border: 1px dashed var(--wood-100); border-radius: 7px; padding: .12rem .5rem; word-break: break-all; }
.ots-copy { display: inline-flex; align-items: center; gap: .3rem; flex-shrink: 0; background: #fff; border: 1px solid var(--wood-100); border-radius: 8px; padding: .4rem .7rem; font-size: .75rem; font-weight: 600; color: var(--wood-700); cursor: pointer; transition: .2s; }
.ots-copy:hover { border-color: var(--gold-500); color: var(--gold-500); }
.ots-copy.copied { border-color: #2E7D32; color: #2E7D32; }
.ots-track-link { display: inline-flex; align-items: center; gap: .35rem; flex-shrink: 0; background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; border-radius: 8px; padding: .45rem .85rem; font-size: .75rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: .2s; }
.ots-track-link:hover { color: #fff; transform: translateY(-1px); }
.ots-track-link .iconify { color: var(--gold-400); font-size: .85rem; }
.track-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--gold-500); font-weight: 600; font-size: .88rem; text-decoration: none; border-bottom: 1px solid rgba(196,151,47,.35); padding-bottom: 1px; transition: .2s; }
.track-link:hover { color: var(--wood-800); border-bottom-color: var(--wood-800); }
.track-link .iconify { font-size: .9rem; }
.track-card .detail-card-body { display: block; }
.track-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.5rem; }
.track-field { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.track-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--wood-400); }
.track-value { font-size: .92rem; font-weight: 600; color: var(--wood-800); }
.track-awb-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.track-empty { display: flex; align-items: center; gap: .55rem; color: var(--wood-500); font-size: .9rem; margin: 0; }
.track-empty .iconify { color: var(--gold-500); flex-shrink: 0; }
.track-note { display: flex; align-items: flex-start; gap: .55rem; margin-top: 1.1rem; padding: .75rem .9rem; background: rgba(196,151,47,.08); border: 1px solid rgba(196,151,47,.3); border-radius: 10px; font-size: .85rem; color: var(--wood-700); }
.track-note .iconify { color: var(--gold-500); flex-shrink: 0; margin-top: .1rem; }
@media (max-width: 576px) { .track-grid { grid-template-columns: 1fr; } .order-track-strip { flex-wrap: wrap; } .ots-copy { margin-left: auto; } }

/* ---- Order Details (Orders/Details) ---- */
.order-detail-section { padding: 4rem 0 5rem; background: var(--sand-50, #FAF6F0); min-height: 60vh; }
.order-detail-section .iconify { vertical-align: -2px; }
.order-detail-section .hero-row { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.order-detail-section .hero-date { color: var(--wood-400); font-size: .88rem; display: flex; align-items: center; gap: .45rem; }
.order-detail-section .hero-badges { display: flex; gap: .5rem; }
.order-detail-section .order-status-badge, .order-detail-section .pay-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 700; padding: .32rem .7rem; border-radius: 20px; }
.order-detail-section .order-status-badge .iconify, .order-detail-section .pay-badge .iconify { font-size: .82rem; }
.order-detail-section .status-pending { background: rgba(196,151,47,.14); color: #9A7B0D; }
.order-detail-section .status-processing { background: rgba(64,120,192,.14); color: #1E5AA8; }
.order-detail-section .status-shipped { background: rgba(59,130,180,.14); color: #1F6F9B; }
.order-detail-section .status-delivered { background: rgba(46,125,50,.14); color: #2E7D32; }
.order-detail-section .status-cancelled { background: rgba(192,57,43,.12); color: #C0392B; }
.order-detail-section .pay-pending { background: rgba(196,151,47,.14); color: #9A7B0D; }
.order-detail-section .pay-paid { background: rgba(46,125,50,.14); color: #2E7D32; }
.order-detail-section .pay-failed { background: rgba(192,57,43,.12); color: #C0392B; }
.order-detail-section .stepper-card, .order-detail-section .detail-card { background: #fff; border: 1px solid var(--wood-100); border-radius: 18px; padding: 1.4rem 1.5rem; margin-bottom: 1.1rem; box-shadow: 0 10px 30px rgba(62,39,35,.05); }
.order-detail-section .stepper-title, .order-detail-section .detail-card-title { font-family: 'Playfair Display', serif; font-weight: 600; color: var(--wood-800); margin-bottom: 1.1rem; }
.order-detail-section .detail-card-title { display: flex; align-items: center; justify-content: space-between; }
.order-detail-section .detail-card-title .count { font-family: var(--bs-body-font-family); font-size: .78rem; color: var(--wood-400); font-weight: 600; }
.order-detail-section .stepper { display: flex; align-items: center; }
.order-detail-section .stepper .step { display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; }
.order-detail-section .stepper .step-dot { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--wood-100); background: #fff; color: var(--wood-300); display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
.order-detail-section .stepper .step.done .step-dot { background: var(--gold-400); border-color: var(--gold-400); color: #fff; }
.order-detail-section .stepper .step.active .step-dot { border-color: var(--gold-400); color: var(--gold-500); box-shadow: 0 0 0 3px rgba(196,151,47,.15); }
.order-detail-section .stepper .step-label { font-size: .7rem; font-weight: 600; color: var(--wood-400); line-height: 1.4; }
.order-detail-section .stepper .step.done .step-label, .order-detail-section .stepper .step.active .step-label { color: var(--wood-700); }
.order-detail-section .stepper .step-line { flex: 1; height: 2px; background: var(--wood-100); margin: 0 .5rem; border-radius: 2px; }
.order-detail-section .stepper .step-line.done { background: var(--gold-400); }
.order-detail-section .cancelled-strip { display: flex; align-items: center; gap: .6rem; background: rgba(192,57,43,.08); border: 1px solid rgba(192,57,43,.25); color: #C0392B; border-radius: 12px; padding: 1rem 1.2rem; font-weight: 600; font-size: .92rem; }
.order-detail-section .order-item-row { display: flex; align-items: center; gap: 1rem; padding: .9rem 0; }
.order-detail-section .order-item-row + .order-item-row { border-top: 1px solid var(--sand-50, #FAF6F0); }
.order-detail-section .item-thumb { width: 66px; height: 66px; border-radius: 10px; overflow: hidden; border: 1px solid var(--wood-100); flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--sand-50, #FAF6F0); }
.order-detail-section .item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.order-detail-section .item-thumb .iconify { font-size: 1.4rem; color: var(--wood-300); }
.order-detail-section .item-info { flex: 1; min-width: 0; }
.order-detail-section .item-name { font-weight: 600; color: var(--wood-800); font-size: .94rem; }
.order-detail-section .item-variant { color: var(--wood-400); font-size: .8rem; display: flex; align-items: center; gap: .3rem; }
.order-detail-section .item-qty { color: var(--wood-500); font-size: .82rem; margin-top: .1rem; }
.order-detail-section .item-price { text-align: right; flex-shrink: 0; }
.order-detail-section .item-subtotal { display: block; font-weight: 700; color: var(--wood-800); font-size: .95rem; }
.order-detail-section .item-price s { color: var(--wood-400); font-size: .76rem; }
.order-detail-section .summary-rows { padding: .35rem 0 .6rem; }
.order-detail-section .summary-row { display: flex; justify-content: space-between; font-size: .88rem; color: var(--wood-600); padding: .32rem 0; }
.order-detail-section .summary-row .val { font-weight: 600; color: var(--wood-800); }
.order-detail-section .summary-row .val.green { color: #2E7D32; }
.order-detail-section .summary-total-row { display: flex; justify-content: space-between; align-items: center; margin-top: .5rem; padding: .8rem 1rem; background: var(--sand-50, #FAF6F0); border: 1px solid var(--wood-100); border-radius: 10px; }
.order-detail-section .summary-total-row .tl { font-weight: 600; color: var(--wood-700); font-size: .92rem; }
.order-detail-section .summary-total-row .tv { font-weight: 800; color: var(--gold-500); font-size: 1.15rem; }
.order-detail-section .info-row { display: flex; padding: .4rem 0; font-size: .88rem; }
.order-detail-section .info-row .il { width: 82px; color: var(--wood-400); flex-shrink: 0; font-size: .82rem; font-weight: 600; }
.order-detail-section .info-row .iv { color: var(--wood-700); line-height: 1.7; }
.order-detail-section .info-row .iv strong { color: var(--wood-800); }
.order-detail-section .btn-back-orders, .order-detail-section .btn-shop-again { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; border-radius: 10px; padding: .8rem; font-weight: 700; font-size: .92rem; text-decoration: none; margin-top: .8rem; }
.order-detail-section .btn-back-orders { background: linear-gradient(135deg, var(--wood-800), var(--wood-600)); color: #fff; }
.order-detail-section .btn-back-orders .iconify { color: var(--gold-400); }
.order-detail-section .btn-back-orders:hover { color: #fff; }
.order-detail-section .btn-shop-again { background: transparent; border: 1px solid var(--wood-100); color: var(--wood-700); }
.order-detail-section .btn-shop-again:hover { border-color: var(--gold-400); color: var(--gold-500); }

/* ---- Floating WhatsApp ---- */
.wa-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #25D366;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
    transition: transform .25s ease, box-shadow .25s ease;
}
.wa-float:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.45);
    color: #fff;
}
.wa-tooltip {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    background: var(--wood-900);
    color: var(--sand-50);
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.wa-float:hover .wa-tooltip { opacity: 1; }

/* ── Share Button ── */
.share-wrap {position: absolute; top:  10px;right: 10px;z-index: 10;}
.btn-share        { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1.5px solid var(--wood-100); color:var(--wood-900); border-radius:10px; padding:10px 18px; font-size:13px; font-weight:700; font-family:'Manrope',sans-serif; cursor:pointer; transition:all .2s; }
.btn-share:hover  { border-color:var(--wood-700); background:var(--wood-100); }
.btn-share i      { font-size:15px; }
.share-dropdown {
    position: absolute;
    top: calc(100% + 8px); /* ← was bottom:calc(100% + 10px) */
    right: 0; /* aligned to right edge of button */
    left: auto; /* ← was left:0 */
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--wood-900);
    box-shadow: 0 12px 32px rgba(0,0,0,.12);
    padding: 8px;
    min-width: 210px;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px); /* ← direction reversed */
    transition: all .22s ease;
}
    .share-dropdown.open {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        transform: translateY(0);
    }

.share-option     { display:flex; align-items:center; gap:10px; padding:9px 14px; border-radius:9px; font-size:13px; font-weight:600; color:var(--brand-text); cursor:pointer; transition:background .15s; border:none; background:none; width:100%; font-family:'Manrope',sans-serif; text-decoration:none; }
.share-option:hover { background:var(--wood-100); }
.share-option .so-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.so-whatsapp  { background:#e9fbe9; color:#25d366; }
.so-facebook  { background:#e7f0fd; color:#1877f2; }
.so-twitter   { background:#f0f0f0; color:#000; }
.so-linkedin  { background:#e8f0fe; color:#0077b5; }
.so-copy      { background:var(--brand-bg-alt,#F3EFE8); color:var(--brand-dark); }

.share-divider { border:none; border-top:1px solid var(--wood-900); margin:6px 0; }
.share-copied  { font-size:11px; color:var(--brand-green-accent); font-weight:600; text-align:center; padding:4px 0 2px; display:none; }
.share-copied.show { display:block; }

.coupon-input:focus {
    outline: none;
    border-color: var(--gold-500);
    box-shadow: 0 0 0 2px rgba(185, 154, 93, 0.15);
}

.btn-apply-coupon:hover {
    opacity: 0.9;
}

.btn-apply-coupon:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.confirm-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
    color: var(--wood-600);
}

.confirm-summary-row .text-green {
    color: #2E7D32;
    font-weight: 600;
}