/* =========================================================*

*   landing_page/css/style.css — Modern storefront theme*

*   ব্র্যান্ড কালার header.php থেকে --brand হিসেবে আসে।*

*   ========================================================= */

:root{

  --brand:#0a5c46;

  --brand-d:color-mix(in srgb,var(--brand) 72%,#000);

  --brand-l:color-mix(in srgb,var(--brand) 10%,#fff);

  --cta:#f0592a;

  --cta-d:#d94a1d;

  --ink:#141a17;

  --muted:#6b736f;

  --line:#e7e2d8;

  --bg:#f7f4ee;

  --surface:#fff;

  --gold:#f5b13d;

  --good:#16a34a;

  --bad:#dc2626;

  --r:16px;

  --shadow:0 1px 2px rgba(20,26,23,.06),0 8px 24px rgba(20,26,23,.06);

  --shadow-h:0 2px 4px rgba(20,26,23,.08),0 16px 36px rgba(20,26,23,.12);

}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{font-family:'Hind Siliguri',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}

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

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

button,input,select,textarea{font:inherit;color:inherit}

button{cursor:pointer;border:0;background:none}

[hidden]{display:none!important}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}

.wrap.narrow{max-width:820px}

.muted{color:var(--muted)}



/* ---------- Top bar & header ---------- */

.topbar{background:var(--ink);color:#fff;text-align:center;font-size:13.5px;padding:7px 12px;letter-spacing:.2px}

.topbar i{color:var(--gold);margin-right:6px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid transparent;transition:.2s}

.site-header.scrolled{border-color:var(--line);box-shadow:0 6px 20px rgba(20,26,23,.06)}

.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}

.brand{display:flex;align-items:center;gap:12px;min-width:0}

.logo{flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#fff;border:2px solid var(--brand-l);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.08)}

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

.logo-fallback{font-weight:700;font-size:22px;color:var(--brand)}

.brand-text{display:flex;flex-direction:column;min-width:0}

.brand-text b{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.brand-text small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}

.hdr-actions{display:flex;align-items:center;gap:8px;flex:none}

.hdr-link{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-weight:600;font-size:14.5px;color:var(--brand);background:var(--brand-l);transition:.15s}

.hdr-link:hover{background:color-mix(in srgb,var(--brand) 18%,#fff)}

.hdr-link span{white-space:nowrap}

.cart-btn{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:18px;transition:.15s;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 35%,transparent)}

.cart-btn:hover{transform:translateY(-1px);background:var(--brand-d)}

.cart-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--cta);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}



/* ---------- Hero ---------- */


/* =========================================================
   MODERN RESPONSIVE HERO
   Image hero: natural image ratio, no cropping on mobile.
========================================================= */
.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, var(--brand-d), var(--brand) 55%, color-mix(in srgb, var(--brand) 72%, #fff));
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Text / gradient hero */
.hero--text {
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.13), transparent 28%),
        linear-gradient(125deg, var(--brand-d), var(--brand) 62%, color-mix(in srgb, var(--brand) 72%, #fff));
}

.hero--text .hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
    align-items: center;
    gap: 36px;
    min-height: 430px;
    padding-top: 10px;
    padding-bottom: 20px;
}

.hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    animation: heroIn .7s cubic-bezier(.2,.7,.2,1) both;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 15px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font-size: 13.5px;
    font-weight: 600;
}

.hero-kicker i { color: var(--gold); }

