/* Delta Drug — hometown modern. Paper cream + ink, brand gold accent. */
*, *::before, *::after { box-sizing: border-box; }
:root{
  --brand:#FFCC0D;
  --brand-2:#CBB778;
  --gold-dark:#7A6200;
  --ink:#211B0E;
  --ink-soft:#4A4232;
  --paper:#FBF8F0;
  --paper-2:#F4EEDD;
  --line:#E4DCC6;
  --white:#FFFEFA;
  --focus:#1544D8;
  --radius:10px;
  --shell:72rem;
}
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none !important; transition:none !important; }
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 1rem/1.65 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
h1,h2,h3{ font-family:Fraunces, Georgia, serif; line-height:1.15; margin:0 0 .5em; letter-spacing:-.01em; }
h1{ font-size:clamp(2rem, 5vw, 3.25rem); font-weight:600; }
h2{ font-size:clamp(1.5rem, 3.4vw, 2.25rem); font-weight:600; }
h3{ font-size:1.17rem; font-weight:600; font-family:Inter, system-ui, sans-serif; }
p{ margin:.35em 0 1em; max-width:68ch; }
a{ color:var(--gold-dark); text-underline-offset:3px; }
a:hover{ color:var(--ink); }
img{ max-width:100%; height:auto; display:block; }
ul{ padding-left:1.2em; }
:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; border-radius:2px; }
.skip-link{ position:absolute; left:-999px; top:0; background:var(--ink); color:var(--white); padding:.75rem 1.25rem; z-index:300; }
.skip-link:focus{ left:.5rem; top:.5rem; }
.shell{ max-width:var(--shell); margin:0 auto; padding:0 1.25rem; }

