:root{
  --lav-50:#f7f5fc; --lav-100:#ede8fa; --lav-200:#ddd3f5;
  --lav-300:#c4b3ec; --lav-400:#a98fe0; --lav-500:#8f6fd4;
  --lav-600:#7a56c4; --lav-700:#6644a8; --lav-800:#503385;
  --ink:#3a2d5c; --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--lav-50);color:var(--ink);overflow-x:hidden;}

/* ---------- NAV ---------- */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
    box-shadow:0 2px 20px rgba(122,86,196,.15);display:flex;align-items:center;flex-wrap:wrap;gap:8px;
    justify-content:space-between;padding:14px 5%;}
.logo{cursor:pointer;display:flex;align-items:center;gap:10px;}
.logo-mark{height:66px;width:auto;transition:transform .3s;}
.logo:hover .logo-mark{transform:scale(1.06) rotate(-3deg);}
.logo-word{height:44px;width:auto;}
@keyframes wiggle{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(12deg)}}
/* ---------- LOCATION PILL ---------- */
.loc-pill{display:flex;align-items:center;gap:6px;background:var(--lav-100);border:2px solid var(--lav-200);
    color:var(--lav-700);font-weight:700;font-size:.9rem;font-family:inherit;padding:8px 14px;border-radius:24px;
    cursor:pointer;transition:.2s;white-space:nowrap;max-width:200px;}
.loc-pill:hover{background:var(--lav-200);border-color:var(--lav-400);}
.loc-pill #locLabel{overflow:hidden;text-overflow:ellipsis;}
.loc-pill .lp-pin{font-size:1rem;}
.loc-pill .lp-caret{font-size:.7rem;opacity:.7;}

/* ---------- DELIVERY DIALOG ---------- */
.loc-overlay{position:fixed;inset:0;background:rgba(58,45,92,.45);z-index:250;display:flex;
    align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.25s;}
.loc-overlay.open{opacity:1;pointer-events:all;}
.loc-modal{background:var(--white);border-radius:26px;padding:32px 26px 28px;max-width:420px;width:100%;
    text-align:center;position:relative;box-shadow:0 20px 50px rgba(58,45,92,.35);animation:fadeUp .3s;}
.loc-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:50%;
    background:var(--lav-100);color:var(--lav-700);cursor:pointer;font-size:.9rem;transition:.2s;}
