@view-transition {
  navigation: auto;
}

:root {
  --color-red: #ED1E2E;
  --color-red-active: #C51627;
  --color-blue: #1F386C;
}

html {
  scroll-behavior: smooth;
}

.transitions {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.rotate_360 {
  animation: rotate 1s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}


@media (min-width: 1600px) {
  .page-header .title {
    font-size: 3.0rem;
  }
}

@media (orientation: portrait) {
  .page-header-full {
    height: 70vh;
  }

  .page-header .section-wrap {
    align-items: flex-end !important;
    padding-bottom: 0 !important;
  }

  /* .page-header .content {
    position: relative;
    bottom: 9rem;
  } */
  .bg-cover img {
    object-fit: cover;
    object-position: 50% center;
    width: 100%;
    height: 100%;
  }

  .bg-postventa img {
    object-position: right;
  }

  .buttons-multiple>span {
    width: 100%;
  }

  .page-header-full .bg-cover:after,
  .page-header-full .bg-cover:before {
    --tw-gradient-from: #161d27 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(0, 0, 0, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
    bottom: 0;
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    z-index: 50;
  }
}

@media (min-width: 1024px) {
  @media (min-width: 1280px) {
    .location-list-wrap {
      width: 25%;
    }
  }
}

@media (max-width: 1279px) {
  #main-menu {
    height: auto;
  }
}

body.menu-opened {
  overflow: auto;
}

body {
  overflow-x: hidden;
}

#main-header {
  height: 90px;
}

.page-header .section-wrap {
  align-items: center;
  display: flex;
  height: 100%;
  padding-bottom: 10rem;
}

.box-details small {
  display: block;
  font-size: .7rem;
  line-height: 1rem;
}

.box-details .box-footer li {
  padding: 1rem 0.7rem;
}

.nav-models {
  padding: 2rem 2rem;
  overflow: hidden;
}

.nav-models-wrap {
  overflow: hidden;
  cursor: pointer;
}

.nav-models .box-model {
  width: 300px;
}

.accordion-models {
  height: 26rem;
}

.swiper-model img {
  max-height: 100%;
  max-width: 100%;
}

.box-model-btns .btn {
  flex: 1 1 0%;
  font-size: .75rem;
  padding: .75rem 0;
}

.box-model-title .title {
  font-size: 1rem;
}

.box-model-title span.text-sm {
  display: block;
  min-height: 2lh;
}

.box-model-image {
  margin-top: 1.5rem;
}

.buttons-multiple {
  position: absolute;
  bottom: 0;
  /* margin: 0 0 auto; */
  display: flex;
  flex-direction: row;
  gap: 6px;
  /* max-width: fit-content; */
  border: 0;
  overflow: hidden;
  border-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-color: transparent;
  z-index: 99;
  width: 100%;
}

.buttons-multiple>span {
  /* display: block;
  width: 100%; */
}

.buttons-multiple a {
  display: block;
  padding: 10px 25px;
  background-color: rgb(101, 109, 121);
  border-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  line-height: 120%;
  color: white;
  text-align: center;
  text-transform: uppercase;
  font-size: .875rem;
  font-weight: 500;
  width: 100%;
}

.buttons-multiple a:hover,
.buttons-multiple a:active {
  background-color: rgb(89, 96, 107)
}

.buttons-multiple a.active,
.buttons-multiple .current {
  display: block;
  padding: 10px 25px;
  background-color: rgb(5, 28, 44);
  border-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  line-height: 120%;
  color: white;
  text-align: center;
  text-transform: uppercase;
  font-size: .875rem;
  font-weight: 500;
  width: 100%;
}

/* Buttons Multiple - Mobile improvements */
@media (max-width: 639px) {
  .buttons-multiple {
    gap: 0;
    bottom: -1px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
  }

  .buttons-multiple > span {
    flex: 1;
    margin: 0;
    padding: 0;
  }

  .buttons-multiple a,
  .buttons-multiple .current {
    padding: 12px 8px;
    font-size: 0.65rem;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    border-radius: 0;
    background-color: rgb(101, 109, 121);
  }

  .buttons-multiple a.active,
  .buttons-multiple .current {
    background-color: rgb(5, 28, 44);
  }
}

