/* BMW Auto Club Italia — global navigation */
:root {
  --baci-blue: #1c69d4;
  --baci-ink: #262626;
  --baci-muted: #666;
  --baci-line: #d6d6d6;
  --baci-header-h: 84px;
  --baci-ease: cubic-bezier(.4, 0, .2, 1);
}

#rec81233491,
#rec84093392 {
  display: none !important;
}

.baci-nav,
.baci-nav * {
  box-sizing: border-box;
}

.baci-nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 999990;
  height: var(--baci-header-h);
  color: var(--baci-ink);
  font-family: "BMW-light", "BMWTypeNext Pro", Arial, Helvetica, sans-serif;
  transform: translateY(0);
  transition: transform .32s var(--baci-ease), background-color .28s var(--baci-ease), box-shadow .28s var(--baci-ease), color .28s var(--baci-ease);
}

.baci-nav.is-hidden {
  transform: translateY(-105%);
}

.baci-nav__bar {
  position: relative;
  z-index: 3;
  height: 100%;
  background: #fff;
  border-bottom: 1px solid var(--baci-line);
  transition: background-color .28s var(--baci-ease), border-color .28s var(--baci-ease);
}

.baci-nav.is-transparent:not(.is-open) {
  color: #fff;
}

.baci-nav.is-transparent:not(.is-open) .baci-nav__bar {
  background: linear-gradient(180deg, rgba(0,0,0,.50), rgba(0,0,0,0));
  border-bottom-color: rgba(255,255,255,.72);
}

.baci-nav.is-solid,
.baci-nav.is-open {
  box-shadow: 0 4px 18px rgba(0,0,0,.10);
}

.baci-nav__inner {
  width: min(1180px, calc(100% - 64px));
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 24px;
}

.baci-nav__brand {
  flex: 0 0 64px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-decoration: none;
}

.baci-nav__logo {
  display: block;
  width: 54px;
  height: 66px;
  object-fit: contain;
}

.baci-nav__desktop {
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 2px;
}

.baci-nav__trigger {
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.baci-nav__trigger::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 0;
  left: 18px;
  height: 4px;
  background: var(--baci-blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s var(--baci-ease);
}

.baci-nav__trigger:hover::after,
.baci-nav__trigger:focus-visible::after,
.baci-nav__trigger[aria-expanded="true"]::after {
  transform: scaleX(1);
}

.baci-nav__chevron {
  width: 9px;
  height: 9px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .24s var(--baci-ease);
}

.baci-nav__trigger[aria-expanded="true"] .baci-nav__chevron {
  transform: translateY(2px) rotate(225deg);
}

.baci-nav__utility {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.baci-nav__utility-action {
  width: 38px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, transform .2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.baci-nav__utility-action:hover,
.baci-nav__utility-action:focus-visible {
  color: var(--baci-blue);
  background: transparent;
  transform: translateY(-1px);
}

.baci-nav__utility-action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.baci-nav__utility-action svg {
  width: 24px;
  height: 24px;
  display: block;
}

.baci-icon--phone {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.baci-nav__mega {
  position: fixed;
  z-index: 2;
  top: var(--baci-header-h);
  left: 0;
  width: 100%;
  min-height: 250px;
  padding: 46px 0 54px;
  background: #fff;
  color: var(--baci-ink);
  box-shadow: 0 16px 30px rgba(0,0,0,.10);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-14px);
  transition: opacity .28s var(--baci-ease), transform .28s var(--baci-ease), visibility 0s linear .28s;
}

.baci-nav__mega.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

.baci-nav__mega-inner {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.25fr);
  gap: 70px;
}

.baci-nav__mega-title {
  margin: 0;
  font-size: clamp(29px, 2.4vw, 40px);
  font-weight: 400;
  line-height: 1.16;
}

.baci-nav__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  column-gap: 44px;
  align-content: start;
}

.baci-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 0 34px 0 0;
  border-bottom: 1px solid #e5e5e5;
  color: var(--baci-ink);
  font-size: 18px;
  line-height: 1.25;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}

