/* =============================================
   SPICE WAYANAD - v2.0
   Colors: #E5DCC8 | #1E342A | #2D2427 | #8F5100
   Fonts: Canto Pen (headings) | Garamond Premier Pro (body)
   ============================================= */

:root {
    --sw-cream: #E5DCC8;
    --sw-cream-light: #F0EBE0;
    --sw-cream-dark: #D8CDB8;
    --sw-green: #1E342A;
    --sw-green-light: #2A4A3A;
    --sw-brown-dark: #2D2427;
    --sw-amber: #8F5100;
    --sw-amber-light: #A86B1D;
    --sw-amber-dark: #703F00;
    --sw-white: #FFFFFF;
    --sw-black: #1A1A1A;
    --sw-text: #2D2427;
    --sw-text-light: #6B6058;
    --sw-text-muted: #9A9088;
    --sw-text-on-dark: #E5DCC8;
    --sw-border: rgba(30,52,42,0.1);
    --sw-shadow-sm: 0 2px 8px rgba(45,36,39,0.06);
    --sw-shadow-md: 0 4px 24px rgba(45,36,39,0.08);
    --sw-shadow-lg: 0 8px 40px rgba(45,36,39,0.12);
    --sw-radius-sm: 6px;
    --sw-radius-md: 12px;
    --sw-radius-lg: 20px;
    --sw-radius-full: 50px;
    --sw-transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    --sw-transition-fast: all 0.25s ease;
    --sw-font-heading: 'Canto Pen', 'Cormorant Garamond', Georgia, serif;
    --sw-font-body: 'Garamond Premier Pro', 'EB Garamond', 'Cormorant Garamond', Georgia, serif;
}

[data-theme="dark"] {
    --sw-cream: #1A1A18;
    --sw-cream-light: #222220;
    --sw-white: #1E1E1C;
    --sw-text: #E5DCC8;
    --sw-text-light: #B0A898;
    --sw-border: rgba(229,220,200,0.08);
}

[data-theme="dark"] .site-header { background: rgba(30,52,42,0.98); }
[data-theme="dark"] .sw-card { background: #222220; border-color: rgba(229,220,200,0.06); }

/* === RESET === */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
    font-family: var(--sw-font-body);
    color: var(--sw-text);
    background: var(--sw-cream);
    line-height: 1.75;
    font-size: 16px;
    font-weight: 300;
    overflow-x: hidden;
}
a { text-decoration:none; color:inherit; transition:var(--sw-transition-fast); }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3,h4,h5,h6 {
    font-family: var(--sw-font-heading);
    font-weight: 600;
    line-height: 1.25;
    color: var(--sw-text);
}
.container { max-width:1280px; margin:0 auto; padding:0 24px; }

/* === VIDEO LOADER === */
.sw-loader {
    position: fixed;
    inset: 0;
    background: var(--sw-green);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    transition: opacity 0.8s ease, visibility 0.8s;
}
.sw-loader.loaded { opacity:0; visibility:hidden; pointer-events:none; }
.sw-loader video {
    max-width: 55%;
    max-height: 80vh;
    object-fit: contain;
}
@media(max-width:768px) {
    .sw-loader video { max-width:80%; }
}

/* === HEADER === */
.site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: var(--sw-green);
    z-index: 1000;
    transition: var(--sw-transition);
    border-bottom: 1px solid rgba(229,220,200,0.06);
}
.site-header.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    max-width: 1280px;
    margin: 0 auto;
}
.site-logo img { max-height: 50px; width: auto; }
.site-logo a { display:flex; align-items:center; }

/* Nav */
.main-nav ul { display:flex; list-style:none; gap:32px; align-items:center; }
.main-nav a {
    font-family: var(--sw-font-body);
    font-size: 0.88rem;
    font-weight: 400;
    color: var(--sw-text-on-dark);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    position: relative;
    padding: 5px 0;
}
.main-nav a::after {
    content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
    width:0; height:1px; background:var(--sw-amber); transition:width 0.3s;
}
.main-nav a:hover, .main-nav .current-menu-item>a { color:var(--sw-cream); }
.main-nav a:hover::after, .main-nav .current-menu-item>a::after { width:100%; }

.main-nav .sub-menu {
    display:none; position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
    background:var(--sw-white); box-shadow:var(--sw-shadow-lg); border-radius:var(--sw-radius-md);
    padding:10px 0; min-width:220px; flex-direction:column; z-index:100;
}
.main-nav li { position:relative; }
.main-nav li:hover>.sub-menu { display:flex; }
.main-nav .sub-menu a {
    color:var(--sw-text); padding:10px 22px; display:block;
    text-transform:none; letter-spacing:0; font-size:0.88rem;
}
.main-nav .sub-menu a::after { display:none; }
.main-nav .sub-menu a:hover { background:var(--sw-cream-light); color:var(--sw-amber); }