.layer_forms {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  /* Se cambiará a flex con JavaScript */
  z-index: 9999;
}

.layer_forms.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.layer_forms__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 1;
}

.layer_forms__container {
  position: relative;
  width: 90%;
  max-width: 600px;
  /* O el ancho máximo que prefieras */
  max-height: 90vh;
  margin: 20px;
  background: white;
  z-index: 2;
  overflow-y: auto;
  border-radius: 4px;
}

.layer_forms__content {
  padding: 20px;
}

@media (max-width: 768px) {
  .layer_forms__container {
    width: 95%;
    margin: 10px;
  }
}

.location-list .location-header:before {
  margin-top: -3px;
}

.location-list .active .location-header:before {
  margin-top: 2px;
}

.location-map-buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  padding-top: 15px !important;
}

.location-list .location-header .icon-square {
  height: 2.3rem;
  width: 2.3rem;
}

.address-city-name {
  display: block !important;
  padding-right: 40px !important;
  font-size: 0.9rem !important;
  line-height: 120% !important;
}

.box-model-info {
  justify-content: center;
}

.icon-info:last-child {
  border: 0;
}

.icon-info:not(:last-child) {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
    border-right-width: 1px;
    padding-left: 0 !important;
    margin-right: 1rem;
}

.icon-info:last-child {
    padding-left: 0 !important;
}

.modal_custom_message {
  margin: auto;
  width: 450px;
  background-color: transparent;
  border: 0;
  outline: none;
}

.modal_custom_message::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(6px);
}

.modal_custom_message-content {
  padding: 35px 25px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
}

.modal_custom_message-title {
  display: block;
  width: 100%;
  margin-bottom: 25px;
  font-size: 1.7rem;
  line-height: 120%;
  color: black;
  font-weight: 500;
  text-align: center;
}

.modal_custom_message-message {
  text-align: center;
}

.modal_custom_message-message,
.modal_custom_message-message p {
  display: block;
  margin: 0 0 10px;
  font-size: 1rem;
  line-height: 130%;
}

.modal_custom_message-message p:last-child {
  margin-bottom: 0;
}

.modal_custom_message-buttons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 45px;
  text-align: center;
}

.modal_custom_message-buttons button {
  display: block;
  margin: 0;
  padding: 12px 17px;
  outline: none;
  border: solid 3px #EEE;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 120%;
  font-weight: 500;
  text-transform: uppercase;
}

.modal_custom_message-buttons button.btn_ok {
  border-color: var(--color-red);
  background-color: var(--color-red);
  color: white;
}

.modal_custom_message-buttons button:hover,
.modal_custom_message-buttons button:active,
.modal_custom_message-buttons button.btn_ok:active {
  border-color: var(--color-red-active);
  background-color: var(--color-red-active);
  color: white;
}

@media screen and (max-width: 480px) {
  .modal_custom_message {
    width: 85%;
  }

  .modal_custom_message-buttons {
    display: block;
    width: 100%;
  }

  .modal_custom_message-buttons button {
    max-width: 80%;
    margin: 0 auto 10px;
    width: 100%;
  }

  .modal_custom_message-buttons button:last-child {
    margin-bottom: 0;
  }
}

.modal_custom_message-icon_loading {
  display: block;
  width: 100%;
  text-align: center;
}

.modal_custom_message-icon_loading img {
  margin: 30px auto 0 !important;
}

.fixed {
  position: fixed;
}

.bottom-0 {
  bottom: 0;
}

.top-2 {
  top: calc(0.25rem*2);
}

.right-2 {
  right: calc(0.25rem*2);
}

.w-6 {
  width: calc(0.25rem * 6);
}

.h-6 {
  height: calc(0.25rem * 6);
}

.text-2xl {
  font-size: 1.5rem;
  line-height: calc(2 / 1.5);
}

