/* The tool reuses calculators.css. Only assessment-specific controls and article
   entries need additional rules here. */
.assessment-entry, .assessment-panel, .assessment-actions, .assessment-options,
.assessment-entry *, .assessment-panel *, .post-sticky-actions, .post-sticky-actions * { box-sizing: border-box; }
.assessment-entry [hidden], .page-assessment [hidden], .assessment-handoff [hidden],
.post-sticky-actions [hidden], .post-assessment-dock[hidden], .post-assessment-dock [hidden] { display: none !important; }
.assessment-entry {
  width: 100%; max-width: 100%; margin: 1.5rem auto; padding: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--landing-brand-border) 36%, var(--border));
  border-radius: 1.45rem; color: var(--text-light);
  background:
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--header-grad-mid2) 16%, transparent), transparent 35%),
    linear-gradient(180deg, var(--header-grad-from), color-mix(in srgb, var(--header-grad-from) 76%, var(--header-grad-mid1)));
  box-shadow: var(--post-shadow-soft, var(--card-shadow)); overflow-wrap: anywhere;
}
.assessment-entry p { margin: 0 0 .75rem; color: inherit; line-height: 1.6; text-shadow: none; }
.assessment-entry .assessment-title {
  font-family: 'Rajdhani', 'Montserrat', sans-serif; font-size: 1.65rem; font-weight: 700; line-height: 1.15;
}
.assessment-eyebrow {
  margin: 0 0 .75rem; font-family: 'Rajdhani', 'Montserrat', sans-serif;
  font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.assessment-entry .assessment-eyebrow { color: var(--header-grad-mid3); }
.assessment-note { font-size: .86rem; line-height: 1.6; }
.assessment-entry .assessment-note { margin: .85rem 0 0; color: color-mix(in srgb, var(--text-light) 84%, transparent); }
/* Inline cards keep their own contrast inside the article's paper surface. */
body.page-post .post .post-body .assessment-entry p { color: inherit; }
body.page-post .post .post-body .assessment-entry .assessment-eyebrow { color: var(--header-grad-mid3); }
body.page-post .post .post-body .assessment-entry .assessment-note { color: color-mix(in srgb, var(--text-light) 84%, transparent); }
body.page-post .post .post-body .assessment-entry .cta-button { color: var(--text); text-decoration: none; }
.assessment-actions {
  display: flex; flex-direction: column; gap: .75rem; width: 100%; max-width: 100%; margin-top: 1rem; align-items: stretch;
}
.assessment-actions > .cta-button {
  width: 100%; max-width: 100%; min-width: 0; white-space: normal; text-align: center; overflow-wrap: anywhere;
}
.assessment-entry .cta-button, .post-assessment-dock .post-assessment-cta__link,
.assessment-handoff .assessment-actions > .cta-button {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 100%; max-width: 100%; min-width: 0; min-height: 3rem; margin: 0; padding: .82rem 1.1rem;
  border: 1px solid transparent; border-radius: 999px;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--surface) 92%, transparent), color-mix(in srgb, var(--surface) 82%, transparent)) padding-box,
    var(--landing-brand-gradient) border-box;
  color: var(--text); font-weight: 700; line-height: 1.2; letter-spacing: .02em;
  text-shadow: none; text-decoration: none; white-space: normal; overflow-wrap: anywhere;
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.24);
  transform: none; filter: none; transition: box-shadow .18s ease, border-color .18s ease;
}
.assessment-entry .cta-button:hover, .post-assessment-dock .post-assessment-cta__link:hover {
  box-shadow: 0 1rem 2.2rem rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.28);
}
.assessment-entry [data-assessment-contact], .post-assessment-dock [data-assessment-contact] {
  background: transparent; border-color: color-mix(in srgb, var(--text-light) 40%, transparent);
  color: var(--text-light); box-shadow: none;
}
body.page-post .post .post-body .assessment-entry [data-assessment-contact] { color: var(--text-light); }
.assessment-entry :focus-visible, .post-assessment-dock .post-assessment-cta__link:focus-visible,
.assessment-panel :focus-visible, .assessment-resume-link:focus-visible { outline: 2px solid var(--header-grad-mid3); outline-offset: 3px; }
/* The page-calculators class shares the existing shell, fields, buttons and
   responsive breakpoints without copying or changing the calculator rules. */