/* Header actions */
.header-actions { display:flex; align-items:center; gap:15px; }
.header-action-btn {
    width:40px; height:40px; border-radius:50%; display:flex;
    align-items:center; justify-content:center; background:transparent;
    border:none; cursor:pointer; color:var(--sw-text-on-dark);
    font-size:1rem; transition:var(--sw-transition-fast);
}
.header-action-btn:hover { background:rgba(229,220,200,0.1); color:var(--sw-cream); }
.header-action-btn .badge {
    position:absolute; top:2px; right:2px;
    background:var(--sw-amber); color:var(--sw-white);
    font-size:0.6rem; width:16px; height:16px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-weight:700;
    font-family:var(--sw-font-body);
}
.mobile-menu-toggle { display:none; }

/* Mobile nav */
.mobile-nav {
    display:flex; position:fixed; inset:0;
    background:var(--sw-green); z-index:9999;
    flex-direction:column; justify-content:center; align-items:center;
    opacity:0; visibility:hidden; transition:var(--sw-transition);
}
.mobile-nav.active { opacity:1; visibility:visible; }
.mobile-nav-close {
    position:absolute; top:20px; right:24px;
    background:none; border:none; color:var(--sw-cream); font-size:1.6rem; cursor:pointer;
}
.mobile-nav ul { list-style:none; text-align:center; }
.mobile-nav li { margin-bottom:12px; }
.mobile-nav a {
    font-family:var(--sw-font-heading); font-size:1.8rem;
    color:var(--sw-text-on-dark); font-weight:600; letter-spacing:2px;
}
.mobile-nav a:hover { color:var(--sw-amber); }

/* === BUTTONS === */
.sw-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:15px 38px; border:none; border-radius:var(--sw-radius-full);
    font-family:var(--sw-font-body); font-size:0.88rem; font-weight:400;
    letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
    transition:var(--sw-transition); position:relative; overflow:hidden;
}
.sw-btn-primary { background:var(--sw-amber); color:var(--sw-white); }
.sw-btn-primary:hover { background:var(--sw-amber-dark); color:var(--sw-white); transform:translateY(-2px); box-shadow:0 6px 20px rgba(143,81,0,0.35); }
.sw-btn-green { background:var(--sw-green); color:var(--sw-text-on-dark); }
.sw-btn-green:hover { background:var(--sw-green-light); transform:translateY(-2px); box-shadow:var(--sw-shadow-lg); }
.sw-btn-outline { background:transparent; border:1.5px solid var(--sw-cream); color:var(--sw-cream); }
.sw-btn-outline:hover { background:var(--sw-cream); color:var(--sw-green); }
.sw-btn-outline-dark { background:transparent; border:1.5px solid var(--sw-green); color:var(--sw-green); }
.sw-btn-outline-dark:hover { background:var(--sw-green); color:var(--sw-text-on-dark); }
.sw-btn-sm { padding:10px 24px; font-size:0.8rem; }
.sw-btn-lg { padding:18px 48px; font-size:0.92rem; }

/* === HERO === */
.sw-hero {
    position:relative; min-height:100vh;
    display:flex; align-items:center; justify-content:center;
    background:var(--sw-green); overflow:hidden;
}
.sw-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.45; }
.sw-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(30,52,42,0.7) 0%, rgba(45,36,39,0.6) 100%); }
.sw-hero-content {
    position:relative; z-index:2; text-align:center;
    color:var(--sw-cream); padding:20px; max-width:750px;
}
.sw-hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 22px; background:rgba(229,220,200,0.08);
    border:1px solid rgba(229,220,200,0.15); border-radius:var(--sw-radius-full);
    font-size:0.75rem; letter-spacing:2.5px; text-transform:uppercase;
    color:var(--sw-cream); margin-bottom:22px; backdrop-filter:blur(8px);
}
.sw-hero h1 {
    font-size:3.8rem; font-weight:600; color:var(--sw-cream);
    margin-bottom:18px; line-height:1.15; letter-spacing:0.5px;
}
.sw-hero h1 em { color:var(--sw-amber); font-style:italic; }
.sw-hero p { font-size:1.1rem; color:rgba(229,220,200,0.75); margin-bottom:32px; line-height:1.8; }
.sw-hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.sw-hero-scroll {
    position:absolute; bottom:35px; left:50%; transform:translateX(-50%);
    z-index:2; color:var(--sw-cream); font-size:0.7rem; letter-spacing:3px;
    text-transform:uppercase; display:flex; flex-direction:column;
    align-items:center; gap:8px; opacity:0.5; animation:bounce-down 2s infinite;
}
@keyframes bounce-down {
    0%,100% { transform:translateX(-50%) translateY(0); }
    50% { transform:translateX(-50%) translateY(8px); }
}

