/*
  WASABI LIFE Brand 2.0 core component foundation.

  Scope is opt-in through [data-wl-brand-2026]. This stylesheet is intentionally
  dormant until a reviewed surface imports it. Consume semantic/component tokens
  only; legacy palette aliases and primitive values are migration sources, not API.
*/

[data-wl-brand-2026],
[data-wl-brand-2026] *,
[data-wl-brand-2026] *::before,
[data-wl-brand-2026] *::after {
  box-sizing: border-box;
}

[data-wl-brand-2026] {
  margin: 0;
  background: var(--wl-sem-surface-canvas);
  color: var(--wl-sem-text-primary);
  font-family: var(--wl-sem-font-product);
  font-size: var(--wl-sem-type-body-size);
  line-height: var(--wl-sem-type-body-leading);
}

[data-wl-brand-2026] :where(h1, h2, h3, h4, p, ol, ul, dl, dd, fieldset) {
  margin-block: 0;
}

[data-wl-brand-2026] :where(h1, h2, h3, h4) {
  color: var(--wl-sem-text-brand);
  font-family: var(--wl-sem-font-brand);
  text-wrap: balance;
}

[data-wl-brand-2026] :where(button, input, select, textarea) {
  color: inherit;
  font: inherit;
}

[data-wl-brand-2026] :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid transparent;
  box-shadow: var(--wl-sem-focus-ring);
}

.wl2026-lab-shell {
  width: min(calc(100% - (var(--wl-sem-space-page) * 2)), var(--wl-sem-layout-container));
  margin-inline: auto;
  padding-block: var(--wl-sem-space-page) var(--wl-sem-space-section);
}

.wl2026-lab-header {
  display: grid;
  gap: var(--wl-sem-space-card);
  padding: var(--wl-sem-space-section) 0;
}

.wl2026-lab-header > * {
  min-inline-size: 0;
}

.wl2026-lab-header h1 {
  max-inline-size: var(--wl-sem-layout-measure);
  font-size: var(--wl-sem-type-display-l-size);
  font-weight: var(--wl-sem-type-display-l-weight);
  line-height: var(--wl-sem-type-display-l-leading);
}

.wl2026-lab-header p {
  max-inline-size: var(--wl-sem-layout-measure);
  color: var(--wl-sem-text-muted);
  font-size: var(--wl-sem-type-body-l-size);
  line-height: var(--wl-sem-type-body-l-leading);
}

.wl2026-lab-status,
.wl2026-eyebrow,
.wl2026-state-label,
.wl2026-meta,
.wl2026-copy-note {
  font-size: var(--wl-sem-type-caption-size);
  font-weight: var(--wl-sem-type-caption-weight);
  line-height: var(--wl-sem-type-caption-leading);
}

.wl2026-lab-status,
.wl2026-eyebrow {
  color: var(--wl-sem-text-brand);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wl2026-lab-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-pill);
  background: var(--wl-sem-surface-functional);
  padding-inline: var(--wl-sem-space-card);
  overflow-wrap: anywhere;
}

.wl2026-section {
  display: grid;
  gap: var(--wl-sem-space-card);
  padding-block: var(--wl-sem-space-section);
  border-block-start: 1px solid var(--wl-sem-border-default);
}

.wl2026-section-heading {
  display: grid;
  gap: var(--wl-sem-space-inline);
}

.wl2026-section-heading h2 {
  font-size: var(--wl-sem-type-h2-size);
  font-weight: var(--wl-sem-type-h2-weight);
  line-height: var(--wl-sem-type-h2-leading);
}

.wl2026-section-heading p {
  max-inline-size: var(--wl-sem-layout-measure);
  color: var(--wl-sem-text-muted);
}

.wl2026-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--wl-sem-space-card);
}

.wl2026-grid > * {
  grid-column: span 4;
}

.wl2026-grid--two > * {
  grid-column: span 6;
}

.wl2026-grid--full > * {
  grid-column: 1 / -1;
}

.wl2026-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--wl-sem-space-control);
  min-inline-size: 0;
  border: 1px solid var(--wl-component-card-border);
  border-radius: var(--wl-component-card-radius);
  background: var(--wl-component-card-surface);
  box-shadow: var(--wl-sem-shadow-none);
  padding: var(--wl-sem-space-card);
  transition:
    transform var(--wl-sem-motion-fast) var(--wl-sem-ease-primary),
    border-color var(--wl-sem-motion-fast) var(--wl-sem-ease-primary),
    box-shadow var(--wl-sem-motion-fast) var(--wl-sem-ease-primary);
}