.text-3xl {
  font-size: 1.875rem;
  line-height: calc(2.25 / 1.875);
}

.price-container {
  display: flex;
  align-items: flex-start;
}

.price-label {
  font-size: 0.85em;
  margin-right: 4px;
  padding-top: 2px;
}

.price-value {
  font-size: 1.2em;
  font-weight: bold;
}

.price-info-icon {
  color: rgba(255, 255, 255, 0.8);
  margin-left: 8px;
  font-size: 0.9em;
  cursor: pointer;
  transition: color 0.3s ease;
}

.price-info-icon:hover {
  color: #fff;
}

.text-legal {
  font-size: 0.9em;
  line-height: 1.5;
  color: #666;
}

/* Nav Swiper */
.nav-models-wrap .swiper-scrollbar {
  background-color: #000000;
}

.nav-models-wrap .swiper-scrollbar-drag {
  background-color: #C51627;
}

/* Update */
.bg-navy-blue {
  background-color: rgb(5, 28, 44);
}

.bg-navy-blue .btn-secondary {
  border-color: rgb(77 73 72);
  color: #fff;
  background-color: rgb(5, 28, 44);
}

.bg-navy-blue .btn-secondary:hover,
.bg-navy-blue .btn-secondary:focus {
  border-color: rgb(77 73 72);
  color: #FFF;
  background-color: rgb(77 73 72);
}

.bg-navy-blue .btn-primary {
  border-color: rgb(237 27 47);
  color: #fff;
  background-color: rgb(5, 28, 44);
}

.bg-navy-blue .btn-primary:hover,
.bg-navy-blue .btn-primary:focus {
  border-color: rgb(237 27 47);
  color: #FFF;
  background-color: rgb(237 27 47);
}

.bg-navy-blue .btn-default {
  border-color: #fff;
  color: #fff;
  background-color: transparent;
}

.bg-navy-blue .btn-default:hover,
.bg-navy-blue .btn-default:focus {
  border-color: #fff;
  color: #000;
  background-color: #fff;
}

section.bg-navy-blue .title,
section.bg-navy-blue .accordion-title,
section.bg-navy-blue p,
section.bg-navy-blue ul li,
.modal-wrap.bg-navy-blue p,
.modal-wrap.bg-navy-blue ul li {
  color: #fff;
}

.bg-navy-blue .accordion,
.additional-questions .section-wrap>div {
  background-color: rgb(255 255 255 / 10%);
}

.bg-navy-blue .social-links svg path {
  fill: #FFF !important;
}

#main-footer {
  border-top: 5px solid rgb(197 23 39);
}

.col-span-full {
  grid-column: span 1 / -1;
}

.bg-navy-blue .a-tel {
  color: #FFF;
}

.bg-navy-blue .a-tel svg path {
  stroke: #FFF;
}

.bg-navy-blue .box-white .title {
  color: rgb(5, 28, 44);
}

.bg-navy-blue .box-white p {
  color: rgb(5, 28, 44);
}

.bg-navy-blue .box-line .bg-sub2-dark {
  border: 1px solid #fff;
}

.main-logo img {
  height: 3rem;
}

@media (max-width: 1023px) {
  .location-list-wrap {
    color: #FFF;
  }

  .location-list .location-header:before {
    border-color: #FFF;
  }

  .icon-address {
    background-color: #ffffff;
    -webkit-mask-image: url(../mx/assets/media/icons/location-address.svg);
    mask-image: url(../mx/assets/media/icons/location-address.svg);
    mask-repeat: no-repeat;
  }
}

section.bg-navy-blue.block-attendance ul li {
  color: #000;
}

section.bg-navy-blue.block-attendance a {
  color: #FFF;
}

section.bg-navy-blue.block-attendance svg {
  fill: #FFF;
}

#compare_models_container .btn-default,
.btn-default.btn-color-invert {
  border-color: rgb(77 73 72);
  color: rgb(77 73 72);
}