/* === FEATURES BAR === */
.sw-features { padding:45px 0; background:var(--sw-white); border-bottom:1px solid var(--sw-border); }
.sw-features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; }
.sw-feature-item { text-align:center; padding:22px 12px; transition:var(--sw-transition); }
.sw-feature-item:hover { transform:translateY(-4px); }
.sw-feature-icon {
    width:56px; height:56px; border-radius:50%;
    background:var(--sw-green); display:flex; align-items:center;
    justify-content:center; margin:0 auto 12px; color:var(--sw-cream);
    font-size:1.2rem; box-shadow:var(--sw-shadow-sm);
}
.sw-feature-item h4 { font-family:var(--sw-font-heading); font-size:0.92rem; font-weight:600; margin-bottom:4px; }
.sw-feature-item p { font-size:0.82rem; color:var(--sw-text-light); }

/* === SECTIONS === */
.sw-section { padding:90px 0; position:relative; }
.sw-section-dark { background:var(--sw-green); color:var(--sw-text-on-dark); }
.sw-section-brown { background:var(--sw-brown-dark); color:var(--sw-text-on-dark); }
.sw-section-white { background:var(--sw-white); }
.sw-section-cream { background:var(--sw-cream); }
.sw-section-header { text-align:center; margin-bottom:55px; }
.sw-section-badge {
    display:inline-block; font-size:0.72rem; letter-spacing:3px;
    text-transform:uppercase; color:var(--sw-amber); margin-bottom:12px; font-weight:600;
}
.sw-section-title { font-size:2.6rem; margin-bottom:12px; }
.sw-section-dark .sw-section-title { color:var(--sw-cream); }
.sw-section-divider { width:50px; height:1.5px; background:var(--sw-amber); margin:18px auto; }
.sw-section-subtitle { font-size:1rem; color:var(--sw-text-light); max-width:560px; margin:0 auto; line-height:1.8; }
.sw-section-dark .sw-section-subtitle { color:rgba(229,220,200,0.55); }

/* === CATEGORIES === */
.sw-categories-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.sw-category-card {
    position:relative; height:340px; border-radius:var(--sw-radius-lg);
    overflow:hidden; cursor:pointer;
}
.sw-category-card img, .sw-cat-placeholder {
    width:100%; height:100%; object-fit:cover; transition:transform 0.6s;
}
.sw-category-card:hover img, .sw-category-card:hover .sw-cat-placeholder { transform:scale(1.06); }
.sw-cat-placeholder {
    display:flex; align-items:center; justify-content:center; font-size:3.5rem;
}
.sw-cat-overlay {
    position:absolute; bottom:0; left:0; right:0;
    padding:30px 22px 22px; background:linear-gradient(transparent,rgba(30,52,42,0.88));
    color:var(--sw-cream); transition:var(--sw-transition);
}
.sw-category-card:hover .sw-cat-overlay { padding-bottom:30px; }
.sw-cat-overlay h3 { font-size:1.35rem; color:var(--sw-cream); margin-bottom:4px; }
.sw-cat-overlay p { font-size:0.82rem; color:rgba(229,220,200,0.65); }
.sw-cat-arrow {
    display:inline-flex; align-items:center; gap:5px;
    color:var(--sw-amber); font-size:0.78rem; margin-top:8px;
    font-weight:600; letter-spacing:1px; text-transform:uppercase;
    opacity:0; transform:translateY(8px); transition:var(--sw-transition);
}
.sw-category-card:hover .sw-cat-arrow { opacity:1; transform:translateY(0); }