.baci-nav__link::after {
  content: "";
  position: absolute;
  right: 8px;
  width: 9px;
  height: 9px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.baci-nav__link:hover,
.baci-nav__link:focus-visible {
  color: var(--baci-blue);
  padding-left: 8px;
}

.baci-nav__backdrop {
  position: fixed;
  z-index: 1;
  inset: var(--baci-header-h) 0 0;
  background: rgba(0,0,0,.42);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s var(--baci-ease), visibility 0s linear .28s;
}

.baci-nav.is-open .baci-nav__backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.baci-nav__burger {
  display: none;
  appearance: none;
  width: 48px;
  height: 48px;
  margin: auto 0 auto auto;
  padding: 12px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.baci-nav__burger-line {
  display: block;
  width: 26px;
  height: 2px;
  margin: 5px 0;
  background: currentColor;
  transition: transform .25s var(--baci-ease), opacity .2s ease;
}

.baci-mobile {
  display: none;
}

:where(.baci-nav button, .baci-nav a):focus-visible {
  outline: 3px solid rgba(28,105,212,.55);
  outline-offset: 3px;
}

@media (max-width: 1023px) {
  :root { --baci-header-h: 68px; }

  .baci-nav__inner {
    width: calc(100% - 32px);
  }

  .baci-nav__brand {
    flex-basis: 48px;
  }

  .baci-nav__logo {
    width: 42px;
    height: 52px;
  }

  .baci-nav__desktop,
  .baci-nav__utility,
  .baci-nav__mega,
  .baci-nav__backdrop {
    display: none !important;
  }

  .baci-nav__burger {
    display: block;
  }

  .baci-mobile {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    color: var(--baci-ink);
    font-family: "BMW-light", "BMWTypeNext Pro", Arial, Helvetica, sans-serif;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform .32s var(--baci-ease), opacity .25s ease, visibility 0s linear .32s;
  }

  .baci-mobile.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 0s;
  }

  .baci-mobile__top {
    flex: 0 0 var(--baci-header-h);
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-bottom: 1px solid var(--baci-line);
  }

  .baci-mobile__logo {
    display: block;
    width: 42px;
    height: 52px;
    object-fit: contain;
  }

  .baci-mobile__close {
    position: relative;
    width: 48px;
    height: 48px;
    margin-left: auto;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .baci-mobile__close::before,
  .baci-mobile__close::after {
    content: "";
    position: absolute;
    top: 23px;
    left: 12px;
    width: 24px;
    height: 2px;
    background: var(--baci-ink);
  }

  .baci-mobile__close::before { transform: rotate(45deg); }
  .baci-mobile__close::after { transform: rotate(-45deg); }

  .baci-mobile__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 30px 24px 40px;
    overscroll-behavior: contain;
  }

  .baci-mobile__group {
    border-bottom: 1px solid #dfdfdf;
  }

  .baci-mobile__trigger {
    appearance: none;
    width: 100%;
    min-height: 62px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--baci-ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    font: inherit;
    font-size: 22px;
    cursor: pointer;
  }

  .baci-mobile__arrow {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .24s var(--baci-ease);
  }

  .baci-mobile__trigger[aria-expanded="true"] .baci-mobile__arrow {
    transform: rotate(225deg);
  }

  .baci-mobile__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .28s var(--baci-ease);
  }

  .baci-mobile__panel > div {
    min-height: 0;
    overflow: hidden;
  }

  .baci-mobile__panel.is-active {
    grid-template-rows: 1fr;
  }

  .baci-mobile__link {
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 0 16px;
    color: #4f4f4f;
    font-size: 17px;
    text-decoration: none;
  }

  .baci-mobile__link:last-child {
    margin-bottom: 12px;
  }

  .baci-mobile__link:hover,
  .baci-mobile__link:focus-visible {
    color: var(--baci-blue);
    background: #f5f7fa;
  }

  .baci-mobile__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 28px;
  }

  .baci-mobile__social {
    min-height: 48px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border: 0;
    background: transparent;
    color: var(--baci-ink);
    font-family: inherit;
    font-size: 16px;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }

  .baci-mobile__social:hover,
  .baci-mobile__social:focus-visible {
    color: var(--baci-blue);
  }

  .baci-mobile__social-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: currentColor;
  }

  .baci-mobile__social-icon svg {
    width: 24px;
    height: 24px;
    display: block;
  }

}