.hero--text h1 {
    max-width: 18ch;
    margin: 18px 0 12px;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.13;
    font-weight: 700;
    letter-spacing: -.5px;
    text-wrap: balance;
    overflow-wrap: anywhere;
    background: linear-gradient(180deg, #fff 40%, color-mix(in srgb, #fff 70%, var(--gold)));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.hero--text p {
    max-width: 46ch;
    color: rgba(255,255,255,.91);
    font-size: clamp(15.5px, 2vw, 19px);
    line-height: 1.75;
    text-wrap: pretty;
}

.hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    margin-top: 25px;
    padding: 7px 8px 7px 24px;
    border-radius: 999px;
    background: #fff;
    color: var(--brand);
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(0,0,0,.2);
    transition: transform .2s, box-shadow .2s;
}
.hero-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0,0,0,.28);
}
.hero-cta i {
    display: grid;
    place-items: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    font-size: 14px;
    animation: nudge 1.8s ease-in-out infinite;
}



.hero-cta:active { transform: translateY(0); }

.hero-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 24px;
    color: rgba(255,255,255,.9);
    font-size: 13px;
}

.hero-benefits > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.hero-benefits i { color: var(--gold); }

/* Decorative art — desktop only */
.hero-orb {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(64px);
    pointer-events: none;
    animation: orbFloat 14s ease-in-out infinite alternate;
}

.hero-orb.o1 {
    top: -130px;
    right: -90px;
    width: 320px;
    height: 320px;
    background: var(--gold);
    opacity: .35;
}

.hero-orb.o2 {
    bottom: -150px;
    left: -110px;
    width: 300px;
    height: 300px;
    background: color-mix(in srgb, var(--brand) 35%, #fff);
    opacity: .4;
    animation-delay: -6s;
}

.hero-grid {
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px);
    background-size: 22px 22px;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 88%);
    mask-image: linear-gradient(180deg, #000, transparent 88%);
}

.hero-art {
    position: relative;
    display: none;
    justify-self: center;
    width: min(380px, 100%);
    aspect-ratio: 1;
}

.art-ring {
    position: absolute;
    inset: 5%;
    border: 1.5px dashed rgba(255,255,255,.38);
    border-radius: 50%;
    animation: spin 40s linear infinite;
}

.art-core {
    position: absolute;
    inset: 23%;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 38%;
    background: linear-gradient(145deg, rgba(255,255,255,.3), rgba(255,255,255,.08));
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 30px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.45);
    color: #fff;
    font-size: clamp(52px, 6vw, 80px);
}

.art-chip {
    position: absolute;
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    border-radius: 21px;
    background: #fff;
    color: var(--brand);
    font-size: 26px;
    box-shadow: 0 18px 34px rgba(0,0,0,.26);
    animation: chipFloat 6s ease-in-out infinite;
}

.art-chip.c1 { top: 3%; right: 13%; }
.art-chip.c2 { bottom: 11%; left: 1%; color: var(--cta); animation-delay: -2s; }
.art-chip.c3 {
    right: 9%;
    bottom: 1%;
    width: 54px;
    height: 54px;
    border-radius: 17px;
    background: var(--gold);
    color: var(--ink);
    font-size: 21px;
    animation-delay: -4s;
}

/* Image hero — image is in normal flow; never crop it */
/* Image Hero: CTA positioned over the image */
.hero--image {
    position: relative;
    overflow: hidden;
}

.hero--image .hero-media {
    position: relative;
    width: 100%;
    line-height: 0;
}

.hero--image .hero-bg {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.hero--image .hero-inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 20px 35px;
    pointer-events: none;
}

.hero--image .hero-image-content {
    display: flex;
    justify-content: center;
    width: 100%;
    pointer-events: auto;
}



.hero-image-caption {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--brand-d);
    font-size: 14px;
    font-weight: 700;
}

.hero-image-caption i { color: var(--cta); }

/* Premium Transparent Glass CTA */
.hero--image .hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 13px 30px;
    border-radius: 50px;

    color: #fff;
    background: rgba(255, 255, 255, 0.18);

    border: 1px solid rgba(255, 255, 255, 0.65);

    font-weight: 700;
    font-size: 16px;
    text-decoration: none;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);

    transition: all .3s ease;
}

.hero--image .hero-cta:hover {
    background: rgba(255, 255, 255, 0.32);
    border-color: #fff;
    transform: translateY(-3px);

    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}

