:root {
  --evervoice-bg: #10151b;
  --evervoice-surface: #f4f7fb;
  --evervoice-text: #1d2735;
  --evervoice-page-text: #e3eaf4;
  --evervoice-border: #c9d3e2;
  --evervoice-accent: #1f6feb;
  --evervoice-radius-base: 24px;
  --evervoice-radius-pill: 24px;
  --evervoice-pill-height: 32px;
  --evervoice-pill-padding-x: 12px;
  --evervoice-pill-font-size: 0.85rem;
  --evervoice-pill-line-height: 1.2;
  --evervoice-grid-gap: 24px;
  --evervoice-pane-padding: 24px;
  --evervoice-button-bg: #dbe7ff;
  --evervoice-button-bg-hover: #c6daff;
  --evervoice-button-border: #adc6f8;
  --evervoice-button-text: #173f7a;
  --evervoice-message-status-bg: #edf4ff;
  --evervoice-message-status-border: #c8d8f5;
  --evervoice-message-status-text: #1b3a6f;
  --evervoice-message-warning-bg: #fff6df;
  --evervoice-message-warning-border: #f1d595;
  --evervoice-message-warning-text: #6b4e13;
  --evervoice-message-error-bg: #ffeef0;
  --evervoice-message-error-border: #efb8c0;
  --evervoice-message-error-text: #7a1f2a;
}

html,
body {
  margin: 0;
  padding: 0;
  color: var(--evervoice-page-text);
  background: var(--evervoice-bg);
  font-family: "Helvetica", Arial, sans-serif;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: var(--evervoice-accent);
}

.layout-container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 1.25rem;
  box-sizing: border-box;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.layout-container--interview {
  width: 100%;
  max-width: 1600px;
}

.layout-container > footer[role="contentinfo"] {
  margin-top: auto;
  margin-bottom: 0;
  background: transparent;
  border: 0;
  color: var(--evervoice-page-text);
}

header,
main,
aside,
footer {
  background: var(--evervoice-surface);
  border: 1px solid var(--evervoice-border);
  border-radius: var(--evervoice-radius-base);
  padding: var(--evervoice-pane-padding);
  margin-bottom: var(--evervoice-grid-gap);
  color: var(--evervoice-text);
}

.layout-container > header[role="banner"] {
  display: flex;
  flex-direction: column;
  gap: var(--evervoice-grid-gap);
}

.evervoice-header-row {
  min-width: 0;
}

.evervoice-header-row--tabs:empty {
  display: none;
}

.evervoice-interview-header-guidance {
  color: #4f5561;
  max-width: 100%;
}

.evervoice-interview-header-guidance > :first-child {
  margin-top: 0;
}

.evervoice-interview-header-guidance > :last-child {
  margin-bottom: 0;
}

.evervoice-interview-main {
  min-height: 40vh;
}