.wl2026-card[data-priority="p0"] {
  border-color: var(--wl-sem-border-strong);
  border-radius: var(--wl-sem-radius-feature);
  background: var(--wl-sem-surface-brand);
  color: var(--wl-sem-text-inverse);
}

.wl2026-card[data-priority="p0"] :where(h2, h3, h4, p, .wl2026-eyebrow, .wl2026-meta) {
  color: var(--wl-sem-text-inverse);
}

.wl2026-card[data-state="completed"] {
  border-color: var(--wl-sem-status-success-accent);
  background: var(--wl-sem-status-success-surface);
}

.wl2026-card :where(h3, h4) {
  font-size: var(--wl-sem-type-h4-size);
  font-weight: var(--wl-sem-type-h4-weight);
  line-height: var(--wl-sem-type-h4-leading);
}

.wl2026-card p,
.wl2026-card dd {
  color: var(--wl-sem-text-muted);
}

.wl2026-card__value {
  color: var(--wl-sem-text-brand);
  font-family: var(--wl-sem-font-brand);
  font-size: var(--wl-sem-type-h3-size);
  font-weight: var(--wl-sem-type-h3-weight);
  line-height: var(--wl-sem-type-h3-leading);
}

.wl2026-card__footer,
.wl2026-inline-actions,
.wl2026-badge-row,
.wl2026-delta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wl-sem-space-inline);
}

.wl2026-card__footer {
  margin-block-start: auto;
  padding-block-start: var(--wl-sem-space-inline);
}

.wl2026-meta,
.wl2026-copy-note {
  color: var(--wl-sem-text-muted);
}

.wl2026-copy-note {
  display: block;
  border-inline-start: 3px solid var(--wl-sem-border-strong);
  padding-inline-start: var(--wl-sem-space-control);
}

.wl2026-button {
  display: inline-flex;
  min-height: var(--wl-component-action-primary-min-height);
  align-items: center;
  justify-content: center;
  gap: var(--wl-sem-space-inline);
  border: 1px solid var(--wl-sem-border-strong);
  border-radius: var(--wl-component-action-primary-radius);
  background: var(--wl-sem-action-secondary);
  color: var(--wl-sem-action-secondary-text);
  padding: var(--wl-sem-space-control) var(--wl-sem-space-card);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--wl-sem-motion-fast) var(--wl-sem-ease-primary),
    background-color var(--wl-sem-motion-fast) var(--wl-sem-ease-primary),
    border-color var(--wl-sem-motion-fast) var(--wl-sem-ease-primary),
    color var(--wl-sem-motion-fast) var(--wl-sem-ease-primary);
}

.wl2026-button--primary {
  border-color: var(--wl-component-action-primary-bg);
  background: var(--wl-component-action-primary-bg);
  color: var(--wl-component-action-primary-text);
}

.wl2026-card[data-priority="p0"] .wl2026-button:not(.wl2026-button--primary) {
  border-color: var(--wl-sem-surface-functional);
  color: var(--wl-sem-text-inverse);
}

.wl2026-button--quiet {
  border-color: transparent;
  background: transparent;
}

.wl2026-state-label,
.wl2026-trust-badge,
.wl2026-deadline-badge,
.wl2026-delta-chip {
  display: inline-flex;
  width: fit-content;
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  gap: var(--wl-sem-space-inline);
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-pill);
  padding: var(--wl-sem-space-inline) var(--wl-sem-space-control);
}

.wl2026-state-label::before,
.wl2026-progress-item__state::before,
.wl2026-journey-rail__state::before {
  content: "";
  width: var(--wl-sem-space-inline);
  height: var(--wl-sem-space-inline);
  flex: 0 0 auto;
  border: 2px solid currentColor;
  border-radius: var(--wl-sem-radius-pill);
  background: transparent;
}

[data-state="eligible"] > .wl2026-state-label,
[data-state="completed"] > .wl2026-state-label,
.wl2026-state-label[data-state="eligible"],
.wl2026-progress-item[data-state="completed"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-status-success-accent);
  background: var(--wl-sem-status-success-surface);
  color: var(--wl-sem-status-success-text);
}

