/* =====================================================
   PEELO - Clean Design System
   Header + Menu + Hero only
   ===================================================== */

:root {
    /* Brand Colors */
    --gold: #F4B133;
    --dark: #231F18;
    --cream: #FFECE2;
    --green: #00A177;
    --purple: #885FDB;
    --purple-dark: #6b4fb8;
    --pink: #E5476A;
    --orange: #EF6B39;
    --white: #FFFFFF;

    /* Typography */
    --font-headline: 'Caraque', Georgia, serif;
    --font-body: 'Founders Grotesk', 'Helvetica Neue', Arial, sans-serif;

    /* Sizing */
    --header-height: 100px;
    --container-width: 1400px;
    --container-padding: 40px;

    /* Easing */
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reset */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--dark);
    background: var(--white);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
    border: none;
    background: none;
    cursor: pointer;
}

ul {
    list-style: none;
}

img, video {
    display: block;
    max-width: 100%;
}

/* =====================================================
   HEADER
   ===================================================== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    z-index: 1000;
    transition: background 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

/* Main content offset for fixed header */
main.has-header-offset {
    padding-top: var(--header-height);
}

/* Transparent by default, solid on scroll */
.header.scrolled {
    background: var(--white);
    box-shadow: 0 1px 0 rgba(35, 31, 24, 0.1);
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
    height: 80px;
}

.logo img {
    height: 100%;
    width: auto;
    transition: opacity 0.3s var(--ease);
}

.logo .logo-dark {
    display: none;
}

.header.scrolled .logo .logo-white {
    display: none;
}

.header.scrolled .logo .logo-dark {
    display: block;
}

/* Nav Menu */
.nav-menu {
    display: flex;
    align-items: center;
    gap: 40px;
}

.nav-item > a {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--white);
    letter-spacing: -0.01em;
    padding: 8px 0;
    position: relative;
    transition: color 0.3s var(--ease);
}

.header.scrolled .nav-item > a {
    color: var(--dark);
}

.nav-item > a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width 0.4s var(--ease);
}

.nav-item > a:hover::after {
    width: 100%;
}

/* Dropdown */
.nav-item.has-dropdown {
    position: relative;
}

.dropdown {
    position: absolute;
    top: calc(100% + 16px);
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 280px;
    background: var(--white);
    border-radius: 16px;
    padding: 12px;
    box-shadow: 0 20px 50px rgba(35, 31, 24, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s var(--ease);
}

.nav-item.has-dropdown:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    transition: background 0.2s ease;
}

.dropdown-item:hover {
    background: var(--cream);
}

.dropdown-img {
    width: 48px;
    height: 48px;
    background: var(--cream);
    border-radius: 8px;
    flex-shrink: 0;
}

.dropdown-item strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.dropdown-item span {
    font-size: 0.8125rem;
    color: #888;
}

/* Nav Actions */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    border-radius: 50%;
    transition: all 0.3s var(--ease);
}

.header.scrolled .btn-icon {
    color: var(--dark);
}

.btn-icon:hover {
    background: rgba(255, 255, 255, 0.15);
}

.header.scrolled .btn-icon:hover {
    background: rgba(35, 31, 24, 0.08);
}

.btn-cart {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gold);
    color: var(--dark);
    border-radius: 50%;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.btn-cart:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 20px rgba(244, 177, 51, 0.4);
}

.cart-count {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--pink);
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 700;
    border-radius: 50%;
}

/* Mobile Toggle */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 12px;
}

.nav-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--dark);
    border-radius: 2px;
    transition: all 0.3s var(--ease);
}

.header.scrolled .nav-toggle span {
    background: var(--dark);
}

/* Hamburger → X animation */
.nav-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-toggle.active span:nth-child(2) {
    opacity: 0;
}
.nav-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* =====================================================
   HERO
   ===================================================== */
.hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    overflow: hidden;
}

/* Media (Video or Image) */
.hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-media img,
.hero-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Overlay */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(35, 31, 24, 0.4) 0%,
        rgba(35, 31, 24, 0.2) 50%,
        rgba(35, 31, 24, 0.5) 100%
    );
    z-index: 1;
}

/* Content */
.hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 0 120px;
}

.hero-title {
    font-family: var(--font-headline);
    font-size: 6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 24px;
    perspective: 1000px;
    overflow: hidden;
}

.hero-title span {
    display: block;
    padding: 0.1em 0;
}

.hero-title span:last-child {
    color: var(--gold);
}

.hero-text {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: rgba(255, 255, 255, 0.9);
    max-width: 500px;
    margin: 0 0 20px;
    letter-spacing: -0.01em;
}

.hero-usp {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 40px;
}

/* Buttons */
.hero-buttons {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 8px;
    transition: all 0.3s var(--ease);
}

.btn-primary {
    background: var(--gold);
    color: var(--dark);
}

.btn-primary:hover {
    background: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.btn-secondary {
    background: transparent;
    color: var(--white);
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.btn-secondary:hover {
    background: var(--white);
    color: var(--dark);
    border-color: var(--white);
}

/* Scroll Indicator */
.hero-scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    z-index: 2;
}

.hero-scroll span {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.6);
}

.scroll-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.6) 0%, transparent 100%);
    position: relative;
    overflow: hidden;
}

.scroll-line::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: var(--gold);
    animation: scrollDown 1.5s ease-in-out infinite;
}

@keyframes scrollDown {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(300%); }
}

/* =====================================================
   ANIMATIONS
   ===================================================== */

/* Hero entrance animations */
.hero-title span {
    opacity: 0;
    transform: translateY(100%) rotateX(-80deg);
    transform-origin: top center;
    animation: revealText 1.2s var(--ease) forwards;
}

.hero-title span:nth-child(1) {
    animation-delay: 0.3s;
}

.hero-title span:nth-child(2) {
    animation-delay: 0.5s;
}

@keyframes revealText {
    0% {
        opacity: 0;
        transform: translateY(100%) rotateX(-80deg);
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0);
        filter: blur(0);
    }
}

.hero-text {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUp 1s var(--ease) 0.5s forwards;
}

.hero-usp {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 1s var(--ease) 0.6s forwards;
}

.hero-buttons {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUp 1s var(--ease) 0.75s forwards;
}

.hero-scroll {
    opacity: 0;
    animation: fadeIn 1s var(--ease) 1.2s forwards;
}

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

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* =====================================================
   SOCIAL PROOF STRIP
   ===================================================== */
.social-proof {
    background: var(--purple);
    padding: 16px var(--container-padding);
}

.social-proof-inner {
    max-width: var(--container-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.social-proof-stars {
    display: flex;
    gap: 2px;
}

.social-proof-text {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.8);
}

.social-proof-text strong {
    color: var(--white);
    font-weight: 600;
}

/* =====================================================
   UGC SECTION
   ===================================================== */
.ugc {
    padding: 80px 0;
    background: var(--cream);
    overflow: hidden;
}

.ugc-slider {
    position: relative;
    overflow: hidden;
}

.ugc-track {
    display: flex;
    gap: 24px;
    padding: 0 var(--container-padding);
    transition: transform 0.6s var(--ease);
}

.ugc-slide {
    flex: 0 0 280px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: var(--dark);
    aspect-ratio: 9/16;
    cursor: pointer;
}

.ugc-slide video,
.ugc-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}

.ugc-slide:hover video,
.ugc-slide:hover img {
    transform: scale(1.05);
}

.ugc-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    color: var(--dark);
    border-radius: 50%;
    transition: all 0.4s var(--ease);
    box-shadow: 0 4px 20px rgba(35, 31, 24, 0.15);
    z-index: 10;
    opacity: 0;
    pointer-events: none;
}

.ugc-slider:hover .ugc-btn {
    opacity: 1;
    pointer-events: auto;
}

.ugc-btn:hover {
    background: var(--dark);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
}

.ugc-prev {
    left: 20px;
}

.ugc-next {
    right: 20px;
}

.ugc-bars {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 32px;
}

.ugc-bar {
    width: 32px;
    height: 3px;
    background: var(--dark);
    opacity: 0.2;
    border-radius: 2px;
    transition: all 0.3s var(--ease);
    cursor: pointer;
}

.ugc-bar:hover {
    opacity: 0.4;
}

.ugc-bar.active {
    opacity: 1;
    width: 48px;
}


/* =====================================================
   BENEFITS SECTION
   ===================================================== */
.benefits {
    padding: 80px var(--container-padding);
    background: var(--cream);
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.benefit {
    text-align: center;
}

.benefit-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    background: var(--white);
    border-radius: 50%;
    color: var(--dark);
    transition: all 0.3s var(--ease);
}

.benefit:hover .benefit-icon {
    background: var(--gold);
    transform: scale(1.1);
}

.benefit h3 {
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.benefit p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
    line-height: 1.5;
}

/* =====================================================
   CATEGORIES SECTION
   ===================================================== */
.categories {
    padding: 80px var(--container-padding);
    background: var(--white);
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.category-card {
    position: relative;
    aspect-ratio: 1;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
}

.category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}

.category-card:hover img {
    transform: scale(1.08);
}

.category-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(to top, rgba(35, 31, 24, 0.8) 0%, transparent 60%);
    transition: background 0.4s var(--ease);
}

.category-card:hover .category-overlay {
    background: linear-gradient(to top, rgba(35, 31, 24, 0.9) 0%, rgba(35, 31, 24, 0.2) 100%);
}

.category-overlay h3 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
}

.category-link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--gold);
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s var(--ease);
}

.category-card:hover .category-link {
    opacity: 1;
    transform: translateY(0);
}

/* =====================================================
   WHY PEELO SECTION
   ===================================================== */
.why-peelo {
    padding: 100px var(--container-padding);
    background: var(--white);
}

.why-peelo h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    text-align: center;
    margin-bottom: 60px;
}

.why-peelo-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 40px;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
}

.why-peelo-items {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.why-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
}

.why-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 50%;
    color: var(--dark);
    transition: all 0.3s var(--ease);
}

.why-item:hover .why-icon {
    background: var(--gold);
    transform: scale(1.1);
}

.why-item h4 {
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin: 0;
}

.why-item p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
    line-height: 1.5;
    max-width: 200px;
    margin: 0;
}

.why-peelo-image {
    width: 600px;
    flex-shrink: 0;
}

.why-peelo-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* =====================================================
   PARTNERS SECTION
   ===================================================== */
.partners {
    padding: 80px var(--container-padding);
    background: var(--white);
    text-align: center;
}

.partners-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(35, 31, 24, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

.partners-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    max-width: var(--container-width);
    margin: 0 auto;
}

.partner-logo {
    height: 55px;
    transition: all 0.3s var(--ease);
}

.partner-logo:hover {
    transform: scale(1.05);
}

.partner-logo img {
    height: 100%;
    width: auto;
    object-fit: contain;
}

/* =====================================================
   CUSTOM PRODUCTION SECTION
   ===================================================== */
.custom-production {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}

.custom-content {
    padding: 80px 60px 80px 150px;
    padding-left: max(var(--container-padding), calc((100vw - var(--container-width)) / 2));
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.custom-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 16px;
}

.custom-content h2 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.custom-desc {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.6;
    margin-bottom: 32px;
    max-width: 480px;
}

.custom-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.custom-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--dark);
}

.custom-feature svg {
    flex-shrink: 0;
    color: var(--gold);
}

.custom-feature span {
    font-size: 0.9375rem;
    font-weight: 500;
}

.custom-usecases {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 40px;
}

.custom-usecases span {
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 8px 16px;
    background: var(--cream);
    color: var(--dark);
    border-radius: 100px;
}

.btn-dark {
    background: var(--dark);
    color: var(--white);
    align-self: flex-start;
}

.btn-dark:hover {
    background: var(--gold);
    color: var(--dark);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(35, 31, 24, 0.2);
}

.custom-visual {
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.custom-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}

.custom-production:hover .custom-visual img {
    transform: scale(1.03);
}

/* =====================================================
   HOW IT WORKS SECTION
   ===================================================== */
.how-it-works {
    padding: 100px var(--container-padding);
    background: var(--cream);
}

.hiw-header {
    text-align: left;
    max-width: var(--container-width);
    margin: 0 auto 60px;
}

.hiw-header h2 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 12px;
}

.hiw-header p {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.6);
}

.hiw-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.hiw-step {
    text-align: center;
    position: relative;
}

.hiw-number {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gold);
    color: var(--dark);
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 50%;
    z-index: 1;
}

.hiw-media {
    aspect-ratio: 1;
    border-radius: 20px;
    overflow: hidden;
    background: var(--cream);
    margin-bottom: 24px;
}

.hiw-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hiw-step h3 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 8px;
}

.hiw-step p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
    line-height: 1.5;
    max-width: 280px;
    margin: 0 auto;
}

/* =====================================================
   BESTSELLERS SECTION
   ===================================================== */
.bestsellers {
    padding: 80px var(--container-padding);
    background: var(--white);
}

.bestsellers-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto 40px;
}

.bestsellers-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
}

.bestsellers-link {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    transition: color 0.3s var(--ease);
}

.bestsellers-link:hover {
    color: var(--gold);
}

.bestsellers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.product-card {
    position: relative;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(35, 31, 24, 0.12);
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.product-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 24px 48px rgba(35, 31, 24, 0.18);
}

.product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    z-index: 1;
}

.badge {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 6px;
}

.badge-sale {
    background: var(--pink);
    color: var(--white);
}

.badge-bestseller {
    background: var(--gold);
    color: var(--dark);
}

.badge-variants {
    background: var(--dark);
    color: var(--white);
}

.badge-new {
    background: var(--green);
    color: var(--white);
}

.product-img {
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--cream);
}

.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}

.product-card:hover .product-img img {
    transform: scale(1.06);
}

.product-info {
    padding: 20px;
}

.product-info h3 {
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.product-desc {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
    margin-bottom: 12px;
}

.product-pricing {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.product-price {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
}

.product-price-old {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

.product-stock {
    font-size: 0.75rem;
    font-weight: 600;
}

.product-stock.in-stock {
    color: var(--green);
}

.product-stock.low-stock {
    color: var(--orange);
}

.product-stock.out-of-stock {
    color: var(--pink);
}

/* Product Card Rating */
.product-card .product-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.product-card .product-rating-stars {
    display: flex;
    gap: 1px;
}

.product-card .product-rating-stars svg {
    flex-shrink: 0;
}

.product-card .product-rating-count {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.5);
}

/* =====================================================
   TESTIMONIALS SECTION
   ===================================================== */
.testimonials {
    padding: 100px var(--container-padding);
    background: var(--cream);
}

.testimonials-header {
    text-align: left;
    max-width: var(--container-width);
    margin: 0 auto 60px;
}

.testimonials-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.testimonial {
    background: var(--white);
    padding: 32px;
    border-radius: 16px;
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.testimonial:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(35, 31, 24, 0.1);
}

.testimonial-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 16px;
}

.testimonial-text {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--dark);
    margin-bottom: 24px;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.testimonial-avatar {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gold);
    color: var(--dark);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 50%;
}

.testimonial-author strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.testimonial-author span {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

/* =====================================================
   CONTACT PAGE
   ===================================================== */
.page-contact {
    padding-top: var(--header-height);
}

.contact-hero {
    background: var(--cream);
    padding: 80px var(--container-padding);
    text-align: center;
}

.contact-hero-content {
    max-width: 600px;
    margin: 0 auto;
}

.contact-hero h1 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.contact-hero p {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.6;
}

.contact-section {
    padding: 80px var(--container-padding);
    background: var(--white);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.contact-info-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.contact-info-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 50%;
    color: var(--dark);
    flex-shrink: 0;
}

.contact-info-text h4 {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.contact-info-text a,
.contact-info-text p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.2s;
}

.contact-info-text a:hover {
    color: var(--purple);
}

.contact-social {
    margin-top: 16px;
    padding-top: 32px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.contact-social h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 16px;
}

.contact-social-links {
    display: flex;
    gap: 16px;
}

.contact-social-links a {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 50%;
    color: var(--dark);
    transition: all 0.3s var(--ease);
}

.contact-social-links a:hover {
    background: var(--purple);
    color: var(--white);
}

.contact-form-wrapper {
    background: var(--cream);
    padding: 48px;
    border-radius: 16px;
}

.contact-form-wrapper h3 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 32px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 14px 16px;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--dark);
    background: var(--white);
    transition: all 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--purple);
    box-shadow: 0 0 0 3px rgba(136, 95, 219, 0.15);
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.contact-form .btn-primary {
    align-self: flex-start;
    padding: 16px 40px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.contact-form .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

.contact-faq {
    padding: 80px var(--container-padding);
    background: var(--cream);
}

.contact-faq h2 {
    font-family: var(--font-headline);
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--dark);
    text-align: center;
    margin-bottom: 48px;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.faq-item {
    background: var(--white);
    padding: 32px;
    border-radius: 12px;
}

.faq-item h4 {
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 12px;
}

.faq-item p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.6;
}

/* =====================================================
   TEXT PAGE (Terms, Privacy, etc.)
   ===================================================== */
.page-text {
    padding-top: var(--header-height);
}

.text-page {
    padding: 80px var(--container-padding);
    background: var(--white);
}

.text-page-container {
    max-width: 800px;
    margin: 0 auto;
}

.text-page h1 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 12px;
}

.text-page-meta {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
    margin-bottom: 48px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.text-page-content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--dark);
}

.text-page-content h2 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-top: 48px;
    margin-bottom: 16px;
}

.text-page-content h2:first-child {
    margin-top: 0;
}

.text-page-content h3 {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-top: 32px;
    margin-bottom: 12px;
}

.text-page-content p {
    margin-bottom: 16px;
    color: rgba(35, 31, 24, 0.8);
}

.text-page-content ul,
.text-page-content ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

.text-page-content li {
    margin-bottom: 8px;
    color: rgba(35, 31, 24, 0.8);
}

.text-page-content a {
    color: var(--purple);
    text-decoration: underline;
    transition: color 0.2s;
}

.text-page-content a:hover {
    color: var(--dark);
}

.text-page-content blockquote {
    margin: 24px 0;
    padding: 24px 32px;
    background: var(--cream);
    border-left: 4px solid var(--purple);
    border-radius: 0 8px 8px 0;
}

.text-page-content blockquote p {
    margin-bottom: 0;
    font-style: italic;
    color: var(--dark);
}

.text-page-content strong {
    font-weight: 600;
    color: var(--dark);
}

/* =====================================================
   PRODUCT PAGE
   ===================================================== */

/* Breadcrumb */
.breadcrumb {
    padding: 16px var(--container-padding);
    background: var(--white);
}

.breadcrumb ol {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: var(--container-width);
    margin: 0 auto;
    list-style: none;
    padding: 0;
    font-size: 0.875rem;
}

.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(35, 31, 24, 0.5);
}

.breadcrumb li:not(:last-child)::after {
    content: '/';
    color: rgba(35, 31, 24, 0.3);
}

.breadcrumb a {
    color: rgba(35, 31, 24, 0.5);
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb a:hover {
    color: var(--purple);
}

.breadcrumb li:last-child {
    color: var(--dark);
    font-weight: 500;
}

/* Product Main */
.product-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    padding: 40px var(--container-padding) 80px;
    max-width: calc(var(--container-width) + var(--container-padding) * 2);
    margin: 0 auto;
    background: var(--white);
}

/* Product Gallery */
.product-gallery {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    height: fit-content;
}

.product-gallery-main {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: var(--cream);
    margin-bottom: 16px;
}

.product-gallery-main img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
}

.gallery-zoom {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s;
}

.gallery-zoom:hover {
    background: var(--dark);
    color: var(--white);
}

.product-badges {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.badge {
    padding: 6px 12px;
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.badge-bestseller {
    background: var(--gold);
    color: var(--dark);
}

.badge-eco {
    background: var(--green);
    color: var(--white);
}

/* Gallery Thumbs Wrapper with Arrows */
.product-gallery-thumbs-wrapper {
    position: relative;
    width: 100%;
}

.product-gallery-thumbs-wrapper.has-arrows .thumbs-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--white);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.product-gallery-thumbs-wrapper.has-arrows:hover .thumbs-arrow {
    opacity: 1;
    visibility: visible;
}

.product-gallery-thumbs-wrapper.has-arrows .thumbs-arrow:hover {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}

.product-gallery-thumbs-wrapper.has-arrows .thumbs-arrow svg {
    width: 16px;
    height: 16px;
}

.thumbs-arrow-left {
    left: -16px;
}

.thumbs-arrow-right {
    right: -16px;
}

/* Gallery Thumbs */
.product-gallery-thumbs {
    display: flex;
    gap: 12px;
    width: 100%;
}

.product-gallery-thumbs .thumb {
    flex: 1;
}

/* Gallery Thumbs - Scrollable (5+ images) */
.product-gallery-thumbs.has-scroll {
    width: 100%;
    overflow: hidden;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product-gallery-thumbs.has-scroll::-webkit-scrollbar {
    display: none;
}

.product-gallery-thumbs.has-scroll .thumb {
    flex: 0 0 calc(25% - 9px);
    scroll-snap-align: start;
}

.thumb {
    aspect-ratio: 1;
    border: 2px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    background: var(--cream);
    padding: 0;
    transition: all 0.2s;
}

.thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb:hover {
    border-color: rgba(35, 31, 24, 0.2);
}

.thumb.active {
    border-color: var(--dark);
}


/* Product Info */
.product-info {
    display: flex;
    flex-direction: column;
}

.product-info-header {
    margin-bottom: 24px;
}

.product-category {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--purple);
    margin-bottom: 8px;
}

.product-category-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--purple);
    background-color: rgba(108, 99, 255, 0.1);
    padding: 6px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.product-category-badge:hover {
    background-color: var(--purple);
    color: #fff;
}