#compare_models_container .btn-default:hover,
#compare_models_container .btn-default:focus,
#compare_models_container .btn-default:active,
.btn-default.btn-color-invert:hover,
.btn-default.btn-color-invert:focus,
.btn-default.btn-color-invert:active {
  border-color: rgb(211 217 220);
  color: rgb(5, 28, 44);
  background-color: rgb(211 217 220);
}

.btn-default.btn-color-invert:hover svg>*,
.btn-default.btn-color-invert:focus svg>*,
.btn-default.btn-color-invert:active svg>* {
  stroke: #202630 !important;
}

#compare_models_container .btn-secondary:hover,
#compare_models_container .btn-secondary:focus,
#compare_models_container .btn-secondary:active {
  border-color: rgb(237 27 47);
  color: rgb(255, 255, 255);
  background-color: rgb(237 27 47);
}

.bg-block-model {
  --tw-gradient-from: rgb(211 217 220) var(--tw-gradient-from-position);
}

.btn svg {
  height: 0.8rem;
  width: 0.8rem;
}

.icon-list .icon {
  background-color: rgb(5, 28, 44);
}

.scroll-wrapper-models {
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

.scroll-wrapper-models li {
  width: 300px;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.icon-info.power:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)' stroke='%23fff' stroke-width='1.125' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.125 7.594v4.5M7.031 2.25h4.5m4.219 10.125-2.648 2.648a.562.562 0 0 1-.397.165H7.264a.563.563 0 0 1-.397-.165l-2.765-2.765a.563.563 0 0 1-.165-.397V5.625a.563.563 0 0 1 .563-.563h8.205c.149 0 .292.06.397.165l2.648 2.648h1.125a.562.562 0 0 1 .563.563v3.374a.562.562 0 0 1-.563.563H15.75zM1.125 9.844h2.813M9.281 2.25v2.813'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h18v18H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")
}

.icon-info.fuel:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)' stroke='%23fff' stroke-width='1.125' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.938 15.188V3.938a1.125 1.125 0 0 1 1.124-1.126h5.625a1.125 1.125 0 0 1 1.126 1.126v11.25m-9.563 0H13.5'/%3E%3Cpath d='M11.813 7.875H13.5A1.125 1.125 0 0 1 14.625 9v2.813a1.125 1.125 0 1 0 2.25 0V6.09a1.125 1.125 0 0 0-.33-.796l-1.358-1.357M9.563 7.875H6.187'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h18v18H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")
}

.icon-info.torque:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)' stroke='%23fff' stroke-width='1.125' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.188 3.938H4.5a.563.563 0 0 0-.563.562v9c0 .31.252.563.563.563h1.688c.31 0 .562-.252.562-.563v-9a.563.563 0 0 0-.563-.563zm7.312 0h-1.688a.562.562 0 0 0-.562.562v9c0 .31.252.563.563.563H13.5c.31 0 .563-.252.563-.563v-9a.562.562 0 0 0-.563-.563z'/%3E%3Cpath d='M14.063 5.625h1.687a.562.562 0 0 1 .563.563v5.625a.562.562 0 0 1-.563.562h-1.688m-10.124 0H2.25a.563.563 0 0 1-.563-.563V6.189a.563.563 0 0 1 .563-.563h1.688M6.75 9h4.5m5.063 0h1.125M.563 9h1.125'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h18v18H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")
}

.compare_models_container .table {
  max-width: 460px !important;
}

.compare_models_container .table th,
.compare_models_container .table td {
  border-right: solid 1px #C5CBD3 !important;
}

.compare_models_container .table:nth-child(3) th,
.compare_models_container .table:nth-child(3) td {
  border-right: 0 !important;
}

.compare_models_container .table small,
.compare_models_container .table span {
  display: block;
  width: auto;
  line-height: 120%;
}

.compare_models_container .model_photo {
  position: relative;
  padding: 0 !important;
  height: 230px;
}

.compare_models_container .model_photo picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.compare_models_container .model_photo picture img {
  object-fit: cover;
}

