/*
 * Versioned public layout fixes. Keep these rules component-scoped so they can
 * safely coexist with the legacy theme and WordPress Additional CSS.
 */

html {
  scroll-behavior: smooth;
}

#cont2,
#vt-home-lead {
  scroll-margin-top: 24px;
}

.eriberka-slider__container,
.eriberka-slider {
  overflow: hidden !important;
}

html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible,
html body [role="button"]:focus-visible,
html body [tabindex]:focus-visible {
  outline: 3px solid #ffcf33 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #0d3e86 !important;
}

html body .header-contact__socials .telephone,
html body .gift-soc__link,
html body .footer-soc__link {
  min-width: 44px !important;
  min-height: 44px !important;
}

html body .visit-contact-widget__close {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
}

body.modal-open #mobileMessengers.visit-contact-widget,
body.vt-modal-active #mobileMessengers.visit-contact-widget,
body.vt-form-control-active #mobileMessengers.visit-contact-widget,
body.vt-home-hero-visible #mobileMessengers.visit-contact-widget {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
}

.eriberka-shine .shine-unavailable {
  max-width: 34rem;
  margin-top: 8px;
  color: #616161;
  font-size: 14px;
  line-height: 1.45;
}

.visit-field-error-v166 {
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  color: #7a1220 !important;
  background: #fff0f2 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.eriberka-form__box2 > .visit-field-error-v166--phone {
  grid-column: 1 / 2 !important;
  order: 2 !important;
}

.eriberka-form__box2 > .messenger-choice {
  order: 3 !important;
}

.eriberka-form__box2 > .visit-field-error-v166--messenger {
  grid-column: 1 / -1 !important;
  order: 3 !important;
}

.eriberka-form__box2 > .feed-form__checkbox {
  order: 4 !important;
}

.eriberka-form__box2 > .visit-field-error-v166--privacy {
  grid-column: 1 / -1 !important;
  order: 4 !important;
}