.page-assessment .assessment-shell > * { position: relative; z-index: 1; }
.page-assessment .assessment-shell { color: var(--text-light); }
.page-assessment .assessment-shell > :is(.calc-eyebrow, h1, .calc-lead) { margin-bottom: .75rem; }
.page-assessment .assessment-shell .assessment-note,
.page-assessment .assessment-panel :is(p, li) { color: var(--calc-copy-inverse); }
.page-assessment .assessment-panel { width: 100%; max-width: 100%; margin: 1rem auto; overflow-wrap: anywhere; }
.page-assessment .assessment-actions { display: flex; }
.page-assessment .calc-form { display: grid; gap: .85rem; }
.page-assessment fieldset > .calc-field { margin-bottom: .85rem; }
.page-assessment .calc-actions > .cta-button { white-space: normal; overflow-wrap: anywhere; }
.page-assessment .assessment-shell :is(h2, h3), .assessment-panel legend {
  color: var(--text-light); font-family: 'Rajdhani', 'Montserrat', sans-serif; font-weight: 700; line-height: 1.2;
}
.page-assessment .assessment-shell h2 { font-size: 1.6rem; }
.page-assessment .assessment-shell h3 { margin-top: 1.25rem; font-size: 1.25rem; }
.assessment-options { display: grid; gap: .75rem; width: 100%; max-width: 100%; }
.assessment-option {
  display: flex; align-items: flex-start; gap: .75rem; width: 100%; max-width: 100%; margin: .75rem 0; padding: .9rem;
  border: 1px solid var(--calc-border, var(--border)); border-radius: var(--calc-radius-sm, .9rem);
  background: var(--calc-surface-strong, var(--surface)); color: var(--text-light); cursor: pointer;
}
.assessment-option > span { min-width: 0; line-height: 1.5; overflow-wrap: anywhere; }
.assessment-option:has(input:checked) {
  border-color: var(--header-grad-mid3); background: color-mix(in srgb, var(--header-grad-from) 90%, var(--header-grad-mid3));
}
.assessment-option input { flex: none; margin: .25rem 0 0; accent-color: var(--header-grad-mid3); }
.assessment-panel fieldset { border: 0; margin: 0; padding: 0; width: 100%; max-width: 100%; min-width: 0; }
.assessment-panel legend { margin-bottom: 1rem; font-size: 1.3rem; }
.assessment-panel input:not([type=radio]):not([type=checkbox]):not(.assessment-honeypot),
.assessment-panel select, .assessment-panel textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.assessment-panel ul { padding-inline-start: 1.25rem; }
.assessment-row {
  display: grid; gap: .75rem; width: 100%; max-width: 100%; padding: 1rem 0; border-bottom: 1px solid var(--calc-border, var(--border));
}
.page-assessment .calc-field textarea {
  width: 100%; max-width: 100%; min-height: 7rem; margin: 0; padding: .78rem .86rem;
  border: 1px solid color-mix(in srgb, var(--text-light) 16%, transparent); border-radius: var(--calc-radius-sm);
  background: color-mix(in srgb, var(--surface) 90%, transparent); color: var(--text);
  font: inherit; font-size: 1rem; line-height: 1.5; resize: vertical;
}
.page-assessment .assessment-honeypot {
  position: absolute; opacity: 0; pointer-events: none; height: 0; min-height: 0; padding: 0; border: 0; overflow: hidden;
}
.assessment-panel:not(.calc-panel), .assessment-handoff {
  width: 100%; max-width: 100%; margin: 1rem auto; padding: 1rem;
  border: 1px solid var(--calc-border, var(--border)); border-radius: var(--calc-radius-md, 1rem);
  background: var(--calc-surface-strong, var(--surface));
}
.assessment-handoff .assessment-option { color: var(--text); }
.assessment-handoff .assessment-option:has(input:checked) { background: color-mix(in srgb, var(--surface) 90%, var(--header-grad-mid3)); }
.assessment-resume-link { display: inline-block; color: var(--text-light); font-weight: 600; text-underline-offset: .2rem; }
.page-assessment .assessment-return-row {
  display: flex; width: 100%; max-width: 100%; box-sizing: border-box; margin-bottom: .75rem;
}
.page-assessment .assessment-return-row .post-back { max-width: 100%; box-sizing: border-box; }
/* Preserve the existing program/download hooks and menus. */
body.page-post .reaction-bar .post-sticky-actions {
  grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: .4rem;
  width: 100%; max-width: 100%; min-width: 0;
}
body.page-post .reaction-bar :is(.post-reaction-group--bar, .post-share-group--bar) { grid-row: 1; }
body.page-post .reaction-bar .post-sticky-actions > * { width: 100%; max-width: 100%; min-width: 0; }
body.page-post .post-sticky-actions .post-program-cta__link,
body.page-post .post-assessment-dock .post-assessment-cta__link {
  min-height: 2.75rem; padding: .65rem .75rem; font-size: .9rem; line-height: 1.2;
  white-space: normal; overflow: visible; overflow-wrap: anywhere; text-overflow: clip; pointer-events: auto;
}
/* Phones use the in-flow article cards; the desktop dock never covers reading text. */
body.page-post .post-assessment-dock {
  display: none;
  position: fixed; left: 0; right: 0; bottom: var(--post-assessment-bottom, 6rem);
  z-index: 10019; width: 100%; max-width: var(--post-max); box-sizing: border-box;
  margin-inline: auto; padding-inline: var(--post-inline-pad); pointer-events: none;
}
body.page-post .post-assessment-dock * { box-sizing: border-box; }
body.page-post.cart-open .post-assessment-dock,
body.page-post .post-assessment-dock.is-no-gutter,
body.page-post .post-assessment-dock.is-suppressed { visibility: hidden; }
body.page-post .post-assessment-intro {
  position: relative; width: 100%; max-width: 100%; min-width: 0;
  max-height: var(--post-assessment-height, 70dvh);
  padding: 1rem; isolation: isolate; color: var(--text-light);
  border-radius: 1.25rem; overflow-wrap: anywhere;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; pointer-events: auto;
}
body.page-post .post-assessment-dock__peek {
  position: fixed; left: 0; bottom: var(--post-assessment-bottom, 6rem); z-index: 2;
  width: 100%; max-width: 9rem; box-sizing: border-box; min-height: 2.75rem; margin: 0; padding: .65rem .75rem;
  border: 1px solid transparent; border-left: 0; border-radius: 0 .75rem .75rem 0;
  display: grid; place-items: center; color: var(--text-light); cursor: pointer;
  font-family: 'Rajdhani', 'Montserrat', sans-serif; font-size: .95rem; font-weight: 700; line-height: 1.2;
  white-space: normal; overflow-wrap: anywhere; text-align: center;
  background: linear-gradient(160deg, var(--header-grad-from), var(--header-grad-mid1)) padding-box, var(--landing-brand-gradient) border-box;
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.24); pointer-events: auto; transform: none; filter: none;
}
body.page-post .post-assessment-dock__close {
  position: absolute; top: .35rem; right: .35rem; z-index: 1;
  display: grid; place-items: center; width: 2.75rem; max-width: 100%; min-height: 2.75rem;
  margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent;
  color: var(--text-light); font-size: 1.5rem; line-height: 1; cursor: pointer;
}
body.page-post .post-assessment-dock :focus-visible { outline: 2px solid var(--header-grad-mid3); outline-offset: 2px; }
body.page-post .post-assessment-intro__surface {
  position: absolute; inset: 0; z-index: -1; box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--landing-brand-border) 42%, var(--border));
  border-radius: inherit; pointer-events: none;
  background: linear-gradient(160deg, var(--header-grad-from), color-mix(in srgb, var(--header-grad-from) 86%, var(--header-grad-mid1)));
  box-shadow: var(--post-shadow-soft, var(--card-shadow));
}
body.page-post .post-assessment-intro__copy {
  width: 100%; max-width: 100%; box-sizing: border-box; margin-bottom: .85rem;
}
body.page-post .post-assessment-intro__copy p {
  margin: 0 0 .5rem; color: inherit; font-size: .95rem; line-height: 1.5; text-shadow: none;
}
body.page-post .post-assessment-intro__copy .assessment-title {
  padding-inline-end: 2.75rem; font-family: 'Rajdhani', 'Montserrat', sans-serif; font-size: 1.25rem; font-weight: 700; line-height: 1.2;
}
body.page-post .post-assessment-intro__copy .assessment-note {
  margin-bottom: 0; color: color-mix(in srgb, var(--text-light) 84%, transparent); font-size: .8rem;
}
@media (max-width: 480px) {
  .assessment-entry { padding: 1rem; }
  .assessment-entry .assessment-title { font-size: 1.45rem; }
  body.page-post .post-sticky-actions .post-program-cta__link,
  body.page-post .post-assessment-dock .post-assessment-cta__link { padding-inline: .5rem; font-size: .85rem; }
}
@media (min-width: 769px) {
  body.page-post .post-assessment-dock { display: block; }
  .assessment-actions { flex-direction: row; flex-wrap: wrap; }
  .assessment-actions > .cta-button { flex: 1 1 0; }
  .assessment-row { grid-template-columns: repeat(2, 1fr); }
  body.page-post .reaction-bar .post-sticky-actions { flex-direction: row; }
  body.page-post .reaction-bar .post-sticky-actions > * { flex: 1 1 0; }
}
@media (prefers-color-scheme: dark) {
  body.page-post .post-assessment-intro__surface {
    border-color: color-mix(in srgb, var(--landing-brand-border) 54%, var(--border));
  }
  .assessment-entry { border-color: color-mix(in srgb, var(--landing-brand-border) 42%, var(--border)); }
  .assessment-entry .cta-button, .post-assessment-dock .post-assessment-cta__link {
    background: linear-gradient(160deg, rgba(14,16,22,.74), rgba(10,12,18,.58)) padding-box, var(--landing-brand-gradient) border-box;
  }
  .page-assessment .calc-field textarea { background: color-mix(in srgb, #0f172a 82%, #1e293b); color: var(--text-light); color-scheme: dark; }
}
@media (prefers-reduced-motion: reduce) {
  .assessment-entry *, .assessment-panel *, .post-assessment-dock * { scroll-behavior: auto; transition: none; animation: none; }
}