.loc-modal-close:hover{background:var(--lav-200);transform:rotate(90deg);}
.loc-modal-emoji{font-size:2.4rem;}
.loc-modal h3{color:var(--lav-800);margin:8px 0 6px;font-size:1.25rem;}
.loc-modal-sub{color:#7a6ba3;font-size:.92rem;margin-bottom:20px;line-height:1.5;}
.loc-cur-btn{width:100%;}
.loc-or{color:#9a8cc4;font-weight:700;font-size:.85rem;margin:14px 0;}
.loc-pin-row{display:flex;gap:10px;}
.loc-pin-row input{flex:1;padding:13px 16px;border:2px solid var(--lav-200);border-radius:16px;font-size:1rem;
    font-family:inherit;color:var(--ink);background:var(--lav-50);outline:none;transition:.2s;min-width:0;}
.loc-pin-row input:focus{border-color:var(--lav-500);background:#fff;box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.loc-pin-row .btn{padding:13px 22px;}
.loc-result{margin-top:16px;font-size:.92rem;font-weight:600;line-height:1.5;min-height:1.1em;}
.loc-result.ok{color:#2e9b63;background:#e3f7ec;border-radius:14px;padding:12px 14px;}
.loc-result.err{color:#c0567f;background:#fdeef4;border-radius:14px;padding:12px 14px;}

/* ---------- NAV SEARCH ---------- */
.nav-search{position:relative;flex:0 1 560px;min-width:200px;margin:0 auto 0 14px;display:flex;}
.nav-search input{width:100%;padding:11px 44px 11px 18px;border:2px solid var(--lav-200);border-radius:26px;
    font-size:.95rem;font-family:inherit;color:var(--ink);background:var(--lav-50);outline:none;transition:.2s;}
.nav-search input:focus{border-color:var(--lav-500);background:#fff;box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.search-go{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;
    border-radius:50%;background:var(--lav-600);color:#fff;font-size:.95rem;cursor:pointer;transition:.2s;}
.search-go:hover{background:var(--lav-800);transform:translateY(-50%) scale(1.08);}
.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:18px;
    box-shadow:0 16px 40px rgba(58,45,92,.25);overflow:hidden;z-index:120;display:none;animation:fadeUp .2s;}
.search-results.open{display:block;}
.sr-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:none;background:none;
    cursor:pointer;transition:.15s;text-align:left;font-family:inherit;}
.sr-item:hover{background:var(--lav-100);}
.sr-emoji{font-size:1.3rem;flex:none;}
.sr-name{flex:1;font-size:.9rem;font-weight:600;color:var(--lav-800);}
.sr-price{font-weight:800;color:var(--lav-700);font-size:.88rem;}
.sr-empty{padding:14px 16px;color:#9a8cc4;font-size:.88rem;text-align:center;}
.shop-search-note{text-align:center;color:#7a6ba3;font-size:.95rem;margin:-16px 0 26px;}
.nav-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.nav-links button{background:none;border:none;font-size:.95rem;font-weight:600;color:var(--ink);
    padding:8px 14px;border-radius:20px;cursor:pointer;transition:.25s;}
.nav-links button:hover{background:var(--lav-100);color:var(--lav-700);transform:translateY(-2px);}
.cart-btn{position:relative;background:var(--lav-600)!important;color:#fff!important;}
.cart-btn:hover{background:var(--lav-700)!important;}
.cart-count{position:absolute;top:-6px;right:-6px;background:#ff6b9d;color:#fff;font-size:.7rem;
    font-weight:800;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;transition:transform .2s;}
.cart-count.pop{transform:scale(1.5);}

/* ---------- PAGES ---------- */
.page{display:none;animation:fadeUp .5s ease;}
.page.active{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:82vh;display:flex;flex-direction:column;align-items:center;
    justify-content:center;text-align:center;padding:60px 6%;
    background:linear-gradient(160deg,var(--lav-200) 0%,var(--lav-100) 40%,var(--white) 100%);
    border-radius:0 0 60px 60px;overflow:hidden;}
.hero-logo{width:min(320px,72%);max-width:320px;margin-bottom:16px;z-index:2;
    filter:drop-shadow(0 12px 26px rgba(122,86,196,.32));animation:bounce 3.2s ease-in-out infinite;}
.hero h1{font-size:clamp(2rem,5vw,3.6rem);color:var(--lav-800);line-height:1.15;z-index:2;}
.hero h1 em{font-style:normal;color:var(--lav-500);}
.hero p{margin-top:18px;font-size:1.15rem;max-width:620px;color:#5c4d85;z-index:2;}
.hero-badges{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;justify-content:center;z-index:2;}
.hero-badges span{background:var(--white);border:2px solid var(--lav-300);padding:12px 56px;
    border-radius:30px;font-weight:700;font-size:1.05rem;box-shadow:0 4px 14px rgba(122,86,196,.12);
    transition:.25s;cursor:default;min-width:220px;text-align:center;}
.hero-badges span:hover{transform:translateY(-4px) scale(1.05);background:var(--lav-600);color:#fff;border-color:var(--lav-600);}
.hero-cta{margin-top:34px;z-index:2;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.btn{border:none;cursor:pointer;font-weight:700;font-size:1rem;padding:14px 30px;border-radius:32px;transition:.25s;}
.btn-primary{background:var(--lav-600);color:#fff;box-shadow:0 8px 24px rgba(122,86,196,.4);}
.btn-primary:hover{background:var(--lav-700);transform:translateY(-3px);box-shadow:0 12px 28px rgba(122,86,196,.5);}
.btn-ghost{background:var(--white);color:var(--lav-700);border:2px solid var(--lav-400);}
.btn-ghost:hover{background:var(--lav-100);transform:translateY(-3px);}
.paw{position:absolute;font-size:2rem;opacity:.25;animation:floatPaw linear infinite;user-select:none;pointer-events:none;}
@keyframes floatPaw{from{transform:translateY(110vh) rotate(0)}to{transform:translateY(-15vh) rotate(360deg)}}
.hero-pets{font-size:3.2rem;margin-top:30px;z-index:2;display:flex;gap:18px;}
.hero-pets span{display:inline-block;animation:bounce 1.8s ease-in-out infinite;cursor:pointer;transition:.2s;}
.hero-pets span:nth-child(2){animation-delay:.2s}.hero-pets span:nth-child(3){animation-delay:.4s}
.hero-pets span:nth-child(4){animation-delay:.6s}.hero-pets span:nth-child(5){animation-delay:.8s}
.hero-pets span:hover{transform:scale(1.4);}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* ---------- SECTIONS ---------- */
section{padding:70px 6%;}
.sec-title{text-align:center;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--lav-800);margin-bottom:8px;}
.sec-sub{text-align:center;color:#7a6ba3;margin-bottom:40px;font-size:1.05rem;}
.clickable-title{cursor:pointer;transition:.25s;display:inline-block;width:100%;}
.clickable-title:hover{color:var(--lav-500);transform:scale(1.02);}

/* ---------- BREED WORLDS ---------- */
.world-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:36px;flex-wrap:wrap;}
.world-tab{font-size:1.1rem;font-weight:800;padding:14px 34px;border-radius:40px;border:3px solid var(--lav-300);
    background:var(--white);color:var(--lav-700);cursor:pointer;transition:.3s;}
.world-tab.active{background:linear-gradient(135deg,var(--lav-500),var(--lav-700));color:#fff;
    border-color:transparent;box-shadow:0 10px 26px rgba(122,86,196,.45);transform:scale(1.06);}
.world-tab:hover:not(.active){background:var(--lav-100);transform:translateY(-3px);}
.breed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;}
.breed-track{padding-bottom:24px;}
.breed-track .breed-card{flex:0 0 250px;width:250px;min-width:250px;}
.breed-card{perspective:1000px;height:320px;}
.breed-search{max-width:460px;margin:0 auto 26px;}
.breed-search input{width:100%;padding:13px 20px;border:2px solid var(--lav-300);border-radius:28px;
    font-size:1rem;font-family:inherit;color:var(--ink);background:var(--white);outline:none;transition:.2s;}
.breed-search input:focus{border-color:var(--lav-600);box-shadow:0 6px 20px rgba(122,86,196,.2);}
.breeds-group{color:var(--lav-800);font-size:1.35rem;text-align:center;margin:34px 0 20px;}
.breeds-group:first-of-type{margin-top:6px;}
.breed-inner{position:relative;width:100%;height:100%;cursor:pointer;}
.breed-face{position:absolute;inset:0;border-radius:22px;padding:22px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    transform-origin:center;transition:transform .26s ease,opacity .26s ease;}
/* Flip animation (tap/click only) — the visible side folds away (scaleX->0),
   then the other side unfolds. 2D scaleX so it stays robust inside the scroll
   row (a 3D flip gets flattened there). The transition-delay swap makes the
   hiding side move first and the showing side second, in both directions. */
.breed-front{opacity:1;transform:scaleX(1);transition-delay:.26s;}
.breed-back{opacity:0;transform:scaleX(0);transition-delay:0s;}
.breed-card.flipped .breed-front{opacity:0;transform:scaleX(0);transition-delay:0s;}
.breed-card.flipped .breed-back{opacity:1;transform:scaleX(1);transition-delay:.26s;}
.breed-front{background:var(--white);border:2px solid var(--lav-200);box-shadow:0 8px 24px rgba(122,86,196,.12);}
.breed-front .emoji{font-size:3.6rem;margin-bottom:14px;}
.breed-photo{width:170px;height:170px;border-radius:50%;margin-bottom:14px;display:flex;
    align-items:center;justify-content:center;font-size:4.2rem;background:var(--lav-100);
    background-size:cover;background-position:center;overflow:hidden;transition:.3s;
    box-shadow:0 6px 16px rgba(122,86,196,.18);border:3px solid var(--lav-200);}
.breed-card:hover .breed-photo{transform:scale(1.05);border-color:var(--lav-400);}
.breed-photo.has-photo{background-color:var(--lav-200);}
.breed-photo.has-photo .bp-emoji{display:none;}
.breed-front h3{color:var(--lav-800);font-size:1.2rem;}
.breed-front small{color:#8a7bb5;margin-top:6px;font-weight:600;}
.breed-front .flip-hint{margin-top:14px;font-size:.75rem;color:var(--lav-400);letter-spacing:.5px;}
.breed-back{background:linear-gradient(150deg,var(--lav-600),var(--lav-800));color:#fff;}
.breed-back h4{margin-bottom:10px;font-size:1.05rem;}
.breed-back p{font-size:.86rem;line-height:1.55;opacity:.95;}
.breed-back .tag{margin-top:12px;background:rgba(255,255,255,.2);padding:5px 14px;border-radius:20px;font-size:.75rem;font-weight:700;}

/* ---------- PRODUCT CAROUSEL / SHOP ---------- */
.carousel-wrap{position:relative;display:flex;align-items:center;gap:10px;}
.car-arrow{flex:none;width:52px;height:52px;border-radius:50%;border:none;background:var(--lav-600);
    color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 6px 18px rgba(122,86,196,.4);transition:.25s;z-index:5;}
.car-arrow:hover{background:var(--lav-800);transform:scale(1.12);}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:14px 4px 24px;
    scrollbar-width:none;flex:1;scroll-snap-type:x mandatory;scroll-padding-left:4px;}
.car-track::-webkit-scrollbar{display:none;}
.car-track > .product-card{scroll-snap-align:start;}
.product-card{flex:none;width:265px;background:var(--white);border-radius:22px;padding:22px;
    border:2px solid var(--lav-100);box-shadow:0 8px 22px rgba(122,86,196,.1);transition:.3s;text-align:center;
    display:flex;flex-direction:column;cursor:pointer;overflow:hidden;}
.product-card:hover{transform:translateY(-8px);border-color:var(--lav-300);box-shadow:0 16px 34px rgba(122,86,196,.25);}
/* Full-bleed image to the card edges so the picture is as large as possible. */
.product-card .p-media-wrap{position:relative;margin:-22px -22px 14px;}
.product-card .p-media{width:100%;aspect-ratio:1/1;background:#f4f2fa;
    background-size:cover;background-position:center;transition:.3s;}
.product-card .p-media-emoji{display:flex;align-items:center;justify-content:center;font-size:4.6rem;}
.product-card:hover .p-media{transform:scale(1.02);}
.p-rating{position:absolute;left:10px;bottom:10px;background:#fff;color:var(--lav-800);font-weight:800;
    font-size:.78rem;padding:4px 10px;border-radius:12px;box-shadow:0 3px 10px rgba(58,45,92,.18);}
.p-rating .pr-star{color:#f5a623;}
/* Reserve ~2 lines for the name so single-line names line up with two-line ones. */
.product-card h4{margin:12px 0 4px;font-size:1rem;color:var(--lav-800);min-height:2.6em;line-height:1.3;}
.product-card .p-cat{font-size:.72rem;font-weight:800;letter-spacing:1px;color:var(--lav-400);text-transform:uppercase;}
.product-card .p-price{font-size:1.25rem;font-weight:800;color:var(--lav-700);margin:10px 0;}
/* Price + Add button on one row, pinned to the bottom (cards are equal height). */
.product-card .p-foot{display:flex;align-items:center;gap:12px;margin-top:auto;}
.product-card .p-foot .p-price{margin:0;flex:none;text-align:left;display:flex;flex-direction:column;line-height:1.12;}
/* Sale price (discounted big, struck original + % off) */
.pr-now{font-weight:800;color:var(--lav-700);}
.p-price .pr-now{font-size:1.15rem;}
.pr-line{display:block;font-weight:700;}
.p-price .pr-line{font-size:.68rem;margin-top:1px;}
.pr-mrp{text-decoration:line-through;color:#9a8cc4;margin-right:3px;}
.pr-off{color:#e8730c;}
.product-card .p-foot .p-action{flex:none;margin-left:auto;}
.product-card .p-foot .buy-btn{width:auto;padding:10px 18px;font-size:.85rem;}
.buy-btn{width:100%;padding:11px;border:none;border-radius:26px;background:var(--lav-600);color:#fff;
    font-weight:700;cursor:pointer;transition:.25s;font-size:.92rem;}
.buy-btn:hover{background:var(--lav-800);transform:scale(1.04);}
.buy-btn.added{background:#4caf7d;}
.buy-btn-disabled,.buy-btn-disabled:hover{background:#c9c2dd;color:#fff;cursor:not-allowed;transform:none;}
.product-card.out-of-stock .p-media{opacity:.55;filter:grayscale(.4);}
.p-oos-badge{position:absolute;right:10px;top:10px;background:#e24c4c;color:#fff;font-weight:800;
    font-size:.72rem;padding:4px 10px;border-radius:12px;box-shadow:0 3px 10px rgba(58,45,92,.18);}
.pd-oos-badge{display:inline-block;background:#e24c4c;color:#fff;font-weight:800;font-size:.8rem;
    padding:5px 12px;border-radius:12px;margin-bottom:8px;}
.qty-stepper{display:flex;align-items:center;justify-content:space-between;gap:8px;
    background:var(--lav-600);border-radius:26px;padding:4px;animation:fadeUp .25s ease;}
.qs-btn{width:34px;height:34px;flex:none;border:none;border-radius:50%;background:rgba(255,255,255,.22);
    color:#fff;font-size:1.3rem;font-weight:800;cursor:pointer;transition:.2s;line-height:1;
    display:flex;align-items:center;justify-content:center;}
.qs-btn:hover{background:rgba(255,255,255,.4);transform:scale(1.12);}
.qs-num{color:#fff;font-weight:800;font-size:1.05rem;flex:1;text-align:center;min-width:24px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
.shop-grid .product-card{width:auto;}
.shop-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.filter-chip{padding:9px 22px;border-radius:26px;border:2px solid var(--lav-300);background:var(--white);
    font-weight:700;color:var(--lav-700);cursor:pointer;transition:.25s;font-size:.9rem;}
.filter-chip.active{background:var(--lav-600);color:#fff;border-color:var(--lav-600);}
.filter-chip:hover:not(.active){background:var(--lav-100);}

/* ---------- SERVICES ---------- */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.service-card{background:var(--white);border-radius:26px;padding:36px 26px;text-align:center;cursor:pointer;
    border:2px solid var(--lav-100);box-shadow:0 10px 26px rgba(122,86,196,.12);transition:.35s;position:relative;overflow:hidden;}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(150deg,var(--lav-500),var(--lav-700));
    opacity:0;transition:.35s;}
.service-card:hover{transform:translateY(-10px) scale(1.03);}
.service-card:hover::before{opacity:1;}
.service-card *{position:relative;z-index:2;transition:.3s;}
.service-card:hover h3,.service-card:hover p{color:#fff;}
.service-card .s-emoji{font-size:3.4rem;display:block;margin-bottom:16px;}
.service-card:hover .s-emoji{transform:scale(1.25) rotate(10deg);}
.service-card h3{color:var(--lav-800);margin-bottom:10px;}
.service-card p{color:#7a6ba3;font-size:.92rem;line-height:1.5;}
.service-card .s-go{display:inline-block;margin-top:16px;font-weight:800;color:var(--lav-600);font-size:.9rem;}
.service-card:hover .s-go{color:#ffd9ec;}

/* ---------- SERVICE DETAIL PAGES ---------- */
.svc-hero{background:linear-gradient(150deg,var(--lav-200),var(--lav-100));border-radius:0 0 50px 50px;
    text-align:center;padding:70px 6% 50px;}
.svc-hero .big{font-size:4.5rem;}
.svc-hero h1{color:var(--lav-800);font-size:clamp(1.8rem,4vw,2.8rem);margin:10px 0;}
.svc-hero p{color:#5c4d85;max-width:600px;margin:0 auto;font-size:1.05rem;}
.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;max-width:1000px;margin:0 auto;}
.price-card{background:var(--white);border-radius:24px;padding:30px 24px;text-align:center;
    border:2px solid var(--lav-200);transition:.3s;box-shadow:0 8px 22px rgba(122,86,196,.1);}
.price-card:hover{transform:translateY(-8px);border-color:var(--lav-400);box-shadow:0 16px 34px rgba(122,86,196,.25);}
.price-card.hot{background:linear-gradient(160deg,var(--lav-600),var(--lav-800));color:#fff;transform:scale(1.04);}
.price-card.hot:hover{transform:scale(1.07) translateY(-6px);}
.price-card h3{font-size:1.1rem;margin-bottom:6px;}
.price-card .pc-price{font-size:2rem;font-weight:800;margin:12px 0;}
.price-card.hot .pc-price{color:#ffe3f1;}
.price-card:not(.hot) h3{color:var(--lav-800);}
.price-card:not(.hot) .pc-price{color:var(--lav-700);}
.price-card ul{list-style:none;font-size:.88rem;line-height:2;color:inherit;opacity:.92;}
.hot-badge{background:#ff6b9d;color:#fff;font-size:.7rem;font-weight:800;padding:4px 14px;border-radius:16px;
    letter-spacing:1px;display:inline-block;margin-bottom:10px;}
.svc-features{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:36px auto;max-width:900px;}
.svc-features div{background:var(--lav-100);padding:12px 22px;border-radius:26px;font-weight:600;font-size:.92rem;transition:.25s;}
.svc-features div:hover{background:var(--lav-600);color:#fff;transform:translateY(-4px);}
.book-strip{text-align:center;margin-top:44px;}
.back-link{display:inline-block;margin:26px 6% 0;color:var(--lav-600);font-weight:700;cursor:pointer;
    background:var(--lav-100);padding:9px 20px;border-radius:24px;border:none;font-size:.9rem;transition:.25s;}
.back-link:hover{background:var(--lav-200);transform:translateX(-4px);}

/* ---------- LOCATIONS ---------- */
.loc-section{max-width:1000px;margin:50px auto 0;background:var(--lav-50);border:2px solid var(--lav-100);
    border-radius:28px;padding:34px 26px;}
.loc-section h3{text-align:center;color:var(--lav-800);font-size:1.4rem;margin-bottom:6px;}
.loc-section .loc-sub{text-align:center;color:#7a6ba3;font-size:.92rem;margin-bottom:22px;}
.loc-picker{position:relative;max-width:420px;margin:0 auto 18px;}
.loc-input{width:100%;padding:14px 46px 14px 20px;border-radius:30px;border:2px solid var(--lav-300);
    font-size:1rem;font-weight:600;color:var(--ink);background:var(--white);outline:none;transition:.25s;}
.loc-input:focus{border-color:var(--lav-600);box-shadow:0 6px 20px rgba(122,86,196,.25);}
.loc-caret{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--lav-600);
    font-size:.9rem;pointer-events:none;transition:.25s;}
.loc-picker.open .loc-caret{transform:translateY(-50%) rotate(180deg);}
.loc-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--white);border-radius:20px;
    box-shadow:0 14px 36px rgba(58,45,92,.25);overflow:hidden;z-index:50;display:none;animation:fadeUp .25s;}
.loc-picker.open .loc-menu{display:block;}
.loc-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 20px;border:none;
    background:none;font-size:.98rem;font-weight:600;color:var(--ink);cursor:pointer;transition:.2s;text-align:left;}
.loc-menu button:hover{background:var(--lav-100);padding-left:26px;color:var(--lav-700);}
.loc-menu .no-match{padding:14px 20px;color:#9a8cc4;font-size:.9rem;text-align:center;}
.city-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;}
.city-chip{padding:8px 20px;border-radius:24px;border:2px solid var(--lav-300);background:var(--white);
    font-weight:700;color:var(--lav-700);cursor:pointer;transition:.25s;font-size:.88rem;}
.city-chip.active{background:var(--lav-600);color:#fff;border-color:var(--lav-600);transform:scale(1.06);}
.city-chip:hover:not(.active){background:var(--lav-100);transform:translateY(-2px);}
.centre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;animation:fadeUp .4s;}
.centre-card{background:var(--white);border:2px solid var(--lav-200);border-radius:20px;padding:22px;
    transition:.3s;position:relative;overflow:hidden;}
.centre-card:hover{transform:translateY(-6px);border-color:var(--lav-400);box-shadow:0 14px 30px rgba(122,86,196,.22);}
.centre-card h4{color:var(--lav-800);font-size:1.02rem;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.centre-card .c-area{color:var(--lav-500);font-weight:700;font-size:.82rem;margin-bottom:10px;}
.centre-card p{font-size:.85rem;color:#6b5c96;line-height:1.6;}
.centre-card .c-row{display:flex;align-items:flex-start;gap:8px;margin-top:6px;font-size:.85rem;color:#6b5c96;}
.centre-card .c-actions{display:flex;gap:8px;margin-top:14px;}
.centre-card .c-actions a{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:.82rem;
    padding:9px 6px;border-radius:20px;transition:.25s;}
.c-call{background:var(--lav-600);color:#fff;}
.c-call:hover{background:var(--lav-800);}
.c-map{background:var(--lav-100);color:var(--lav-700);}
.c-map:hover{background:var(--lav-200);}
.centre-empty{text-align:center;color:#9a8cc4;padding:26px 10px;font-size:.95rem;}
.centre-count{text-align:center;font-weight:700;color:var(--lav-600);font-size:.9rem;margin-bottom:16px;}

/* ---------- CENTRE BOOKING PAGE ---------- */
.centre-card{cursor:pointer;}
.centre-card .c-book-hint{margin-top:10px;font-size:.78rem;font-weight:800;color:var(--lav-500);text-align:center;}
.offer-banner{max-width:760px;margin:22px auto 0;background:linear-gradient(120deg,#ff6b9d,var(--lav-600));
    color:#fff;border-radius:20px;padding:16px 24px;text-align:center;font-weight:700;font-size:1rem;
    box-shadow:0 10px 26px rgba(255,107,157,.35);animation:pulseGlow 2.2s ease-in-out infinite;}
@keyframes pulseGlow{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
.offer-banner small{display:block;font-weight:600;opacity:.92;margin-top:4px;font-size:.85rem;}
.book-wrap{max-width:860px;margin:0 auto;}
.book-step{margin-top:36px;}
.book-step h3{color:var(--lav-800);font-size:1.15rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.book-step h3 .step-no{background:var(--lav-600);color:#fff;width:28px;height:28px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;flex:none;}
.svc-pills{display:flex;gap:10px;flex-wrap:wrap;}
.svc-pill{padding:10px 22px;border-radius:26px;border:2px solid var(--lav-300);background:var(--white);
    font-weight:700;color:var(--lav-700);cursor:pointer;transition:.25s;font-size:.9rem;}
.svc-pill.active{background:var(--lav-600);color:#fff;border-color:var(--lav-600);transform:scale(1.05);}
.svc-pill:hover:not(.active){background:var(--lav-100);}
.date-strip{display:flex;align-items:center;gap:8px;}
.date-arrow{flex:none;width:42px;height:42px;border-radius:50%;border:none;background:var(--lav-100);
    color:var(--lav-700);font-size:1.2rem;font-weight:800;cursor:pointer;transition:.25s;}
.date-arrow:hover{background:var(--lav-600);color:#fff;transform:scale(1.1);}
.date-track{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;padding:6px 2px 12px;
    scrollbar-width:none;flex:1;}
.date-track::-webkit-scrollbar{display:none;}
.date-card{flex:none;width:82px;padding:12px 8px;border-radius:18px;border:2px solid var(--lav-200);
    background:var(--white);text-align:center;cursor:pointer;transition:.25s;}
.date-card:hover{border-color:var(--lav-400);transform:translateY(-3px);}
.date-card.selected{background:linear-gradient(150deg,var(--lav-500),var(--lav-700));color:#fff;
    border-color:transparent;transform:scale(1.07);box-shadow:0 8px 20px rgba(122,86,196,.4);}
.date-card .d-day{font-size:.72rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.75;}
.date-card .d-num{font-size:1.5rem;font-weight:800;margin:2px 0;}
.date-card .d-mon{font-size:.72rem;font-weight:700;opacity:.75;}
.date-card .d-tag{font-size:.62rem;font-weight:800;color:#ff6b9d;margin-top:2px;}
.date-card.selected .d-tag{color:#ffd9ec;}
.slot-groups{display:grid;gap:18px;}
.slot-group{background:var(--white);border:2px solid var(--lav-100);border-radius:20px;padding:18px 20px;}
.slot-group h4{color:var(--lav-700);font-size:.95rem;margin-bottom:12px;}
.slot-chips{display:flex;gap:10px;flex-wrap:wrap;}
.slot-chip{padding:9px 18px;border-radius:22px;border:2px solid var(--lav-200);background:var(--lav-50);
    font-weight:700;color:var(--ink);cursor:pointer;transition:.25s;font-size:.85rem;}
.slot-chip:hover{border-color:var(--lav-400);transform:translateY(-2px);}
.slot-chip.selected{background:var(--lav-600);color:#fff;border-color:var(--lav-600);transform:scale(1.06);}
.booking-summary{margin-top:36px;background:linear-gradient(160deg,var(--lav-700),var(--lav-800));color:#fff;
    border-radius:24px;padding:28px;box-shadow:0 14px 36px rgba(58,45,92,.35);}
.booking-summary h3{margin-bottom:14px;}
.bs-row{display:flex;justify-content:space-between;padding:7px 0;font-size:.95rem;border-bottom:1px dashed rgba(255,255,255,.2);}
.bs-row b{text-align:right;}
.bs-row.total{border:none;font-size:1.05rem;margin-top:6px;}
.bs-row .strike{text-decoration:line-through;opacity:.6;margin-right:8px;}
.pay-btn{width:100%;margin-top:18px;padding:16px;border:none;border-radius:30px;background:#ff6b9d;color:#fff;
    font-size:1.05rem;font-weight:800;cursor:pointer;transition:.25s;box-shadow:0 8px 22px rgba(255,107,157,.4);}
.pay-btn:hover{background:#ff4f8b;transform:translateY(-3px);}
.pay-btn:disabled{background:#9a8cc4;cursor:not-allowed;transform:none;box-shadow:none;}
.booked-ok{text-align:center;padding:30px 16px;}
.booked-ok .bo-emoji{font-size:4rem;}
.booked-ok h3{color:#fff;margin:14px 0 8px;}
.booked-ok p{opacity:.9;font-size:.92rem;line-height:1.7;margin-bottom:18px;}

/* ---------- FOUNDERS / FOOTER ---------- */
.founders{background:linear-gradient(160deg,var(--lav-700),var(--lav-800));color:#fff;
    border-radius:50px 50px 0 0;text-align:center;}
.founders h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:6px;}
.founders .hash{color:#e6b8ff;font-weight:800;font-size:1.15rem;margin-bottom:30px;}
.founder-cards{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:30px 0;}
.founder-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:24px;
    padding:30px 40px;transition:.3s;backdrop-filter:blur(6px);}
.founder-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.18);}
.founder-card .f-emoji{font-size:2.8rem;}
.founder-card h3{margin:12px 0 4px;}
.founder-card p{opacity:.85;font-size:.9rem;}
.contact-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.contact-row a{color:#fff;text-decoration:none;background:rgba(255,255,255,.14);padding:12px 26px;
    border-radius:30px;font-weight:700;transition:.25s;border:1px solid rgba(255,255,255,.3);}
.contact-row a:hover{background:#fff;color:var(--lav-800);transform:translateY(-3px);}
.live-on{margin-top:38px;text-align:center;}
.live-on-title{font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:14px;}
.amazon-badge{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:#fff;
  border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .15s,box-shadow .15s;}
.amazon-badge:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.32);}
.amazon-badge svg{height:34px;width:auto;display:block;}
.footer-note{margin-top:40px;opacity:.7;font-size:.85rem;}

/* ---------- CART DRAWER ---------- */
.cart-overlay{position:fixed;inset:0;background:rgba(58,45,92,.45);z-index:200;opacity:0;
    pointer-events:none;transition:.3s;}
.cart-overlay.open{opacity:1;pointer-events:all;}
.cart-drawer{position:fixed;top:0;right:-420px;width:min(400px,92vw);height:100vh;background:var(--white);
    z-index:201;transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
    box-shadow:-10px 0 40px rgba(58,45,92,.3);}
.cart-drawer.open{right:0;}
.cart-head{padding:22px;background:var(--lav-600);color:#fff;display:flex;justify-content:space-between;align-items:center;}
.cart-head h3{font-size:1.2rem;}
.cart-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:34px;height:34px;border-radius:50%;
    cursor:pointer;font-size:1rem;transition:.2s;}
.cart-close:hover{background:rgba(255,255,255,.35);transform:rotate(90deg);}
.cart-body{flex:1;overflow-y:auto;padding:18px;}
.cart-empty{text-align:center;color:#9a8cc4;margin-top:60px;}
.cart-empty .ce-emoji{font-size:3.5rem;display:block;margin-bottom:12px;}
.cart-item{display:flex;align-items:center;gap:12px;background:var(--lav-50);border-radius:16px;
    padding:12px;margin-bottom:12px;animation:fadeUp .3s;}
.cart-item .ci-emoji{font-size:1.8rem;}
.cart-item .ci-photo{width:46px;height:46px;flex:none;border-radius:12px;background:#fff;
    background-size:cover;background-position:center;border:1px solid var(--lav-100);}
/* ---- Cart rewards progress bar ---- */
.cart-rewards{background:linear-gradient(180deg,var(--lav-50),#fff);border:2px solid var(--lav-100);
    border-radius:16px;padding:14px 12px 6px;margin-bottom:16px;}
.cr-msg{text-align:center;font-size:.82rem;color:var(--lav-800);font-weight:700;margin-bottom:30px;line-height:1.45;}
.cr-msg b{color:var(--lav-600);}
.cr-track{position:relative;height:6px;background:var(--lav-100);border-radius:6px;margin:0 26px 48px;}
.cr-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--lav-500),var(--lav-700));
    border-radius:6px;transition:width .5s ease;}
.cr-stop{position:absolute;top:50%;}
.cr-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;
    background:#fff;border:2px solid var(--lav-200);display:flex;align-items:center;justify-content:center;
    font-size:.85rem;z-index:2;transition:.3s;}
.cr-dot.reached{border-color:var(--lav-600);background:var(--lav-600);box-shadow:0 3px 10px rgba(122,86,196,.4);}
.cr-val{position:absolute;left:0;bottom:16px;transform:translateX(-50%);font-size:.66rem;font-weight:800;
    color:#9a8cc4;white-space:nowrap;}
.cr-stop.reached .cr-val{color:var(--lav-700);}
.cr-lbl{position:absolute;left:0;top:16px;transform:translateX(-50%);font-size:.6rem;font-weight:700;
    color:#9a8cc4;white-space:nowrap;}
.cr-stop.reached .cr-lbl{color:var(--lav-700);}
/* ---- Cart total breakdown ---- */
.cart-lines{margin-bottom:12px;}
.cl-row{display:flex;justify-content:space-between;font-size:.9rem;color:#6b5c96;padding:3px 0;}
.cl-row.cl-disc{color:#2e9b63;font-weight:700;}
.cl-row.cl-gift{color:var(--lav-600);font-weight:700;}
.cl-free{color:#2e9b63;}
/* ---- Checkout phone verification ---- */
.checkout-verify{padding:14px 4px;text-align:center;}
.checkout-verify h4{color:var(--lav-800);font-size:1.35rem;margin-bottom:4px;}
.cv-sub{color:#7a6ba3;font-size:.9rem;margin-bottom:20px;line-height:1.4;}
.cv-phone-row{display:flex;gap:10px;}
.cv-cc{display:flex;align-items:center;padding:0 14px;background:var(--lav-100);border-radius:14px;
    font-weight:700;color:var(--lav-700);white-space:nowrap;}
.cv-phone-row input{flex:1;min-width:0;padding:13px 14px;border:2px solid var(--lav-300);border-radius:14px;
    font-size:1rem;font-family:inherit;color:var(--ink);background:var(--white);outline:none;transition:.2s;}
.cv-phone-row input:focus{border-color:var(--lav-600);box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.cv-err{color:#e8447a;font-size:.82rem;min-height:1em;margin:6px 0 8px;font-weight:600;}
.cv-check{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:16px;
    font-size:.82rem;color:#7a6ba3;cursor:pointer;}
.checkout-verify .otp-inputs{justify-content:center;margin:8px 0;}
/* ---- Checkout delivery details form ---- */
.checkout-form{padding:6px 2px 4px;}
.cf-back{width:auto;padding:6px 14px;font-size:.82rem;margin-bottom:10px;}
.checkout-form h4{color:var(--lav-800);font-size:1.3rem;margin-bottom:2px;}
.cf-sub{color:#7a6ba3;font-size:.88rem;margin-bottom:14px;}
.cf-label{display:block;font-weight:700;color:var(--lav-800);font-size:.82rem;margin:12px 0 5px;}
.cf-label small{color:#9a8cc4;font-weight:600;}
.cf-inp{width:100%;padding:11px 14px;border:2px solid var(--lav-200);border-radius:12px;font-size:.95rem;
    font-family:inherit;color:var(--ink);background:var(--lav-50);outline:none;transition:.2s;}
.cf-inp:focus{border-color:var(--lav-500);background:#fff;box-shadow:0 0 0 4px rgba(143,111,212,.15);}
textarea.cf-inp{resize:vertical;min-height:48px;}
.cf-city{font-size:.78rem;font-weight:700;margin-top:6px;min-height:1em;}
.cf-city-ok{color:#2e9b63;}
.cf-city-warn{color:#c0567f;}
.cf-saveas{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;}
.cf-saveas-lbl{font-size:.82rem;font-weight:700;color:var(--lav-800);width:100%;}
.cf-tag{background:var(--lav-50);border:2px solid var(--lav-200);color:var(--lav-700);font-weight:700;
    font-size:.8rem;font-family:inherit;padding:7px 12px;border-radius:20px;cursor:pointer;transition:.2s;}
.cf-tag.active{background:var(--lav-600);color:#fff;border-color:var(--lav-600);}
.cf-tag:hover:not(.active){background:var(--lav-100);}
.cf-err{color:#e8447a;font-size:.82rem;min-height:1em;margin:12px 0 8px;font-weight:600;text-align:center;}
/* ---- Order summary + payment methods ---- */
.link-btn.os-back{display:inline-flex;align-items:center;gap:5px;margin-bottom:14px;text-decoration:none;
    background:var(--lav-100);color:var(--lav-700);font-weight:800;font-size:.82rem;
    padding:8px 16px;border-radius:22px;transition:.2s;}
.link-btn.os-back:hover{background:var(--lav-600);color:#fff;transform:translateX(-3px);}
.pay-confirm-link{text-decoration:none;background:var(--lav-100);color:var(--lav-700);font-weight:800;
    font-size:.85rem;padding:9px 18px;border-radius:22px;display:inline-block;transition:.2s;}
.pay-confirm-link:hover{background:var(--lav-600);color:#fff;}
.os-card{background:var(--lav-50);border:2px solid var(--lav-100);border-radius:16px;padding:14px;margin-bottom:12px;}
.os-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--lav-800);
    font-size:.95rem;margin-bottom:10px;}
.os-head span{color:#9a8cc4;font-weight:700;font-size:.82rem;}
.os-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px dashed var(--lav-200);}
.os-item:first-child{border-top:none;}
.os-thumb{width:42px;height:42px;flex:none;border-radius:10px;background:#fff;background-size:cover;
    background-position:center;border:1px solid var(--lav-100);}
.os-emoji{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;font-size:1.6rem;}
.os-item-info{flex:1;min-width:0;}
.os-item-info h5{font-size:.88rem;color:var(--lav-800);line-height:1.25;}
.os-item-info small{color:var(--lav-500);font-weight:700;font-size:.78rem;}
.os-item-row{display:flex;align-items:center;justify-content:space-between;margin-top:5px;}
.os-item-price{font-weight:800;color:var(--lav-700);font-size:.9rem;}
.os-addr{color:#6b5c96;font-size:.86rem;line-height:1.6;}
.os-addr b{color:var(--lav-800);}
.os-tag{background:var(--lav-100);color:var(--lav-700);font-size:.68rem;font-weight:800;padding:2px 8px;border-radius:10px;}
.os-lines .cl-row{font-size:.88rem;}
.os-lines .os-total{border-top:2px solid var(--lav-200);margin-top:6px;padding-top:8px;font-weight:800;
    color:var(--lav-800);font-size:1.05rem;}
.os-offers{background:#e3f7ec;color:#2e9b63;border-radius:14px;padding:10px 14px;font-size:.82rem;
    font-weight:600;margin-bottom:16px;line-height:1.5;}
.pm-heading{color:var(--lav-800);font-size:.95rem;margin:4px 0 10px;}
.pm-list{display:flex;flex-direction:column;gap:10px;}
.pm-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--white);
    border:2px solid var(--lav-100);border-radius:14px;padding:14px 14px;cursor:pointer;transition:.2s;font-family:inherit;}
.pm-row:hover{border-color:var(--lav-400);transform:translateY(-2px);box-shadow:0 8px 20px rgba(122,86,196,.15);}
.pm-row.pm-sug{border-color:var(--lav-500);background:linear-gradient(180deg,#fff,var(--lav-50));
    box-shadow:0 6px 18px rgba(122,86,196,.18);}
.pm-row.pm-soon{opacity:.62;}
.pm-ico{font-size:1.5rem;flex:none;}
.pm-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.pm-main b{color:var(--lav-800);font-size:.92rem;}
.pm-main small{color:#9a8cc4;font-size:.76rem;}
.pm-right{font-weight:800;color:var(--lav-700);font-size:.9rem;white-space:nowrap;display:flex;align-items:center;gap:6px;}
.pm-arrow{color:var(--lav-400);font-size:1.1rem;}
.pm-arrow em{font-style:normal;font-size:.68rem;font-weight:800;color:#c0567f;background:#fdeef4;padding:2px 8px;border-radius:10px;}
.cart-item .ci-info{flex:1;}
.cart-item .ci-info h5{font-size:.9rem;color:var(--lav-800);}
.cart-item .ci-info small{color:var(--lav-600);font-weight:700;}
.qty-ctrl{display:flex;align-items:center;gap:8px;}
.qty-ctrl button{width:26px;height:26px;border-radius:50%;border:none;background:var(--lav-200);
    color:var(--lav-800);font-weight:800;cursor:pointer;transition:.2s;}
.qty-ctrl button:hover{background:var(--lav-600);color:#fff;}
.os-item-row .qty-ctrl button:first-child{background:#fde2e2;color:#c93a3a;}
.os-item-row .qty-ctrl button:first-child:hover{background:#e33;color:#fff;}
.os-item-row .qty-ctrl button:last-child{background:#dcf5e3;color:#1f8a3d;}
.os-item-row .qty-ctrl button:last-child:hover{background:#1f8a3d;color:#fff;}
.cart-foot{padding:20px;border-top:2px solid var(--lav-100);}
.cart-total{display:flex;justify-content:space-between;font-weight:800;font-size:1.15rem;
    color:var(--lav-800);margin-bottom:14px;}
.order-done{text-align:center;padding:20px 10px;}
.order-done .od-emoji{font-size:3.4rem;}
.order-done h4{color:var(--lav-800);margin:12px 0 8px;}
.order-done p{color:#7a6ba3;font-size:.9rem;line-height:1.6;margin-bottom:16px;}

/* ---------- LOGIN / SIGN-UP ---------- */
.login-card{max-width:440px;margin:10px auto;background:var(--white);border-radius:28px;
    padding:36px 30px;box-shadow:0 14px 40px rgba(122,86,196,.16);border:2px solid var(--lav-100);}
.login-top{text-align:center;margin-bottom:22px;}
.login-emoji{font-size:3rem;}
.login-top h2{color:var(--lav-800);margin-top:8px;font-size:1.5rem;}
.login-sub{color:#7a6ba3;font-size:.95rem;margin-top:6px;}
.login-step{display:none;animation:fadeUp .35s ease;}
.login-step.active{display:block;}
.fld-label{display:block;font-weight:700;color:var(--lav-800);font-size:.9rem;margin:14px 0 6px;}
.fld-label small{color:#9a8cc4;font-weight:600;}
.req{color:#ff6b9d;}
.fld,.phone-row input{width:100%;padding:13px 16px;border:2px solid var(--lav-200);border-radius:16px;
    font-size:1rem;color:var(--ink);transition:.2s;font-family:inherit;background:var(--lav-50);}
.fld:focus,.phone-row input:focus{outline:none;border-color:var(--lav-500);background:#fff;
    box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.phone-row{display:flex;gap:10px;align-items:stretch;}
.phone-row .cc{display:flex;align-items:center;padding:0 14px;background:var(--lav-100);
    border-radius:16px;font-weight:700;color:var(--lav-700);white-space:nowrap;}
.login-btn{width:100%;margin-top:20px;}
.fld-err{color:#e8447a;font-size:.85rem;min-height:1.1em;margin-top:6px;font-weight:600;}
.demo-note{background:#fff6da;border:1px dashed #e5c76b;color:#9a7b12;padding:9px 14px;
    border-radius:14px;font-size:.82rem;margin:8px 0 0;text-align:center;font-weight:600;}
.demo-note:empty{display:none;}
.otp-hint{color:#7a6ba3;font-size:.85rem;margin-top:12px;text-align:center;}
.link-btn{background:none;border:none;color:var(--lav-600);font-weight:800;cursor:pointer;
    font-size:.85rem;text-decoration:underline;padding:0;font-family:inherit;}
.otp-inputs{display:flex;gap:8px;justify-content:center;margin-top:6px;}
.otp-box{width:44px;height:52px;text-align:center;font-size:1.4rem;font-weight:800;
    border:2px solid var(--lav-200);border-radius:14px;background:var(--lav-50);color:var(--lav-800);transition:.2s;}
.otp-box:focus{outline:none;border-color:var(--lav-500);background:#fff;box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.verified-chip{display:inline-block;background:#e3f7ec;color:#2e9b63;font-weight:800;
    padding:6px 16px;border-radius:20px;font-size:.82rem;margin-bottom:6px;}
.success-box{text-align:center;padding:16px 6px;}
.success-emoji{font-size:3.4rem;}
.success-box h3{color:var(--lav-800);margin:12px 0 8px;font-size:1.4rem;}
.success-box p{color:#7a6ba3;font-size:.95rem;line-height:1.5;}

/* ---------- PAYMENT / UPI ---------- */
.pay-panel .upi-qr{width:190px;height:190px;border-radius:16px;border:2px solid var(--lav-200);
    padding:6px;background:#fff;margin:8px auto 4px;display:block;}
.pay-scan{color:var(--lav-700);font-weight:700;font-size:.92rem;margin:2px 0 14px;}
.upi-id-box{background:var(--lav-50);border:1px dashed var(--lav-300);border-radius:14px;
    padding:10px 14px;font-size:.9rem;color:var(--lav-800);margin-bottom:14px;display:flex;
    align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;word-break:break-all;}
.upi-copy{background:var(--lav-600);color:#fff;border:none;border-radius:14px;padding:5px 12px;
    font-weight:700;font-size:.78rem;cursor:pointer;transition:.2s;}
.upi-copy:hover{background:var(--lav-800);}
.pay-after{color:#7a6ba3;font-size:.85rem;margin:6px 0 12px;line-height:1.5;}
.qr-fail{background:#fff6da;border:1px dashed #e5c76b;color:#9a7b12;padding:10px 14px;
    border-radius:12px;font-size:.82rem;margin:8px 0 12px;font-weight:600;line-height:1.5;}

/* ---------- PRODUCT DETAIL PAGE ---------- */
.pd-wrap{max-width:1000px;margin:0 auto;}
.pd-wrap .back-link{margin:0 0 14px;}
.pd-crumb{font-size:.85rem;color:#8a7bb5;margin:14px 0 22px;}
.pd-crumb span{cursor:pointer;color:var(--lav-600);font-weight:700;}
.pd-crumb span:hover{text-decoration:underline;}
.pd-crumb b{color:var(--lav-800);}
.pd-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;}
/* Let grid/flex children shrink so a thumbnail strip (etc.) scrolls instead of
   forcing the whole page wider than the screen (fixes mobile overflow/zoom). */
.pd-main > *{min-width:0;}
.pd-media{position:relative;background:linear-gradient(150deg,var(--lav-200),var(--lav-100));
    border-radius:28px;min-height:340px;display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 30px rgba(122,86,196,.15);}
.pd-media .pd-emoji{font-size:clamp(5rem,16vw,9rem);filter:drop-shadow(0 10px 18px rgba(122,86,196,.25));}
.pd-cat-badge{position:absolute;top:16px;left:16px;background:var(--lav-600);color:#fff;font-size:.72rem;
    font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:16px;z-index:3;}
/* Image gallery */
.pd-media-col{display:flex;flex-direction:column;gap:12px;min-width:0;}
.pd-gallery{position:relative;}
.pd-gal-main{width:100%;aspect-ratio:1/1;border-radius:24px;background:#fff;background-size:cover;
    background-position:center;border:2px solid var(--lav-100);box-shadow:0 12px 30px rgba(122,86,196,.12);
    cursor:zoom-in;transition:background-size .18s ease;}
.pd-gal-main.zooming{cursor:zoom-in;transition:none;}
.pd-gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;border-radius:50%;
    background:rgba(255,255,255,.92);color:var(--lav-700);font-size:1.4rem;cursor:pointer;z-index:3;transition:.2s;
    box-shadow:0 4px 14px rgba(58,45,92,.22);}
.pd-gal-arrow:hover{background:var(--lav-600);color:#fff;transform:translateY(-50%) scale(1.08);}
.pd-gal-prev{left:12px;}
.pd-gal-next{right:12px;}
.pd-gal-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:6px;justify-content:center;}
.pd-gal-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(122,86,196,.4);cursor:pointer;padding:0;transition:.25s;}
.pd-gal-dot.on{background:var(--lav-600);width:22px;border-radius:5px;}
.pd-gal-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;min-width:0;}
.pd-gal-thumbs::-webkit-scrollbar{display:none;}
.pd-gal-thumb{width:64px;height:64px;flex:none;border-radius:12px;border:2px solid var(--lav-200);
    background:#fff;background-size:cover;background-position:center;cursor:pointer;transition:.2s;}
.pd-gal-thumb.on{border-color:var(--lav-600);transform:scale(1.05);}
.pd-info h1{color:var(--lav-800);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.2;}
.pd-rating{display:flex;align-items:center;gap:8px;margin:10px 0;color:#f5a623;font-size:1.05rem;letter-spacing:2px;}
.pd-rating span{color:#7a6ba3;font-size:.85rem;font-weight:600;letter-spacing:normal;}
.pd-price{margin:6px 0 14px;}
.pd-price .pr-now{font-size:2rem;}
.pd-price .pr-line{font-size:.95rem;margin-top:2px;}
.pd-desc{color:#5c4d85;font-size:1rem;line-height:1.65;}
.pd-note{display:inline-flex;align-items:center;gap:.35em;margin:2px 0 10px;padding:5px 11px;
  font-size:.78rem;font-weight:700;color:#7a3fb0;background:#f3e9ff;
  border:1px solid #e0c9f5;border-radius:999px;line-height:1.2;}
.pd-variants{margin:14px 0 18px;}
.pd-variant-head{font-size:.95rem;color:#3d2c66;margin-bottom:8px;}
.pd-variant-head b{color:#3d2c66;}
.pd-variant-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.pd-variant{flex:0 0 auto;width:96px;padding:0 0 8px;background:#fff;border:2px solid #eee6fa;border-radius:12px;
  cursor:pointer;text-align:left;overflow:hidden;transition:border-color .15s,box-shadow .15s;font:inherit;}
.pd-variant:hover{border-color:#c9b3ee;}
.pd-variant.on{border-color:var(--lav-600);box-shadow:0 0 0 1px var(--lav-600);}
.pd-variant-img{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;
  background-color:#faf7ff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;}
.pd-variant-cap{padding:6px 8px 0;line-height:1.25;}
.pd-variant-cap b{display:block;font-size:.82rem;color:#3d2c66;}
.pd-variant-cap span{font-size:.75rem;color:#7a6a9c;}
.pd-sizes{display:flex;gap:10px;flex-wrap:wrap;}
.pd-size{min-width:74px;padding:10px 16px;background:#fff;border:2px solid #eee6fa;border-radius:12px;
  font:inherit;font-weight:700;color:#3d2c66;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.pd-size:hover{border-color:#c9b3ee;}
.pd-size.on{border-color:var(--lav-600);box-shadow:0 0 0 1px var(--lav-600);}
.pd-variant.soon{cursor:not-allowed;opacity:.75;}
.pd-variant.soon .pd-variant-cap span{color:#b07a3f;font-weight:700;}
.pd-details{margin-top:28px;display:grid;gap:26px;}
.pd-details h3{font-size:1.15rem;color:#3d2c66;margin:0 0 12px;}
.pd-specs table{border-collapse:collapse;width:100%;max-width:560px;}
.pd-specs tr{border-bottom:1px solid #eee6fa;}
.pd-specs th{text-align:left;vertical-align:top;padding:9px 18px 9px 0;color:#3d2c66;font-weight:700;
  white-space:nowrap;width:1%;}
.pd-specs td{padding:9px 0;color:#5c4d85;}
.pd-about-item ul{margin:0;padding-left:1.15em;display:grid;gap:9px;}
.pd-about-item li{color:#5c4d85;line-height:1.6;}
.pd-about-item li::marker{color:#7a56c4;}
.pd-buy{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0;}
.pd-buy .p-action{flex:1 1 220px;max-width:280px;}
.pd-buy .buy-btn{padding:15px;font-size:1rem;}
.pd-buy .qty-stepper{padding:6px;}
.pd-buy .qs-btn{width:40px;height:40px;font-size:1.5rem;}
.pd-delivery{background:var(--lav-50);border:2px solid var(--lav-100);border-radius:18px;padding:18px 20px;margin-top:8px;}
.pd-delivery h4{color:var(--lav-800);margin-bottom:6px;font-size:1rem;}
.pd-delivery p{color:#6b5c96;font-size:.9rem;line-height:1.6;margin-bottom:8px;}
.pd-delivery .link-btn{text-decoration:none;background:var(--lav-100);color:var(--lav-700);font-weight:800;
    padding:8px 16px;border-radius:20px;display:inline-block;margin-top:4px;transition:.2s;}
.pd-delivery .link-btn:hover{background:var(--lav-600);color:#fff;transform:translateY(-2px);}
.pd-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.pd-trust span{background:var(--lav-100);color:var(--lav-700);font-weight:700;font-size:.78rem;
    padding:7px 14px;border-radius:20px;}
.pd-section{margin-top:44px;}
.pd-section h3{color:var(--lav-800);font-size:1.4rem;margin-bottom:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pd-rating-inline{font-size:.85rem;font-weight:700;color:#f5a623;background:#fff7e8;padding:4px 12px;border-radius:16px;}
.pd-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.pd-review{background:var(--white);border:2px solid var(--lav-100);border-radius:18px;padding:18px;
    box-shadow:0 6px 18px rgba(122,86,196,.08);}
.pd-review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.pd-review-top b{color:var(--lav-800);font-size:.92rem;}
.pd-stars{color:#f5a623;letter-spacing:2px;font-size:.9rem;}
.pd-review p{color:#6b5c96;font-size:.9rem;line-height:1.55;}
.pd-review-mine{border-color:var(--lav-400);background:linear-gradient(160deg,#fff,var(--lav-50));}
.pd-verified{font-size:.7rem;font-weight:800;color:#2e9b63;background:#e3f7ec;padding:2px 8px;border-radius:12px;margin-left:6px;}
/* Write a review */
.pd-writereview{grid-column:1/-1;margin-top:20px;background:var(--lav-50);border:2px solid var(--lav-100);
    border-radius:20px;padding:22px;}
.pd-writereview h4{color:var(--lav-800);font-size:1.1rem;margin-bottom:4px;}
.wr-sub{color:#7a6ba3;font-size:.9rem;margin-bottom:12px;}
.wr-stars{display:flex;gap:4px;margin-bottom:12px;}
.wr-star{background:none;border:none;font-size:1.9rem;line-height:1;color:var(--lav-200);cursor:pointer;
    transition:.15s;padding:0;}
.wr-star:hover,.wr-star.on{color:#f5a623;transform:scale(1.1);}
.wr-name,.wr-text{width:100%;padding:12px 14px;border:2px solid var(--lav-200);border-radius:14px;
    font-family:inherit;font-size:.95rem;color:var(--ink);background:#fff;outline:none;transition:.2s;margin-bottom:12px;}
.wr-name:focus,.wr-text:focus{border-color:var(--lav-500);box-shadow:0 0 0 4px rgba(143,111,212,.15);}
.wr-text{resize:vertical;min-height:70px;}
.wr-thanks{color:var(--lav-800);font-weight:600;line-height:1.6;}
.wr-share{display:inline-block;margin-top:12px;text-decoration:none;}
.pd-about{margin-top:44px;background:linear-gradient(150deg,var(--lav-700),var(--lav-800));color:#fff;
    border-radius:28px;padding:34px;display:flex;gap:28px;align-items:center;flex-wrap:wrap;
    box-shadow:0 16px 40px rgba(58,45,92,.3);overflow:hidden;}
.pd-about-mascots{width:min(240px,42%);flex:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));}
.pd-about-body{flex:1;min-width:240px;}
.pd-about-word{height:52px;width:auto;margin-bottom:8px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));}
.pd-about-body h3{font-size:1.4rem;margin-bottom:10px;}
.pd-about-body p{opacity:.95;line-height:1.7;font-size:.95rem;margin-bottom:10px;}
.pd-about-tag{color:#e6b8ff;font-weight:700;}
/* Render the paw emoji as white on the dark About panel. */
.paw-white{filter:brightness(0) invert(1);}
@media(max-width:720px){
  .pd-main{grid-template-columns:minmax(0,1fr);gap:20px;}
  .pd-media{min-height:220px;}
  /* cap the gallery image so it doesn't take the whole screen */
  .pd-gal-main{aspect-ratio:auto;height:min(92vw,380px);}
  .pd-gal-arrow{width:36px;height:36px;font-size:1.2rem;}
  .pd-gal-prev{left:8px;} .pd-gal-next{right:8px;}
  .pd-gal-thumb{width:56px;height:56px;}
  .pd-crumb{font-size:.8rem;}
  .pd-info h1{font-size:1.35rem;}
  .pd-price{font-size:1.7rem;}
  /* stack the buy buttons full-width on phones */
  .pd-buy{gap:10px;}
  .pd-buy .p-action{flex:1 1 100%;max-width:none;}
  .pd-buy .btn-ghost{flex:1 1 100%;}
  .pd-about{padding:26px 22px;justify-content:center;text-align:center;}
  .pd-about-mascots{width:min(220px,62%);}
  .pd-about-word{margin-left:auto;margin-right:auto;}
}

/* ---------- TOAST ---------- */
#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(90px);background:var(--lav-800);
    color:#fff;padding:13px 28px;border-radius:30px;font-weight:700;z-index:300;transition:.35s;
    box-shadow:0 10px 30px rgba(58,45,92,.4);}
#toast.show{transform:translateX(-50%) translateY(0);}

@media(max-width:640px){
  /* Clean 3-row nav: [logo | delivery] / [search] / [centered links] */
  nav{padding:12px 4%;row-gap:10px;}
  .logo-mark{height:46px;}
  .logo-word{height:28px;}
  .loc-pill{font-size:.8rem;padding:7px 11px;max-width:170px;}
  .nav-search{order:3;flex-basis:100%;max-width:none;margin:2px 0 0;}
  .nav-links{order:4;width:100%;justify-content:center;gap:2px;}
  .nav-links button:not(.cart-btn){padding:6px 9px;font-size:.82rem;}
  .cart-btn{padding:6px 12px!important;}
  section{padding:50px 5%;}
  /* Carousels: smaller arrows + a card sized to fully fit between them,
     so at least one whole card (with its edges) is always visible. */
  .carousel-wrap{gap:6px;}
  .car-arrow{width:38px;height:38px;font-size:1.15rem;}
  .car-track{gap:14px;}
  .car-track > .product-card{scroll-snap-align:start;}      /* full card at the left edge */
  .car-track > .breed-card{scroll-snap-align:center;}
  /* breeds row lives in the full-width "worlds" section (~90vw) */
  .breed-track > .breed-card{flex:0 0 auto;width:min(250px,calc(90vw - 96px));min-width:0;}
  /* product row lives in #buyrow which also has 3% side margins (~84vw) */
  #buyrow .car-track > .product-card{width:min(255px,calc(86vw - 60px));}
}
