/* ============================================================
   PMCK — health packages
   Listing (Health_Listing.pdf) and detail (Health_Details.pdf).
   Scoped under .pmck-pkgs and .pmck-pkg-single so nothing here
   reaches the other seven listings.
   ============================================================ */

/* ---------- listing: intro band ---------- */

.pmck-pkgs__intro{margin:0 0 34px;}
.pmck-pkgs__h{font-size:40px;line-height:1.15;margin:0 0 12px;}
.pmck-pkgs__lede{margin:0;max-width:70ch;font-size:19px;line-height:1.6;color:var(--body);}

/* ---------- listing: filter bar ---------- */

.pmck-pfilter{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  align-items:end;padding:26px 0 0;border-top:1px solid var(--line);margin-bottom:14px;
}
.pmck-pfilter__field{min-width:0;}
.pmck-pfilter__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;
}
.pmck-pfilter__head span{font-size:18px;color:var(--body);}
.pmck-pfilter__head a{font-size:18px;color:var(--brand);text-decoration:none;font-weight:600;}
.pmck-pfilter__head a:hover{text-decoration:underline;}

.pmck-pfilter__search{
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 14px;height:56px;
}
.pmck-pfilter__search .pmck-i{width:20px;height:20px;flex:0 0 20px;color:var(--muted);}
.pmck-pfilter__search input{
  border:0;background:transparent;flex:1;min-width:0;height:100%;
  font:inherit;font-size:18px;color:var(--brand-ink);
}
.pmck-pfilter__search input:focus{outline:none;}
.pmck-pfilter__search:focus-within{border-color:var(--brand);}

.pmck-pfilter select{
  width:100%;height:56px;padding:0 14px;
  background:#fff;border:1px solid var(--line);border-radius:10px;
  font:inherit;font-size:18px;color:var(--brand-ink);
}

/* Sort sits on its own line, right-aligned, as in the design. */
.pmck-pfilter__sort{grid-column:1 / -1;justify-self:end;}
.pmck-pfilter__sort label{display:flex;align-items:center;gap:10px;}
.pmck-pfilter__sort span{font-size:18px;font-weight:600;color:var(--brand-ink);}
.pmck-pfilter__sort select{width:auto;height:44px;border:0;background:transparent;padding-right:8px;}

/* ---------- listing: cards ---------- */

.pmck-pkgs__grid{margin-top:26px;grid-template-columns:repeat(3,1fr);gap:26px;}

.pmck-pcard{
  background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);
  border-radius:12px;overflow:hidden;display:flex;flex-direction:column;
}
/* The artwork is a scanned poster carrying the package's own heading, so it is
   never cropped to a banner — a 16/9 crop cut the client's own title off. */
.pmck-pcard__media{display:block;padding:16px 16px 0;background:#fff;}
.pmck-pcard__media img{width:100%;height:auto;display:block;border-radius:8px;}
.pmck-pcard__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;}
.pmck-pcard__type{
  margin:0 0 6px;font-size:17px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);
}
.pmck-pcard__title{font-size:26px;line-height:1.2;margin:0 0 12px;}
.pmck-pcard__title a{text-decoration:none;}
.pmck-pcard__title a:hover{color:var(--brand);}
.pmck-pcard__go{margin-top:auto;width:100%;justify-content:center;}

/* The card price line.
   DUPLICATED in home.css on purpose: the homepage does not enqueue
   package.css (see inc/setup.php), so a shared definition here would simply
   not arrive on the carousel cards. Same convention as the rest of the theme
   — scope each stylesheet separately and duplicate the few shared rules. */
.pmck-pprice{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  margin:0 0 18px;
}
.pmck-pprice__from{font-size:18px;font-weight:600;color:var(--muted);}
.pmck-pprice__now{font-size:26px;font-weight:700;line-height:1.1;color:var(--accent);}

/* ---------- shared accordion (listing FAQs + detail panels) ---------- */