.product-title {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.2;
    margin-bottom: 12px;
}

.product-rating {
    display: flex;
    align-items: center;
    gap: 12px;
}

.product-rating .stars {
    display: flex;
    gap: 2px;
}

.rating-count {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
    text-decoration: none;
    transition: color 0.2s;
}

.rating-count:hover {
    color: var(--purple);
}

/* Price Block */
.product-price-block {
    padding: 20px 0;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 24px;
}

.product-price {
    display: flex;
    align-items: center;
    gap: 12px;
}

.price-current {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
}

.price-original {
    font-size: 1.25rem;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

.price-save {
    padding: 4px 10px;
    background: var(--pink);
    color: var(--white);
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 100px;
}

.product-price-note {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-top: 8px;
}

/* Promo banners */
.promo-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    margin-bottom: 16px;
}

.promo-buy-x-get-y {
    background: linear-gradient(135deg, #FEF3C7, #FDE68A);
    border: 1px solid #F59E0B;
}

.promo-buy-x-get-y .promo-banner-icon {
    color: #D97706;
    flex-shrink: 0;
}

.promo-banner-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.promo-banner-text strong {
    font-size: 0.9375rem;
    color: var(--dark);
}

.promo-banner-text span {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.7);
}

/* Flash Sale */
.promo-flash-sale {
    background: linear-gradient(135deg, #FEE2E2, #FECACA);
    border: 1px solid #EF4444;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.promo-flash-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.promo-flash-badge {
    background: #EF4444;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 4px 12px;
    border-radius: 100px;
    text-transform: uppercase;
}

.promo-flash-discount {
    font-family: var(--font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: #DC2626;
}

.promo-countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.countdown-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 48px;
}

.countdown-value {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: #DC2626;
    line-height: 1;
}

.countdown-label {
    font-size: 0.6875rem;
    color: rgba(35, 31, 24, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.countdown-sep {
    font-size: 1.25rem;
    font-weight: 700;
    color: #DC2626;
    margin-top: -14px;
}

/* Quantity tiers */
.promo-tiers {
    margin-bottom: 16px;
}

.promo-tiers-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--dark);
}

.promo-tiers-label svg {
    color: var(--green);
}

.promo-tiers-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.promo-tier-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 2px solid rgba(35, 31, 24, 0.1);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.promo-tier-option:hover {
    border-color: var(--green);
}

.promo-tier-option.active {
    border-color: var(--green);
    background: rgba(76, 108, 74, 0.05);
}

.promo-tier-option input[type="radio"] {
    accent-color: var(--green);
}

.tier-qty {
    font-weight: 600;
    color: var(--dark);
    min-width: 50px;
}

.tier-price {
    flex: 1;
    font-size: 0.9375rem;
    color: var(--dark);
}

.tier-discount {
    padding: 3px 10px;
    background: var(--green);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 100px;
}

/* Variants */
.product-variants {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
}

.variant-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.variant-label {
    font-size: 0.9375rem;
    color: var(--dark);
}

.variant-label strong {
    font-weight: 600;
}

/* Variant Images */
.variant-images {
    display: flex;
    gap: 12px;
    padding-top: 14px;
    flex-wrap: wrap;
    max-width: 100%;
}

.variant-image-wrapper {
    position: relative !important;
}

.variant-image-wrapper .variant-btn-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 10;
}

.variant-image {
    position: relative;
    display: block;
    width: 72px;
    height: 72px;
    border: 2px solid rgba(35, 31, 24, 0.15);
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    background: var(--cream);
    text-decoration: none;
    transition: all 0.2s;
}

.variant-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.variant-image:hover {
    border-color: rgba(35, 31, 24, 0.4);
}

.variant-image.active {
    border-color: var(--dark);
}

.variant-check {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dark);
    border-radius: 50%;
    color: var(--white);
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.2s;
}

.variant-image.active .variant-check {
    opacity: 1;
    transform: scale(1);
}

.variant-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--gray-600);
    text-align: center;
    background: var(--gray-100);
    padding: 4px;
}

/* Variant Buttons */
.variant-buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.variant-btn {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 12px;
    border: 2px solid rgba(35, 31, 24, 0.15);
    border-radius: 12px;
    background: var(--white);
    cursor: pointer;
    transition: all 0.2s;
}

.variant-btn:hover {
    border-color: rgba(35, 31, 24, 0.4);
}

.variant-btn.active {
    border-color: var(--dark);
    background: rgba(35, 31, 24, 0.03);
}

.variant-btn-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
}

.variant-btn-desc {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.6);
    margin-top: 4px;
}

.variant-btn-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 10px;
    background: var(--purple);
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 600;
    border-radius: 100px;
    white-space: nowrap;
}

/* Product Actions */
.product-actions {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.quantity-selector {
    display: flex;
    align-items: center;
    border: 2px solid rgba(35, 31, 24, 0.15);
    border-radius: 12px;
    overflow: hidden;
}

.quantity-btn {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--dark);
    transition: background 0.2s;
}

.quantity-btn:hover {
    background: rgba(35, 31, 24, 0.05);
}

.quantity-input {
    width: 48px;
    height: 48px;
    text-align: center;
    border: none;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    -moz-appearance: textfield;
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.btn-add-cart {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 32px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.btn-add-cart:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

/* Trust Signals */
.product-trust {
    display: flex;
    gap: 24px;
    padding: 20px 0;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 24px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
}

.trust-item svg {
    color: var(--green);
}

/* Short Description */
.product-short-desc {
    margin-bottom: 24px;
}

.product-short-desc p {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.8);
}

/* Accordions */
.product-accordions {
    display: flex;
    flex-direction: column;
}

.accordion {
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.accordion:last-child {
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.accordion summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    cursor: pointer;
    list-style: none;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
}

.accordion summary::-webkit-details-marker {
    display: none;
}

.accordion summary svg {
    transition: transform 0.3s var(--ease);
}

.accordion[open] summary svg {
    transform: rotate(180deg);
}

.accordion-content {
    padding-bottom: 20px;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.8);
}

.accordion-content ul,
.accordion-content ol {
    padding-left: 20px;
    margin: 0;
}

.accordion-content li {
    margin-bottom: 8px;
}

.accordion-content h4 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    margin: 16px 0 8px;
}

.accordion-note {
    margin-top: 16px;
    padding: 12px 16px;
    background: var(--cream);
    border-radius: 8px;
}

/* Benefits Bar */
.product-benefits-bar {
    background: var(--cream);
    padding: 48px var(--container-padding);
}

.benefits-bar-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.benefit-bar-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.benefit-bar-item svg {
    color: var(--purple);
    flex-shrink: 0;
}

.benefit-bar-item strong {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
}

.benefit-bar-item span {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

/* Reviews Section */
.product-reviews {
    padding: 80px var(--container-padding);
    background: var(--white);
}

.reviews-container {
    max-width: var(--container-width);
    margin: 0 auto;
}

.reviews-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 48px;
}

.reviews-header h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
}

.reviews-summary {
    display: flex;
    gap: 48px;
}

.reviews-score {
    text-align: center;
}

.score-number {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    display: block;
}

.score-stars {
    display: flex;
    justify-content: center;
    gap: 2px;
    margin: 8px 0;
}

.score-count {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.reviews-bars {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.review-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.review-bar {
    width: 120px;
    height: 8px;
    background: rgba(35, 31, 24, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.review-bar-fill {
    height: 100%;
    background: var(--gold);
    border-radius: 4px;
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.review-card {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.review-stars {
    display: flex;
    gap: 2px;
}

.review-verified {
    font-size: 0.75rem;
    color: var(--green);
    font-weight: 500;
}

.review-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.review-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 16px;
}

.review-author {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
}

.review-name {
    font-weight: 600;
    color: var(--dark);
}

.review-date {
    color: rgba(35, 31, 24, 0.5);
    font-size: 0.75rem;
    margin-top: 8px;
}

.reviews-actions {
    text-align: center;
    margin-top: 16px;
}

.btn-reviews-more {
    display: inline-block;
    padding: 14px 32px;
    background: transparent;
    border: 2px solid var(--dark);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.btn-reviews-more:hover {
    background: var(--dark);
    color: var(--white);
}

/* Related Products */
.related-products {
    padding: 80px var(--container-padding);
    background: var(--cream);
}

.related-container {
    max-width: var(--container-width);
    margin: 0 auto;
}

.related-products h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 32px;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.related-card {
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s var(--ease);
}

.related-card:hover {
    transform: translateY(-4px);
}

.related-image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
    background: var(--white);
}

.related-image img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.related-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    background: var(--pink);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 100px;
}

.related-info h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.related-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 8px;
}

.related-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dark);
}

.related-price-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.related-price-old {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

/* =====================================================
   CATEGORY PAGE
   ===================================================== */
.page-category {
    padding-top: var(--header-height);
}

/* Category Hero */
.category-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    padding: 60px var(--container-padding);
    max-width: calc(var(--container-width) + var(--container-padding) * 2);
    margin: 100px auto 0 auto;
    background: var(--cream);
    align-items: center;
}

.category-hero-content {
    max-width: 560px;
}

.breadcrumb-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
    margin-bottom: 16px;
}

.breadcrumb-inline a {
    color: rgba(35, 31, 24, 0.5);
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb-inline a:hover {
    color: var(--purple);
}

.category-hero h1 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.15;
    margin-bottom: 16px;
}

.category-hero p {
    font-size: 1.125rem;
    line-height: 1.5;
    color: rgba(35, 31, 24, 0.7);
}

.category-stats {
    display: flex;
    gap: 40px;
}

.category-stat {
    display: flex;
    flex-direction: column;
}

.category-stat strong {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
}

.category-stat span {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.category-hero-image {
    border-radius: 24px;
    overflow: hidden;
}

.category-hero-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
}

/* Category Toolbar */
.category-toolbar {
    background: var(--white);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    padding: 16px var(--container-padding);
    position: sticky;
    top: var(--header-height);
    z-index: 100;
}

.toolbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto;
}

.toolbar-count {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.toolbar-right {
    display: flex;
    align-items: center;
    gap: 24px;
}

.toolbar-sort {
    display: flex;
    align-items: center;
    gap: 12px;
}

.toolbar-sort label {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.toolbar-sort select {
    padding: 10px 36px 10px 16px;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    color: var(--dark);
    background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23231F18' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.toolbar-view {
    display: flex;
    gap: 4px;
}

.view-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    color: rgba(35, 31, 24, 0.4);
    cursor: pointer;
    transition: all 0.2s;
}

.view-btn:hover {
    color: var(--dark);
    border-color: rgba(35, 31, 24, 0.3);
}

.view-btn.active {
    background: var(--dark);
    border-color: var(--dark);
    color: var(--white);
}

/* Products Grid */
.category-products {
    padding: 48px var(--container-padding) 80px;
    max-width: calc(var(--container-width) + var(--container-padding) * 2);
    margin: 0 auto;
    background: var(--white);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

/* Product Card */
.product-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 16px;
    overflow: hidden;
    background: var(--white);
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(35, 31, 24, 0.1);
}

.product-card-image {
    position: relative;
    background: var(--cream);
    overflow: hidden;
}

.product-card-image img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.product-card:hover .product-card-image img {
    transform: scale(1.05);
}

.product-card-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.badge-new {
    background: var(--purple);
    color: var(--white);
}

.badge-sale {
    background: var(--pink);
    color: var(--white);
}

.product-card-wishlist {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-8px);
    transition: all 0.3s var(--ease);
}

.product-card:hover .product-card-wishlist {
    opacity: 1;
    transform: translateY(0);
}

.product-card-wishlist:hover {
    background: var(--pink);
    color: var(--white);
}

.product-card-quick {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    opacity: 0;
    transform: translateY(100%);
    transition: all 0.3s var(--ease);
}

.product-card:hover .product-card-quick {
    opacity: 1;
    transform: translateY(0);
}

.btn-quick-add {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-quick-add:hover {
    background: var(--purple);
}

.product-card-info {
    padding: 16px;
}

.product-card-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 8px;
}

.product-card-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
    line-height: 1.3;
}

.product-card-desc {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 12px;
}

.product-card-price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-card-price .price-current {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dark);
}

.product-card-price .price-original {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.pagination-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.2s;
}

.pagination-btn:hover:not(:disabled) {
    background: var(--dark);
    border-color: var(--dark);
    color: var(--white);
}

.pagination-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.pagination-pages {
    display: flex;
    gap: 4px;
}

.pagination-page {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.2s;
}

.pagination-page:hover {
    background: rgba(35, 31, 24, 0.05);
}

.pagination-page.active {
    background: var(--dark);
    color: var(--white);
}

/* Category Description */
.category-description {
    background: var(--white);
    padding: 80px var(--container-padding);
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.category-desc-inner {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 80px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.category-desc-content h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 0;
}

.category-desc-content h3 {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-top: 32px;
    margin-bottom: 16px;
}

.category-desc-content p {
    font-size: 1rem;
    line-height: 1.2;
    color: rgba(35, 31, 24, 0.8);
}

.category-desc-content ul {
    padding-left: 24px;
    margin-bottom: 16px;
}

.category-desc-content li {
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 8px;
}

.category-desc-content em {
    font-style: italic;
    color: rgba(35, 31, 24, 0.6);
}

.category-desc-features {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.desc-feature {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.desc-feature-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 12px;
    color: var(--purple);
    margin-bottom: 16px;
}

.desc-feature h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.desc-feature p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
}

/* Category Linked Blog Posts */
.category-blog-posts {
    background: var(--cream);
    padding: 80px var(--container-padding);
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.category-blog-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.category-blog-title {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 48px;
    text-align: center;
}

.category-blog-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.category-blog-item {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 40px;
    align-items: start;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(35, 31, 24, 0.06);
    transition: box-shadow 0.3s ease;
}

.category-blog-item:hover {
    box-shadow: 0 8px 24px rgba(35, 31, 24, 0.1);
}

.category-blog-image {
    aspect-ratio: 4/3;
    overflow: hidden;
}

.category-blog-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.category-blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.category-blog-item:hover .category-blog-image img {
    transform: scale(1.05);
}

.category-blog-image-placeholder {
    width: 100%;
    height: 100%;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.3);
}

.category-blog-content {
    padding: 32px 32px 32px 0;
}

.category-blog-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--purple);
    background: rgba(139, 92, 246, 0.1);
    padding: 6px 12px;
    border-radius: 6px;
    margin-bottom: 16px;
}

.category-blog-item-title {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
    line-height: 1.3;
}

.category-blog-item-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.category-blog-item-title a:hover {
    color: var(--purple);
}

.category-blog-excerpt {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.75);
    margin-bottom: 24px;
}

.category-blog-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--purple);
    text-decoration: none;
    transition: gap 0.2s ease;
}

.category-blog-link:hover {
    gap: 12px;
}

.category-blog-link svg {
    transition: transform 0.2s ease;
}

.category-blog-link:hover svg {
    transform: translateX(4px);
}

/* Blog Section */
.category-blog {
    background: var(--cream);
    padding: 80px var(--container-padding);
}

.blog-container {
    max-width: var(--container-width);
    margin: 0 auto;
}

.blog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.blog-header h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
}

.blog-all-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    text-decoration: none;
    transition: color 0.2s;
}

.blog-all-link:hover {
    color: var(--purple);
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.blog-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(35, 31, 24, 0.1);
}

.blog-card-image {
    position: relative;
    overflow: hidden;
}

.blog-card-image img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}

.blog-card-category {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    background: var(--white);
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--dark);
}

.blog-card-content {
    padding: 24px;
}

.blog-card-content h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    margin-bottom: 12px;
}

.blog-card-content p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 16px;
}

.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

/* =====================================================
   BLOG PAGE
   ===================================================== */

/* Blog Hero */
.blog-hero {
    background: var(--cream);
    padding: 100px var(--container-padding) 80px;
    text-align: center;
}

.blog-hero-inner {
    max-width: 700px;
    margin: 0 auto;
}

.blog-hero-label {
    display: inline-block;
    padding: 8px 16px;
    background: var(--purple);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 100px;
    margin-bottom: 24px;
}

.blog-hero-title {
    font-family: var(--font-headline);
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.1;
    margin-bottom: 20px;
}

.blog-hero-desc {
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
}

/* Blog Categories Nav */
.blog-categories {
    background: var(--white);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    padding: 0 var(--container-padding);
    position: sticky;
    top: var(--header-height);
    z-index: 100;
}

.blog-categories-inner {
    display: flex;
    gap: 8px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 16px 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.blog-categories-inner::-webkit-scrollbar {
    display: none;
}

.blog-cat-btn {
    padding: 10px 20px;
    background: transparent;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s;
}

.blog-cat-btn:hover {
    border-color: var(--dark);
}

.blog-cat-btn.active {
    background: var(--dark);
    border-color: var(--dark);
    color: var(--white);
}

/* Featured Post */
.blog-featured {
    background: var(--white);
    padding: 60px var(--container-padding);
}

.featured-post {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 48px;
    max-width: var(--container-width);
    margin: 0 auto;
    text-decoration: none;
    color: inherit;
    background: var(--cream);
    border-radius: 24px;
    overflow: hidden;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.featured-post:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(35, 31, 24, 0.1);
}

.featured-post-image {
    position: relative;
    overflow: hidden;
}

.featured-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.featured-post:hover .featured-post-image img {
    transform: scale(1.05);
}

.featured-post-category {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 8px 16px;
    background: var(--white);
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--dark);
}

.featured-post-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 48px 48px 0;
}

.featured-post-content h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.3;
    margin-bottom: 20px;
}

.featured-post-content p {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 24px;
}

.featured-post-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
}

.featured-post-meta .dot {
    width: 4px;
    height: 4px;
    background: rgba(35, 31, 24, 0.3);
    border-radius: 50%;
}

/* Blog Listing */
.blog-listing {
    background: var(--white);
    padding: 0 var(--container-padding) 80px;
}

.blog-listing-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.blog-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 60px;
}

.blog-post-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(35, 31, 24, 0.08);
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.blog-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(35, 31, 24, 0.1);
}

.blog-post-image {
    position: relative;
    overflow: hidden;
}

.blog-post-image img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.blog-post-card:hover .blog-post-image img {
    transform: scale(1.05);
}

.blog-post-category {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    background: var(--white);
    border-radius: 100px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.blog-post-content {
    padding: 24px;
}

.blog-post-content h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    margin-bottom: 12px;
}

.blog-post-content p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 16px;
}

.blog-post-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

/* Load More Button */
.blog-load-more {
    display: flex;
    justify-content: center;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    background: transparent;
    border: 2px solid var(--dark);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.btn-outline:hover {
    background: var(--dark);
    color: var(--white);
}

/* Blog Newsletter */
.blog-newsletter {
    background: var(--purple);
    padding: 80px var(--container-padding);
}

.blog-newsletter-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.blog-newsletter-content h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
}

.blog-newsletter-content p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
}

.blog-newsletter-form {
    display: flex;
    gap: 12px;
}

.blog-newsletter-form input {
    padding: 16px 24px;
    width: 300px;
    border: none;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 1rem;
    background: var(--white);
    color: var(--dark);
}

.blog-newsletter-form input::placeholder {
    color: rgba(35, 31, 24, 0.5);
}