/* === PRODUCT CARDS (WooCommerce) === */
.woocommerce ul.products {
    display:grid !important; grid-template-columns:repeat(auto-fill,minmax(275px,1fr)) !important; gap:28px !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product {
    background:var(--sw-white); border-radius:var(--sw-radius-lg) !important;
    overflow:hidden; box-shadow:var(--sw-shadow-sm); transition:var(--sw-transition);
    border:1px solid var(--sw-border); margin:0 !important; padding:0 !important;
    width:100% !important; float:none !important;
}
.woocommerce ul.products li.product:hover { transform:translateY(-6px); box-shadow:var(--sw-shadow-lg); }
.woocommerce ul.products li.product a img {
    border-radius:0 !important; margin:0 !important; width:100%; height:280px; object-fit:cover; transition:transform 0.5s;
}
.woocommerce ul.products li.product:hover a img { transform:scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family:var(--sw-font-heading) !important; font-size:1.05rem;
    padding:16px 20px 4px !important; color:var(--sw-text);
}
.woocommerce ul.products li.product .price {
    padding:0 20px 8px; color:var(--sw-amber) !important; font-weight:600; font-size:1.15rem;
}
.woocommerce ul.products li.product .price del { color:var(--sw-text-muted) !important; font-size:0.88rem; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce ul.products li.product .star-rating { margin:0 20px 4px !important; color:var(--sw-amber); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    background:var(--sw-green) !important; color:var(--sw-cream) !important;
    border-radius:var(--sw-radius-full) !important; padding:11px 26px !important;
    margin:8px 20px 20px !important; font-weight:400 !important; font-size:0.8rem !important;
    letter-spacing:1px !important; text-transform:uppercase !important;
    transition:var(--sw-transition) !important; font-family:var(--sw-font-body) !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background:var(--sw-amber) !important; color:var(--sw-white) !important;
}
.woocommerce ul.products li.product .onsale {
    background:var(--sw-amber) !important; color:var(--sw-white) !important;
    border-radius:var(--sw-radius-full) !important; padding:5px 14px !important;
    min-height:auto !important; min-width:auto !important; line-height:1.5 !important;
    font-size:0.72rem !important; font-weight:600 !important; top:14px; left:14px; right:auto !important;
}

/* === SINGLE PRODUCT === */
.woocommerce div.product { padding-top:100px; }
.woocommerce div.product div.images { border-radius:var(--sw-radius-lg); overflow:hidden; box-shadow:var(--sw-shadow-md); }
.woocommerce div.product .product_title { font-family:var(--sw-font-heading); font-size:2.1rem; margin-bottom:8px; }
.woocommerce div.product p.price { color:var(--sw-amber) !important; font-size:1.7rem !important; font-weight:600; }
.woocommerce div.product p.price del { color:var(--sw-text-muted) !important; font-size:1.1rem !important; }

.sw-trust-badges { display:flex; gap:16px; margin:22px 0; flex-wrap:wrap; }
.sw-trust-badge {
    display:flex; align-items:center; gap:7px; font-size:0.8rem;
    color:var(--sw-text-light); padding:7px 14px; background:var(--sw-cream-light);
    border-radius:var(--sw-radius-full);
}
.sw-trust-badge i { color:var(--sw-green); font-size:0.85rem; }

.sw-stock-indicator {
    display:flex; align-items:center; gap:10px; margin:14px 0; padding:11px 16px;
    background:#FEF3CD; border-radius:var(--sw-radius-sm); font-size:0.83rem; color:#856404;
}
.sw-delivery-estimate {
    display:flex; align-items:center; gap:10px; margin:14px 0; padding:11px 16px;
    background:var(--sw-cream-light); border-radius:var(--sw-radius-sm);
    font-size:0.83rem; color:var(--sw-text-light);
}
.sw-delivery-estimate strong { color:var(--sw-green); }

.woocommerce div.product .single_add_to_cart_button {
    background:var(--sw-green) !important; border-radius:var(--sw-radius-full) !important;
    padding:15px 42px !important; font-weight:600 !important; font-size:0.9rem !important;
    letter-spacing:1px; text-transform:uppercase; transition:var(--sw-transition) !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
    background:var(--sw-amber) !important; color:var(--sw-white) !important;
    box-shadow:0 5px 20px rgba(143,81,0,0.3) !important;
}

.sw-buy-now-btn {
    display:block; width:100%; padding:15px; margin-top:10px;
    background:var(--sw-amber); color:var(--sw-white); border:none;
    border-radius:var(--sw-radius-full); font-family:var(--sw-font-body);
    font-weight:600; font-size:0.9rem; letter-spacing:1px; text-transform:uppercase;
    cursor:pointer; transition:var(--sw-transition); text-align:center;
}
.sw-buy-now-btn:hover { background:var(--sw-amber-dark); box-shadow:0 5px 20px rgba(143,81,0,0.35); }

.sw-key-benefits { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:28px 0; }
.sw-key-benefit {
    display:flex; align-items:center; gap:12px; padding:14px;
    background:var(--sw-cream-light); border-radius:var(--sw-radius-md); transition:var(--sw-transition-fast);
}
.sw-key-benefit:hover { transform:translateX(4px); }
.sw-benefit-icon {
    width:40px; height:40px; border-radius:50%; background:var(--sw-green);
    display:flex; align-items:center; justify-content:center;
    color:var(--sw-cream); font-size:0.85rem; flex-shrink:0;
}
.sw-key-benefit h5 { font-family:var(--sw-font-heading); font-size:0.85rem; font-weight:600; margin-bottom:1px; }
.sw-key-benefit p { font-size:0.74rem; color:var(--sw-text-light); }

/* Product story */
.sw-product-story {
    margin:45px 0; padding:38px; background:var(--sw-green); border-radius:var(--sw-radius-lg);
    color:var(--sw-cream); display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:center;
}
.sw-product-story h3 { font-size:1.7rem; color:var(--sw-amber); margin-bottom:12px; }
.sw-product-story p { color:rgba(229,220,200,0.75); line-height:1.8; }

/* Comparison table */
.sw-comparison-table { margin:38px 0; overflow:hidden; border-radius:var(--sw-radius-md); box-shadow:var(--sw-shadow-sm); }
.sw-comparison-table table { width:100%; border-collapse:collapse; }
.sw-comparison-table th, .sw-comparison-table td { padding:15px 18px; text-align:left; border-bottom:1px solid var(--sw-border); font-size:0.88rem; }
.sw-comparison-table th { background:var(--sw-green); color:var(--sw-cream); font-weight:600; font-size:0.8rem; text-transform:uppercase; letter-spacing:1px; }
.sw-comparison-table tr:nth-child(even) { background:var(--sw-cream-light); }
.sw-comparison-table .check { color:var(--sw-green); font-weight:bold; }
.sw-comparison-table .cross { color:#c0392b; }

/* FAQ */
.sw-faq-item { border:1px solid var(--sw-border); border-radius:var(--sw-radius-md); margin-bottom:10px; background:var(--sw-white); overflow:hidden; }
.sw-faq-question {
    padding:18px 22px; display:flex; align-items:center; justify-content:space-between;
    cursor:pointer; font-weight:600; font-size:0.92rem; font-family:var(--sw-font-heading); transition:var(--sw-transition-fast);
}
.sw-faq-question:hover { color:var(--sw-amber); }
.sw-faq-question i { color:var(--sw-amber); transition:transform 0.3s; font-size:0.8rem; }
.sw-faq-item.active .sw-faq-question i { transform:rotate(180deg); }
.sw-faq-answer {
    padding:0 22px; max-height:0; overflow:hidden; transition:max-height 0.4s,padding 0.4s;
    color:var(--sw-text-light); line-height:1.8; font-size:0.88rem;
}
.sw-faq-item.active .sw-faq-answer { padding:0 22px 18px; max-height:300px; }

/* Sticky cart bar */
.sw-sticky-cart {
    position:fixed; bottom:-80px; left:0; right:0; background:var(--sw-white);
    box-shadow:0 -3px 18px rgba(0,0,0,0.08); z-index:999; transition:var(--sw-transition);
    border-top:1px solid var(--sw-border);
}
.sw-sticky-cart.visible { bottom:0; }
.sw-sticky-cart-inner {
    max-width:1280px; margin:0 auto; padding:10px 24px;
    display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.sw-sticky-cart-info { display:flex; align-items:center; gap:14px; }
.sw-sticky-cart-info img { width:42px; height:42px; border-radius:var(--sw-radius-sm); object-fit:cover; }
.sw-sticky-cart-info h4 { font-size:0.92rem; }
.sw-sticky-cart-info .price { color:var(--sw-amber); font-weight:600; font-size:1.05rem; }
.sw-sticky-cart-actions { display:flex; gap:8px; }

/* === ABOUT === */
.sw-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.sw-about-text h2 { font-size:2.4rem; margin-bottom:18px; }
.sw-about-text p { color:var(--sw-text-light); margin-bottom:14px; line-height:1.85; }
.sw-about-stats { display:flex; gap:38px; margin-top:30px; }
.sw-about-stat h3 { font-size:2.1rem; color:var(--sw-amber); margin-bottom:4px; }
.sw-about-stat p { font-size:0.8rem; color:var(--sw-text-light); text-transform:uppercase; letter-spacing:1px; font-weight:500; }
.sw-about-image {
    border-radius:var(--sw-radius-lg); overflow:hidden; height:480px;
    position:relative; box-shadow:var(--sw-shadow-lg);
}
.sw-about-image img { width:100%; height:100%; object-fit:cover; }
.sw-about-placeholder {
    width:100%; height:100%; background:linear-gradient(135deg,var(--sw-green),var(--sw-brown-dark));
    display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--sw-cream);
}
.sw-about-placeholder i { font-size:4rem; margin-bottom:12px; opacity:0.5; }

/* === TESTIMONIALS === */
.sw-testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.sw-testimonial-card {
    background:var(--sw-white); padding:32px; border-radius:var(--sw-radius-lg);
    box-shadow:var(--sw-shadow-sm); border:1px solid var(--sw-border);
    transition:var(--sw-transition); position:relative;
}
.sw-testimonial-card:hover { transform:translateY(-4px); box-shadow:var(--sw-shadow-md); }
.sw-testimonial-card::before {
    content:'\201C'; font-family:var(--sw-font-heading); font-size:3.5rem;
    color:var(--sw-amber); opacity:0.2; position:absolute; top:12px; left:22px; line-height:1;
}
.sw-testimonial-stars { color:var(--sw-amber); margin-bottom:12px; font-size:0.82rem; }
.sw-testimonial-card blockquote {
    color:var(--sw-text-light); font-style:italic; margin-bottom:18px;
    line-height:1.8; font-size:0.92rem; border:none; padding:0;
}
.sw-testimonial-author { display:flex; align-items:center; gap:10px; }
.sw-testimonial-avatar {
    width:44px; height:44px; border-radius:50%; background:var(--sw-green);
    color:var(--sw-cream); display:flex; align-items:center; justify-content:center;
    font-weight:600; font-size:1rem; font-family:var(--sw-font-heading);
}
.sw-testimonial-info h4 { font-family:var(--sw-font-heading); font-size:0.92rem; font-weight:600; margin-bottom:1px; }
.sw-testimonial-info span { font-size:0.75rem; color:var(--sw-text-muted); }

/* === NEWSLETTER === */
.sw-newsletter { background:var(--sw-brown-dark); padding:75px 0; text-align:center; }
.sw-newsletter h2 { font-size:2.1rem; color:var(--sw-cream); margin-bottom:8px; }
.sw-newsletter p { color:rgba(229,220,200,0.55); margin-bottom:28px; }
.sw-newsletter-form { display:flex; max-width:460px; margin:0 auto; gap:8px; }
.sw-newsletter-form input {
    flex:1; padding:15px 22px; border:1px solid rgba(229,220,200,0.15);
    border-radius:var(--sw-radius-full); font-family:var(--sw-font-body);
    font-size:0.88rem; outline:none; background:rgba(229,220,200,0.06);
    color:var(--sw-cream);
}
.sw-newsletter-form input::placeholder { color:rgba(229,220,200,0.35); }
.sw-newsletter-form input:focus { border-color:var(--sw-amber); }
.sw-newsletter-form button {
    padding:15px 28px; background:var(--sw-amber); color:var(--sw-white);
    border:none; border-radius:var(--sw-radius-full); font-family:var(--sw-font-body);
    font-weight:600; font-size:0.82rem; letter-spacing:1px; text-transform:uppercase;
    cursor:pointer; transition:var(--sw-transition); white-space:nowrap;
}
.sw-newsletter-form button:hover { background:var(--sw-amber-dark); }

/* === INSTAGRAM GALLERY === */
.sw-instagram-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:4px; }
.sw-instagram-item { position:relative; aspect-ratio:1; overflow:hidden; cursor:pointer; }
.sw-instagram-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.sw-instagram-item:hover img { transform:scale(1.08); }
.sw-ig-overlay {
    position:absolute; inset:0; background:rgba(30,52,42,0.55);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transition:var(--sw-transition);
}
.sw-instagram-item:hover .sw-ig-overlay { opacity:1; }
.sw-ig-overlay i { color:var(--sw-cream); font-size:1.4rem; }

/* === CONTACT === */
.sw-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px; }
.sw-contact-item { display:flex; gap:14px; margin-bottom:28px; }
.sw-contact-icon {
    width:48px; height:48px; border-radius:50%; background:var(--sw-green);
    display:flex; align-items:center; justify-content:center;
    color:var(--sw-cream); font-size:1rem; flex-shrink:0;
}
.sw-contact-item h4 { font-family:var(--sw-font-heading); font-size:0.92rem; font-weight:600; margin-bottom:4px; }
.sw-contact-item p { color:var(--sw-text-light); font-size:0.88rem; }
.sw-contact-form input, .sw-contact-form textarea, .sw-contact-form select {
    width:100%; padding:15px 18px; border:1px solid var(--sw-border);
    border-radius:var(--sw-radius-md); font-family:var(--sw-font-body);
    font-size:0.88rem; margin-bottom:14px; transition:var(--sw-transition-fast);
    background:var(--sw-white); color:var(--sw-text);
}
.sw-contact-form input:focus, .sw-contact-form textarea:focus {
    outline:none; border-color:var(--sw-amber); box-shadow:0 0 0 3px rgba(143,81,0,0.08);
}

/* === CART & CHECKOUT === */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { padding-top:110px; padding-bottom:55px; }
.woocommerce table.shop_table { border:1px solid var(--sw-border) !important; border-radius:var(--sw-radius-md) !important; overflow:hidden; }
.woocommerce table.shop_table th { background:var(--sw-cream-light) !important; font-weight:600; font-size:0.82rem; text-transform:uppercase; letter-spacing:1px; border-color:var(--sw-border) !important; }
.woocommerce table.shop_table td { border-color:var(--sw-border) !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { font-family:var(--sw-font-heading) !important; }
.woocommerce a.checkout-button, .woocommerce button.checkout-button, .woocommerce #place_order {
    background:var(--sw-amber) !important; border-radius:var(--sw-radius-full) !important;
    padding:15px 42px !important; font-weight:600 !important; font-size:0.9rem !important;
    letter-spacing:1px; text-transform:uppercase; transition:var(--sw-transition) !important;
}
.woocommerce a.checkout-button:hover, .woocommerce #place_order:hover {
    background:var(--sw-amber-dark) !important;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
    border:1px solid var(--sw-border) !important; border-radius:var(--sw-radius-md) !important;
    padding:13px 16px !important; font-family:var(--sw-font-body) !important;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
    border-color:var(--sw-amber) !important; box-shadow:0 0 0 3px rgba(143,81,0,0.08) !important; outline:none !important;
}
.woocommerce .woocommerce-message { border-top-color:var(--sw-green) !important; }
.woocommerce .coupon .button { border-radius:var(--sw-radius-full) !important; background:var(--sw-green) !important; color:var(--sw-cream) !important; }

