/* ==========================================================================
   AOM — Product detail page styles (CMS template)
   ========================================================================== */

/* ---------- Breadcrumb ---------- */
.product-breadcrumb{padding:1.6rem 0 0}
.product-breadcrumb-nav{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--grey-400);
}
.product-breadcrumb-nav a{color:var(--grey-700);transition:color .2s var(--ease)}
.product-breadcrumb-nav a:hover{color:var(--ink)}
.product-breadcrumb-nav [aria-current]{color:var(--ink)}

/* ---------- Detail ---------- */
.product-detail{padding:2.5rem 0 5rem}
.product-detail-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:4rem;
  align-items:start;
}
.product-detail-media{
  position:sticky;
  top:110px;
  aspect-ratio:1;
  background:var(--grey-100);
  border-radius:var(--radius-card);
  overflow:hidden;
}
.product-detail-media img{display:block;width:100%;height:100%;object-fit:cover}
.product-detail-title{font-size:clamp(2rem,4vw,3rem);margin-top:.7rem}
.product-detail-sub{margin-top:1rem;font-size:1.05rem;color:var(--grey-700);max-width:44ch}
.product-detail-specs{
  margin-top:2.2rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.4rem 2rem;
  border-top:1px solid var(--grey-200);
  padding-top:1.8rem;
}
.product-detail-spec dt{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--grey-400);
  margin-bottom:.3rem;
}
.product-detail-spec dd{font-size:1rem;font-weight:500}
.product-detail-tip{
  margin-top:2.2rem;
  background:var(--purple-100);
  border-radius:var(--radius-card);
  padding:1.4rem 1.6rem;
}
.product-detail-tip-label{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--purple);
  margin-bottom:.5rem;
}
.product-detail-tip-text{font-size:.92rem;color:var(--ink)}

/* ---------- Prescriber Directions (collapsible) ----------
   Flush with the canvas (rule above, no card) so the purple tip box below
   stays the one highlighted element. Height animates via the grid-rows
   0fr↔1fr trick — no max-height guessing, no JS measuring. */
.product-directions{margin-top:2.2rem;border-top:1px solid var(--grey-200)}
.product-directions-head{margin:0}
.product-directions-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:1.2rem 0;
  font:inherit;
  font-size:1.15rem;
  font-weight:550;
  color:var(--ink);
  text-align:left;
  transition:color .2s var(--ease);
}
.product-directions-toggle:hover{color:var(--ink)}
.product-directions-toggle:focus-visible{outline:2px solid var(--purple);outline-offset:4px;border-radius:4px}
.product-directions-chevron{
  width:12px;
  height:8px;
  flex:none;
  color:var(--grey-400);
  transform:rotate(180deg);
  transition:transform .25s var(--ease);
}
.product-directions.is-collapsed .product-directions-chevron{transform:rotate(0)}
.product-directions-body{
  display:grid;
  grid-template-rows:1fr;
  transition:grid-template-rows .25s var(--ease),opacity .2s var(--ease);
}
.product-directions.is-collapsed .product-directions-body{grid-template-rows:0fr;opacity:0}
.product-directions-inner{min-height:0;overflow:hidden;padding-bottom:.4rem}
.product-direction{margin-bottom:1.6rem}
.product-direction:last-child{margin-bottom:1rem}
.product-direction-title{font-size:1rem;font-weight:550;color:var(--ink);margin-bottom:.5rem}
.product-direction p{font-size:.92rem;color:var(--grey-700);margin-bottom:.6rem}
.product-direction p:last-child,.product-direction ul:last-child{margin-bottom:0}
.product-direction ul{margin:0 0 .6rem;padding-left:1.2rem;font-size:.92rem;color:var(--grey-700)}
.product-direction li{margin-bottom:.35rem}
.product-direction strong{color:var(--ink);font-weight:550}
.product-direction-note{font-style:italic}
.product-direction a{color:var(--purple);text-decoration:underline}
@media (prefers-reduced-motion:reduce){
  .product-directions-body,.product-directions-chevron{transition:none}
}
.product-detail-note{margin-top:1.4rem}
.product-detail-actions{display:flex;gap:.8rem;margin-top:2.2rem;flex-wrap:wrap}
@media (max-width:860px){
  .product-detail-grid{grid-template-columns:1fr;gap:2.5rem}
  .product-detail-media{position:static}
}

/* ---------- Context strip ---------- */
.product-context{background:var(--paper);padding:4.5rem 0}
.product-context-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.5rem;
}
.product-context-title{font-size:1.15rem;font-weight:550}
.product-context-text{margin-top:.6rem;font-size:.92rem;color:var(--grey-700)}
.product-context-text a{color:var(--purple);text-decoration:underline}
@media (max-width:780px){
  .product-context-grid{grid-template-columns:1fr;gap:1.8rem}
}