.hero--image .hero-cta i {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
    border-radius: 50%;
}



@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@keyframes orbFloat{to{transform:translate(-34px,24px) scale(1.15)}}

@keyframes chipFloat{50%{transform:translateY(-12px)}}

@keyframes nudge{50%{transform:translateY(3px)}}

@keyframes spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){.hero *,.hero *::before{animation:none!important}}
@media (max-width: 600px) {
    .hero--image .hero-inner {
        padding: 0 12px 16px;
    }

    .hero--image .hero-cta {
        padding: 10px 22px;
        font-size: 14px;
    }
}


/* ---------- Trust strip ---------- */

.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:-34px;position:relative;z-index:2}

.trust-item{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}

.trust-item>i{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand);font-size:18px}

.trust-item b{display:block;font-size:14.5px;line-height:1.25}

.trust-item small{color:var(--muted);font-size:12.5px;line-height:1.2;display:block}



/* ---------- Toolbar / chips ---------- */

.toolbar{display:flex;gap:10px;margin:28px 0 14px;flex-wrap:wrap}

.search{flex:1 1 260px;position:relative;display:block}

.search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}

.search input{width:100%;padding:14px 16px 14px 44px;border-radius:14px;border:1.5px solid var(--line);background:#fff;outline:none;transition:.15s}

.search input:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}

.sort{flex:0 0 auto;padding:13px 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;outline:none;cursor:pointer}

.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}

.chips::-webkit-scrollbar{display:none}

.chip{flex:none;padding:8px 18px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:600;font-size:14.5px;transition:.15s;white-space:nowrap}

.chip:hover{border-color:var(--brand);color:var(--brand)}

.chip.active{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 14px color-mix(in srgb,var(--brand) 30%,transparent)}

.scope-note{background:var(--brand-l);color:var(--brand-d);padding:10px 14px;border-radius:12px;font-size:14.5px;margin-bottom:10px}

.scope-note a{font-weight:700;text-decoration:underline}

.result-meta{color:var(--muted);font-size:14px;margin:4px 2px 12px}

.result-meta span{font-weight:700;color:var(--ink)}



/* ---------- Product grid & card ---------- */

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-bottom:30px}

.card{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;border:1px solid transparent}

.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:var(--brand-l)}

.card-media{position:relative;aspect-ratio:1/1;background:#ece8df;overflow:hidden}

.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}

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

.badge-off{position:absolute;top:10px;left:10px;background:var(--cta);color:#fff;font-weight:700;font-size:12.5px;padding:3px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(240,89,42,.4)}

.badge-off.lg{font-size:14px;padding:5px 14px;top:14px;left:14px}

.card-body{display:flex;flex-direction:column;gap:4px;padding:12px 12px 14px;flex:1}

.card-title{font-size:15.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}

.card-code{font-size:12px;color:var(--muted)}

.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:2px}

.price b{font-size:19px;color:var(--brand);font-weight:700}

.price s{font-size:13.5px;color:var(--muted)}

.btn-order{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:12px;background:var(--cta);color:#fff;font-weight:700;font-size:15px;transition:.15s;box-shadow:0 6px 14px rgba(240,89,42,.28)}

.card:hover .btn-order{background:var(--cta-d)}

.card .price{margin-bottom:8px}



/* ---------- Empty ---------- */

.empty{text-align:center;padding:60px 16px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);margin:24px 0}