.pmck-acc{display:grid;gap:14px;}
.pmck-acc__item{background:#fff;border-radius:12px;overflow:hidden;}
.pmck-acc__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:transparent;border:0;cursor:pointer;text-align:left;
  padding:22px 26px;font:inherit;font-size:21px;font-weight:700;color:var(--brand-ink);
}
.pmck-acc__ic{
  flex:0 0 16px;width:16px;height:16px;position:relative;display:block;
}
.pmck-acc__ic::before,
.pmck-acc__ic::after{
  content:"";position:absolute;background:var(--brand);border-radius:2px;
  transition:transform .18s ease,opacity .18s ease;
}
.pmck-acc__ic::before{left:0;right:0;top:7px;height:2px;}
.pmck-acc__ic::after{top:0;bottom:0;left:7px;width:2px;}
.pmck-acc__q[aria-expanded="true"] .pmck-acc__ic::after{transform:scaleY(0);opacity:0;}

.pmck-acc__a{padding:0 26px 24px;font-size:18px;line-height:1.65;color:var(--body);}
.pmck-acc__a p{margin:0 0 12px;}
.pmck-acc__a p:last-child{margin-bottom:0;}

/* ---------- listing: FAQs ---------- */

.pmck-pfaq{background:var(--brand-pale);padding:70px 0;margin-top:60px;}
.pmck-pfaq__h{font-size:44px;text-align:center;margin:0 0 34px;}
.pmck-pfaq .pmck-acc{max-width:1000px;margin-inline:auto;}

/* ---------- detail ----------
   A shop product page: poster + buy box on top, reference material full
   width underneath. The includes list is 9 items on one package and 29 on
   another, and neither reads well in a half-width column. */

.pmck-pkg-single{padding:28px 0 0;}
.pmck-pkg-single__top{margin-bottom:16px;}

.pmck-pkg-single__grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:56px;align-items:start;
}

.pmck-pshots__stage{
  position:relative;background:#fff;border-radius:14px;overflow:hidden;
}
.pmck-pshots__slide{margin:0;display:none;}
.pmck-pshots__slide.is-on{display:block;}
.pmck-pshots__slide img{width:100%;height:auto;display:block;}

.pmck-pshots__dots{display:flex;gap:9px;justify-content:center;margin-top:18px;}
.pmck-pshots__dot{
  width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--line);
}
.pmck-pshots__dot.is-on{background:var(--brand-ink);}

.pmck-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:18px;margin:0;}
.pmck-crumbs a{color:var(--brand);text-decoration:none;}
.pmck-crumbs a:hover{text-decoration:underline;}
.pmck-crumbs span[aria-current]{color:var(--brand);}
.pmck-crumbs span[aria-hidden]{color:var(--muted);}

/* ---------- detail: the buy box ---------- */

/* Posters are A2 portrait, so the artwork column is much taller than the
   summary. Sticky keeps the price and the button in view while it scrolls. */
@media (min-width:981px){
  .pmck-pbuy{position:sticky;top:24px;}
}

.pmck-pbuy__eyebrow{
  margin:0 0 10px;font-size:17px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);
}
.pmck-pmain__title{font-size:34px;line-height:1.2;margin:0 0 14px;}
.pmck-pbuy__lede{margin:0 0 22px;font-size:18px;line-height:1.6;color:var(--body);max-width:52ch;}