[data-state="likely-eligible"] > .wl2026-state-label,
.wl2026-state-label[data-state="likely-eligible"],
[data-state="in-progress"] > .wl2026-state-label,
.wl2026-progress-item[data-state="in-progress"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-status-info-accent);
  background: var(--wl-sem-status-info-surface);
  color: var(--wl-sem-status-info-text);
}

[data-state="unknown"] > .wl2026-state-label,
.wl2026-state-label[data-state="unknown"],
[data-state="needs-info"] > .wl2026-state-label,
.wl2026-progress-item[data-state="needs-info"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-status-warning-accent);
  background: var(--wl-sem-status-warning-surface);
  color: var(--wl-sem-status-warning-text);
}

[data-state="likely-ineligible"] > .wl2026-state-label,
.wl2026-state-label[data-state="likely-ineligible"],
[data-state="skipped"] > .wl2026-state-label,
.wl2026-progress-item[data-state="skipped"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-border-default);
  background: var(--wl-sem-surface-brand-soft);
  color: var(--wl-sem-text-muted);
}

[data-state="ineligible"] > .wl2026-state-label,
.wl2026-state-label[data-state="ineligible"],
[data-state="blocked"] > .wl2026-state-label,
.wl2026-progress-item[data-state="blocked"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-status-error-accent);
  background: var(--wl-sem-status-error-surface);
  color: var(--wl-sem-status-error-text);
}

[data-state="not-started"] > .wl2026-state-label,
.wl2026-progress-item[data-state="not-started"] .wl2026-progress-item__state {
  border-color: var(--wl-sem-border-default);
  background: var(--wl-sem-surface-functional);
  color: var(--wl-sem-text-muted);
}

.wl2026-action-card {
  min-block-size: 100%;
}

.wl2026-action-card__reason {
  max-inline-size: var(--wl-sem-layout-measure);
}

.wl2026-action-card[data-state="completed"] .wl2026-card__footer,
.wl2026-benefit-card .wl2026-card__footer {
  border-block-start: 1px solid var(--wl-sem-border-default);
}

.wl2026-role-label {
  color: var(--wl-sem-text-brand);
  font-size: var(--wl-sem-type-caption-size);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--wl-sem-type-caption-leading);
  text-transform: uppercase;
}

.wl2026-benefit-card__conditions,
.wl2026-provider-card__disclosure,
.wl2026-tool-card__contract,
.wl2026-guide-card__answer,
.wl2026-opportunity-card__match {
  display: grid;
  gap: var(--wl-sem-space-inline);
  padding-block: var(--wl-sem-space-control);
  border-block: 1px solid var(--wl-sem-border-default);
}

.wl2026-benefit-card__conditions dt,
.wl2026-tool-card__contract dt {
  color: var(--wl-sem-text-brand);
  font-weight: 700;
}

.wl2026-benefit-card__conditions dd,
.wl2026-tool-card__contract dd {
  margin-inline-start: 0;
}

.wl2026-tool-card {
  border-block-start: var(--wl-sem-space-inline) solid var(--wl-sem-border-strong);
}

.wl2026-tool-card__result {
  display: grid;
  gap: var(--wl-sem-space-inline);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-brand-soft);
  padding: var(--wl-sem-space-control);
}

.wl2026-tool-card__result p {
  color: var(--wl-sem-text-brand);
  font-family: var(--wl-sem-font-brand);
  font-size: var(--wl-sem-type-body-l-size);
  font-weight: 700;
  line-height: var(--wl-sem-type-body-l-leading);
}

.wl2026-guide-card {
  border-inline-start: var(--wl-sem-space-inline) solid var(--wl-sem-status-info-accent);
}

.wl2026-guide-card__trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wl-sem-space-inline);
}

.wl2026-guide-card__trust > div {
  display: grid;
  gap: var(--wl-sem-space-inline);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-status-info-surface);
  padding: var(--wl-sem-space-control);
}

.wl2026-guide-card__trust dt {
  color: var(--wl-sem-status-info-text);
  font-weight: 700;
}

.wl2026-guide-card__trust dd {
  margin-inline-start: 0;
  font-size: var(--wl-sem-type-small-size);
}

.wl2026-opportunity-card {
  border-color: var(--wl-sem-border-strong);
}

.wl2026-opportunity-card__match {
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-brand-soft);
  padding-inline: var(--wl-sem-space-control);
}

.wl2026-provider-card {
  border-color: var(--wl-sem-border-default);
  background: var(--wl-sem-surface-brand-soft);
}

