/* ============================================================
   SIVAMSAM - Main Stylesheet v2
   Theme: Sacred / Spiritual — High Contrast Edition
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Lato:ital,wght@0,300;0,400;0,700;1,400&display=swap');

:root {
    --saffron:     #E55C00;
    --saffron-lt:  #FF7A1A;
    --saffron-bg:  #FFF3EB;
    --gold:        #A07830;
    --gold-lt:     #C9A84C;
    --gold-bg:     #FDF8EE;
    --earth:       #3D2510;
    --earth-md:    #5C3D2E;
    --earth-lt:    #7A5040;
    --cream:       #FFF8F0;
    --cream-dk:    #F0E4D0;
    --cream-dkr:   #E8D5BC;
    --white:       #FFFFFF;
    --text:        #1A0A00;
    --text-md:     #3D2510;
    --text-lt:     #5A3E2E;
    --text-xlt:    #7A5A48;
    --border:      #D4B896;
    --border-lt:   #EAD9C4;
    --shadow:      rgba(61,37,16,0.15);
    --shadow-md:   rgba(61,37,16,0.22);
    --success:     #1B5E20;
    --success-bg:  #E8F5E9;
    --danger:      #B71C1C;
    --danger-bg:   #FFEBEE;
    --info:        #0D47A1;
    --info-bg:     #E3F2FD;
    --font-head:   'Cinzel', serif;
    --font-body:   'Lato', sans-serif;
    --radius:      8px;
    --radius-lg:   14px;
    --transition:  all 0.22s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--cream);color:var(--text-md);line-height:1.65;min-height:100vh}
a{color:var(--earth-md);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--saffron)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section-sm{padding:40px 0}
.text-center{text-align:center}

/* TYPOGRAPHY */
h1,h2,h3,h4{font-family:var(--font-head);color:var(--earth);line-height:1.25}
h1{font-size:clamp(1.75rem,4vw,2.75rem)}
h2{font-size:clamp(1.35rem,3vw,2rem)}
h3{font-size:clamp(1.05rem,2vw,1.35rem)}
.section-title{font-family:var(--font-head);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--earth);text-align:center;margin-bottom:8px}
.section-title span{color:var(--saffron)}
.section-subtitle{text-align:center;color:var(--text-lt);margin-bottom:40px;font-size:1rem}
.divider{width:56px;height:3px;background:linear-gradient(to right,var(--saffron),var(--gold-lt));margin:10px auto 32px;border-radius:2px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px;line-height:1}
.btn-primary{background:var(--saffron);color:#fff;box-shadow:0 3px 12px rgba(229,92,0,.35)}
.btn-primary:hover{background:#C94F00;transform:translateY(-2px);box-shadow:0 6px 18px rgba(229,92,0,.45);color:#fff}
.btn-secondary{background:var(--white);color:var(--earth);border:2px solid var(--border)}
.btn-secondary:hover{border-color:var(--saffron);color:var(--saffron);background:var(--saffron-bg)}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 3px 12px rgba(160,120,48,.3)}
.btn-gold:hover{background:#8A6628;transform:translateY(-2px);color:#fff}
.btn-outline{background:transparent;color:var(--saffron);border:2px solid var(--saffron)}
.btn-outline:hover{background:var(--saffron);color:#fff}
.btn-sm{padding:8px 18px;font-size:.82rem}
.btn-lg{padding:15px 34px;font-size:1.05rem}
.btn-block{width:100%;justify-content:center}

/* HEADER */
.site-header{background:var(--earth);box-shadow:0 2px 16px rgba(0,0,0,.25);position:sticky;top:0;z-index:1000}
.header-top{background:var(--text);padding:7px 0;font-size:.8rem;color:#FFD580;text-align:center;letter-spacing:.3px}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.nav-logo{font-family:var(--font-head);font-size:1.55rem;color:#fff;display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo .logo-icon{font-size:1.7rem}
.nav-logo span{color:#FFD580}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:#F5DEB3;font-size:.875rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;position:relative;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:#FFD580;transition:width .22s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a:hover{color:#FFD580}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-icon-btn{background:rgba(255,255,255,.12);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:var(--transition);position:relative;text-decoration:none}
.nav-icon-btn:hover{background:var(--saffron);color:#fff}
.cart-badge{position:absolute;top:-4px;right:-4px;background:#FF3D00;color:#fff;font-size:.6rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--earth)}
.mobile-menu-btn{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer}

/* SEARCH */
.search-bar{background:var(--earth-md);padding:12px 0}
.search-form{display:flex;gap:0;max-width:600px;margin:0 auto}
.search-form input{flex:1;padding:11px 16px;border:none;border-radius:var(--radius) 0 0 var(--radius);font-family:var(--font-body);font-size:.95rem;color:var(--text);background:#fff;outline:none}
.search-form button{padding:11px 20px;background:var(--saffron);color:#fff;border:none;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;font-size:1rem;transition:var(--transition);font-weight:700}
.search-form button:hover{background:#C94F00}

/* HERO */
.hero{background:linear-gradient(135deg,#3D2510 0%,#1A0A00 55%,#2C1200 100%);min-height:480px;display:flex;align-items:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A84C' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.hero-content{position:relative;z-index:1;color:#fff;max-width:620px}
.hero-om{font-size:2.8rem;margin-bottom:8px;opacity:.85}
.hero h1{color:#fff;margin-bottom:14px;line-height:1.2}
.hero h1 span{color:#FFD580}
.hero p{font-size:1.1rem;color:#F5DEB3;margin-bottom:28px;line-height:1.75}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}

/* CATEGORY GRID */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.category-card{background:var(--white);border-radius:var(--radius-lg);padding:28px 18px;text-align:center;border:2px solid var(--border-lt);transition:var(--transition);cursor:pointer;text-decoration:none;display:block}
.category-card:hover{border-color:var(--saffron);transform:translateY(-4px);box-shadow:0 10px 28px var(--shadow);color:var(--text-md)}
.category-icon{font-size:2.4rem;margin-bottom:10px;display:block}
.category-card h3{font-size:.95rem;color:var(--earth);margin-bottom:4px}
.category-card span{font-size:.78rem;color:var(--text-lt)}

/* PRODUCT GRID */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.product-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-lt);transition:var(--transition);position:relative}
.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px var(--shadow-md);border-color:var(--gold-lt)}
.product-image{position:relative;overflow:hidden;aspect-ratio:1;background:var(--cream-dk)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.product-card:hover .product-image img{transform:scale(1.05)}
.product-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.badge-sale{background:var(--saffron);color:#fff}
.badge-new{background:var(--success);color:#fff}
.badge-out{background:#666;color:#fff}
.product-wishlist{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.9);border:1px solid var(--border);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:var(--transition);color:var(--text-lt)}
.product-wishlist:hover{background:#fee;color:#C62828;border-color:#C62828}
.product-info{padding:14px 16px 16px}
.product-category{font-size:.7rem;color:var(--saffron);text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin-bottom:5px}
.product-name{font-family:var(--font-head);font-size:.9rem;color:var(--earth);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}
.product-rating{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.stars{color:var(--gold);font-size:.82rem}
.rating-count{font-size:.72rem;color:var(--text-lt)}
.product-price{display:flex;align-items:center;gap:7px;margin-bottom:12px;flex-wrap:wrap}
.price-current{font-size:1.15rem;font-weight:700;color:var(--earth)}
.price-original{font-size:.82rem;color:var(--text-xlt);text-decoration:line-through}
.price-discount{font-size:.7rem;color:var(--success);font-weight:700;background:var(--success-bg);padding:2px 6px;border-radius:4px}
.product-actions{display:flex;gap:7px}
.btn-cart{flex:1;padding:10px 8px;background:var(--earth);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:.82rem;font-weight:700;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:5px;text-transform:uppercase;letter-spacing:.3px}
.btn-cart:hover{background:var(--saffron)}
.btn-cart:active{transform:scale(.97)}
.btn-view{padding:10px 12px;background:var(--cream-dk);color:var(--earth);border:none;border-radius:var(--radius);cursor:pointer;font-size:.95rem;transition:var(--transition);text-decoration:none;display:flex;align-items:center}
.btn-view:hover{background:var(--cream-dkr);color:var(--earth)}

/* PRODUCT DETAIL */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.product-gallery .main-image{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin-bottom:10px;background:var(--cream-dk)}
.product-gallery .main-image img{width:100%;height:100%;object-fit:cover}
.thumb-grid{display:flex;gap:8px;flex-wrap:wrap}
.thumb-grid img{width:68px;height:68px;object-fit:cover;border-radius:var(--radius);border:2px solid var(--border-lt);cursor:pointer;transition:var(--transition)}
.thumb-grid img:hover,.thumb-grid img.active{border-color:var(--saffron)}
.product-detail-info .price-large{font-size:2rem;font-weight:700;color:var(--earth)}
.stock-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:700}
.in-stock{background:var(--success-bg);color:var(--success)}
.out-of-stock{background:var(--danger-bg);color:var(--danger)}
.qty-selector{display:flex;align-items:center;border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;width:fit-content}
.qty-btn{width:40px;height:40px;background:var(--cream-dk);border:none;cursor:pointer;font-size:1.1rem;color:var(--earth);transition:var(--transition);display:flex;align-items:center;justify-content:center}
.qty-btn:hover{background:var(--saffron);color:#fff}
.qty-input{width:56px;text-align:center;border:none;background:#fff;font-size:1rem;font-weight:700;color:var(--earth);outline:none;padding:9px 0}

/* SHOP LAYOUT */
.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start}
.filters-sidebar{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:22px;position:sticky;top:92px}
.filter-section{margin-bottom:26px}
.filter-title{font-family:var(--font-head);font-size:.82rem;color:var(--earth);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-lt)}
.filter-option{display:flex;align-items:center;gap:8px;padding:5px 0;cursor:pointer;font-size:.875rem;color:var(--text-lt);transition:var(--transition)}
.filter-option:hover{color:var(--saffron)}
.filter-option input[type="checkbox"]{accent-color:var(--saffron)}
.price-range input[type="range"]{width:100%;accent-color:var(--saffron)}
.price-labels{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-lt);margin-top:6px}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:var(--white);border-radius:var(--radius);border:1px solid var(--border-lt);margin-bottom:22px}
.results-count{font-size:.875rem;color:var(--text-lt);font-weight:600}
.sort-select{padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.875rem;color:var(--text-md);background:var(--cream);outline:none;cursor:pointer}

/* CART */
.cart-container{display:grid;grid-template-columns:1fr 350px;gap:28px;align-items:start}
.cart-table{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-lt);overflow:hidden}
.cart-table table{width:100%;border-collapse:collapse}
.cart-table th{background:var(--cream-dk);padding:13px 16px;font-family:var(--font-head);font-size:.78rem;color:var(--earth);text-transform:uppercase;letter-spacing:.8px;text-align:left}
.cart-table td{padding:15px 16px;border-bottom:1px solid var(--border-lt);vertical-align:middle}
.cart-product-info{display:flex;align-items:center;gap:13px}
.cart-product-img{width:68px;height:68px;border-radius:var(--radius);object-fit:cover;border:1px solid var(--border-lt)}
.cart-product-name{font-weight:700;color:var(--earth);font-size:.9rem}
.cart-product-variant{font-size:.78rem;color:var(--text-lt)}
.btn-remove{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.05rem;transition:var(--transition);padding:4px}
.btn-remove:hover{transform:scale(1.2);opacity:.8}
.cart-summary{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:22px;position:sticky;top:92px}
.cart-summary h3{font-family:var(--font-head);margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid var(--border-lt);font-size:1.05rem}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem;border-bottom:1px solid var(--border-lt);color:var(--text-md)}
.summary-row.total{font-size:1.2rem;font-weight:700;color:var(--earth);border-bottom:none;margin-top:10px;padding-top:10px;border-top:2px solid var(--earth)}
.coupon-form{display:flex;gap:8px;margin-bottom:18px}
.coupon-form input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);outline:none;font-size:.875rem;color:var(--text-md)}
.coupon-form input:focus{border-color:var(--saffron)}

/* CHECKOUT */
.checkout-layout{display:grid;grid-template-columns:1fr 370px;gap:28px;align-items:start}
.checkout-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:28px;margin-bottom:22px}
.checkout-card h3{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding-bottom:13px;border-bottom:1px solid var(--border-lt);font-size:1.05rem}
.step-badge{width:26px;height:26px;background:var(--saffron);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{margin-bottom:14px}
.form-group.full{grid-column:1/-1}
label{display:block;font-size:.82rem;font-weight:700;color:var(--text-md);margin-bottom:5px}
label .required{color:var(--danger)}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],textarea,select{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.925rem;color:var(--text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{border-color:var(--saffron);background:#fff;box-shadow:0 0 0 3px rgba(229,92,0,.1)}
.payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.payment-option{border:2px solid var(--border);border-radius:var(--radius);padding:13px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:10px}
.payment-option:hover{border-color:var(--saffron);background:var(--saffron-bg)}
.payment-option.selected{border-color:var(--saffron);background:var(--saffron-bg)}
.payment-option input[type="radio"]{accent-color:var(--saffron)}
.payment-icon{font-size:1.3rem}
.payment-label{font-size:.875rem;font-weight:700;color:var(--text-md)}

/* ORDER CONFIRMATION */
.order-success{text-align:center;padding:60px 20px}
.success-icon{width:88px;height:88px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:#fff;margin:0 auto 22px;animation:popIn .5s ease}
@keyframes popIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}

/* ALERTS */
.alert{padding:11px 15px;border-radius:var(--radius);font-size:.875rem;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #A5D6A7}
.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #FFCDD2}
.alert-info{background:var(--info-bg);color:var(--info);border:1px solid #90CAF9}

/* BREADCRUMB */
.breadcrumb{background:var(--cream-dk);padding:11px 0;border-bottom:1px solid var(--border)}
.breadcrumb ol{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.82rem}
.breadcrumb li:not(:last-child)::after{content:'›';color:var(--text-xlt);margin-left:6px}
.breadcrumb a{color:var(--text-lt)}
.breadcrumb a:hover{color:var(--saffron)}
.breadcrumb li:last-child{color:var(--earth);font-weight:700}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:7px;margin-top:38px;flex-wrap:wrap}
.page-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);border:1.5px solid var(--border);color:var(--text-md);font-size:.875rem;font-weight:700;transition:var(--transition);text-decoration:none}
.page-btn:hover{border-color:var(--saffron);color:var(--saffron);background:var(--saffron-bg)}
.page-btn.active{background:var(--saffron);border-color:var(--saffron);color:#fff}

/* FEATURES STRIP */
.features-strip{background:var(--earth);padding:22px 0}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.feature-item{display:flex;align-items:center;gap:11px;color:#fff}
.feature-icon{font-size:1.7rem;flex-shrink:0}
.feature-text strong{display:block;font-size:.875rem;color:#FFD580;margin-bottom:2px}
.feature-text span{font-size:.78rem;color:#F5DEB3}

/* FOOTER */
.site-footer{background:#100600;color:#D4B896;padding:50px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand .brand-name{font-family:var(--font-head);font-size:1.45rem;color:#fff;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.footer-brand p{font-size:.875rem;line-height:1.75;color:#C4A882}
.footer-heading{font-family:var(--font-head);font-size:.82rem;color:#FFD580;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}
.footer-links li{margin-bottom:8px}
.footer-links a{color:#C4A882;font-size:.875rem}
.footer-links a:hover{color:var(--saffron)}
.footer-contact li{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#C4A882;margin-bottom:9px}
.social-links{display:flex;gap:9px;margin-top:15px}
.social-link{width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#C4A882;font-size:.85rem;transition:var(--transition);text-decoration:none}
.social-link:hover{background:var(--saffron);color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#8A6848;flex-wrap:wrap;gap:8px}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .28s}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal{background:var(--white);border-radius:var(--radius-lg);padding:30px;width:100%;max-width:430px;transform:translateY(20px);transition:transform .28s;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal-overlay.active .modal{transform:translateY(0)}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-lt);transition:var(--transition)}
.modal-close:hover{color:var(--danger)}

/* SPINNER & TOAST */
.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.toast-container{position:fixed;bottom:24px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:9px}
.toast{background:var(--earth);color:#fff;padding:11px 18px;border-radius:var(--radius);font-size:.875rem;box-shadow:0 4px 20px rgba(0,0,0,.22);display:flex;align-items:center;gap:9px;animation:slideIn .28s ease;max-width:300px}
.toast.success{background:var(--success)}
.toast.error{background:var(--danger)}
.toast.info{background:var(--info)}
@keyframes slideIn{from{transform:translateX(100px);opacity:0}}

/* ============================================================
   QUICK CHECKOUT FLOATING WIDGET
   ============================================================ */
#quick-checkout{position:fixed;bottom:0;left:0;right:0;z-index:1500;transform:translateY(100%);transition:transform .38s cubic-bezier(.16,1,.3,1);pointer-events:none}
#quick-checkout.visible{transform:translateY(0);pointer-events:all}
.qc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:-1;transition:background .3s;pointer-events:none}
#quick-checkout.expanded .qc-backdrop{background:rgba(0,0,0,.45);pointer-events:all}
.qc-bar{background:var(--earth);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;height:64px;box-shadow:0 -4px 24px rgba(0,0,0,.3);cursor:pointer;user-select:none}
.qc-bar-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.qc-count{background:var(--saffron);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0}
.qc-summary{min-width:0}
.qc-summary-title{font-size:.78rem;color:#F5DEB3;font-weight:600;letter-spacing:.3px}
.qc-summary-items{font-size:.7rem;color:#A88060;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.qc-total{font-family:var(--font-head);font-size:1.2rem;font-weight:700;color:#FFD580;flex-shrink:0}
.qc-bar-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.qc-btn-checkout{background:var(--saffron);color:#fff;border:none;border-radius:var(--radius);padding:10px 20px;font-family:var(--font-body);font-size:.875rem;font-weight:700;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.qc-btn-checkout:hover{background:#C94F00;color:#fff}
.qc-btn-expand{background:rgba(255,255,255,.1);border:none;color:#F5DEB3;width:34px;height:34px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:var(--transition)}
.qc-btn-expand:hover{background:rgba(255,255,255,.18)}
.qc-btn-expand.rotated{transform:rotate(180deg)}
.qc-btn-close{background:none;border:none;color:#8A6848;cursor:pointer;font-size:1.1rem;transition:var(--transition);padding:4px 6px;line-height:1}
.qc-btn-close:hover{color:#fff}
.qc-panel{background:#fff;max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.16,1,.3,1);border-top:1px solid var(--border-lt)}
#quick-checkout.expanded .qc-panel{max-height:380px;overflow-y:auto}
.qc-panel-inner{padding:14px 20px}
.qc-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-lt)}
.qc-item:last-child{border-bottom:none}
.qc-item-img{width:52px;height:52px;border-radius:var(--radius);object-fit:cover;border:1px solid var(--border-lt);flex-shrink:0;background:var(--cream-dk)}
.qc-item-info{flex:1;min-width:0}
.qc-item-name{font-size:.85rem;font-weight:700;color:var(--earth);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc-item-variant{font-size:.72rem;color:var(--text-lt)}
.qc-item-qty-price{text-align:right;flex-shrink:0}
.qc-item-price{font-size:.9rem;font-weight:700;color:var(--earth)}
.qc-item-qty{display:flex;align-items:center;gap:6px;margin-top:4px;justify-content:flex-end}
.qc-qty-btn{width:22px;height:22px;background:var(--cream-dk);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;color:var(--earth);transition:var(--transition);line-height:1}
.qc-qty-btn:hover{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.qc-qty-num{font-size:.82rem;font-weight:700;color:var(--text-md);min-width:16px;text-align:center}
.qc-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:.9rem;transition:var(--transition);padding:2px}
.qc-remove:hover{color:var(--danger)}
.qc-panel-footer{background:var(--cream-dk);padding:13px 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border)}
.qc-panel-total{font-family:var(--font-head);font-size:1.05rem;color:var(--earth)}
.qc-panel-total span{color:var(--saffron)}
.qc-panel-actions{display:flex;gap:8px}
.qc-view-cart{padding:8px 16px;border:2px solid var(--border);background:#fff;color:var(--earth);border-radius:var(--radius);font-size:.82rem;font-weight:700;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center}
.qc-view-cart:hover{border-color:var(--saffron);color:var(--saffron)}

/* RESPONSIVE */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.shop-layout{grid-template-columns:1fr}.filters-sidebar{position:static}}
@media(max-width:768px){.nav-links{display:none}.mobile-menu-btn{display:block}.product-detail{grid-template-columns:1fr;gap:28px}.cart-container{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.payment-methods{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:22px}.hero{min-height:360px}.category-grid{grid-template-columns:repeat(2,1fr)}.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}.qc-summary-items{display:none}.qc-total{font-size:1rem}}
@media(max-width:480px){.container{padding:0 14px}.section{padding:40px 0}.products-grid{grid-template-columns:repeat(2,1fr);gap:9px}.product-info{padding:10px 12px 12px}.features-grid{grid-template-columns:1fr 1fr;gap:12px}.footer-bottom{flex-direction:column;text-align:center}.qc-bar{padding:0 14px;gap:10px}.qc-btn-checkout{padding:9px 14px;font-size:.8rem}}

/* ============================================================
   CART — MOBILE-FIRST REDESIGN
   ============================================================ */
.cart-page-title {
    font-size: clamp(1.4rem, 4vw, 2rem);
    margin-bottom: 24px;
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.cart-page-title span { font-size: .9rem; font-weight: 400; color: var(--text-lt); }

.cart-empty {
    text-align: center;
    padding: 60px 20px;
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-lt);
}
.cart-empty-icon { font-size: 3.5rem; margin-bottom: 16px; }
.cart-empty h2 { margin-bottom: 8px; }
.cart-empty p { color: var(--text-lt); margin-bottom: 24px; }

/* Layout: stacked on mobile, side-by-side on desktop */
.cart-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 24px;
    align-items: start;
}

/* Individual cart item card */
.cart-items { display: flex; flex-direction: column; gap: 14px; }

.cart-item {
    background: var(--white);
    border: 1px solid var(--border-lt);
    border-radius: var(--radius-lg);
    padding: 16px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    transition: var(--transition);
}
.cart-item:hover { border-color: var(--border); box-shadow: 0 2px 12px var(--shadow); }

.cart-item-img-wrap { flex-shrink: 0; }
.cart-item-img {
    width: 88px; height: 88px;
    object-fit: cover;
    border-radius: var(--radius);
    border: 1px solid var(--border-lt);
    background: var(--cream-dk);
    display: block;
}

.cart-item-body { flex: 1; min-width: 0; }

.cart-item-name {
    display: block;
    font-family: var(--font-head);
    font-size: .95rem;
    color: var(--earth);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 4px;
    text-decoration: none;
}
.cart-item-name:hover { color: var(--saffron); }

.cart-item-variant {
    font-size: .75rem;
    color: var(--text-lt);
    margin-bottom: 8px;
}

.cart-item-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.cart-item-unit {
    font-size: .8rem;
    color: var(--text-lt);
}
.cart-item-total {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--earth);
}

.cart-item-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.cart-qty {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    background: #fff;
}
.cart-qty-btn {
    width: 36px; height: 36px;
    background: var(--cream-dk);
    border: none; cursor: pointer;
    font-size: 1.1rem;
    color: var(--earth);
    transition: var(--transition);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.cart-qty-btn:hover { background: var(--saffron); color: #fff; }
.cart-qty-input {
    width: 44px !important;
    text-align: center;
    border: none !important;
    background: #fff !important;
    font-size: .95rem;
    font-weight: 700;
    color: var(--earth);
    outline: none;
    padding: 6px 0 !important;
    box-shadow: none !important;
}

.cart-remove-btn {
    background: none;
    border: none;
    color: var(--text-xlt);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: var(--radius);
    transition: var(--transition);
    display: flex; align-items: center; gap: 4px;
    white-space: nowrap;
}
.cart-remove-btn:hover { color: var(--danger); background: var(--danger-bg); }

.cart-continue {
    margin-top: 6px;
}

/* Cart Summary Box */
.cart-summary-box {
    background: var(--white);
    border: 1px solid var(--border-lt);
    border-radius: var(--radius-lg);
    padding: 22px;
    position: sticky;
    top: 88px;
}
.cart-summary-box h3 {
    font-family: var(--font-head);
    font-size: 1.1rem;
    color: var(--earth);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-lt);
}

.coupon-row {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}
.coupon-row input {
    flex: 1;
    padding: 9px 12px !important;
    font-size: .875rem !important;
}
.coupon-applied {
    font-size: .82rem;
    color: var(--success);
    background: var(--success-bg);
    border: 1px solid #A5D6A7;
    padding: 8px 12px;
    border-radius: var(--radius);
    margin-bottom: 14px;
}

.summary-lines { margin-bottom: 16px; }
.summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0;
    font-size: .9rem;
    color: var(--text-md);
    border-bottom: 1px solid var(--border-lt);
}
.summary-line:last-child { border-bottom: none; }
.discount-line { color: var(--success); }
.total-line {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--earth);
    border-bottom: none !important;
    padding-top: 12px;
    border-top: 2px solid var(--earth) !important;
    margin-top: 4px;
}

.free-shipping-hint {
    background: #FFF8E1;
    border: 1px solid #FFE082;
    border-radius: var(--radius);
    padding: 10px 12px;
    font-size: .8rem;
    color: #5D4037;
    margin-bottom: 16px;
}

.cart-trust {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 12px;
    font-size: .75rem;
    color: var(--text-lt);
    flex-wrap: wrap;
}

/* ============================================================
   MOBILE-FIRST GLOBAL FIXES
   ============================================================ */

/* Hero: fix OM emoji + proper mobile padding */
@media (max-width: 768px) {
    .hero { min-height: unset; padding: 36px 0 40px; }
    .hero-om { font-size: 2rem; }
    .hero h1 { font-size: 1.7rem; }
    .hero p  { font-size: .95rem; margin-bottom: 22px; }
    .hero-btns { gap: 10px; }
    .hero-btns .btn { width: 100%; justify-content: center; }

    /* Cart layout: stack on mobile */
    .cart-layout {
        grid-template-columns: 1fr;
    }
    .cart-summary-box {
        position: static;
        order: -1; /* Summary above items on mobile */
    }
    .cart-item-img { width: 72px; height: 72px; }

    /* Nav */
    .nav-links {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0; right: 0;
        background: var(--earth);
        padding: 16px 20px;
        gap: 0;
        border-top: 1px solid rgba(255,255,255,.1);
        z-index: 999;
    }
    .nav-links.open { display: flex; }
    .nav-links a {
        padding: 12px 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
        font-size: 1rem;
    }
    .nav-links a:last-child { border-bottom: none; }
    .site-header { position: sticky; }

    /* Section padding */
    .section    { padding: 36px 0; }
    .section-sm { padding: 28px 0; }

    /* Products */
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .product-info  { padding: 10px 12px 12px; }
    .product-name  { font-size: .82rem; }
    .price-current { font-size: 1rem; }
    .btn-cart      { font-size: .75rem; padding: 9px 6px; }

    /* Category cards */
    .category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .category-card { padding: 20px 12px; }
    .category-icon { font-size: 1.8rem; }
    .category-card h3 { font-size: .85rem; }

    /* Features */
    .features-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    .feature-text strong { font-size: .8rem; }
    .feature-text span   { font-size: .7rem; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 20px; }

    /* Quick checkout bar */
    .qc-btn-expand { display: none; }
    .qc-summary-items { display: none; }
    .qc-total { font-size: .95rem; }

    /* Checkout / account */
    .checkout-layout { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .payment-methods { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .container { padding: 0 14px; }

    /* Smaller product grid */
    .products-grid { gap: 8px; }
    .product-image { aspect-ratio: 1; }

    /* Cart item compact */
    .cart-item { padding: 12px; gap: 10px; }
    .cart-item-img { width: 62px; height: 62px; }
    .cart-item-name { font-size: .85rem; }
    .cart-item-total { font-size: 1rem; }

    /* Buttons full width on tiny screens */
    .hero-btns .btn-lg { padding: 13px 20px; font-size: .9rem; }

    /* Quick checkout */
    .qc-bar { height: 58px; padding: 0 12px; gap: 8px; }
    .qc-btn-checkout { padding: 8px 14px; font-size: .78rem; }
    .qc-btn-close { padding: 3px; }

    /* Footer bottom */
    .footer-bottom { flex-direction: column; text-align: center; gap: 6px; }
}

/* ============================================================
   WHATSAPP FLOATING BUTTON
   ============================================================ */
/* ============================================================
   WHATSAPP FLOATING BUTTON
   ============================================================ */

/* Wrapper for pulse ring + button together */
.wa-wrap {
    position: fixed;
    bottom: 28px;
    right: 24px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: bottom 0.3s ease;
}

/* Pulse ring — sibling of button, not inside it */
.wa-wrap::before {
    content: '';
    position: absolute;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #25D366;
    animation: wa-pulse 2.2s ease-out infinite;
    pointer-events: none;
}

@keyframes wa-pulse {
    0%   { transform: scale(1);   opacity: 0.7; }
    70%  { transform: scale(1.65); opacity: 0; }
    100% { transform: scale(1.65); opacity: 0; }
}

.wa-float {
    position: relative;
    background: #25D366;
    color: #fff;
    width: 58px;
    height: 58px;
    border-radius: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    box-shadow: 0 4px 16px rgba(37,211,102,0.5), 0 2px 6px rgba(0,0,0,0.18);
    text-decoration: none;
    overflow: hidden;
    transition: width 0.28s cubic-bezier(0.34,1.56,0.64,1),
                gap 0.22s ease,
                padding 0.22s ease,
                background 0.18s ease,
                box-shadow 0.2s ease;
    white-space: nowrap;
}

.wa-float:hover {
    width: 170px;
    gap: 10px;
    padding: 0 20px 0 14px;
    background: #1DAB58;
    color: #fff;
    box-shadow: 0 6px 24px rgba(37,211,102,0.55), 0 2px 8px rgba(0,0,0,0.2);
}

.wa-float svg { flex-shrink: 0; }

.wa-float-label {
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 700;
    white-space: nowrap;
    width: 0;
    overflow: hidden;
    opacity: 0;
    transition: width 0.28s ease, opacity 0.22s ease;
    pointer-events: none;
}

.wa-float:hover .wa-float-label {
    width: 90px;
    opacity: 1;
}

/* When quick-checkout is visible, shift up */
.wa-wrap.qc-active {
    bottom: 92px;
}

/* Mobile */
@media (max-width: 768px) {
    .wa-wrap { bottom: 20px; right: 16px; }
    .wa-float { width: 52px; height: 52px; border-radius: 50%; }
    .wa-float:hover { width: 52px; gap: 0; padding: 0; }
    .wa-float:hover .wa-float-label { width: 0; opacity: 0; }
    .wa-wrap::before { width: 52px; height: 52px; }
}
