/* Check My Crush — tokens and optional namespaced components.
   No global reset: preserve the host application's styles and behavior. */
:root {
  --cmc-raspberry: #D92D78;
  --cmc-blush: #FBE4EF;
  --cmc-lilac: #CDB7EF;
  --cmc-plum: #38162F;
  --cmc-ivory: #FFFAFD;
  --cmc-text: #38162F;
  --cmc-text-muted: #76536B;
  --cmc-border: #E6CEDB;
  --cmc-surface: #FFFFFF;
  --cmc-font-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --cmc-font-editorial: 'Playfair Display', Georgia, serif;
  --cmc-radius-input: 12px;
  --cmc-radius-card: 24px;
  --cmc-shadow: 0 16px 50px -24px rgb(56 22 47 / 20%);
}
.cmc-brand-logo { display:block; width:clamp(160px,18vw,220px); height:auto; object-fit:contain; }
.cmc-brand-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.cmc-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:48px; padding:12px 22px; border:0; border-radius:12px; background:var(--cmc-plum); color:var(--cmc-ivory); font:600 15px/1.4 var(--cmc-font-body); cursor:pointer; text-decoration:none; }
.cmc-button:hover { background:#542447; }
.cmc-button:disabled { opacity:.55; cursor:not-allowed; }
.cmc-button--secondary { background:var(--cmc-blush); color:var(--cmc-plum); }
.cmc-button--secondary:hover { background:#F5D2E2; }
.cmc-input { box-sizing:border-box; width:100%; min-height:52px; padding:14px 16px; border:1px solid var(--cmc-border); border-radius:var(--cmc-radius-input); background:var(--cmc-surface); color:var(--cmc-text); font:400 16px/1.4 var(--cmc-font-body); }
.cmc-input::placeholder { color:var(--cmc-text-muted); }
.cmc-input:focus-visible,.cmc-button:focus-visible,.cmc-brand-link:focus-visible { outline:3px solid var(--cmc-plum); outline-offset:3px; }
.cmc-surface { color:var(--cmc-text); background:var(--cmc-ivory); font-family:var(--cmc-font-body); }
.cmc-card { padding:24px; border:1px solid var(--cmc-border); border-radius:var(--cmc-radius-card); background:var(--cmc-surface); box-shadow:var(--cmc-shadow); }
.cmc-editorial { font-family:var(--cmc-font-editorial); font-style:italic; color:var(--cmc-raspberry); }
@media (max-width:480px) { .cmc-brand-logo { width:160px; } .cmc-card { padding:20px; } }

/* One alpha source guarantees identical contours in both UI variants. */
.cmc-brand-logo--light { filter:brightness(0) invert(1); }