.empty>i{font-size:46px;color:color-mix(in srgb,var(--brand) 45%,#fff);margin-bottom:12px}

.empty h2{font-size:22px;margin-bottom:6px}

.empty p{color:var(--muted);margin-bottom:18px}



/* ---------- Buttons ---------- */

.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:14px;background:linear-gradient(180deg,#f46a3b,var(--cta));color:#fff;font-weight:700;font-size:17px;box-shadow:0 10px 22px rgba(240,89,42,.32);transition:.18s}

.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(240,89,42,.4)}

.btn-primary:active{transform:translateY(1px)}

.btn-primary:disabled{background:#c9c4b8;box-shadow:none;cursor:not-allowed;transform:none}

.btn-block{display:flex;width:100%}



/* ---------- Product page ---------- */

.crumbs{font-size:13.5px;color:var(--muted);padding:14px 2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.crumbs i{font-size:10px}

.crumbs span{color:var(--ink);font-weight:600}

.pdp{display:grid;gap:20px;margin-bottom:30px}

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

.offer-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:linear-gradient(90deg,var(--cta),#ff8a3d);color:#fff;padding:10px 16px;border-radius:14px;font-size:15px;box-shadow:0 8px 18px rgba(240,89,42,.28)}

.timer{font-weight:700;background:rgba(0,0,0,.18);padding:3px 12px;border-radius:999px;font-variant-numeric:tabular-nums}

.main-img-wrap{position:relative;border-radius:20px;overflow:hidden;background:#ece8df;aspect-ratio:1/1;box-shadow:var(--shadow)}

.main-img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}

.thumbs{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}

.thumb{flex:none;width:68px;height:68px;border-radius:12px;object-fit:cover;border:2px solid transparent;cursor:pointer;background:#ece8df;opacity:.8;transition:.15s}

.thumb:hover{opacity:1}

.thumb.active{border-color:var(--brand);opacity:1}

.offer-desc{background:var(--surface);border-left:4px solid var(--gold);padding:12px 16px;border-radius:12px;font-size:15px;box-shadow:var(--shadow)}

.details{background:var(--surface);border-radius:20px;padding:20px 18px;box-shadow:var(--shadow);height:fit-content}

.pdp-title{font-size:clamp(21px,4vw,28px);line-height:1.25;font-weight:700}

.pdp-title small{font-size:.55em;color:var(--muted);font-weight:500}

.pdp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:12px 0 18px;padding-bottom:16px;border-bottom:1px dashed var(--line)}

.pdp-price .now{font-size:34px;font-weight:700;color:var(--brand);line-height:1}

.pdp-price .was{font-size:18px;color:var(--muted);text-decoration:line-through}

.pdp-price .save{font-size:13.5px;font-weight:700;color:var(--good);background:#dcfce7;padding:3px 12px;border-radius:999px}

.opt{border:0;margin-bottom:16px}

.opt legend{font-weight:600;margin-bottom:8px;font-size:15.5px}

.opt legend em{font-style:normal;color:var(--brand);font-weight:600}

.req{color:var(--cta)}

.pills{display:flex;flex-wrap:wrap;gap:8px}

.pill{position:relative;cursor:pointer}

.pill input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}

.pill span{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:15px;transition:.15s;min-height:44px}

.pill-img{width:28px;height:28px;border-radius:8px;object-fit:cover}

.pill:hover span{border-color:var(--brand)}

.pill input:checked+span{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}

.pill input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}

.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}

.qty-row label{font-weight:600}

.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}

.qty button{width:42px;height:42px;font-size:20px;font-weight:600;color:var(--brand);transition:.12s}

.qty button:hover{background:var(--brand-l)}

.qty input{width:48px;height:42px;text-align:center;border:0;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);outline:none;font-weight:700;-moz-appearance:textfield;background:#fff}

.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.qty.small button{width:34px;height:34px;font-size:17px}

.qty.small input{width:40px;height:34px}

.trust-mini{list-style:none;margin-top:16px;display:grid;gap:8px;font-size:14.5px;color:var(--muted)}

.trust-mini i{color:var(--brand);width:20px}

.trust-mini a{color:var(--brand);font-weight:600;text-decoration:underline}

.features{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line)}

.features h3{font-size:17px;margin-bottom:10px}

.features h3 i{color:var(--gold);margin-right:6px}

.feat-list{list-style:none;display:grid;gap:7px}

.feat-list li{position:relative;padding-left:26px;font-size:15.5px}

.feat-list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:2px;font-size:12px;width:18px;height:18px;border-radius:50%;background:var(--brand-l);color:var(--brand);display:grid;place-items:center}