/* === FOOTER === */
.site-footer { background:var(--sw-brown-dark); color:var(--sw-text-on-dark); padding:70px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:45px; }
.footer-col .footer-logo { max-width:180px; margin-bottom:18px; opacity:0.9; }
.footer-col h4 {
    color:var(--sw-amber); margin-bottom:18px; font-size:0.82rem;
    text-transform:uppercase; letter-spacing:2.5px; font-family:var(--sw-font-heading); font-weight:600;
}
.footer-col p { color:rgba(229,220,200,0.55); font-size:0.88rem; line-height:1.8; }
.footer-col a { display:block; color:rgba(229,220,200,0.55); font-size:0.85rem; margin-bottom:9px; transition:var(--sw-transition-fast); }
.footer-col a:hover { color:var(--sw-amber); transform:translateX(4px); }
.footer-social { display:flex; gap:9px; margin-top:18px; }
.footer-social a {
    width:40px; height:40px; border-radius:50%; border:1px solid rgba(229,220,200,0.15);
    display:flex; align-items:center; justify-content:center; font-size:0.9rem;
    color:var(--sw-cream); margin:0; transition:var(--sw-transition);
}
.footer-social a:hover { background:var(--sw-amber); color:var(--sw-white); border-color:var(--sw-amber); transform:translateY(-2px); }
.footer-newsletter input {
    width:100%; padding:13px 16px; border:1px solid rgba(229,220,200,0.15);
    border-radius:var(--sw-radius-full); background:rgba(229,220,200,0.04);
    color:var(--sw-cream); font-family:var(--sw-font-body); font-size:0.82rem;
    margin-bottom:8px; outline:none;
}
.footer-newsletter input::placeholder { color:rgba(229,220,200,0.3); }
.footer-newsletter input:focus { border-color:var(--sw-amber); }
.footer-newsletter button {
    width:100%; padding:13px; background:var(--sw-amber); color:var(--sw-white);
    border:none; border-radius:var(--sw-radius-full); font-family:var(--sw-font-body);
    font-weight:600; font-size:0.78rem; letter-spacing:1px; text-transform:uppercase;
    cursor:pointer; transition:var(--sw-transition);
}
.footer-newsletter button:hover { background:var(--sw-amber-dark); }
.footer-bottom {
    text-align:center; padding:25px 0; margin-top:45px;
    border-top:1px solid rgba(229,220,200,0.06);
}
.footer-bottom p { color:rgba(229,220,200,0.35); font-size:0.78rem; }
.footer-payments { display:flex; gap:14px; justify-content:center; margin-top:12px; font-size:1.4rem; color:rgba(229,220,200,0.25); }