.blog-newsletter-form .btn-primary {
    padding: 16px 32px;
    background: var(--gold);
    color: var(--dark);
    border: none;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.blog-newsletter-form .btn-primary:hover {
    background: var(--white);
    transform: translateY(-2px);
}

/* =====================================================
   BLOG POST PAGE
   ===================================================== */

/* Article Header */
.article-header {
    background: var(--cream);
    padding: 60px var(--container-padding) 48px;
}

.article-header-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.article-category {
    display: inline-block;
    padding: 8px 16px;
    background: var(--purple);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    border-radius: 100px;
    margin-bottom: 24px;
    transition: background 0.2s;
}

.article-category:hover {
    background: var(--dark);
}

.article-title {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.15;
    margin-bottom: 20px;
}

.article-excerpt {
    font-size: 1.1875rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 32px;
}

.article-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.article-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.article-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.article-author-info {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.article-author-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.article-author-role {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.article-details {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.article-details .dot {
    width: 4px;
    height: 4px;
    background: rgba(35, 31, 24, 0.3);
    border-radius: 50%;
}

/* Article Hero Image */
.article-hero-image {
    margin: 0;
    background: var(--cream);
    padding: 0 var(--container-padding) 48px;
}

.article-hero-image img {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    border-radius: 24px;
    aspect-ratio: 2/1;
    object-fit: cover;
}

/* Article Content Layout */
.article-content {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px var(--container-padding) 80px;
}

/* Article Body */
.article-body {
    max-width: 720px;
}

.article-lead {
    font-size: 1.25rem;
    line-height: 1.8;
    color: var(--dark);
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.article-body h2 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-top: 48px;
    margin-bottom: 20px;
}

.article-body h3 {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-top: 32px;
    margin-bottom: 16px;
}

.article-body p {
    font-size: 1.0625rem;
    line-height: 1.85;
    color: rgba(35, 31, 24, 0.85);
    margin-bottom: 20px;
}

.article-body ul,
.article-body ol {
    padding-left: 24px;
    margin-bottom: 24px;
}

.article-body ul {
    list-style: disc;
}

.article-body li {
    font-size: 1.0625rem;
    line-height: 1.85;
    color: rgba(35, 31, 24, 0.85);
    margin-bottom: 12px;
}

.article-body li strong {
    color: var(--dark);
}

.article-body blockquote {
    margin: 40px 0;
    padding: 32px;
    background: var(--cream);
    border-radius: 16px;
    border-left: 4px solid var(--purple);
}

.article-body blockquote p {
    font-size: 1.125rem;
    font-style: italic;
    color: var(--dark);
    margin-bottom: 12px;
}

.article-body blockquote cite {
    font-size: 0.9375rem;
    font-style: normal;
    color: rgba(35, 31, 24, 0.6);
}

/* Article External Links (noopener) */
.article-body a[rel*="noopener"] {
    display: inline-block;
    padding: 16px 24px;
    margin-bottom: 12px;
    background: var(--cream);
    border-radius: 12px;
    color: var(--dark);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s var(--ease);
    border: 1px solid rgba(35, 31, 24, 0.08);
}

.article-body a[rel*="noopener"]:hover {
    background: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(244, 177, 51, 0.3);
}

.article-body a[rel*="noopener"]::after {
    content: " →";
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.article-body a[rel*="noopener"]:hover::after {
    opacity: 1;
}

/* Article Images */
.article-image {
    margin: 40px 0;
}

.article-image img {
    width: 100%;
    border-radius: 16px;
}

.article-image figcaption {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    text-align: center;
    margin-top: 12px;
}

/* Article Tip Box */
.article-tip {
    display: flex;
    gap: 16px;
    padding: 24px;
    background: rgba(142, 111, 193, 0.1);
    border-radius: 16px;
    margin: 32px 0;
}

.article-tip-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--purple);
    color: var(--white);
    border-radius: 12px;
}

.article-tip-content {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--dark);
}

.article-tip-content strong {
    display: block;
    margin-bottom: 4px;
}

/* Article Steps */
.article-steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 32px 0;
}

.article-step {
    display: flex;
    gap: 20px;
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.step-number {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dark);
    color: var(--white);
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: 50%;
}

.step-content h4 {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 6px;
}

.step-content p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin: 0;
}

/* Article CTA Box */
.article-cta {
    margin-top: 48px;
    padding: 40px;
    background: var(--cream);
    border-radius: 20px;
    text-align: center;
}

.article-cta h3 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin: 0 0 12px;
}

.article-cta p {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 24px;
}

.article-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: var(--dark);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s var(--ease);
}

.article-cta .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

/* Article Features Grid */
.article-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin: 32px 0;
}

.article-feature {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
    text-align: center;
}

.article-feature-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 14px;
    margin: 0 auto 16px;
    color: var(--purple);
}

.article-feature h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin: 0 0 8px;
}

.article-feature p {
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(35, 31, 24, 0.7);
    margin: 0;
}

/* Article Do/Don't */
.article-do-dont {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 32px 0;
}

.article-do,
.article-dont {
    padding: 24px;
    border-radius: 16px;
}

.article-do {
    background: rgba(92, 160, 133, 0.1);
    border: 2px solid var(--green);
}

.article-dont {
    background: rgba(228, 147, 147, 0.1);
    border: 2px solid #e49393;
}

.article-do h4,
.article-dont h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 16px;
}

.article-do h4 {
    color: var(--green);
}

.article-dont h4 {
    color: #d16b6b;
}

.article-do ul,
.article-dont ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.article-do li,
.article-dont li {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--dark);
    padding: 6px 0;
}

/* Article FAQ */
.article-faq {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 32px 0;
}

.faq-item {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.faq-item h4 {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--dark);
    margin: 0 0 8px;
}

.faq-item p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin: 0;
}

/* Article Sidebar */
.article-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    height: fit-content;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Table of Contents */
.sidebar-toc {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.sidebar-toc h4 {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dark);
    margin-bottom: 16px;
}

.sidebar-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-toc li {
    margin-bottom: 8px;
}

.sidebar-toc a {
    display: block;
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.7);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.2s;
}

.sidebar-toc a:hover {
    color: var(--dark);
    background: rgba(35, 31, 24, 0.05);
}

.sidebar-toc a.active {
    color: var(--purple);
    background: rgba(142, 111, 193, 0.1);
    font-weight: 500;
}

/* Share Buttons */
.sidebar-share {
    padding: 24px;
    background: var(--white);
    border: 1px solid rgba(35, 31, 24, 0.1);
    border-radius: 16px;
}

.sidebar-share h4 {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dark);
    margin-bottom: 16px;
}

.share-buttons {
    display: flex;
    gap: 10px;
}

.share-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border: none;
    border-radius: 10px;
    color: var(--dark);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
}

.share-btn:hover {
    background: var(--dark);
    color: var(--white);
}

/* Sidebar Product */
.sidebar-product {
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
}

.sidebar-product-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(35, 31, 24, 0.5);
    margin-bottom: 16px;
}

.sidebar-product-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.sidebar-product-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 16px;
    transition: transform 0.3s var(--ease);
}

.sidebar-product-card:hover img {
    transform: scale(1.03);
}

.sidebar-product-card h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 6px;
}

.sidebar-product-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dark);
}

/* Article Footer */
.article-footer {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 var(--container-padding) 80px;
}

/* Article Tags */
.article-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.article-tags span {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.article-tags a {
    padding: 8px 16px;
    background: var(--cream);
    border-radius: 100px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--dark);
    text-decoration: none;
    transition: all 0.2s;
}

.article-tags a:hover {
    background: var(--dark);
    color: var(--white);
}

/* Author Bio */
.article-author-bio {
    display: flex;
    gap: 24px;
    padding: 32px 0;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.article-author-bio img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.author-bio-content h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.author-bio-content p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 12px;
}

.author-bio-social {
    display: flex;
    gap: 16px;
}

.author-bio-social a {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--purple);
    text-decoration: none;
}

.author-bio-social a:hover {
    text-decoration: underline;
}

/* Article Navigation */
.article-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding-top: 32px;
}

.article-nav-prev,
.article-nav-next {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: var(--cream);
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s var(--ease);
}

.article-nav-prev:hover,
.article-nav-next:hover {
    background: var(--dark);
}

.article-nav-prev:hover *,
.article-nav-next:hover * {
    color: var(--white);
}

.article-nav-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(35, 31, 24, 0.5);
    transition: color 0.3s;
}

.article-nav-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    transition: color 0.3s;
}

.article-nav-next {
    text-align: right;
}

.article-nav-next .article-nav-label {
    justify-content: flex-end;
}

/* Related Posts */
.related-posts {
    background: var(--cream);
    padding: 80px var(--container-padding);
}

.related-posts-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.related-posts h2 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 40px;
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* Blog Category Hero */
.blog-category-hero {
    background: var(--cream);
    padding: 60px var(--container-padding) 60px;
    text-align: center;
}

.blog-category-hero-inner {
    max-width: 600px;
    margin: 0 auto;
}

.blog-category-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 20px;
    color: var(--purple);
    margin: 0 auto 24px;
}

.blog-category-title {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.blog-category-desc {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 20px;
}

.blog-category-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.blog-category-stats .dot {
    width: 4px;
    height: 4px;
    background: rgba(35, 31, 24, 0.3);
    border-radius: 50%;
}

/* Related Categories */
.blog-related-cats {
    background: var(--cream);
    padding: 80px var(--container-padding);
}

.blog-related-cats-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.blog-related-cats h2 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 32px;
}

.related-cats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.related-cat-card {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 32px;
    background: var(--white);
    border-radius: 20px;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.related-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(35, 31, 24, 0.1);
}

.related-cat-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 14px;
    color: var(--purple);
    margin-bottom: 20px;
}

.related-cat-card h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.related-cat-card p {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 16px;
}

.related-cat-count {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--purple);
}

/* =====================================================
   ABOUT PAGE
   ===================================================== */

/* Section Label */
.section-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--purple);
    margin-bottom: 16px;
}

/* About Hero */
.about-hero {
    background: var(--cream);
    padding: 100px var(--container-padding) 0;
}

.about-hero-inner {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
}

.about-hero-label {
    display: inline-block;
    padding: 8px 16px;
    background: var(--purple);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 100px;
    margin-bottom: 24px;
}

.about-hero-title {
    font-family: var(--font-headline);
    font-size: 4rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.1;
    margin-bottom: 24px;
}

.about-hero-desc {
    font-size: 1.25rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    max-width: 600px;
    margin: 0 auto;
}

.about-hero-image {
    max-width: 1400px;
    margin: 0 auto;
}

.about-hero-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 24px 24px 0 0;
}

/* About Story */
.about-story {
    background: var(--white);
    padding: 100px var(--container-padding);
}

.about-story-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
}

.about-story-content h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.2;
    margin-bottom: 24px;
}

.about-story-content p {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 20px;
}

.about-story-image img {
    width: 100%;
    height: auto;
    border-radius: 24px;
    aspect-ratio: 5/6;
    object-fit: cover;
}

/* About Mission */
.about-mission {
    background: var(--purple);
    padding: 100px var(--container-padding);
}

.about-mission-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.about-mission .section-label {
    color: var(--gold);
}

.about-mission-content h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 24px;
}

.about-mission-content p {
    font-size: 1.125rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 32px;
}

.about-mission blockquote {
    padding: 32px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    font-size: 1.25rem;
    font-style: italic;
    line-height: 1.6;
    color: var(--white);
}

.about-mission blockquote cite {
    display: block;
    font-size: 0.9375rem;
    font-style: normal;
    color: var(--gold);
    margin-top: 16px;
}

/* About Values */
.about-values {
    background: var(--cream);
    padding: 100px var(--container-padding);
}

.about-values-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.about-values-header {
    text-align: center;
    margin-bottom: 60px;
}

.about-values-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
}

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.about-value {
    text-align: center;
    padding: 40px 24px;
    background: var(--white);
    border-radius: 20px;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.about-value:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(35, 31, 24, 0.1);
}

.about-value-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 20px;
    color: var(--purple);
    margin: 0 auto 24px;
}

.about-value h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 12px;
}

.about-value p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(35, 31, 24, 0.7);
}

/* About Stats */
.about-stats {
    background: var(--dark);
    padding: 80px var(--container-padding);
}

.about-stats-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
    max-width: var(--container-width);
    margin: 0 auto;
}

.about-stat {
    text-align: center;
}

.about-stat-number {
    display: block;
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 8px;
}

.about-stat-label {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
}

/* About Team */
.about-team {
    background: var(--white);
    padding: 100px var(--container-padding);
}

.about-team-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.about-team-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 60px;
}

.about-team-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.about-team-header p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
}

.about-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.team-member {
    text-align: center;
}

.team-member-image {
    position: relative;
    margin-bottom: 24px;
    border-radius: 20px;
    overflow: hidden;
}

.team-member-image img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.team-member:hover .team-member-image img {
    transform: scale(1.05);
}

.team-member h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.team-member-role {
    display: block;
    font-size: 0.875rem;
    color: var(--purple);
    font-weight: 500;
    margin-bottom: 12px;
}

.team-member p {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(35, 31, 24, 0.7);
}

/* About Process */
.about-process {
    background: var(--cream);
    padding: 100px var(--container-padding);
}

.about-process-inner {
    max-width: var(--container-width);
    margin: 0 auto;
}

.about-process-header {
    text-align: center;
    margin-bottom: 60px;
}

.about-process-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
}

.about-process-steps {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.process-step {
    display: grid;
    grid-template-columns: 100px 1fr 300px;
    gap: 40px;
    align-items: center;
    padding: 40px;
    background: var(--white);
    border-radius: 24px;
}

.process-step-number {
    font-family: var(--font-headline);
    font-size: 4rem;
    font-weight: 700;
    color: var(--purple);
    opacity: 0.3;
}

.process-step-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 12px;
}

.process-step-content p {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
}

.process-step-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 16px;
}

/* About Certifications */
.about-certs {
    background: var(--white);
    padding: 80px var(--container-padding);
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.about-certs-inner {
    max-width: var(--container-width);
    margin: 0 auto;
    text-align: center;
}

.about-certs h2 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 48px;
}

.about-certs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.about-cert {
    padding: 32px 24px;
    background: var(--cream);
    border-radius: 20px;
}

.about-cert-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 50%;
    color: var(--purple);
    margin: 0 auto 20px;
}

.about-cert h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 6px;
}

.about-cert p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

/* About CTA */
.about-cta {
    background: var(--gold);
    padding: 100px var(--container-padding);
}

.about-cta-inner {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.about-cta h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 20px;
}

.about-cta p {
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 32px;
}

.about-cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.about-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: var(--dark);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s var(--ease);
}

.about-cta .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

.about-cta .btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 16px 32px;
    background: transparent;
    border: 2px solid var(--dark);
    color: var(--dark);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s var(--ease);
}

.about-cta .btn-secondary:hover {
    background: var(--dark);
    color: var(--white);
}

/* =====================================================
   CART PAGE
   ===================================================== */

/* Cart Header */
.page-cart .header .nav {
    justify-content: space-between;
}

.nav-trust-msg {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
}

.nav-trust-msg svg {
    color: var(--green);
}

.nav-help-link {
    font-size: 0.9375rem;
    color: var(--dark);
    text-decoration: none;
    font-weight: 500;
}

.nav-help-link:hover {
    color: var(--purple);
}

/* Cart Page Layout */
.cart-page {
    background: var(--cream);
    min-height: calc(100vh - var(--header-height));
    padding: calc(var(--header-height) + 40px) var(--container-padding) 80px;
}

/* Cart Alerts */
.cart-alerts {
    max-width: 1200px;
    margin: 0 auto 20px;
}

.alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 12px;
}

.alert:last-child {
    margin-bottom: 0;
}

.alert-success {
    background: rgba(76, 175, 80, 0.1);
    color: #2e7d32;
    border: 1px solid rgba(76, 175, 80, 0.2);
}

.alert-error {
    background: rgba(244, 67, 54, 0.1);
    color: #c62828;
    border: 1px solid rgba(244, 67, 54, 0.2);
}

.cart-container {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Cart Main */
.cart-main {
    background: var(--white);
    border-radius: 20px;
    padding: 32px;
}

.cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.cart-header h1 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
}

.cart-item-count {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

/* Cart Items */
.cart-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 32px;
}

.cart-item {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: 20px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.cart-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.cart-item-image {
    width: 100px;
    height: 100px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--cream);
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    color: var(--gray);
}

.cart-item-details {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cart-item-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.cart-item-variant {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 8px;
}

.cart-item-promo-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 100px;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cart-promo-buy_x_get_y {
    background: #FEF3C7;
    color: #D97706;
    border: 1px solid #F59E0B;
}

.cart-promo-flash_sale {
    background: #FEE2E2;
    color: #DC2626;
    border: 1px solid #EF4444;
}

.cart-promo-quantity_discount {
    background: rgba(76, 108, 74, 0.1);
    color: var(--green);
    border: 1px solid var(--green);
}

.price-promo-savings {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--green);
}

.cart-promo-detail {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    padding-left: 12px;
}

.cart-item-badges {
    display: flex;
    gap: 8px;
}

.cart-item-badges .badge {
    font-size: 0.6875rem;
    padding: 4px 8px;
}

.cart-item-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cart-quantity {
    display: flex;
    align-items: center;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    overflow: hidden;
}

.cart-qty-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--dark);
    transition: background 0.2s;
}

.cart-qty-btn:hover {
    background: rgba(35, 31, 24, 0.05);
}

.cart-qty-input {
    width: 40px;
    height: 36px;
    text-align: center;
    border: none;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    -moz-appearance: textfield;
}

.cart-qty-input::-webkit-outer-spin-button,
.cart-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.cart-item-remove {
    background: none;
    border: none;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    cursor: pointer;
    text-decoration: underline;
    transition: color 0.2s;
}

.cart-item-remove:hover {
    color: var(--pink);
}

.cart-item-price {
    text-align: right;
}

.cart-item-price .price-current {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dark);
}

.cart-item-price .price-unit {
    display: block;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    margin-top: 4px;
}

/* Cart Upsell */
.cart-upsell {
    background: var(--cream);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.cart-upsell-header h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 16px;
}

.cart-upsell-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.upsell-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--white);
    border-radius: 12px;
}

.upsell-item img {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    object-fit: cover;
}

.upsell-item-info {
    flex: 1;
}

.upsell-item-info h4 {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    margin-bottom: 2px;
}

.upsell-item-price {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.upsell-item-add {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.upsell-item-add:hover {
    background: var(--purple);
}

/* Cart Quantity Upsell */
.cart-upsell-inline {
    margin-top: 24px;
    margin-bottom: 20px;
}

.cart-upsell-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 12px;
}

.cart-upsell-header svg {
    color: var(--purple);
}

.cart-upsell-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.cart-upsell-message p {
    font-size: 0.9375rem;
    color: var(--dark);
    margin: 0 0 8px 0;
}

.cart-upsell-message strong {
    color: var(--dark);
}

.cart-upsell-savings {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
}

.cart-upsell-price-old {
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.cart-upsell-price-new {
    font-weight: 700;
    color: #16a34a;
    background: rgba(22, 163, 74, 0.1);
    padding: 2px 8px;
    border-radius: 4px;
}

.cart-upsell-savings svg {
    color: rgba(35, 31, 24, 0.4);
}

.cart-upsell-btn {
    white-space: nowrap;
    background: var(--purple);
    color: #fff;
    border: none;
    flex-shrink: 0;
}

.cart-upsell-btn:hover {
    background: var(--purple-dark);
}

@media (max-width: 640px) {
    .cart-upsell-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .cart-upsell-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Cart Cross-sell */
.cart-cross-sell {
    background: linear-gradient(135deg, #f8f7f4 0%, #f0efe8 100%);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
    border: 1px solid rgba(35, 31, 24, 0.08);
}

.cart-cross-sell-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 16px;
}

.cart-cross-sell-title svg {
    color: var(--purple);
}

.cart-cross-sell-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cart-cross-sell-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: var(--white);
    border-radius: 12px;
    transition: box-shadow 0.2s;
}

.cart-cross-sell-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.cart-cross-sell-image {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cream);
}

.cart-cross-sell-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.cart-cross-sell-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.cart-cross-sell-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.3);
}

.cart-cross-sell-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cart-cross-sell-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.cart-cross-sell-desc {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.cart-cross-sell-price {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--dark);
}

.cart-cross-sell-add {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    white-space: nowrap;
    flex-shrink: 0;
}

.cart-cross-sell-add svg {
    flex-shrink: 0;
}

/* Continue Shopping */
.cart-continue {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    text-decoration: none;
    transition: color 0.2s;
}

.cart-continue:hover {
    color: var(--purple);
}

/* Cart Summary */
.cart-summary {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    height: fit-content;
}

.cart-summary-inner {
    background: var(--white);
    border-radius: 20px;
    padding: 32px;
}

.cart-summary h2 {
    font-family: var(--font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 24px;
}

/* Shipping Progress */
.cart-shipping-progress {
    padding: 16px;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 12px;
    margin-bottom: 20px;
}

.shipping-progress-text {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--dark);
    margin-bottom: 12px;
}

