/* ChicMama 2027 - Balanced B token compatibility layer.
 * Canonical values live in theme.json. These --cm-* aliases preserve the frozen
 * Balanced B renderer without introducing visual drift during the hybrid migration.
 */
@font-face{font-family:'Span';font-weight:200;font-style:normal;font-display:swap;src:url('../fonts/Span_thin.woff2') format('woff2');}
@font-face{font-family:'Inter-Tight';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/Inter-Tight_reg.woff2') format('woff2');}

:root{
  /* Day / warm world */
  --cm-cream:var(--wp--preset--color--cm-cream,#F2E8D8);
  --cm-cream-2:var(--wp--preset--color--cm-cream-2,#EFE3D0);
  --cm-ivory:var(--wp--preset--color--cm-ivory,#F6EFE3);
  --cm-champagne:var(--wp--preset--color--cm-champagne,#E4D7C1);
  --cm-espresso:var(--wp--preset--color--cm-espresso,#241a10);
  --cm-muted:var(--wp--preset--color--cm-muted,#6E6151);
  --cm-gold:var(--wp--preset--color--cm-gold,#C2A268);
  --cm-gold-ink:var(--wp--preset--color--cm-gold-ink,#9A7B43);
  --cm-rule:var(--wp--custom--cm--rule,rgba(194,162,104,.35));

  /* Night / blue world */
  --cm-navy:var(--wp--preset--color--cm-navy,#0E1A2B);
  --cm-midnight:var(--wp--preset--color--cm-midnight,#0A1320);
  --cm-blue:var(--wp--preset--color--cm-blue,#1C3553);
  --cm-on-dark:var(--wp--preset--color--cm-on-dark,#F4ECDF);
  --cm-on-dark-muted:var(--wp--custom--cm--on-dark-muted,rgba(244,236,223,.72));
  --cm-rule-dark:var(--wp--custom--cm--rule-dark,rgba(220,228,240,.16));
  --cm-overlay:var(--wp--custom--cm--overlay,rgba(8,16,28,.82));

  /* Type */
  --cm-serif:var(--wp--preset--font-family--cm-serif,'Span',Georgia,serif);
  --cm-sans:var(--wp--preset--font-family--cm-sans,'Inter-Tight',Arial,Helvetica,sans-serif);
  --cm-h1:var(--wp--preset--font-size--cm-h1,clamp(44px,7vw,100px));
  --cm-h2:var(--wp--preset--font-size--cm-h2,clamp(30px,4vw,52px));
  --cm-h3:var(--wp--preset--font-size--cm-h3,24px);
  --cm-body:var(--wp--preset--font-size--cm-body,16px);
  --cm-eyebrow:var(--wp--preset--font-size--cm-eyebrow,12px);
  --cm-button:var(--wp--preset--font-size--cm-button,11.5px);

  /* Layout */
  --cm-container:min(100% - 40px,var(--wp--style--global--content-size,1280px));
  --cm-section-y:var(--wp--preset--spacing--cm-section-y,clamp(56px,8vw,112px));
  --cm-header-h:var(--wp--custom--cm--header-h,74px);
  --cm-radius:var(--wp--custom--cm--radius,2px);
  --cm-radius-img:var(--wp--custom--cm--radius-img,3px);
  --cm-ease:var(--wp--custom--cm--ease,cubic-bezier(.22,1,.36,1));
}

.cm-btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;font:400 var(--cm-button)/1 var(--cm-sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-radius:var(--cm-radius);white-space:nowrap;}
.cm-btn--primary{background:var(--cm-gold);color:var(--cm-espresso);}
.cm-btn--outline-light{border:1px solid rgba(36,26,16,.55);color:var(--cm-espresso);}
.cm-btn--outline-dark{border:1px solid rgba(244,236,223,.55);color:var(--cm-on-dark);}
.cm-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--cm-ease),transform .7s var(--cm-ease);}
.cm-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.cm-reveal{opacity:1;transform:none;transition:none;}}
#cm-mobnav{opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .34s var(--cm-ease),transform .34s var(--cm-ease),visibility .34s;}
#cm-mobnav.is-open{opacity:1;visibility:visible;transform:none;}
.cm-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--cm-ease);}
.cm-faq-a > *{overflow:hidden;}
.cm-faq-item.is-open .cm-faq-a{grid-template-rows:1fr;}
.cm-faq-item.is-open .cm-faq-ic{transform:rotate(45deg);}
.cm-tab{border-bottom:2px solid transparent;color:var(--cm-muted);}
.cm-tab.is-active{border-bottom-color:var(--cm-gold);color:var(--cm-espresso);}
.cm-day{border:1px solid var(--cm-rule-dark);background:transparent;}
.cm-day.is-selected{border-color:var(--cm-gold);background:var(--cm-blue);}
.cm-link{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(194,162,104,.6);padding-bottom:5px;}

/* Brand asset guardrails. Geometry is never altered; only maximum display box. */
.cm-brand-logo{display:block;width:auto;height:auto;object-fit:contain;}
.cm-brand-logo--header{max-width:148px;max-height:48px;}
.cm-brand-logo--footer{max-width:164px;max-height:76px;}