.wl2026-provider-card h3 {
  font-size: var(--wl-sem-type-body-l-size);
  line-height: var(--wl-sem-type-body-l-leading);
}

.wl2026-provider-card__route {
  display: grid;
  gap: var(--wl-sem-space-inline);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wl2026-provider-card__route li {
  display: grid;
  gap: var(--wl-sem-space-inline);
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-functional);
  padding: var(--wl-sem-space-control);
}

.wl2026-provider-card__route li[data-route="direct"] {
  border-color: var(--wl-sem-border-strong);
}

.wl2026-provider-card__route strong {
  color: var(--wl-sem-text-brand);
}

.wl2026-provider-card__route span {
  color: var(--wl-sem-text-muted);
  font-size: var(--wl-sem-type-small-size);
}

.wl2026-provider-card__disclosure {
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-status-warning-surface);
  padding-inline: var(--wl-sem-space-control);
}

.wl2026-provider-card__disclosure strong {
  color: var(--wl-sem-status-warning-text);
}

.wl2026-trust-badge {
  background: var(--wl-sem-status-info-surface);
  color: var(--wl-sem-status-info-text);
  text-decoration: none;
}

.wl2026-trust-badge[data-state="needs-review"] {
  border-color: var(--wl-sem-status-warning-accent);
  background: var(--wl-sem-status-warning-surface);
  color: var(--wl-sem-status-warning-text);
}

.wl2026-deadline-badge[data-state="unknown"] {
  border-color: var(--wl-sem-status-warning-accent);
  background: var(--wl-sem-status-warning-surface);
  color: var(--wl-sem-status-warning-text);
}

.wl2026-delta-chip {
  align-items: flex-start;
  border-radius: var(--wl-sem-radius-card);
  background: var(--wl-sem-surface-functional);
}

.wl2026-delta-chip__value {
  color: var(--wl-sem-text-brand);
  font-family: var(--wl-sem-font-brand);
  font-weight: 700;
}

.wl2026-delta-chip__basis {
  color: var(--wl-sem-text-muted);
  font-size: var(--wl-sem-type-caption-size);
}

.wl2026-why-this {
  overflow: clip;
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-functional);
  color: var(--wl-sem-text-primary);
}

.wl2026-why-this > summary {
  display: flex;
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  justify-content: space-between;
  gap: var(--wl-sem-space-control);
  padding: var(--wl-sem-space-control);
  color: var(--wl-sem-text-brand);
  font-weight: 700;
  cursor: pointer;
}

.wl2026-why-this > summary::after {
  content: "+";
  font-family: var(--wl-sem-font-brand);
  font-size: var(--wl-sem-type-h4-size);
}

.wl2026-why-this[open] > summary::after {
  content: "−";
}

.wl2026-why-this[open] > summary {
  border-block-end: 1px solid var(--wl-sem-border-default);
  background: var(--wl-sem-surface-brand-soft);
}

.wl2026-why-this__body {
  display: grid;
  gap: var(--wl-sem-space-control);
  padding: 0 var(--wl-sem-space-control) var(--wl-sem-space-control);
}

.wl2026-why-this[open] .wl2026-why-this__body {
  padding-block-start: var(--wl-sem-space-control);
}

.wl2026-why-this__facts {
  display: grid;
  gap: 0;
  margin: 0;
  border-block-start: 1px solid var(--wl-sem-border-default);
}

.wl2026-why-this__facts > div {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) minmax(0, 2fr);
  gap: var(--wl-sem-space-control);
  padding-block: var(--wl-sem-space-control);
  border-block-end: 1px solid var(--wl-sem-border-default);
}

.wl2026-why-this__facts dt {
  color: var(--wl-sem-text-brand);
  font-weight: 700;
}

.wl2026-why-this__facts dd {
  margin-inline-start: 0;
}

.wl2026-next-step {
  border-inline-start: var(--wl-sem-space-inline) solid var(--wl-sem-border-strong);
  background: var(--wl-sem-surface-brand-soft);
}

.wl2026-journey-rail {
  overflow: clip;
}

.wl2026-journey-rail__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.wl2026-journey-rail__node {
  position: relative;
  display: grid;
  min-inline-size: 0;
  gap: var(--wl-sem-space-inline);
  padding: var(--wl-sem-space-card) var(--wl-sem-space-control);
  border-block-start: 2px solid var(--wl-sem-border-default);
}