.shipping-progress-text svg {
    color: var(--green);
    flex-shrink: 0;
}

.shipping-progress-bar {
    height: 6px;
    background: #e5e5e5;
    border-radius: 4px;
    overflow: hidden;
}

.shipping-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--purple), var(--pink));
    border-radius: 4px;
    transition: width 0.5s ease;
}

.cart-shipping-free .shipping-progress-text {
    margin-bottom: 0;
    color: var(--green);
    font-weight: 600;
}

.cart-shipping-free .shipping-progress-text svg {
    color: var(--green);
}

/* Coupon */
.cart-coupon {
    margin-bottom: 20px;
}

.cart-coupon-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px;
    background: transparent;
    border: 1px dashed rgba(35, 31, 24, 0.2);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.2s;
}

.cart-coupon-toggle:hover {
    border-color: var(--purple);
    color: var(--purple);
}

.cart-coupon-toggle .chevron {
    margin-left: auto;
    transition: transform 0.2s;
}

.cart-coupon-toggle .chevron.rotate-180 {
    transform: rotate(180deg);
}

.cart-coupon-form {
    margin-top: 0;
}

.cart-coupon-form .coupon-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 0.9375rem;
    color: var(--dark);
}

.cart-coupon-form .coupon-input-group {
    display: flex;
    gap: 8px;
}

.cart-coupon-form input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
}

.cart-coupon-form button {
    padding: 12px 20px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
}

.coupon-applied {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.coupon-applied .coupon-code {
    background: var(--green);
    color: white;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
}

.coupon-applied .coupon-remove {
    background: none;
    border: none;
    color: var(--red);
    cursor: pointer;
    font-size: 0.875rem;
    text-decoration: underline;
}

/* Cart Totals */
.cart-totals {
    padding: 20px 0;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 20px;
}

.cart-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9375rem;
    color: var(--dark);
    margin-bottom: 12px;
}

.cart-total-row:last-of-type {
    margin-bottom: 0;
}

.cart-total-row.total {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    font-size: 1.25rem;
    font-weight: 700;
}

.shipping-calc {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

.cart-tax-note {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    margin-top: 8px;
}

/* Checkout Button */
.btn-checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px;
    background: var(--dark);
    color: var(--white);
    border: none;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1.0625rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.btn-checkout:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

/* Express Checkout */
.cart-express {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.cart-express-label {
    display: block;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    text-align: center;
    margin-bottom: 12px;
}

.cart-express-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.express-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: var(--white);
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.express-btn:hover {
    border-color: var(--dark);
}

.express-apple {
    background: #000;
    color: #fff;
    border-color: #000;
}

/* Cart Trust */
.cart-trust {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.cart-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
}

.cart-trust-item svg {
    color: var(--green);
}

/* Payment Icons */
.cart-payment-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.cart-payment-icons img {
    opacity: 0.6;
}

.payment-icon-text {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* =====================================================
   CHECKOUT PAGE
   ===================================================== */

/* Checkout Header */
.checkout-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--container-padding);
    height: var(--header-height);
    background: var(--white);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
}

.checkout-logo img {
    height: 32px;
}

.checkout-steps {
    display: flex;
    align-items: center;
    gap: 12px;
}

.checkout-step {
    display: flex;
    align-items: center;
    gap: 8px;
}

.checkout-step .step-number {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(35, 31, 24, 0.1);
    border-radius: 50%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(35, 31, 24, 0.5);
    transition: all 0.2s;
}

.checkout-step.active .step-number {
    background: var(--purple);
    color: var(--white);
}

.checkout-step.completed .step-number {
    background: var(--green);
    color: var(--white);
}

.checkout-step .step-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(35, 31, 24, 0.5);
}

.checkout-step.active .step-label {
    color: var(--dark);
}

.checkout-step-line {
    width: 40px;
    height: 2px;
    background: rgba(35, 31, 24, 0.1);
    transition: background 0.3s ease;
}

.checkout-step-line.completed {
    background: var(--green);
}

.checkout-help {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9375rem;
    color: var(--dark);
    text-decoration: none;
}

.checkout-help:hover {
    color: var(--purple);
}

/* Checkout Page Layout */
.checkout-page {
    background: var(--cream);
    min-height: 100vh;
    padding: calc(var(--header-height) + 40px) var(--container-padding) 120px;
}

.checkout-container {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
}

/* Checkout Main */
.checkout-main,
form.checkout-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Express Checkout */
.checkout-express {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
}

.checkout-express-label {
    display: block;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 16px;
}

.checkout-express-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.checkout-express .express-btn {
    flex: 1;
    max-width: 200px;
    padding: 14px 24px;
}

/* Divider */
.checkout-divider {
    display: flex;
    align-items: center;
    gap: 16px;
}

.checkout-divider::before,
.checkout-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(35, 31, 24, 0.15);
}

.checkout-divider span {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
}

/* Checkout Sections */
.checkout-section {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
}

.checkout-section-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    cursor: pointer;
}

.section-number {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 50%;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(35, 31, 24, 0.5);
    flex-shrink: 0;
}

.checkout-section.active .section-number {
    background: var(--purple);
    color: var(--white);
}

.section-title h2 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.section-subtitle {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.checkout-section-content {
    padding: 0 24px 24px;
}

/* Form Styles */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.form-row-3 {
    grid-template-columns: 1fr 2fr;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.form-group:last-child {
    margin-bottom: 0;
}

.form-group label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--dark);
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 14px 16px;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--dark);
    background: var(--white);
    transition: all 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--purple);
    box-shadow: 0 0 0 3px rgba(142, 111, 193, 0.1);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: rgba(35, 31, 24, 0.4);
}

.form-group select {
    cursor: pointer;
}

.form-hint {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

.form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 16px;
}

.form-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: var(--purple);
    cursor: pointer;
}

.form-checkbox label {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.8);
    cursor: pointer;
}

.form-checkbox label a {
    color: var(--purple);
}

/* Billing Form */
.billing-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin: 24px 0 16px;
    padding-top: 24px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

/* Shipping Options */
.shipping-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.shipping-free-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 10px;
    font-size: 0.875rem;
    color: var(--dark);
    margin-bottom: 8px;
}

.shipping-free-notice svg {
    color: var(--green);
    flex-shrink: 0;
}

/* Free shipping progress with upsell */
.shipping-free-progress {
    margin-bottom: 16px;
}

.shipping-free-progress .shipping-free-notice {
    margin-bottom: 0;
    border-radius: 10px 10px 0 0;
}

.shipping-free-progress .shipping-free-notice:last-child {
    border-radius: 10px;
}

/* Checkout page - use same progress bar as cart */
.shipping-options .cart-shipping-progress {
    margin-bottom: 16px;
}

.shipping-options .cart-shipping-progress .shipping-progress-bar {
    margin-top: 12px;
}

.shipping-upsell-product {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(76, 175, 80, 0.05);
    border-top: 1px dashed rgba(76, 175, 80, 0.3);
    border-radius: 0 0 10px 10px;
}

.shipping-upsell-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.shipping-upsell-image {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

.shipping-upsell-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.shipping-upsell-name {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shipping-upsell-price {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--purple);
}

.shipping-upsell-btn {
    flex-shrink: 0;
    padding: 6px 14px;
    font-size: 0.75rem;
}

.shipping-option {
    display: block;
    cursor: pointer;
}

.shipping-option input {
    display: none;
}

.shipping-option-content {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 2px solid rgba(35, 31, 24, 0.1);
    border-radius: 12px;
    transition: all 0.2s;
}

.shipping-option input:checked + .shipping-option-content {
    border-color: var(--purple);
    background: rgba(142, 111, 193, 0.05);
}

.shipping-option-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 10px;
    color: var(--dark);
}

.shipping-option-info {
    flex: 1;
}

.shipping-option-name {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 2px;
}

.shipping-option-desc {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.shipping-option-price {
    text-align: right;
}

.shipping-option-price span {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.shipping-option-price .price-crossed {
    font-size: 0.8125rem;
    font-weight: 400;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

.shipping-option-price .price-free {
    color: var(--green);
}

.shipping-select-point {
    display: none;
    width: 100%;
    margin-top: 12px;
    padding: 12px 16px;
    background: var(--cream);
    border: 2px dashed rgba(35, 31, 24, 0.2);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--purple);
    cursor: pointer;
    transition: all 0.2s ease;
}

.shipping-select-point:hover {
    border-color: var(--purple);
    background: rgba(136, 95, 219, 0.05);
}

.shipping-select-point span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.shipping-select-point svg {
    flex-shrink: 0;
}

.shipping-option input:checked ~ .shipping-select-point {
    display: block;
}

/* Packeta selected state */
.shipping-select-point.has-branch {
    border-style: solid;
    border-color: var(--green);
    background: rgba(0, 161, 119, 0.05);
    color: var(--dark);
}

.shipping-select-point.has-branch:hover {
    background: rgba(0, 161, 119, 0.1);
    border-color: var(--green);
}

.shipping-select-point .packeta-selected {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.shipping-select-point .packeta-selected svg {
    color: var(--green);
    flex-shrink: 0;
}

.shipping-select-point .packeta-branch-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.shipping-select-point .packeta-selected strong {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
}

.shipping-select-point .packeta-selected small {
    font-size: 0.8125rem;
    font-weight: 400;
    color: rgba(35, 31, 24, 0.6);
}

/* Payment Options */
.payment-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.payment-option {
    display: block;
    cursor: pointer;
}

.payment-option input {
    display: none;
}

.payment-option-content {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 2px solid rgba(35, 31, 24, 0.1);
    border-radius: 12px;
    transition: all 0.2s;
}

.payment-option input:checked + .payment-option-content {
    border-color: var(--purple);
    background: rgba(142, 111, 193, 0.05);
}

.payment-option-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 10px;
    color: var(--dark);
}

.payment-option-info {
    flex: 1;
}

.payment-option-name {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 2px;
}

.payment-option-desc {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.payment-option-icons {
    display: flex;
    gap: 8px;
}

.payment-option-price span {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

/* Order Note Section */
.checkout-section-note {
    padding: 24px;
}

.checkout-section-note .form-group {
    margin-bottom: 0;
}

/* Submit Section */
.checkout-submit {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.checkout-terms {
    margin-bottom: 20px;
}

.btn-submit-order {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 20px;
    background: var(--green);
    color: var(--white);
    border: none;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.btn-submit-order:hover {
    background: #3d8b40;
    transform: translateY(-2px);
}

.btn-submit-price {
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    font-size: 1rem;
}

.checkout-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

/* Checkout Summary */
.checkout-summary {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    height: fit-content;
}

.checkout-summary-inner {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.checkout-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.checkout-summary-header h2 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dark);
}

.summary-edit {
    font-size: 0.875rem;
    color: var(--purple);
    text-decoration: none;
}

/* Summary Items */
.checkout-summary-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 20px;
}

.summary-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.summary-item-image {
    position: relative;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.summary-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    background: var(--cream);
}

.summary-item-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dark);
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 600;
    border-radius: 10px;
}

.summary-item-info {
    flex: 1;
}

.summary-item-info h4 {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    margin-bottom: 2px;
}

.summary-item-info span {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

.summary-item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.summary-item-price .price-current {
    font-weight: 600;
    color: var(--dark);
}

.summary-item-price .price-original {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.summary-item-price .price-promo-badge {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #16a34a;
    background: rgba(22, 163, 74, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Summary Coupon */
.checkout-summary-coupon {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.checkout-summary-coupon input {
    flex: 1;
    padding: 12px 14px;
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
}

.checkout-summary-coupon button:not(.coupon-remove-inline) {
    padding: 12px 16px;
    background: var(--cream);
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    transition: background 0.2s;
}

.checkout-summary-coupon button:not(.coupon-remove-inline):hover {
    background: var(--dark);
    color: var(--white);
}

.checkout-summary-coupon .coupon-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: transparent;
    border: 1px dashed rgba(35, 31, 24, 0.2);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.2s;
}

.checkout-summary-coupon .coupon-toggle:hover {
    border-color: var(--purple);
    color: var(--purple);
}

.checkout-summary-coupon .coupon-form {
    display: flex;
    gap: 8px;
}

.checkout-summary-coupon .coupon-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 12px;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 8px;
}

.checkout-summary-coupon .coupon-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--green);
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.checkout-summary-coupon .coupon-remove-inline {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 3px 5px;
    margin-left: 10px;
    display: inline-flex;
    align-items: center;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.checkout-summary-coupon .coupon-remove-inline:hover {
    opacity: 1;
}

.checkout-summary-coupon .coupon-discount {
    color: var(--green);
    font-weight: 600;
    font-size: 0.9375rem;
}

.summary-item-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 8px;
    color: var(--gray);
}

/* Summary Totals */
.checkout-summary-totals {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 20px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9375rem;
    color: var(--dark);
    margin-bottom: 10px;
}

.summary-row-total {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    font-size: 1.25rem;
    font-weight: 700;
}

.text-green {
    color: var(--green);
}

.summary-tax {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    margin-top: 8px;
}

/* Summary Trust */
.checkout-summary-trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.checkout-summary-trust .trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.7);
}

.checkout-summary-trust .trust-item svg {
    color: var(--green);
}

/* Guarantee */
.checkout-guarantee {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: rgba(76, 175, 80, 0.08);
    border-radius: 12px;
}

.guarantee-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 50%;
    color: var(--green);
    flex-shrink: 0;
}

.guarantee-content h4 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.guarantee-content p {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgba(35, 31, 24, 0.7);
}

/* Mobile Summary */
.checkout-mobile-summary {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--white);
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    padding: 16px 20px;
    z-index: 100;
}

.mobile-summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-summary-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    color: var(--purple);
    font-weight: 500;
}

.mobile-summary-total {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark);
}

/* =====================================================
   THANK YOU PAGE
   ===================================================== */

.thankyou-page {
    background: var(--cream);
    min-height: calc(100vh - var(--header-height));
    padding: calc(var(--header-height) + 60px) var(--container-padding) 80px;
}

.thankyou-container {
    max-width: 1100px;
    margin: 0 auto;
}

.thankyou-header {
    text-align: center;
    margin-bottom: 48px;
}

.thankyou-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--green);
    color: var(--white);
    border-radius: 50%;
    margin: 0 auto 24px;
}

.thankyou-header h1 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 12px;
}

.thankyou-subtitle {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 24px;
}

.thankyou-order-number {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--white);
    border-radius: 100px;
    font-size: 0.9375rem;
}

.thankyou-order-number strong {
    color: var(--purple);
}

.thankyou-content {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 32px;
    margin-bottom: 48px;
}

.thankyou-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Order Timeline */
.order-timeline {
    background: var(--white);
    border-radius: 20px;
    padding: 32px;
}

.order-timeline h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 24px;
}

.timeline-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.timeline-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
    border-left: 2px solid rgba(35, 31, 24, 0.1);
    margin-left: 15px;
    padding-left: 32px;
    position: relative;
}

.timeline-step:first-child {
    padding-top: 0;
}

.timeline-step:last-child {
    padding-bottom: 0;
    border-left-color: transparent;
}

.timeline-step-icon {
    position: absolute;
    left: -17px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border: 2px solid rgba(35, 31, 24, 0.1);
    border-radius: 50%;
    color: rgba(35, 31, 24, 0.4);
}

.timeline-step.completed .timeline-step-icon {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}

.timeline-step-content h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.timeline-step-content p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

/* Order Summary Box */
.order-summary-box {
    background: var(--white);
    border-radius: 20px;
    padding: 32px;
}

.order-summary-box h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 24px;
}

.order-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 20px;
}

.order-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.order-item-image {
    width: 60px;
    height: 60px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--cream);
}

.order-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-item-info {
    flex: 1;
}

.order-item-info h4 {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--dark);
    margin-bottom: 2px;
}

.order-item-info span {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
}

.order-item-price {
    font-family: var(--font-headline);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
}

.order-totals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.order-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9375rem;
    color: var(--dark);
}

.order-total-row.total {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    font-size: 1.125rem;
    font-weight: 700;
}

/* Order Info Grid */
.order-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.order-info-box {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.order-info-box h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(35, 31, 24, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.order-info-box p {
    font-size: 0.9375rem;
    color: var(--dark);
    line-height: 1.5;
}

/* Thank You Sidebar */
.thankyou-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.thankyou-email-box {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
}

.email-box-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
    border-radius: 12px;
    color: var(--purple);
    margin: 0 auto 16px;
}

.thankyou-email-box h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.thankyou-email-box p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.5;
}

/* Social Share */
.thankyou-share {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.thankyou-share h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.thankyou-share p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 16px;
}

.share-buttons {
    display: flex;
    gap: 10px;
}

.share-btn-large {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.share-facebook {
    background: #1877F2;
    color: white;
}

.share-instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: white;
}

/* Referral */
.thankyou-referral {
    background: var(--purple);
    border-radius: 16px;
    padding: 24px;
    color: var(--white);
}

.thankyou-referral h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.thankyou-referral p {
    font-size: 0.875rem;
    opacity: 0.8;
    margin-bottom: 16px;
}

.referral-code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}

.referral-code span {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.copy-btn {
    background: transparent;
    border: none;
    color: var(--white);
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.copy-btn:hover {
    opacity: 1;
}

/* Help */
.thankyou-help {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.thankyou-help h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.thankyou-help p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 16px;
}

.help-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--purple);
    text-decoration: none;
}

.help-link:hover {
    text-decoration: underline;
}

/* Thank You Actions */
.thankyou-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.thankyou-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s var(--ease);
}

.thankyou-actions .btn-primary {
    background: var(--dark);
    color: var(--white);
}

.thankyou-actions .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

.thankyou-actions .btn-outline {
    background: transparent;
    border: 2px solid var(--dark);
    color: var(--dark);
}

.thankyou-actions .btn-outline:hover {
    background: var(--dark);
    color: var(--white);
}

/* Thank You - Bank Transfer Card */
.bank-transfer-card {
    background: linear-gradient(135deg, #fefefe 0%, #f8f7f5 100%);
    border: 1px solid rgba(35, 31, 24, 0.1);
    border-radius: 20px;
    padding: 32px;
    margin-bottom: 32px;
}

.bank-transfer-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.bank-transfer-icon {
    width: 56px;
    height: 56px;
    background: var(--purple);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-shrink: 0;
}

.bank-transfer-title h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark);
    margin: 0 0 4px 0;
}

.bank-transfer-title p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
    margin: 0;
}

.bank-transfer-body {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.bank-transfer-info {
    flex: 1;
    min-width: 0;
}

.bank-transfer-qr {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.bank-transfer-qr-code {
    background: var(--white);
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 4px 20px rgba(35, 31, 24, 0.08);
}

.bank-transfer-qr-code img {
    display: block;
    border-radius: 8px;
}

.bank-transfer-qr-label {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    text-align: center;
    font-weight: 500;
}

.bank-transfer-amount {
    background: var(--purple);
    color: var(--white);
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.bank-transfer-amount-label {
    font-size: 0.9375rem;
    opacity: 0.9;
}

.bank-transfer-amount-value {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.bank-transfer-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bank-transfer-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--white);
    border-radius: 12px;
    border: 1px solid rgba(35, 31, 24, 0.08);
}

.bank-transfer-row-highlight {
    background: rgba(114, 88, 187, 0.06);
    border-color: rgba(114, 88, 187, 0.15);
}

.bank-transfer-row-icon {
    width: 36px;
    height: 36px;
    background: rgba(35, 31, 24, 0.06);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.5);
    flex-shrink: 0;
}

.bank-transfer-row-highlight .bank-transfer-row-icon {
    background: var(--purple);
    color: var(--white);
}

.bank-transfer-row-content {
    flex: 1;
    min-width: 0;
}

.bank-transfer-row-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(35, 31, 24, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.bank-transfer-row-value {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--dark);
}

.bank-transfer-row-value.font-mono {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.bank-transfer-copy {
    width: 40px;
    height: 40px;
    background: var(--white);
    border: 1px solid rgba(35, 31, 24, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.5);
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.bank-transfer-copy:hover {
    background: var(--purple);
    border-color: var(--purple);
    color: var(--white);
}

.bank-transfer-copy.copied {
    background: #22c55e;
    border-color: #22c55e;
    color: var(--white);
}

.bank-transfer-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    margin-top: 20px;
    background: rgba(234, 179, 8, 0.1);
    border-radius: 12px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.7);
    line-height: 1.5;
}

.bank-transfer-note svg {
    flex-shrink: 0;
    color: #ca8a04;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .bank-transfer-body {
        flex-direction: column-reverse;
        gap: 24px;
    }

    .bank-transfer-qr {
        width: 100%;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    }

    .bank-transfer-qr-code {
        padding: 12px;
    }

    .bank-transfer-qr-code img {
        width: 140px;
        height: 140px;
    }
}