.compare_models_empty {
  display: block;
  margin: 0;
  padding: 40px 0;
  width: 100%;
  font-size: 1.2rem;
  line-height: 120%;
  color: #CCC;
  text-align: center;
  font-weight: 500;
}

.directus-visual-editing-edit-button {
  top: 50% !important;
  left: 5% !important;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-4 {
  gap: 1rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.p-8 {
  padding: 2rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.bg-green-50 {
  background-color: #f0fdf4;
}

.border-green-200 {
  border-color: #bbf7d0;
}

.text-green-800 {
  color: #166534;
}

.rounded-md {
  border-radius: 0.375rem;
}

.text-gray-900 {
  color: #111827;
}

.text-gray-600 {
  color: #4b5563;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.justify-center {
  justify-content: center;
}

.items-center {
  align-items: center;
}

.max-w-2xl {
  max-width: 42rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

.shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.border-gray-200 {
  border-color: #e5e7eb;
}

.mr-2 {
  margin-right: 0.5rem;
}

.bg-yellow-50 {
  background-color: #fefce8;
}

.border-yellow-200 {
  border-color: #fef08a;
}

.text-yellow-800 {
  color: #854d0e;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-green-700 {
  color: #15803d;
}

.text-red-700 {
  color: #b91c1c;
}

.mt-3 {
  margin-top: 0.75rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.border-t {
  border-top-width: 1px;
}

.border-yellow-300 {
  border-color: #fde047;
}

.bg-light a[download] {
  color: rgb(5, 28, 44) !important;
  border-color:rgb(5, 28, 44) !important;
}

.bg-light a[download]:hover,
.bg-light a[download]:focus {
  color: rgb(255, 255, 255) !important;
  border-color:rgb(5, 28, 44) !important;
  background-color:rgb(5, 28, 44) !important;
}

a[download]:hover svg > * {
  stroke: rgb(5, 28, 44) !important;
}

.bg-light a[download]:hover svg > * {
  stroke: rgb(255, 255, 255) !important;
}

/* Model Details - Mobile improvements */
@media (max-width: 639px) {
  .model-details {
    border: 1px solid #d3d9dc;
    border-radius: 8px;
    overflow: hidden;
    justify-content: flex-start !important;
    align-items: stretch !important;
  }

  .model-details li {
    margin: 0 !important;
    padding: 0.6rem 0.4rem !important;
    border-left: none !important;
    border-bottom: 1px solid #d3d9dc !important;
    border-right: none !important;
    background: #fff;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 60px;
  }

  /* First 3 items: 33.33% width */
  .model-details li:nth-child(-n+3) {
    width: 33.333% !important;
    flex: none !important;
  }

  /* First 2 items get right border */
  .model-details li:nth-child(1),
  .model-details li:nth-child(2) {
    border-right: 1px solid #d3d9dc !important;
  }

  /* Items 4+: 50% width */
  .model-details li:nth-child(n+4) {
    width: 50% !important;
    flex: none !important;
  }

  /* Items 4, 6, 8, 10... (left column) get right border */
  .model-details li:nth-child(4),
  .model-details li:nth-child(6),
  .model-details li:nth-child(8),
  .model-details li:nth-child(10),
  .model-details li:nth-child(12) {
    border-right: 1px solid #d3d9dc !important;
  }

  /* Last item if alone in row: full width centered */
  .model-details li:last-child:nth-child(even):nth-child(n+4) {
    width: 100% !important;
    border-right: none !important;
  }

  /* Last row - remove bottom border */
  .model-details li:last-child {
    border-bottom: none !important;
  }

  /* If last 2 items are a pair (4+), remove their bottom borders */
  .model-details li:nth-last-child(2):nth-child(n+4):nth-child(even) {
    border-bottom: none !important;
  }

  .model-details li small {
    font-size: 0.65rem !important;
    line-height: 1.2 !important;
  }

  .model-details li small > * {
    margin: 0 0.1rem !important;
  }

  .model-details li small img,
  .model-details li small svg {
    width: 0.9rem !important;
    height: 0.9rem !important;
  }

  .model-details li strong {
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
  }
}