/* Top bar */
.topbar{ background:var(--ink); color:#F4EDDD; font-size:.85rem; }
.topbar .shell{ display:flex; flex-wrap:wrap; gap:.35rem 1.5rem; align-items:center; min-height:2.4rem; padding-top:.3rem; padding-bottom:.3rem; }
.topbar a{ color:#F8F2E2; text-decoration:none; }
.topbar a:hover{ color:var(--brand); text-decoration:underline; }
.topbar .addr{ display:none; }
@media (min-width:768px){ .topbar .addr{ display:inline; } }
.open-now{ display:inline-flex; align-items:center; gap:.45rem; margin-left:auto; font-weight:600; }
.open-dot{ width:.6rem; height:.6rem; border-radius:50%; background:#9aa; display:inline-block; }
.open-now[data-state="open"] .open-dot{ background:#3FBF5A; }
.open-now[data-state="closed"] .open-dot{ background:#E05252; }

/* Header */
.site-header{ position:sticky; top:0; z-index:120; background:var(--white); border-bottom:1px solid var(--line); }
.site-header .shell{ display:flex; align-items:center; gap:1.25rem; min-height:4.5rem; }
.logo-link{ display:inline-flex; align-items:center; flex-shrink:0; }
.logo-link img{ height:46px; width:auto; }
.primary-nav{ display:none; }
.header-ctas{ display:none; }
.mobile-call{ margin-left:auto; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:var(--ink); }
.hamburger{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; background:none; border:1px solid var(--line); border-radius:8px; cursor:pointer; color:var(--ink); }
@media (min-width:1024px){
  .mobile-call,.hamburger{ display:none; }
  .primary-nav{ display:flex; align-items:center; gap:.25rem; }
  .primary-nav > a, .nav-dd > button{
    display:inline-flex; align-items:center; gap:.3rem; padding:.6rem .8rem; border-radius:8px;
    color:var(--ink); text-decoration:none; font-weight:500; font-size:.95rem; background:none; border:none; cursor:pointer; font-family:inherit;
  }
  .primary-nav > a:hover, .nav-dd > button:hover{ background:var(--paper-2); }
  .nav-dd{ position:relative; }
  .dd-menu{ position:absolute; top:calc(100% + .4rem); left:0; min-width:16rem; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 32px rgba(33,27,14,.14); padding:.4rem; display:none; }
  .nav-dd[data-open="true"] .dd-menu{ display:block; }
  .dd-menu a{ display:flex; align-items:center; gap:.6rem; padding:.55rem .7rem; border-radius:8px; color:var(--ink); text-decoration:none; font-size:.93rem; }
  .dd-menu a:hover{ background:var(--paper-2); }
  .dd-menu svg{ color:var(--gold-dark); flex-shrink:0; }
  .header-ctas{ display:flex; gap:.6rem; margin-left:auto; }
}

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.65rem 1.25rem; border-radius:999px; font-weight:600; font-size:.95rem; text-decoration:none; border:1.5px solid transparent; cursor:pointer; }
.btn-primary{ background:var(--brand); color:var(--ink); border-color:var(--brand); }
.btn-primary:hover{ background:#F0BE00; color:var(--ink); }
.btn-outline{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-outline:hover{ background:var(--ink); color:var(--white); }
.btn-ink{ background:var(--ink); color:var(--white); }
.btn-ink:hover{ background:#3A3222; color:var(--white); }

/* Drawer */
.drawer-backdrop{ position:fixed; inset:0; background:rgba(33,27,14,.5); z-index:190; opacity:0; pointer-events:none; transition:opacity .15s ease-out; }
.drawer-backdrop.show{ opacity:1; pointer-events:auto; }
.drawer{ position:fixed; top:0; right:0; bottom:0; width:100%; max-width:400px; background:var(--white); z-index:200; transform:translateX(102%); transition:transform .2s ease-out; overflow-y:auto; padding:1rem 1.25rem 2rem; }
.drawer.open{ transform:none; }
.drawer-close{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; background:none; border:1px solid var(--line); border-radius:8px; cursor:pointer; color:var(--ink); margin-left:auto; }
.drawer-top{ display:flex; align-items:center; }
.drawer nav a{ display:flex; align-items:center; min-height:48px; padding:.75rem .25rem; color:var(--ink); text-decoration:none; font-weight:500; border-bottom:1px solid var(--paper-2); }
.drawer-services button{ display:flex; width:100%; align-items:center; justify-content:space-between; min-height:48px; padding:.75rem .25rem; background:none; border:none; border-bottom:1px solid var(--paper-2); font:inherit; font-weight:500; color:var(--ink); cursor:pointer; }
.drawer-services ul{ list-style:none; margin:0; padding:0 0 0 .75rem; display:none; }
.drawer-services[data-open="true"] ul{ display:block; }
.drawer-ctas{ display:flex; flex-direction:column; gap:.6rem; margin:1.25rem 0; }
.drawer-ctas .btn{ width:100%; }
.drawer-hours{ font-size:.9rem; color:var(--ink-soft); }

/* Hero */
.hero{ position:relative; color:var(--white); background:var(--ink); }
.hero-media{ position:absolute; inset:0; overflow:hidden; }
.hero-media img{ width:100%; height:100%; object-fit:cover; opacity:.5; }
.hero-inner{ position:relative; padding:4.5rem 0 5.5rem; max-width:44rem; }
@media (max-width:640px){ .hero-inner{ padding:2.75rem 0 3.5rem; } }
.hero .eyebrow{ display:inline-block; background:var(--brand); color:var(--ink); font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; padding:.3rem .7rem; border-radius:4px; margin-bottom:1rem; }
.hero h1{ color:var(--white); }
.hero p{ font-size:1.08rem; color:#F0E9D8; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.hero-ctas .btn-outline{ border-color:var(--white); color:var(--white); }
.hero-ctas .btn-outline:hover{ background:var(--white); color:var(--ink); }
.hero-call{ margin-top:1.1rem; font-size:1rem; }
.hero-call a{ color:var(--brand); font-weight:700; text-decoration:none; }
.hero-call a:hover{ text-decoration:underline; }

/* Page hero band (interior pages) */
.page-hero{ position:relative; background:var(--ink); color:var(--white); }
.page-hero .hero-inner{ padding:3rem 0 3.5rem; }
.page-hero h1{ color:var(--white); }
.page-hero p{ color:#F0E9D8; }

/* Sections */
.section{ padding:3.5rem 0; }
.section-flush{ padding-bottom:0; }
.section-alt{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-head{ max-width:46rem; margin-bottom:2rem; }
.kicker{ color:var(--gold-dark); font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; display:block; margin-bottom:.5rem; }

/* Cards / grids */
.svc-grid{ display:grid; gap:1rem; grid-template-columns:1fr; list-style:none; padding:0; margin:0; }
@media (min-width:640px){ .svc-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .svc-grid{ grid-template-columns:repeat(4,1fr); } }
.svc-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem 1.25rem; }
.svc-card svg{ color:var(--gold-dark); margin-bottom:.8rem; }
.svc-card h3{ margin-bottom:.35rem; }
.svc-card p{ font-size:.92rem; color:var(--ink-soft); margin:0 0 .6rem; }
.svc-card .svc-link{ font-weight:600; font-size:.92rem; }
a.svc-card{ display:block; text-decoration:none; color:inherit; }
a.svc-card:hover{ border-color:var(--brand); box-shadow:0 6px 18px rgba(33,27,14,.08); }

.trust-row{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:768px){ .trust-row{ grid-template-columns:repeat(4,1fr); } }
.trust-item{ border-top:3px solid var(--brand); background:var(--white); border-left:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0 0 var(--radius) var(--radius); padding:1.1rem 1.15rem; }
.trust-item h3{ font-size:1rem; margin-bottom:.25rem; }
.trust-item p{ font-size:.9rem; color:var(--ink-soft); margin:0; }

/* Hours table */
table.hours{ border-collapse:collapse; width:100%; max-width:28rem; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
table.hours caption{ text-align:left; font-weight:600; padding:0 0 .6rem; }
table.hours th, table.hours td{ text-align:left; padding:.7rem 1rem; border-bottom:1px solid var(--paper-2); font-size:.95rem; }
table.hours tr:last-child th, table.hours tr:last-child td{ border-bottom:none; }
table.hours th{ font-weight:600; }

/* Reviews */
.review-grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:768px){ .review-grid{ grid-template-columns:repeat(3,1fr); } }
.review-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem 1.25rem; margin:0; display:flex; flex-direction:column; gap:.75rem; }
.review-card p{ margin:0; font-size:.95rem; }
.review-card footer{ font-weight:600; font-size:.9rem; color:var(--gold-dark); }

/* FAQ */
.faq{ max-width:46rem; }
.faq details{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:.6rem; }
.faq summary{ cursor:pointer; font-weight:600; padding:1rem 1.15rem; list-style-position:inside; min-height:44px; }
.faq summary:hover{ color:var(--gold-dark); }
.faq details > div{ padding:0 1.15rem 1rem; }
.faq details > div p{ margin-top:0; }

/* Gallery */
.gallery{ display:grid; gap:.8rem; grid-template-columns:repeat(2,1fr); list-style:none; padding:0; margin:0; }
@media (min-width:768px){ .gallery{ grid-template-columns:repeat(4,1fr); } }
.gallery img{ border-radius:var(--radius); width:100%; height:100%; object-fit:cover; aspect-ratio:3/4; }

/* Two-col */
.two-col{ display:grid; gap:2rem; }
@media (min-width:900px){ .two-col{ grid-template-columns:1.1fr .9fr; align-items:start; } }
.img-round{ border-radius:var(--radius); }

/* Callout band */
.band{ background:var(--brand); color:var(--ink); }
.band .shell{ padding-top:2.75rem; padding-bottom:2.75rem; }
.band h2{ margin-bottom:.4rem; }
.band .btn-ink{ margin-top:.75rem; }

/* Contact */
.contact-grid{ display:grid; gap:2rem; }
@media (min-width:900px){ .contact-grid{ grid-template-columns:1fr 1fr; } }
.contact-list{ list-style:none; padding:0; margin:0 0 1.5rem; }
.contact-list li{ padding:.55rem 0; border-bottom:1px solid var(--paper-2); font-size:1rem; display:flex; gap:.7rem; align-items:baseline; }
.contact-list .lbl{ font-weight:600; min-width:5.2rem; }
.map-frame{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.map-frame iframe{ display:block; width:100%; height:340px; border:0; }

/* Footer */
.site-footer{ background:var(--ink); color:#E9E2CF; font-size:.93rem; }
.site-footer .shell{ padding:3rem 1.25rem 2rem; display:grid; gap:2rem; }
@media (min-width:768px){ .site-footer .shell{ grid-template-columns:1.3fr 1fr 1fr 1fr; } }
.site-footer h2{ font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brand); font-family:Inter,sans-serif; font-weight:700; margin-bottom:.8rem; }
.site-footer a{ color:#F5EFDE; }
.site-footer a:hover{ color:var(--brand); }
.site-footer ul{ list-style:none; padding:0; margin:0; }
.site-footer li{ padding:.22rem 0; }
.footer-logo{ height:40px; width:auto; background:var(--white); padding:6px 10px; border-radius:8px; }
.footer-bottom{ border-top:1px solid #3A3222; }
.footer-bottom .shell{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding:1.1rem 1.25rem; font-size:.85rem; color:#C9C0A8; }

/* Sticky bottom CTA bar (mobile) */
.cta-bar{ position:fixed; left:0; right:0; bottom:0; z-index:150; display:none; grid-template-columns:1fr 1fr; gap:.6rem; padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom)); background:rgba(255,254,250,.94); backdrop-filter:blur(8px); border-top:1px solid var(--line); }
.cta-bar .btn{ width:100%; }
@media (max-width:1023.98px){ .cta-bar.visible{ display:grid; } body.has-ctabar{ padding-bottom:5rem; } }

/* Breadcrumbs */
.crumbs{ font-size:.85rem; padding:1rem 0 0; color:var(--ink-soft); }
.crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; padding:0; margin:0; }
.crumbs li+li::before{ content:"/"; margin-right:.4rem; color:var(--line); }

/* Misc */
.checklist{ list-style:none; padding:0; columns:2; column-gap:2rem; max-width:40rem; }
@media (max-width:600px){ .checklist{ columns:1; } }
.checklist li{ break-inside:avoid; padding:.4rem 0 .4rem 1.6rem; position:relative; }
.checklist li::before{ content:""; position:absolute; left:0; top:.72rem; width:.85rem; height:.85rem; border-radius:3px; background:var(--brand); }
.prose h2{ margin-top:2rem; }
.notice{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:1rem 1.25rem; font-size:.95rem; }
body.drawer-open{ overflow:hidden; }