@media (prefers-reduced-motion: reduce) {
  .baci-nav,
  .baci-nav *,
  .baci-mobile,
  .baci-mobile * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* BMW Auto Club Italia — corporate digital visual system
   Based on BMW Clubs CI Guideline No. 5 and bmw.it UI proportions. */

:root {
  --baci-white: #ffffff;
  --baci-anthracite: #262626;
  --baci-grey-1: #4d4d4d;
  --baci-grey-2: #666666;
  --baci-grey-3: #8e8e8e;
  --baci-grey-4: #e6e6e6;
  --baci-grey-5: #f2f2f2;
  --baci-blue-dark: #0653b6;
  --baci-blue: #1c69d4;
  --baci-blue-light: #1f94ff;
  --baci-copy-width: 760px;
}

html {
  color: var(--baci-anthracite);
  background: var(--baci-white);
}

body,
.t-body,
.t-title,
.t-descr,
.t-text,
.t-btn,
.t-input,
.t-select,
.t-checkbox__label,
.t-radio__control,
.t-form__errorbox-text {
  font-family: "BMW-light", "BMWTypeNext Pro", Arial, Helvetica, sans-serif !important;
}

body,
.t-body {
  color: var(--baci-anthracite);
  background: var(--baci-white);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* BMW typography: light display titles, compact scale, no artificial tracking. */
.t-title,
.t-section__title,
.t102__title,
.t189__title,
.t795__title,
.t561__title {
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

/* Tilda can retain an older inline size inside rich-text titles. */
.t-title [data-customstyle="yes"] {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.t189__descr {
  color: var(--baci-white) !important;
}

.t102__title {
  font-size: clamp(42px, 4.1vw, 56px) !important;
  line-height: 1.08 !important;
}

.t189__title,
.t-title_xl {
  font-size: clamp(40px, 3.6vw, 50px) !important;
  line-height: 1.1 !important;
}

.t-title_lg {
  font-size: clamp(36px, 3.15vw, 44px) !important;
  line-height: 1.14 !important;
}

.t-title_md {
  font-size: clamp(33px, 2.8vw, 40px) !important;
  line-height: 1.16 !important;
}

.t-title_sm,
.t-title_xs,
.t795__title,
.t561__title {
  font-size: clamp(30px, 2.55vw, 36px) !important;
  line-height: 1.18 !important;
}

.t-descr_xxl { font-size: 22px !important; line-height: 1.45 !important; }
.t-descr_xl  { font-size: 20px !important; line-height: 1.5 !important; }
.t-descr_lg  { font-size: 19px !important; line-height: 1.5 !important; }
.t-descr_md,
.t-descr_sm  { font-size: 18px !important; line-height: 1.55 !important; }
.t-descr_xs  { font-size: 16px !important; line-height: 1.55 !important; }
.t-descr_xxs { font-size: 14px !important; line-height: 1.5 !important; }

.t-text_xl { font-size: 22px !important; line-height: 1.5 !important; }
.t-text_lg { font-size: 20px !important; line-height: 1.5 !important; }
.t-text_md { font-size: 18px !important; line-height: 1.55 !important; }
.t-text_sm { font-size: 17px !important; line-height: 1.55 !important; }
.t-text_xs { font-size: 16px !important; line-height: 1.55 !important; }
.t-text_xxs { font-size: 14px !important; line-height: 1.5 !important; }

/* Keep copy readable while retaining Tilda's existing column layouts. */
.t015__descr,
.t561__descr,
.t-section__descr {
  max-width: var(--baci-copy-width) !important;
}

#allrecords .t-rec > :not(.t-cover) .t-title,
#allrecords .t-rec > :not(.t-cover) .t-text,
#allrecords .t-rec > :not(.t-cover) .t-descr {
  color: var(--baci-anthracite);
}

.t420__text {
  color: var(--baci-grey-1) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Corporate digital palette. */
#allrecords .t-rec[data-bg-color="#e6e6e6"],
#allrecords .t-rec[data-bg-color="#f0f0f0"],
#allrecords .t-rec[data-bg-color="#f2f2f2"] {
  background-color: var(--baci-grey-5) !important;
}

#allrecords .t-rec:has(> .t420) {
  background-color: var(--baci-grey-5) !important;
}

.t420 a,
.t-text a:not(.t-btn),
.t-descr a:not(.t-btn) {
  color: var(--baci-blue-dark) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.t420 a:hover,
.t-text a:not(.t-btn):hover,
.t-descr a:not(.t-btn):hover {
  color: var(--baci-blue) !important;
}

/* BMW CTA geometry and states. */
.t-btn {
  min-height: 52px !important;
  height: auto !important;
  padding: 14px 28px !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}

.t-btn:not(.t-btnflex_type_button2) {
  border-color: var(--baci-blue) !important;
  background-color: var(--baci-blue) !important;
  color: var(--baci-white) !important;
}

.t-btn:not(.t-btnflex_type_button2):hover {
  border-color: var(--baci-blue-dark) !important;
  background-color: var(--baci-blue-dark) !important;
}

.t-btnflex_type_button2 {
  border-radius: 0 !important;
}

.t-btnflex_type_button2:hover {
  border-color: var(--baci-blue) !important;
  color: var(--baci-blue) !important;
}

:where(.t-btn, .t-input, .t-select, .t-checkbox, .t-radio):focus-visible {
  outline: 3px solid rgba(28, 105, 212, .45) !important;
  outline-offset: 3px;
}

/* Form controls: neutral UI, blue active state. */
.t-input,
.t-select,
.t-input-block textarea {
  min-height: 52px;
  border: 1px solid var(--baci-grey-3) !important;
  border-radius: 0 !important;
  background-color: var(--baci-white) !important;
  color: var(--baci-anthracite) !important;
  font-size: 16px !important;
}

.t-input:focus,
.t-select:focus,
.t-input-block textarea:focus {
  border-color: var(--baci-blue) !important;
  box-shadow: 0 0 0 1px var(--baci-blue) !important;
}

.t-input-title,
.t-form__inputsbox label {
  color: var(--baci-anthracite) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.t-input::placeholder,
.t-input-block textarea::placeholder {
  color: var(--baci-grey-2) !important;
  opacity: 1;
}

/* Repeatable spacing tiers keep sections related without flattening their hierarchy. */
.t-rec_pt_135,
.t-rec_pt_120,
.t-rec_pt_105 { padding-top: 96px !important; }
.t-rec_pb_135,
.t-rec_pb_120,
.t-rec_pb_105 { padding-bottom: 96px !important; }

.t-rec_pt_90,
.t-rec_pt_75 { padding-top: 80px !important; }
.t-rec_pb_90,
.t-rec_pb_75 { padding-bottom: 80px !important; }

.t-rec_pt_60 { padding-top: 64px !important; }
.t-rec_pb_60 { padding-bottom: 64px !important; }
.t-rec_pt_45 { padding-top: 48px !important; }
.t-rec_pb_45 { padding-bottom: 48px !important; }
.t-rec_pt_30 { padding-top: 32px !important; }
.t-rec_pb_30 { padding-bottom: 32px !important; }
.t-rec_pt_15 { padding-top: 16px !important; }
.t-rec_pb_15 { padding-bottom: 16px !important; }

.t-section__topwrapper {
  margin-bottom: 48px !important;
}

.t-section__title + .t-section__descr,
.t015__title + .t015__descr {
  margin-top: 20px !important;
}

.t776__textwrapper,
.t922__textwrapper {
  padding-top: 24px !important;
}

@media (max-width: 959px) {
  .t102__title,
  .t189__title,
  .t-title_xl {
    font-size: clamp(36px, 7vw, 46px) !important;
  }

  .t-title_lg,
  .t-title_md {
    font-size: clamp(32px, 6vw, 40px) !important;
  }

  .t-title_sm,
  .t-title_xs,
  .t795__title,
  .t561__title {
    font-size: clamp(29px, 5vw, 35px) !important;
  }

  .t-rec_pt_135,
  .t-rec_pt_120,
  .t-rec_pt_105,
  .t-rec_pt_90,
  .t-rec_pt_75 { padding-top: 64px !important; }

  .t-rec_pb_135,
  .t-rec_pb_120,
  .t-rec_pb_105,
  .t-rec_pb_90,
  .t-rec_pb_75 { padding-bottom: 64px !important; }

  .t-rec_pt_60,
  .t-rec_pt_45 { padding-top: 48px !important; }
  .t-rec_pb_60,
  .t-rec_pb_45 { padding-bottom: 48px !important; }

  .t-section__topwrapper {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 639px) {
  body,
  .t-body {
    font-size: 17px;
    line-height: 1.5;
  }

  .t102__title,
  .t189__title,
  .t-title_xl {
    font-size: 36px !important;
    line-height: 1.1 !important;
  }

  .t-title_lg,
  .t-title_md {
    font-size: 32px !important;
    line-height: 1.14 !important;
  }

  .t-title_sm,
  .t-title_xs,
  .t795__title,
  .t561__title {
    font-size: 29px !important;
    line-height: 1.18 !important;
  }

  .t-descr_xxl,
  .t-descr_xl,
  .t-descr_lg,
  .t-descr_md,
  .t-descr_sm,
  .t-text_xl,
  .t-text_lg,
  .t-text_md {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  .t-btn {
    width: auto;
    max-width: 100%;
    min-height: 52px !important;
    padding: 14px 22px !important;
    white-space: normal;
  }

  .t-rec_pt_135,
  .t-rec_pt_120,
  .t-rec_pt_105,
  .t-rec_pt_90,
  .t-rec_pt_75 { padding-top: 56px !important; }

  .t-rec_pb_135,
  .t-rec_pb_120,
  .t-rec_pb_105,
  .t-rec_pb_90,
  .t-rec_pb_75 { padding-bottom: 56px !important; }

  .t-section__topwrapper {
    margin-bottom: 32px !important;
  }
}

/* BMW.it-inspired controls for BMW Auto Club Italia */
:root{
  --bmw-ui-blue:#1c69d4;
  --bmw-ui-blue-hover:#0653b6;
  --bmw-ui-text:#262626;
  --bmw-ui-border:#8e8e8e;
  --bmw-ui-border-focus:#4d4d4d;
  --bmw-ui-error:#d20000;
}

/* Buttons: BMW.it proportions, typography and interaction */
.t-btn,
.t-btnflex,
.t-submit,
.bmw-result-cta,
.bmw-membership-cta{
  min-height:52px!important;
  height:auto!important;
  padding:4px 24px!important;
  border-radius:3px!important;
  box-shadow:none!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:24px!important;
  font-weight:600!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  box-sizing:border-box!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

.t-submit,
.bmw-result-cta,
.bmw-membership-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:var(--bmw-ui-blue)!important;
  border:0!important;
}

.t-submit:hover,
.bmw-result-cta:hover,
.bmw-membership-cta:hover{
  color:#fff!important;
  background:var(--bmw-ui-blue-hover)!important;
  transform:none!important;
}

.t-btn:focus-visible,
.t-btnflex:focus-visible,
.t-submit:focus-visible,
.bmw-result-cta:focus-visible,
.bmw-membership-cta:focus-visible{
  outline:2px solid var(--bmw-ui-blue)!important;
  outline-offset:2px!important;
}

/* Standard Tilda fields */
input.t-input,
select.t-select,
textarea.t-input,
.t-textarea,
.bmw-message-form textarea{
  width:100%!important;
  min-height:52px!important;
  padding:13px 20px!important;
  border:1px solid var(--bmw-ui-border)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:var(--bmw-ui-text)!important;
  box-shadow:none!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:24px!important;
  font-weight:400!important;
  box-sizing:border-box!important;
  transition:border-color .15s ease,box-shadow .15s ease,outline-color .15s ease!important;
}

input.t-input,
select.t-select{
  height:52px!important;
}

textarea.t-input,
.t-textarea,
.bmw-message-form textarea{
  min-height:120px!important;
  resize:vertical!important;
}

input.t-input:focus,
select.t-select:focus,
textarea.t-input:focus,
.t-textarea:focus,
.bmw-message-form textarea:focus{
  border-color:var(--bmw-ui-border-focus)!important;
  box-shadow:inset 0 0 0 1px var(--bmw-ui-border-focus)!important;
  outline:2px solid var(--bmw-ui-blue)!important;
  outline-offset:2px!important;
}

input.t-input::placeholder,
textarea.t-input::placeholder,
.t-textarea::placeholder,
.bmw-message-form textarea::placeholder{
  color:#6f6f6f!important;
  opacity:1!important;
}

/* Phone field: one BMW-style frame instead of nested borders */
.t-input-phonemask__wrap{
  min-height:52px!important;
  border:1px solid var(--bmw-ui-border)!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

.t-input-phonemask__wrap:focus-within{
  border-color:var(--bmw-ui-border-focus)!important;
  box-shadow:inset 0 0 0 1px var(--bmw-ui-border-focus)!important;
  outline:2px solid var(--bmw-ui-blue)!important;
  outline-offset:2px!important;
}

.t-input-phonemask__wrap .t-input-phonemask,
.t-input-phonemask__wrap input.t-input{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

.t-input-phonemask__select{
  min-height:50px!important;
  border-right:1px solid #d6d6d6!important;
  border-radius:0!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
}

/* Labels, validation and choices */
.t-input-title,
.t-form__inputsbox label,
.bmw-message-form label{
  color:var(--bmw-ui-text)!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:24px!important;
  font-weight:500!important;
}

.t-checkbox__indicator,
.t-radio__indicator{
  border-color:var(--bmw-ui-border-focus)!important;
  box-shadow:none!important;
}

.t-checkbox:focus-visible + .t-checkbox__indicator,
.t-radio:focus-visible + .t-radio__indicator{
  outline:2px solid var(--bmw-ui-blue)!important;
  outline-offset:2px!important;
}

.t-input-error,
.t-form__errorbox-item{
  color:var(--bmw-ui-error)!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
}

/* Tilda record-specific rules need an equally specific form override. */
#allrecords [data-record-type="835"] .t-form input.t-input,
#allrecords [data-record-type="835"] .t-form select.t-select,
#allrecords [data-record-type="835"] .t-form textarea.t-input,
#allrecords .t-form .t-input-block input.t-input,
#allrecords .t-form .t-input-block select.t-select,
#allrecords .t-form .t-input-block textarea.t-input{
  min-height:52px!important;
  padding:13px 20px!important;
  border:1px solid var(--bmw-ui-border)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:var(--bmw-ui-text)!important;
  box-shadow:none!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:24px!important;
  font-weight:400!important;
  box-sizing:border-box!important;
}

#allrecords [data-record-type="835"] .t-form input.t-input,
#allrecords [data-record-type="835"] .t-form select.t-select,
#allrecords .t-form .t-input-block input.t-input,
#allrecords .t-form .t-input-block select.t-select{
  height:52px!important;
}

#allrecords [data-record-type="835"] .t-form input.t-input:focus,
#allrecords [data-record-type="835"] .t-form select.t-select:focus,
#allrecords [data-record-type="835"] .t-form textarea.t-input:focus,
#allrecords .t-form .t-input-block input.t-input:focus,
#allrecords .t-form .t-input-block select.t-select:focus,
#allrecords .t-form .t-input-block textarea.t-input:focus{
  border-color:var(--bmw-ui-border-focus)!important;
  box-shadow:inset 0 0 0 1px var(--bmw-ui-border-focus)!important;
  outline:2px solid var(--bmw-ui-blue)!important;
  outline-offset:2px!important;
}

#allrecords [data-record-type="835"] .t-form .t-input-phonemask__wrap,
#allrecords .t-form .t-input-block .t-input-phonemask__wrap{
  height:52px!important;
  min-height:52px!important;
  border:1px solid var(--bmw-ui-border)!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#allrecords [data-record-type="835"] .t-form .t-input-phonemask__wrap input.t-input,
#allrecords .t-form .t-input-block .t-input-phonemask__wrap input.t-input{
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

#allrecords [data-record-type="835"] .t-form .t-submit,
#allrecords [data-record-type="835"] .t-form button.t-btnflex_type_submit,
#allrecords .t-form .t-form__submit .t-submit{
  min-height:52px!important;
  height:52px!important;
  padding:4px 24px!important;
  border:0!important;
  border-radius:3px!important;
  background:var(--bmw-ui-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:bmwTypeNextWeb,"BMWTypeNext Pro",BMW-light,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:24px!important;
  font-weight:600!important;
}

#allrecords [data-record-type="835"] .t-form .t-submit:hover,
#allrecords [data-record-type="835"] .t-form button.t-btnflex_type_submit:hover,
#allrecords .t-form .t-form__submit .t-submit:hover{
  background:var(--bmw-ui-blue-hover)!important;
  color:#fff!important;
}

/* Preserve Tilda's conditional step navigation even if legacy button CSS exists. */
#allrecords [data-record-type="835"] .t835__btn-wrapper button[style*="display: none"]{
  display:none!important;
}

#allrecords [data-record-type="835"] .t835__btn-wrapper button[style*="display: block"]{
  display:flex!important;
}

#allrecords [data-record-type="835"] .t835__btn-wrapper .t-btn{
  width:auto!important;
}

@media(max-width:640px){
  .t-form__submit .t-submit,
  .bmw-result-cta,
  .bmw-membership-cta{
    width:100%!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
}

/* BMW.it-style inset separator for the global navigation. */
.baci-nav__bar{
  border-bottom:0!important;
}

.baci-nav__bar::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1180px, calc(100% - 64px));
  height:1px;
  background:var(--baci-line);
  transform:translateX(-50%);
  pointer-events:none;
  transition:background-color .28s var(--baci-ease);
}

.baci-nav.is-transparent:not(.is-open) .baci-nav__bar::after{
  background:rgba(255,255,255,.72);
}

@media(max-width:760px){
  .baci-nav__bar::after{
    width:calc(100% - 40px);
  }
}
