/* Classic CapZ product page — P3 */
.pdp{
  background:#fff;
  color:#141414;
  padding:clamp(1.25rem,4vw,2.25rem) 0 clamp(3rem,8vw,5rem);
}
.pdp-wrap{max-width:72rem}
.pdp-crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;
  font-size:.82rem;font-weight:600;color:#5a5a63;
  margin:0 0 1.25rem;
}
.pdp-crumbs a{color:#8a3100;text-decoration:underline;text-underline-offset:2px}
.pdp-crumbs a:hover,.pdp-crumbs a:focus-visible{color:#141414}
.pdp-grid{
  display:grid;
  gap:1.75rem 2.5rem;
  align-items:start;
}
@media (min-width:900px){
  .pdp-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)}
}
.pdp-stage{
  position:relative;
  margin:0;
  background:#ececf0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(15,27,45,.08);
  touch-action:pan-y;
}
.pdp-stage img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#ececf0;
}
.pdp-stage .badge-render{
  position:absolute;left:.75rem;bottom:.75rem;
}
.pdp-thumbs{
  display:flex;
  gap:.6rem;
  margin:.85rem 0 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding:.15rem .1rem .35rem;
}
.pdp-thumbs button{
  flex:0 0 auto;
  width:5.5rem;
  min-width:44px;
  min-height:44px;
  padding:0;
  margin:0;
  border:2px solid rgba(20,20,20,.16);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  color:#141414;
}
.pdp-thumbs button img{
  display:block;
  width:100%;
  height:3.6rem;
  object-fit:cover;
}
.pdp-thumb-label{
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  padding:.3rem .25rem .4rem;
  text-align:center;
}
.pdp-thumbs button[aria-selected="true"]{
  border-color:#FF6A13;
  box-shadow:0 0 0 1px #FF6A13;
}
.pdp-thumbs button:focus-visible{
  outline:3px solid #FF6A13;
  outline-offset:3px;
}
.pdp-kicker{
  margin:0 0 .35rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5a5a63;
}
.pdp-info h1{
  margin:0;
  font-size:clamp(1.85rem,5vw,2.75rem);
  font-weight:900;
  font-style:italic;
  line-height:1.05;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#141414;
}
/* Slogan is smaller than the price and the CTA, and sits right under the name. */
.pdp-slogan{
  margin:.7rem 0 0;
  font-size:.88rem;
  font-weight:600;
  line-height:1.45;
  color:#3a3a42;
  max-width:28rem;
}
.pdp-slogan .lead-sent{display:block;text-align:left;text-wrap:balance}
.pdp-fit{
  margin:.55rem 0 0;
  font-size:.9rem;
  font-weight:700;
  color:#141414;
}
.pdp-trust{
  margin:.25rem 0 1.1rem;
  font-size:.82rem;
  font-weight:600;
  color:#3a3a42;
}
.pdp-packs{
  display:grid;
  gap:.85rem;
}
.pdp-pack{
  background:#f7f7f9;
  border:1px solid rgba(20,20,20,.12);
  border-radius:16px;
  padding:1rem 1.1rem 1.05rem;
  scroll-margin-top:5.5rem;
}
.pdp-pack:target{
  border-color:#FF6A13;
  box-shadow:0 0 0 2px rgba(255,106,19,.35);
}
.pdp-pack h2{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:#141414;
}
.pdp-price{
  margin:.2rem 0 0;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#141414;
}
.pdp-pack .pack-compare{
  color:#5a5a63;
}
.pdp-pack .pack-compare s{
  color:#6a6a73;
}
.pdp-percap{
  margin:.1rem 0 0;
  font-size:.78rem;
  font-weight:600;
  color:#5a5a63;
}
.pdp-ship{
  margin:.15rem 0 0;
  font-size:.85rem;
  font-weight:800;
  color:#1f6b2e;
}
.pdp-pack-note{
  margin:.2rem 0 0;
  font-size:.78rem;
  font-weight:600;
  color:#5a5a63;
}
.pdp-pack .actions{
  margin-top:.75rem;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
}
.pdp-info > .buy-meta{
  margin:1rem 0 0;
  max-width:36rem;
}
.pdp-accordions{
  margin:2.5rem auto 0;
  max-width:46rem;
}
.pdp-accordions details{
  background:#fff;
  border:1px solid rgba(20,20,20,.14);
  border-radius:14px;
  padding:.95rem 1.1rem;
  margin:0 0 .65rem;
}
.pdp-accordions details[open]{
  border-color:rgba(255,106,19,.45);
  box-shadow:0 8px 22px rgba(15,27,45,.06);
}
.pdp-accordions summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  color:#141414;
}
.pdp-accordions summary::-webkit-details-marker{display:none}
.pdp-accordions summary::after{
  content:"+";
  color:#FF6A13;
  font-weight:900;
  font-size:1.25rem;
  line-height:1;
}
.pdp-accordions details[open] summary::after{content:"–"}
.pdp-accordions summary:focus-visible{
  outline:3px solid #FF6A13;
  outline-offset:4px;
  border-radius:4px;
}
.pdp-accordions details p{
  margin:.7rem 0 0;
  color:#3a3a42;
  font-size:.95rem;
  line-height:1.55;
}
.pdp-accordions details a{
  color:#8a3100;
  text-decoration:underline;
  text-underline-offset:2px;
}
.pdp-accordions details a:hover,
.pdp-accordions details a:focus-visible{color:#141414}
.pdp-faq h3{
  margin:1.15rem 0 0;
  font-size:.98rem;
  font-weight:800;
  color:#141414;
}
.pdp-faq h3:first-child{margin-top:.85rem}
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
@media (prefers-reduced-motion:reduce){
  .pdp-stage img{transition:none}
}

.pdp-pack h2{text-align:left}
/* Homepage #classic-capz highlight must not paint the single pack on this page unless it is :target. */
.pdp-pack#classic-capz,
.pdp-pack#standardz{
  border:1px solid rgba(20,20,20,.12);
  box-shadow:none;
}
.pdp-pack:target,
.pdp-pack#classic-capz:target{
  border-color:#FF6A13;
  box-shadow:0 0 0 2px rgba(255,106,19,.35);
}
.pdp-pack .buy-btn,
.pdp-pack a.buy-btn.btn{
  background:#8a3100;
  background-image:none;
  color:#fff;
  border:0;
  min-height:44px;
  white-space:nowrap;
  font-size:.88rem;
  padding:.55rem 1.05rem;
}
.pdp-pack .buy-btn:hover,
.pdp-pack .buy-btn:focus-visible{
  background:#141414;
  color:#fff;
}
.pdp-pack .btn.coming{
  font-size:.88rem;
  padding:.55rem 1.05rem;
  min-height:44px;
}
.pdp-info h1{text-align:left}