/* === PAGE HEADER === */
.sw-page-header {
    background:var(--sw-green); padding:125px 0 55px; text-align:center;
    position:relative; overflow:hidden;
}
.sw-page-header::before {
    content:''; position:absolute; top:0; right:0; width:350px; height:350px;
    background:var(--sw-amber); border-radius:50%; opacity:0.02; transform:translate(25%,-25%);
}
.sw-page-header h1 { font-size:2.6rem; color:var(--sw-cream); margin-bottom:8px; }
.sw-page-header .woocommerce-breadcrumb { color:rgba(229,220,200,0.5); }
.sw-page-header .woocommerce-breadcrumb a { color:var(--sw-amber); }

/* === UTILITIES === */
.sw-toast {
    position:fixed; bottom:28px; right:28px; background:var(--sw-green);
    color:var(--sw-cream); padding:14px 24px; border-radius:var(--sw-radius-md);
    font-size:0.88rem; z-index:2000; transform:translateY(80px); opacity:0;
    transition:var(--sw-transition); box-shadow:var(--sw-shadow-lg);
    display:flex; align-items:center; gap:8px;
}
.sw-toast.show { transform:translateY(0); opacity:1; }
.sw-toast i { color:var(--sw-amber); }

.sw-whatsapp-btn {
    position:fixed; bottom:22px; left:22px; width:52px; height:52px;
    background:#25d366; border-radius:50%; display:flex; align-items:center;
    justify-content:center; color:white; font-size:1.4rem; z-index:998;
    box-shadow:0 4px 14px rgba(37,211,102,0.35); transition:var(--sw-transition);
}
.sw-whatsapp-btn:hover { transform:scale(1.08); color:white; }

