@import url("/css/medicine-store-v3.css");

:root { --surface: #f7faf8; --navy: #092c3b; }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
body { background: #fff; }
.commerce-top { margin-top: 76px; padding: 20px 0 30px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#f3fbf7 0,#fff 100%); }
.store-nav { min-height: 62px; display: grid; grid-template-columns: 235px 1fr auto; align-items: center; gap: 26px; }
.delivery-pin { min-height: 52px; display: grid; grid-template-columns: 22px 1fr auto auto; align-items: center; gap: 7px; padding: 7px 9px 7px 14px; border: 1px solid #cfddd6; border-radius: 10px; background: #fff; box-shadow: 0 5px 18px rgba(12,48,39,.05); }
.delivery-pin > span { color: var(--green); font-size: 1.2rem; }
.delivery-pin label { min-width: 0; display: grid; }
.delivery-pin small { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.delivery-pin input { width: 100%; min-width: 0; padding: 2px 0; border: 0; outline: 0; background: transparent; font-weight: 800; }
.delivery-pin button { padding: 8px 11px; border: 0; border-radius: 7px; background: #e7f6ef; color: var(--green); font-size: .7rem; font-weight: 800; cursor: pointer; }
.delivery-pin .detect-location { display:flex; align-items:center; gap:5px; padding:8px 9px; background:#f3f7f5; color:#315b50; }
.delivery-pin .detect-location:hover,.delivery-pin .detect-location:focus-visible { background:#dff2e9; color:#05735a; }
.delivery-pin .detect-location svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; }
.delivery-pin button:disabled { cursor:wait; opacity:.58; }
.delivery-pin .detect-location.is-loading svg { animation:location-pulse .9s ease-in-out infinite alternate; }
@keyframes location-pulse { to { transform:scale(1.22); opacity:.45; } }
.store-nav nav { display: flex; justify-content: flex-end; gap: 28px; }
.store-nav nav a { color: var(--ink); text-decoration: none; font-size: .74rem; font-weight: 750; }
.cart-button { border-color: #c8d8d0; background: #fff; color: var(--forest); box-shadow: 0 5px 18px rgba(12,48,39,.06); }
.cart-button:hover { background: var(--forest); color: #fff; }
.search-intro { margin: 38px 0 20px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.search-intro h1 { margin: 0; color: var(--navy); font-family: Georgia,serif; font-size: clamp(2.2rem,4vw,4rem); font-weight: 400; letter-spacing: -.045em; }
.search-intro p { max-width: 370px; margin: 0 0 8px; color: var(--muted); font-size: .82rem; }
.commerce-top .search-box { min-height: 70px; display: grid; grid-template-columns: 26px 1fr auto; gap: 14px; padding: 7px 8px 7px 20px; border: 2px solid var(--green); border-radius: 12px; background: #fff; box-shadow: 0 14px 35px rgba(11,97,76,.11); }
.commerce-top .search-box input { font-size: 1rem; }
.commerce-top .search-button { min-width: 128px; justify-content: center; }
.search-note { min-height: 27px; padding: 8px 2px 0; }
.search-note .status { color: var(--muted); }
.search-note .status.success { color: var(--green); }.search-note .status.error { color: #b2463c; }

.catalog-section { min-height: 620px; padding: 22px 0 82px; }
.category-strip { display: grid; grid-template-columns: repeat(6,1fr); margin-bottom: 34px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.category-chip { min-height: 94px; display: grid; grid-template-columns: 35px 1fr; grid-template-rows: 1fr 1fr; align-content: center; column-gap: 10px; padding: 16px; border: 0; border-right: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; transition: background .25s, transform .25s; }
.category-chip:last-child { border-right: 0; }
.category-chip > span { grid-row: 1 / 3; align-self: center; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #edf7f2; color: var(--green); font-size: 1rem; }
.category-chip b { align-self: end; font-size: .75rem; }.category-chip small { color: var(--muted); font-size: .6rem; }
.category-chip:hover,.category-chip.active { background: #eaf8f1; }.category-chip.active { box-shadow: inset 0 -3px var(--green); }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 20px; }
.catalog-heading h2 { margin: 0 0 6px; color: var(--navy); font-family: Georgia,serif; font-size: 2rem; font-weight: 400; }
.catalog-heading p { margin: 0; color: var(--muted); font-size: .72rem; }
.catalog-assurance { color: var(--green); font-size: .68rem; font-weight: 800; }
.product-grid { grid-template-columns: repeat(5,1fr); gap: 12px; }
.product-card { border-radius: 10px; }
.product-image { height: 160px; }
.product-body { padding: 14px; }
.product-card h3 { min-height: 38px; margin: 10px 0 4px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.product-content { min-height: 20px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.product-maker { min-height: 30px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.product-price { margin: 10px 0; }
.skeleton { height: 350px; border-radius: 10px; }

/* Category-by-category shopping rails, inspired by familiar Indian pharmacy browsing. */
.category-shelves { display:grid; gap:52px; }
.category-shelf { min-width:0; scroll-margin-top:96px; }
.category-shelf-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:17px; }
.category-shelf-heading h2 { margin:0 0 5px; color:var(--navy); font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.55rem,2.4vw,2.2rem); font-weight:500; letter-spacing:-.025em; }
.category-shelf-heading p { margin:0; color:var(--muted); font-size:.7rem; }
.category-shelf-controls { display:flex; align-items:center; gap:8px; }
.category-view-all,.category-rail-arrow { min-height:40px; border:1px solid #d7dfda; background:#fff; color:#24443b; font-size:.67rem; font-weight:780; cursor:pointer; }
.category-view-all { padding:0 16px; border-radius:999px; }
.category-rail-arrow { width:40px; padding:0; border-radius:50%; font-size:1rem; }
.category-view-all:hover,.category-view-all:focus-visible,.category-rail-arrow:hover:not(:disabled),.category-rail-arrow:focus-visible { border-color:#e1bd32; background:#fff5bd; outline:0; }
.category-rail-arrow:disabled { cursor:default; opacity:.32; }
.product-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 64px)/5); gap:16px; padding:3px 2px 18px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.product-rail::-webkit-scrollbar { display:none; }
.product-rail:focus-visible { border-radius:12px; outline:3px solid rgba(244,197,66,.45); outline-offset:4px; }
.product-rail .product-card { min-width:0; scroll-snap-align:start; scroll-snap-stop:normal; }
.product-rail .skeleton { min-width:210px; scroll-snap-align:start; }
.category-rail-empty { grid-column:1/-1; width:min(100%,560px); min-height:150px; display:grid; place-items:center; padding:28px; border:1px dashed #cddbd4; border-radius:14px; background:#f8fbf9; color:var(--muted); font-size:.75rem; text-align:center; }
.category-rail-empty.error { border-color:#e4c1bc; background:#fff8f7; color:#9b443b; }
.search-results-panel[hidden] { display:none !important; }

.quick-services { padding: 75px 0 90px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; }
.prescription-card { min-height: 330px; display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border-radius: 18px; background: var(--forest); color: #fff; }
.prescription-card img { width: 100%; height: 100%; object-fit: cover; }
.prescription-card > div { align-self: center; padding: 40px; }.prescription-card small { color: var(--mint); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.prescription-card h2 { margin: 12px 0; font: 2.4rem/1 Georgia,serif; }.prescription-card p { color: rgba(255,255,255,.68); font-size: .78rem; line-height: 1.6; }
.trust-list { display: grid; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }.trust-list div { display: grid; align-content: center; gap: 6px; padding: 24px; border-bottom: 1px solid var(--line); }.trust-list div:last-child { border: 0; }.trust-list b { font-size: .82rem; }.trust-list span { color: var(--muted); font-size: .68rem; }

@media (max-width: 980px) {
  .store-nav { grid-template-columns: 1fr auto; }.store-nav nav { display:none; }
  .category-strip { grid-template-columns: repeat(3,1fr); }.category-chip:nth-child(3) { border-right:0; }.category-chip:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .product-grid { grid-template-columns: repeat(3,1fr); }.quick-services { grid-template-columns: 1fr; }
  .product-rail { grid-auto-columns:calc((100% - 32px)/3); }
}
@media (max-width: 640px) {
  .store-shell { width:min(100% - 24px,1220px); }.commerce-top { margin-top:64px; padding-top:12px; }
  .store-nav { grid-template-columns: 1fr auto; gap:10px; }.delivery-pin { grid-column:1; grid-row:1; }.cart-button { grid-column:2; grid-row:1; }
  .search-intro { margin:26px 0 15px; display:block; }.search-intro h1 { font-size:2.3rem; }.search-intro p { margin-top:10px; }
  .commerce-top .search-box { min-height:58px; grid-template-columns:22px 1fr auto; padding-left:14px; }.commerce-top .search-button { min-width:auto; padding:12px 14px; }
  .category-strip { grid-template-columns:repeat(2,1fr); overflow:visible; border-radius:10px; }.category-chip,.category-chip:nth-child(3) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.category-chip:nth-child(even) { border-right:0; }
  .catalog-heading { align-items:start; flex-direction:column; gap:8px; }.catalog-assurance { display:none; }.product-grid { grid-template-columns:repeat(2,1fr); }.product-image { height:125px; }.product-body { padding:11px; }
  .category-shelves { gap:42px; }.category-shelf-heading { align-items:center; }.category-shelf-heading p { display:none; }.category-view-all { min-height:38px; padding:0 13px; }.category-rail-arrow { display:none; }
  .product-rail { grid-auto-columns:calc((100% - 13px)/2); gap:13px; margin-left:-2px; margin-right:-12px; padding-right:12px; }
  .quick-services { padding:45px 0; }.prescription-card { grid-template-columns:1fr; }.prescription-card img { height:200px; }.prescription-card > div { padding:28px; }
}
@media (max-width: 390px) { .product-grid { grid-template-columns:1fr; } }

/* Visual refresh: editorial pharmacy storefront */
body { font-family: Inter, Arial, sans-serif; }
.commerce-top { position:relative; isolation:isolate; min-height:520px; padding:22px 0 30px; overflow:hidden; background:#e8f2ed; }
.commerce-visual { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.015) translate3d(var(--hero-x,0),var(--hero-y,0),0); transition:transform 1.1s cubic-bezier(.2,.8,.2,1); }
.commerce-top .store-shell { position:relative; z-index:1; }
.store-nav { display:flex; align-items:center; justify-content:space-between; }
.store-nav .delivery-pin { width:365px; flex:0 0 365px; }
.search-intro { width:63%; margin:40px 0 24px; display:block; }
.search-intro h1 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(3.2rem,5.5vw,5.35rem); line-height:.96; letter-spacing:-.05em; text-wrap:balance; }
.search-intro p { max-width:540px; margin:17px 0 0; color:#405b52; font-size:.9rem; line-height:1.65; }
.commerce-top .search-box { width:64%; min-height:68px; transition:width .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s; }
.commerce-top .search-box:focus-within { width:68%; border-color:#066d55; box-shadow:0 18px 52px rgba(6,75,58,.18); }
.commerce-top .search-box input { font-size:.95rem; }
.hero-searches { width:64%; margin-top:13px; }
.hero-searches span { color:#50685f; font-size:.65rem; font-weight:700; }
.hero-searches button { background:rgba(255,255,255,.73); backdrop-filter:blur(8px); transition:transform .2s,border-color .2s,background .2s; }
.hero-searches button:hover { transform:translateY(-2px); border-color:#8bbba9; background:#fff; }
.search-note { width:64%; }
.hero-trust { width:64%; min-height:52px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; margin-top:16px; border:1px solid rgba(10,143,117,.13); border-radius:11px; background:rgba(239,249,244,.82); box-shadow:0 12px 30px rgba(12,57,45,.06); backdrop-filter:blur(12px); }
.hero-trust span { padding:0 17px; border-right:1px solid rgba(14,59,46,.13); color:#174e40; font-size:.63rem; font-weight:750; text-align:center; }
.hero-trust span:last-child { border:0; }
.catalog-heading h2,.prescription-card h2,.tracker-section h2,.how-it-works .section-heading h2 { font-family:'Playfair Display',Georgia,serif; }
.catalog-heading h2 { font-size:2.35rem; letter-spacing:-.035em; }
.category-chip { transition:background .25s,transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s; }
.category-chip:hover { position:relative; z-index:2; transform:translateY(-5px); box-shadow:0 15px 35px rgba(8,62,48,.11); }
.category-chip > span { transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s,color .25s; }
.category-chip:hover > span,.category-chip.active > span { transform:rotate(-7deg) scale(1.12); background:#0a8f75; color:#fff; }
.product-card { position:relative; border-color:#d8e4de; box-shadow:0 6px 20px rgba(10,56,44,.035); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s; }
.product-card:hover { transform:translateY(-9px); border-color:#afd1c2; box-shadow:0 24px 55px rgba(7,57,43,.13); }
.product-image { display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f4f8f5; }
.product-card[hidden] { display:none !important; }
.product-image img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; object-position:center; mix-blend-mode:multiply; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
@media (hover:hover) and (pointer:fine) {
  .product-card:hover .product-image img { transform:scale(1.04) rotate(-.5deg); }
}
.product-card .button { border:1px solid transparent; transition:background .25s,color .25s,border-color .25s,transform .25s; }
.product-card .button:hover { border-color:#0a8f75; background:#fff; color:#0a8f75; transform:translateY(-2px); }
.quick-services { position:relative; }
.prescription-card { box-shadow:0 25px 65px rgba(5,46,36,.17); transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.prescription-card:hover { transform:translateY(-7px); }
.prescription-card img { transition:transform .75s cubic-bezier(.2,.8,.2,1); }.prescription-card:hover img { transform:scale(1.04); }

@media (max-width:980px) {
  .commerce-top { min-height:500px; }
  .commerce-visual { opacity:.32; object-position:60% center; }
  .search-intro,.commerce-top .search-box,.hero-searches,.search-note,.hero-trust { width:100%; }
  .commerce-top .search-box:focus-within { width:100%; }
  .search-intro { max-width:700px; }
}
@media (max-width:640px) {
  .commerce-top { min-height:auto; padding-bottom:25px; background:#edf6f1; }
  .commerce-visual { display:block; opacity:.14; object-position:68% center; filter:saturate(.72) contrast(.9); }
  .store-nav { display:grid; grid-template-columns:1fr auto; }
  .store-nav .delivery-pin { width:auto; min-width:0; flex:auto; }
  .search-intro { margin:27px 0 18px; }
  .search-intro h1 { font-size:2.65rem; }
  .search-intro p { font-size:.78rem; }
  .hero-searches { gap:6px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .hero-searches span { flex:0 0 auto; }.hero-searches button { flex:0 0 auto; }
  .hero-trust { grid-template-columns:1fr; gap:0; padding:4px 0; }
  .hero-trust span { padding:8px 12px; border-right:0; border-bottom:1px solid rgba(14,59,46,.1); }
  .hero-trust span:last-child { border-bottom:0; }
}

/* Apple-inspired typography and interactive ordering journey */
:root { --apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Arial,sans-serif; }
body,button,input,select,textarea { font-family:var(--apple-font); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4,.search-intro h1,.catalog-heading h2,.prescription-card h2,.tracker-section h2,.section-heading h2,.process-grid h3 { font-family:var(--apple-font) !important; }
.search-intro { width:56%; max-width:760px; }
.search-intro h1 { max-width:720px; font-size:clamp(3rem,4.4vw,4.65rem); font-weight:720; line-height:.98; letter-spacing:-.058em; color:#082d3b; text-wrap:balance; }
.search-intro p { max-width:560px; color:#284b40; font-weight:500; }
.catalog-heading h2 { font-weight:700; letter-spacing:-.04em; }
.prescription-card h2,.tracker-section h2 { font-weight:720; letter-spacing:-.045em; }

.how-it-works { padding:105px 0 115px; background:#082d25; }
.how-it-works .section-heading { align-items:end; margin-bottom:40px; }
.how-it-works .section-heading h2 { max-width:680px; margin-top:10px; font-size:clamp(3rem,5vw,5.2rem); font-weight:720; line-height:.94; letter-spacing:-.065em; }
.how-it-works .section-heading > p { max-width:500px; color:rgba(255,255,255,.72); font-size:.9rem; line-height:1.65; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; border:0; }
.process-grid article { position:relative; min-height:330px; padding:26px; overflow:hidden; border:1px solid rgba(255,255,255,.13) !important; border-radius:24px; background:rgba(255,255,255,.045); cursor:pointer; outline:0; transition:transform .4s cubic-bezier(.2,.8,.2,1),background .35s,color .35s,border-color .35s,box-shadow .35s; }
.process-grid article:before { content:""; position:absolute; left:26px; right:26px; top:0; height:3px; border-radius:0 0 3px 3px; background:#d5f36f; transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.process-grid article:hover,.process-grid article:focus-visible,.process-grid article.active { transform:translateY(-9px); border-color:rgba(213,243,111,.42) !important; background:#f4faf7; color:#0b382e; box-shadow:0 28px 65px rgba(0,14,11,.28); }
.process-grid article:hover:before,.process-grid article:focus-visible:before,.process-grid article.active:before { transform:scaleX(1); }
.process-grid article > span { display:block; color:#b8f0d2; font:700 .7rem/1 var(--apple-font); letter-spacing:.12em; }
.process-grid article:hover > span,.process-grid article:focus-visible > span,.process-grid article.active > span { color:#0a8f75; }
.process-art { width:68px; height:68px; margin:38px 0 34px; border:1px solid rgba(255,255,255,.17); border-radius:19px; background:rgba(255,255,255,.055); color:#d5f36f; transition:transform .45s cubic-bezier(.2,.8,.2,1),background .35s,color .35s,border-color .35s; }
.process-art svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.process-grid article:hover .process-art,.process-grid article:focus-visible .process-art,.process-grid article.active .process-art { transform:rotate(-5deg) scale(1.08); border-color:#bee2d2; background:#dff4e9; color:#08745b; }
.process-grid h3 { margin:0 0 12px; font-size:1.08rem; font-weight:720; letter-spacing:-.025em; }
.process-grid p { max-width:245px; min-height:48px; margin-bottom:20px; color:rgba(255,255,255,.66); font-size:.75rem; line-height:1.6; transition:color .35s; }
.process-grid article:hover p,.process-grid article:focus-visible p,.process-grid article.active p { color:#547067; }
.process-grid article > b { display:inline-flex; align-items:center; gap:7px; color:#b8f0d2; font-size:.65rem; font-weight:750; letter-spacing:.02em; opacity:.8; transition:color .35s,transform .35s; }
.process-grid article > b:after { content:"→"; font-size:.85rem; }
.process-grid article:hover > b,.process-grid article:focus-visible > b,.process-grid article.active > b { color:#08745b; transform:translateX(3px); }

@media (max-width:980px) {
  .search-intro { width:72%; max-width:680px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .search-intro { width:100%; }
  .search-intro h1 { font-size:2.55rem; line-height:1; }
  .how-it-works { padding:75px 0 85px; }
  .how-it-works .section-heading h2 { font-size:2.7rem; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { min-height:270px; }
}
@media (max-width:520px) {
  .delivery-pin { grid-template-columns:20px 1fr auto auto; gap:5px; padding-left:10px; }
  .delivery-pin .detect-location span { display:none; }
  .delivery-pin .detect-location { padding:8px; }
}

/* Storefront header: keep patient access and cart together as persistent actions. */
#header .nav-actions { display:none !important; }
#header .nav { padding-right:270px; }
.storefront-header-actions { position:fixed; top:13px; right:max(24px,calc((100vw - 1200px)/2 + 24px)); z-index:1105; display:flex; align-items:center; gap:10px; }
.cart-button { position:static; flex:0 0 auto; min-height:50px; padding:7px 9px 7px 17px; border-radius:999px; box-shadow:0 12px 32px rgba(9,51,40,.14); }
.cart-button strong { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#d8f36a; color:#153d32; }
.cart-message { min-height:0; margin:0 0 10px; padding:0; font-size:.72rem; line-height:1.45; }
.cart-message:empty { display:none; }
.cart-message.error { color:#a83931; }
@media (max-width:768px) {
  #header .nav { padding-right:150px; }
  .storefront-header-actions { top:10px; right:12px; gap:7px; }
  .cart-button { min-height:44px; padding-left:14px; }
  .cart-button strong { width:30px; height:30px; }
}

/* Contrast pass: preserve pharmacy green as a brand note, not the whole palette. */
:root {
  --contrast-navy:#24332e;
  --contrast-coral:#ef765f;
  --contrast-sky:#f4c542;
  --contrast-gold:#f4c542;
  --contrast-yellow:#f4c542;
  --contrast-yellow-soft:#fff7d6;
  --contrast-yellow-deep:#8a6200;
}
#header .nav-links a:hover,#header .nav-links a.active { color:var(--contrast-navy); }
#header .nav-links a.active::after { background:var(--contrast-coral); }
.delivery-pin > span { color:var(--contrast-coral); }
.delivery-pin button { background:var(--contrast-yellow-soft); color:#4c3b0b; }
.delivery-pin .detect-location { background:#f5f1ed; color:#705348; }
.delivery-pin .detect-location:hover,.delivery-pin .detect-location:focus-visible { background:#fde7df; color:#a54231; }
.commerce-top .search-box { border-color:#b9870e; box-shadow:0 14px 38px rgba(112,82,8,.14); }
.commerce-top .search-box:focus-within { border-color:#d09c17; box-shadow:0 18px 54px rgba(244,197,66,.24); }
.button.primary,.commerce-top .search-button { background:var(--contrast-yellow); color:#26332e; }
.button.primary:hover:not(:disabled),.commerce-top .search-button:hover { background:#e5b52f; color:#1f2c27; }
.hero-searches button { color:var(--contrast-navy); }
.hero-searches button:hover { border-color:#e6a392; background:#fff8f5; }
.hero-trust { border-color:rgba(13,47,70,.13); background:rgba(255,255,255,.9); box-shadow:0 14px 35px rgba(13,47,70,.09); }
.hero-trust span { border-color:rgba(13,47,70,.12); color:var(--contrast-navy); }
.category-chip:hover,.category-chip.active { background:var(--contrast-yellow-soft); }
.category-chip.active { box-shadow:inset 0 -3px var(--contrast-yellow); }
.category-chip > span { background:#f3f1e8; color:#39453f; }
.category-chip:nth-child(2n) > span { background:#fff0eb; color:#b6503d; }
.category-chip:nth-child(3n) > span { background:#fff4c4; color:#765600; }
.category-chip:hover > span,.category-chip.active > span { background:var(--contrast-yellow); color:#26332e; }
.catalog-assurance { color:var(--contrast-yellow-deep); }
.product-card:hover { border-color:#dfbd58; box-shadow:0 24px 55px rgba(63,53,24,.14); }
.product-card .button { background:var(--contrast-yellow); color:#26332e; }
.product-card .button:hover { border-color:#b7860f; color:#694d05; background:#fffdf4; }
.product-actions { display:grid; gap:8px; margin-top:auto; }
.product-actions .button { width:100%; }
.product-add-button[hidden] { display:none !important; }
.product-quantity-stepper { min-height:44px; display:grid; grid-template-columns:44px minmax(42px,1fr) 44px; align-items:center; overflow:hidden; border:1px solid #26332e; border-radius:11px; background:#26332e; color:#fff; }
.product-quantity-stepper[hidden] { display:none !important; }
.product-quantity-button { width:44px; height:44px; border:0; background:transparent; color:var(--contrast-yellow); font-size:1.2rem; font-weight:800; cursor:pointer; transition:background .2s,color .2s; }
.product-quantity-button:hover,.product-quantity-button:focus-visible { background:rgba(244,197,66,.18); color:#fff; outline:0; }
.product-quantity-button:disabled { cursor:not-allowed; opacity:.38; }
.product-quantity-value { display:grid; place-items:center; min-height:30px; border-right:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); font-size:.78rem; font-weight:850; }
.rx-doctor-button,.rx-checkout-doctor { min-height:38px; padding:0 12px; border:1px solid #26332e; border-radius:10px; background:#fff; color:#26332e; font:780 .65rem/1 var(--apple-font); cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.rx-doctor-button:hover,.rx-checkout-doctor:hover { background:#26332e; color:#fff; transform:translateY(-1px); }
.rx-checkout-doctor { margin-top:12px; }
.badge { background:#fff6cf; color:#765600; }
.badge.rx { background:#fff0eb; color:#a84331; }
.prescription-card { background:#26332e; box-shadow:0 25px 65px rgba(27,38,34,.2); }
.prescription-card small { color:#ffc0b2; }
.how-it-works { background:#202c28; }
.process-grid article:before { background:var(--contrast-yellow); }
.process-art { color:#f7d978; }
.process-grid article > span,.process-grid article > b { color:#f2d778; }
.process-grid article:hover,.process-grid article:focus-visible,.process-grid article.active { border-color:rgba(244,197,66,.54) !important; background:#fffbeb; color:var(--contrast-navy); box-shadow:0 28px 65px rgba(12,22,18,.3); }
.process-grid article:hover > span,.process-grid article:focus-visible > span,.process-grid article.active > span,
.process-grid article:hover > b,.process-grid article:focus-visible > b,.process-grid article.active > b { color:#765600; }
.process-grid article:hover .process-art,.process-grid article:focus-visible .process-art,.process-grid article.active .process-art { border-color:#e2c15b; background:#fff0aa; color:#5f4808; }
.cart-button { border-color:#e2d28f; color:var(--contrast-navy); box-shadow:0 12px 32px rgba(61,52,22,.14); }
.cart-button:hover { background:var(--contrast-navy); color:#fff; }
.cart-button strong { background:var(--contrast-yellow); color:#26332e; }
.section-index { color:var(--contrast-yellow-deep); }
.track-form .button { background:var(--contrast-yellow); color:#26332e; }

/* Image-led ordering journey */
.how-it-works {
  position:relative;
  isolation:isolate;
  padding:105px 0 120px;
  overflow:hidden;
  background:#fffdf7;
  color:var(--contrast-navy);
}
.how-it-works::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:430px;
  height:430px;
  right:-190px;
  top:-220px;
  border:78px solid rgba(244,197,66,.16);
  border-radius:50%;
  transform:rotate(-12deg);
}
.how-it-works .section-heading { position:relative; z-index:1; align-items:end; margin-bottom:44px; }
.how-it-works .section-index.light { color:var(--contrast-yellow-deep); }
.how-it-works .section-heading h2 { color:var(--contrast-navy); }
.how-it-works .section-heading > p { color:#5d6964; font-weight:520; }
.how-it-works .process-grid {
  position:relative;
  display:flex;
  grid-template-columns:none;
  align-items:stretch;
  gap:14px;
  border:0;
}
.how-it-works .process-grid article {
  position:relative;
  flex:1 1 0;
  min-width:0;
  min-height:500px;
  padding:0;
  overflow:hidden;
  border:1px solid #e7e1d4 !important;
  border-radius:24px;
  background:#fff;
  color:var(--contrast-navy);
  box-shadow:0 14px 36px rgba(46,49,38,.07);
  cursor:pointer;
  outline:0;
  transform:none;
  transition:flex .72s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s;
}
.how-it-works .process-grid article:hover,
.how-it-works .process-grid article:focus-visible,
.how-it-works .process-grid article.active {
  flex:1.75 1 0;
  transform:translateY(-7px);
  border-color:var(--contrast-yellow) !important;
  background:#fff;
  color:var(--contrast-navy);
  box-shadow:0 28px 64px rgba(68,55,18,.15);
}
.how-it-works .process-grid article::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:auto 0 0;
  height:5px;
  border-radius:0;
  background:var(--contrast-yellow);
  opacity:0;
  transform:scaleX(0);
  transform-origin:left;
}
.how-it-works .process-grid article:hover::before,
.how-it-works .process-grid article:focus-visible::before { opacity:1; transform:scaleX(1); }
.how-it-works .process-grid article.active::before {
  opacity:1;
  animation:journey-progress 4.5s linear forwards;
}
@keyframes journey-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.how-it-works .process-grid figure {
  height:282px;
  margin:0;
  overflow:hidden;
  background:#f5f0e4;
}
.how-it-works .process-grid figure img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(.94);
  transform:scale(1.055);
  transition:filter .55s,transform 1s cubic-bezier(.2,.8,.2,1);
}
.how-it-works .process-grid article:hover figure img,
.how-it-works .process-grid article:focus-visible figure img,
.how-it-works .process-grid article.active figure img { filter:saturate(1) contrast(1); transform:scale(1); }
.how-it-works .process-copy { position:relative; padding:25px 23px 28px; }
.how-it-works .process-copy > span {
  position:absolute;
  top:-21px;
  left:23px;
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:4px solid #fff;
  border-radius:50%;
  background:#fff1b8;
  color:#735300;
  font:760 .7rem/1 var(--apple-font);
  letter-spacing:.04em;
  box-shadow:0 6px 18px rgba(62,49,10,.13);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s;
}
.how-it-works .process-grid article:hover .process-copy > span,
.how-it-works .process-grid article:focus-visible .process-copy > span,
.how-it-works .process-grid article.active .process-copy > span { background:var(--contrast-yellow); transform:rotate(-8deg) scale(1.08); }
.how-it-works .process-copy h3 { margin:13px 0 9px; color:var(--contrast-navy); font-size:1.12rem; font-weight:740; letter-spacing:-.03em; }
.how-it-works .process-copy p { min-height:46px; margin:0 0 14px; color:#65706b; font-size:.74rem; line-height:1.55; }
.how-it-works .process-copy b { display:inline-flex; align-items:center; gap:7px; color:#7b5b09; font-size:.66rem; font-weight:760; }
.how-it-works .process-copy b::after { content:"→"; font-size:.85rem; transition:transform .3s; }
.how-it-works .process-grid article:hover .process-copy b::after,
.how-it-works .process-grid article:focus-visible .process-copy b::after,
.how-it-works .process-grid article.active .process-copy b::after { transform:translateX(4px); }

@media (max-width:980px) {
  .how-it-works .process-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .how-it-works .process-grid article,
  .how-it-works .process-grid article:hover,
  .how-it-works .process-grid article:focus-visible,
  .how-it-works .process-grid article.active { min-height:485px; transform:none; }
  .how-it-works .process-grid article.active { box-shadow:0 22px 48px rgba(68,55,18,.13); }
}
@media (max-width:640px) {
  .how-it-works { padding:76px 0 84px; }
  .how-it-works .section-heading { margin-bottom:32px; }
  .how-it-works .section-heading > p { font-size:.8rem; }
  .how-it-works .process-grid { grid-template-columns:1fr; gap:16px; }
  .how-it-works .process-grid article,
  .how-it-works .process-grid article:hover,
  .how-it-works .process-grid article:focus-visible,
  .how-it-works .process-grid article.active { min-height:0; }
  .how-it-works .process-grid figure { height:220px; }
}
@media (prefers-reduced-motion:reduce) {
  .how-it-works .process-grid article,
  .how-it-works .process-grid figure img,
  .how-it-works .process-copy > span { transition:none; }
  .how-it-works .process-grid article.active::before { animation:none; transform:scaleX(1); }
}

/* Search behaves like a medicine finder, not a marketing hero. */
.commerce-top:focus-within { z-index:20; overflow:visible; }
.commerce-top .search-box { position:relative; z-index:25; }
.medicine-suggestions {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:40;
  max-height:min(430px,62vh);
  overflow:auto;
  border:1px solid #dedbd2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 65px rgba(35,43,39,.2);
  overscroll-behavior:contain;
}
.medicine-suggestions[hidden] { display:none; }
.suggestion-option {
  width:100%;
  min-height:72px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:10px 16px;
  border:0;
  border-bottom:1px solid #eeece5;
  background:#fff;
  color:var(--contrast-navy);
  text-align:left;
  cursor:pointer;
  transition:background .2s,transform .2s;
}
.suggestion-option:last-child { border-bottom:0; }
.suggestion-option:hover,.suggestion-option:focus-visible,.suggestion-option.active { background:#fff8dc; outline:0; }
.suggestion-option.active { box-shadow:inset 4px 0 var(--contrast-yellow); }
.suggestion-media {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #e9e5db;
  border-radius:11px;
  background:#f8f6f0;
  color:#765600;
  font-size:.72rem;
  font-weight:800;
}
.suggestion-media img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.suggestion-copy { min-width:0; display:grid; gap:4px; }
.suggestion-copy strong { overflow:hidden; color:#26342f; font-size:.8rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.suggestion-copy small { overflow:hidden; color:#6b7470; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.suggestion-price { color:#26342f; font-size:.74rem; font-weight:760; }
.suggestion-message { padding:20px; color:#66706c; font-size:.74rem; text-align:center; }
.suggestion-message.loading::before { content:""; display:inline-block; width:9px; height:9px; margin-right:8px; border:2px solid #ddc36b; border-top-color:#745600; border-radius:50%; animation:suggestion-spin .7s linear infinite; }
@keyframes suggestion-spin { to { transform:rotate(360deg); } }
.catalog-tools { display:flex; align-items:center; gap:16px; }
.browse-reset { display:none; min-height:38px; padding:0 16px; border:1px solid #d9c470; border-radius:999px; background:#fff; color:#614b0c; font-size:.68rem; font-weight:760; cursor:pointer; }
.browse-reset:hover,.browse-reset:focus-visible { background:#fff6ce; outline:0; }

.search-results-mode .commerce-top {
  min-height:0;
  padding:18px 0 13px;
  overflow:visible;
  border-bottom:1px solid #e8e4da;
  background:#fff;
}
.search-results-mode .commerce-visual,
.search-results-mode .search-intro,
.search-results-mode .hero-searches,
.search-results-mode .hero-trust,
.search-results-mode .hero-ai-doctor,
.search-results-mode .mobile-offer-rail { display:none; }
.search-results-mode .commerce-top .store-shell {
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:start;
  column-gap:18px;
}
.search-results-mode .store-nav { grid-column:1; grid-row:1; width:100%; }
.search-results-mode .store-nav .delivery-pin { width:100%; flex:1 1 auto; }
.search-results-mode .commerce-top .search-box {
  grid-column:2;
  grid-row:1;
  width:100%;
  min-height:54px;
  margin:0;
  border-width:1px;
  box-shadow:0 8px 24px rgba(56,48,22,.09);
}
.search-results-mode .commerce-top .search-box:focus-within { width:100%; box-shadow:0 14px 36px rgba(244,197,66,.2); }
.search-results-mode .search-note { grid-column:2; grid-row:2; width:100%; min-height:24px; padding:6px 3px 0; }
.search-results-mode .catalog-section { min-height:620px; padding-top:22px; }
.search-results-mode .category-strip { display:none; }
.search-results-mode .category-shelves { display:none; }
.search-results-mode .catalog-heading { margin-bottom:18px; }
.search-results-mode .catalog-heading h2 { font-size:1.75rem; }
.search-results-mode .browse-reset { display:inline-flex; align-items:center; }

@media (max-width:760px) {
  .search-results-mode .commerce-top .store-shell { display:block; }
  .search-results-mode .store-nav { margin-bottom:12px; }
  .search-results-mode .commerce-top .search-box { min-height:58px; }
  .search-results-mode .search-note { padding-top:7px; }
  .catalog-tools { align-items:flex-end; }
  .search-results-mode .catalog-assurance { display:none; }
}
@media (max-width:520px) {
  .medicine-suggestions { left:-2px; right:-2px; max-height:56vh; border-radius:14px; }
  .suggestion-option { min-height:67px; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; padding:9px 11px; }
  .suggestion-media { width:42px; height:42px; }
  .suggestion-price { font-size:.68rem; }
  .search-results-mode .catalog-heading { flex-direction:row; align-items:end; }
  .search-results-mode .catalog-heading h2 { font-size:1.45rem; }
  .browse-reset { min-height:34px; padding:0 12px; font-size:.62rem; }
}
@media (prefers-reduced-motion:reduce) {
  .suggestion-option { transition:none; }
  .suggestion-message.loading::before { animation:none; }
}

/* Teya: a safety-first health guidance drawer beside the cart. */
.hero-ai-doctor { width:64%; min-height:74px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; margin-top:12px; padding:10px 11px 10px 12px; border:1px solid rgba(8,45,59,.13); border-radius:14px; background:rgba(255,255,255,.86); box-shadow:0 14px 34px rgba(25,45,37,.08); backdrop-filter:blur(14px); }
.hero-ai-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#26332e; color:var(--contrast-yellow); font-size:1rem; }
.hero-ai-doctor > div { min-width:0; }
.hero-ai-doctor strong,.hero-ai-doctor div > span { display:block; }.hero-ai-doctor strong { color:#16362c; font-size:.73rem; }.hero-ai-doctor div > span { margin-top:4px; color:#52685f; font-size:.61rem; line-height:1.4; }
.hero-ai-doctor button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 14px; border:0; border-radius:11px; background:#26332e; color:#fff; font:780 .65rem/1 var(--apple-font); cursor:pointer; white-space:nowrap; transition:transform .2s,background .2s; }.hero-ai-doctor button:hover,.hero-ai-doctor button:focus-visible { transform:translateY(-2px); background:#17251f; outline:3px solid rgba(244,197,66,.32); }.hero-ai-doctor button svg { width:15px; height:15px; fill:none; stroke:var(--contrast-yellow); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.assistant-launcher {
  position:fixed;
  z-index:1104;
  top:auto;
  right:max(24px,env(safe-area-inset-right));
  bottom:max(24px,env(safe-area-inset-bottom));
  min-height:48px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 17px 6px 7px;
  border:1px solid #e4cc72;
  border-radius:999px;
  background:#26332e;
  color:#fff;
  box-shadow:0 14px 34px rgba(26,38,33,.2);
  font-size:.72rem;
  font-weight:780;
  cursor:pointer;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.assistant-launcher:hover,.assistant-launcher:focus-visible { transform:translateY(-2px); background:#17251f; box-shadow:0 18px 42px rgba(26,38,33,.25); outline:0; }
.assistant-launcher.hero-entry-visible { opacity:0; pointer-events:none; transform:translateY(12px); }
.assistant-spark { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--contrast-yellow); color:#26332e; font-size:1rem; }
.assistant-scrim { position:fixed; inset:0; z-index:2040; background:rgba(18,27,23,.48); backdrop-filter:blur(6px); }
.health-assistant {
  position:fixed;
  z-index:2050;
  top:0;
  right:0;
  width:min(440px,100%);
  height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fbfaf6;
  box-shadow:-28px 0 75px rgba(18,29,24,.23);
  transform:translateX(105%);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
.health-assistant.open { transform:none; }
.assistant-header { min-height:82px; display:grid; grid-template-columns:44px 1fr 40px; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid #e5e1d7; background:#fff; }
.assistant-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; background:#26332e; color:var(--contrast-yellow); font-size:1.15rem; }
.assistant-header h2 { margin:0; color:#20312a; font-size:1.06rem; font-weight:780; letter-spacing:-.025em; }
.assistant-header p { margin:4px 0 0; color:#6a746f; font-size:.64rem; }
.assistant-header p span { width:7px; height:7px; display:inline-block; margin-right:5px; border-radius:50%; background:#59a76d; box-shadow:0 0 0 3px #e5f4e9; }
.assistant-safety { padding:11px 18px; border-bottom:1px solid #ecdca9; background:#fff6d4; color:#665218; font-size:.65rem; line-height:1.45; }
.assistant-safety strong { color:#4a3907; }.assistant-safety a { color:#9e332b; font-weight:800; }
.assistant-messages { flex:1; overflow-y:auto; padding:20px 17px 12px; scroll-behavior:smooth; }
.assistant-message { display:flex; align-items:flex-start; gap:9px; margin-bottom:14px; }
.assistant-message.user { justify-content:flex-end; }
.assistant-avatar { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:#26332e; color:var(--contrast-yellow); font-size:.74rem; }
.assistant-bubble { max-width:82%; padding:12px 14px; border:1px solid #e6e2d9; border-radius:5px 17px 17px 17px; background:#fff; color:#34423c; box-shadow:0 8px 20px rgba(34,45,40,.045); }
.assistant-message.user .assistant-bubble { border-color:#efd46e; border-radius:17px 5px 17px 17px; background:#fff3bd; color:#3e350f; }
.assistant-bubble p { margin:0; font-size:.74rem; line-height:1.55; }
.assistant-bubble .assistant-meta { display:block; margin-top:8px; color:#7a817e; font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.assistant-message.emergency .assistant-bubble { border-color:#eeb2aa; background:#fff0ed; color:#7d2922; }
.assistant-message.urgent .assistant-bubble { border-color:#efcf86; background:#fff7df; }
.assistant-prompts { display:flex; flex-wrap:wrap; gap:7px; margin:2px 0 17px 39px; }
.assistant-prompts button { min-height:34px; padding:0 12px; border:1px solid #ddd7c7; border-radius:999px; background:#fff; color:#45534d; font-size:.64rem; font-weight:700; cursor:pointer; }
.assistant-prompts button:hover { border-color:#d5ae30; background:#fff7d7; }
.assistant-typing { display:flex; gap:4px; align-items:center; min-height:18px; }
.assistant-typing i { width:6px; height:6px; border-radius:50%; background:#a88720; animation:assistant-dot 1s ease-in-out infinite; }
.assistant-typing i:nth-child(2) { animation-delay:.14s; }.assistant-typing i:nth-child(3) { animation-delay:.28s; }
@keyframes assistant-dot { 0%,70%,100% { transform:translateY(0); opacity:.35; } 35% { transform:translateY(-4px); opacity:1; } }
.assistant-products { display:grid; gap:8px; margin:3px 0 18px 39px; }
.assistant-product { min-height:74px; display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border:1px solid #e2ded3; border-radius:15px; background:#fff; box-shadow:0 9px 24px rgba(34,45,40,.05); }
.assistant-product img,.assistant-product .assistant-product-placeholder { width:54px; height:54px; display:grid; place-items:center; object-fit:contain; border-radius:10px; background:#f3f5f1; color:#765600; font-size:.66rem; font-weight:800; }
.assistant-product-copy { min-width:0; }.assistant-product-copy strong { display:block; overflow:hidden; color:#2d3b35; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.assistant-product-copy span { display:block; margin-top:5px; color:#65716b; font-size:.61rem; }
.assistant-product button { min-height:34px; padding:0 11px; border:0; border-radius:10px; background:var(--contrast-yellow); color:#2d352f; font-size:.62rem; font-weight:800; cursor:pointer; }
.assistant-doctor-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:0 0 7px 39px; }
.assistant-doctor-link,.assistant-online-link { min-height:38px; padding:0 11px; border-radius:11px; font:750 .62rem/1.2 var(--apple-font); cursor:pointer; }
.assistant-doctor-link { border:0; background:#26332e; color:#fff; }
.assistant-online-link { border:1px solid #d5ad2d; background:#fff6d5; color:#5f4a0b; }
.assistant-contact-note { display:block; margin:0 4px 18px 39px; color:#747d78; font-size:.54rem; line-height:1.45; }
.assistant-composer { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:8px; margin:0 14px; padding:9px; border:1px solid #dcd8cd; border-radius:17px; background:#fff; box-shadow:0 10px 28px rgba(25,37,32,.08); }
.assistant-composer textarea { display:block; width:100%; min-height:44px; max-height:120px; box-sizing:border-box; resize:none; padding:11px 5px; border:0; outline:0; background:transparent; color:#273630; font:500 .74rem/1.45 var(--apple-font); overflow-y:auto; }
.assistant-composer button { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:13px; background:var(--contrast-yellow); color:#26332e; cursor:pointer; }
.assistant-composer button:disabled { opacity:.5; cursor:wait; }
.assistant-composer svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.assistant-footnote { margin:8px 18px 12px; color:#7a817e; font-size:.56rem; line-height:1.4; text-align:center; }

/* Prescription reader + symptom-aware nearby care */
.commerce-top .search-box { grid-template-columns:26px minmax(0,1fr) auto auto; }
.scan-prescription-button { min-height:52px; display:inline-flex; align-items:center; gap:7px; padding:0 16px; border:1px solid #dfc760; border-radius:10px; background:#fff9df; color:#564713; font:750 .72rem/1 var(--apple-font); cursor:pointer; white-space:nowrap; }
.scan-prescription-button:hover,.scan-prescription-button:focus-visible { border-color:#bc9515; background:#fff2b5; outline:0; }
.scan-prescription-button svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.assistant-doctor-link { border:0; cursor:pointer; }
.nearby-care { display:grid; gap:8px; margin:3px 0 18px 39px; }
.nearby-care-heading { padding:11px 12px; border-radius:13px; background:#fff2b8; color:#493b0c; }
.nearby-care-heading strong,.nearby-care-heading span { display:block; }
.nearby-care-heading strong { font-size:.72rem; }.nearby-care-heading b { display:inline-block; margin-top:7px; padding:4px 7px; border-radius:999px; background:#fff; color:#73570a; font-size:.5rem; text-transform:uppercase; letter-spacing:.05em; }.nearby-care-heading span { margin-top:5px; font-size:.58rem; line-height:1.4; }
.care-card { display:block; padding:13px; border:1px solid #e2ded3; border-radius:14px; background:#fff; box-shadow:0 7px 18px rgba(34,45,40,.04); }
.care-card-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; }.care-card strong,.care-card span { display:block; }.care-card strong { color:#2c3a34; font-size:.69rem; line-height:1.35; }.care-card-top span { margin-top:4px; color:#68736e; font-size:.56rem; }
.care-rating { padding:5px 7px; border-radius:8px; background:#fff2b8; color:#634b05; font-size:.57rem; font-weight:850; white-space:nowrap; }
.care-address { margin:9px 0 0; color:#64706a; font-size:.58rem; line-height:1.45; }
.care-facts { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:9px; color:#59655f; font-size:.57rem; }.care-facts span { margin:0; }.care-facts .open { color:#24754f; font-weight:800; }.care-facts .closed { color:#a34a35; font-weight:800; }
.care-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }.care-actions a { min-height:31px; display:inline-flex; align-items:center; padding:0 10px; border:1px solid #d8d4c9; border-radius:9px; background:#fff; color:#314039; font:800 .56rem/1 var(--apple-font); text-decoration:none; cursor:pointer; }.care-actions .google-map-link { border-color:#26332e; background:#26332e; color:#fff; }
.care-card details { margin-top:9px; padding-top:8px; border-top:1px solid #eeeae0; }.care-card summary { color:#746329; font-size:.55rem; font-weight:750; cursor:pointer; }.care-card details span { margin-top:5px; color:#717a76; font-size:.52rem; line-height:1.35; }
.nearby-care > small { color:#7b817e; font-size:.54rem; line-height:1.45; }.nearby-empty { margin:0; padding:12px; border:1px dashed #d9d2c1; border-radius:12px; color:#69736f; font-size:.63rem; }
.prescription-scan-dialog { width:min(820px,calc(100vw - 28px)); max-height:min(88vh,900px); padding:0; overflow:auto; border:0; border-radius:24px; background:#f7f5ed; color:#27352f; box-shadow:0 32px 100px rgba(22,31,27,.28); }
.prescription-scan-dialog::backdrop { background:rgba(18,27,23,.58); backdrop-filter:blur(7px); }
.prescription-scan-dialog > form { position:sticky; top:0; z-index:5; height:0; }.prescription-scan-dialog .dialog-close { position:absolute; top:16px; right:16px; background:rgba(255,255,255,.9); }
.scan-dialog-heading { min-height:210px; display:grid; grid-template-columns:86px 1fr; align-items:center; gap:22px; padding:36px 52px 32px; background:#26332e; color:#fff; }
.scan-dialog-heading h2 { margin:6px 0 10px; color:#fff; font-size:clamp(1.8rem,4vw,3.2rem); font-weight:760; letter-spacing:-.055em; }.scan-dialog-heading p { max-width:560px; margin:0; color:rgba(255,255,255,.69); font-size:.78rem; line-height:1.6; }
.scan-orbit { width:78px; height:78px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:var(--contrast-yellow); color:#26332e; font-size:2rem; box-shadow:0 0 0 12px rgba(244,197,66,.08); animation:scan-float 3s ease-in-out infinite; }
@keyframes scan-float { 50% { transform:translateY(-7px) rotate(4deg); } }
.prescription-dropzone { margin:24px 28px 12px; min-height:128px; display:grid; place-items:center; align-content:center; gap:5px; border:1.5px dashed #bd9c28; border-radius:18px; background:#fff9df; text-align:center; cursor:pointer; transition:transform .2s,background .2s; }.prescription-dropzone:hover { transform:translateY(-2px); background:#fff2b9; }
.prescription-dropzone > span { font-size:1.55rem; }.prescription-dropzone strong { font-size:.82rem; }.prescription-dropzone small { color:#796c44; font-size:.62rem; }
.scan-status { width:auto; margin:0 28px 12px; padding:0; }.scan-status.status.success { color:#2d7659; }.prescription-matches { display:grid; gap:14px; padding:0 28px 4px; }
.prescription-match-group { overflow:hidden; border:1px solid #dfdbcf; border-radius:17px; background:#fff; }.prescription-match-group > header { display:flex; gap:12px; padding:14px 16px; border-bottom:1px solid #ece8de; background:#fbfaf6; }
.prescription-match-group > header > span { color:#aa8110; font-size:.64rem; font-weight:850; }.prescription-match-group header strong,.prescription-match-group header small { display:block; }.prescription-match-group header strong { font-size:.75rem; }.prescription-match-group header small { margin-top:4px; color:#797f7c; font-size:.57rem; }
.scan-product { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid #efebe2; }.scan-product:last-child { border-bottom:0; }.scan-product.alternative { background:#fffaf0; }.scan-product.same-use { background:#fff6e7; border-left:3px solid #d68d27; }
.scan-product-image { width:58px; height:58px; display:grid; place-items:center; border-radius:12px; background:#f0f2ee; color:#7d6518; font-size:.64rem; font-weight:800; }.scan-product-image img { width:100%; height:100%; object-fit:contain; }
.scan-product > div:nth-child(2) { min-width:0; }.scan-product strong,.scan-product small,.scan-match-label { display:block; }.scan-match-label { margin-bottom:4px; color:#31805d; font-size:.55rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }.scan-product.alternative .scan-match-label { color:#8a6809; }.scan-product.same-use .scan-match-label { color:#a55714; }.scan-product strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.scan-product small { margin-top:5px; color:#747d78; font-size:.58rem; line-height:1.35; }.scan-product .scan-candidate-note { color:#855624; font-weight:650; }
.scan-product button { min-height:38px; padding:0 12px; border:0; border-radius:10px; background:#26332e; color:#fff; font-size:.61rem; font-weight:800; cursor:pointer; }.scan-product.alternative button { background:var(--contrast-yellow); color:#30362f; }
.scan-review-only { max-width:122px; padding:8px 10px; border:1px solid #d59b50; border-radius:10px; background:#fff; color:#7b4614; font-size:.57rem; font-weight:800; line-height:1.3; text-align:center; }
.scan-disclaimer { margin:18px 28px 26px; padding:12px 14px; border-left:3px solid #c59a18; background:#fff8d9; color:#6d5a1c; font-size:.61rem; line-height:1.5; }.scan-empty,.no-catalog-match { margin:0; padding:16px; color:#68736e; font-size:.68rem; line-height:1.5; }
.scan-catalog-empty,.scan-unmatched-summary { padding:22px; border:1px solid #ddd7c8; border-radius:17px; background:#fff; }.scan-catalog-empty { min-height:150px; display:grid; align-content:center; text-align:center; }.scan-catalog-empty strong,.scan-unmatched-summary strong { color:#283831; font-size:.8rem; }.scan-catalog-empty p,.scan-unmatched-summary p { margin:8px 0; color:#5d6d66; font-size:.7rem; line-height:1.5; }.scan-catalog-empty small,.scan-unmatched-summary small { color:#7a817d; font-size:.6rem; line-height:1.5; }.scan-unmatched-summary { border-style:dashed; background:#fbfaf6; }

@media (max-width:700px) {
  .hero-ai-doctor { width:100%; grid-template-columns:40px minmax(0,1fr); padding:12px; }
  .hero-ai-doctor button { grid-column:1/3; width:100%; }
  .commerce-top .search-box { grid-template-columns:1fr 1fr; gap:8px; padding:8px; border:1px solid rgba(8,45,59,.12); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 36px rgba(34,48,42,.12); }
  .commerce-top .search-box > svg { position:absolute; top:25px; left:24px; z-index:1; width:20px; height:20px; color:#587069; pointer-events:none; }
  .commerce-top .search-box input { grid-column:1/3; width:100%; min-height:52px; padding:0 14px 0 43px; border:1px solid #d9e2de; border-radius:12px; background:#fff; color:#19382f; font-size:.86rem; }
  .commerce-top .search-box input:focus { border-color:#b58a17; outline:3px solid rgba(244,197,66,.2); }
  .scan-prescription-button { grid-column:1; min-width:0; min-height:46px; justify-content:center; margin:0; padding:0 12px; border-color:#d8c678; border-radius:12px; background:#fff9df; font-size:.69rem; }
  .commerce-top .search-button { grid-column:2; width:100%; min-width:0; min-height:46px; border-radius:12px; }
  .scan-dialog-heading { grid-template-columns:1fr; gap:16px; padding:34px 24px 26px; }.scan-orbit { width:58px; height:58px; font-size:1.4rem; }.prescription-dropzone { margin:18px 16px 10px; }.prescription-matches { padding:0 16px; }.scan-product { grid-template-columns:46px minmax(0,1fr); }.scan-product-image { width:46px; height:46px; }.scan-product button,.scan-review-only { grid-column:1/3; width:100%; max-width:none; }.scan-status,.scan-disclaimer { margin-left:16px; margin-right:16px; }
}

@media (max-width:980px) and (min-width:701px) {
  .hero-ai-doctor { width:100%; grid-template-columns:42px minmax(0,1fr) auto; }
}

@media (max-width:768px) {
  .assistant-launcher { right:max(14px,env(safe-area-inset-right)); bottom:max(17px,env(safe-area-inset-bottom)); z-index:1150; min-height:50px; }
  .health-assistant { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .assistant-launcher,.health-assistant { transition:none; }
  .assistant-typing i { animation:none; }
  .assistant-messages { scroll-behavior:auto; }
}

/* Responsive completion pass: fluid catalogue, touch targets and safe-area spacing. */
:root { --storefront-safe-top:env(safe-area-inset-top,0px); }
html.mobile-app-shell { --storefront-safe-top:max(env(safe-area-inset-top,0px),24px); }
html,body { max-width:100%; overflow-x:hidden; }
.store-shell { width:min(calc(100% - 32px),1220px); }
.product-grid { display:grid; }
@media (max-width:1180px) and (min-width:981px) {
  .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .category-chip { padding:14px 11px; }
}
@media (max-width:820px) {
  .store-shell { width:min(calc(100% - 28px),1220px); }
  .commerce-top { margin-top:64px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .category-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .category-chip { min-height:82px; }
  .quick-services { padding:52px 0 64px; }
  .tracker-section { padding-left:14px; padding-right:14px; }
}
@media (max-width:560px) {
  .store-shell { width:min(calc(100% - 22px),1220px); }
  .store-nav { align-items:stretch; }
  .delivery-pin { min-height:50px; padding:6px 7px 6px 10px; }
  .delivery-pin button { min-height:36px; }
  .search-intro h1 { font-size:clamp(2.15rem,11vw,2.75rem); }
  .commerce-top .search-box { gap:8px; padding:8px; }
  .commerce-top .search-box input { min-width:0; font-size:.86rem; }
  .commerce-top .search-button { min-height:46px; }
  .category-strip { display:flex; gap:9px; margin-left:-11px; margin-right:-11px; padding:2px 11px 12px; overflow-x:auto; border:0; background:transparent; scroll-snap-type:x proximity; scrollbar-width:none; }
  .category-strip::-webkit-scrollbar { display:none; }
  .category-chip,.category-chip:nth-child(3),.category-chip:nth-child(even) { flex:0 0 145px; min-height:76px; border:1px solid var(--line); border-radius:12px; scroll-snap-align:start; }
  .product-rail { grid-auto-columns:min(76vw,270px); gap:12px; margin-right:-11px; padding-right:11px; }
  .product-rail .product-card { display:flex; min-height:0; }
  .product-rail .product-image { height:150px; min-height:150px; }
  .product-rail .product-body { padding:13px; }
  .product-grid { grid-template-columns:1fr; gap:15px; }
  .product-card { display:grid; grid-template-columns:112px minmax(0,1fr); min-height:190px; }
  .product-image { height:100%; min-height:190px; }
  .product-card h3,.product-content,.product-maker { min-height:0; }
  .product-actions { grid-template-columns:1fr; }
  .prescription-card img { height:170px; }
  .assistant-products,.nearby-care,.assistant-doctor-actions { margin-left:0; }
  .assistant-contact-note { margin-left:0; }
  .assistant-product { grid-template-columns:48px minmax(0,1fr); }
  .assistant-product button { grid-column:1/3; width:100%; }
  .assistant-doctor-actions { grid-template-columns:1fr; }
  .assistant-launcher { padding-right:12px; }
}
@media (max-width:360px) {
  .cart-button { right:8px; padding-left:11px; }
  .cart-button strong { width:28px; height:28px; }
  .delivery-pin small { font-size:.5rem; }
  .delivery-pin input { font-size:.86rem; }
  .commerce-top .search-box { grid-template-columns:1fr 1fr; }
  .commerce-top .search-box input { grid-column:1/3; }
  .commerce-top .search-button { grid-column:2; width:100%; }
  .scan-prescription-button { grid-column:1; width:100%; padding:0 8px; }
  .product-card { grid-template-columns:96px minmax(0,1fr); }
}

/* Offer-led storefront and early stock feedback. */
.offer-marquee {
  position:fixed;
  top:var(--storefront-safe-top);
  right:0;
  left:0;
  z-index:1200;
  height:34px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#f7c83e;
  color:#17372f;
  border-bottom:1px solid rgba(23,55,47,.12);
}
.offer-marquee-track {
  width:max-content;
  display:flex;
  align-items:center;
  gap:26px;
  padding-left:26px;
  white-space:nowrap;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.03em;
  animation:offer-scroll 24s linear infinite;
}
.offer-marquee-track b { font-weight:900; letter-spacing:.08em; }
.offer-marquee-track i { color:#b03d2e; font-style:normal; }
@keyframes offer-scroll { to { transform:translateX(-50%); } }
#header.header { top:calc(34px + var(--storefront-safe-top)) !important; }
.storefront-header-actions { top:calc(47px + var(--storefront-safe-top)); }
.account-button { position:static; flex:0 0 auto; min-height:50px; display:flex; align-items:center; gap:8px; padding:8px 16px 8px 10px; border:1px solid #d6dfda; border-radius:999px; background:#fff; color:#26332e; box-shadow:0 12px 32px rgba(9,51,40,.11); font:750 .68rem Inter,Arial,sans-serif; cursor:pointer; }
.account-button-icon { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border-radius:50%; background:#e8f3ee; color:#0a8f75; }
.account-button-icon svg { width:17px; height:17px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.account-button:hover,.account-button:focus-visible { border-color:#d7b52c; background:#fff8ce; outline:0; }
.icon-button { display:inline-grid; place-items:center; flex:0 0 auto; padding:0; line-height:1; }
.icon-button svg { width:18px; height:18px; display:block; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.dialog-close { z-index:8; }
.patient-account-dialog { width:min(520px,calc(100vw - 28px)); max-height:min(90vh,760px); padding:0; overflow:auto; border:0; border-radius:24px; background:#f8f8f3; color:#26332e; box-shadow:0 32px 100px rgba(22,31,27,.28); }
.patient-account-dialog::backdrop { background:rgba(18,27,23,.58); backdrop-filter:blur(7px); }
.patient-account-dialog > form[method="dialog"] { position:sticky; top:0; z-index:5; height:0; }
.patient-account-dialog .dialog-close { position:absolute; top:16px; right:16px; background:rgba(255,255,255,.9); }
.account-dialog-heading { display:grid; grid-template-columns:62px 1fr; align-items:center; gap:18px; padding:34px 38px 28px; background:#26332e; color:#fff; }
.account-dialog-heading .step-kicker { color:#f4c542; }.account-dialog-heading h2 { margin:5px 0 8px; color:#fff; font:500 2rem/1.05 'Playfair Display',Georgia,serif; }.account-dialog-heading p { margin:0; color:rgba(255,255,255,.68); font-size:.72rem; line-height:1.55; }
.account-avatar { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:#f4c542; color:#26332e; box-shadow:inset 0 0 0 15px #fff3ad; font-size:.62rem; }
#patient-auth-panel,.patient-session-panel { padding:24px 38px 8px; }
.account-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:20px; padding:5px; border-radius:12px; background:#e9eeeb; }
.account-tabs button { min-height:42px; border:0; border-radius:9px; background:transparent; color:#5f7069; font:750 .72rem Inter,Arial,sans-serif; cursor:pointer; }.account-tabs button[aria-selected="true"] { background:#fff; color:#26332e; box-shadow:0 5px 16px rgba(30,50,42,.09); }
.patient-auth-form { display:grid; gap:14px; }.patient-auth-form[hidden] { display:none; }.patient-auth-form label { display:grid; gap:7px; color:#34473f; font-size:.72rem; font-weight:750; }.patient-auth-form input { width:100%; min-height:46px; padding:10px 12px; border:1px solid #ccd8d2; border-radius:10px; background:#fff; color:#26332e; font:inherit; outline:0; }.patient-auth-form input:focus { border-color:#0a8f75; box-shadow:0 0 0 3px rgba(10,143,117,.12); }.patient-auth-form small { color:#77867f; font-weight:500; }
.account-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.patient-session-panel { text-align:center; }.patient-session-panel h3 { margin:10px 0 4px; font-size:1.25rem; }.patient-session-panel p { margin:0 0 12px; color:#6b7a74; font-size:.74rem; line-height:1.55; }.account-success-mark { width:58px; height:58px; display:grid; place-items:center; margin:auto; border-radius:50%; background:#dff4ea; color:#078368; font-size:1.45rem; font-weight:900; }
.account-status { margin:10px 38px 0; min-height:24px; }.account-privacy { margin:8px 38px 28px; color:#7a8882; font-size:.64rem; line-height:1.55; }
.account-text-action,.account-back-action { border:0; background:transparent; color:#087f69; font:750 .7rem Inter,Arial,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }.account-back-action { width:max-content; padding:0; text-decoration:none; }.patient-auth-form h3 { margin:0; font-size:1.05rem; }.patient-session-summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin-bottom:18px; text-align:left; }.patient-session-summary .account-success-mark { width:42px; height:42px; margin:0; font-size:1rem; }.patient-session-summary h3 { margin:0 0 2px; }.patient-session-summary p { margin:0; }.account-dashboard-tabs { grid-template-columns:repeat(4,1fr); overflow-x:auto; }.account-dashboard-tabs button { padding:0 8px; white-space:nowrap; }.account-dashboard-section { text-align:left; }.account-dashboard-section > p { padding:14px; border-radius:12px; background:#eef3f0; }.compact-form { padding:14px 0 0 !important; border-top:1px solid #dde5e1; }.account-record-list { display:grid; gap:10px; margin-bottom:14px; }.account-record { padding:14px; border:1px solid #dbe4df; border-radius:14px; background:#fff; }.account-record header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.account-record h4 { margin:0 0 5px; font-size:.88rem; }.account-record p { margin:2px 0; }.account-record-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }.account-record-actions button { min-height:34px; padding:6px 10px; border:1px solid #cbd8d2; border-radius:9px; background:#f7faf8; color:#245148; font:750 .65rem Inter,Arial,sans-serif; cursor:pointer; }.account-record-actions button.danger { color:#a13d3d; border-color:#edcece; background:#fff7f7; }.order-detail-panel { display:grid; gap:9px; margin-top:12px; padding-top:12px; border-top:1px solid #e1e8e4; }.order-item-row { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; font-size:.7rem; }.order-action-form { display:grid; gap:8px; padding:10px; border-radius:10px; background:#f3f6f4; }.order-action-form select,.order-action-form textarea { width:100%; min-height:38px; border:1px solid #cad6d0; border-radius:8px; background:#fff; }.saved-address-picker { margin-bottom:16px; padding:14px; border-radius:12px; background:#edf5f1; }.saved-address-picker label { display:grid; gap:6px; font-weight:750; }.saved-address-picker select { min-height:44px; border:1px solid #cbd7d1; border-radius:9px; background:#fff; padding:0 10px; }
.medicine-detail-dialog { width:min(760px,calc(100vw - 28px)); max-height:90vh; overflow:auto; padding:0; border:0; border-radius:24px; background:#f8f8f3; color:#26332e; box-shadow:0 32px 100px rgba(22,31,27,.28); }.medicine-detail-dialog::backdrop { background:rgba(18,27,23,.58); backdrop-filter:blur(7px); }.medicine-detail-dialog > form { position:sticky; top:0; z-index:5; height:0; }.medicine-detail-dialog .dialog-close { position:absolute; top:16px; right:16px; }.medicine-detail-content { padding:34px 38px; }.medicine-detail-hero { display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:center; }.medicine-detail-hero img { width:100%; aspect-ratio:1; object-fit:contain; border-radius:16px; background:#fff; }.medicine-detail-content h2 { margin:4px 0 9px; font:500 2rem/1.1 'Playfair Display',Georgia,serif; }.medicine-detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }.medicine-detail-facts section { padding:15px; border-radius:12px; background:#fff; }.medicine-detail-facts h3 { margin:0 0 7px; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }.medicine-alternatives { display:grid; gap:9px; margin-top:18px; }.medicine-alternative { display:grid; grid-template-columns:1fr auto; gap:10px; padding:12px; border:1px solid #dce4e0; border-radius:12px; background:#fff; }.product-details-button { width:100%; min-height:34px; margin-top:7px; border:1px solid #cbd8d2; border-radius:9px; background:#f8fbf9; color:#196b5c; font:750 .67rem Inter,Arial,sans-serif; cursor:pointer; }
.commerce-top { margin-top:calc(110px + var(--storefront-safe-top)); }
.mobile-offer-rail { display:none; }
.saving-badge {
  margin-left:auto;
  padding:4px 7px;
  border-radius:999px;
  background:#fff3bd;
  color:#755300;
  font-size:.58rem;
  font-weight:850;
  white-space:nowrap;
}
.product-stock {
  min-height:0;
  margin:0 0 8px;
  color:#5d716a;
  font-size:.63rem;
  font-weight:650;
  line-height:1.35;
}
.product-stock:empty { display:none; }
.product-stock.checking { color:#6f5a19; }
.product-stock.success { color:#08745b; }
.product-stock.warning { color:#8a6200; }
.product-stock.error { color:#b0473c; }
.product-actions .button:disabled { cursor:not-allowed; }
.product-card.stock-checking { border-color:#e5dfca; }
.product-card.stock-checking .product-image { opacity:.7; }
.product-card.stock-checking .product-actions .button {
  background:#efe9d8;
  color:#766c50;
  box-shadow:none;
}
.product-card.out-of-stock {
  border-color:#d8ddda;
  background:#f3f5f4;
  box-shadow:none;
  transform:none;
}
.product-card.out-of-stock:hover { border-color:#cbd1ce; box-shadow:none; transform:none; }
.product-card.out-of-stock .product-image { background:#e9edeb; }
.product-card.out-of-stock .product-image img {
  opacity:.48;
  filter:grayscale(1) saturate(0);
  transform:none;
}
.product-card.out-of-stock:hover .product-image img { transform:none; }
.product-card.out-of-stock h3,
.product-card.out-of-stock .product-content,
.product-card.out-of-stock .product-maker,
.product-card.out-of-stock .product-price { color:#718079; }
.product-card.out-of-stock .product-price del { color:#929d98; }
.stock-badge.unavailable {
  order:-2;
  background:#e2e6e4;
  color:#596760;
  border:1px solid #cfd5d2;
}
.stock-badge.limited { background:#fff0b8; color:#765500; }
.product-card.out-of-stock .product-actions .button,
.product-card.out-of-stock .product-actions .button:hover {
  border-color:#d2d7d4;
  background:#dfe3e1;
  color:#68756f;
  box-shadow:none;
  transform:none;
}
.product-placeholder {
  width:100%;
  height:100%;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:8px;
  color:#8a9c95;
  opacity:1;
}
.product-placeholder svg { width:54px; height:54px; fill:none; stroke:currentColor; stroke-width:2; }
.product-placeholder span { font-size:.58rem; font-weight:750; }

@media (max-width:820px) {
  #header.header { top:calc(30px + var(--storefront-safe-top)) !important; }
  .offer-marquee { height:30px; }
  .offer-marquee-track { gap:20px; padding-left:20px; font-size:.62rem; animation-duration:18s; }
  .storefront-header-actions { top:calc(40px + var(--storefront-safe-top)); right:12px; gap:7px; }
  .cart-button { min-height:44px; }
  .account-button { min-height:44px; min-width:44px; justify-content:center; padding:7px; }.account-button #account-button-label { display:none; }
  .commerce-top { margin-top:calc(94px + var(--storefront-safe-top)); }
  .mobile-offer-rail {
    width:100%;
    display:flex;
    gap:10px;
    margin:14px 0 2px;
    padding:1px 1px 7px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .mobile-offer-rail::-webkit-scrollbar { display:none; }
  .mobile-offer-rail article {
    flex:0 0 min(78vw,280px);
    min-height:76px;
    display:grid;
    grid-template-columns:48px 1fr;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid rgba(95,72,4,.14);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(255,248,214,.96),rgba(255,255,255,.88));
    box-shadow:0 10px 25px rgba(88,69,6,.07);
    scroll-snap-align:start;
  }
  .mobile-offer-rail article > span {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#f7c83e;
    color:#17372f;
    font-size:.78rem;
    font-weight:900;
  }
  .mobile-offer-rail div { display:grid; gap:3px; }
  .mobile-offer-rail strong { color:#153b32; font-size:.77rem; }
  .mobile-offer-rail small { color:#60736d; font-size:.62rem; line-height:1.35; }
}

@media (max-width:1100px) and (min-width:821px) {
  #header .nav-links { display:none; }
  #header .nav { padding-right:270px; }
}

@media (max-width:480px) {
  #header .nav { padding-right:112px; padding-left:14px; }
  .storefront-header-actions { right:8px; gap:6px; }
  .cart-button { min-width:44px; justify-content:center; padding:7px; }
  .cart-button > span { display:none; }
  .cart-button strong { width:30px; height:30px; }
}
@media (max-width:520px) { .account-dialog-heading { grid-template-columns:48px 1fr; padding:30px 22px 24px; }.account-avatar { width:48px; height:48px; box-shadow:inset 0 0 0 11px #fff3ad; }.account-dialog-heading h2 { font-size:1.6rem; }#patient-auth-panel,.patient-session-panel { padding-left:20px; padding-right:20px; }.account-status,.account-privacy { margin-left:20px; margin-right:20px; }.account-name-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .account-dashboard-tabs { grid-template-columns:repeat(4,minmax(88px,1fr)); }.patient-session-summary { grid-template-columns:auto 1fr; }.patient-session-summary #patient-logout { grid-column:1/-1; justify-self:start; }.medicine-detail-content { padding:28px 20px; }.medicine-detail-hero { grid-template-columns:1fr; }.medicine-detail-hero img { width:140px; }.medicine-detail-facts { grid-template-columns:1fr; } }
@media (max-width:560px) {
  .catalog-section { padding-top:16px; }
  .catalog-heading h2 { font-size:1.8rem; }
  .product-card { border-radius:16px; box-shadow:0 10px 26px rgba(12,50,40,.07); }
  .product-image { min-height:210px; padding:12px; background:linear-gradient(145deg,#f3f8f5,#fff); }
  .product-rail .product-card { min-height:0; }
  .product-rail .product-image { height:142px; min-height:142px; flex:0 0 142px; }
  .product-rail .product-image img { transform:none !important; }
  .product-rail .product-content { -webkit-line-clamp:2; }
  .product-body { padding:14px; }
  .product-price { flex-wrap:wrap; }
  .product-actions .button { min-height:46px; border-radius:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .offer-marquee-track { animation:none; }
}

/* Mobile energy pass: brighter depth and purposeful motion without hiding the task. */
@media (max-width:560px) {
  .commerce-top {
    isolation:isolate;
    background:linear-gradient(165deg,#f2faf6 0%,#ecf6f1 56%,#fff8dc 100%);
  }
  .store-nav { display:block; }
  .store-nav .delivery-pin {
    width:100%;
    max-width:100%;
    grid-template-columns:18px minmax(0,1fr) 34px 48px;
    gap:4px;
  }
  .delivery-pin .detect-location { width:34px; justify-content:center; padding:7px; }
  .delivery-pin #locate-btn { width:48px; padding:7px 5px; }
  .commerce-top::before,
  .commerce-top::after {
    content:"";
    position:absolute;
    z-index:0;
    border-radius:999px;
    pointer-events:none;
    filter:blur(1px);
  }
  .commerce-top::before {
    width:180px;
    height:180px;
    top:112px;
    right:-74px;
    background:radial-gradient(circle at 35% 35%,rgba(255,213,75,.55),rgba(247,200,62,.12) 62%,transparent 70%);
    animation:mobile-orbit 8s ease-in-out infinite alternate;
  }
  .commerce-top::after {
    width:128px;
    height:128px;
    top:325px;
    left:-66px;
    background:radial-gradient(circle,rgba(255,145,113,.24),rgba(255,145,113,.05) 64%,transparent 70%);
    animation:mobile-orbit 10s ease-in-out -2s infinite alternate-reverse;
  }
  .commerce-visual { opacity:.18; filter:saturate(.9) contrast(.94); }
  .search-intro h1 {
    max-width:100%;
    font-size:clamp(2.05rem,8.8vw,2.35rem);
    line-height:1.02;
    letter-spacing:-.06em;
    text-wrap:wrap;
    animation:mobile-pop-in .65s cubic-bezier(.2,.85,.25,1) both;
  }
  .search-intro p { animation:mobile-pop-in .65s .08s cubic-bezier(.2,.85,.25,1) both; }
  .commerce-top .search-box {
    overflow:visible;
    border-color:rgba(183,135,14,.55);
    box-shadow:0 18px 42px rgba(61,77,69,.14),0 0 0 5px rgba(255,210,65,.12);
    animation:mobile-pop-in .68s .14s cubic-bezier(.2,.85,.25,1) both;
  }
  .commerce-top .search-button {
    position:relative;
    overflow:hidden;
    box-shadow:0 8px 18px rgba(170,124,6,.18);
  }
  .commerce-top .search-button::after {
    content:"";
    position:absolute;
    inset:-20% auto -20% -45%;
    width:34%;
    transform:skewX(-20deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
    animation:mobile-shine 4.2s 1.5s ease-in-out infinite;
  }
  .hero-searches button { box-shadow:0 5px 14px rgba(19,67,54,.08); }
  .mobile-offer-rail {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin:17px 0 4px;
    width:100%;
    padding:3px 0 13px;
    overflow:visible;
  }
  .mobile-offer-rail article {
    position:relative;
    overflow:hidden;
    min-width:0;
    min-height:108px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding:10px 9px;
    border:0;
    border-radius:16px;
    box-shadow:0 10px 22px rgba(52,61,56,.11);
    animation:none;
  }
  .mobile-offer-rail article::after {
    content:"";
    position:absolute;
    width:68px;
    height:68px;
    right:-25px;
    bottom:-30px;
    border-radius:50%;
    background:rgba(255,255,255,.38);
  }
  .mobile-offer-rail article:nth-child(1) { background:linear-gradient(135deg,#fff1a7,#ffd24a); }
  .mobile-offer-rail article:nth-child(2) { background:linear-gradient(135deg,#ffe8df,#ffb59d); animation-delay:-1.6s; }
  .mobile-offer-rail article:nth-child(3) { background:linear-gradient(135deg,#def7eb,#9dddc6); animation-delay:-3.2s; }
  .mobile-offer-rail article > span {
    position:relative;
    z-index:1;
    border:1px solid rgba(255,255,255,.7);
    background:rgba(255,255,255,.76);
    box-shadow:0 8px 18px rgba(34,54,45,.11);
    width:36px;
    height:36px;
    border-radius:11px;
    font-size:.66rem;
    transform:rotate(-4deg);
  }
  .mobile-offer-rail article:nth-child(2) > span { transform:rotate(5deg); }
  .mobile-offer-rail article:nth-child(3) > span { transform:rotate(-3deg); }
  .mobile-offer-rail div { position:relative; z-index:1; gap:2px; }
  .mobile-offer-rail strong { font-size:.67rem; line-height:1.15; }
  .mobile-offer-rail small { color:#405a51; font-size:.56rem; line-height:1.25; }
  .category-strip { gap:11px; padding-bottom:16px; }
  .category-chip,.category-chip:nth-child(3),.category-chip:nth-child(even) {
    overflow:hidden;
    min-height:82px;
    border-color:rgba(19,62,50,.1);
    border-radius:16px;
    background:linear-gradient(145deg,#fff,#f4faf7);
    box-shadow:0 9px 22px rgba(16,58,46,.08);
    transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,background .28s;
  }
  .category-chip.active {
    transform:translateY(-3px) rotate(-.5deg);
    background:linear-gradient(145deg,#fff5b9,#ffe16d);
    box-shadow:0 14px 28px rgba(139,102,10,.18);
  }
  .category-chip.active > span { animation:mobile-icon-bounce 2.8s ease-in-out infinite; }
  .product-card {
    border-color:rgba(19,62,50,.11);
    box-shadow:0 13px 30px rgba(12,50,40,.1);
    animation:mobile-product-rise .48s cubic-bezier(.2,.82,.25,1) both;
  }
  .product-card:nth-child(2n) { animation-delay:.06s; }
  .product-card:nth-child(3n) { animation-delay:.12s; }
  .product-card:not(.out-of-stock) .product-image { background:linear-gradient(145deg,#eef9f3,#fff7d8); }
  .product-card:not(.out-of-stock) .button { box-shadow:0 8px 18px rgba(162,118,4,.16); }
  .hero-ai-doctor {
    border-color:rgba(244,197,66,.38);
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,249,220,.93));
    box-shadow:0 16px 34px rgba(53,66,59,.14);
  }
  .hero-ai-mark { animation:mobile-icon-bounce 3s ease-in-out infinite; }
}

@keyframes mobile-pop-in {
  from { opacity:0; transform:translateY(16px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes mobile-orbit {
  from { transform:translate3d(0,0,0) scale(1); }
  to { transform:translate3d(-14px,18px,0) scale(1.1); }
}
@keyframes mobile-card-float {
  0%,100% { transform:translateY(0) rotate(0); }
  50% { transform:translateY(-4px) rotate(.35deg); }
}
@keyframes mobile-icon-bounce {
  0%,100% { transform:rotate(-6deg) translateY(0); }
  50% { transform:rotate(3deg) translateY(-4px); }
}
@keyframes mobile-shine {
  0%,72% { left:-45%; }
  92%,100% { left:125%; }
}
@keyframes mobile-product-rise {
  from { opacity:0; transform:translateY(14px); }
  to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
  .commerce-top::before,.commerce-top::after,.search-intro h1,.search-intro p,
  .commerce-top .search-box,.commerce-top .search-button::after,
  .mobile-offer-rail article,.category-chip.active > span,.product-card,.hero-ai-mark {
    animation:none !important;
  }
}

/* Honor hidden cards even when mobile rails use display:flex. */
.product-card[hidden]{display:none!important}
.product-rail[aria-busy="true"]{min-height:350px}
.product-rail>.skeleton,.product-grid>.skeleton{border:1px solid #e3ece6;background:linear-gradient(100deg,#edf3ef 25%,#fafcfb 45%,#edf3ef 65%);background-size:200% 100%;animation:catalog-stock-shimmer 1.3s ease-in-out infinite}
@keyframes catalog-stock-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.product-rail>.skeleton,.product-grid>.skeleton{animation:none}}