.feat-list li.gap{height:6px;padding:0}.feat-list li.gap::before{display:none}

.related h2{font-size:22px;margin:10px 2px 14px}



/* ---------- Sticky bottom bar (mobile) ---------- */

.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(20,26,23,.08)}

.sb-price{display:flex;flex-direction:column;line-height:1.15;min-width:84px}

.sb-price b{font-size:21px;color:var(--brand)}

.sb-price s,.sb-price small{font-size:12.5px;color:var(--muted)}

.sticky-bar .btn-primary{flex:1;padding:13px 14px;font-size:16px}

body.has-sticky{padding-bottom:84px}

body.has-sticky .wa-float{bottom:96px}



/* ---------- Cart / checkout ---------- */

.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 2px 10px;flex-wrap:wrap}

.page-head h1{font-size:clamp(22px,4vw,28px)}

.add-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand);background:var(--brand-l);padding:8px 16px;border-radius:999px;font-size:14.5px}

.add-more:hover{background:color-mix(in srgb,var(--brand) 18%,#fff)}

.checkout{display:grid;gap:16px;align-items:start;padding-bottom:30px}

.col-main{display:grid;gap:16px}

.panel{background:var(--surface);border-radius:var(--r);padding:18px 16px;box-shadow:var(--shadow)}

.panel h2{font-size:17.5px;margin-bottom:14px;display:flex;align-items:center;gap:10px}

.panel h2 i{color:var(--brand);font-size:16px}

.line{display:grid;grid-template-columns:78px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}

.line:first-child{padding-top:0}.line:last-child{border-bottom:0;padding-bottom:0}

.line-img{width:78px;height:78px;border-radius:12px;object-fit:cover;background:#ece8df}

.line-name{font-size:15.5px;font-weight:600;line-height:1.35}

.line-opts{display:flex;gap:6px 12px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:2px 0}

.line-opts b{color:var(--ink)}

.line-price{font-size:14px;color:var(--brand);font-weight:700;margin:3px 0 8px}

.line-price s{color:var(--muted);font-weight:400;margin-left:6px;font-size:13px}

.line-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}

.line-total{font-weight:700;font-size:16.5px}

.rm-btn{width:34px;height:34px;border-radius:10px;color:var(--bad);background:#fef2f2;transition:.15s}

.rm-btn:hover{background:#fee2e2}

.field{margin-bottom:14px}

.field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:6px}

.field label em{font-style:normal;color:var(--muted);font-weight:400}

.field input,.field textarea{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;outline:none;transition:.15s;resize:vertical}

.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}

.field .invalid{border-color:var(--bad);box-shadow:0 0 0 4px rgba(220,38,38,.12)}

.areas{display:grid;gap:10px}

.area{position:relative;cursor:pointer}

.area input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}

.area-body{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);font-weight:600;transition:.15s}

.area-body::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #b9b3a6;margin-right:4px;transition:.15s}

.area-body span{flex:1}

.area input:checked+.area-body{border-color:var(--brand);background:var(--brand-l)}

.area input:checked+.area-body::before{border-color:var(--brand);background:radial-gradient(circle,var(--brand) 45%,transparent 50%)}

.summary{position:relative}

.sum-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:15.5px}

.sum-row span:first-child{color:var(--muted)}

.sum-total{border-top:1px dashed var(--line);margin-top:6px;padding-top:14px;font-size:19px}

.sum-total span:first-child{color:var(--ink);font-weight:700}

.sum-total b{color:var(--brand);font-size:23px}