@media (min-width: 768px) {
  html body .section._first .eriberka .eriberka-form__box2 {
    grid-template-columns: minmax(0, 1fr) 200px !important;
    grid-template-rows: repeat(6, auto) !important;
  }

  html body #cont2 .eriberka-form__button {
    width: 200px !important;
    min-width: 200px !important;
  }

  html body #cont2 .eriberka-form__button .button {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    white-space: nowrap !important;
  }

  html body #cont2 .eriberka-form__button .button::before {
    content: none !important;
    display: none !important;
  }

  html body #cont2 .eriberka-form__button .button svg {
    display: none !important;
  }

  html body .eriberka-form__box2 > .eriberka-form__input,
  html body .eriberka-form__box2 > .eriberka-form__button {
    grid-row: 1 !important;
  }

  html body .eriberka-form__box2 > .visit-field-error-v166--phone {
    grid-row: 2 !important;
    order: 2 !important;
  }

  html body .section._first .eriberka .eriberka-form__box2 > .messenger-choice {
    grid-row: 3 !important;
    order: 3 !important;
  }

  html body .eriberka-form__box2 > .visit-field-error-v166--messenger {
    grid-row: 4 !important;
    order: 4 !important;
  }

  html body .section._first .eriberka .eriberka-form__box2 > .feed-form__checkbox {
    grid-row: 5 !important;
    order: 5 !important;
  }

  html body .eriberka-form__box2 > .visit-field-error-v166--privacy {
    grid-row: 6 !important;
    order: 6 !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body #cont2 .eriberka-form__title::before {
    font-size: 22px !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  .eriberka-form__box2 > .visit-field-error-v166--phone {
    grid-column: 1 / -1 !important;
  }

  #mobileMessengers.visit-contact-widget {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }

  body.vt-has-tour-nav {
    padding-bottom: 138px !important;
  }

  .visit-tour-page-nav {
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
}
/* Restore the homepage aurora factor SVGs after WordPress reports them as 1×1. */
.forecast .driver .driver-icon img {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain !important;
}

/* Keep the registry crest proportional when native image dimensions are present. */
.footer .footer-block > .footer-subtext:first-child img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Keep the footer payment strip at its original aspect ratio. */
.footer .footer-subtext2 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Keep footer contact rows compact while preserving comfortable click targets. */
.footer .footer-list__menu._icon li {
  margin: 0 !important;
  padding-bottom: 4px !important;
}

.footer .footer-list__menu._icon li:last-child {
  padding-bottom: 0 !important;
}

.footer .footer-list__menu._icon a {
  min-height: 34px !important;
  align-items: center !important;
}

/* Restore the compact social strip above the header. */
.gift .gift-soc__link {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
}

.gift .gift-soc__link svg,
.gift .gift-soc__link img {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
}

.gift .gift-icon {
  margin-top: 0 !important;
  align-items: center !important;
}

/* Date and Kp details for the selectable standalone aurora forecast. */
.forecast .vt-aurora-meta {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  color: #ffffff;
}

.forecast .vt-aurora-meta p {
  margin: 0;
  color: inherit;
  font-size: 14px;
  line-height: 1.3;
}

.forecast .vt-aurora-meta__activity {
  font-family: "Mont Semibold", "Mont Regular", sans-serif;
}

.forecast .shine-scale__item {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.forecast .shine-scale__item.is-selected {
  transform: translateY(-5px);
  box-shadow: 0 0 0 2px #ffffff, 0 7px 14px rgba(6, 45, 78, 0.25);
  filter: saturate(1.08);
}

.forecast .shine-scale__item:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .forecast .vt-aurora-meta {
    margin-top: 6px;
    color: #26292e;
  }

  .forecast .vt-aurora-meta p {
    font-size: 13px;
  }

  .forecast .shine-scale__item.is-selected {
    box-shadow: 0 0 0 2px rgba(41, 170, 236, 0.65), 0 6px 12px rgba(41, 170, 236, 0.16);
  }

  .forecast .shine-scale__item:focus-visible {
    outline-color: #66c5f1;
  }

  /* Keep the mobile aurora forecast visually consistent with desktop. */
  .forecast .forecast-container {
    padding: 0 !important;
    gap: 14px !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  .forecast .forecast-container > * {
    margin-top: 0 !important;
  }

  .forecast .forecast-container .shine.aurora-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 300px;
    padding: 26px 22px 24px !important;
    overflow: hidden;
    background: #0a416b !important;
    border-radius: 26px !important;
  }

  .forecast .forecast-container .shine-bg {
    display: block !important;
  }

  .forecast .forecast-container .shine-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(3, 39, 72, 0.2), rgba(3, 39, 72, 0.58));
  }

  .forecast .forecast-container .shine-title,
  .forecast .forecast-container .shine-subtitle,
  .forecast .forecast-container .vt-aurora-meta,
  .forecast .forecast-container .vt-aurora-meta p {
    color: #ffffff !important;
  }

  .forecast .forecast-container .shine-left {
    min-width: 0;
    row-gap: 26px;
  }

  .forecast .aurora-scale {
    width: 100%;
    gap: 4px !important;
    padding: 0 !important;
  }

  .forecast .aurora-scale .shine-scale__item {
    display: block !important;
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
    max-width: 10px;
  }

  .forecast .shine-scale__item.is-selected {
    box-shadow: 0 0 0 2px #ffffff, 0 7px 14px rgba(6, 45, 78, 0.25);
  }

  .forecast .shine-scale__item:focus-visible {
    outline-color: #ffffff;
  }

  .forecast .forecast-content {
    display: block;
    padding: 24px 22px !important;
    background: #f2f2f2 !important;
    border-radius: 26px !important;
  }

  .forecast .forecast-title {
    display: block !important;
    margin-bottom: 12px;
    font-size: 22px;
    line-height: 1.2;
  }

  .forecast .forecast-info__text {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.35;
  }

  .forecast .forecast-list > * {
    margin-top: 8px;
  }

  .forecast .forecast-list__item,
  .forecast .forecast-list__item > * {
    font-size: 13px;
    line-height: 1.35;
  }

  .forecast .forecast-list__item > *:nth-child(1) {
    display: block !important;
  }

  .forecast .forecast-list__item > *:nth-child(2) {
    display: none !important;
  }

  .forecast .driver {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    padding: 24px 22px !important;
    background: #f2f2f2 !important;
    border-radius: 26px !important;
  }

  .forecast .driver-container {
    gap: 18px !important;
  }

  .forecast .driver-title {
    width: 100%;
    font-size: 22px;
    line-height: 1.2;
  }

  .forecast .driver-box {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .forecast .driver-box > *:nth-child(1) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .forecast .driver-item {
    min-width: 0;
  }

  .forecast .driver-text {
    font-size: 12px;
    line-height: 1.3;
  }
}
