/* PABEL PRIME SHOP — storefront theme (cream / forest green / lime). Admin keeps app.css. */
:root{--bg:#f7f2e7;--ink:#14442a;--soft:#5d6b60;--green:#17512f;--lime:#c6f432;--sun:#ffd84d;--line:#e6dfcb;
--mint:#dde9d4;--cream:#fde6ae;--rose:#f9d8d6;--blue:#dce8f5;--ease:cubic-bezier(.2,.8,.2,1)}
[data-bs-theme=light]{--bs-body-bg:var(--bg);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-secondary-color:var(--soft);
--bs-primary:#17512f;--bs-primary-rgb:23,81,47;--bs-link-color:#17512f;--bs-link-color-rgb:23,81,47;--bs-link-hover-color:#0f3a21;--bs-link-hover-color-rgb:15,58,33;
--bs-body-font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Hind Siliguri","Noto Sans Bengali",sans-serif;--bs-border-radius:1rem}
body.store{background:var(--bg);color:var(--ink);padding-bottom:120px}
.text-muted,.text-body-secondary{color:var(--soft)!important}
a{text-decoration-color:rgba(23,81,47,.35)}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* bootstrap component overrides (all storefront pages) */
.card{background:#fff;border:0;border-radius:24px;box-shadow:none}
.bg-white{background:#fff!important}
.bg-light{background:#fff!important}
.btn{border-radius:999px;font-weight:600;transition:transform .2s var(--ease),background-color .2s}
.btn:active{transform:scale(.97)}
.btn-primary{--bs-btn-bg:#17512f;--bs-btn-border-color:#17512f;--bs-btn-color:#c6f432;--bs-btn-hover-bg:#0f3a21;--bs-btn-hover-border-color:#0f3a21;--bs-btn-hover-color:#c6f432;--bs-btn-active-bg:#0f3a21;--bs-btn-active-border-color:#0f3a21;--bs-btn-active-color:#c6f432;--bs-btn-disabled-bg:#17512f;--bs-btn-disabled-border-color:#17512f;--bs-btn-disabled-color:#c6f432;--bs-btn-focus-shadow-rgb:23,81,47}
.btn-outline-primary{--bs-btn-color:#17512f;--bs-btn-border-color:#17512f;--bs-btn-hover-bg:#17512f;--bs-btn-hover-border-color:#17512f;--bs-btn-hover-color:#c6f432;--bs-btn-active-bg:#17512f;--bs-btn-active-border-color:#17512f;--bs-btn-active-color:#c6f432}
.btn-outline-secondary{--bs-btn-color:#14442a;--bs-btn-border-color:#cfc8b2;--bs-btn-hover-bg:#14442a;--bs-btn-hover-border-color:#14442a;--bs-btn-hover-color:#fff}
.form-control,.form-select{background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink)}
.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(23,81,47,.15)}
.form-check-input:checked{background-color:var(--green);border-color:var(--green)}
.table{--bs-table-bg:#fff;--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
.table-responsive{border-radius:20px;overflow:hidden;background:#fff}
.list-group{--bs-list-group-border-color:transparent;--bs-list-group-bg:#fff;border-radius:22px;overflow:hidden}
.list-group-item.active{background:var(--green);border-color:var(--green);color:var(--lime)}
.badge{border-radius:999px;font-weight:600}
.alert{border:0;border-radius:18px}
.page-link{border-radius:999px!important;margin:0 2px;border:0;color:var(--green);background:#fff}
.page-item.active .page-link{background:var(--green);color:var(--lime)}
.price-old{text-decoration:line-through;color:var(--soft);font-size:.85em}
.breadcrumb{--bs-breadcrumb-divider-color:var(--soft)}
h1,h2,.h4{letter-spacing:-.01em}

/* wrapper */
.pp-wrap{--pad:16px;max-width:1080px;padding-left:var(--pad);padding-right:var(--pad)}

/* header */
.pp-head{padding:calc(env(safe-area-inset-top,0px) + 16px) 0 4px}
.pp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pp-top small{display:block;font-size:13px;color:var(--soft)}
.pp-top a.brand{font-size:19px;font-weight:600;letter-spacing:-.2px;color:var(--ink);text-decoration:none}
.pp-bag{position:relative;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);text-decoration:none}
.pp-bag svg{width:22px;height:22px}
.pp-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;border-radius:9px;background:var(--green);color:var(--lime);font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px;transition:transform .2s}
.pp-badge[data-n="0"]{display:none}
.pp-badge.pop{transform:scale(1.35)}
.pp-search{margin-top:14px;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:0 6px 0 20px;height:50px}
.pp-search svg{width:20px;height:20px;color:var(--soft);flex:none}
.pp-search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:15px;color:var(--ink)}
.pp-search:focus-within{box-shadow:0 0 0 2px var(--green)}
.pp-search button{border:0;background:var(--green);color:var(--lime);border-radius:999px;height:38px;padding:0 16px;font-size:14px;font-weight:600}
.pp-main{padding-top:16px;padding-bottom:24px}

/* hero */
.pp-hero{position:relative;height:222px;border-radius:30px;background:var(--green);overflow:hidden;color:#fff}
.pp-hero .txt{position:absolute;left:24px;top:24px;z-index:2}
.pp-hero .tag{font-size:13px;color:var(--lime)}
.pp-hero h2{margin-top:6px;font-size:31px;line-height:1.12;font-weight:600;letter-spacing:-.6px;color:#fff}
.pp-cta{margin-top:18px;display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--green);font-weight:600;font-size:14px;padding:11px 18px;border-radius:999px;text-decoration:none}
.pp-cta:hover{color:var(--green)}
.pp-cta svg{width:16px;height:16px}
.pp-blob{position:absolute;right:-26px;top:10px;width:190px;height:190px;background:var(--lime);border-radius:62% 38% 55% 45%/48% 58% 42% 52%;transform:rotate(-8deg)}
.pp-hbag{position:absolute;right:46px;top:40px;width:76px;height:76px;color:var(--green)}
.pp-seal{position:absolute;right:20px;bottom:18px;width:64px;height:64px;border-radius:50%;background:var(--sun);z-index:2}
.pp-seal svg{width:100%;height:100%;animation:pp-spin 14s linear infinite}
.pp-seal text{font-size:8.4px;font-weight:700;fill:var(--green);letter-spacing:.6px}
@keyframes pp-spin{to{transform:rotate(360deg)}}
.pp-slides{border-radius:30px;overflow:hidden}
.pp-slides img{width:100%;max-height:260px;object-fit:cover}

/* coupons / promos / brands */
.pp-coupons{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pp-coupons span{background:var(--lime);color:var(--green);border-radius:999px;padding:8px 14px;font-size:13px}
.pp-promos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.pp-promos img{width:100%;border-radius:22px}
@media(min-width:768px){.pp-promos{grid-template-columns:repeat(4,1fr)}}
.pp-brands{display:flex;flex-wrap:wrap;gap:8px}
.pp-brands span{background:#fff;border-radius:999px;padding:9px 16px;font-size:14px}

/* categories: auto-scrolling marquee */
.pp-chips{display:flex;gap:10px;margin:18px 0 0;overflow-x:auto;scrollbar-width:none}
.pp-chips::-webkit-scrollbar,.pp-rail::-webkit-scrollbar{display:none}
.pp-chip{flex:none;background:#fff;border-radius:999px;padding:10px 20px;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.pp-chip:hover{background:var(--mint);color:var(--ink)}
.pp-chip.on{background:var(--green);color:#fff}
.pp-marquee{overflow:hidden;margin:18px calc(var(--pad) * -1) 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pp-track{display:flex;gap:10px;width:max-content;padding-right:10px;animation:pp-mq 28s linear infinite}
.pp-marquee:hover .pp-track,.pp-marquee:active .pp-track{animation-play-state:paused}
@keyframes pp-mq{to{transform:translateX(-50%)}}

/* sections */
.pp-sec{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 12px}
.pp-sec h2{font-size:19px;font-weight:600;margin:0}
.pp-sec a{font-size:14px;color:var(--green);font-weight:500;text-decoration:none}

/* product cards */
.pp-rail{display:flex;gap:12px;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pp-rail .pp-card{flex:none;width:176px;scroll-snap-align:start}
.pp-card{position:relative;background:#fff;border-radius:26px;padding:10px;height:100%;transition:transform .25s var(--ease)}
.pp-card:hover{transform:translateY(-3px)}
.pp-img{display:block;position:relative;height:112px;border-radius:18px;overflow:hidden;background:var(--mint)}
.pp-img img{width:100%;height:100%;object-fit:cover;display:block}
.pp-card:nth-child(3n+2) .pp-img,.col:nth-child(3n+2) .pp-img{background:var(--cream)}
.pp-card:nth-child(3n) .pp-img,.col:nth-child(3n) .pp-img{background:var(--rose)}
.pp-flag{position:absolute;top:6px;left:6px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;background:var(--lime);color:var(--green)}
.pp-flag.out{background:#e8e3d3;color:var(--soft)}
.pp-name{display:block;margin:10px 2px 0;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.pp-row{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:8px 2px 0}
.pp-price{font-size:16px;font-weight:500;line-height:1.1}
.pp-price s{display:block;font-size:11px;color:var(--soft);font-weight:400}
.pp-add{width:38px;height:38px;flex:none;border:0;border-radius:50%;background:var(--green);color:var(--lime);display:grid;place-items:center;text-decoration:none;transition:transform .15s}
.pp-add:hover{color:var(--lime)}
.pp-add:active{transform:scale(.88)}
.pp-add svg{width:18px;height:18px}
.pp-add[disabled]{background:#cfc8b2;color:#fff}
.pp-card form{margin:0}

/* deal of the day */
.pp-deal{margin-top:22px;border-radius:26px;background:var(--sun);padding:20px}
.pp-dtop{display:flex;gap:18px;align-items:center}
.pp-ring{position:relative;width:76px;height:76px;flex:none}
.pp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pp-ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-weight:600}
.pp-deal small{font-size:13px;display:block}
.pp-deal h2{font-size:20px;font-weight:600;margin:2px 0}
.pp-pages{margin-top:18px}
.pp-page{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;animation:pp-fade .35s var(--ease)}
.pp-page[hidden]{display:none}
@keyframes pp-fade{from{opacity:0}to{opacity:1}}
.pp-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.pp-dots button{width:7px;height:7px;padding:0;border:0;border-radius:4px;background:#d9ae2c;transition:width .2s,background .2s}
.pp-dots button.on{width:20px;background:var(--green)}

/* mini cards: 3 per row */
.pp-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(min-width:768px){.pp-g3{grid-template-columns:repeat(4,1fr);gap:12px}}
@media(min-width:1100px){.pp-g3{grid-template-columns:repeat(6,1fr)}}
.pp-mini{position:relative;background:#fff;border-radius:18px;padding:6px;min-width:0}
.pp-mini .pp-img{height:64px;border-radius:13px}
.pp-g3 .pp-mini{padding:7px}
.pp-g3 .pp-mini .pp-img{height:84px}
.pp-mini:nth-child(3n+2) .pp-img{background:var(--cream)}
.pp-mini:nth-child(3n) .pp-img{background:var(--rose)}
.pp-deal .pp-mini .pp-img{background:var(--mint)}
.pp-deal .pp-mini:nth-child(2) .pp-img{background:var(--blue)}
.pp-deal .pp-mini:nth-child(3) .pp-img{background:var(--rose)}
.pp-mini .pp-name{font-size:12px;margin:6px 2px 0;line-height:1.25;min-height:30px;-webkit-line-clamp:2}
.pp-deal .pp-mini .pp-name{min-height:0;-webkit-line-clamp:1}
.pp-mini .pp-row{margin:5px 2px 0}
.pp-mini .pp-price{font-size:12px;font-weight:600}
.pp-mini .pp-add{width:28px;height:28px}
.pp-mini .pp-add svg{width:14px;height:14px}
.pp-mini .pp-flag{font-size:10px;padding:2px 7px}

/* shop page extras */
.pp-cats{display:flex;gap:8px;overflow-x:auto;margin:0 calc(var(--pad) * -1) 14px;padding:0 var(--pad);scrollbar-width:none}
.pp-cats::-webkit-scrollbar{display:none}

/* floating bottom nav */
.pp-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:min(calc(100% - 32px),460px);height:68px;border-radius:34px;background:rgba(255,248,214,.78);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 0 0 1.5px rgba(210,185,60,.55) inset,0 8px 24px rgba(60,50,0,.14);display:flex;padding:6px;z-index:1040}
.pp-nav a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;border-radius:28px;color:var(--ink);text-decoration:none;transition:background .2s}
.pp-nav a svg{width:22px;height:22px}
.pp-nav a.on{background:#fff7d6;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.pp-nav .tb{position:absolute;top:4px;right:calc(50% - 24px);min-width:16px;height:16px;border-radius:8px;background:var(--green);color:var(--lime);font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.pp-nav .tb[data-n="0"]{display:none}

/* footer */
.pp-foot{margin-top:32px;padding:8px 0 24px;font-size:13px;color:var(--soft)}
.pp-foot a{color:var(--green)}
.pp-foot form{display:inline}
.pp-foot button{border:0;background:none;padding:0;color:var(--green);text-decoration:underline;font-size:13px}

/* toast */
.pp-toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);transform:translate(-50%,-90px);background:var(--green);color:#fff;font-size:13px;padding:10px 16px;border-radius:999px;transition:transform .25s var(--ease);z-index:2000;max-width:90vw}
.pp-toast.show{transform:translate(-50%,0)}
.pp-toast.err{background:#a83232}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .pp-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .pp-track [aria-hidden=true]{display:none}
}

/* cart / track / account pages */
.pp-title{font-size:24px;font-weight:600;letter-spacing:-.3px;margin:4px 0 14px}
.pp-empty{text-align:center;color:var(--soft);padding:36px 0}
.pp-big{display:flex;justify-content:center;align-items:center;width:100%;margin-top:16px;background:var(--green);color:var(--lime);font-weight:600;font-size:16px;height:54px;border-radius:999px;text-decoration:none}
.pp-big:hover{color:var(--lime);background:#0f3a21}
.pp-big.disabled{opacity:.5;pointer-events:none}
.pp-line{display:flex;gap:12px;align-items:center;background:#fff;border-radius:24px;padding:10px;margin-top:12px}
.pp-lthumb{width:76px;height:76px;flex:none;border-radius:16px;overflow:hidden;background:var(--mint)}
.pp-lthumb img{width:100%;height:100%;object-fit:cover}
.pp-linfo{flex:1;min-width:0}
.pp-linfo .pp-name{margin:0}
.pp-qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.pp-qty button{width:30px;height:30px;border:0;border-radius:50%;background:var(--bg);font-size:17px;line-height:1;color:var(--ink)}
.pp-qty input{width:42px;border:0;background:none;text-align:center;font-weight:600;font-size:16px;color:var(--ink);-moz-appearance:textfield;padding:0}
.pp-qty input::-webkit-outer-spin-button,.pp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pp-qty .pp-rm{width:auto;height:auto;margin-left:auto;background:none;font-size:13px;color:var(--soft);text-decoration:underline;padding:4px}
.pp-sum{background:#fff;border-radius:26px;padding:18px;margin-top:16px}
.pp-sum div{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;color:var(--soft)}
.pp-sum .tot{color:var(--ink);font-size:18px;font-weight:600;border-top:1px dashed #d8d2c0;margin-top:6px;padding-top:12px}
.pp-order{background:#fff;border-radius:26px;padding:18px;margin-top:14px}
.pp-order h2{font-size:16px;font-weight:600;margin:0}
.pp-order small{color:var(--soft);font-size:13px;display:block}
.pp-steps{margin-top:16px}
.pp-step{display:flex;gap:14px;padding-bottom:20px;position:relative;font-size:14px}
.pp-step:last-child{padding-bottom:0}
.pp-step:not(:last-child)::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:#e2dcc9}
.pp-step.done:not(:last-child)::before{background:var(--green)}
.pp-dot{width:24px;height:24px;border-radius:50%;background:#e2dcc9;flex:none;display:grid;place-items:center;font-size:12px;color:#fff}
.pp-step.done .pp-dot{background:var(--green);color:var(--lime)}
.pp-step.now .pp-dot{background:var(--lime);box-shadow:0 0 0 5px rgba(198,244,50,.35)}
.pp-me{display:flex;gap:14px;align-items:center;background:var(--green);color:#fff;border-radius:28px;padding:20px}
.pp-me .av{width:60px;height:60px;border-radius:50%;background:var(--lime);color:var(--green);display:grid;place-items:center;font-size:24px;font-weight:700;flex:none}
.pp-me h2{font-size:18px;margin:0;color:#fff;font-weight:600}
.pp-me small{color:#cfe5b8;word-break:break-all}
.pp-menu{background:#fff;border-radius:26px;margin-top:16px;overflow:hidden}
.pp-menu a,.pp-menu button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:17px 18px;font-size:15px;text-align:left;color:var(--ink);text-decoration:none;border:0;background:none}
.pp-menu a+a,.pp-menu a+form button,.pp-menu form button{border-top:1px solid #f0ebdc}
.pp-menu span{color:var(--soft)}
.pp-menu form{margin:0}

.pp-promo{display:flex;gap:8px;align-items:center;background:#fff;border-radius:999px;padding:6px 6px 6px 18px;margin-top:16px}
.pp-promo input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:15px;color:var(--ink);text-transform:uppercase}
.pp-promo input::placeholder{text-transform:none;color:#7b857d}
.pp-promo span{flex:1;font-size:14px}
.pp-promo button{border:0;border-radius:999px;background:var(--lime);color:var(--green);font-weight:600;height:38px;padding:0 18px}
.pp-promo .pp-rm{background:none;color:var(--soft);text-decoration:underline;font-weight:400;padding:0 12px}
.pp-pay{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;cursor:pointer;font-size:15px}
.pp-pay+.pp-pay{border-top:1px solid #f0ebdc}
.pp-pay input{-webkit-appearance:none;appearance:none;margin-top:3px;width:20px;height:20px;flex:none;border:2px solid #b9b39d;border-radius:50%;background:#fff;display:grid;place-items:center}
.pp-pay input:checked{border-color:var(--green)}
.pp-pay input:checked::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--green)}
.pp-menu .pp-pay span{color:var(--ink);flex:1}
.pp-pay small{color:var(--soft)}
.pp-pay .pp-rm{background:none;border:0;color:var(--soft);text-decoration:underline;font-size:13px;padding:4px}
.pp-saved{display:flex;gap:12px;align-items:center;padding:16px 18px;font-size:15px}
.pp-saved+.pp-saved{border-top:1px solid #f0ebdc}
.pp-saved small{color:var(--soft)}
.pp-saved .pp-rm,.pp-saved form button{background:none;border:0;color:var(--soft);text-decoration:underline;font-size:13px;padding:4px}
.pp-menu .pp-empty{padding:26px 18px}

/* order placed celebration */
.pp-done{position:fixed;inset:0;z-index:3000;background:var(--bg);display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 40px) 20px 32px}
.pp-cw{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-top:12px;flex:none}
.pp-cw::before,.pp-cw::after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--lime);animation:pp-ring 1.8s ease-out infinite}
.pp-cw::after{animation-delay:.9s}
@keyframes pp-ring{from{transform:scale(.8);opacity:.55}to{transform:scale(1.55);opacity:0}}
.pp-cb{position:relative;z-index:1;width:104px;height:104px;border-radius:50%;background:var(--green);display:grid;place-items:center;animation:pp-pop .6s cubic-bezier(.2,1.4,.4,1) both}
@keyframes pp-pop{from{transform:scale(0)}to{transform:scale(1)}}
.pp-cb svg{width:54px;height:54px}
.pp-cb path{stroke:var(--lime);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50;animation:pp-draw .5s .45s ease forwards}
@keyframes pp-draw{to{stroke-dashoffset:0}}
.pp-done h2{font-size:28px;font-weight:700;margin-top:22px;letter-spacing:-.4px;animation:pp-up .5s .7s both}
.pp-done p{color:var(--soft);text-align:center;margin-top:6px;animation:pp-up .5s .8s both}
.pp-dc{width:100%;max-width:400px;background:#fff;border-radius:26px;padding:18px;margin-top:22px;animation:pp-up .5s .95s both}
.pp-dc div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0;color:var(--soft)}
.pp-dc b{color:var(--ink);text-align:right}
.pp-dc .tot{border-top:1px dashed #d8d2c0;margin-top:6px;padding-top:10px;font-size:17px}
.pp-dc .tot span{color:var(--ink)}
.pp-dbtn{max-width:400px;animation:pp-up .5s 1.1s both}
.pp-big.pp-alt{background:#fff;color:var(--ink);height:50px;margin-top:12px}
.pp-big.pp-alt:hover{background:#fff;color:var(--ink)}
@keyframes pp-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.pp-cf{position:fixed;top:-16px;width:9px;height:14px;border-radius:2px;opacity:0;animation:pp-fall linear forwards;z-index:3001;pointer-events:none}
@keyframes pp-fall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:1;transform:translateY(105vh) rotate(720deg)}}
@media(prefers-reduced-motion:reduce){.pp-cf{display:none}.pp-cb path{stroke-dashoffset:0}}

/* coupons, reviews, help, switches */
.pp-coupon{display:flex;align-items:center;gap:14px;background:#fff;border-radius:24px;padding:14px;margin-top:12px;position:relative;overflow:hidden}
.pp-cp-off{flex:none;width:72px;height:72px;border-radius:18px;background:var(--lime);color:var(--green);display:grid;place-content:center;text-align:center;font-weight:700;font-size:20px;line-height:1}
.pp-cp-off small{display:block;font-size:11px;font-weight:600;margin-top:2px}
.pp-cp-body{flex:1;min-width:0}
.pp-cp-body b{font-size:17px;letter-spacing:.5px}
.pp-cp-body small{color:var(--soft)}
.pp-cp-act{display:flex;flex-direction:column;align-items:center;gap:2px}
.pp-cp-act form{margin:0}
.pp-cp-btn{display:inline-block;border:0;border-radius:999px;background:var(--green);color:var(--lime);font-weight:600;height:38px;padding:0 18px;line-height:38px}
.pp-cp-act .pp-rm{background:none;border:0;color:var(--soft);text-decoration:underline;font-size:13px;padding:2px}
.pp-stars{color:#e2a600;letter-spacing:2px;margin:6px 0 4px}
.pp-help-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #f0ebdc;color:var(--ink);text-decoration:none;font-size:14px}
.pp-help-row:first-of-type{border-top:0}
.pp-help-row span{color:var(--soft)}
.pp-help-row b{font-weight:500;text-align:right}
.pp-faq details{background:#fff;border-radius:20px;padding:14px 18px;margin-top:10px}
.pp-faq summary{cursor:pointer;font-weight:500}
.pp-faq p{margin:8px 0 0;color:var(--soft);font-size:14px}
.pp-switch{-webkit-appearance:none;appearance:none;flex:none;width:48px;height:28px;border-radius:14px;background:#cfc8b2;position:relative;transition:background .2s;cursor:pointer}
.pp-switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pp-switch:checked{background:var(--green)}
.pp-switch:checked::after{transform:translateX(20px)}

/* product page */
.pp-product .pp-nav{display:none}
.pp-product{padding-bottom:110px}
.pp-pdi{position:relative;border-radius:30px;overflow:hidden;background:var(--mint);aspect-ratio:1/1;max-height:420px;width:100%}
.pp-pdi img{width:100%;height:100%;object-fit:cover;display:block}
.pp-pdb{position:absolute;top:14px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;border:0;color:var(--ink);padding:0;text-decoration:none}
.pp-pdb.l{left:14px}.pp-pdb.r{right:14px}.pp-pdb.l svg{transform:rotate(180deg)}
.pp-pdb svg{width:20px;height:20px}.pp-pdb button{border:0;background:none;width:100%;height:100%;display:grid;place-items:center;color:var(--ink);padding:0}
.pp-pdb button.on svg path{fill:#d9433a;stroke:#d9433a}
.pp-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.pp-thumbs .thumb{flex:none;border:2px solid transparent;border-radius:14px;padding:0;background:#fff;overflow:hidden}
.pp-thumbs .thumb img{display:block;border-radius:12px;object-fit:cover}
.pp-pdt{font-size:24px;font-weight:600;letter-spacing:-.3px;margin:18px 0 0}
.pp-pdr{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:var(--soft)}.pp-pdr b{color:var(--ink)}
.pp-stars{color:#e2a600;letter-spacing:2px}
.pp-pdp{display:flex;align-items:baseline;gap:10px;margin-top:12px}.pp-pdp b{font-size:28px;font-weight:600}.pp-pdp s{color:var(--soft)}
.pp-pdp em{font-style:normal;background:var(--lime);color:var(--green);font-weight:600;font-size:12px;padding:3px 10px;border-radius:999px}
.pp-pill{display:inline-block;background:#dff1d8;color:#1f6b36;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;margin-top:10px}
.pp-pill.out{background:#f6d9d6;color:#a83232}
.pp-pdh{font-size:16px;font-weight:600;margin:22px 0 10px}
.pp-selv{font-weight:400;color:var(--soft);font-size:14px;margin-left:6px}
.pp-opts{display:flex;gap:8px;flex-wrap:wrap}
.pp-opt{border:2px solid transparent;font-size:14px}
.pp-opt.on{background:var(--green);color:#fff}
.pp-opt.na{color:#9aa39c;text-decoration:line-through}
.pp-opt.na.on{color:#fff;text-decoration:none;background:#6d7b70}
.pp-pdx{color:var(--soft);font-size:14px;line-height:1.6}
.pp-pbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:min(calc(100% - 32px),460px);height:68px;border-radius:34px;background:rgba(255,248,214,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1.5px rgba(210,185,60,.55) inset,0 8px 24px rgba(60,50,0,.14);display:flex;align-items:center;gap:10px;padding:8px;z-index:1040;margin:0}
.pp-pbar .pq{display:flex;align-items:center;gap:2px;background:#fff;border-radius:999px;padding:4px}
.pp-pbar .pq button{width:36px;height:36px;border-radius:50%;border:0;background:var(--bg);font-size:18px;color:var(--ink);padding:0}
.pp-pbar .pq input{width:34px;border:0;background:none;text-align:center;font-weight:600;color:var(--ink);padding:0;-moz-appearance:textfield}
.pp-pbar .pq input::-webkit-outer-spin-button,.pp-pbar .pq input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pp-pbar .pbtn{flex:1;height:52px;border-radius:999px;border:0;background:var(--green);color:var(--lime);font-weight:600;font-size:16px}
.pp-pbar .pbtn:disabled{background:#cfc8b2;color:#fff}

/* account sub-pages: one clean animated page, no side menu */
@view-transition{navigation:auto}
.pp-head{view-transition-name:pphead}.pp-nav{view-transition-name:ppnav}
.pp-sub{animation:ppSlide .5s var(--ease) both}
@keyframes ppSlide{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
.pp-sub>*{animation:ppRise .55s var(--ease) both}
.pp-sub>*:nth-child(2){animation-delay:.05s}.pp-sub>*:nth-child(3){animation-delay:.1s}.pp-sub>*:nth-child(4){animation-delay:.15s}.pp-sub>*:nth-child(5){animation-delay:.2s}.pp-sub>*:nth-child(n+6){animation-delay:.25s}
@keyframes ppRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pp-back{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;margin-bottom:6px;transition:transform .2s var(--ease)}
.pp-back:hover{color:var(--ink);transform:translateX(-3px)}
.pp-backic{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center}
.pp-backic svg{width:20px;height:20px;transform:rotate(180deg)}
.pp-card0{background:#fff;border-radius:26px;padding:30px 18px}
.pp-ord{display:block;background:#fff;border-radius:26px;padding:18px;margin-top:12px;color:var(--ink);text-decoration:none;animation:ppRise .55s var(--ease) both;animation-delay:calc(var(--i,0)*70ms + .15s)}
.pp-ord:hover{color:var(--ink)}
.pp-ord-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pp-ord-top b{font-size:16px}.pp-ord-top small{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.pp-ord-mid{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed #e2dcc9;font-size:14px;color:var(--soft)}
.pp-ord-mid b{color:var(--ink)}.pp-ord-total{font-size:18px}
.pp-ord-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pp-ord-act form{margin:0}
.pp-pill{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;border:0;background:var(--green);color:var(--lime);font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease)}
.pp-pill:hover{color:var(--lime)}.pp-pill:active{transform:scale(.96)}
.pp-pill.ghost{background:var(--bg);color:var(--ink)}.pp-pill.ghost:hover{color:var(--ink)}
.pp-stat{flex:none;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;background:#ffe9a6;color:#6b5200}
.pp-stat.s-confirmed,.pp-stat.s-processing{background:#dbe7fb;color:#1f4a99}.pp-stat.s-shipped{background:#e6dcfa;color:#5a3aa0}
.pp-stat.s-delivered{background:#dff1d8;color:#1f6b36}.pp-stat.s-cancelled,.pp-stat.s-refunded{background:#eee;color:#666}
.pp-wl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media(min-width:768px){.pp-wl{grid-template-columns:repeat(4,1fr)}}
.pp-wl .pp-card{animation:ppRise .55s var(--ease) both;animation-delay:calc(var(--i,0)*70ms + .15s)}
.pp-wl .pp-row{align-items:center}.pp-wl .pp-row form{margin:0}
.pp-sub .pp-title{margin-top:10px}
@media(prefers-reduced-motion:reduce){.pp-sub,.pp-sub>*,.pp-ord,.pp-wl .pp-card{animation:none!important}}

/* product facts */
.pp-facts{display:grid;gap:10px;margin-top:16px}
.pp-fact{display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:14px 16px}
.pp-fi{width:42px;height:42px;border-radius:14px;background:var(--lime);color:var(--green);display:grid;place-items:center;flex:none}.pp-fi svg{width:22px;height:22px}
.pp-fact small{display:block;color:var(--soft);font-size:13px}.pp-fact b{font-size:17px;font-weight:600}

/* Bengali hints, tap-to-pick lists, confirm button */
.bn{color:var(--soft);font-weight:400;font-size:.92em}
.form-label .bn,.form-check-label .bn,h2 .bn{margin-left:2px}
.pp-confirm{height:58px;font-size:17px;margin-top:6px}
.pp-sgw{position:relative}
.pp-sgw>input{padding-right:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d6b60' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px}
.pp-sg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:#fff;border-radius:18px;box-shadow:0 14px 34px rgba(20,68,42,.2);max-height:250px;overflow:auto;padding:6px;overscroll-behavior:contain}
.pp-sg[hidden]{display:none}
.pp-sg button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:none;padding:12px 14px;border-radius:12px;text-align:left;font-size:15px;color:var(--ink)}
.pp-sg button:hover,.pp-sg button:focus{background:var(--mint);outline:0}
.pp-sg small{color:var(--soft);font-size:13px}

/* ===== Footer (home only) ===== */
.pp-ft{position:relative;overflow:hidden;margin-top:36px;border-radius:34px;padding:34px 24px 22px;color:#eaf5df;background:linear-gradient(160deg,#17512f 0%,#0f3a21 100%)}
.pp-ft-b1,.pp-ft-b2{position:absolute;border-radius:50%;filter:blur(40px);opacity:.35;pointer-events:none;animation:ppFl 12s ease-in-out infinite alternate}
.pp-ft-b1{width:200px;height:200px;background:var(--lime);right:-60px;top:-70px}.pp-ft-b2{width:170px;height:170px;background:var(--sun);left:-60px;bottom:-60px;animation-delay:-5s}
@keyframes ppFl{to{transform:translate(-26px,30px) scale(1.15)}}
.pp-ft>*{position:relative}
.pp-ft [class^=pp-ft-brand],.pp-ft-brand,.pp-ft-contact>*,.pp-ft-links>*,.pp-ft-copy{opacity:0;transform:translateY(18px)}
.pp-ft.in .pp-ft-brand,.pp-ft.in .pp-ft-contact>*,.pp-ft.in .pp-ft-links>*,.pp-ft.in .pp-ft-copy{animation:ppUp .7s var(--ease) forwards}
.pp-ft.in .pp-ft-contact>*:nth-child(1){animation-delay:.12s}.pp-ft.in .pp-ft-contact>*:nth-child(2){animation-delay:.2s}.pp-ft.in .pp-ft-contact>*:nth-child(3){animation-delay:.28s}
.pp-ft.in .pp-ft-links>*:nth-child(1){animation-delay:.34s}.pp-ft.in .pp-ft-links>*:nth-child(2){animation-delay:.4s}.pp-ft.in .pp-ft-links>*:nth-child(3){animation-delay:.46s}.pp-ft.in .pp-ft-links>*:nth-child(4){animation-delay:.52s}
.pp-ft.in .pp-ft-copy{animation-delay:.6s}
@keyframes ppUp{to{opacity:1;transform:none}}
.pp-ft-brand{text-align:center}
.pp-ft-logo{width:60px;height:60px;border-radius:20px;background:var(--lime);color:var(--green);display:inline-grid;place-items:center;animation:ppBob 3.4s ease-in-out infinite}
.pp-ft-logo svg{width:30px;height:30px}
@keyframes ppBob{50%{transform:translateY(-6px) rotate(-4deg)}}
.pp-ft-brand h2{margin:14px 0 4px;font-size:24px;letter-spacing:.5px;background:linear-gradient(100deg,#fff 20%,var(--lime) 45%,#fff 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:ppShim 5s linear infinite}
@keyframes ppShim{to{background-position:-220% 0}}
.pp-ft-brand p{color:#b9d3b0;font-size:14px;margin:0}
.pp-ft-contact{display:grid;gap:10px;margin-top:24px}
.pp-ft-contact>*{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:12px 14px;color:#fff;text-decoration:none;font-size:15px;transition:background .25s,transform .25s var(--ease)}
.pp-ft-contact a:hover{background:rgba(255,255,255,.16);color:#fff;transform:translateY(-2px)}
.pp-ft-ic{width:40px;height:40px;border-radius:14px;background:rgba(198,244,50,.18);color:var(--lime);display:grid;place-items:center;flex:none}.pp-ft-ic svg{width:20px;height:20px}
.pp-ft-contact small{display:block;color:#a9c9a0;font-size:12px}
.pp-ft-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.pp-ft-links a,.pp-ft-links button{border:0;border-radius:999px;background:var(--lime);color:var(--green);font-weight:600;font-size:14px;padding:10px 18px;text-decoration:none;transition:transform .2s var(--ease)}
.pp-ft-links a:hover,.pp-ft-links button:hover{transform:translateY(-2px);color:var(--green)}
.pp-ft-links form{margin:0}
.pp-ft-copy{text-align:center;color:#8fb286;font-size:12.5px;margin-top:20px}

/* ===== Coupon tickets ===== */
.pp-cps{display:flex;gap:12px;overflow-x:auto;margin:16px calc(var(--pad) * -1) 0;padding:6px var(--pad) 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
.pp-cps::-webkit-scrollbar{display:none}
.pp-tk2{position:relative;flex:0 0 min(100%,360px);scroll-snap-align:start;display:flex;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(20,68,42,.12);animation:ppTk .7s var(--ease) both;animation-delay:calc(var(--i)*.12s + .1s)}
@keyframes ppTk{from{opacity:0;transform:translateX(40px) scale(.96)}to{opacity:1;transform:none}}
.pp-tk2::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);transform:translateX(-120%);animation:ppSweep 4.5s ease-in-out 1.2s infinite;pointer-events:none;z-index:2}
@keyframes ppSweep{40%,100%{transform:translateX(120%)}}
.pp-tk2-l{flex:none;width:96px;background:linear-gradient(160deg,var(--lime),#a5d81a);color:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.pp-tk2-l b{font-size:28px;line-height:1;letter-spacing:-1px}.pp-tk2-l small{font-size:12px;font-weight:700;letter-spacing:2px;margin-top:4px}
.pp-tk2-l::after{content:"";position:absolute;right:-1px;top:8px;bottom:8px;width:2px;background:repeating-linear-gradient(#fff 0 6px,transparent 6px 12px)}
.pp-tk2-l::before,.pp-tk2-r::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--bg);z-index:1}
.pp-tk2-l::before{right:-9px;top:-9px;box-shadow:0 38px 0 0 var(--bg)}
.pp-tk2-r{flex:1;min-width:0;padding:14px 16px 14px 18px;position:relative}
.pp-tk2-r::before{display:none}
.pp-tk2-k{display:block;font-size:12px;font-weight:600;color:#b08400;letter-spacing:.3px}
.pp-tk2-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0 4px;font-size:15px;font-weight:500}
.pp-tk2-code{display:inline-flex;align-items:center;gap:8px;border:2px dashed var(--green);background:#f3fbd9;color:var(--green);border-radius:12px;padding:5px 10px;font-weight:700;letter-spacing:1px;font-size:16px;cursor:pointer;animation:ppGlow 2.4s ease-in-out infinite;transition:transform .2s var(--ease)}
.pp-tk2-code:active{transform:scale(.94)}.pp-tk2-code svg{width:16px;height:16px}
.pp-tk2-code.ok{background:var(--green);color:var(--lime);border-style:solid;animation:none}
@keyframes ppGlow{50%{box-shadow:0 0 0 6px rgba(198,244,50,.45)}}
.pp-tk2-r>small{display:block;color:var(--soft);font-size:12.5px;line-height:1.4}
.pp-spark{position:absolute;width:10px;height:10px;background:var(--sun);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:ppTw 2.2s ease-in-out infinite;pointer-events:none;z-index:3}
.pp-spark.s1{right:16px;top:12px}.pp-spark.s2{right:56px;bottom:12px;animation-delay:.7s;width:8px;height:8px}.pp-spark.s3{left:78px;top:10px;animation-delay:1.3s;width:7px;height:7px;background:#fff}
@keyframes ppTw{0%,100%{transform:scale(.3) rotate(0);opacity:.3}50%{transform:scale(1.1) rotate(45deg);opacity:1}}

/* ===== Product page: compact floating add-to-cart bar ===== */
.pp-pbar{width:min(calc(100% - 56px),330px);height:60px;padding:6px;gap:8px;border-radius:30px;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);animation:ppBarIn .65s cubic-bezier(.2,1.2,.3,1) both;animation-delay:.25s}
@keyframes ppBarIn{from{opacity:0;transform:translate(-50%,40px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.pp-pbar .pq{padding:3px;gap:0}
.pp-pbar .pq button{width:30px;height:30px;font-size:16px;transition:transform .15s var(--ease),background .2s}
.pp-pbar .pq button:active{transform:scale(.82);background:var(--lime)}
.pp-pbar .pq input{width:28px;font-size:15px}
.pp-pbar .pbtn{position:relative;overflow:hidden;height:46px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .25s,color .25s,transform .2s var(--ease)}
.pp-pbar .pbtn:active{transform:scale(.96)}
.pp-pbar .pbtn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:ppSweep 5s ease-in-out 1.6s infinite}
.pp-pbar .pbtn:disabled::after{display:none}
.pp-pbar .pbtn.done{background:var(--lime);color:var(--green);animation:ppPop .45s var(--ease)}
.pp-pbar .pbtn.done::after{display:none}
.pp-pbar .pbtn.done svg{width:20px;height:20px}.pp-pbar .pbtn.done svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:ppDraw .4s .05s ease forwards}
@keyframes ppPop{40%{transform:scale(1.06)}}@keyframes ppDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.pp-ft *,.pp-tk2,.pp-tk2::before,.pp-tk2-code,.pp-spark,.pp-pbar,.pp-pbar .pbtn::after{animation:none!important}.pp-ft-brand,.pp-ft-contact>*,.pp-ft-links>*,.pp-ft-copy{opacity:1;transform:none}}