.pdp-pack .ship-nudge{
  font-size:.88rem;
  font-weight:700;
  line-height:1.4;
  color:#3a3a42;
  margin:.35rem 0 .15rem;
  text-align:left;
}

/* L2: food-contact disclaimer under the slogan, no stranded words. */
.pdp-food-contact{
  margin:.45rem 0 0;
  font-size:.88rem;
  font-weight:600;
  line-height:1.45;
  color:#3a3a42;
  max-width:28rem;
}
.pdp-food-contact .lead-sent{display:block;text-align:left;text-wrap:balance}


/* D4: pack step-up — choose 1 / 3 / 6 on the same page */
.pdp-choose{
  margin:0 0 .65rem;
  font-size:1.05rem;
  font-weight:800;
  color:#141414;
}
.pack-picker{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 1.05rem;
}
.pack-picker a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.45rem .95rem;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.18);
  background:#fff;
  color:#141414;
  font-weight:700;
  font-size:.88rem;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.pack-picker a:hover{
  border-color:#8a3100;
  color:#141414;
}
.pack-picker a:focus-visible{
  outline:3px solid #FF6A13;
  outline-offset:3px;
  border-color:#FF6A13;
}
.pdp-pack .whats-in-box{
  text-align:left;
  margin-top:.35rem;
  max-width:none;
}