@media (max-width: 640px) {
    .bank-transfer-card {
        padding: 24px 20px;
    }

    .bank-transfer-header {
        flex-direction: column;
        text-align: center;
    }

    .bank-transfer-icon {
        margin: 0 auto;
    }

    .bank-transfer-amount {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .bank-transfer-row {
        flex-wrap: nowrap;
    }

    .bank-transfer-row-icon {
        display: none;
    }

    .bank-transfer-row-content {
        flex: 1;
        min-width: 0;
    }

    .bank-transfer-row-label {
        font-size: 0.7rem;
    }

    .bank-transfer-row-value {
        font-size: 0.85rem;
    }

    .bank-transfer-copy {
        flex-shrink: 0;
        padding: 6px 10px;
        font-size: 0.75rem;
    }
}

/* Thank You - Post-Purchase Upsell Modal */
.upsell-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(35, 31, 24, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
    animation: fadeIn 0.3s ease;
}

.upsell-overlay.closing {
    animation: fadeOut 0.3s ease forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

.upsell-modal {
    background: var(--white);
    border-radius: 24px;
    padding: 32px;
    max-width: 440px;
    width: 100%;
    text-align: center;
    box-shadow: 0 24px 64px rgba(35, 31, 24, 0.2);
    position: relative;
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.upsell-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    color: rgba(35, 31, 24, 0.4);
    cursor: pointer;
    padding: 4px;
    transition: color 0.2s ease;
}

.upsell-modal-close:hover {
    color: var(--dark);
}

.upsell-modal-header {
    margin-bottom: 24px;
}

.upsell-modal-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: var(--white);
    border-radius: 50%;
    margin: 0 auto 16px;
}

.upsell-modal-header h3 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 4px;
}

.upsell-modal-header p {
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.6);
}

.upsell-modal-offer {
    background: var(--cream);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
}

.upsell-modal-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--purple), #9333ea);
    color: var(--white);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 100px;
    margin-bottom: 12px;
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}

.upsell-modal-offer h4 {
    font-family: var(--font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.upsell-modal-product {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--white);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 16px;
    text-align: left;
}

.upsell-modal-product img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
}

.upsell-modal-product-placeholder {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(35, 31, 24, 0.06);
    border-radius: 10px;
    color: rgba(35, 31, 24, 0.3);
    flex-shrink: 0;
}

.upsell-modal-product-info {
    flex: 1;
}

.upsell-modal-product-info strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 2px;
}

.upsell-modal-product-info p {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 6px;
}

.upsell-modal-prices {
    display: flex;
    align-items: center;
    gap: 8px;
}

.upsell-price-new {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--purple);
}

.upsell-price-old {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.upsell-modal-btn {
    width: 100%;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 100px;
    background: var(--dark);
    color: var(--white);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.upsell-modal-btn:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

.upsell-modal-btn.btn-success {
    background: var(--green, #22c55e);
}

.upsell-modal-btn svg.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.upsell-modal-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin-top: 10px;
}

.upsell-modal-note svg {
    color: var(--green, #22c55e);
}

.upsell-modal-countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 12px;
}

.upsell-modal-countdown > span {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
}

.countdown-timer {
    display: flex;
    align-items: center;
    gap: 2px;
    font-family: var(--font-mono, monospace);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--purple);
}

.countdown-timer span {
    background: var(--cream);
    padding: 4px 8px;
    border-radius: 6px;
    min-width: 32px;
    text-align: center;
}

.upsell-modal-skip {
    background: none;
    border: none;
    color: rgba(35, 31, 24, 0.5);
    font-size: 0.875rem;
    cursor: pointer;
    padding: 8px 16px;
    transition: color 0.2s ease;
}

.upsell-modal-skip:hover {
    color: var(--dark);
    text-decoration: underline;
}

/* Expanded Upsell Modal with Multiple Products */
.upsell-modal-expanded {
    max-width: 960px;
    width: 94vw;
}

.upsell-modal-expanded .upsell-modal-offer {
    padding: 20px;
}

.upsell-modal-expanded .upsell-modal-offer h4 {
    margin-bottom: 4px;
}

.upsell-limit-info {
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin: 0 0 16px;
}

.upsell-products-wrapper {
    position: relative;
    margin: 0 -8px;
}

.upsell-products-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 8px;
    max-height: 400px;
    overflow-y: auto;
}

.upsell-nav {
    display: none;
}

.upsell-product-card {
    background: var(--white);
    border-radius: 10px;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(35, 31, 24, 0.06);
    border: 1px solid rgba(35, 31, 24, 0.08);
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}

.upsell-product-card:hover {
    box-shadow: 0 4px 12px rgba(35, 31, 24, 0.1);
    border-color: rgba(35, 31, 24, 0.15);
}

.upsell-product-card.upsell-added {
    opacity: 0.6;
    background: rgba(34, 197, 94, 0.05);
    border-color: var(--green, #22c55e);
    pointer-events: none;
}

.upsell-product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 8px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--white);
    flex-shrink: 0;
}

.upsell-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--white);
}

.upsell-product-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.3);
}

.upsell-product-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: var(--red, #ef4444);
    color: var(--white);
    font-size: 0.625rem;
    font-weight: 700;
    padding: 3px 6px;
    border-radius: 4px;
}

.upsell-product-info {
    flex: 1;
    margin-bottom: 8px;
    min-height: 0;
}

.upsell-product-name {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--dark);
    margin: 0 0 2px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
}

.upsell-product-sku {
    display: none;
}

.upsell-product-prices {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.upsell-product-prices .upsell-price-new {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--dark);
}

.upsell-product-prices .upsell-price-old {
    font-size: 0.6875rem;
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.upsell-product-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
}

.upsell-quantity {
    display: flex;
    align-items: center;
    gap: 2px;
    background: var(--cream);
    border-radius: 6px;
    padding: 2px;
    flex-shrink: 0;
}

.upsell-qty-btn {
    width: 24px;
    height: 24px;
    border: none;
    background: var(--white);
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upsell-qty-btn:hover:not(:disabled) {
    background: var(--dark);
    color: var(--white);
}

.upsell-qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.upsell-qty-input {
    width: 28px;
    text-align: center;
    border: none;
    background: transparent;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--dark);
}

.upsell-add-btn {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border: none;
    background: var(--primary, #d97706);
    color: var(--white);
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upsell-add-btn:hover:not(:disabled) {
    background: var(--dark);
}

.upsell-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.upsell-add-btn svg.animate-spin {
    animation: spin 1s linear infinite;
}

.upsell-add-btn.btn-success {
    background: var(--green, #22c55e);
    border-color: var(--green, #22c55e);
}

.upsell-modal-footer {
    padding: 16px 20px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
    text-align: center;
}

.upsell-skip-btn {
    padding: 10px 24px;
    font-size: 0.875rem;
    border-radius: 8px;
}

.order-item-new {
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tablet */
@media (max-width: 768px) {
    .upsell-modal-expanded {
        max-width: 100%;
        width: 96vw;
    }

    .upsell-products-container {
        grid-template-columns: repeat(3, 1fr);
        max-height: 320px;
    }

    .upsell-product-image {
        height: 80px;
    }
}

/* Mobile */
@media (max-width: 540px) {
    .upsell-modal-expanded {
        max-width: 100%;
        width: 100%;
        border-radius: 20px 20px 0 0;
        max-height: 92vh;
        overflow-y: auto;
        margin: auto 0 0;
    }

    .upsell-products-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        max-height: 280px;
    }

    .upsell-product-card {
        padding: 8px;
    }

    .upsell-product-image {
        height: 70px;
    }

    .upsell-product-name {
        font-size: 0.6875rem;
    }

    .upsell-product-prices .upsell-price-new {
        font-size: 0.8125rem;
    }

    .upsell-product-actions {
        flex-direction: row;
    }
}

/* =====================================================
   FAQ PAGE
   ===================================================== */

.faq-hero {
    background: var(--cream);
    padding: 100px var(--container-padding) 60px;
    text-align: center;
}

.faq-hero-inner {
    max-width: 600px;
    margin: 0 auto;
}

.faq-hero h1 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.faq-hero p {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 32px;
}

.faq-search {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    background: var(--white);
    border-radius: 100px;
    box-shadow: 0 4px 20px rgba(35, 31, 24, 0.08);
}

.faq-search svg {
    color: rgba(35, 31, 24, 0.4);
}

.faq-search input {
    flex: 1;
    border: none;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--dark);
    background: transparent;
}

.faq-search input::placeholder {
    color: rgba(35, 31, 24, 0.4);
}

.faq-search input:focus {
    outline: none;
}

/* FAQ Categories */
.faq-categories {
    background: var(--white);
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    padding: 0 var(--container-padding);
    position: sticky;
    top: var(--header-height);
    z-index: 100;
}

.faq-categories-inner {
    display: flex;
    justify-content: center;
    gap: 8px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 20px 0;
    overflow-x: auto;
}

.faq-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 24px;
    background: var(--cream);
    border-radius: 16px;
    text-decoration: none;
    color: var(--dark);
    transition: all 0.2s;
    min-width: 120px;
}

.faq-category:hover {
    background: rgba(142, 111, 193, 0.1);
}

.faq-category.active {
    background: var(--purple);
    color: var(--white);
}

.faq-category-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 12px;
}

.faq-category.active .faq-category-icon {
    background: rgba(255, 255, 255, 0.2);
}

.faq-category span {
    font-size: 0.875rem;
    font-weight: 500;
}

/* FAQ Content */
.faq-content {
    background: var(--white);
    padding: 60px var(--container-padding) 80px;
}

.faq-content-inner {
    max-width: 800px;
    margin: 0 auto;
}

.faq-section {
    margin-bottom: 48px;
}

.faq-section:last-child {
    margin-bottom: 0;
}

.faq-section h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--cream);
}

.faq-section h2 svg {
    color: var(--purple);
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    background: var(--cream);
    border-radius: 16px;
    overflow: hidden;
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
    cursor: pointer;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary svg {
    flex-shrink: 0;
    transition: transform 0.3s;
}

.faq-item[open] summary svg {
    transform: rotate(180deg);
}

.faq-item[open] summary {
    background: rgba(142, 111, 193, 0.1);
}

.faq-answer {
    padding: 0 24px 24px;
}

.faq-answer p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 12px;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer ul,
.faq-answer ol {
    padding-left: 20px;
    margin-bottom: 12px;
}

.faq-answer li {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.8);
    margin-bottom: 8px;
}

.faq-answer a {
    color: var(--purple);
}

/* FAQ Contact CTA */
.faq-contact {
    background: var(--cream);
    padding: 80px var(--container-padding);
}

.faq-contact-inner {
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
}

.faq-contact-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--purple);
    color: var(--white);
    border-radius: 50%;
    margin: 0 auto 24px;
}

.faq-contact h2 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 12px;
}

.faq-contact p {
    font-size: 1rem;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 24px;
}

.faq-contact .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: var(--dark);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s var(--ease);
}

.faq-contact .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

/* =====================================================
   404 PAGE
   ===================================================== */

.error-page {
    min-height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--header-height) + 40px) var(--container-padding) 80px;
    background: var(--cream);
}

.error-container {
    max-width: 500px;
    text-align: center;
}

.error-illustration {
    color: var(--purple);
    margin-bottom: 32px;
}

.error-container h1 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.error-container > p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 32px;
}

.error-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 48px;
}

.error-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s var(--ease);
}

.error-actions .btn-primary {
    background: var(--dark);
    color: var(--white);
}

.error-actions .btn-primary:hover {
    background: var(--purple);
    transform: translateY(-2px);
}

.error-actions .btn-outline {
    background: transparent;
    border: 2px solid var(--dark);
    color: var(--dark);
}

.error-actions .btn-outline:hover {
    background: var(--dark);
    color: var(--white);
}

.error-links p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 16px;
}

.error-links-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.error-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 16px;
    background: var(--white);
    border-radius: 16px;
    text-decoration: none;
    color: var(--dark);
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.error-link:hover {
    background: var(--purple);
    color: var(--white);
    transform: translateY(-2px);
}

.error-link svg {
    opacity: 0.6;
}

.error-link:hover svg {
    opacity: 1;
}

/* =====================================================
   FOOTER
   ===================================================== */
.footer {
    background: var(--purple);
    color: var(--white);
    padding: 0 0 0;
}

.footer-marquee {
    background: var(--gold);
    padding: 16px 0;
    overflow: hidden;
}

.footer-marquee-track {
    display: flex;
    gap: 48px;
    width: max-content;
    animation: marquee 25s linear infinite;
}

.footer-marquee-track span {
    font-family: var(--font-headline);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dark);
    white-space: nowrap;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-33.33%);
    }
}

.footer-main {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 80px 0px 60px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-logo {
    height: 60px;
    margin-bottom: 20px;
}

.footer-brand p {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 280px;
}

.footer-social {
    display: flex;
    gap: 12px;
}

.footer-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    color: var(--white);
    border-radius: 50%;
    transition: all 0.3s var(--ease);
}

.footer-social a:hover {
    background: var(--gold);
    color: var(--dark);
    transform: translateY(-3px);
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.footer-col h4 {
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--white);
    margin-bottom: 20px;
}

.footer-col ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-col a {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.3s var(--ease);
}

.footer-col a:hover {
    color: var(--gold);
}

.footer-badges {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 40px 0px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-badges-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-badges-center {
    align-items: center;
}

.footer-badges-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.4);
}

.footer-badges-icons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-badges-icons svg {
    border-radius: 4px;
}

.footer-badge-cert {
    height: 56px;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 24px 0px;
}

.footer-bottom p {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.4);
}

.footer-legal {
    display: flex;
    gap: 24px;
}

.footer-legal a {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.4);
    transition: color 0.3s var(--ease);
}

