/* Small presentation refinements; brand colors, offer data and tracking stay separate. */
:root { --ui-action: #147b90; --ui-action-hover: #106779; }
.hero__inner > *, .simulator { min-width: 0; }
.btn--primary, .btn--teal { background: var(--ui-action); border-color: var(--ui-action); }
.btn--primary:hover, .btn--teal:hover { background: var(--ui-action-hover); border-color: var(--ui-action-hover); }
.btn--outline { color: var(--ui-action); border-color: var(--ui-action); }
.btn--outline:hover { background: var(--ui-action); }
.hero__badge, .hero__title span, .slider-value__current,
.sim-result__value--highlight, .phone-prefix { color: var(--ui-action); }
.hero__badge--tipo { color: #fff; background: var(--ui-action); }
.result-card__detail--rate .result-card__detail-value,
.result-card__detail--rate .result-card__detail-label { color: var(--ui-action); }
.sim-disclaimer { font-size: 14px !important; color: var(--gray-600); line-height: 1.6; }
.phone-hint, .result-card__detail-label { font-size: 13px; color: var(--gray-600); }
.lead-form__consent { font-size: 14px; line-height: 1.6; color: var(--gray-600); }
.lead-form__consent a, .policy-content a { color: var(--ui-action); }
.lead-form__consent input[type="checkbox"] { width: 22px; height: 22px; }
.form-group input[type="text"], .form-group input[type="email"],
.form-group input[type="tel"] { font-size: 16px; height: 54px; }
.phone-input-group { height: 54px; }
.phone-prefix, .phone-input-group input[type="tel"] { height: 50px; }
.form-group input::placeholder { color: var(--gray-500); }
.btn:focus-visible, input[type="range"]:focus-visible { outline: 3px solid var(--ui-action); outline-offset: 4px; }
input[type="range"]::-webkit-slider-thumb { height: 28px; }
input[type="range"]::-moz-range-thumb { height: 28px; }
.credit-example p { max-width: 82ch; line-height: 1.65; }
.tipas-summary__items { align-items: stretch; }
.tipas-summary__item { justify-content: flex-end; }
.tipas-summary__label { color: var(--gray-600); text-align: center; }
.tipas-summary__value { white-space: nowrap; }
.tipas-summary__edit { color: var(--ui-action); border-color: var(--ui-action); }
#tipas-contact-heading { scroll-margin-top: 160px; }
.tipas-steps__label { color: var(--gray-600); }
.tipas-steps__item--active .tipas-steps__label { color: var(--ui-action); }
.tipas-steps__item--active .tipas-steps__dot { background: var(--ui-action); border-color: var(--ui-action); }
.hero { padding-top: 48px; }
.simulator { padding: 28px 32px; }
.simulator__subtitle { margin-bottom: 20px; }
.simulator .form-group { margin-bottom: 18px; }
.sim-result { padding: 16px; }
.slider-value { margin-bottom: 8px; }
@media (max-width: 768px) {
  .hero { padding: 28px 0 48px; }
  .hero__inner { gap: 24px; }
  .hero__badge { margin-bottom: 16px; }
  .hero__title { margin-bottom: 14px; }
  .hero__subtitle { font-size: 17px; line-height: 1.55; margin-bottom: 0; }
  .simulator { padding: 22px 20px; }
  .simulator__title { font-size: 21px; }
  .results-hero { padding: 24px 0 32px; }
  .cookie-settings {
    position: fixed; left: 12px; bottom: 12px; right: auto; top: auto;
    width: 120px; min-height: 44px; margin: 0; padding: 7px 10px;
    border-radius: 14px; font-size: 13px; line-height: 1.25; white-space: normal;
  }
  input, button, a { scroll-margin-bottom: 80px; }
  body { padding-bottom: 68px; }
  .nav__toggle { flex-shrink: 0; }
}
@media (max-width: 600px) {
  .tipas-steps { align-items: flex-start; }
  .tipas-steps__item { flex: 1; min-width: 0; }
  .tipas-steps__label { text-align: center; min-height: 36px; }
  .tipas-steps__line { flex: 0 0 20px; margin: 18px 4px 0; }
  .tipas-summary { padding: 16px 10px; gap: 16px; }
  .tipas-summary__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tipas-summary__item { padding: 0 1px; min-width: 0; }
  .tipas-summary__item + .tipas-summary__sep + .tipas-summary__item { border-left: 1px solid var(--gray-200); }
  .tipas-summary__sep { display: none; }
  .tipas-summary__label { font-size: 12px; letter-spacing: 0; line-height: 1.4; min-height: 34px; display: flex; align-items: center; justify-content: center; }
  .tipas-summary__value { margin-top: 5px; }
  .tipas-summary__edit { align-self: center; }
}

/* Keep the floating settings shortcut clear of text entry on touch screens. */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  body:has(input:is([type="text"], [type="email"], [type="tel"], [type="search"], [type="url"], [type="number"], [type="password"], :not([type])):focus, textarea:focus) #cookieSettings {
    visibility: hidden;
    pointer-events: none;
  }
}

/* Balance the disclosure between the results heading and the first offer. */
.offers-intro { padding-top: 24px; }
.offers-intro .offers-note { max-width: 880px; margin: 0 auto; line-height: 1.6; }
.offers-intro + .section { padding-top: 28px; }
.offers-intro + .section .results-grid { margin-top: 0; }
