/* Tema Porto — ativado com ?theme=porto. */

html[data-theme="porto"] {
  --porto-blue: #00a1fc;
  --porto-blue-dark: #073b70;
  --porto-action: #006fba;
  --porto-sky: #d8f2ff;
  --porto-cloud: #f5f6f7;
  --porto-line: #cbd2d9;
  --porto-ink: #252a31;
  --sdb-petroleum: var(--porto-blue-dark);
  --sdb-turquoise: var(--porto-blue);
  --sdb-orange: var(--porto-action);
  --sdb-off-white: var(--porto-cloud);
  --sdb-graphite: var(--porto-ink);
  --sdb-bg: var(--porto-cloud);
  --sdb-surface: #ffffff;
  --sdb-surface-raised: #ffffff;
  --sdb-border: rgba(37, 42, 49, 0.2);
  --sdb-text: var(--porto-ink);
  --sdb-muted: #697785;
  --sdb-error: #b3261e;
  --sdb-radius-card: 20px;
  --sdb-radius-control: 8px;
  --sdb-shadow: 0 20px 56px rgba(7, 59, 112, 0.1), 0 2px 8px rgba(26, 40, 53, 0.06);
  font-family: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
}

html[data-theme="porto"] body {
  background:
    radial-gradient(circle at 9% 2%, rgba(0, 161, 252, 0.11), transparent 29rem),
    linear-gradient(180deg, #ffffff 0 92px, var(--porto-cloud) 92px);
}

html[data-theme="porto"] body::before {
  background: none;
}

html[data-theme="porto"] .skip-link {
  background: var(--porto-blue-dark);
}

html[data-theme="porto"] .site-header {
  border-bottom: 1px solid rgba(37, 42, 49, 0.08);
}

html[data-theme="porto"] .brand {
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .brand__halo,
html[data-theme="porto"] .brand__smile {
  stroke: var(--porto-blue);
}

html[data-theme="porto"] .brand__car {
  fill: var(--porto-blue-dark);
  stroke: var(--porto-blue-dark);
}

html[data-theme="porto"] .brand__face {
  stroke: #ffffff;
}

html[data-theme="porto"] .brand__wordmark strong {
  color: var(--porto-blue);
}

html[data-theme="porto"] .partner-lockup__divider {
  height: 36px;
  background: #d6dbe0;
}

html[data-theme="porto"] .partner-lockup__label {
  color: #778592;
}

html[data-theme="porto"] .partner-lockup__logo {
  max-width: 126px;
  height: 30px;
}

html[data-theme="porto"] .header-assurance {
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .header-assurance span {
  background: var(--porto-sky);
  color: var(--porto-action);
}

html[data-theme="porto"] .quote-stage {
  border-color: rgba(37, 42, 49, 0.13);
}

html[data-theme="porto"] .brand-panel {
  background:
    radial-gradient(circle at 82% 14%, rgba(255, 255, 255, 0.22), transparent 18rem),
    linear-gradient(148deg, #00a9ff 0%, #008ee0 47%, #006fba 100%);
}

html[data-theme="porto"] .brand-panel::before {
  position: absolute;
  top: -74px;
  right: -58px;
  width: 220px;
  height: 220px;
  border: 34px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  content: "";
}

html[data-theme="porto"] .brand-panel::after {
  right: -108px;
  bottom: -156px;
  border-color: #7dd4ff;
  opacity: 0.62;
}

html[data-theme="porto"] .brand-panel__eyebrow {
  color: #e0f5ff;
}

html[data-theme="porto"] .brand-panel__title strong {
  color: #ffffff;
}

html[data-theme="porto"] .brand-panel__illustration {
  filter: drop-shadow(0 24px 36px rgba(0, 65, 112, 0.24));
}

html[data-theme="porto"] .brand-panel__road--top {
  stroke: #c9efff;
}

html[data-theme="porto"] .brand-panel__car {
  fill: rgba(0, 80, 137, 0.42);
  stroke: #ffffff;
}

html[data-theme="porto"] .brand-panel__window,
html[data-theme="porto"] .brand-panel__face {
  stroke: #ffffff;
}

html[data-theme="porto"] .brand-panel__road--bottom {
  stroke: #9cddff;
}

html[data-theme="porto"] .brand-panel__note {
  background: rgba(0, 71, 122, 0.2);
  color: #ffffff;
}

html[data-theme="porto"] .back-button:hover {
  background: rgba(0, 161, 252, 0.08);
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .secure-mark {
  color: var(--porto-action);
}

html[data-theme="porto"] .step-group,
html[data-theme="porto"] .lookup-status--success,
html[data-theme="porto"] .vehicle-result__eyebrow,
html[data-theme="porto"] .tap-feedback {
  color: var(--porto-action);
}

html[data-theme="porto"] .encouragement {
  border-color: rgba(0, 161, 252, 0.28);
  background: #eef9ff;
  color: #385c73;
}

html[data-theme="porto"] .encouragement span,
html[data-theme="porto"] .vehicle-result__check,
html[data-theme="porto"] .success-state__icon {
  background: var(--porto-blue);
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .step-heading h1,
html[data-theme="porto"] .success-state h1,
html[data-theme="porto"] .field__label {
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .step-heading h1::after {
  width: 54px;
  height: 4px;
  background: var(--porto-blue);
}

html[data-theme="porto"] .social-name-toggle {
  border-color: rgba(0, 161, 252, 0.4);
  background: #eef9ff;
  color: var(--porto-action);
}

html[data-theme="porto"] .social-name-toggle:hover {
  background: var(--porto-sky);
}

html[data-theme="porto"] .social-name-panel {
  border-color: rgba(0, 111, 186, 0.22);
  background: #f6fbfe;
}

html[data-theme="porto"] .field__input {
  border-width: 1px;
  border-color: var(--porto-line);
  border-radius: var(--sdb-radius-control);
  color: var(--porto-ink);
  box-shadow: none;
}

html[data-theme="porto"] .field__input:hover {
  border-color: #93a2af;
}

html[data-theme="porto"] .field__input:focus {
  border-color: var(--porto-blue);
  box-shadow: 0 0 0 3px rgba(0, 161, 252, 0.16);
}

html[data-theme="porto"] .select-wrap::after {
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .choice-card,
html[data-theme="porto"] .fipe-candidate,
html[data-theme="porto"] .consent-card {
  border-width: 1px;
  border-color: var(--porto-line);
  border-radius: 10px;
  box-shadow: none;
}

html[data-theme="porto"] .choice-card:hover {
  border-color: var(--porto-blue);
  background: #f7fcff;
}

html[data-theme="porto"] .choice-card:has(input:focus-visible),
html[data-theme="porto"] .consent-card:has(input:focus-visible) {
  outline-color: rgba(0, 161, 252, 0.35);
}

html[data-theme="porto"] .choice-card:has(input:checked),
html[data-theme="porto"] .fipe-candidate:has(input:checked) {
  border-color: var(--porto-blue);
  background: var(--porto-sky);
  box-shadow: 0 0 0 1px rgba(0, 161, 252, 0.08);
}

html[data-theme="porto"] .choice-card__check,
html[data-theme="porto"] .consent-card__control {
  border-color: #8e9aa5;
}

html[data-theme="porto"] .choice-card:has(input:checked) .choice-card__check,
html[data-theme="porto"] .consent-card:has(input:checked) .consent-card__control {
  border-color: var(--porto-blue);
  background: var(--porto-blue);
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .alternative-actions button:hover {
  background: #eef9ff;
  color: var(--porto-action);
}

html[data-theme="porto"] .vehicle-result {
  border-color: rgba(0, 161, 252, 0.35);
  background: #eef9ff;
}

html[data-theme="porto"] .consent-card:has(input:checked) {
  border-color: rgba(0, 161, 252, 0.58);
  background: #eef9ff;
}

html[data-theme="porto"] .button {
  border-radius: 8px;
}

html[data-theme="porto"] .button:focus-visible,
html[data-theme="porto"] .back-button:focus-visible,
html[data-theme="porto"] .alternative-actions button:focus-visible {
  outline-color: rgba(0, 161, 252, 0.42);
}

html[data-theme="porto"] .button--primary {
  background: var(--porto-action);
  box-shadow: 0 9px 20px rgba(0, 111, 186, 0.2);
  color: #ffffff;
}

html[data-theme="porto"] .button--primary:hover {
  background: #005e9f;
  box-shadow: 0 12px 24px rgba(0, 94, 159, 0.25);
}

html[data-theme="porto"] .button--skip {
  background: #edf0f2;
  color: var(--porto-blue-dark);
}

html[data-theme="porto"] .success-state__icon {
  box-shadow: 0 0 0 11px rgba(0, 161, 252, 0.11);
}

@media (max-width: 899px) {
  html[data-theme="porto"] body {
    background: #ffffff;
  }

  html[data-theme="porto"] .site-header {
    background: #ffffff;
  }

  html[data-theme="porto"] .quote-stage {
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -7px 28px rgba(7, 59, 112, 0.07);
  }
}

@media (max-width: 480px) {
  html[data-theme="porto"] .partner-lockup__logo {
    max-width: 74px;
    height: 22px;
  }
}