.wl2026-journey-rail__node::before {
  content: "";
  position: absolute;
  inset-block-start: calc((var(--wl-sem-space-control) / 2) * -1);
  inset-inline-start: var(--wl-sem-space-control);
  width: var(--wl-sem-space-control);
  height: var(--wl-sem-space-control);
  border: 2px solid var(--wl-sem-border-strong);
  border-radius: var(--wl-sem-radius-pill);
  background: var(--wl-sem-surface-functional);
}

.wl2026-journey-rail__node[data-state="completed"] {
  border-block-start-color: var(--wl-sem-status-success-accent);
}

.wl2026-journey-rail__node[data-state="completed"]::before,
.wl2026-journey-rail__node[data-state="completed"] .wl2026-journey-rail__state::before {
  border-color: var(--wl-sem-status-success-accent);
  background: var(--wl-sem-status-success-accent);
}

.wl2026-journey-rail__node[aria-current="step"] {
  border-block-start-color: var(--wl-sem-border-strong);
  background: var(--wl-sem-surface-brand-soft);
}

.wl2026-journey-rail__node[aria-current="step"]::before {
  border-color: var(--wl-component-action-primary-bg);
  background: var(--wl-component-action-primary-bg);
}

.wl2026-journey-rail__node[data-state="needs-info"] {
  background: var(--wl-sem-status-warning-surface);
}

.wl2026-journey-rail__node[data-state="needs-info"]::before,
.wl2026-journey-rail__node[data-state="needs-info"] .wl2026-journey-rail__state::before {
  border-color: var(--wl-sem-status-warning-accent);
  border-radius: var(--wl-sem-radius-control);
}

.wl2026-journey-rail__node[data-state="blocked"] {
  border-block-start-style: dashed;
  background: var(--wl-sem-status-error-surface);
}

.wl2026-journey-rail__node[data-state="blocked"]::before {
  border-color: var(--wl-sem-status-error-accent);
  background: var(--wl-sem-status-error-surface);
}

.wl2026-journey-rail__node[data-state="blocked"] a {
  color: var(--wl-sem-status-error-text);
}

.wl2026-journey-rail__node a {
  display: inline-flex;
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  color: var(--wl-sem-text-brand);
  font-weight: 700;
}

.wl2026-journey-rail__state,
.wl2026-progress-item__state {
  display: inline-flex;
  align-items: center;
  gap: var(--wl-sem-space-inline);
  color: var(--wl-sem-text-muted);
  font-size: var(--wl-sem-type-caption-size);
  font-weight: 700;
}

.wl2026-journey-rail--mobile-preview {
  max-inline-size: 390px;
}

.wl2026-journey-rail--mobile-preview .wl2026-journey-rail__list {
  grid-template-columns: 1fr;
}

.wl2026-journey-rail--mobile-preview .wl2026-journey-rail__node {
  border-block-start: 0;
  border-inline-start: 2px solid var(--wl-sem-border-default);
}

.wl2026-journey-rail--mobile-preview .wl2026-journey-rail__node::before {
  inset-block-start: var(--wl-sem-space-card);
  inset-inline-start: calc((var(--wl-sem-space-control) / 2) * -1);
}

.wl2026-journey-rail--mobile-preview .wl2026-journey-rail__node[aria-current="step"] {
  border-inline-start-color: var(--wl-sem-border-strong);
}

.wl2026-progress-list {
  display: grid;
  gap: var(--wl-sem-space-control);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wl2026-progress-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--wl-sem-space-control);
  border: 1px solid var(--wl-sem-border-default);
  border-inline-start: var(--wl-sem-space-inline) solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-card);
  background: var(--wl-sem-surface-functional);
  padding: var(--wl-sem-space-control) var(--wl-sem-space-card);
}

.wl2026-progress-item[data-state="in-progress"] {
  border-inline-start-color: var(--wl-sem-status-info-accent);
}

.wl2026-progress-item[data-state="completed"] {
  border-inline-start-color: var(--wl-sem-status-success-accent);
}

.wl2026-progress-item[data-state="needs-info"] {
  border-inline-start-color: var(--wl-sem-status-warning-accent);
}

.wl2026-progress-item[data-state="blocked"] {
  border-inline-start-color: var(--wl-sem-status-error-accent);
}

.wl2026-progress-item__main {
  display: grid;
  min-inline-size: 0;
  gap: var(--wl-sem-space-inline);
}

.wl2026-progress-item__title {
  color: var(--wl-sem-text-brand);
  font-weight: 700;
}

