:root{
  /* You can override --pmd-brand in your theme if you want a different color */
  --pmdp-brand: var(--pmd-brand,#0a7cff);
  --pmdp-ink:#0f172a;       /* main text color */
  --pmdp-ink-2:#334155;     /* softer text color */
  --pmdp-border:#e5e7eb;    /* light grey borders */
  --pmdp-soft:#f8fafc;      /* pale grey background */
  --pmdp-r:16px;            /* corner radius */
  --pmdp-gap:32px;          /* layout gap */
  --pmdp-shadow:0 8px 30px rgba(0,0,0,.06); /* soft card shadow */
}

/* A centered container for the whole PDP */
.pmdp-wrap{max-width:1200px;margin:0 auto;padding:16px}

/* Two-column hero: images left, buy card right (stacks on mobile) */
.pmdp-hero{display:grid;grid-template-columns:1fr;gap:var(--pmdp-gap);align-items:start}
@media(min-width:1000px){.pmdp-hero{grid-template-columns:minmax(0,58%) minmax(0,42%)}}

.pmdp-media{border:1px solid var(--pmdp-border);border-radius:var(--pmdp-r);overflow:hidden}

/* The buy card */
.pmdp-buy{background:#fff;border:1px solid var(--pmdp-border);border-radius:var(--pmdp-r);padding:18px;box-shadow:var(--pmdp-shadow)}

/* Pills (small badges above the title like Prescription/Schedule) */
.pmdp-badge{display:inline-block;background:#eef5ff;color:#043d8a;border:1px solid #dbeafe;padding:.25rem .55rem;border-radius:999px;font-weight:600;margin-right:6px;font-size:.85rem}
.pmdp-badge.ghost{background:#fff}

.pmdp-title{margin:.25rem 0 .5rem;font-size:1.5rem;line-height:1.25;color:var(--pmdp-ink)}
.pmdp-price{font-size:1.6rem;color:var(--pmdp-ink)}
.pmdp-perunit{margin:.25rem 0 .75rem;color:var(--pmdp-ink-2);font-weight:600}

.pmdp-micro{display:flex;gap:8px;flex-wrap:wrap;margin:.25rem 0 .6rem}
.pmdp-micro span,.pmdp-fact{background:var(--pmdp-soft);border:1px solid var(--pmdp-border);padding:.35rem .6rem;border-radius:999px;font-size:.84rem;color:var(--pmdp-ink-2)}

.pmdp-facts{display:flex;flex-wrap:wrap;gap:8px;margin:.2rem 0 .8rem}
.pmdp-fact b{color:var(--pmdp-ink);margin-right:4px}

.pmdp-atc{margin:.6rem 0}

/* Trust points row with nice spacing and a tiny bullet between */
.pmdp-why{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--pmdp-ink-2);font-size:.95rem}
.pmdp-why span+span::before{content:'•';margin:0 6px 0 2px;opacity:.6}

/* Sticky pills nav (anchors to sections) */
.pmdp-pills{position:sticky;top:0;background:#fff;border:1px solid var(--pmdp-border);border-radius:999px;padding:6px;display:flex;gap:6px;flex-wrap:wrap;margin:18px 0;z-index:10}
.pmdp-pills a{display:inline-block;padding:8px 14px;border-radius:999px;color:var(--pmdp-ink-2);text-decoration:none;border:1px solid transparent;font-size:.93rem}
.pmdp-pills a.is-active{border-color:var(--pmdp-brand);background:#eef5ff;color:#043d8a}

/* Generic card */
.pmdp-card{background:#fff;border:1px solid var(--pmdp-border);border-radius:var(--pmdp-r);padding:18px;margin-bottom:18px}
.pmdp-card h2{margin:.25rem 0 1rem;font-size:1.25rem;color:var(--pmdp-ink)}

/* Table used by Composition and Compare */
.pmdp-table{width:100%;border-collapse:collapse}
.pmdp-table th,.pmdp-table td{border:1px solid var(--pmdp-border);padding:.55rem .8rem;text-align:left}

/* Breadcrumbs at the top */
.pmdp-bc{max-width:1200px;margin:0 auto 8px;opacity:.9;font-size:.92rem}
.pmdp-bc a{color:var(--pmdp-ink-2);text-decoration:none}
.pmdp-bc a:hover{text-decoration:underline}
.pmdp-bc-sep{margin:0 .35rem}
.pmdp-bc .current{color:var(--pmdp-ink)}

/* Safety grid with responsive columns */
.pmdp-safety{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.pmdp-safety{grid-template-columns:repeat(3,1fr)}}
.pmdp-safe{border-color:#16a34a33;background:#16a34a0d}
.pmdp-caution{border-color:#f59e0b33;background:#f59e0b0d}
.pmdp-unsafe{border-color:#ef444433;background:#ef44440d}
.pmdp-na{border-color:#94a3b833;background:#f1f5f9}
.pmdp-safe,.pmdp-caution,.pmdp-unsafe,.pmdp-na{border:1px solid var(--pmdp-border);border-radius:12px;padding:12px}
.pmdp-badge-mini{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;border:1px solid var(--pmdp-border);margin-left:6px}
.pmdp-sum{margin:.35rem 0 .2rem;color:var(--pmdp-ink-2)}

/* FBT grid cards */
.pmdp-fbt{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.pmdp-fbt{grid-template-columns:repeat(3,1fr)}}
.pmdp-fbt-item{border:1px solid var(--pmdp-border);border-radius:12px;padding:12px;display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}
.pmdp-fbt-thumb img{border-radius:8px}
.pmdp-fbt-title{color:var(--pmdp-ink);text-decoration:none}
.pmdp-fbt-price{margin:4px 0 8px}

/* Delivery checker bits */
.pmdp-delivery-form{display:flex;gap:8px;margin-bottom:8px}
.pmdp-delivery-form input{border:1px solid var(--pmdp-border);border-radius:10px;padding:.55rem .75rem;max-width:200px}
.pmdp-delivery-result{font-weight:600;color:var(--pmdp-ink-2)}

/* === Option A: Mobile pills compact scroller === */
@media (max-width: 640px){
  /* Set sticky offset for phones; change this if your header height differs */
  :root{ --pmdp-sticky-top: 64px; }

  .pmdp-pills{
    top: var(--pmdp-sticky-top, 64px);
    border-radius: 12px;
    padding: 6px 8px;
    margin: 10px -12px 12px;
    overflow-x: auto;
    white-space: nowrap;
    gap: 6px;
    box-shadow: none;
    scrollbar-width: none;
  }
  .pmdp-pills::-webkit-scrollbar{ display: none; }

  .pmdp-pills a{
    padding: 6px 10px;
    font-size: .85rem;
    border-width: 1px;
  }

  .pmdp-card{ padding: 14px; margin-bottom: 12px; }
  .pmdp-card h2{ font-size: 1.05rem; margin: .2rem 0 .6rem; }
  .pmdp-hero{ gap: 14px; }
  .pmdp-why{ gap: 8px; font-size: .9rem; }
}



/* Scroll hint fade for pills (mobile) */
@media (max-width: 640px){
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; top: var(--pmdp-sticky-top,64px); background:#fff; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }

  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }
  .pmdp-pills{ position: sticky; }

  .pmdp-pills::before,
  .pmdp-pills::after{
    content:''; position:absolute; top:0; bottom:0; width:24px; pointer-events:none; z-index:1;
  }
  .pmdp-pills::before{
    left:0;
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 80%);
  }
  .pmdp-pills::after{
    right:0;
    background: linear-gradient(270deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 80%);
  }
}

/* Mobile gallery: smaller height, hide thumbnails (but keep swipe on main) */
@media (max-width: 640px){
  .pmdp-media .woocommerce-product-gallery{ --pmdp-gal-h: 360px; }
  .pmdp-media .woocommerce-product-gallery .flex-viewport,
  .pmdp-media .woocommerce-product-gallery__wrapper,
  .pmdp-media .woocommerce-product-gallery__image{ max-height: var(--pmdp-gal-h); }
  .pmdp-media .woocommerce-product-gallery__image img{
    width:100%; height: var(--pmdp-gal-h); object-fit: contain;
  }
  /* Hide thumbnail strip on mobile */
  .pmdp-media .flex-control-nav,
  .pmdp-media .woocommerce-product-gallery__thumbnails,
  .pmdp-media .woocommerce-product-thumbnails{ display:none !important; }
}

/* Stock badge + waitlist styles */
.pmdp-stock{ margin:.25rem 0 .5rem; font-weight:700; }
.pmdp-stock.ok{ color:#16a34a; }
.pmdp-stock.no{ color:#ef4444; }

.pmdp-wait{ display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.pmdp-wait label{ grid-column:1 / -1; color:var(--pmdp-ink-2); font-size:.9rem; }
.pmdp-wait input{ border:1px solid var(--pmdp-border); border-radius:10px; padding:.55rem .75rem; }
.pmdp-wait .button{ padding:.6rem 1rem; }
.pmdp-wait-msg{ grid-column:1 / -1; font-weight:600; color:var(--pmdp-ink-2); }

/* Category crumb under title */
.pmdp-cats{ margin:.2rem 0 .6rem; color:var(--pmdp-ink-2); font-size:.95rem }
.pmdp-cats a{ color:var(--pmdp-ink-2); text-decoration:none }
.pmdp-cats a:hover{ text-decoration:underline }