.footer-legal a:hover {
    color: var(--white);
}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 1024px) {
    .nav-menu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999;
        background: var(--white);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: calc(var(--header-height) + 20px) 24px 40px;
        gap: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-item > a {
        color: var(--dark);
        font-size: 1.125rem;
        padding: 16px 0;
        border-bottom: 1px solid rgba(35, 31, 24, 0.08);
        display: block;
    }

    .nav-item > a::after {
        display: none;
    }

    .nav-item > a:hover {
        color: var(--purple, #885FDB);
    }

    /* Mobile dropdown */
    .nav-item.has-dropdown {
        position: static;
    }

    .nav-item.has-dropdown > a {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .nav-item.has-dropdown > a::after {
        content: '';
        display: block !important;
        position: static;
        width: 8px;
        height: 8px;
        background: none;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
        margin-left: auto;
        flex-shrink: 0;
    }

    .nav-item.has-dropdown.open > a::after {
        transform: rotate(-135deg);
    }

    .nav-item.has-dropdown .dropdown {
        position: static;
        transform: none !important;
        min-width: 100%;
        box-shadow: none;
        border-radius: 0;
        padding: 0 0 0 16px;
        opacity: 1;
        visibility: visible;
        display: none;
        background: transparent;
    }

    .nav-item.has-dropdown.open .dropdown {
        display: block;
    }

    .dropdown-item {
        padding: 12px 0;
        border-bottom: 1px solid rgba(35, 31, 24, 0.05);
    }

    .dropdown-item strong {
        color: var(--dark);
    }

    .dropdown-img {
        width: 40px;
        height: 40px;
    }

    /* Force solid header on mobile so icons are always visible */
    .header {
        background: var(--white);
        box-shadow: 0 1px 0 rgba(35, 31, 24, 0.1);
    }

    .logo .logo-white {
        display: none;
    }

    .logo .logo-dark {
        display: block;
    }

    .nav-item > a {
        color: var(--dark);
    }

    .btn-icon {
        color: var(--dark);
    }

    .nav-toggle {
        display: flex;
        z-index: 1001;
    }

    .nav-toggle span {
        background: var(--dark);
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }

    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .bestsellers-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hiw-steps {
        gap: 32px;
    }

    .custom-content {
        padding: 60px 40px;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

    .why-peelo-content {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .why-peelo-image {
        grid-column: 1 / -1;
        grid-row: 1;
        width: 280px;
        margin: 0 auto;
    }

    .why-peelo-items {
        gap: 32px;
    }

    .footer-links {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

/* =====================================================
   AUTH PAGES (Login, Register)
   ===================================================== */
.auth-page {
    min-height: 100vh;
    padding: calc(var(--header-height) + 60px) var(--container-padding) 80px;
    background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}

.auth-container {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.auth-box {
    background: var(--white);
    border-radius: 16px;
    padding: 48px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.auth-header {
    text-align: center;
    margin-bottom: 32px;
}

.auth-header h1 {
    font-family: var(--font-headline);
    font-size: 2rem;
    margin-bottom: 8px;
}

.auth-header p {
    color: rgba(35, 31, 24, 0.6);
}

.auth-social {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}

.auth-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 0.9375rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.auth-google {
    background: var(--white);
    border: 1px solid rgba(35, 31, 24, 0.15);
    color: var(--dark);
}

.auth-google:hover {
    background: rgba(35, 31, 24, 0.03);
    border-color: rgba(35, 31, 24, 0.3);
}

.auth-facebook {
    background: #1877F2;
    color: var(--white);
}

.auth-facebook:hover {
    background: #166FE5;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0;
}

.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(35, 31, 24, 0.1);
}

.auth-divider span {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.5);
}

.auth-form .form-group label {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.auth-form .form-link {
    font-size: 0.875rem;
    color: var(--purple);
    font-weight: 500;
}

.auth-form .form-link:hover {
    text-decoration: underline;
}

.password-input {
    position: relative;
}

.password-input input {
    padding-right: 48px;
}

.password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(35, 31, 24, 0.4);
    padding: 4px;
}

.password-toggle:hover {
    color: var(--dark);
}

.password-strength {
    margin-top: 8px;
}

.password-strength-bar {
    height: 4px;
    border-radius: 2px;
    background: rgba(35, 31, 24, 0.1);
    margin-bottom: 4px;
}

.password-strength-text {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.5);
}

.btn-full {
    width: 100%;
    justify-content: center;
}

.auth-footer {
    text-align: center;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.auth-footer a {
    color: var(--purple);
    font-weight: 600;
}

.auth-footer a:hover {
    text-decoration: underline;
}

.auth-benefits {
    padding: 48px;
    background: var(--purple);
    border-radius: 16px;
    color: var(--white);
}

.auth-benefits h2 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    margin-bottom: 32px;
}

/* Centered Auth (Forgot Password) */
.auth-page-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

.auth-box-narrow {
    max-width: 440px;
    width: 100%;
}

.auth-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(136, 95, 219, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    color: var(--purple);
}

.auth-icon-success {
    background: rgba(0, 161, 119, 0.1);
    color: var(--green);
}

.auth-success-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background: #F8F7F5;
    border-radius: 12px;
    margin-bottom: 24px;
}

.success-info-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9375rem;
    color: rgba(35, 31, 24, 0.7);
}

.success-info-item svg {
    flex-shrink: 0;
    color: var(--purple);
}

.back-to-login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--purple);
    font-weight: 500;
    margin-top: 16px;
}

.back-to-login:hover {
    text-decoration: underline;
}

.resend-link {
    color: var(--purple);
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.resend-link:hover {
    text-decoration: none;
}

/* Password Requirements */
.password-requirements {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.requirement {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.5);
    transition: color 0.2s ease;
}

.requirement svg {
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.requirement.valid {
    color: var(--green);
}

.requirement.valid svg {
    stroke: var(--green);
}

.requirement.valid svg circle {
    fill: var(--green);
    stroke: var(--green);
}

/* Auth Error State */
.auth-icon-error {
    background: rgba(229, 71, 106, 0.1);
    color: var(--pink);
}

/* =====================================================
   WISHLIST PAGE
   ===================================================== */
.wishlist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.wishlist-item {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.wishlist-item:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.wishlist-item-image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.wishlist-item:hover .wishlist-item-image img {
    transform: scale(1.05);
}

.wishlist-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.5);
    opacity: 0;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.wishlist-item:hover .wishlist-remove {
    opacity: 1;
}

.wishlist-remove:hover {
    color: var(--pink);
    background: rgba(229, 71, 106, 0.1);
}

.wishlist-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.badge-bestseller {
    background: var(--gold);
    color: var(--dark);
}

.badge-sale {
    background: var(--pink);
    color: var(--white);
}

.badge-soldout {
    background: rgba(35, 31, 24, 0.8);
    color: var(--white);
}

.wishlist-item-unavailable .wishlist-item-image img {
    filter: grayscale(50%);
    opacity: 0.7;
}

.wishlist-item-content {
    padding: 20px;
}

.wishlist-item-title {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 4px;
    transition: color 0.2s ease;
}

.wishlist-item-title:hover {
    color: var(--purple);
}

.wishlist-item-desc {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 16px;
}

.wishlist-item-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.wishlist-item-price {
    font-size: 1.125rem;
    font-weight: 700;
}

.wishlist-item-prices {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wishlist-item-price-old {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.4);
    text-decoration: line-through;
}

.wishlist-item-footer .btn-sm {
    padding: 8px 14px;
    font-size: 0.8125rem;
    gap: 6px;
}

/* Wishlist Empty State */
.wishlist-empty {
    text-align: center;
    padding: 80px 40px;
    background: var(--white);
    border-radius: 16px;
}

.wishlist-empty-icon {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(136, 95, 219, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    color: var(--purple);
}

.wishlist-empty h2 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    margin-bottom: 8px;
}

.wishlist-empty p {
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 24px;
}

/* Wishlist Actions */
.wishlist-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.benefits-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.benefits-list li {
    display: flex;
    gap: 16px;
}

.benefits-list svg {
    flex-shrink: 0;
    opacity: 0.8;
}

.benefits-list strong {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.benefits-list span {
    font-size: 0.875rem;
    opacity: 0.8;
}

/* =====================================================
   ACCOUNT PAGES
   ===================================================== */
.account-page {
    min-height: 100vh;
    padding: calc(var(--header-height) + 40px) var(--container-padding) 80px;
    background: #F8F7F5;
}

.account-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
}

/* Account Sidebar */
.account-sidebar {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    height: fit-content;
    position: sticky;
    top: calc(var(--header-height) + 24px);
}

.account-user {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 24px;
}

.account-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
}

.account-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-user-info h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 2px;
}

.account-user-info span {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.account-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.account-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: rgba(35, 31, 24, 0.7);
    transition: all 0.2s ease;
}

.account-nav-item:hover {
    background: rgba(35, 31, 24, 0.05);
    color: var(--dark);
}

.account-nav-item.active {
    background: var(--purple);
    color: var(--white);
}

.account-nav-item svg {
    flex-shrink: 0;
}

.nav-badge {
    margin-left: auto;
    background: var(--gold);
    color: var(--dark);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
}

.account-nav-item.active .nav-badge {
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.account-nav-divider {
    height: 1px;
    background: rgba(35, 31, 24, 0.1);
    margin: 12px 0;
}

/* Account Main */
.account-main {
    min-width: 0;
}

.account-header {
    margin-bottom: 32px;
}

.account-header h1 {
    font-family: var(--font-headline);
    font-size: 2rem;
    margin-bottom: 8px;
}

.account-header p {
    color: rgba(35, 31, 24, 0.6);
}

/* Account Stats */
.account-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.account-stat {
    background: var(--white);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.account-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(136, 95, 219, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--purple);
}

.account-stat-highlight {
    background: var(--purple);
    color: var(--white);
}

.account-stat-highlight .account-stat-icon {
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.account-stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    display: block;
}

.account-stat-label {
    font-size: 0.875rem;
    opacity: 0.7;
}

/* Account Sections */
.account-section {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.account-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.account-section h2 {
    font-family: var(--font-headline);
    font-size: 1.25rem;
}

.section-link {
    font-size: 0.875rem;
    color: var(--purple);
    font-weight: 500;
}

.section-link:hover {
    text-decoration: underline;
}

/* Orders List (Dashboard) */
.orders-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.order-card {
    display: block;
    background: #F8F7F5;
    border-radius: 12px;
    padding: 16px 20px;
    transition: all 0.2s ease;
}

.order-card:hover {
    background: rgba(136, 95, 219, 0.08);
}

.order-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.order-number {
    font-weight: 600;
    font-size: 0.9375rem;
}

.order-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.status-processing .status-dot { background: var(--gold); }
.status-shipped .status-dot { background: var(--purple); }
.status-delivered .status-dot { background: var(--green); }
.status-cancelled .status-dot { background: var(--pink); }

.status-processing { color: #B8860B; }
.status-shipped { color: var(--purple); }
.status-delivered { color: var(--green); }
.status-cancelled { color: var(--pink); }

.order-card-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.order-items-preview {
    display: flex;
    gap: -8px;
}

.order-items-preview img {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid var(--white);
    margin-left: -8px;
}

.order-items-preview img:first-child {
    margin-left: 0;
}

.order-items-more {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(35, 31, 24, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: -8px;
}

.order-info {
    text-align: right;
}

.order-date {
    display: block;
    font-size: 0.8125rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 2px;
}

.order-total {
    font-weight: 600;
}

/* Quick Actions */
.quick-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.quick-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 16px;
    background: #F8F7F5;
    border-radius: 12px;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.quick-action:hover {
    background: rgba(136, 95, 219, 0.1);
}

.quick-action-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--purple);
}

/* Referral Box */
.account-referral {
    background: linear-gradient(135deg, var(--purple) 0%, #6B42B8 100%);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    color: var(--white);
}

.referral-content h3 {
    font-family: var(--font-headline);
    font-size: 1.25rem;
    margin-bottom: 8px;
}

.referral-content p {
    opacity: 0.8;
    font-size: 0.9375rem;
}

.referral-code-box {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.15);
    padding: 12px 16px;
    border-radius: 8px;
}

.referral-code {
    font-family: monospace;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 1px;
}

.referral-code-box .copy-btn {
    color: var(--white);
    opacity: 0.7;
}

.referral-code-box .copy-btn:hover {
    opacity: 1;
}

/* Orders Page */
.orders-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.orders-filter {
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    background: var(--white);
    color: rgba(35, 31, 24, 0.7);
    transition: all 0.2s ease;
}

.orders-filter:hover {
    background: rgba(35, 31, 24, 0.05);
}

.orders-filter.active {
    background: var(--dark);
    color: var(--white);
}

.orders-table {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
}

.order-row {
    display: grid;
    grid-template-columns: 1fr auto auto 32px;
    gap: 24px;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.08);
    transition: background 0.2s ease;
}

.order-row:last-child {
    border-bottom: none;
}

.order-row:hover {
    background: rgba(136, 95, 219, 0.04);
}

.order-row-main {
    display: flex;
    align-items: center;
    gap: 16px;
}

.order-row-images {
    display: flex;
}

.order-row-images img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid var(--white);
    margin-left: -12px;
}

.order-row-images img:first-child {
    margin-left: 0;
}

.order-items-count {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: rgba(35, 31, 24, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-left: -12px;
}

.order-row-number {
    font-weight: 600;
}

.order-row-date {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.order-row-status {
    display: flex;
    align-items: center;
    gap: 16px;
}

.order-row-tracking {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--purple);
    font-weight: 500;
}

.order-row-total {
    font-weight: 600;
    font-size: 1rem;
}

.order-row-arrow {
    color: rgba(35, 31, 24, 0.3);
}

/* Order Detail Page */
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 24px;
    transition: color 0.2s ease;
}

.back-link:hover {
    color: var(--dark);
}

.order-detail-header {
    margin-bottom: 24px;
}

.order-detail-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

.order-detail-title h1 {
    font-family: var(--font-headline);
    font-size: 1.75rem;
}

.order-detail-date {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

/* Tracking Box */
.order-tracking-box {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.order-tracking-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.order-tracking-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.125rem;
}

.tracking-link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    color: var(--purple);
    font-weight: 500;
}

.tracking-link:hover {
    text-decoration: underline;
}

.order-tracking-progress {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.order-tracking-progress::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 32px;
    right: 32px;
    height: 2px;
    background: rgba(35, 31, 24, 0.1);
}

.tracking-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    flex: 1;
}

.tracking-step-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(35, 31, 24, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
    color: rgba(35, 31, 24, 0.4);
}

.tracking-step.completed .tracking-step-icon {
    background: var(--green);
    color: var(--white);
}

.tracking-step.active .tracking-step-icon {
    background: var(--purple);
    color: var(--white);
    box-shadow: 0 0 0 4px rgba(136, 95, 219, 0.2);
}

.tracking-step-title {
    font-size: 0.875rem;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.tracking-step-date {
    font-size: 0.75rem;
    color: rgba(35, 31, 24, 0.5);
}

/* Order Detail Content */
.order-detail-content {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
}

.order-detail-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.order-detail-section {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
}

.order-detail-section h2 {
    font-size: 1.125rem;
    margin-bottom: 20px;
}

.order-detail-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.order-detail-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #F8F7F5;
    border-radius: 12px;
}

.order-detail-item-image {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
}

.order-detail-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-detail-item-info {
    flex: 1;
}

.order-detail-item-info h3 {
    font-size: 1rem;
    margin-bottom: 4px;
}

.order-detail-item-info .item-variant,
.order-detail-item-info .item-qty {
    display: block;
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.order-detail-item-price {
    font-weight: 600;
    font-size: 1rem;
}

.order-detail-addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.order-detail-addresses .order-detail-section {
    margin: 0;
}

.order-address p {
    margin-bottom: 4px;
}

.order-address .address-contact {
    margin-top: 12px;
    color: rgba(35, 31, 24, 0.6);
}

/* Order Summary Sidebar */
.order-detail-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    height: fit-content;
}

.order-summary-card {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 16px;
}

.order-summary-card h2 {
    font-size: 1.125rem;
    margin-bottom: 20px;
}

.order-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.1);
    margin-bottom: 16px;
}

.order-summary-row {
    display: flex;
    justify-content: space-between;
}

.order-summary-row.total {
    font-size: 1.125rem;
    font-weight: 600;
    padding-top: 12px;
}

.order-payment-method h3 {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
    margin-bottom: 8px;
}

.payment-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.order-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.order-actions .btn {
    gap: 8px;
}

.btn-ghost {
    background: transparent;
    color: rgba(35, 31, 24, 0.7);
}

.btn-ghost:hover {
    background: rgba(35, 31, 24, 0.05);
    color: var(--dark);
}

/* Profile Page */
.profile-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.profile-section {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
}

.profile-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(35, 31, 24, 0.08);
}

.profile-section-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    font-weight: 600;
}

.profile-section-content {
    padding: 24px;
}

.profile-avatar-edit {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}

.profile-avatar-large {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
}

.profile-avatar-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-avatar-actions {
    display: flex;
    gap: 12px;
}

.btn-sm {
    padding: 8px 16px;
    font-size: 0.875rem;
}

/* Address Card */
.address-card {
    border: 1px solid rgba(35, 31, 24, 0.1);
    border-radius: 12px;
    padding: 20px;
    position: relative;
}

.address-card-default {
    border-color: var(--purple);
    background: rgba(136, 95, 219, 0.04);
}

.address-card-badge {
    position: absolute;
    top: -10px;
    left: 16px;
    background: var(--purple);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 4px;
}

.address-card-content p {
    margin-bottom: 4px;
}

.address-card-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

/* Preferences */
.preference-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid rgba(35, 31, 24, 0.08);
}

.preference-item:last-child {
    border-bottom: none;
}

.preference-info h3 {
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 4px;
}

.preference-info p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

/* Toggle Switch */
.toggle {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 28px;
}

.toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(35, 31, 24, 0.2);
    border-radius: 28px;
    transition: background 0.3s ease;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    left: 3px;
    bottom: 3px;
    background: var(--white);
    border-radius: 50%;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.toggle input:checked + .toggle-slider {
    background: var(--purple);
}

.toggle input:checked + .toggle-slider::before {
    transform: translateX(20px);
}

/* Profile Actions */
.profile-actions {
    display: flex;
    gap: 12px;
}

/* Danger Zone */
.profile-danger-zone {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(35, 31, 24, 0.1);
}

.profile-danger-zone h2 {
    font-size: 1rem;
    color: var(--pink);
    margin-bottom: 16px;
}

.danger-zone-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 24px;
    background: rgba(229, 71, 106, 0.05);
    border: 1px solid rgba(229, 71, 106, 0.2);
    border-radius: 12px;
}

.danger-zone-info h3 {
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 4px;
}

.danger-zone-info p {
    font-size: 0.875rem;
    color: rgba(35, 31, 24, 0.6);
}