.delivery-note{margin:12px 0;font-size:15px;font-weight:600;color:var(--brand);text-align:center;background:var(--brand-l);padding:9px 12px;border-radius:12px}

.cod-note{margin-top:12px;text-align:center;font-size:13.5px;color:var(--muted)}

.cod-note i{color:var(--good);margin-right:4px}

.sum-block{margin-top:12px;border-top:1px dashed var(--line);padding-top:8px}



/* ---------- Order status ---------- */

.status-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--brand-d),var(--brand));color:#fff}

.status-hero small{opacity:.8}

.status-hero h2{margin:0;font-size:22px;display:block;word-break:break-all}

.tag{padding:6px 16px;border-radius:999px;font-weight:700;font-size:14px;background:#fff}

.tag.good{color:var(--good)}.tag.bad{color:var(--bad)}.tag.info{color:var(--brand)}

.timeline{list-style:none;position:relative;margin-left:8px;padding-left:24px}

.timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}

.tl-item{position:relative;padding-bottom:20px}

.tl-item:last-child{padding-bottom:0}

.tl-item::before{content:"";position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #c9c4b8}

.tl-item.current::before{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 20%,transparent)}

.tl-item.current.good::before{border-color:var(--good);background:var(--good);box-shadow:0 0 0 5px rgba(22,163,74,.2)}

.tl-item.current.bad::before{border-color:var(--bad);background:var(--bad);box-shadow:0 0 0 5px rgba(220,38,38,.2)}

.tl-status{font-weight:700}

.tl-item.current .tl-status{color:var(--brand)}

.tl-remarks{font-size:14.5px;color:#3d4541}

.tl-date{font-size:12.5px;color:var(--muted);margin-top:2px}



/* ---------- Footer ---------- */

.site-footer{background:var(--ink);color:#cfd6d2;margin-top:30px;padding-top:34px}

.foot-grid{display:grid;gap:26px;padding-bottom:26px}

.site-footer h4{color:#fff;font-size:17px;margin-bottom:10px}

.site-footer p{font-size:14.5px;margin:5px 0;display:flex;gap:8px;align-items:flex-start}

.site-footer p i{color:var(--gold);margin-top:5px;width:16px;text-align:center}

.social{display:flex;gap:10px;margin-bottom:12px}

.social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;font-size:18px;transition:.2s}

.social a:hover{background:var(--brand);transform:translateY(-3px)}

.foot-note{color:#9aa39e}

.copy{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:14px 12px;font-size:13px;color:#9aa39e}



/* ---------- Floating / overlays ---------- */

.wa-float{position:fixed;right:16px;bottom:18px;z-index:55;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:30px;box-shadow:0 10px 24px rgba(37,211,102,.45);transition:.2s}

.wa-float:hover{transform:scale(1.08)}

.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:16px;cursor:zoom-out}

.lightbox img{max-width:100%;max-height:100%;border-radius:12px}

.toast-box{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:200;display:grid;gap:8px;width:min(92vw,420px);pointer-events:none}

.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font-weight:500;font-size:15px;box-shadow:0 12px 28px rgba(0,0,0,.25);opacity:0;transform:translateY(-10px);transition:.3s;border-left:4px solid var(--brand)}

.toast.show{opacity:1;transform:none}

.toast.warn{border-color:var(--gold)}.toast.error{border-color:var(--bad)}

.swal2-popup{font-family:inherit!important;border-radius:20px!important}



/* ---------- Responsive ---------- */

@media (min-width:640px){

  .trust{grid-template-columns:repeat(4,1fr)}

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

  .foot-grid{grid-template-columns:1.4fr 1fr}

}

@media (min-width:900px){

  .hero-inner{grid-template-columns:1.15fr .85fr;gap:40px;padding-top:78px;padding-bottom:112px}

  .hero-art{display:block}

  .hdr{padding-top:12px;padding-bottom:12px}

  .brand-text small{max-width:340px}

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

  .pdp{grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}

  .gallery{position:sticky;top:90px}

  .details{padding:28px 28px}

  .checkout{grid-template-columns:1fr 380px;gap:22px}

  .col-side{position:sticky;top:90px}

  .sticky-bar{display:none}

  body.has-sticky{padding-bottom:0}

  body.has-sticky .wa-float{bottom:18px}

  .page-cart .sticky-bar{display:none}

}

@media (max-width:480px){

  .hero--text .hero-cta{width:100%}

  .hero-orb{filter:blur(48px)}

}

@media (max-width:640px){

  .hide-sm,.hdr-link span{display:none}

  .hdr-link{padding:0;width:44px;height:44px;justify-content:center;font-size:18px}

  .brand-text b{font-size:16px}

  .logo{width:42px;height:42px}

  .page-product .details .btn-block,.page-cart .summary .btn-block{display:flex}

}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}



/* =========================================================
   FINAL HERO RESPONSIVE OVERRIDES
========================================================= */

@media (min-width: 900px) {
    .hero-art { display: block; }
}

@media (min-width: 640px) and (max-width: 899px) {
    .hero--text .hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(210px, .7fr);
        min-height: 370px;
        gap: 20px;
        padding-top: 18px;
        padding-bottom: 26px;
    }

    .hero--text h1 { font-size: clamp(34px, 5vw, 48px); }
    .hero-art { display: block; width: min(270px, 100%); }
}