.sw-scroll-top {
    position:fixed; bottom:22px; right:22px; width:42px; height:42px;
    background:var(--sw-green); border-radius:50%; display:flex;
    align-items:center; justify-content:center; color:var(--sw-cream);
    font-size:0.9rem; z-index:997; cursor:pointer; opacity:0; visibility:hidden;
    transition:var(--sw-transition); border:1px solid rgba(229,220,200,0.15);
}
.sw-scroll-top.visible { opacity:1; visibility:visible; }
.sw-scroll-top:hover { background:var(--sw-amber); color:var(--sw-white); transform:translateY(-2px); }

/* === ANIMATIONS === */
.sw-fade-in { opacity:0; transform:translateY(25px); transition:opacity 0.7s,transform 0.7s; }
.sw-fade-in.visible { opacity:1; transform:translateY(0); }
.sw-fade-left { opacity:0; transform:translateX(-35px); transition:opacity 0.7s,transform 0.7s; }
.sw-fade-left.visible { opacity:1; transform:translateX(0); }
.sw-fade-right { opacity:0; transform:translateX(35px); transition:opacity 0.7s,transform 0.7s; }
.sw-fade-right.visible { opacity:1; transform:translateX(0); }
.sw-stagger>* { opacity:0; transform:translateY(18px); transition:opacity 0.5s,transform 0.5s; }
.sw-stagger.visible>*:nth-child(1){transition-delay:.1s}.sw-stagger.visible>*:nth-child(2){transition-delay:.2s}
.sw-stagger.visible>*:nth-child(3){transition-delay:.3s}.sw-stagger.visible>*:nth-child(4){transition-delay:.4s}
.sw-stagger.visible>*:nth-child(5){transition-delay:.5s}.sw-stagger.visible>*:nth-child(6){transition-delay:.6s}
.sw-stagger.visible>* { opacity:1; transform:translateY(0); }