.btn-danger {
    background: var(--pink);
    color: var(--white);
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.btn-danger:hover {
    background: #D13D5A;
}

@media (max-width: 768px) {
    :root {
        --header-height: 70px;
    }

    .nav {
        padding: 0 20px;
    }

    .logo {
        height: 50px;
    }

    .nav-menu {
        padding: calc(var(--header-height) + 16px) 20px 32px;
    }

    .nav-item > a {
        font-size: 1rem;
        padding: 14px 0;
    }

    .nav-actions {
        gap: 4px;
    }

    .hero-content {
        padding: 0 20px 100px;
    }

    .hero-title {
        font-size: 3rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-scroll {
        display: none;
    }

    .btn {
        width: 100%;
        max-width: 280px;
    }

    /* UGC */
    .ugc {
        padding: 60px 0;
    }

    .ugc-track {
        padding: 0 20px;
        gap: 12px;
    }

    .ugc-slide {
        flex: 0 0 200px;
    }

    /* Social Proof */
    .social-proof {
        padding: 14px 20px;
    }

    .social-proof-inner {
        gap: 12px;
    }

    .social-proof-text {
        font-size: 0.8125rem;
        text-align: center;
    }

    /* Benefits */
    .benefits {
        padding: 60px 20px;
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .benefit-icon {
        width: 56px;
        height: 56px;
    }

    .benefit h3 {
        font-size: 1rem;
    }

    .benefit p {
        font-size: 0.8125rem;
    }

    /* Categories */
    .categories {
        padding: 60px 20px;
    }

    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .category-overlay {
        padding: 16px;
    }

    .category-overlay h3 {
        font-size: 1.125rem;
    }

    .category-link {
        opacity: 1;
        transform: translateY(0);
        font-size: 0.75rem;
    }

    /* Custom Production */
    .custom-production {
        grid-template-columns: 1fr;
    }

    .custom-content {
        padding: 60px 20px;
        max-width: 100%;
        margin: 0;
    }

    .custom-content h2 {
        font-size: 2.5rem;
    }

    .custom-visual {
        min-height: 300px;
        order: -1;
    }

    /* How It Works */
    .how-it-works {
        padding: 80px 20px;
    }

    .hiw-header h2 {
        font-size: 2.5rem;
    }

    .hiw-steps {
        grid-template-columns: 1fr;
        gap: 48px;
        max-width: 320px;
    }

    .hiw-number {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    /* Bestsellers */
    .bestsellers {
        padding: 60px 20px;
    }

    .bestsellers-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 24px;
    }

    .bestsellers-header h2 {
        font-size: 2rem;
    }

    .bestsellers-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .product-info {
        padding: 16px;
    }

    .product-info h3 {
        font-size: 1rem;
    }

    .product-desc {
        display: none;
    }

    .product-price {
        font-size: 1rem;
    }

    /* Testimonials */
    .testimonials {
        padding: 60px 20px;
    }

    .testimonials-header h2 {
        font-size: 2rem;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* Why Peelo */
    .why-peelo {
        padding: 60px 20px;
    }

    .why-peelo h2 {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .why-peelo-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .why-peelo-image {
        width: 250px;
        order: -1;
        margin: 0 auto;
    }

    .why-peelo-items {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .why-icon {
        width: 52px;
        height: 52px;
    }

    .why-item h4 {
        font-size: 1rem;
    }

    .why-item p {
        font-size: 0.875rem;
    }

    .testimonial {
        padding: 24px;
    }

    /* Partners */
    .partners {
        padding: 50px 20px;
    }

    .partners-logos {
        gap: 30px;
    }

    .partner-logo {
        height: 40px;
    }

    /* Contact Page */
    .contact-hero {
        padding: 60px 20px;
    }

    .contact-hero h1 {
        font-size: 2.25rem;
    }

    .contact-section {
        padding: 60px 20px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .contact-form-wrapper {
        padding: 32px 24px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .contact-faq {
        padding: 60px 20px;
    }

    .contact-faq h2 {
        font-size: 1.75rem;
    }

    .faq-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .faq-item {
        padding: 24px;
    }

    /* Text Page */
    .text-page {
        padding: 60px 20px;
    }

    .text-page h1 {
        font-size: 2.25rem;
    }

    .text-page-content h2 {
        font-size: 1.25rem;
        margin-top: 36px;
    }

    .text-page-content blockquote {
        padding: 20px 24px;
    }

    /* Product Page */
    .breadcrumb {
        padding: 12px 20px;
    }

    .breadcrumb ol {
        font-size: 0.8125rem;
    }

    .product-main {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 20px 20px 60px;
        overflow: hidden;
    }

    .product-gallery {
        position: static;
        overflow: hidden;
        max-width: 100%;
    }

    .product-gallery-thumbs.has-scroll .thumb {
        flex: 0 0 calc(33.333% - 8px);
    }

    .variant-images {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        max-width: 100%;
        padding-bottom: 8px;
    }

    .variant-image-wrapper {
        width: 100%;
    }

    .variant-image {
        width: 100% !important;
        height: auto !important;
    }

    .product-title {
        font-size: 1.75rem;
    }

    .price-current {
        font-size: 1.5rem;
    }

    .variant-buttons {
        grid-template-columns: repeat(2, 1fr);
    }

    .variant-btn-badge {
        font-size: 0.625rem;
        padding: 3px 8px;
    }

    .product-actions {
        flex-direction: column;
    }

    .quantity-selector {
        justify-content: center;
    }

    .product-trust {
        flex-wrap: wrap;
        gap: 16px;
    }

    .benefits-bar-inner {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .benefit-bar-item {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .reviews-header {
        flex-direction: column;
        gap: 32px;
    }

    .reviews-summary {
        flex-direction: column;
        gap: 24px;
    }

    .reviews-header h2 {
        font-size: 1.5rem;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .related-products {
        padding: 60px 20px;
    }

    .related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .related-info h3 {
        font-size: 0.9375rem;
    }

    /* Footer */
    .footer {
        padding: 0 20px 0;
    }

    .footer-marquee {
        margin-left: -16px;
        margin-right: -16px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .footer-brand {
        text-align: center;
    }

    .footer-brand p {
        max-width: 100%;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .footer-legal {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

    .footer-badges {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .footer-badges-group {
        align-items: center;
    }

    /* Category Page */
    .category-hero {
        padding: 60px 20px;
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .category-hero-content {
        order: 1;
    }

    .category-hero-image {
        order: 2;
        max-width: 100%;
        margin: 0 auto;
    }

    .category-hero h1 {
        font-size: 2.25rem;
    }

    .category-stats {
        justify-content: flex-start;
    }

    .category-toolbar {
        padding: 12px 20px;
    }

    .toolbar-inner {
        flex-wrap: wrap;
        gap: 12px;
    }

    .toolbar-count {
        width: 100%;
        order: -1;
    }

    .toolbar-sort label {
        display: none;
    }

    .toolbar-view {
        display: none;
    }

    .category-products {
        padding: 32px 20px 60px;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .product-card-info {
        padding: 12px;
    }

    .product-card-title {
        font-size: 0.9375rem;
    }

    .product-card-desc {
        display: none;
    }

    .product-card-quick {
        display: none;
    }

    .pagination-btn,
    .pagination-page {
        width: 40px;
        height: 40px;
    }

    .category-description {
        padding: 60px 20px;
    }

    .category-desc-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .category-desc-content h2 {
        font-size: 1.5rem;
    }

    /* Category Linked Blog Posts - Mobile */
    .category-blog-posts {
        padding: 60px 20px;
    }

    .category-blog-title {
        font-size: 1.5rem;
        margin-bottom: 32px;
    }

    .category-blog-list {
        gap: 32px;
    }

    .category-blog-item {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .category-blog-image {
        aspect-ratio: 16/9;
    }

    .category-blog-content {
        padding: 24px;
    }

    .category-blog-item-title {
        font-size: 1.25rem;
    }

    .category-blog-excerpt {
        font-size: 0.9375rem;
        margin-bottom: 20px;
    }

    .category-blog {
        padding: 60px 20px;
    }

    .blog-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .blog-header h2 {
        font-size: 1.5rem;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-card-content {
        padding: 20px;
    }

    .blog-card-content h3 {
        font-size: 1rem;
    }

    /* Blog Page */
    .blog-hero {
        padding: 80px 20px 60px;
    }

    .blog-hero-title {
        font-size: 2.25rem;
    }

    .blog-hero-desc {
        font-size: 1rem;
    }

    .blog-categories {
        padding: 0 20px;
    }

    .blog-categories-inner {
        padding: 12px 0;
        gap: 6px;
    }

    .blog-cat-btn {
        padding: 8px 16px;
        font-size: 0.875rem;
    }

    .blog-featured {
        padding: 40px 20px;
    }

    .featured-post {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }

    .featured-post-image img {
        aspect-ratio: 16/9;
    }

    .featured-post-content {
        padding: 32px 24px;
    }

    .featured-post-content h2 {
        font-size: 1.5rem;
    }

    .blog-listing {
        padding: 0 20px 60px;
    }

    .blog-posts-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 48px;
    }

    .blog-post-content {
        padding: 20px;
    }

    .blog-post-content h3 {
        font-size: 1rem;
    }

    .blog-newsletter {
        padding: 60px 20px;
    }

    .blog-newsletter-inner {
        flex-direction: column;
        text-align: center;
        gap: 32px;
    }

    .blog-newsletter-content h2 {
        font-size: 1.5rem;
    }

    .blog-newsletter-form {
        flex-direction: column;
        width: 100%;
    }

    .blog-newsletter-form input {
        width: 100%;
    }

    .blog-newsletter-form .btn-primary {
        width: 100%;
    }

    /* Blog Category Page */
    .blog-category-hero {
        padding: 40px 20px;
    }

    .blog-category-icon {
        width: 60px;
        height: 60px;
        border-radius: 16px;
    }

    .blog-category-title {
        font-size: 1.75rem;
    }

    .blog-category-stats {
        flex-wrap: wrap;
        justify-content: center;
    }

    .blog-related-cats {
        padding: 60px 20px;
    }

    .blog-related-cats h2 {
        font-size: 1.5rem;
    }

    .related-cats-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .related-cat-card {
        padding: 24px;
    }

    /* Blog Post Page */
    .article-header {
        padding: 40px 20px 32px;
    }

    .article-title {
        font-size: 1.75rem;
    }

    .article-excerpt {
        font-size: 1rem;
    }

    .article-meta {
        flex-direction: column;
        gap: 20px;
    }

    .article-hero-image {
        padding: 0 20px 32px;
    }

    .article-hero-image img {
        border-radius: 16px;
        aspect-ratio: 16/9;
    }

    .article-content {
        grid-template-columns: 1fr;
        gap: 48px;
        padding: 40px 20px 60px;
    }

    .article-sidebar {
        position: static;
        order: -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .sidebar-toc {
        display: none;
    }

    .sidebar-share,
    .sidebar-product {
        padding: 20px;
    }

    .article-body h2 {
        font-size: 1.375rem;
        margin-top: 36px;
    }

    .article-body h3 {
        font-size: 1.125rem;
    }

    .article-body p,
    .article-body li {
        font-size: 1rem;
    }

    .article-lead {
        font-size: 1.0625rem;
        margin-bottom: 32px;
        padding-bottom: 32px;
    }

    .article-tip {
        flex-direction: column;
        gap: 12px;
    }

    .article-step {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .article-cta {
        padding: 32px 24px;
    }

    .article-cta h3 {
        font-size: 1.25rem;
    }

    .article-features {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .article-feature {
        padding: 20px 16px;
    }

    .article-do-dont {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-footer {
        padding: 0 20px 60px;
    }

    .article-author-bio {
        flex-direction: column;
        text-align: center;
    }

    .article-author-bio img {
        margin: 0 auto;
    }

    .author-bio-social {
        justify-content: center;
    }

    .article-nav {
        grid-template-columns: 1fr;
    }

    .article-nav-next {
        text-align: left;
    }

    .article-nav-next .article-nav-label {
        justify-content: flex-start;
    }

    .related-posts {
        padding: 60px 20px;
    }

    .related-posts h2 {
        font-size: 1.5rem;
    }

    .related-posts-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* About Page */
    .about-hero {
        padding: 80px 20px 0;
    }

    .about-hero-inner {
        margin-bottom: 40px;
    }

    .about-hero-title {
        font-size: 2.5rem;
    }

    .about-hero-desc {
        font-size: 1.0625rem;
    }

    .about-hero-image img {
        border-radius: 16px 16px 0 0;
    }

    .about-story {
        padding: 60px 20px;
    }

    .about-story-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-story-content h2 {
        font-size: 1.75rem;
    }

    .about-story-image {
        order: -1;
    }

    .about-story-image img {
        aspect-ratio: 16/10;
    }

    .about-mission {
        padding: 60px 20px;
    }

    .about-mission-content h2 {
        font-size: 1.75rem;
    }

    .about-mission blockquote {
        padding: 24px;
        font-size: 1.0625rem;
    }

    .about-values {
        padding: 60px 20px;
    }

    .about-values-header h2 {
        font-size: 1.75rem;
    }

    .about-values-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .about-value {
        padding: 28px 20px;
    }

    .about-value-icon {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        margin-bottom: 16px;
    }

    .about-value h3 {
        font-size: 1.0625rem;
    }

    .about-stats {
        padding: 60px 20px;
    }

    .about-stats-inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .about-stat-number {
        font-size: 2rem;
    }

    .about-stat-label {
        font-size: 0.875rem;
    }

    .about-team {
        padding: 60px 20px;
    }

    .about-team-header h2 {
        font-size: 1.75rem;
    }

    .about-team-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .team-member h3 {
        font-size: 1rem;
    }

    .team-member p {
        font-size: 0.875rem;
    }

    .about-process {
        padding: 60px 20px;
    }

    .about-process-header h2 {
        font-size: 1.75rem;
    }

    .process-step {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px;
        text-align: center;
    }

    .process-step-number {
        font-size: 2.5rem;
    }

    .process-step-content h3 {
        font-size: 1.25rem;
    }

    .process-step-image img {
        height: 160px;
    }

    .about-certs {
        padding: 60px 20px;
    }

    .about-certs h2 {
        font-size: 1.5rem;
        margin-bottom: 32px;
    }

    .about-certs-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .about-cert {
        padding: 24px 16px;
    }

    .about-cert-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 16px;
    }

    .about-cta {
        padding: 60px 20px;
    }

    .about-cta h2 {
        font-size: 1.75rem;
    }

    .about-cta p {
        font-size: 1rem;
    }

    .about-cta-buttons {
        flex-direction: column;
    }

    .about-cta .btn-primary,
    .about-cta .btn-secondary {
        width: 100%;
        justify-content: center;
    }

    /* Cart Page */
    .cart-page {
        padding: calc(var(--header-height) + 20px) 20px 100px;
    }

    .cart-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cart-main {
        padding: 24px 20px;
        border-radius: 16px;
    }

    .cart-header h1 {
        font-size: 1.5rem;
    }

    .cart-item {
        grid-template-columns: 80px 1fr;
        gap: 12px;
    }

    .cart-item-image {
        width: 80px;
        height: 80px;
    }

    .cart-item-price {
        grid-column: 2;
        text-align: left;
        margin-top: 8px;
    }

    .cart-item-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .cart-upsell-items {
        gap: 10px;
    }

    .upsell-item {
        flex-wrap: wrap;
    }

    .upsell-item-add {
        width: 100%;
        justify-content: center;
        margin-top: 8px;
    }

    .cart-summary {
        position: static;
    }

    .cart-summary-inner {
        padding: 24px 20px;
        border-radius: 16px;
    }

    .nav-trust-msg {
        display: none;
    }

    /* Checkout Page */
    .checkout-header {
        padding: 0 20px;
    }

    .checkout-steps {
        display: none;
    }

    .checkout-page {
        padding: calc(var(--header-height) + 20px) 20px 160px;
    }

    .checkout-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .checkout-express {
        padding: 20px;
        border-radius: 12px;
    }

    .checkout-express-buttons {
        flex-direction: column;
    }

    .checkout-express .express-btn {
        max-width: none;
    }

    .checkout-section {
        border-radius: 12px;
    }

    .checkout-section-header {
        padding: 20px;
    }

    .section-title h2 {
        font-size: 1rem;
    }

    .checkout-section-content {
        padding: 0 20px 20px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .form-row-3 {
        grid-template-columns: 1fr;
    }

    .shipping-option-content {
        padding: 12px;
        gap: 10px;
    }

    .shipping-option-icon {
        width: 36px;
        height: 36px;
    }

    .shipping-option-icon svg {
        width: 18px;
        height: 18px;
    }

    .shipping-option-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .shipping-option-info {
        flex: 1;
        min-width: 0;
    }

    .shipping-option-name {
        font-size: 0.8125rem;
    }

    .shipping-option-desc {
        display: none;
    }

    .shipping-option-price {
        text-align: right;
        flex-shrink: 0;
    }

    .shipping-option-price span {
        font-size: 0.8125rem;
    }

    .payment-option-content {
        padding: 12px;
        gap: 10px;
    }

    .payment-option-icon {
        width: 36px;
        height: 36px;
    }

    .payment-option-icon svg {
        width: 18px;
        height: 18px;
    }

    .payment-option-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .payment-option-info {
        flex: 1;
        min-width: 0;
    }

    .payment-option-name {
        font-size: 0.8125rem;
    }

    .payment-option-desc {
        display: none;
    }

    .payment-option-icons {
        display: none;
    }

    .payment-option-price {
        flex-shrink: 0;
    }

    .payment-option-price span {
        font-size: 0.8125rem;
    }

    .checkout-section-note {
        padding: 20px;
    }

    .checkout-submit {
        padding: 20px;
        border-radius: 12px;
    }

    .btn-submit-order {
        padding: 18px;
        font-size: 1rem;
    }

    .checkout-summary {
        position: static;
        order: -1;
    }

    .checkout-summary-inner {
        padding: 20px;
        border-radius: 12px;
    }

    .checkout-guarantee {
        flex-direction: column;
        text-align: center;
        padding: 16px;
    }

    .guarantee-icon {
        margin: 0 auto;
    }

    .checkout-mobile-summary {
        display: block;
    }

    /* Thank You Page */
    .thankyou-page {
        padding: calc(var(--header-height) + 40px) 20px 60px;
    }

    .thankyou-header h1 {
        font-size: 1.75rem;
    }

    .thankyou-content {
        grid-template-columns: 1fr;
    }

    .thankyou-main {
        order: 1;
    }

    .thankyou-sidebar {
        order: 2;
    }

    .order-timeline,
    .order-summary-box {
        padding: 24px;
        border-radius: 16px;
    }

    .order-info-grid {
        grid-template-columns: 1fr;
    }

    .order-info-box {
        padding: 20px;
    }

    .thankyou-actions {
        flex-direction: column;
    }

    .thankyou-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .post-purchase-upsell {
        padding: 20px;
        margin-bottom: 32px;
    }

    .post-upsell-offer h4 {
        font-size: 1.125rem;
    }

    .post-upsell-product {
        flex-direction: column;
        text-align: center;
    }

    .post-upsell-prices {
        justify-content: center;
    }

    /* FAQ Page */
    .faq-hero {
        padding: 80px 20px 40px;
    }

    .faq-hero h1 {
        font-size: 1.75rem;
    }

    .faq-search {
        padding: 14px 20px;
    }

    .faq-categories {
        padding: 0 20px;
    }

    .faq-categories-inner {
        justify-content: flex-start;
        gap: 8px;
        padding: 16px 0;
    }

    .faq-category {
        padding: 12px 16px;
        min-width: 100px;
    }

    .faq-category-icon {
        width: 40px;
        height: 40px;
    }

    .faq-content {
        padding: 40px 20px 60px;
    }

    .faq-section h2 {
        font-size: 1.25rem;
    }

    .faq-item summary {
        padding: 16px 20px;
        font-size: 0.9375rem;
    }

    .faq-answer {
        padding: 0 20px 20px;
    }

    .faq-contact {
        padding: 60px 20px;
    }

    .faq-contact h2 {
        font-size: 1.5rem;
    }

    /* 404 Page */
    .error-page {
        padding: calc(var(--header-height) + 40px) 20px 60px;
    }

    .error-illustration svg {
        width: 150px;
        height: 150px;
    }

    .error-container h1 {
        font-size: 1.5rem;
    }

    .error-actions {
        flex-direction: column;
    }

    .error-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .error-links-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Auth Pages Mobile */
    .auth-page {
        padding: calc(var(--header-height) + 40px) 20px 60px;
    }

    .auth-container {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .auth-box {
        padding: 32px 24px;
    }

    .auth-header h1 {
        font-size: 1.5rem;
    }

    .auth-benefits {
        padding: 32px 24px;
        order: -1;
    }

    .auth-benefits h2 {
        font-size: 1.25rem;
    }

    .benefits-list {
        gap: 20px;
    }

    /* Account Pages Mobile */
    .account-page {
        padding: calc(var(--header-height) + 20px) 20px 60px;
    }

    .account-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .account-sidebar {
        position: static;
        padding: 20px;
    }

    .account-user {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .account-nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .account-nav-item {
        padding: 10px 12px;
        font-size: 0.8125rem;
    }

    .account-nav-divider {
        grid-column: span 2;
        margin: 8px 0;
    }

    .account-header h1 {
        font-size: 1.5rem;
    }

    .account-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .account-stat {
        padding: 16px;
    }

    .account-stat-icon {
        width: 40px;
        height: 40px;
    }

    .account-stat-number {
        font-size: 1.25rem;
    }

    .quick-actions {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .quick-action {
        padding: 20px 12px;
    }

    .account-referral {
        flex-direction: column;
        text-align: center;
        padding: 24px;
    }

    .referral-code-box {
        width: 100%;
        justify-content: center;
    }

    /* Orders Mobile */
    .orders-filters {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }

    .orders-filter {
        flex-shrink: 0;
    }

    .order-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px 20px;
    }

    .order-row-main {
        width: 100%;
    }

    .order-row-status {
        justify-content: space-between;
        width: 100%;
    }

    .order-row-total {
        display: none;
    }

    .order-row-arrow {
        display: none;
    }

    /* Order Detail Mobile */
    .order-detail-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .order-detail-title h1 {
        font-size: 1.25rem;
    }

    .order-tracking-progress {
        flex-direction: column;
        gap: 0;
    }

    .order-tracking-progress::before {
        top: 0;
        bottom: 0;
        left: 16px;
        right: auto;
        width: 2px;
        height: auto;
    }

    .tracking-step {
        flex-direction: row;
        text-align: left;
        padding-left: 48px;
        padding-bottom: 24px;
    }

    .tracking-step:last-child {
        padding-bottom: 0;
    }

    .tracking-step-icon {
        position: absolute;
        left: 0;
        margin-bottom: 0;
    }

    .order-detail-content {
        grid-template-columns: 1fr;
    }

    .order-detail-sidebar {
        position: static;
    }

    .order-detail-addresses {
        grid-template-columns: 1fr;
    }

    /* Profile Mobile */
    .profile-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .profile-avatar-edit {
        flex-direction: column;
        text-align: center;
    }

    .form-row {
        flex-direction: column;
    }

    .profile-actions {
        flex-direction: column;
    }

    .profile-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .danger-zone-content {
        flex-direction: column;
        text-align: center;
    }

    .btn-danger {
        width: 100%;
    }
}

/* ========================================
   LIGHTBOX
   ======================================== */

.lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.95);
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox.active {
    display: flex;
    opacity: 1;
}

.lightbox-content {
    max-width: 90vw;
    max-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 8px;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    z-index: 10001;
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    z-index: 10001;
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, 0.2);
}

.lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 0.875rem;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px 16px;
    border-radius: 20px;
}

/* ========================================
   TOAST NOTIFICATIONS
   ======================================== */

.toast-notification {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--dark);
    color: white;
    padding: 14px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    z-index: 10002;
    animation: toastIn 0.3s ease;
    max-width: 90vw;
}

.toast-notification.toast-success {
    background: #059669;
}

.toast-notification.toast-error {
    background: #dc2626;
}

.toast-notification button {
    background: none;
    border: none;
    color: white;
    font-size: 1.25rem;
    cursor: pointer;
    opacity: 0.7;
    padding: 0;
    line-height: 1;
}

.toast-notification button:hover {
    opacity: 1;
}

@keyframes toastIn {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* Add to cart button spinner */
.btn-add-cart .spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Mobile adjustments for lightbox */
@media (max-width: 768px) {
    .lightbox-prev,
    .lightbox-next {
        width: 44px;
        height: 44px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }

    .lightbox-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
    }

    .toast-notification {
        bottom: 16px;
        left: 16px;
        right: 16px;
        transform: none;
    }

    @keyframes toastIn {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* =====================================================
   CART DRAWER
   ===================================================== */

[x-cloak] {
    display: none !important;
}

/* Cart Drawer Base */
.cart-drawer {
    position: fixed;
    inset: 0;
    z-index: 10000;
    pointer-events: none;
}

/* Overlay */
.cart-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    pointer-events: auto;
}

/* Panel */
.cart-drawer-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 420px;
    background: var(--white, #fff);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    pointer-events: auto;
}

/* Transitions */
.transition-opacity { transition-property: opacity; }
.transition { transition-property: transform; }
.ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1); }
.ease-in { transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
.duration-300 { transition-duration: 300ms; }
.duration-200 { transition-duration: 200ms; }
.opacity-0 { opacity: 0; }
.opacity-100 { opacity: 1; }
.translate-x-full { transform: translateX(100%); }
.translate-x-0 { transform: translateX(0); }

/* Header */
.cart-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.cart-drawer-header h2 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}

.cart-drawer-count {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 1rem;
    color: #666;
}

.cart-drawer-close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s;
}

.cart-drawer-close:hover {
    background: rgba(0, 0, 0, 0.05);
}

/* Shipping Progress Section */
.cart-drawer-shipping {
    padding: 1rem 1.5rem 0;
    flex-shrink: 0;
}

.cart-drawer-shipping .cart-shipping-progress {
    margin-bottom: 0;
}

/* Compact Shipping Progress (based on template) */
.shipping-progress-compact {
    background: linear-gradient(135deg, #f8f5f0 0%, #fff 100%);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    padding: 1rem 1.5rem;
}

.shipping-progress-compact-text {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.shipping-progress-compact-text svg {
    color: var(--purple, #885FDB);
    flex-shrink: 0;
}

.shipping-progress-compact-text strong {
    color: var(--purple, #885FDB);
}

.shipping-progress-compact-bar {
    height: 6px;
    background: #e5e5e5;
    border-radius: 3px;
    overflow: hidden;
}

.shipping-progress-compact-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--purple, #885FDB), var(--pink, #E5476A));
    border-radius: 3px;
    transition: width 0.5s ease;
}

/* Free Shipping Complete */
.shipping-progress-complete {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ecfdf5;
    color: #059669;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.shipping-progress-complete svg {
    color: #059669;
    flex-shrink: 0;
}

/* Cart Items */
.cart-drawer-items {
    flex: 1;
    overflow-y: auto;
    padding: 16px 24px;
}

.cart-drawer-item {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: relative;
}

.cart-drawer-item:last-child {
    border-bottom: none;
}

.cart-drawer-item-image {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
    flex-shrink: 0;
}

.cart-drawer-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-drawer-item-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    color: #ccc;
}

.cart-drawer-item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding-right: 30px;
}

.cart-drawer-item-name {
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.3;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--dark);
}

.cart-drawer-item-name:hover {
    color: var(--gold, #F4B133);
}

.cart-drawer-item-variant {
    font-size: 0.8125rem;
    color: #666;
    margin: 0 0 8px 0;
}

.cart-drawer-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.cart-drawer-qty {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}

.cart-drawer-qty-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    transition: background 0.2s;
    cursor: pointer;
}

.cart-drawer-qty-btn:hover {
    background: #f5f5f5;
}

.cart-drawer-qty-value {
    width: 32px;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 600;
}

.cart-drawer-item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-weight: 600;
    font-size: 0.9375rem;
}

.cart-drawer-item-price-original {
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.cart-drawer-item-promo-badge {
    font-size: 0.625rem;
    font-weight: 600;
    color: #16a34a;
    background: rgba(22, 163, 74, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.cart-drawer-promo-row span:first-child {
    font-size: 0.8125rem;
}

.cart-drawer-item-remove {
    position: absolute;
    top: 16px;
    right: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
    cursor: pointer;
}

.cart-drawer-item-remove:hover {
    color: #dc2626;
    background: #fef2f2;
}

/* Empty State */
.cart-drawer-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    text-align: center;
}

.cart-drawer-empty svg {
    color: #ccc;
    margin-bottom: 16px;
}

.cart-drawer-empty p {
    color: #666;
    margin-bottom: 24px;
}

/* Upsell in drawer */
.cart-drawer-upsell {
    padding: 12px 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cart-drawer-upsell-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cart-drawer-upsell-text {
    flex: 1;
    min-width: 0;
}

.cart-drawer-upsell-label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--purple);
    display: block;
    margin-bottom: 2px;
}

.cart-drawer-upsell-text p {
    font-size: 0.8125rem;
    color: var(--dark);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.cart-drawer-upsell-text strong {
    font-weight: 600;
}

.cart-drawer-upsell-prices {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
}

.cart-drawer-upsell-old {
    color: rgba(35, 31, 24, 0.5);
    text-decoration: line-through;
}

.cart-drawer-upsell-arrow {
    color: rgba(35, 31, 24, 0.3);
}

.cart-drawer-upsell-new {
    font-weight: 600;
    color: #16a34a;
}

.cart-drawer-upsell-btn {
    flex-shrink: 0;
    padding: 8px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--purple);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
}

.cart-drawer-upsell-btn:hover {
    background: var(--purple-dark);
}

/* Upsell inline within item */
.cart-drawer-item-upsell {
    width: 100%;
    margin-top: -8px;
    background: rgba(147, 112, 219, 0.08);
    border-radius: 6px;
    border: 1px solid rgba(147, 112, 219, 0.15);
    overflow: hidden;
}

.cart-drawer-item-upsell-header {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(147, 112, 219, 0.18);
    padding: 6px 10px;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--purple-dark, #6b21a8);
}

.cart-drawer-item-upsell-header svg {
    flex-shrink: 0;
}

.cart-drawer-item-upsell-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
}

.cart-drawer-item-upsell-text {
    font-size: 0.75rem;
    color: var(--dark);
    line-height: 1.4;
}

.cart-drawer-item-upsell-text strong {
    font-weight: 600;
    color: var(--purple);
}

.cart-drawer-item-upsell-prices {
    color: rgba(35, 31, 24, 0.6);
    font-size: 0.6875rem;
}

.cart-drawer-item-upsell-btn {
    flex-shrink: 0;
    padding: 5px 10px;
    font-size: 0.6875rem;
    font-weight: 600;
    background: var(--purple);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

.cart-drawer-item-upsell-btn:hover {
    background: var(--purple-dark);
}

/* Cross-sell in drawer */
.cart-drawer-cross-sell {
    padding: 16px 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: #fafafa;
}

.cart-drawer-cross-sell-title {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--dark);
}

.cart-drawer-cross-sell-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cart-drawer-cross-sell-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    background: var(--white);
    border-radius: 10px;
    transition: box-shadow 0.2s ease;
}

.cart-drawer-cross-sell-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.cart-drawer-cross-sell-image {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cream);
    display: block;
}

.cart-drawer-cross-sell-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-drawer-cross-sell-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(35, 31, 24, 0.3);
}

.cart-drawer-cross-sell-info {
    flex: 1;
    min-width: 0;
}

.cart-drawer-cross-sell-name {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cart-drawer-cross-sell-price {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--purple);
    margin-top: 2px;
}

.cart-drawer-cross-sell-add {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.2s ease, background 0.2s ease;
}

.cart-drawer-cross-sell-add:hover {
    transform: scale(1.1);
    background: #e5a02e;
}

/* Footer */
.cart-drawer-footer {
    padding: 20px 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: #fafafa;
    flex-shrink: 0;
}

.cart-drawer-totals {
    margin-bottom: 16px;
}

.cart-drawer-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9375rem;
    margin-bottom: 8px;
}

.cart-drawer-discount {
    color: #059669;
}

.cart-drawer-total-main {
    font-weight: 700;
    font-size: 1.125rem;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin-top: 8px;
}

.cart-drawer-note {
    font-size: 0.75rem;
    color: #666;
    margin-top: 4px;
}

.cart-drawer-footer .btn-checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 24px;
    background: var(--dark, #231F18);
    color: white;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 30px;
    transition: background 0.2s, transform 0.2s;
    text-decoration: none;
}

.cart-drawer-footer .btn-checkout:hover {
    background: #333;
    transform: translateY(-1px);
}

.cart-drawer-view-cart {
    display: block;
    text-align: center;
    margin-top: 12px;
    font-size: 0.875rem;
    color: #666;
    text-decoration: underline;
}

.cart-drawer-view-cart:hover {
    color: var(--dark, #231F18);
}

/* Mobile */
@media (max-width: 480px) {
    .cart-drawer-panel {
        max-width: 100%;
    }

    .cart-drawer-header {
        padding: 16px 20px;
    }

    .cart-drawer-items {
        padding: 12px 20px;
    }

    .cart-drawer-item-image {
        width: 70px;
        height: 70px;
    }

    .cart-drawer-footer {
        padding: 16px 20px;
    }

    .shipping-progress-compact {
        padding: 0.75rem 1.25rem;
    }

    .post-upsell-product img,
    .post-upsell-product-placeholder {
        width: 60px;
        height: 60px;
    }

    .countdown-display {
        font-size: 1rem;
    }

    .countdown-display span {
        padding: 3px 6px;
        min-width: 28px;
    }
}

/* ================================================
   USE CASES SECTION - Jeden obal, nekonecne moznosti
   ================================================ */
.usecases-section {
    padding: 100px var(--container-padding);
    background: linear-gradient(180deg, var(--cream) 0%, var(--cream) 60%, var(--white) 100%);
}

.usecases-section .container {
    max-width: var(--container-width);
    margin: 0 auto;
}

.usecases-header {
    text-align: center;
    margin-bottom: 48px;
}

.usecases-header h2 {
    font-family: var(--font-headline);
    font-size: 2.75rem;
    font-weight: 700;
    color: var(--dark);
}

/* Tabs */
.usecases-tabs .tabs-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.usecase-tab {
    padding: 14px 28px;
    background: var(--white);
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.usecase-tab:hover {
    border-color: var(--purple);
}

.usecase-tab.active {
    background: var(--purple);
    color: var(--white);
    border-color: var(--purple);
}

/* Panels */
.usecases-content {
    position: relative;
    min-height: 400px;
}

.usecase-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.usecase-visual {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
}

.usecase-visual img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s var(--ease);
}

.usecase-visual:hover img {
    transform: scale(1.05);
}

/* Floating Tags */
.usecase-floating-tags {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.floating-tag {
    position: absolute;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--dark);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    animation: floatTag 3s ease-in-out infinite;
}

.floating-tag:nth-child(2) {
    animation-delay: 0.5s;
}

.floating-tag:nth-child(3) {
    animation-delay: 1s;
}

@keyframes floatTag {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

.usecase-info h3 {
    font-family: var(--font-headline);
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 16px;
}

.usecase-info > p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(35, 31, 24, 0.7);
    margin-bottom: 24px;
}

.usecase-tips {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.usecase-tips li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    color: var(--dark);
    padding-left: 28px;
    position: relative;
}

.usecase-tips li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: var(--green);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: center;
}

/* ================================================
   COMPARISON SECTION - Peelo verzus ostatne obaly
   ================================================ */
.comparison-section {
    padding: 100px var(--container-padding);
    background: var(--white);
}

.comparison-section .container {
    max-width: 900px;
    margin: 0 auto;
}

.comparison-header {
    text-align: center;
    margin-bottom: 48px;
}

.comparison-header h2 {
    font-family: var(--font-headline);
    font-size: 2.75rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 12px;
}

.comparison-header p {
    font-size: 1.125rem;
    color: rgba(35, 31, 24, 0.7);
}

/* Table */
.comparison-table {
    background: var(--cream);
    border-radius: 24px;
    overflow: hidden;
}

.comparison-row {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.comparison-row:last-child {
    border-bottom: none;
}

.comparison-row[data-animate] {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s var(--ease);
}

.comparison-row[data-animate].visible {
    opacity: 1;
    transform: translateY(0);
}

.comparison-cell {
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.9375rem;
}

.comparison-feature {
    justify-content: flex-start;
    font-weight: 500;
    color: var(--dark);
    background: var(--white);
}

.comparison-header-row {
    background: var(--dark);
}

.comparison-header-row .comparison-cell {
    color: var(--white);
    font-weight: 600;
    padding: 24px;
}

.comparison-header-row .comparison-feature {
    background: var(--dark);
}

.comparison-logo {
    height: 24px;
}

.comparison-peelo {
    background: rgba(92, 78, 122, 0.08);
}

.check-yes {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--green);
    font-weight: 500;
}

.check-yes svg {
    color: var(--green);
}

.check-no {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: #e57373;
    font-weight: 500;
}

.check-no svg {
    color: #e57373;
}

.check-partial {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: #FFB74D;
    font-weight: 500;
}

.check-partial svg {
    color: #FFB74D;
}

/* ================================================
   RESPONSIVE - Use Cases & Comparison
   ================================================ */
@media (max-width: 1024px) {
    .usecase-panel {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .usecase-visual {
        order: -1;
    }
}

@media (max-width: 768px) {
    .usecases-section,
    .comparison-section {
        padding: 60px var(--container-padding);
    }

    .usecases-header h2,
    .comparison-header h2 {
        font-size: 2rem;
    }

    .usecases-tabs .tabs-nav {
        gap: 8px;
    }

    .usecase-tab {
        padding: 10px 18px;
        font-size: 0.875rem;
    }

    .usecase-visual img {
        height: 280px;
    }

    .comparison-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .comparison-header-row {
        display: none;
    }

    .comparison-cell {
        padding: 16px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    }

    .comparison-feature {
        background: var(--purple);
        color: var(--white);
        justify-content: center;
        font-weight: 600;
    }

    .comparison-peelo,
    .comparison-plastic,
    .comparison-alu {
        position: relative;
    }

    .comparison-peelo::before {
        content: 'Peelo';
        position: absolute;
        left: 16px;
        font-size: 0.75rem;
        color: var(--purple);
        font-weight: 600;
    }

    .comparison-plastic::before {
        content: 'Plast';
        position: absolute;
        left: 16px;
        font-size: 0.75rem;
        color: #999;
    }

    .comparison-alu::before {
        content: 'Alu';
        position: absolute;
        left: 16px;
        font-size: 0.75rem;
        color: #999;
    }
}

@media (max-width: 480px) {
    .usecase-info h3 {
        font-size: 1.5rem;
    }
}

/* =====================================================
   EXTRA SMALL MOBILE (max-width: 480px)
   Comprehensive fixes for small phones
   ===================================================== */
@media (max-width: 480px) {
    /* Root variables */
    :root {
        --container-padding: 16px;
    }

    /* Hero */
    .hero {
        min-height: 100vh;
        min-height: 100svh; /* Use small viewport height for mobile */
    }

    .hero-content {
        padding: 0 16px 80px;
    }

    .hero-title {
        font-size: 2.25rem;
        margin-bottom: 16px;
    }

    .hero-text {
        font-size: 0.9375rem;
        margin-bottom: 16px;
    }

    .hero-usp {
        font-size: 0.6875rem;
        margin-bottom: 24px;
    }

    .hero-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .hero-buttons .btn {
        width: 100%;
        padding: 14px 24px;
        font-size: 0.8125rem;
    }

    .hero-scroll {
        display: none;
    }

    /* Social Proof */
    .social-proof {
        padding: 12px 16px;
    }

    .social-proof-inner {
        flex-direction: column;
        justify-content: center;
        gap: 6px;
    }

    .social-proof-text {
        font-size: 0.75rem;
        text-align: center;
        line-height: 1.4;
    }

    .social-proof-stars {
        gap: 2px;
    }

    .social-proof-stars svg {
        width: 14px;
        height: 14px;
    }

    /* Bestsellers */
    .bestsellers {
        padding: 48px 16px;
    }

    .bestsellers-header h2 {
        font-size: 1.5rem;
    }

    .bestsellers-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .product-info {
        padding: 12px;
    }

    .product-info h3 {
        font-size: 0.875rem;
    }

    .product-price {
        font-size: 0.9375rem;
    }

    /* How It Works */
    .how-it-works {
        padding: 48px 16px;
    }

    .hiw-header h2 {
        font-size: 2rem;
    }

    .hiw-steps {
        max-width: 100%;
    }

    /* Custom Production */
    .custom-content {
        padding: 48px 16px;
    }

    .custom-content h2 {
        font-size: 2rem;
    }

    /* Testimonials */
    .testimonials {
        padding: 48px 16px;
    }

    .testimonials-header h2 {
        font-size: 1.5rem;
    }

    .testimonial {
        padding: 20px;
    }

    .testimonial-text {
        font-size: 0.9375rem;
    }

    /* Why Peelo */
    .why-peelo {
        padding: 48px 16px;
    }

    .why-peelo h2 {
        font-size: 1.5rem;
    }

    .why-peelo-image {
        width: 200px;
    }

    .why-peelo-items {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .why-item h4 {
        font-size: 0.875rem;
    }

    .why-item p {
        font-size: 0.75rem;
    }

    /* Partners */
    .partners {
        padding: 40px 16px;
    }

    .partners-logos {
        flex-wrap: wrap;
        gap: 20px;
    }

    .partner-logo {
        height: 32px;
    }

    /* Footer */
    .footer {
        padding: 0 16px 24px;
    }

    .footer-links {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer-column h4 {
        margin-bottom: 12px;
    }

    .footer-bottom {
        padding-top: 20px;
    }

    /* Product Page */
    .product-main {
        padding: 16px 16px 48px;
    }

    .product-title {
        font-size: 1.5rem;
    }

    .price-current {
        font-size: 1.375rem;
    }

    .variant-buttons {
        grid-template-columns: 1fr;
    }

    .variant-btn {
        padding: 12px 16px;
    }

    .product-actions {
        flex-direction: column;
        gap: 12px;
    }

    .btn-add-cart {
        width: 100%;
        padding: 16px;
    }

    .product-rating {
        width: 100%;
        justify-content: flex-start;
    }

    /* Category Page */
    .category-hero {
        padding: 48px 16px;
    }

    .category-hero-title {
        font-size: 1.75rem;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .product-card-info {
        padding: 10px;
    }

    .product-card-title {
        font-size: 0.8125rem;
    }

    .product-card-price {
        font-size: 0.875rem;
    }

    /* Cart Page */
    .cart-page {
        padding: calc(var(--header-height) + 16px) 16px 80px;
    }

    .cart-main {
        padding: 20px 16px;
    }

    .cart-header h1 {
        font-size: 1.25rem;
    }

    .cart-item {
        grid-template-columns: 70px 1fr;
        gap: 10px;
    }

    .cart-item-image {
        width: 70px;
        height: 70px;
    }

    .cart-item-name {
        font-size: 0.875rem;
    }

    /* Checkout Page */
    .checkout-header {
        height: 60px;
        padding: 0 16px;
    }

    .checkout-logo img {
        height: 28px;
    }

    .checkout-help {
        font-size: 0.8125rem;
    }

    .checkout-help svg {
        width: 16px;
        height: 16px;
    }

    .checkout-page {
        padding: calc(60px + 16px) 16px 140px;
    }

    .checkout-section-header {
        padding: 16px;
    }

    .section-number {
        width: 28px;
        height: 28px;
        font-size: 0.875rem;
    }

    .section-title h2 {
        font-size: 0.9375rem;
    }

    .checkout-section-content {
        padding: 0 16px 16px;
    }

    .form-group label {
        font-size: 0.8125rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 12px 14px;
        font-size: 16px; /* Prevents iOS zoom on focus */
    }

    .btn-submit-order {
        padding: 16px;
        font-size: 0.9375rem;
    }

    /* Account Pages */
    .account-page {
        padding: calc(var(--header-height) + 16px) 16px 48px;
    }

    .account-sidebar {
        padding: 16px;
    }

    .account-nav {
        grid-template-columns: 1fr;
    }

    .account-nav-divider {
        grid-column: span 1;
    }

    .account-main {
        padding: 20px 16px;
    }

    .account-header h1 {
        font-size: 1.25rem;
    }

    .account-stats {
        grid-template-columns: 1fr;
    }

    .quick-actions {
        grid-template-columns: 1fr;
    }

    /* Auth Pages */
    .auth-page {
        padding: calc(var(--header-height) + 24px) 16px 48px;
    }

    .auth-box {
        padding: 24px 20px;
    }

    .auth-header h1 {
        font-size: 1.375rem;
    }

    /* Forms */
    .form-row {
        gap: 12px;
    }

    .form-checkbox label {
        font-size: 0.8125rem;
        display: inline;
        line-height: 1.5;
    }

    .form-checkbox label a {
        display: inline;
    }

    .form-checkbox {
        align-items: flex-start;
    }

    .form-checkbox input[type="checkbox"] {
        flex-shrink: 0;
        margin-top: 3px;
    }

    /* Buttons */
    .btn {
        padding: 14px 24px;
        font-size: 0.8125rem;
    }

    /* Modal / Lightbox */
    .lightbox-content {
        padding: 16px;
    }

    .lightbox-prev,
    .lightbox-next {
        width: 36px;
        height: 36px;
    }

    /* Thank You Page */
    .thankyou-page {
        padding: calc(var(--header-height) + 24px) 16px 48px;
    }

    .thankyou-header h1 {
        font-size: 1.5rem;
    }

    .order-summary-box,
    .order-timeline {
        padding: 20px 16px;
    }

    /* Contact Page */
    .contact-hero {
        padding: 48px 16px;
    }

    .contact-hero h1 {
        font-size: 1.75rem;
    }

    .contact-section {
        padding: 48px 16px;
    }

    .contact-form-wrapper {
        padding: 24px 20px;
    }

    /* FAQ Page */
    .faq-hero {
        padding: 60px 16px 32px;
    }

    .faq-hero h1 {
        font-size: 1.5rem;
    }

    .faq-categories-inner {
        gap: 6px;
    }

    .faq-category {
        padding: 10px 14px;
        min-width: auto;
    }

    .faq-category-icon {
        width: 32px;
        height: 32px;
    }

    .faq-category-label {
        font-size: 0.75rem;
    }

    /* UGC Slider */
    .ugc {
        padding: 48px 0;
    }

    .ugc-slide {
        flex: 0 0 160px;
    }

    /* Error Page */
    .error-container h1 {
        font-size: 1.25rem;
    }

    .error-links-grid {
        grid-template-columns: 1fr;
    }

    /* Comparison Section */
    .comparison-section {
        padding: 48px 16px;
    }

    .comparison-header h2 {
        font-size: 1.5rem;
    }

    /* Use Cases */
    .usecases-section {
        padding: 48px 16px;
    }

    .usecases-header h2 {
        font-size: 1.75rem;
    }

    .usecase-tab {
        padding: 10px 18px;
        font-size: 0.875rem;
    }

    .usecase-visual img {
        height: 250px;
    }

    /* Returns Form */
    .returns-hero {
        padding: 60px 16px 32px;
    }

    .returns-hero h1 {
        font-size: 1.5rem;
    }

    .returns-content {
        padding: 32px 16px;
    }

    .returns-form-card {
        padding: 24px 20px;
    }

    /* Blog */
    .blog-hero {
        padding: 48px 16px;
    }

    .blog-hero h1 {
        font-size: 1.75rem;
    }

    .blog-grid {
        gap: 20px;
    }

    .blog-card-content {
        padding: 16px;
    }

    /* Shipping Info */
    .shipping-info-hero {
        padding: 48px 16px;
    }

    .shipping-info-hero h1 {
        font-size: 1.75rem;
    }
}

/* =====================================================
   TOUCH DEVICE OPTIMIZATIONS
   ===================================================== */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    .nav-item > a {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .dropdown-item {
        min-height: 44px;
    }

    .btn {
        min-height: 44px;
    }

    .form-checkbox label {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* Remove hover effects that don't work well on touch */
    .product-card:hover .product-card-quick {
        opacity: 0;
    }

    .category-card:hover img {
        transform: none;
    }
}

/* Cart drawer cross-sell mobile fix */
@media (max-width: 480px) {
    .cart-drawer-cross-sell-item {
        flex-wrap: wrap;
    }

    .cart-drawer-cross-sell-info {
        flex: 1;
        min-width: 0;
    }

    .cart-drawer-cross-sell-name {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .cart-drawer-cross-sell-add {
        width: 100%;
        height: auto;
        border-radius: 8px;
        padding: 10px;
        margin-top: 8px;
    }
}

/* Cart page cross-sell mobile fix */
@media (max-width: 480px) {
    .cart-cross-sell-item {
        flex-wrap: wrap;
    }

    .cart-cross-sell-info {
        flex: 1;
        min-width: 0;
    }

    .cart-cross-sell-name {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .cart-cross-sell-add {
        width: 100%;
        margin-top: 8px;
        justify-content: center;
    }
}

/* =====================================================
   SAFE AREA INSETS (for notched phones)
   ===================================================== */
@supports (padding: max(0px)) {
    .header {
        padding-left: max(var(--container-padding), env(safe-area-inset-left));
        padding-right: max(var(--container-padding), env(safe-area-inset-right));
    }

    .checkout-submit,
    .cart-summary {
        padding-bottom: max(20px, env(safe-area-inset-bottom));
    }

    @media (max-width: 768px) {
        .nav {
            padding-left: max(20px, env(safe-area-inset-left));
            padding-right: max(20px, env(safe-area-inset-right));
        }

        .checkout-mobile-summary {
            padding-bottom: max(16px, env(safe-area-inset-bottom));
        }
    }
}
