/* Miss Curvy Canada: section styles.
   Tokens come from theme.json. Nothing here re-declares a colour literal. */

:root{
  --mcc-burgundy: var(--wp--preset--color--burgundy);
  --mcc-blush-l:  var(--wp--preset--color--blush-light);
  --mcc-cream:    var(--wp--preset--color--cream);
  --mcc-ink:      var(--wp--preset--color--ink);
  --mcc-ink2:     var(--wp--preset--color--ink-soft);
  --mcc-rule:     var(--wp--preset--color--rule);
  --mcc-gold:     var(--wp--preset--color--gold);
}

/* eyebrow ------------------------------------------------- */
.mcc-eyebrow{
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:700; color:var(--mcc-burgundy); margin:0 0 10px;
}
.has-blush-color .mcc-eyebrow,
.mcc-on-dark .mcc-eyebrow{ color:var(--wp--preset--color--blush); }

.mcc-lede{ font-size:var(--wp--preset--font-size--lede); line-height:1.58; color:var(--mcc-ink2); }
.mcc-on-dark .mcc-lede{ color:#f4dde4; }

/* hero ---------------------------------------------------- */
.mcc-hero-fig{ position:relative; margin:0; }
.mcc-hero-fig img{
  width:100%; height:auto; border-radius:260px 260px 14px 14px;
  box-shadow:0 26px 60px rgba(89,12,38,.20);
}
.mcc-hero-fig::before{
  content:""; position:absolute; inset:16px -16px -16px 16px;
  border:2px solid var(--mcc-gold); border-radius:260px 260px 14px 14px; z-index:0;
}
.mcc-hero-fig img{ position:relative; z-index:1; }

/* judged list --------------------------------------------- */
.mcc-judged{ list-style:none; padding:0; margin:26px 0 0;
  display:grid; gap:1px; background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.22); border-radius:8px; overflow:hidden; }
.mcc-judged li{ background:var(--mcc-burgundy); padding:20px 24px; }
.mcc-judged b{ font-family:var(--wp--preset--font-family--display); font-weight:400;
  font-size:1.12rem; display:block; margin-bottom:4px; }