@media (max-width: 639px) {
    .hero--text .hero-inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        min-height: 0;
        padding-top: 18px;
        padding-bottom: 22px;
    }

    .hero-copy { width: 100%; }
    .hero--text h1 {
        max-width: 100%;
        margin: 15px 0 10px;
        font-size: clamp(32px, 9vw, 43px);
        line-height: 1.17;
    }

    .hero--text p { max-width: 100%; font-size: 15.5px; }
    .hero--text .hero-cta { width: auto; max-width: 100%; margin-top: 20px; }
    .hero-benefits { gap: 8px 14px; font-size: 12px; }
    .hero-art { display: none !important; }
    .hero-orb { filter: blur(48px); }

    .hero--image .hero-media,
    .hero--image .hero-bg {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
    }

    .hero--image .hero-bg {
        position: relative !important;
        inset: auto !important;
        object-fit: contain !important;
    }

    .hero--image .hero-inner {
        min-height: 0;
        padding: 16px 16px 20px;
    }

    .hero-image-content { gap: 10px; }
}

@media (max-width: 380px) {
    .hero--text .hero-inner {
        padding-top: 10px;
        padding-bottom: 24px;
    }

    .hero--text h1 { font-size: 31px; }
    .hero-benefits { flex-direction: column; }
    .hero--image .hero-image-content { flex-direction: column; }
}
/* Mobile Hero CTA - Compact Glass Button */
@media (max-width: 767px) {
    .hero--image .hero-cta {
        padding: 8px 17px;
        font-size: 13px;
        gap: 7px;
        border-radius: 30px;
        width: auto;
        min-height: 0;
    }

    .hero--image .hero-cta i {
        font-size: 12px;
        padding: 5px;
    }
}

@media (max-width: 600px) {

    .hero--image {
        position: relative;
        z-index: 1;
    }

    .hero--image .hero-inner {
        padding-bottom: 0px;
        z-index: 3;
    }

    .hero--image .hero-image-content {
        position: relative;
        z-index: 3;
    }

    .trust {
        margin-top: -8px;
        position: relative;
        z-index: 2;
    }

}
/* =========================================
   TRUST SECTION - VIEW PRODUCTS CTA
========================================= */

.trust-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 18px;
    position: relative;
    z-index: 5;
}

.trust-cta .hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

/* Mobile */
@media (max-width: 600px) {
    .trust-cta {
        margin-top: 14px;
        padding-bottom: 10px;
    }
}