/* === RESPONSIVE === */
@media(max-width:1024px) {
    .sw-categories-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .sw-product-story { grid-template-columns:1fr; }
}
@media(max-width:768px) {
    .main-nav { display:none; }
    .mobile-menu-toggle { display:flex; }
    .mobile-nav { display:flex; }
    .sw-hero h1 { font-size:2.4rem; }
    .sw-section { padding:55px 0; }
    .sw-section-title { font-size:1.9rem; }
    .sw-features-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
    .sw-categories-grid { grid-template-columns:1fr; }
    .sw-about-grid,.sw-contact-grid { grid-template-columns:1fr; gap:35px; }
    .sw-testimonials-grid { grid-template-columns:1fr; }
    .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; gap:14px !important; }
    .sw-key-benefits { grid-template-columns:1fr; }
    .sw-sticky-cart-inner { flex-direction:column; gap:8px; }
    .footer-grid { grid-template-columns:1fr; gap:28px; }
    .sw-instagram-grid { grid-template-columns:repeat(3,1fr); }
    .sw-newsletter-form { flex-direction:column; }
    .sw-hero-btns { flex-direction:column; align-items:center; }
}
@media(max-width:480px) {
    .woocommerce ul.products { grid-template-columns:1fr !important; }
    .sw-features-grid { grid-template-columns:1fr; }
    .sw-hero h1 { font-size:1.9rem; }
}