.mcc-judged span{ color:#f0d3dc; font-size:.96rem; }
.mcc-notbody{ margin-top:26px; padding:20px 24px; border-left:3px solid var(--mcc-gold);
  background:rgba(0,0,0,.16); border-radius:0 8px 8px 0; }
.mcc-notbody p{ margin:0; color:#fff; }

/* permission list ----------------------------------------- */
.mcc-perm{ list-style:none; padding:0; margin:0 0 22px; }
.mcc-perm li{ padding:14px 0 14px 38px; border-bottom:1px solid var(--mcc-rule);
  position:relative; font-size:1.06rem; font-weight:500; }
.mcc-perm li:last-child{ border-bottom:0; }
.mcc-perm li::before{ content:""; position:absolute; left:4px; top:20px; width:14px; height:8px;
  border-left:2.5px solid var(--mcc-burgundy); border-bottom:2.5px solid var(--mcc-burgundy);
  transform:rotate(-45deg); }

/* faq ------------------------------------------------------ */
.mcc-faq{ max-width:800px; margin-top:34px; border-top:1px solid var(--mcc-rule); }
.mcc-faq .wp-block-details{ border-bottom:1px solid var(--mcc-rule); padding:0; }
.mcc-faq summary{ cursor:pointer; padding:19px 34px 19px 0; font-weight:600;
  font-size:1.04rem; list-style:none; position:relative; }
.mcc-faq summary::-webkit-details-marker{ display:none; }
.mcc-faq summary::after{ content:""; position:absolute; right:6px; top:26px; width:9px; height:9px;
  border-right:2px solid var(--mcc-burgundy); border-bottom:2px solid var(--mcc-burgundy);
  transform:rotate(45deg); transition:transform .18s; }
.mcc-faq details[open] summary::after{ transform:rotate(-135deg); }
.mcc-faq summary:focus-visible{ outline:2px solid var(--mcc-burgundy); outline-offset:3px; }
.mcc-faq p{ margin:0 0 20px; color:var(--mcc-ink2); max-width:62ch; }

/* cost card ------------------------------------------------ */
.mcc-cost{ background:#fff; border:1px solid var(--mcc-rule); border-radius:14px;
  padding:34px 36px; max-width:640px; }
.mcc-fee{ font-family:var(--wp--preset--font-family--display); font-weight:400;
  font-size:3.05rem; color:var(--mcc-burgundy); line-height:1; margin:0; }
.mcc-fee small{ font-family:var(--wp--preset--font-family--body); font-size:.95rem;
  font-weight:600; color:var(--mcc-ink2); display:block; margin-top:6px; }
.mcc-incl h4{ margin:0 0 8px; font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--wp--preset--color--gold-dark); }
.mcc-incl ul{ margin:0; padding-left:18px; color:var(--mcc-ink2); }
.mcc-incl li{ margin-bottom:5px; }

/* programme cards ------------------------------------------ */
.mcc-card{ background:#fff; border:1px solid var(--mcc-rule); border-radius:12px;
  overflow:hidden; height:100%; }
.mcc-card img{ width:100%; height:236px; object-fit:cover; display:block; }
.mcc-card .mcc-card-body{ padding:22px 24px 26px; }
.mcc-card h3{ color:var(--mcc-burgundy); font-size:1.18rem; margin:0 0 8px; }
.mcc-card p{ margin:0; color:var(--mcc-ink2); font-size:.98rem; }

/* footer form ---------------------------------------------- */
.mcc-footer{ background:var(--wp--preset--color--near-black); color:#c9b8be; }
.mcc-footer a{ color:var(--wp--preset--color--blush); }
.mcc-footer h4{ color:#fff; font-family:var(--wp--preset--font-family--display);
  font-weight:400; font-size:1.04rem; margin:0 0 12px; }

@media (max-width:781px){
  .mcc-hero-fig{ max-width:400px; margin:0 auto; }
  .mcc-card img{ height:210px; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }

/* ---- section rhythm + dark surfaces (added after first WP render) ---- */
.mcc-hero,.mcc-enter,.mcc-programme,.mcc-founding{ padding-block:76px; }
.has-blush-light-background-color{ padding-block:76px; }
.mcc-on-dark{ padding-block:76px; }

/* everything on a dark surface takes its colour from the surface, not the root */
.mcc-on-dark, .mcc-on-dark p, .mcc-on-dark li{ color:#fff; }
.mcc-on-dark h1,.mcc-on-dark h2,.mcc-on-dark h3,.mcc-on-dark h4{ color:#fff; }
.mcc-on-dark .mcc-eyebrow{ color:var(--wp--preset--color--blush); }

/* judged items: heading must not inherit the section heading scale */
.mcc-judged{ margin-top:26px; border:1px solid rgba(255,255,255,.22);
  border-radius:8px; overflow:hidden; display:grid; gap:1px; background:rgba(255,255,255,.22); }
.mcc-judged-item{ background:var(--wp--preset--color--burgundy); padding:20px 24px !important; }
.mcc-judged-item h3{ font-size:1.12rem !important; margin:0 0 4px !important; }
.mcc-judged-item p{ margin:0; color:#f0d3dc; font-size:.96rem; }

.mcc-card h3{ font-size:1.18rem !important; }
.mcc-incl h4{ font-size:.74rem !important; font-family:var(--wp--preset--font-family--body) !important;
  font-weight:700 !important; letter-spacing:.14em; }
.mcc-footer h4{ font-size:1.04rem !important; }

/* hero: keep the two columns aligned to centre */
.mcc-hero .wp-block-columns{ align-items:center; gap:60px; }

/* nav */
.mcc-nav{ position:sticky; top:0; z-index:50; border-bottom:1px solid var(--wp--preset--color--rule); }
.mcc-nav .wp-block-site-title a{ font-family:var(--wp--preset--font-family--display);
  color:var(--wp--preset--color--burgundy); text-decoration:none; }
.mcc-navright{ gap:26px; align-items:center; }
.mcc-navbtn .wp-block-button__link{ padding:10px 20px; }

/* cost */
.mcc-cost{ margin-top:26px; }
.mcc-fee small{ display:block; }
.mcc-colophon{ border-top:1px solid #38222b; margin-top:36px; padding-top:22px;
  font-size:.8rem; color:#8d7a81; }

/* cta */
.mcc-cta{ text-align:center; }
.mcc-cta .wp-block-buttons{ justify-content:center; }
.mcc-cta .wp-block-button__link{ background:var(--wp--preset--color--gold); color:#2a1a10; }

/* ---- full-bleed + nav (second WP pass) ---- */
.wp-site-blocks > .alignfull,
.wp-block-post-content > .alignfull{ margin-left:calc(-1 * var(--wp--style--root--padding-left));
  margin-right:calc(-1 * var(--wp--style--root--padding-right)); max-width:none; width:auto; }
.mcc-hero > .wp-block-columns,
.mcc-enter > .wp-block-columns,
.mcc-programme > *,
.mcc-founding > .wp-block-columns,
.has-blush-light-background-color > *,
.mcc-on-dark > *{ max-width:1180px; margin-left:auto; margin-right:auto; }

.mcc-nav .wp-block-site-title{ white-space:nowrap; }
.mcc-nav .wp-block-site-title a{ font-size:1.16rem; }
.mcc-nav > .wp-block-group{ max-width:1180px; margin-inline:auto; flex-wrap:nowrap; gap:22px; }
.mcc-navright{ flex-wrap:nowrap !important; }
.mcc-nav .wp-block-navigation{ gap:26px; }
@media (max-width:900px){ .mcc-navright{ gap:12px; } }

/* nested groups must not inherit the constrained content width */
.mcc-judged .wp-block-group,
.mcc-judged-item > *,
.mcc-card > *, .mcc-card-body > *,
.mcc-cost > *, .mcc-incl > *,
.mcc-notbody > *{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.mcc-judged-item{ width:100%; }
.mcc-card{ display:flex; flex-direction:column; }
.mcc-card figure{ margin:0; }

/* hairline dividers between judged items, not block-gap bands */
.mcc-judged{ gap:1px !important; --wp--style--block-gap:0 !important; }
.mcc-judged-item{ margin-block:0 !important; }

/* full-bleed sections must re-add their own inner padding */
.mcc-hero > .wp-block-columns,
.mcc-enter > .wp-block-columns,
.mcc-programme > *,
.mcc-founding > .wp-block-columns,
.has-blush-light-background-color > *,
.mcc-on-dark > *,
.mcc-cta > *{ padding-inline:28px; box-sizing:content-box; }
@media (max-width:600px){
  .mcc-hero > .wp-block-columns,
  .mcc-enter > .wp-block-columns,
  .mcc-programme > *,
  .mcc-founding > .wp-block-columns,
  .has-blush-light-background-color > *,
  .mcc-on-dark > *,
  .mcc-cta > *{ padding-inline:20px; }
}
body{ overflow-x:hidden; }
.mcc-hero-fig{ margin-right:18px; }

/* application form ---------------------------------------- */
.mcc-formwrap{ padding-block:76px; }
.fluentform .ff-el-group{ margin-bottom:22px; }
.fluentform .ff-el-input--label label{ font-weight:600; font-size:.95rem; color:var(--wp--preset--color--ink); }
.fluentform .ff-el-form-control{ width:100%; padding:12px 14px; border:1px solid var(--wp--preset--color--rule);
  border-radius:8px; background:#fff; font-family:var(--wp--preset--font-family--body); font-size:1rem; color:var(--wp--preset--color--ink); }
.fluentform .ff-el-form-control:focus{ outline:2px solid var(--wp--preset--color--burgundy); outline-offset:-1px; border-color:var(--wp--preset--color--burgundy); }
.fluentform .ff-el-form-check-label{ font-size:.98rem; line-height:1.5; }
.fluentform .ff-el-help-message{ color:var(--wp--preset--color--ink-soft); font-size:.86rem; margin-top:5px; }
.fluentform .ff-btn-submit{ background:var(--wp--preset--color--burgundy) !important; color:#fff !important;
  border:0; border-radius:999px; padding:14px 30px; font-family:var(--wp--preset--font-family--body);
  font-weight:700; font-size:1rem; cursor:pointer; }
.fluentform .ff-btn-submit:hover{ background:var(--wp--preset--color--burgundy-dark) !important; }
.ff-message-success{ background:var(--wp--preset--color--blush-light); border-left:3px solid var(--wp--preset--color--burgundy);
  padding:22px 24px; border-radius:0 8px 8px 0; }
.mcc-formwrap .fluentform{ max-width:640px; }

/* restored client sections -------------------------------- */
.mcc-centered{ text-align:center; max-width:720px; margin-inline:auto !important; }
.mcc-centered .mcc-lede{ margin-inline:auto; }
.mcc-vcard{ background:#fff; border:1px solid var(--wp--preset--color--rule);
  border-radius:16px; padding:32px 30px !important; height:100%; }
.mcc-vcard h3{ color:var(--wp--preset--color--burgundy); font-size:1.18rem !important; margin:0 0 8px !important; }
.mcc-vcard p{ margin:0; color:var(--wp--preset--color--ink-soft); font-size:.98rem; }
.mcc-icon{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--wp--preset--color--blush-light); color:var(--wp--preset--color--burgundy); margin-bottom:18px; }
.mcc-icon svg{ width:24px; height:24px; }
.mcc-contactcard{ background:#fff; border:1px solid var(--wp--preset--color--rule); border-radius:16px;
  padding:32px 34px !important; max-width:600px; margin-inline:auto !important; text-align:center; }
.mcc-contactcard h3{ color:var(--wp--preset--color--burgundy); font-size:1.18rem !important; margin:0 0 10px !important; }
.mcc-contactcard p{ margin:0; color:var(--wp--preset--color--ink-soft); }
.mcc-cta h2{ max-width:22ch; margin-inline:auto; }
