/* Visual-only alignment for standalone public, checkout and legal pages. */
@import url('/fonts/fonts-full.css?v=20260918-full2');

:root {
  --ink: #30363a;
  --muted: #7b8387;
  --paper: #fff;
  --card: #fff;
  --line: #e9ecec;
  --green: #343b3f;
  --green-dark: #202629;
  --lime: #f0f2f2;
  --blue: #485155;
  --shadow: 0 8px 26px rgba(32, 37, 40, .055);
}
body {
  background: #fff;
  color: #30363a;
  font-family: "Locus Noto Sans SC Full", "Noto Sans SC", "Locus Helvetica", Helvetica, Arial, sans-serif;
}
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible {
  outline: 2px solid #7f898d;
  outline-offset: 3px;
}

/* Membership and checkout */
body:has(.site-header) .site-header { border-bottom-color: #f0f2f2; }
body:has(.site-header) .hero { padding-block: 72px 62px; }
body:has(.site-header) .eyebrow,
body:has(.site-header) .section-number,
body:has(.site-header) .order-kicker { color: #858e92; }
body:has(.site-header) .plan-card { background: #f9fafa; border-color: transparent; box-shadow: none; }
body:has(.site-header) .plan-card.is-selected { color: #30363a; background: #eef0f0; border-color: #bac1c4; }
body:has(.site-header) .plan-badge { background: #e7eaeb; color: #555e62; }
body:has(.site-header) .checkout-card { border-color: #e9ecec; border-radius: 20px; }
body:has(.site-header) .checkout-method-icon { background: #343b3f; border-radius: 14px; }
body:has(.site-header) .primary-button { border-radius: 999px; background: #343b3f; border-color: #343b3f; }
body:has(.site-header) .primary-button:hover { background: #202629; }
body:has(.site-header) .history-row { background: #f9fafa; border-color: transparent; }
body:has(.site-header) .history-status.paid { background: #343b3f; }
body:has(.site-header) .support-section { border-color: #e9ecec; }

/* Contact */
body:has(.contact-header) .contact-header { border-bottom-color: #f0f2f2; }
body:has(.contact-header) .contact-main { border: 0; background: #f8f9f9; box-shadow: none; }
body:has(.contact-header) .contact-kicker { color: #8d9699; }
body:has(.contact-header) .contact-email { border-radius: 999px; background: #343b3f; }
body:has(.contact-header) .contact-email:hover { background: #202629; }

/* Terms and privacy: preserve wording, anchors, language switch and print flow. */
body:has(.brand) { --blue: #485155; --ink: #30363a; --paper: #fff; }
body:has(.brand) header { background: #fff; border-bottom-color: #eceeef; }
body:has(.brand) main { border: 0; background: #fff; }
body:has(.brand) .status { border-color: #e4e8e9; background: #f8f9f9; color: #6a7377; border-radius: 999px; }
body:has(.brand) .draft-notice { border-left-color: #b5bec1; background: #f8f9f9; }
body:has(.brand) th { background: #f5f6f6; }
body:has(.brand) :is(th, td) { border-color: #e4e8e9; }

/* Legacy direct payment/return routes remain usable. */
body:has(#zpay-form), body:has(main > #status) { background: #fff; color: #30363a; }
body:has(#zpay-form) main, body:has(main > #status) main {
  max-width: 620px;
  margin-block: clamp(35px, 8vh, 90px);
  padding: clamp(22px, 4vw, 46px);
  border-radius: 20px;
  background: #f8f9f9;
}
body:has(#zpay-form) a, body:has(main > #status) a { color: #485155; }
body:has(#zpay-form) select, body:has(#zpay-form) button { border-color: #e1e5e6; border-radius: 999px; }
body:has(#zpay-form) button { background: #343b3f; }
body:has(#zpay-form) .payment-choice { border-color: #e1e5e6; border-radius: 14px; }
body:has(#zpay-form) .payment-choice input { accent-color: #343b3f; }

@media (max-width: 540px) {
  body:has(.site-header) .hero { padding-block: 55px 45px; }
  body:has(#zpay-form) main, body:has(main > #status) main { margin-inline: 13px; }
}

/* The public pages inherit the user's workspace palette without changing payment flows. */
body[data-workspace-theme] {
  --public-tint: #fcf9f1;
  --public-tint-strong: #f5ebd6;
  --public-accent: #765b30;
  --public-accent-dark: #57421f;
  --public-line: #e8dcc2;
}
body[data-workspace-theme="sage"] {
  --public-tint: #f2f8f3;
  --public-tint-strong: #e1efe5;
  --public-accent: #416e54;
  --public-accent-dark: #2f5740;
  --public-line: #d4e5d9;
}
body[data-workspace-theme="sky"] {
  --public-tint: #f1f7fc;
  --public-tint-strong: #dfecf8;
  --public-accent: #416d8d;
  --public-accent-dark: #305875;
  --public-line: #d5e4f0;
}
body[data-workspace-theme]:has(.site-header) .hero {
  max-width: 980px;
  margin-block: 24px 36px;
  padding: clamp(30px, 5vw, 64px);
  border-radius: 24px;
  background: var(--public-tint);
}
body[data-workspace-theme]:has(.site-header) .hero h1 {
  max-width: 800px;
  font-size: clamp(2.7rem, 5.5vw, 4.8rem);
  line-height: 1.07;
}
body[data-workspace-theme]:has(.site-header) :is(.eyebrow, .section-number, .order-kicker) { color: var(--public-accent); }
body[data-workspace-theme]:has(.site-header) .plan-card { background: var(--public-tint); }
body[data-workspace-theme]:has(.site-header) .plan-card.is-selected { background: var(--public-tint-strong); border-color: var(--public-line); }
body[data-workspace-theme]:has(.site-header) :is(.plan-badge, .history-row) { background: var(--public-tint); }
body[data-workspace-theme]:has(.site-header) :is(.checkout-card, .support-section) { border-color: var(--public-line); }
body[data-workspace-theme]:has(.site-header) :is(.checkout-method-icon, .primary-button, .history-status.paid) { background: var(--public-accent-dark); border-color: var(--public-accent-dark); }
body[data-workspace-theme]:has(.site-header) .primary-button:hover { background: #30363a; }
body[data-workspace-theme]:has(.contact-header) .contact-main { background: var(--public-tint); }
body[data-workspace-theme]:has(.contact-header) .contact-kicker { color: var(--public-accent); }
body[data-workspace-theme]:has(.contact-header) .contact-email { background: var(--public-accent-dark); }
body[data-workspace-theme]:has(.contact-header) .contact-email:hover { background: #30363a; }
@media (max-width: 540px) {
  body[data-workspace-theme]:has(.site-header) .hero { padding: 30px 22px; }
}