.pmck-pbuy__pricerow{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;
  padding:18px 0;margin:0 0 22px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.pmck-pmain__price{font-size:38px;line-height:1;font-weight:700;color:var(--accent);margin:0;}
.pmck-pbuy__from{font-size:18px;font-weight:600;color:var(--muted);}

.pmck-pvar{margin-bottom:22px;}
.pmck-pvar__lab{display:block;margin:0 0 10px;font-size:18px;font-weight:600;color:var(--brand-ink);}
.pmck-pvar__row{display:flex;flex-wrap:wrap;gap:12px;}
.pmck-pvar__btn{
  border:1px solid var(--brand);background:#fff;color:var(--brand);
  border-radius:8px;padding:12px 22px;font:inherit;font-size:18px;font-weight:600;cursor:pointer;
}
.pmck-pvar__btn.is-on{background:var(--brand);color:#fff;}
/* A button element with [hidden] still lays out unless this wins. */
.pmck-pvar__btn[hidden]{display:none;}
.pmck-pvar__note{margin:0 0 22px;font-size:18px;line-height:1.6;color:var(--body);}
.pmck-pvar__note[hidden]{display:none;}

.pmck-pbuy__actions{margin:0 0 24px;}
.pmck-pmain__cta{width:100%;justify-content:center;margin:0;}

.pmck-pmeta{display:grid;gap:10px;margin:0;font-size:18px;}
.pmck-pmeta__row{display:flex;gap:10px;flex-wrap:wrap;}
.pmck-pmeta__k{color:var(--muted);min-width:104px;margin:0;}
.pmck-pmeta__v{margin:0;color:var(--body);}
.pmck-pmeta__v a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}

/* ---------- detail: the full width sections ---------- */

.pmck-psec{padding:52px 0 0;}
.pmck-psec + .pmck-psec{padding-top:44px;}
.pmck-psec__h{font-size:28px;margin:0 0 6px;}
.pmck-psec__lede{margin:0 0 24px;font-size:18px;color:var(--muted);max-width:70ch;}

/* auto-fill, so 9 items and 29 items both lay out sensibly */
.pmck-pinc{
  list-style:none;margin:0;padding:0;
  display:grid;gap:14px 32px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
.pmck-pinc li{display:flex;align-items:flex-start;gap:12px;font-size:18px;line-height:1.5;color:var(--body);}
.pmck-pinc .pmck-i{flex:0 0 22px;width:22px;height:22px;color:var(--accent);margin-top:3px;}

.pmck-pmain__acc{gap:0;max-width:920px;}
.pmck-pmain__acc .pmck-acc__item{
  background:transparent;border-radius:0;border-bottom:1px solid var(--line);
}
.pmck-pmain__acc .pmck-acc__q{padding:22px 0;}
.pmck-pmain__acc .pmck-acc__a{padding:0 0 22px;}

/* ---------- detail: discover more ---------- */

.pmck-pmore{padding:70px 0;}
.pmck-pmore__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:26px;
  flex-wrap:wrap;margin-bottom:28px;
}
.pmck-pmore__h{font-size:44px;line-height:1.15;margin:0 0 10px;}
.pmck-pmore__lede{margin:0;max-width:60ch;font-size:19px;line-height:1.6;color:var(--body);}
.pmck-pmore .pmck-btn--ghost{background:transparent;color:var(--brand-ink);border:1px solid var(--line);}

.pmck-prail{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);
  gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;
}
@media (min-width:1100px){
  /* A FIXED track, not minmax(0,…) — a zero minimum lets the columns shrink to
     fit the container, and then the rail never scrolls and no dots build. */
  .pmck-prail{grid-auto-columns:calc((100% - 44px) / 3);}
}
.pmck-prail .pmck-pcard{scroll-snap-align:start;}

.pmck-prail__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;}
.pmck-prail__dots{display:flex;gap:7px;}
.pmck-prail__dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;}
.pmck-prail__dot.is-on{background:var(--brand);width:18px;border-radius:4px;}
.pmck-prail__arrows{display:flex;gap:10px;}

/* ---------- responsive ---------- */

@media (max-width:1100px){
  .pmck-pfilter{grid-template-columns:1fr 1fr;}
  .pmck-pkgs__grid{grid-template-columns:1fr 1fr;}
  .pmck-pkg-single__grid{gap:36px;}
}
@media (max-width:980px){
  .pmck-pkg-single__grid{grid-template-columns:1fr;gap:32px;}
  .pmck-pkgs__h,.pmck-pmore__h,.pmck-pfaq__h{font-size:34px;}
  .pmck-pmain__title{font-size:29px;}
  .pmck-pmain__price{font-size:32px;}
  .pmck-psec{padding-top:38px;}
  .pmck-psec__h{font-size:26px;}
  .pmck-pfaq{padding:52px 0;}
}
@media (max-width:620px){
  .pmck-pfilter{grid-template-columns:1fr;gap:16px;}
  .pmck-pkgs__grid{grid-template-columns:1fr;}
  .pmck-pfilter__sort{justify-self:start;}
  .pmck-pcard__title{font-size:23px;}
  .pmck-acc__q{font-size:19px;padding:18px 20px;}
  .pmck-acc__a{padding:0 20px 20px;}
  .pmck-pmeta__row{flex-direction:column;gap:2px;}
}