.evervoice-interview-page .evervoice-interview-main {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

.evervoice-main--plain {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Global breadcrumb style (core Drupal + interview custom breadcrumb). */
.evervoice-breadcrumb-wrap,
nav[aria-labelledby="system-breadcrumb"],
nav[aria-label*="breadcrumb" i] {
  margin: 0;
}

.evervoice-breadcrumb,
nav[aria-labelledby="system-breadcrumb"] ol,
nav[aria-label*="breadcrumb" i] ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.92rem;
  line-height: 1.35;
  color: #5c6678;
}

.evervoice-breadcrumb li,
nav[aria-labelledby="system-breadcrumb"] ol li,
nav[aria-label*="breadcrumb" i] ol li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.evervoice-breadcrumb li + li::before,
nav[aria-labelledby="system-breadcrumb"] ol li + li::before,
nav[aria-label*="breadcrumb" i] ol li + li::before {
  content: "/";
  color: #a4b0c3;
  font-weight: 600;
}

.evervoice-breadcrumb a,
nav[aria-labelledby="system-breadcrumb"] ol li a,
nav[aria-label*="breadcrumb" i] ol li a {
  display: inline-flex;
  align-items: center;
  min-height: var(--evervoice-pill-height, 32px);
  padding: 0 var(--evervoice-pill-padding-x, 12px);
  font-size: var(--evervoice-pill-font-size, 0.85rem);
  line-height: var(--evervoice-pill-line-height, 1.2);
  border: 1px solid #c9ced6;
  border-radius: 999px;
  text-decoration: none;
  color: #1f2328;
  background: var(--evervoice-surface);
}

.evervoice-breadcrumb a:hover,
.evervoice-breadcrumb a:focus,
nav[aria-labelledby="system-breadcrumb"] ol li a:hover,
nav[aria-labelledby="system-breadcrumb"] ol li a:focus,
nav[aria-label*="breadcrumb" i] ol li a:hover,
nav[aria-label*="breadcrumb" i] ol li a:focus {
  border-color: #8f98a3;
  text-decoration: none;
}

.evervoice-breadcrumb li:last-child,
.evervoice-breadcrumb li:last-child a,
nav[aria-labelledby="system-breadcrumb"] ol li:last-child,
nav[aria-labelledby="system-breadcrumb"] ol li:last-child a,
nav[aria-label*="breadcrumb" i] ol li:last-child,
nav[aria-label*="breadcrumb" i] ol li:last-child a {
  font-weight: 600;
}

.evervoice-breadcrumb li:last-child a,
nav[aria-labelledby="system-breadcrumb"] ol li:last-child a,
nav[aria-label*="breadcrumb" i] ol li:last-child a {
  background: #1f2328;
  border-color: #1f2328;
  color: var(--evervoice-page-text);
}

.evervoice-prompt h1 {
  margin: 0 0 1rem;
  line-height: 1.2;
}

h1 {
  letter-spacing: -0.015em;
}

.evervoice-user {
  background: var(--evervoice-surface);
  border: 1px solid var(--evervoice-border);
  border-radius: var(--evervoice-radius-base);
  padding: 1rem;
}

.evervoice-child-slots {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--evervoice-grid-gap);
}

.evervoice-child-summary-pane {
  margin: 0 0 var(--evervoice-grid-gap);
  padding: var(--evervoice-pane-padding);
  border: 1px solid var(--evervoice-border);
  border-radius: var(--evervoice-radius-base);
  background: var(--evervoice-surface);
  color: var(--evervoice-text);
}

.evervoice-child-summary-pane p {
  margin: 0;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane {
  margin: 0;
  padding: var(--evervoice-pane-padding);
  border: 1px solid var(--evervoice-border);
  border-radius: var(--evervoice-radius-base);
  background: var(--evervoice-surface);
  color: var(--evervoice-text);
  min-width: 0;
  box-sizing: border-box;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane > legend {
  float: left;
  width: 100%;
  margin: 0 0 0.85rem;
  padding: 0;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane > legend .fieldset-legend {
  display: block;
  font-weight: 700;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane > legend + * {
  clear: both;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-item {
  margin: 0 0 0.9rem;
  min-width: 0;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-item > label {
  display: block;
  margin: 0 0 0.35rem;
  font-weight: 600;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane input[type="email"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane input[type="text"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane input[type="search"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane input[type="url"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane input[type="tel"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane textarea,
.evervoice-child-links-form fieldset.evervoice-child-slot-pane select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane textarea {
  min-height: 120px;
  resize: vertical;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane .description,
.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-item__description {
  margin-top: 0.45rem;
  color: #52627a;
  line-height: 1.4;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-actions {
  margin-top: 1rem;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-actions .button,
.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-actions input[type="submit"],
.evervoice-child-links-form fieldset.evervoice-child-slot-pane .form-actions button {
  max-width: 100%;
}

@media (min-width: 1024px) {
  .evervoice-child-slots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .evervoice-child-links-form fieldset.evervoice-child-slot-pane {
    height: 100%;
  }
}

.evervoice-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
  gap: var(--evervoice-grid-gap);
}

.evervoice-footer__brand p {
  margin: 0.4rem 0 0;
  color: var(--evervoice-page-text);
}

.evervoice-footer__nav h3 {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
}

.evervoice-footer__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.evervoice-footer__nav li + li {
  margin-top: 0.3rem;
}

.evervoice-footer__meta {
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(227, 234, 244, 0.35);
  color: var(--evervoice-page-text);
}

.layout-container > footer[role="contentinfo"] a {
  color: var(--evervoice-page-text);
}

.layout-container > footer[role="contentinfo"] a:hover,
.layout-container > footer[role="contentinfo"] a:focus {
  color: var(--evervoice-page-text);
}

@media (max-width: 900px) {
  .evervoice-footer {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .evervoice-footer {
    grid-template-columns: 1fr;
  }
}