.wl2026-progress-item__action {
  display: inline-flex;
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  justify-self: end;
  border: 1px solid var(--wl-sem-border-strong);
  border-radius: var(--wl-sem-radius-control);
  color: var(--wl-sem-text-brand);
  padding-inline: var(--wl-sem-space-card);
  font-weight: 700;
  text-decoration: none;
}

.wl2026-progress-item__state {
  width: fit-content;
  min-height: var(--wl-sem-touch-target);
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-pill);
  padding-inline: var(--wl-sem-space-control);
}

.wl2026-ask-card fieldset {
  display: grid;
  gap: var(--wl-sem-space-control);
  border: 0;
  padding: 0;
}

.wl2026-ask-card legend {
  margin-block-end: var(--wl-sem-space-control);
  color: var(--wl-sem-text-brand);
  font-family: var(--wl-sem-font-brand);
  font-size: var(--wl-sem-type-h4-size);
  font-weight: 700;
}

.wl2026-choice {
  display: grid;
  grid-template-columns: var(--wl-sem-touch-target) minmax(0, 1fr);
  min-height: var(--wl-sem-touch-target);
  align-items: center;
  border: 1px solid var(--wl-sem-border-default);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-functional);
  cursor: pointer;
}

.wl2026-choice input {
  width: 20px;
  height: 20px;
  margin-inline: auto;
  accent-color: var(--wl-sem-status-success-accent);
}

.wl2026-choice span {
  padding: var(--wl-sem-space-control);
}

.wl2026-privacy-note {
  padding: var(--wl-sem-space-control);
  border-radius: var(--wl-sem-radius-control);
  background: var(--wl-sem-surface-brand-soft);
  color: var(--wl-sem-text-brand);
  font-size: var(--wl-sem-type-small-size);
  line-height: var(--wl-sem-type-small-leading);
}

@media (hover: hover) and (pointer: fine) {
  .wl2026-card:hover {
    transform: translateY(-2px);
    border-color: var(--wl-sem-border-strong);
    box-shadow: var(--wl-component-card-shadow);
  }

  .wl2026-button:hover {
    transform: translateY(-2px);
  }
}

@media (max-width: 64rem) {
  .wl2026-grid > *,
  .wl2026-grid--two > * {
    grid-column: span 6;
  }
}

@media (max-width: 48rem) {
  .wl2026-lab-shell {
    width: min(calc(100% - (var(--wl-sem-space-page) * 2)), var(--wl-sem-layout-container));
  }

  .wl2026-lab-header {
    gap: var(--wl-sem-space-control);
    padding-block: calc(var(--wl-sem-space-card) + var(--wl-sem-space-control));
  }

  .wl2026-lab-header h1 {
    font-size: var(--wl-sem-type-display-l-size);
    line-height: var(--wl-sem-type-display-l-leading);
  }

  .wl2026-grid {
    grid-template-columns: 1fr;
    gap: calc(var(--wl-sem-space-card) - var(--wl-sem-space-inline));
  }

  .wl2026-section {
    gap: var(--wl-sem-space-control);
    padding-block: calc(var(--wl-sem-space-card) + var(--wl-sem-space-control));
  }

  .wl2026-section-heading p {
    font-size: var(--wl-sem-type-small-size);
    line-height: var(--wl-sem-type-small-leading);
  }

  .wl2026-grid > *,
  .wl2026-grid--two > * {
    grid-column: 1;
  }

  .wl2026-card__footer,
  .wl2026-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .wl2026-button {
    width: 100%;
  }

  .wl2026-journey-rail__list {
    grid-template-columns: 1fr;
  }

  .wl2026-journey-rail__node {
    border-block-start: 0;
    border-inline-start: 2px solid var(--wl-sem-border-default);
  }

  .wl2026-journey-rail__node::before {
    inset-block-start: var(--wl-sem-space-card);
    inset-inline-start: calc((var(--wl-sem-space-control) / 2) * -1);
  }

  .wl2026-journey-rail__node[aria-current="step"] {
    border-inline-start-color: var(--wl-sem-border-strong);
  }

  .wl2026-progress-item {
    grid-template-columns: 1fr;
  }

  .wl2026-progress-item__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
  }

  .wl2026-guide-card__trust,
  .wl2026-why-this__facts > div {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wl2026-card,
  .wl2026-button {
    transition-duration: 0ms;
  }

  .wl2026-card:hover,
  .wl2026-button:hover {
    transform: none;
  }
}
