.elementor-16401 .elementor-element.elementor-element-48d6ead{--display:flex;--min-height:80px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16401 .elementor-element.elementor-element-0404d16{width:100%;max-width:100%;}.elementor-16401 .elementor-element.elementor-element-0404d16 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16401 .elementor-element.elementor-element-cda1f8c{--display:flex;--position:fixed;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-16401 .elementor-element.elementor-element-cda1f8c{left:0px;}body.rtl .elementor-16401 .elementor-element.elementor-element-cda1f8c{right:0px;}.elementor-16401 .elementor-element.elementor-element-9efc356{width:100%;max-width:100%;}.elementor-16401 .elementor-element.elementor-element-9efc356 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-0404d16 */@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap");

.cabitrans-nav {
  --nav-white: var(--e-global-color-5c8dbe0, #ffffff);
  --nav-blue: var(--e-global-color-accent, #094074);
  --nav-blue-light: var(--e-global-color-e63e185, #33b5f0);
  --nav-blue-secondary: var(--e-1524px-color-secondary, #1d97ff);
  --nav-text-light: var(--e-global-color-text, #ebebeb);
  --nav-black: var(--e-global-color-552fbe6, #000000);
  --nav-ink: #173266;
  --nav-ink-soft: #6f7f9e;
  --nav-panel: #f5f6fb;
  --nav-panel-alt: #eef1f8;
  --nav-panel-border: rgba(23, 50, 102, 0.09);
  --video-widget-offset-right: 24px;
  --video-widget-offset-bottom: 24px;
  --video-widget-offset-bottom-scrolled: 108px;
  position: relative;
  background: #ffffff;
  color: var(--nav-white);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  z-index: 30;
}

.cabitrans-nav *,
.cabitrans-nav *::before,
.cabitrans-nav *::after {
  box-sizing: border-box;
}

.cabitrans-nav a {
  color: inherit;
  text-decoration: none;
}

.cabitrans-nav__inner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px 48px 8px;
}

.cabitrans-nav__mobile-shell {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
}

.cabitrans-nav__brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.cabitrans-nav__brand img {
  display: block;
  width: auto;
  height: 60px;
}

.cabitrans-nav__center {
  display: flex;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 12px;
}

.cabitrans-nav__toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--nav-white);
  font-size: 30px;
  cursor: pointer;
}

.cabitrans-nav__menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 50px;
  width: auto;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cabitrans-nav__item {
  position: relative;
  display: flex;
  align-items: center;
}

.cabitrans-nav__item:has(> .cabitrans-nav__panel) {
  position: static;
}

.cabitrans-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 0;
  border-radius: 0;
  font-weight: 600 !important;
  font-size: 18px !important;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--nav-white);
  transition: color 0.2s ease, opacity 0.2s ease;
  white-space: nowrap;
}

.cabitrans-nav .cabitrans-nav__link,
.cabitrans-nav .cabitrans-nav__link:visited,
.cabitrans-nav .cabitrans-nav__link:hover,
.cabitrans-nav .cabitrans-nav__link:focus {
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.cabitrans-nav__link:hover,
.cabitrans-nav__item:hover > .cabitrans-nav__link {
  color: var(--nav-blue-light);
  opacity: 1;
}

.cabitrans-nav__caret {
  font-size: 10px;
  transform: translateY(0);
  opacity: 0.8;
}

.cabitrans-nav__panel {
  position: absolute;
  top: calc(100% - 12px);
  left: 0;
  min-width: 210px;
  width: max-content;
  max-width: min(1220px, calc(100vw - 48px));
  padding: 28px 32px;
  background: var(--nav-panel);
  color: var(--nav-ink);
  border: 1px solid var(--nav-panel-border);
  border-radius: 24px;
  box-shadow: 0 26px 60px rgba(13, 31, 79, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease 0.18s,
    transform 0.2s ease 0.18s,
    visibility 0s linear 0.18s;
  z-index: 40;
}

.cabitrans-nav__item:last-child > .cabitrans-nav__panel,
.cabitrans-nav__item:nth-last-child(2) > .cabitrans-nav__panel {
  left: auto;
  right: 0;
}

.cabitrans-nav__item:hover > .cabitrans-nav__panel,
.cabitrans-nav__item:focus-within > .cabitrans-nav__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s;
}

.cabitrans-nav__panel--sm {
  width: 260px;
}

.cabitrans-nav__panel--md {
  width: min(560px, calc(100vw - 48px));
}

.cabitrans-nav__panel--lg {
  width: min(980px, calc(100vw - 48px));
}

.cabitrans-nav__panel--xl {
  width: max-content;
  max-width: calc(100vw - 48px);
  left: auto;
  right: 0;
  transform: translateY(8px);
}

.cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
.cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl {
  transform: translateY(0);
}

.cabitrans-nav__grid {
  display: grid;
  gap: 12px 22px;
}

.cabitrans-nav__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cabitrans-nav__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cabitrans-nav__grid--1 {
  grid-template-columns: 1fr;
}

.cabitrans-nav__card {
  display: block;
  padding: 14px 16px;
  color: var(--nav-ink);
  border-radius: 18px;
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cabitrans-nav__card:hover {
  background: rgba(51, 181, 240, 0.12);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(20, 45, 99, 0.08);
}

.cabitrans-nav__product-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__product-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
}

.cabitrans-nav__product-card .cabitrans-nav__title {
  margin-bottom: 0;
}

.cabitrans-nav__resource-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__resource-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
}

.cabitrans-nav__resource-card .cabitrans-nav__title {
  margin-bottom: 0;
}

.cabitrans-nav__title {
  display: block;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.14;
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

.cabitrans-nav__subtitle {
  display: block;
  color: var(--nav-ink-soft);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
}

.cabitrans-nav__panel--lg .cabitrans-nav__title {
  position: relative;
  padding-left: 36px;
}

.cabitrans-nav__panel--lg .cabitrans-nav__title::before {
  content: "\f0d1";
  position: absolute;
  top: 0;
  left: 0;
  color: #33b5f0;
  font-family: "FontAwesome";
  font-size: 25px;
  font-weight: 400;
  line-height: 1.1;
}

.cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
  font-size: 15px;
  padding-left: 36px;
}

.cabitrans-nav__heading {
  margin-bottom: 18px;
  padding-left: 16px;
  font-weight: 600;
  font-size: 18px;
  color: var(--nav-blue);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.cabitrans-nav__panel--xl .cabitrans-nav__heading {
  padding-left: 0;
}

.cabitrans-nav__countries {
  display: grid;
  --euro-column-width: 332px;
  --euro-column-gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--euro-column-gap);
  row-gap: 10px;
  width: 100%;
}

.cabitrans-nav__country {
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: center;
  column-gap: 10px;
  white-space: nowrap;
  color: var(--nav-ink);
  font-size: 12px;
  padding: 6px 0;
  min-width: 0;
}

.cabitrans-nav__flag-circle {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  vertical-align: middle;
}
.cabitrans-nav__flag-circle img,
.cabitrans-nav__country img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.85);
  transform-origin: center;
}

.cabitrans-nav__country-name {
  margin: 0;
  font-weight: 600;
  color: var(--nav-ink);
  white-space: normal;
  word-break: break-word;
  line-height: 1.15;
  min-width: 0;
  font-size: 13px;
  letter-spacing: -0.01em;
}

.cabitrans-nav__country-tags {
  display: grid;
  grid-template-columns: 30px 42px 28px 28px 52px;
  column-gap: 8px;
  align-items: center;
  justify-content: start;
  min-width: 0;
}

.cabitrans-nav__country-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 132px;
}

.cabitrans-nav__country-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  width: 100%;
  min-width: 0;
  padding: 4px 6px;
  margin: 0;
  border-radius: 999px;
  color: var(--nav-ink-soft);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  justify-self: stretch;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease, font-weight 0.2s ease;
}

.cabitrans-nav__country-tags .cabitrans-nav__country-link,
.cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
  background: transparent;
  color: var(--nav-ink-soft) !important;
  font-weight: 400 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.cabitrans-nav__country-tags .cabitrans-nav__country-link:hover,
.cabitrans-nav__country-tags .cabitrans-nav__country-link:focus {
  background: rgba(51, 181, 240, 0.14);
  color: var(--nav-blue) !important;
  font-weight: 600 !important;
}

.cabitrans-nav__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.cabitrans-nav__action-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}

.cabitrans-nav__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  min-height: 54px;
  min-width: 190px;
  padding: 0 22px;
  border-radius: 999px;
  gap: 10px;
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  transition: transform 0.2s ease, opacity 0.2s ease;
  border: 0;
  cursor: pointer;
  box-sizing: border-box;
}

.cabitrans-nav__button:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.cabitrans-nav__button--primary {
  background: var(--nav-blue-light);
  color: var(--nav-white);
  border: 1.5px solid rgba(23, 50, 102, 0.26);
  font-style: normal;
}

.cabitrans-nav__button--primary:hover,
.cabitrans-nav__button--primary:focus {
  background: #173266 !important;
  color: var(--nav-white) !important;
}

.cabitrans-nav__contact-toggle {
  position: relative;
  gap: 10px;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 999px !important;
  border-top-left-radius: 0 !important;
  overflow: hidden;
}

.cabitrans-nav__actions .cabitrans-nav__contact-toggle,
.cabitrans-nav__actions .cabitrans-nav__contact-toggle:hover,
.cabitrans-nav__actions .cabitrans-nav__contact-toggle:focus {
  border-radius: 999px !important;
  border-top-left-radius: 0 !important;
}

.cabitrans-nav__contact-icon,
.cabitrans-nav__contact-close {
  line-height: 1;
  font-style: normal;
}

.cabitrans-nav__contact-icon {
  display: inline-block;
  font-size: 16px;
}

.cabitrans-nav__contact-close {
  display: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 28px;
}

.cabitrans-nav__action-dropdown.is-open .cabitrans-nav__contact-close {
  display: inline-block;
}

.cabitrans-nav__action-dropdown.is-open .cabitrans-nav__contact-icon {
  display: none;
}

.cabitrans-nav__button--secondary {
  background: var(--nav-white);
  color: #33b5f0 !important;
  border: 1.5px solid rgba(23, 50, 102, 0.26);
  font-style: normal;
}

.cabitrans-nav__actions .cabitrans-nav__button--secondary,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:visited,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:hover,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:focus {
  color: #33b5f0 !important;
}

.cabitrans-nav__button--secondary .fa {
  font-size: 16px;
  line-height: 1;
}

.cabitrans-nav__panel--action {
  top: calc(100% + 14px);
  left: 0;
  right: auto;
  min-width: 280px;
}

.cabitrans-nav__action-dropdown:hover > .cabitrans-nav__panel--action,
.cabitrans-nav__action-dropdown:focus-within > .cabitrans-nav__panel--action,
.cabitrans-nav__action-dropdown.is-open > .cabitrans-nav__panel--action {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cabitrans-nav__contact-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__contact-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
  transform-origin: 50% 50%;
}

.cabitrans-nav__contact-card .fa-headphones::before {
  content: "\f025" !important;
}

.cabitrans-nav__contact-card:hover .fa,
.cabitrans-nav__contact-card:focus .fa {
  animation: cabitrans-headphones-ring 0.35s ease-in-out infinite;
}

.cabitrans-nav__contact-card .cabitrans-nav__title {
  margin-bottom: 0;
}

@keyframes cabitrans-headphones-ring {
  0% {
    transform: rotate(0deg) translateX(0);
  }
  20% {
    transform: rotate(-14deg) translateX(-1px);
  }
  40% {
    transform: rotate(14deg) translateX(1px);
  }
  60% {
    transform: rotate(-10deg) translateX(-1px);
  }
  80% {
    transform: rotate(10deg) translateX(1px);
  }
  100% {
    transform: rotate(0deg) translateX(0);
  }
}

.cabitrans-nav__search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  color: var(--nav-white);
  font-size: 24px;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.cabitrans-nav__search:hover,
.cabitrans-nav__search:focus {
  color: var(--nav-blue-light);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-1px);
}

.cabitrans-nav__panel--lg {
  background: var(--nav-panel);
}

.cabitrans-nav__panel--xl {
  background: var(--nav-white);
}

.cabitrans-nav__panel--md,
.cabitrans-nav__panel--sm {
  background: var(--nav-panel);
}

.cabitrans-nav__panel--sm .cabitrans-nav__grid,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
  gap: 6px;
}

.cabitrans-nav__panel--sm,
.cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1) {
  width: max-content;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 48px));
  padding: 14px 16px;
  border-radius: 12px;
}

.cabitrans-nav__panel--sm .cabitrans-nav__card,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__card {
  padding: 10px 12px;
  border-radius: 6px;
}

.cabitrans-nav__panel--sm .cabitrans-nav__grid,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
  width: max-content;
  min-width: 100%;
}

.cabitrans-nav__panel--sm .cabitrans-nav__title,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__title {
  font-size: 15px;
  margin-bottom: 0;
  white-space: nowrap;
}

.cabitrans-nav__panel--sm .cabitrans-nav__subtitle,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__subtitle {
  font-size: 12px;
  margin-top: 4px;
}

.cabitrans-video-widget {
  position: fixed;
  right: var(--video-widget-offset-right);
  bottom: var(--video-widget-offset-bottom);
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  transition: bottom 0.3s ease, transform 0.3s ease;
}

.cabitrans-video-widget.is-lifted {
  bottom: var(--video-widget-offset-bottom-scrolled);
  transform: translateY(-4px);
}

.cabitrans-scroll-top {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 56px;
  height: 0;
  margin-top: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--nav-blue);
  box-shadow:
    0 16px 34px rgba(12, 26, 66, 0.24),
    0 0 0 1px rgba(9, 64, 116, 0.08);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(12px);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    height 0.22s ease,
    margin-top 0.22s ease,
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

.cabitrans-scroll-top.is-visible {
  height: 56px;
  margin-top: 8px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.cabitrans-video-widget.is-open .cabitrans-scroll-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  margin-top: 0;
  height: 0;
}

.cabitrans-scroll-top:hover,
.cabitrans-scroll-top:focus {
  background: var(--nav-blue);
  color: var(--nav-white);
}

.cabitrans-scroll-top .fa {
  font-size: 20px;
  line-height: 1;
}

.cabitrans-video-widget__trigger {
  position: relative;
  display: block;
  width: 112px;
  height: 168px;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.cabitrans-video-widget.is-open .cabitrans-video-widget__trigger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

.cabitrans-video-widget__trigger::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  border-radius: 18px;
  z-index: 1;
  pointer-events: none;
}

.cabitrans-video-widget__preview {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 18px;
  box-shadow: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cabitrans-video-widget__trigger:hover,
.cabitrans-video-widget__trigger:focus {
  background: transparent;
}

.cabitrans-video-widget__trigger:hover .cabitrans-video-widget__preview,
.cabitrans-video-widget__trigger:focus .cabitrans-video-widget__preview {
  box-shadow:
    0 0 0 2px rgba(51, 181, 240, 0.32),
    0 0 28px rgba(51, 181, 240, 0.55),
    0 24px 54px rgba(51, 181, 240, 0.34);
  transform: translateY(-1px) scale(1.01);
}

.cabitrans-video-widget__play-fab {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  color: #33b5f0;
  box-shadow:
    0 10px 24px rgba(12, 26, 66, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.9);
  transform: translate(-50%, 26px);
  opacity: 0;
  transition: transform 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease;
  pointer-events: none;
}

.cabitrans-video-widget__play-fab .fa {
  font-size: 18px;
  line-height: 1;
  transform: translateX(2px);
}

.cabitrans-video-widget__badge {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.86);
  color: var(--nav-white);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  z-index: 4;
  backdrop-filter: blur(4px);
}

.cabitrans-video-widget__trigger:hover .cabitrans-video-widget__play-fab,
.cabitrans-video-widget__trigger:focus .cabitrans-video-widget__play-fab {
  transform: translate(-50%, 0);
  opacity: 1;
  box-shadow:
    0 14px 28px rgba(51, 181, 240, 0.34),
    0 0 18px rgba(51, 181, 240, 0.24);
}

.cabitrans-video-widget__panel {
  position: relative;
  width: min(460px, calc(100vw - 32px));
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(23, 50, 102, 0.08);
  box-shadow: 0 22px 60px rgba(12, 26, 66, 0.26);
}

.cabitrans-video-widget__panel-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.cabitrans-video-widget__tagline {
  margin: 0;
  color: var(--nav-blue);
  font-size: 22px;
  font-weight: 700;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.cabitrans-video-widget__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.08);
  color: var(--nav-blue);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.cabitrans-video-widget__close:hover,
.cabitrans-video-widget__close:focus,
.cabitrans-video-widget__collapse:hover,
.cabitrans-video-widget__collapse:focus {
  background: rgba(51, 181, 240, 0.18) !important;
  color: var(--nav-blue) !important;
}

.cabitrans-video-widget__player {
  width: 100%;
  display: block;
  border-radius: 16px;
  background: #000;
}

.cabitrans-video-widget__helper {
  margin: 12px 2px 0;
  color: var(--nav-ink-soft);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.45;
}

.cabitrans-video-widget__message {
  margin: 10px 2px 0;
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

.cabitrans-video-widget__message[data-state="info"] {
  color: var(--nav-blue);
}

.cabitrans-video-widget__message[data-state="success"] {
  color: #0f7b4b;
}

.cabitrans-video-widget__message[data-state="error"] {
  color: #d93a49;
}

.cabitrans-video-widget__meeting-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 12px;
  padding: 0 20px;
  border-radius: 999px;
  border: 0;
  background: var(--nav-blue-light);
  color: var(--nav-white);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.cabitrans-video-widget__meeting-toggle:hover,
.cabitrans-video-widget__meeting-toggle:focus {
  background: #094074;
  transform: translateY(-1px);
}

.cabitrans-video-widget__meeting-toggle.is-loading,
.cabitrans-video-widget__meeting-toggle:disabled {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}

.cabitrans-video-widget__form {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 72px;
  z-index: 6;
  margin: 0;
  padding: 44px 14px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.32);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(12, 26, 66, 0.18);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  max-height: calc(100% - 138px);
  overflow-y: auto;
}

.cabitrans-video-widget__gravity {
  position: relative;
  z-index: 1;
}

.cabitrans-video-widget__collapse {
  position: absolute;
  top: 10px;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.1);
  color: var(--nav-blue);
  cursor: pointer;
  transform: translateX(-50%);
  z-index: 2;
}

.cabitrans-video-widget__form .formulariovideo_wrapper,
.cabitrans-video-widget__form .formulariovideo,
.cabitrans-video-widget__form .formulariovideo.gform_wrapper,
.cabitrans-video-widget__form .formulariovideo.gform-theme,
.cabitrans-video-widget__form .formulariovideo.gform-theme--framework {
  margin: 0;
  font-family: "Inter", Arial, Helvetica, sans-serif;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_heading,
.cabitrans-video-widget__form .formulariovideo .gform_heading {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_title,
.cabitrans-video-widget__form .formulariovideo .gform_title {
  display: none !important;
  margin: 0 !important;
  color: var(--nav-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_description,
.cabitrans-video-widget__form .formulariovideo .gform_description {
  display: none;
}

.cabitrans-video-widget__form .formulariovideo .gform_fields,
.cabitrans-video-widget__form .formulariovideo .gform-body .gform_fields {
  gap: 12px !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield {
  margin: 0 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_label_before_complex,
.cabitrans-video-widget__form .formulariovideo .gfield--type-name > .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gfield--type-name > .gform-field-label {
  display: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gform-field-label {
  margin-bottom: 6px !important;
  color: var(--nav-blue) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_required,
.cabitrans-video-widget__form .formulariovideo .gfield_required_asterisk {
  color: #d93a49 !important;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex > span,
.cabitrans-video-widget__form .formulariovideo .ginput_complex > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex label,
.cabitrans-video-widget__form .formulariovideo .ginput_complex .name_first label,
.cabitrans-video-widget__form .formulariovideo .ginput_complex .name_last label {
  display: block;
  order: 1;
  margin: 0 0 6px;
  color: var(--nav-ink-soft);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex input,
.cabitrans-video-widget__form .formulariovideo .ginput_complex select,
.cabitrans-video-widget__form .formulariovideo .ginput_complex textarea {
  order: 2;
}

.cabitrans-video-widget__form .formulariovideo input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]),
.cabitrans-video-widget__form .formulariovideo select,
.cabitrans-video-widget__form .formulariovideo textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px !important;
  border: 1px solid rgba(23, 50, 102, 0.14) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--nav-ink) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.cabitrans-video-widget__form .formulariovideo textarea {
  min-height: 96px;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  resize: vertical;
}

.cabitrans-video-widget__form .formulariovideo input:not([type="submit"]):not([type="button"]):focus,
.cabitrans-video-widget__form .formulariovideo select:focus,
.cabitrans-video-widget__form .formulariovideo textarea:focus {
  outline: 0;
  border-color: rgba(51, 181, 240, 0.9) !important;
  box-shadow: 0 0 0 3px rgba(51, 181, 240, 0.14) !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_validation_errors {
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(217, 58, 73, 0.22) !important;
  border-radius: 12px !important;
  background: rgba(255, 241, 243, 0.92) !important;
  box-shadow: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > h2,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > h3,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > ol,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > ul,
.cabitrans-video-widget__form .formulariovideo .validation_message {
  color: #d93a49 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_error .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gfield_error .gform-field-label {
  color: #d93a49 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_error input:not([type="submit"]):not([type="button"]),
.cabitrans-video-widget__form .formulariovideo .gfield_error select,
.cabitrans-video-widget__form .formulariovideo .gfield_error textarea {
  border-color: #d93a49 !important;
  background: rgba(255, 241, 243, 0.96) !important;
  box-shadow: 0 0 0 3px rgba(217, 58, 73, 0.12) !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_footer,
.cabitrans-video-widget__form .formulariovideo .gform_page_footer {
  position: absolute !important;
  left: -100vw !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_button,
.cabitrans-video-widget__form .formulariovideo input[type="submit"],
.cabitrans-video-widget__form .formulariovideo button[type="submit"] {
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.cabitrans-nav__panel--lg .cabitrans-nav__grid--3,
.cabitrans-nav__panel--xl .cabitrans-nav__countries {
  position: relative;
}

.cabitrans-nav__panel--xl .cabitrans-nav__countries::before,
.cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
  display: none;
}

/* =========================
   1700px
   ========================= */
@media (max-width: 1700px) {
  .cabitrans-main-menu {
    gap: 20px !important;
  }

  .cabitrans-main-menu ul li {
    font-size: 10px !important;
  }
}
/* =========================
   1675px
   ========================= */
@media (max-width: 1675px) {
  .cabitrans-nav__inner {
    gap: 10px;
    padding: 0 28px 32px;
  }

  .cabitrans-nav__mobile-shell {
    gap: 20px;
  }

  .cabitrans-nav__center {
    padding: 0 6px;
  }

  .cabitrans-nav__menu {
    gap: 24px;
  }

  .cabitrans-nav__link,
  .cabitrans-nav .cabitrans-nav__link,
  .cabitrans-nav .cabitrans-nav__link:visited,
  .cabitrans-nav .cabitrans-nav__link:hover,
  .cabitrans-nav .cabitrans-nav__link:focus {
    font-size: 14px !important;
  }

  .cabitrans-nav__actions {
    gap: 8px;
    flex-shrink: 0;
  }

  .cabitrans-nav__button {
    min-width: 158px;
    padding: 0 16px;
    font-size: 15px;
    height: 50px;
    min-height: 50px;
  }

  .cabitrans-nav__contact-toggle {
    padding-left: 16px;
    padding-right: 16px;
  }

  .cabitrans-nav__search {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
}

/* =========================
   1525px
   ========================= */
@media (max-width: 1300px) {
  .cabitrans-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    order: 2;
    margin-left: auto;
    border-radius: 999px;
    background: rgba(9, 64, 116, 0.18);
    color: var(--nav-white);
    backdrop-filter: blur(8px);
  }

  .cabitrans-nav.is-open .cabitrans-nav__toggle {
    background: rgba(51, 181, 240, 0.18);
    color: #094074;
  }

  .cabitrans-nav__toggle:hover {
    color: #094074 !important;
    background: rgba(51, 181, 240, 0.18) !important;
  }

  .cabitrans-nav__toggle:active,
  .cabitrans-nav__toggle:focus,
  .cabitrans-nav__toggle:focus-visible {
    color: #094074 !important;
  }

  .cabitrans-nav__inner {
    position: relative;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px 14px;
  }

  .cabitrans-nav__brand {
    order: 1;
  }

  .cabitrans-nav__mobile-shell {
    position: absolute;
    top: calc(100% + 10px);
    left: 12px;
    right: 12px;
    z-index: 65;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 18px 16px 20px;
    background: #072c55;
    border: 1px solid rgba(51, 181, 240, 0.18);
    border-radius: 28px;
    box-shadow: 0 24px 54px rgba(3, 12, 30, 0.34);
    max-height: min(80vh, calc(100vh - 110px));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(51, 181, 240, 0.58) rgba(255, 255, 255, 0.08);
  }

  .cabitrans-nav.is-open .cabitrans-nav__mobile-shell {
    display: flex;
  }

  .cabitrans-video-widget {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition:
      opacity 0.25s ease,
      visibility 0.25s ease,
      transform 0.25s ease,
      bottom 0.3s ease;
  }

  .cabitrans-video-widget.is-visible-mobile {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cabitrans-nav__center {
    width: 100%;
    min-width: 0;
    padding: 0;
    flex: none;
    justify-content: stretch;
  }

  .cabitrans-nav__menu {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .cabitrans-nav__item {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    scroll-margin-top: 12px;
  }

  .cabitrans-nav__link {
    width: 100%;
    justify-content: center;
    padding: 10px 18px;
    font-size: 17px !important;
    color: var(--nav-white);
    text-align: center;
    border-radius: 14px;
  }

  .cabitrans-nav__link:hover,
  .cabitrans-nav__item.is-open > .cabitrans-nav__link {
    color: var(--nav-blue-light);
    background: rgba(51, 181, 240, 0.08);
  }

  .cabitrans-nav__caret {
    font-size: 12px;
    transition: transform 0.2s ease;
  }

  .cabitrans-nav__item.is-open > .cabitrans-nav__link .cabitrans-nav__caret {
    transform: rotate(180deg);
  }

  .cabitrans-nav__panel,
  .cabitrans-nav__panel--xl,
  .cabitrans-nav__panel--action {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 10px;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    border-radius: 18px;
    padding: 14px 14px 16px;
    border: 1px solid rgba(9, 64, 116, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(228, 240, 249, 0.62));
    box-shadow: 0 16px 34px rgba(13, 31, 79, 0.08);
    backdrop-filter: blur(14px);
  }

  .cabitrans-nav__item.is-open > .cabitrans-nav__panel {
    display: block;
  }

  .cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item.is-open > .cabitrans-nav__panel--xl {
    left: auto;
    right: auto;
    transform: none;
  }

  .cabitrans-nav__heading {
    margin-bottom: 12px;
    padding: 0 0 8px;
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.56);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .cabitrans-nav__grid {
    gap: 10px;
  }

  .cabitrans-nav__grid--3,
  .cabitrans-nav__grid--2,
  .cabitrans-nav__countries {
    grid-template-columns: 1fr;
  }

  .cabitrans-nav__card {
    padding: 12px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--nav-white);
  }

  .cabitrans-nav__card:hover {
    background: rgba(51, 181, 240, 0.14);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__title {
    font-size: 16px;
    color: var(--nav-white);
  }

  .cabitrans-nav__subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
  }

  .cabitrans-nav__product-card,
  .cabitrans-nav__resource-card,
  .cabitrans-nav__contact-card {
    gap: 12px;
  }

  .cabitrans-nav__product-card .fa,
  .cabitrans-nav__resource-card .fa,
  .cabitrans-nav__contact-card .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(51, 181, 240, 0.14);
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title {
    padding-left: 30px;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title::before {
    font-size: 20px;
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
    padding-left: 30px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
  }

  .cabitrans-nav__country {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    row-gap: 10px;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    white-space: normal;
  }

  .cabitrans-nav__country:last-child {
    border-bottom: 0;
  }

  .cabitrans-nav__countries {
    display: flex;
    flex-direction: column;
    width: 100%;
    row-gap: 0;
    max-height: min(34vh, 320px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
  }

  .cabitrans-nav__country-tags {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
    align-items: center;
  }

  .cabitrans-nav__country-main {
    display: flex;
    width: 100%;
    min-width: 0;
  }

  .cabitrans-nav__country-name {
    color: var(--nav-white);
    font-size: 16px;
    white-space: normal;
  }

  .cabitrans-nav__country img {
    width: 22px;
    height: 16px;
    box-shadow: none;
  }

  .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
    width: auto !important;
    min-width: max-content !important;
    min-height: 30px;
    padding: 6px 10px !important;
    border-radius: 10px;
    background: var(--nav-blue-light);
    color: var(--nav-white) !important;
    font-size: 12px;
    font-weight: 700 !important;
  }

  .cabitrans-nav__country-tags .cabitrans-nav__country-link:hover,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:focus {
    background: var(--nav-white);
    color: var(--nav-blue) !important;
  }

  .cabitrans-nav__brand img {
    height: 42px;
  }

  .cabitrans-nav__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    gap: 12px;
    flex: none;
  }

  .cabitrans-nav__action-dropdown {
    width: 100%;
  }

  .cabitrans-nav__action-dropdown.is-open > .cabitrans-nav__panel--action {
    display: block;
  }

  .cabitrans-nav__button,
  .cabitrans-nav__contact-toggle,
  .cabitrans-nav__button--secondary {
    width: 100%;
    min-width: 0;
    height: 52px;
    min-height: 52px;
    padding: 0 18px;
    justify-content: center;
    border-radius: 16px !important;
    font-size: 17px;
    font-style: normal;
    text-transform: none;
    letter-spacing: 0;
  }

  .cabitrans-nav__contact-toggle {
    border-top-left-radius: 16px !important;
  }

  .cabitrans-nav__button--secondary {
    background: rgba(255, 255, 255, 0.08);
    color: var(--nav-white) !important;
    border-color: rgba(51, 181, 240, 0.72);
  }

  .cabitrans-nav__button--secondary .fa {
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__search {
    display: none;
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__countries::before,
  .cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
    display: none;
  }
}

/* =========================
   1200px
   ========================= */
@media (max-width: 1200px) {
  .cabitrans-nav__countries {
    grid-template-columns: repeat(2, var(--euro-column-width));
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
    display: none;
  }
}

/* =========================
   1024px
   ========================= */
@media (max-width: 1024px) {
  .cabitrans-nav {
    --video-widget-offset-right: 16px;
    --video-widget-offset-bottom: 16px;
    --video-widget-offset-bottom-scrolled: 88px;
  }

  .cabitrans-nav__mobile-shell {
    left: 10px;
    right: 10px;
    padding: 18px 14px 16px;
    border-radius: 24px;
    max-height: none;
    overflow: visible;
  }

  .cabitrans-nav__panel.cabitrans-nav__panel--md {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .cabitrans-nav__panel {
    padding: 16px 14px;
  }

  .cabitrans-nav__center {
    max-height: min(50vh, calc(100vh - 320px));
    overflow-y: auto;
    padding-right: 4px;
    scroll-behavior: smooth;
    scroll-padding-top: 12px;
  }

  .cabitrans-nav__card {
    width: 100%;
  }

  .cabitrans-nav__country {
    display: grid;
    grid-template-columns: minmax(86px, 98px) minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
    row-gap: 0;
    width: 100%;
    padding: 10px 8px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 0;
  }

  .cabitrans-nav__country--stacked {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 10px;
  }

  .cabitrans-nav__country-main {
    width: 100%;
    min-width: 0;
    gap: 8px;
  }

  .cabitrans-nav__country--stacked .cabitrans-nav__country-main {
    width: 100%;
  }

  .cabitrans-nav__country-name {
    font-size: 14px;
    line-height: 1.15;
  }

  .cabitrans-nav__country img {
    width: 20px;
    height: 14px;
  }

  .cabitrans-nav__country-tags {
    display: grid;
    grid-template-columns: 32px 42px 28px 28px 50px;
    width: 100%;
    gap: 4px;
    align-items: center;
    justify-content: end;
  }

  .cabitrans-nav__country--stacked .cabitrans-nav__country-tags {
    justify-content: start;
  }

  .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 28px;
    padding: 6px 0 !important;
    background: #33b5f057;
    font-size: 10px;
    line-height: 1;
    justify-content: center;
  }

  .cabitrans-nav__country-tags .cabitrans-nav__country-link:last-child {
    grid-column: auto;
  }

  .cabitrans-nav__actions {
    position: relative;
    gap: 10px;
    overflow: visible;
  }

  .cabitrans-nav__button,
  .cabitrans-nav__action-dropdown,
  .cabitrans-nav__button--secondary {
    width: 100%;
  }

  .cabitrans-nav__action-dropdown {
    position: static;
  }

  .cabitrans-nav__panel--action {
    position: absolute;
    top: calc(100% + 32px);
    left: 0;
    right: 0;
    width: auto !important;
    margin-top: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    z-index: 80;
  }

  .cabitrans-nav__panel,
  .cabitrans-nav__panel--xl,
  .cabitrans-nav__panel--action {
    background: linear-gradient(180deg, rgb(255 255 255 / 0%), rgb(228 240 249 / 24%));
  }

  .cabitrans-nav__panel--action .cabitrans-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card {
    min-height: 132px;
    padding: 18px 12px;
    border-radius: 22px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #072c55;
    border: 1px solid rgba(51, 181, 240, 0.18);
    box-shadow: 0 16px 28px rgba(13, 31, 79, 0.1);
    backdrop-filter: blur(14px);
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card .fa {
    width: 58px;
    height: 58px;
    margin-bottom: 10px;
    border-radius: 18px;
    font-size: 28px;
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card .cabitrans-nav__title {
    margin: 0;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    color: var(--nav-white);
  }

  .cabitrans-video-widget {
    right: var(--video-widget-offset-right);
    bottom: var(--video-widget-offset-bottom);
  }

  .cabitrans-scroll-top {
    width: 48px;
  }

  .cabitrans-scroll-top.is-visible {
    height: 48px;
  }

  .cabitrans-video-widget__trigger {
    width: 88px;
    height: 132px;
  }

  .cabitrans-video-widget__panel {
    width: min(340px, calc(100vw - 24px));
  }

  .cabitrans-video-widget__tagline {
    font-size: 20px;
  }

  .cabitrans-video-widget__helper,
  .cabitrans-video-widget__message {
    font-size: 12px;
  }

  .cabitrans-video-widget__meeting-toggle {
    min-height: 50px;
    font-size: 14px;
    padding: 0 16px;
  }

  .cabitrans-video-widget__form {
    left: 10px;
    right: 10px;
    bottom: 68px;
    padding: 42px 12px 12px;
  }

  .cabitrans-video-widget__form .formulariovideo .ginput_complex {
    grid-template-columns: 1fr;
  }
}

/* === Eurosender-style panel restyle (desktop) === */
@media (min-width: 1025px) {
  /* Panel container: white card, soft shadow, generous rounding */
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    background: #ffffff;
    border: 1px solid rgba(23, 50, 102, 0.08);
    box-shadow: 0 24px 60px rgba(23, 50, 102, 0.12),
                0 4px 12px rgba(23, 50, 102, 0.06);
    border-radius: 16px;
  }

  .cabitrans-nav__panel--lg { padding: 28px 28px 24px; }
  .cabitrans-nav__panel--xl { padding: 28px 32px; }
  .cabitrans-nav__panel--sm { padding: 16px; min-width: 300px; }

  /* Category heading: tiny uppercase gray label */
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading,
  .cabitrans-nav__panel--lg .cabitrans-nav__heading {
    padding: 0;
    margin-bottom: 18px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8794a8;
    border-bottom: 0;
  }

  /* --xl heading stays readable (it's a CTA-like prompt, not a category) */
  .cabitrans-nav__panel--xl .cabitrans-nav__heading {
    padding: 0;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8794a8;
    border-bottom: 0;
  }

  /* ---- --lg Services: big vertical cards with icon on top ---- */
  .cabitrans-nav__panel--lg .cabitrans-nav__grid { gap: 4px; }

  .cabitrans-nav__panel--lg .cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 14px 16px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: var(--nav-ink);
    transition: background-color 0.2s ease, border-color 0.2s ease;
    min-height: 124px;
    gap: 0;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__card:hover,
  .cabitrans-nav__panel--lg .cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title {
    display: block;
    padding-left: 0;
    margin-top: 8px;
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--nav-ink);
    letter-spacing: -0.01em;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title::before {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 0 8px;
    border-radius: 12px;
    background: rgba(51, 181, 240, 0.12);
    color: #094074;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__card:hover .cabitrans-nav__title::before,
  .cabitrans-nav__panel--lg .cabitrans-nav__card:focus .cabitrans-nav__title::before {
    background: rgba(51, 181, 240, 0.2);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
    padding-left: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #6f7f9e;
  }

  /* ---- --sm Products: horizontal rows with rounded icon tile ---- */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid { gap: 2px; }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 10px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .fa {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(51, 181, 240, 0.12);
    color: #094074;
    font-size: 16px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .fa,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus .fa {
    background: rgba(51, 181, 240, 0.2);
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--nav-ink);
    white-space: nowrap;
  }

  /* ---- --xl Europe: aesthetic tweaks (country list stays) ---- */
  .cabitrans-nav__panel--xl .cabitrans-nav__country {
    padding: 8px 10px;
    border-radius: 10px;
    border: 1.5px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__country:hover,
  .cabitrans-nav__panel--xl .cabitrans-nav__country:focus-within {
    background: rgba(51, 181, 240, 0.05);
    border-color: rgba(51, 181, 240, 0.22);
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__country-name {
    font-size: 14px;
    color: var(--nav-ink);
  }
}
/* === /Eurosender-style panel restyle === */


/* === Full-width dropdown panels (desktop) === */
@media (min-width: 1025px) {
  /* Let panel escape the <li> and anchor to the <nav> */
  .cabitrans-nav__item:has(> .cabitrans-nav__panel) { position: static; }

  /* All dropdown panels span the full nav width (= viewport width) */
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    top: 100%;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-shadow: 0 24px 40px rgba(23, 50, 102, 0.10);
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: max(48px, calc((100% - 1320px) / 2));
    padding-right: max(48px, calc((100% - 1320px) / 2));
    transform: translateY(6px);
  }

  /* Override the --xl panel's centering transform/left */
  .cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item.is-open > .cabitrans-nav__panel--xl {
    left: 0;
    right: 0;
    transform: translateY(0);
  }

  .cabitrans-nav__item:hover > .cabitrans-nav__panel,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel {
    transform: translateY(0);
  }

  /* Prevent the right-edge flip now that panels are full width */
  .cabitrans-nav__item:last-child > .cabitrans-nav__panel,
  .cabitrans-nav__item:nth-last-child(2) > .cabitrans-nav__panel {
    left: 0;
    right: 0;
  }

  /* Services: 5 columns at wide desktop, drop to 4 below 1400px */
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px 10px;
  }

  /* Keep compact-panel content from stretching across the whole width */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 360px;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__grid {
    max-width: 720px;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading {
    max-width: 1320px;
  }
}

@media (min-width: 1025px) and (max-width: 1400px) {
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* === /Full-width dropdown panels === */


/* === Products panel video banner === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__banner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto 20px;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 21 / 6;
    background: #0b1b34;
    box-shadow: 0 8px 20px rgba(23, 50, 102, 0.12);
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__banner-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }
  /* Left-align products grid below the banner but keep within the centered strip */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1024px) {
  /* Hide the banner on mobile — keep the menu light */
  .cabitrans-nav__panel--sm .cabitrans-nav__banner { display: none; }
}
/* === /Products panel video banner === */


/* === Brand-blue text + per-product video cards === */
.cabitrans-nav__link,
.cabitrans-nav__link:link,
.cabitrans-nav__link:visited {
  color: #0a4074;
}

.cabitrans-nav__panel--sm .cabitrans-nav__heading,
.cabitrans-nav__panel--md .cabitrans-nav__heading,
.cabitrans-nav__panel--lg .cabitrans-nav__heading,
.cabitrans-nav__panel--xl .cabitrans-nav__heading {
  color: #0a4074;
}

.cabitrans-nav__title {
  color: #0a4074;
}

@media (min-width: 1025px) {
  /* Per-product video card: vertical layout, video fills the top of the card */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 1180px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    background: #ffffff;
    border: 1.5px solid rgba(23, 50, 102, 0.08);
    border-radius: 14px;
    overflow: hidden;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:focus {
    background: #ffffff;
    border-color: rgba(51, 181, 240, 0.45);
    box-shadow: 0 12px 30px rgba(23, 50, 102, 0.12);
  }

  .cabitrans-nav__card-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #0b1b34;
    overflow: hidden;
  }

  .cabitrans-nav__card-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 14px 16px 16px;
    font-size: 15px;
    white-space: normal;
    color: #0a4074;
  }
}
/* === /Brand-blue text + per-product video cards === */


/* === Products panel: title + description layout === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 14px 16px 2px;
    font-size: 15px;
    font-weight: 700;
    white-space: normal;
    line-height: 1.25;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    display: block;
    padding: 0 16px 16px;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #6f7f9e;
    font-weight: 400;
  }
}
/* === /Products panel: title + description layout === */



/* === Product cards: icon overlay + initial anim states === */
@media (min-width: 1025px) {
  /* Make product cards positioned so the absolutely-positioned icon anchors correctly */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    position: relative;
  }

  /* Un-hide the FA icon that was display:none from v7 and overlay it top-left of the video */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa {
    display: inline-flex !important;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 10px;
    color: #0a4074;
    z-index: 2;
    backdrop-filter: blur(2px);
    box-shadow: 0 4px 14px rgba(10, 64, 116, 0.15);
    pointer-events: none;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa::before {
    /* hide the FA glyph char — the proxy injects an <svg> that we animate instead */
    content: none;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa svg {
    width: 22px;
    height: 22px;
    overflow: visible;
    display: block;
  }
  /* Prepare the SVG path for the DrawSVG-style animation:
     stroke traces the outline, fill fades in after the stroke completes. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa svg path {
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 22;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
  }

  /* Keep the title's vertical slot stable while typing so the card doesn't jump */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    min-height: 1.3em;
  }

  /* Subtitle starts invisible; GSAP reveals it. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    opacity: 0;
    transform: translateY(6px);
    will-change: opacity, transform;
  }
}
/* === /Product cards: icon overlay + initial anim states === */


/* === Caret rotate on hover + --md full-width override === */

/* (1) Chevron rotates up when its parent menu item is being hovered */
.cabitrans-nav__caret {
  display: inline-block;
  transition: transform 0.22s ease;
  transform-origin: center;
  line-height: 1;
}
.cabitrans-nav__item:hover > .cabitrans-nav__link > .cabitrans-nav__caret,
.cabitrans-nav__item:focus-within > .cabitrans-nav__link > .cabitrans-nav__caret,
.cabitrans-nav__item.is-open > .cabitrans-nav__link > .cabitrans-nav__caret {
  transform: rotate(180deg);
}

/* (2) Force --md panel to actually go full-width on desktop.
       Previous `.cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1)` rule
       had higher specificity and pinned max-width to 420px. */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1),
  .cabitrans-nav__panel--md:has(.cabitrans-nav__grid) {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: max(48px, calc((100% - 1320px) / 2));
    padding-right: max(48px, calc((100% - 1320px) / 2));
    border-radius: 0;
  }

  /* Inner content box for --md: constrained and centered with a multi-column grid */
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
    width: 100%;
    max-width: 1320px;
    min-width: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 18px;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__heading {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Resource cards (Ayuda y Recursos) in Eurosender vertical style */
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 18px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: var(--nav-ink);
    transition: background-color 0.2s ease, border-color 0.2s ease;
    min-height: 96px;
    gap: 0;
    white-space: normal;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card > .fa {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #0a4074;
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 10px;
    transition: background-color 0.18s ease;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card:hover > .fa,
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card:focus > .fa {
    background: #1d97ff;
    color: #ffffff;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card .cabitrans-nav__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: #0a4074;
    white-space: normal;
  }
}

/* Two columns on narrower desktops */
@media (min-width: 1025px) and (max-width: 1200px) {
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* === /Caret rotate + --md full-width === */


/* === Product cards: hide icon overlay, border only on hover === */
@media (min-width: 1025px) {
  /* Hide the FA icon overlay entirely; the video thumbnail carries the card. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa {
    display: none !important;
  }

  /* Transparent border by default; the blue border only appears on hover. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    border-color: transparent;
  }
  /* Hover/focus rule from v7 already sets the blue border + shadow — no change needed. */
}
/* === /Product cards: hide icon overlay, border only on hover === */


/* === Panel content aligned with the top nav (first item <-> last element) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    padding-left: var(--nav-content-left, 48px);
    padding-right: var(--nav-content-right, 48px);
  }

  /* Inner content strip now fills the padded area (no extra centering) */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1,
  .cabitrans-nav__panel--lg .cabitrans-nav__grid,
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading,
  .cabitrans-nav__panel--lg .cabitrans-nav__heading,
  .cabitrans-nav__panel--xl .cabitrans-nav__heading {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  /* Europa panel: its inner .cabitrans-nav__countries has its own layout;
     don't touch grid here, just ensure it fills. */
  .cabitrans-nav__panel--xl .cabitrans-nav__countries {
    width: 100%;
    max-width: none;
  }
}
/* === /Panel content aligned with the top nav === */


/* === Divider + scroll/open progress fill === */
.cabitrans-nav__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: rgba(10, 64, 116, 0.18);
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
}
.cabitrans-nav__progress-fill {
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #0a4074, #33b5f0);
  transform: scaleX(var(--nav-progress, 0));
  transform-origin: left center;
  transition: transform 0.18s linear;
  will-change: transform;
}

/* When any menu item has its dropdown open (hover / focus-within),
   fill the divider completely with the brand gradient. */
.cabitrans-nav:has(.cabitrans-nav__item:hover) .cabitrans-nav__progress-fill,
.cabitrans-nav:has(.cabitrans-nav__item:focus-within) .cabitrans-nav__progress-fill,
.cabitrans-nav:has(.cabitrans-nav__item.is-open) .cabitrans-nav__progress-fill {
  transform: scaleX(1);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
/* === /Divider + scroll/open progress fill === */


/* === Products panel: shrink cards + side promo card === */
@media (min-width: 1025px) {
  /* Two-column layout inside the --sm panel: products grid on the left, promo on the right */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: 100%;
  }

  /* Shrink the products grid: take roughly half, so there's room for 3 future blocks + promo */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout > .cabitrans-nav__grid {
    flex: 0 1 auto;
    width: 100%;
    max-width: 56%;
    margin: 0;
  }

  /* Smaller product cards (video + texto) */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    min-height: auto;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 10px 12px 2px;
    font-size: 13px;
    line-height: 1.2;
    min-height: 1.25em;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    padding: 0 12px 12px;
    font-size: 11.5px;
    line-height: 1.35;
  }

  /* ---- Promo card ---- */
  .cabitrans-nav__promo {
    flex: 1 1 auto;
    min-width: 340px;
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 22px 24px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    border-radius: 16px;
    overflow: hidden;
    isolation: isolate;
  }
  .cabitrans-nav__promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.55), transparent 60%),
      radial-gradient(1.5px 1.5px at 70% 60%, rgba(255,255,255,0.35), transparent 60%),
      radial-gradient(1.5px 1.5px at 45% 80%, rgba(255,255,255,0.28), transparent 60%);
    z-index: 0;
    opacity: 0.55;
    pointer-events: none;
  }
  .cabitrans-nav__promo-content {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cabitrans-nav__promo-title {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 8px;
  }
  .cabitrans-nav__promo-text {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.88);
    margin: 0 0 16px;
  }
  .cabitrans-nav__promo-cta,
  .cabitrans-nav__promo-cta:link,
  .cabitrans-nav__promo-cta:visited {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    background: #f60;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    padding: 10px 18px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(255, 102, 0, 0.28);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .cabitrans-nav__promo-cta:hover,
  .cabitrans-nav__promo-cta:focus {
    background: #e65a00;
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(255, 102, 0, 0.38);
  }
  .cabitrans-nav__promo-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 190px;
    height: 250px;
    object-fit: cover;
    object-position: center 18%;
    align-self: flex-end;
    margin-bottom: -22px;
    border-radius: 14px;
    filter: drop-shadow(0 14px 26px rgba(10, 25, 50, 0.4));
    pointer-events: none;
  }
}

/* Hide the promo on mobile — the --sm panel is rendered inline as an accordion there */
@media (max-width: 1024px) {
  .cabitrans-nav__promo { display: none; }
}
/* === /Products panel: promo + smaller cards === */


/* === Products: exact 50/50 split with outer CSS grid === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px;
    align-items: stretch;
    width: 100%;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout > .cabitrans-nav__grid {
    width: 100% !important;
    max-width: 100% !important;
    flex: initial;
    margin: 0;
    /* 3 cards share the left half, so each is ~1/6 of the panel */
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .cabitrans-nav__promo {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
/* === /Products 50/50 split === */


/* === Promo CTA revamp (GSAP-powered shine + magnetic) === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo-cta,
  .cabitrans-nav__promo-cta:link,
  .cabitrans-nav__promo-cta:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 20px 12px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f60 0%, #ff8c38 60%, #f60 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 8px 22px rgba(255, 102, 0, 0.32),
                inset 0 1px 0 rgba(255, 255, 255, 0.28);
    transition: box-shadow 0.3s ease, transform 0.25s ease;
    will-change: transform;
  }

  /* Keep contents above the shine pseudo */
  .cabitrans-nav__promo-cta > *:not(.cabitrans-nav__promo-cta-shine) {
    position: relative;
    z-index: 1;
  }

  .cabitrans-nav__promo-cta-shine {
    position: absolute;
    top: 0;
    left: 0;
    width: 42%;
    height: 100%;
    background: linear-gradient(
      100deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.65) 50%,
      rgba(255, 255, 255, 0) 100%
    );
    transform: translateX(-180%) skewX(-20deg);
    pointer-events: none;
    z-index: 0;
  }

  .cabitrans-nav__promo-cta-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
  }

  .cabitrans-nav__promo-cta-text {
    white-space: nowrap;
  }

  .cabitrans-nav__promo-cta-arrow {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
  }

  .cabitrans-nav__promo-cta:hover,
  .cabitrans-nav__promo-cta:focus-visible {
    box-shadow: 0 14px 34px rgba(255, 102, 0, 0.48),
                inset 0 1px 0 rgba(255, 255, 255, 0.35);
  }
  .cabitrans-nav__promo-cta:hover .cabitrans-nav__promo-cta-arrow,
  .cabitrans-nav__promo-cta:focus-visible .cabitrans-nav__promo-cta-arrow {
    transform: translateX(4px);
  }
}
/* === /Promo CTA revamp === */


/* === Action buttons revamp (Area cliente + Regístrate gratis) === */
.cabitrans-nav__button--login,
.cabitrans-nav__button--login:link,
.cabitrans-nav__button--login:visited,
.cabitrans-nav__button--register,
.cabitrans-nav__button--register:link,
.cabitrans-nav__button--register:visited {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.005em;
  font-family: inherit;
  cursor: pointer;
  will-change: transform;
}
.cabitrans-nav__button--login .cabitrans-nav__btn-icon,
.cabitrans-nav__button--register .cabitrans-nav__btn-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

/* ---- Area cliente: outline → fill sliding gradient ---- */
.cabitrans-nav__button--login,
.cabitrans-nav__button--login:link,
.cabitrans-nav__button--login:visited {
  padding: 10px 20px;
  border-radius: 999px;
  color: #0a4074 !important;
  background: transparent;
  border: 2px solid rgba(10, 64, 116, 0.55);
  overflow: hidden;
  isolation: isolate;
  font-size: 14px;
  transition:
    color 0.3s cubic-bezier(0.2, 0.9, 0.3, 1),
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}
.cabitrans-nav__button--login::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, #0a4074 0%, #1d97ff 60%, #33b5f0 100%);
  transform: translateX(-102%);
  transition: transform 0.42s cubic-bezier(0.2, 0.9, 0.3, 1);
  z-index: -1;
}
.cabitrans-nav__button--login:hover,
.cabitrans-nav__button--login:focus-visible {
  color: #ffffff !important;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(10, 64, 116, 0.35);
}
.cabitrans-nav__button--login:hover::before,
.cabitrans-nav__button--login:focus-visible::before {
  transform: translateX(0);
}

/* ---- Regístrate gratis: animated multi-stop gradient + shine sweep ---- */
.cabitrans-nav__button--register,
.cabitrans-nav__button--register:link,
.cabitrans-nav__button--register:visited {
  padding: 11px 22px;
  border-radius: 999px;
  color: #ffffff !important;
  font-size: 14px;
  background: linear-gradient(120deg, #f60 0%, #ff9a4d 50%, #f60 100%);
  background-size: 240% 100%;
  animation: cabitrans-btn-hue-shift 6.5s ease-in-out infinite;
  box-shadow:
    0 12px 30px rgba(255, 102, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.25s cubic-bezier(0.2, 0.9, 0.3, 1), box-shadow 0.3s ease;
}
.cabitrans-nav__button--register > *:not(.cabitrans-nav__button-shine) {
  position: relative;
  z-index: 1;
}
.cabitrans-nav__button-shine {
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.7) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: translateX(-180%) skewX(-20deg);
  pointer-events: none;
  z-index: 0;
}
.cabitrans-nav__button--register:hover,
.cabitrans-nav__button--register:focus-visible {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 18px 40px rgba(255, 102, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

@keyframes cabitrans-btn-hue-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
/* === /Action buttons revamp === */


/* === Promo: separate CTA from the text block === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo-content {
    gap: 0;
  }
  .cabitrans-nav__promo-text {
    margin-bottom: 16px;
  }
  .cabitrans-nav__promo-cta {
    margin-top: 4px;
  }
}
/* === /Promo separation === */

/* === Promo: full bleed (100% panel height, flush to right edge, slanted edge) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm {
    overflow: hidden;
  }
  /* Give the products grid more horizontal room (was 1fr 1fr) */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    grid-template-columns: 2fr 1fr !important;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__promo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 70%;
    width: auto;
    margin: 0;
    border-radius: 0;
    min-width: 0;
    /* Slanted left edge: from 60px at top to 0 at bottom (forward slash) */
    clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%);
    /* Extra left padding so the content clears the slant */
    padding: 22px 24px 22px 80px;
  }
}
/* === /Promo full bleed === */


/* === Hover bubble effect (inside the menu link, behind the text) === */
@media (hover: hover) and (min-width: 1025px) {
  .cabitrans-nav__item > .cabitrans-nav__link {
    position: relative;
    z-index: 1;
  }
  .cabitrans-nav__item .cabitrans-nav__bubble {
    position: absolute;
    bottom: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 30% 30%,
      #7fd3ff 0%,
      #33b5f0 50%,
      #1d97ff 100%);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.4) inset,
      0 0 6px rgba(29, 151, 255, 0.55);
    animation: cabitrans-nav-bubble-rise 1.4s ease-out forwards;
    will-change: transform, opacity;
  }
}
@keyframes cabitrans-nav-bubble-rise {
  0% {
    transform: translate(-50%, 2px) scale(0.3);
    opacity: 0;
  }
  30% {
    transform: translate(-50%, 0) scale(0.85);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -6px) scale(1);
    opacity: 0;
  }
}
/* === /Hover bubble effect === */


/* === Slot machine label on Regístrate gratis button === */
.cabitrans-nav__button-label--slot {
  display: inline-flex;
  align-items: flex-start;
  height: 1.2em;
  line-height: 1.2;
  overflow: hidden;
  vertical-align: middle;
  position: relative;
  z-index: 1;
}
.cabitrans-nav__button-label-track {
  display: flex;
  flex-direction: column;
  width: 100%;
  transform: translateY(0);
  transition: transform 0.4s ease;
}
.cabitrans-nav__button-label-item {
  flex: 0 0 auto;
  height: 1.2em;
  line-height: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cabitrans-nav__button--register:hover .cabitrans-nav__button-label-track,
.cabitrans-nav__button--register:focus-visible .cabitrans-nav__button-label-track {
  animation: cabitrans-slot-spin 3.6s cubic-bezier(0.7, 0, 0.3, 1) infinite;
}
@keyframes cabitrans-slot-spin {
  0%,  6%   { transform: translateY(0); }
  20%, 31%  { transform: translateY(-1.2em); }
  45%, 56%  { transform: translateY(-2.4em); }
  70%, 81%  { transform: translateY(-3.6em); }
  95%, 100% { transform: translateY(-4.8em); }
}
/* === /Slot machine label === */


/* === All dropdown panels span the full nav width (use the left gap under the logo) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    left: 24px !important;
    right: 24px !important;
    width: auto !important;
    max-width: none !important;
    /* Override the JS-driven --nav-content-left/right padding (which was pinning
       content to the position of "Productos"). Use a normal fixed padding instead. */
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  /* The xl panel was rendering 1-2px lower than the other panels — pull it up to match */
  .cabitrans-nav__panel--xl {
    top: calc(100% - 1px) !important;
  }
  /* Keep the Europa countries grid at the panel's natural left padding (no auto-margin) */
  .cabitrans-nav__panel--xl .cabitrans-nav__countries {
    margin-left: 0;
    margin-right: 0;
  }
}
/* === /All panels full width === */


/* === Servicios panel: 2-col services on left + orange CTA on right (full-bleed, slanted) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--lg {
    overflow: hidden;
  }
  /* Reserve right column for the absolute promo, services occupy left 2/3 */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: stretch;
    width: 100%;
  }
  /* Services in 3 columns */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout > .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px 10px;
  }
  /* Compress card vertical size: smaller padding, smaller min-height */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__card {
    padding: 10px 12px 12px !important;
    min-height: 0 !important;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__title {
    margin-top: 4px !important;
    margin-bottom: 1px !important;
    font-size: 13.5px !important;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__subtitle {
    margin-top: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  /* Promo: absolute, full panel height, flush to right edge with slanted left edge */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 66%;
    margin: 0;
    border-radius: 0;
    clip-path: polygon(80px 0, 100% 0, 100% 100%, 0 100%);
    padding: 32px 32px 32px 110px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    background-size: 200% 200%;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
    isolation: isolate;
    display: flex;
    align-items: stretch;
    animation: cabitrans-lg-promo-shift 7s ease-in-out infinite;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promo-content {
    flex: 1 1 auto;
    width: 100%;
  }
  .cabitrans-nav__lg-promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(2px 2px at 22% 28%, rgba(255, 255, 255, 0.6), transparent 60%),
      radial-gradient(1.5px 1.5px at 72% 60%, rgba(255, 255, 255, 0.4), transparent 60%),
      radial-gradient(1.5px 1.5px at 50% 80%, rgba(255, 255, 255, 0.3), transparent 60%);
    z-index: 0;
    opacity: 0.55;
    pointer-events: none;
  }
  .cabitrans-nav__lg-promo-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cabitrans-nav__lg-promo-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 12px;
  }
  .cabitrans-nav__lg-promo-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 10px;
  }
  .cabitrans-nav__lg-promo-text {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 18px;
  }
  .cabitrans-nav__lg-promo-cta,
  .cabitrans-nav__lg-promo-cta:link,
  .cabitrans-nav__lg-promo-cta:visited {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #f60 0%, #ff8c38 60%, #f60 100%);
    color: #ffffff !important;
    padding: 12px 22px;
    margin-top: 28px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.3s ease;
    box-shadow:
      0 8px 22px rgba(255, 102, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
  }
  .cabitrans-nav__lg-promo-cta:hover,
  .cabitrans-nav__lg-promo-cta:focus-visible {
    transform: translateY(-2px);
    box-shadow:
      0 14px 30px rgba(255, 102, 0, 0.42),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
  }
  .cabitrans-nav__lg-promo-cta-arrow {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
  }
  .cabitrans-nav__lg-promo-cta:hover .cabitrans-nav__lg-promo-cta-arrow {
    transform: translateX(4px);
  }
}

@keyframes cabitrans-lg-promo-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@media (max-width: 1024px) {
  .cabitrans-nav__lg-promo { display: none; }
}
/* === /Servicios panel CTA === */


/* === Contacto panel: IONOS-style 3-column layout (sidebar + topics + CTA) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--contact .cabitrans-nav__contact-layout {
    display: grid;
    grid-template-columns: 220px 1fr 280px;
    gap: 36px;
    align-items: start;
    width: 100%;
  }

  /* ----- Sidebar (left) ----- */
  .cabitrans-nav__contact-sidebar {
    list-style: none;
    margin: 0;
    padding: 0;
    border-right: 1px solid rgba(23, 50, 102, 0.08);
    padding-right: 16px;
  }
  .cabitrans-nav__contact-sidebar-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--nav-ink);
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease;
    user-select: none;
  }
  .cabitrans-nav__contact-sidebar-item .fa {
    font-size: 16px;
    color: var(--nav-blue-light);
    width: 18px;
    text-align: center;
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-sidebar-item:hover {
    background: rgba(51, 181, 240, 0.08);
  }
  .cabitrans-nav__contact-sidebar-item.is-active {
    background: rgba(51, 181, 240, 0.14);
    color: #0a4074;
  }
  .cabitrans-nav__contact-sidebar-item.is-active .fa {
    color: #0a4074;
  }

  /* ----- Topics (center) ----- */
  .cabitrans-nav__contact-topics {
    align-self: start;
  }
  .cabitrans-nav__contact-topics-eyebrow {
    display: none;
  }
  .cabitrans-nav__contact-topic {
    display: none;
    margin: 0;
    padding: 0;
  }
  .cabitrans-nav__contact-topic.is-active {
    display: block;
  }
  .cabitrans-nav__contact-topic-title {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--nav-ink);
    margin: 0 0 6px;
  }
  .cabitrans-nav__contact-topic-subtitle {
    font-size: 14px;
    line-height: 1.45;
    color: var(--nav-ink-soft);
    margin: 0 0 40px !important;
    max-width: 540px;
  }
  .cabitrans-nav__contact-topic .cabitrans-nav__contact-topic-methods {
    margin-top: 8px;
  }
  .cabitrans-nav__contact-topic-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .cabitrans-nav__contact-method,
  .cabitrans-nav__contact-method:link,
  .cabitrans-nav__contact-method:visited {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #f5f7fb;
    border: 1px solid rgba(23, 50, 102, 0.08);
    border-radius: 999px;
    color: var(--nav-ink) !important;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
  }
  .cabitrans-nav__contact-method .fa {
    font-size: 14px;
    color: var(--nav-blue-light);
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-method:hover,
  .cabitrans-nav__contact-method:focus-visible {
    background: #ffffff;
    border-color: rgba(51, 181, 240, 0.55);
    color: #0a4074 !important;
    transform: translateY(-1px);
  }

  /* Topic meta: schedule + response time */
  .cabitrans-nav__contact-topic-meta {
    list-style: none;
    margin: 24px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(23, 50, 102, 0.08);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
  }
  .cabitrans-nav__contact-topic-meta li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
  }
  .cabitrans-nav__contact-topic-meta .fa {
    font-size: 18px;
    color: var(--nav-blue-light);
    width: 22px;
    text-align: center;
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-topic-meta li > div {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
  }
  .cabitrans-nav__contact-topic-meta-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8794a8;
    margin-bottom: 3px;
  }
  .cabitrans-nav__contact-topic-meta-value {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--nav-ink);
    letter-spacing: -0.005em;
  }

  /* ----- CTA card (right) ----- */
  .cabitrans-nav__contact-cta {
    background: #f5f7fb;
    border: 1px solid rgba(23, 50, 102, 0.08);
    border-radius: 16px;
    padding: 16px 16px 18px;
    text-align: left;
  }
  .cabitrans-nav__contact-cta-photo img {
    width: 100%;
    height: 192px;
    object-fit: cover;
    object-position: center top;
    border-radius: 10px;
    margin-bottom: 10px;
    display: block;
  }
  .cabitrans-nav__contact-cta-phone,
  .cabitrans-nav__contact-cta-phone:link,
  .cabitrans-nav__contact-cta-phone:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(51, 181, 240, 0.16);
    border-radius: 999px;
    color: #0a4074 !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.005em;
    text-decoration: none;
    margin-bottom: 10px;
    transition: background-color 0.18s ease;
  }
  .cabitrans-nav__contact-cta-phone .fa {
    font-size: 12px;
    color: #0a4074;
  }
  .cabitrans-nav__contact-cta-phone:hover {
    background: rgba(51, 181, 240, 0.28);
  }
  .cabitrans-nav__contact-cta-text {
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--nav-ink);
    margin: 0 0 36px;
  }
  .cabitrans-nav__contact-cta-button,
  .cabitrans-nav__contact-cta-button:link,
  .cabitrans-nav__contact-cta-button:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 9px 18px;
    background: #0a4074;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.18s ease, transform 0.18s ease;
  }
  .cabitrans-nav__contact-cta-button:hover,
  .cabitrans-nav__contact-cta-button:focus-visible {
    background: #1d97ff;
    transform: translateX(2px);
  }
  .cabitrans-nav__contact-cta-button .fa {
    font-size: 11px;
    transition: transform 0.18s ease;
  }
  .cabitrans-nav__contact-cta-button:hover .fa {
    transform: translateX(3px);
  }
}
/* === /Contacto panel === */

/* =========================================================================
   MOBILE MENU LEGACY DISABLED (2026-04-26)
   El menú móvil antiguo se oculta a ≤1300px. El nuevo menú móvil (bottom
   nav + drawer lateral) se define más abajo. El desktop (>1300px) sigue
   funcionando con normalidad.
   ========================================================================= */
@media (max-width: 1300px) {
  .cabitrans-nav__toggle,
  .cabitrans-nav__mobile-shell,
  .cabitrans-nav.is-open .cabitrans-nav__mobile-shell {
    display: none !important;
  }
  /* Ocultar la barra superior (logo + toggle + menu) en movil:
     el nuevo menu movil (cbt-mnav bottom-bar + cbt-drawer) la sustituye. */
  .cabitrans-nav__inner {
    display: none !important;
  }
  .cabitrans-nav {
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

/* =========================================================================
   NEW MOBILE NAV (2026-04-26)
   Bottom-bar flotante + drawer lateral con todo el menú desktop reformateado.
   Sólo activo a ≤1300px. Se desvanece cuando el drawer está abierto.

   El JS mueve estos elementos a <body> en DOMContentLoaded para que
   `position: fixed` sea relativo al viewport (un ancestro con transform
   rompía el anclaje y la anchura). Mientras estén dentro del widget nav o
   antes de moverse, se ocultan para evitar flash mal posicionado.
   ========================================================================= */
.cbt-mnav,
.cbt-drawer { display: none; }

.cabitrans-nav .cbt-mnav,
.cabitrans-nav .cbt-drawer {
  display: none !important;
}

@media (max-width: 1300px) {

  /* ---- Bottom pill bar with sliding indicator + draw-on-select icons -- */
  .cbt-mnav {
    display: block;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom, 12px));
    z-index: 9000;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .cbt-mnav__bar {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 8px;
    background: linear-gradient(135deg, #094074 0%, #0c5394 100%);
    border-radius: 22px;
    box-shadow:
      0 14px 36px rgba(3, 12, 30, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    pointer-events: auto;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    overflow: hidden;
  }

  .cbt-mnav__indicator {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: calc((100% - 16px) / 4);
    background: linear-gradient(135deg, #33b5f0 0%, #1d97ff 100%);
    border-radius: 16px;
    transform: translateX(0);
    transition:
      transform 0.46s cubic-bezier(0.65, 0, 0.35, 1),
      background 0.32s ease,
      box-shadow 0.32s ease,
      opacity 0.22s ease;
    pointer-events: none;
    opacity: 0;
    box-shadow: 0 6px 16px rgba(51, 181, 240, 0.32);
    z-index: 0;
  }

  .cbt-mnav__bar[data-active] .cbt-mnav__indicator { opacity: 1; }
  .cbt-mnav__bar[data-active="0"] .cbt-mnav__indicator { transform: translateX(0%); }
  .cbt-mnav__bar[data-active="1"] .cbt-mnav__indicator { transform: translateX(100%); }
  .cbt-mnav__bar[data-active="2"] .cbt-mnav__indicator { transform: translateX(200%); }
  .cbt-mnav__bar[data-active="3"] .cbt-mnav__indicator { transform: translateX(300%); }

  /* When the menu (last) item is active, switch indicator to orange */
  .cbt-mnav__bar[data-active="3"] .cbt-mnav__indicator {
    background: linear-gradient(135deg, #ff7a1a 0%, #ff6600 100%);
    box-shadow: 0 6px 16px rgba(255, 102, 0, 0.36);
  }

  .cbt-mnav__btn {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 9px 4px;
    min-width: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    border-radius: 16px;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.22s ease, transform 0.12s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .cbt-mnav__btn:hover,
  .cbt-mnav__btn:focus-visible {
    color: #fff;
    outline: none;
  }

  .cbt-mnav__btn:active { transform: scale(0.94); }

  .cbt-mnav__btn.is-active {
    color: #fff;
  }

  .cbt-mnav__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .cbt-mnav__svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
    transition: transform 0.22s ease;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__svg {
    transform: scale(1.06);
  }

  /* Default state: paths fully visible (no animation) */
  .cbt-mnav__svg path,
  .cbt-mnav__svg circle,
  .cbt-mnav__svg rect,
  .cbt-mnav__svg line,
  .cbt-mnav__svg polyline {
    stroke-dasharray: 100;
    stroke-dashoffset: 0;
  }

  /* Active state: re-draw each shape from 0% to 100% with a small stagger */
  .cbt-mnav__btn.is-active .cbt-mnav__svg > * {
    animation: cbtDraw 0.85s cubic-bezier(0.65, 0, 0.35, 1) both;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(1) { animation-delay: 0s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(2) { animation-delay: 0.07s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(3) { animation-delay: 0.14s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(4) { animation-delay: 0.21s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(5) { animation-delay: 0.28s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(6) { animation-delay: 0.35s; }

  @keyframes cbtDraw {
    0%   { stroke-dashoffset: 100; }
    100% { stroke-dashoffset: 0; }
  }

  .cbt-mnav__lbl {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-align: center;
    transition: transform 0.22s ease;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__lbl {
    font-weight: 700;
    transform: translateY(1px);
  }

  /* Reduce-motion safety */
  @media (prefers-reduced-motion: reduce) {
    .cbt-mnav__indicator,
    .cbt-mnav__svg,
    .cbt-mnav__lbl,
    .cbt-mnav__btn { transition: none !important; }
    .cbt-mnav__btn.is-active .cbt-mnav__svg > * { animation: none !important; }
  }

  /* Hide bottom bar while drawer is open */
  body.cbt-drawer-open .cbt-mnav {
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
  }

  /* ---- Drawer overlay -------------------------------------------------- */
  .cbt-drawer {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9100;
    pointer-events: none;
    /* Clip the off-screen panel so its translateX(100%) doesn't push the
       document into horizontal scroll. */
    overflow: hidden;
  }

  /* Respect the HTML `hidden` attribute (UA stylesheet specificity is the
     same as our `.cbt-drawer { display: block }`, so we need !important to
     keep it truly hidden until JS opens it). */
  .cbt-drawer[hidden] {
    display: none !important;
  }

  .cbt-drawer[aria-hidden="false"] { pointer-events: auto; }

  .cbt-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 12, 30, 0.55);
    opacity: 0;
    transition: opacity 0.28s ease;
  }

  .cbt-drawer[aria-hidden="false"] .cbt-drawer__backdrop { opacity: 1; }

  .cbt-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(86vw, 380px);
    background: #ffffff;
    box-shadow: -16px 0 48px rgba(3, 12, 30, 0.32);
    transform: translateX(100%);
    transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .cbt-drawer[aria-hidden="false"] .cbt-drawer__panel { transform: translateX(0); }

  .cbt-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #e6ebf2;
    background: #fff;
    flex: 0 0 auto;
  }

  .cbt-drawer__brand img {
    display: block;
    height: 40px;
    width: auto;
  }

  .cbt-drawer__close {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: #f3f6fb;
    color: #094074;
    border-radius: 12px;
    cursor: pointer;
    font-size: 18px;
    transition: background 0.16s ease, color 0.16s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .cbt-drawer__close:hover,
  .cbt-drawer__close:focus-visible {
    background: #094074;
    color: #fff;
    outline: none;
  }

  .cbt-drawer__cta {
    padding: 14px 18px;
    display: grid;
    gap: 10px;
    background: #f7f9fc;
    border-bottom: 1px solid #e6ebf2;
    flex: 0 0 auto;
  }

  .cbt-drawer__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    transition: transform 0.12s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  }

  .cbt-drawer__cta-btn .fa,
  .cbt-drawer__cta-btn .cbt-drawer__svg { font-size: 14px; width: 16px; height: 16px; }

  .cbt-drawer__cta-btn--primary {
    background: #ff6600;
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 102, 0, 0.30);
  }

  .cbt-drawer__cta-btn--primary:hover,
  .cbt-drawer__cta-btn--primary:focus-visible {
    background: #e65a00;
    color: #fff;
  }

  .cbt-drawer__cta-btn--ghost {
    background: #fff;
    color: #094074;
    border: 1.5px solid #094074;
  }

  .cbt-drawer__cta-btn--ghost:hover,
  .cbt-drawer__cta-btn--ghost:focus-visible {
    background: #094074;
    color: #fff;
  }

  .cbt-drawer__cta-btn:active { transform: scale(0.98); }

  .cbt-drawer__body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 6px 0 32px;
    overscroll-behavior: contain;
  }

  /* Section accordion */
  .cbt-drawer__sec {
    border-bottom: 1px solid #eef1f5;
    background: #fff;
  }

  .cbt-drawer__sec[open] { background: #fbfcfe; }

  .cbt-drawer__sec-head {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    cursor: pointer;
    color: #094074;
    font-weight: 600;
    font-size: 15px;
    user-select: none;
    text-decoration: none;
  }

  .cbt-drawer__sec-head::-webkit-details-marker { display: none; }
  .cbt-drawer__sec-head::marker { display: none; content: ""; }

  .cbt-drawer__sec-ico {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(51, 181, 240, 0.14);
    color: #094074;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    transition: background 0.18s ease, color 0.18s ease;
  }

  .cbt-drawer__sec-title {
    flex: 1;
    line-height: 1.2;
  }

  .cbt-drawer__sec-chev {
    transition: transform 0.22s ease;
    color: #6c7a8e;
    font-size: 18px;
  }

  .cbt-drawer__sec[open] .cbt-drawer__sec-chev { transform: rotate(180deg); }

  .cbt-drawer__sec[open] .cbt-drawer__sec-ico {
    background: #094074;
    color: #fff;
  }

  .cbt-drawer__sec-body {
    padding: 4px 14px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    animation: cbtDrawerSecIn 0.22s ease;
  }

  @keyframes cbtDrawerSecIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .cbt-drawer__link {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: #233140;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    transition: background 0.14s ease, color 0.14s ease;
  }

  .cbt-drawer__link small {
    color: #6c7a8e;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  .cbt-drawer__link:hover,
  .cbt-drawer__link:focus-visible {
    background: rgba(51, 181, 240, 0.10);
    color: #094074;
    outline: none;
  }

  .cbt-drawer__link:hover small,
  .cbt-drawer__link:focus-visible small { color: #094074; }

  /* Inline CTA inside a section */
  .cbt-drawer__cta-inline {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #094074 0%, #1167b8 100%);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: transform 0.12s ease, background 0.16s ease;
  }

  .cbt-drawer__cta-inline .fa,
  .cbt-drawer__cta-inline .cbt-drawer__svg { font-size: 12px; width: 14px; height: 14px; }

  .cbt-drawer__cta-inline:hover,
  .cbt-drawer__cta-inline:focus-visible {
    background: linear-gradient(135deg, #0c5394 0%, #1d8be8 100%);
    color: #fff;
  }

  .cbt-drawer__cta-inline:active { transform: scale(0.98); }

  /* Country list with PAQ / GRUP / LTL / FLT / Express tags */
  .cbt-drawer__countries {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .cbt-drawer__country {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f7f9fc;
    border: 1px solid transparent;
    transition: background 0.14s ease, border-color 0.14s ease;
  }

  .cbt-drawer__country:hover {
    background: #fff;
    border-color: rgba(9, 64, 116, 0.12);
  }

  .cbt-drawer__country-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .cbt-drawer__country-flag {
    flex-shrink: 0;
    display: inline-flex;
    width: 26px;
    height: 19px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(3, 12, 30, 0.12);
  }

  .cbt-drawer__country-flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .cbt-drawer__country-name {
    flex: 1 1 auto;
    min-width: 0;
    color: #094074;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cbt-drawer__country-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cbt-drawer__country-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    padding: 5px 8px;
    background: #fff;
    border: 1px solid #d8e0ec;
    border-radius: 999px;
    color: #094074;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, transform 0.1s ease;
  }

  .cbt-drawer__country-tag:hover,
  .cbt-drawer__country-tag:focus-visible {
    background: #094074;
    border-color: #094074;
    color: #fff;
    outline: none;
  }

  .cbt-drawer__country-tag:active { transform: scale(0.96); }

  /* Inline SVG icons baseline (sizing & stroke). Specific contexts override
     width/height/font-size below as needed. */
  .cbt-drawer__svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
  }

  .cbt-drawer__sec-ico .cbt-drawer__svg {
    width: 18px;
    height: 18px;
  }

  .cbt-drawer__close .cbt-drawer__svg {
    width: 18px;
    height: 18px;
  }

  /* Solo (single-link) section: behaves like a row, no accordion */
  a.cbt-drawer__sec--solo {
    display: block;
    text-decoration: none;
  }

  .cbt-drawer__sec-chev--solo {
    transform: rotate(0) !important;
    font-size: 16px;
  }

  /* Contacto block */
  .cbt-drawer__contact {
    display: grid;
    gap: 10px;
    padding: 4px 4px 6px;
  }

  .cbt-drawer__contact-block {
    background: #f7f9fc;
    border-radius: 12px;
    padding: 12px 14px;
    display: grid;
    gap: 6px;
  }

  .cbt-drawer__contact-block h4 {
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 700;
    color: #094074;
    letter-spacing: 0.01em;
  }

  .cbt-drawer__contact-block a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #233140;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: color 0.14s ease;
  }

  .cbt-drawer__contact-block a:hover,
  .cbt-drawer__contact-block a:focus-visible {
    color: #094074;
    outline: none;
  }

  .cbt-drawer__contact-block .fa,
  .cbt-drawer__contact-block .cbt-drawer__svg {
    color: #33b5f0;
    font-size: 13px;
    width: 14px;
    height: 14px;
    text-align: center;
    flex-shrink: 0;
  }

  .cbt-drawer__contact-block small {
    color: #6c7a8e;
    font-size: 11px;
    font-weight: 500;
  }

  /* Reserve space at bottom of page so the floating bar doesn't cover content,
     y bloquear scroll horizontal accidental (cotizador/elementos legacy que
     no son responsive). */
  body {
    padding-bottom: 84px;
    overflow-x: hidden;
  }
  html { overflow-x: hidden; }
}

/* Lock body scroll when drawer is open (applies at any size, the drawer
   itself is only visible ≤1300px so this is harmless on desktop) */
body.cbt-drawer-open {
  overflow: hidden;
}

/* === lg-promos: ONE shared blue card holding two stacked CTAs === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 66%;
    margin: 0;
    border-radius: 0;
    clip-path: polygon(80px 0, 100% 0, 100% 100%, 0 100%);
    padding: 22px 28px 22px 110px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    background-size: 200% 200%;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    overflow: hidden;
    animation: cabitrans-lg-promo-shift 7s ease-in-out infinite;
  }
  /* Inner asides: strip their own card look — they are pure content sections */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos > .cabitrans-nav__lg-promo {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0;
    padding: 0;
    background: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: inherit;
    isolation: auto;
    animation: none !important;
    display: block;
    flex: 0 0 auto;
    overflow: visible;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos > .cabitrans-nav__lg-promo::after {
    display: none;
  }
  /* Tighter typography because two sections share the same card */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-eyebrow {
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.16em;
    margin-bottom: 8px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-title {
    font-size: 17px;
    line-height: 1.18;
    margin: 0 0 6px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-text {
    font-size: 11.5px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-cta {
    margin-top: 4px;
    padding: 8px 16px;
    font-size: 12px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-trust {
    display: block;
    margin: 10px 0 0;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    text-decoration: none;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos a.cabitrans-nav__lg-promo-trust:hover,
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos a.cabitrans-nav__lg-promo-trust:focus-visible {
    text-decoration: underline;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-cta-icon {
    font-size: 14px;
    line-height: 1;
    flex: 0 0 auto;
  }
}
/* === Product card hover: title verb + arrow (Productos panel) v5 smooth === */
/* Verb pseudo-element: collapsed by default, slides + fades in */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title[data-hover-verb]::before {
  content: attr(data-hover-verb);
  display: inline-block;
  max-width: 0;
  margin-right: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  vertical-align: bottom;
  font-weight: inherit;
  transition: max-width 0.28s ease, margin-right 0.28s ease, opacity 0.2s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title[data-hover-verb]::before,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title[data-hover-verb]::before {
  max-width: 9em;
  margin-right: 0.3em;
  opacity: 1;
}

/* Arrow pseudo-element: collapsed by default, NEVER underlined */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title::after {
  content: "→";
  display: inline-block;
  max-width: 0;
  margin-left: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  vertical-align: middle;
  font-weight: 400;
  text-decoration: none;
  transition: max-width 0.28s ease, margin-left 0.28s ease, opacity 0.2s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title::after,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title::after {
  max-width: 1.5em;
  margin-left: 6px;
  opacity: 0.7;
}

/* Make sure the title parent has no underline of its own (so the arrow ::after isn't underlined) */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
  text-decoration: none !important;
}

/* Underline ONLY the product name span, fading in via text-decoration-color */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title-name {
  font-weight: 700;
  text-decoration: underline transparent;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: text-decoration-color 0.22s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title-name,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title-name {
  text-decoration-color: currentColor;
}
/* === Promo image halo (Productos panel) === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo {
    overflow: visible;
  }
  .cabitrans-nav__promo::before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background:
      radial-gradient(circle at center, rgba(255, 255, 255, 0.45) 0%, rgba(51, 181, 240, 0.32) 30%, rgba(10, 64, 116, 0) 70%);
    filter: blur(8px);
    pointer-events: none;
    z-index: 0;
  }
  .cabitrans-nav__promo-content {
    position: relative;
    z-index: 1;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9efc356 */@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap");

.cabitrans-nav {
  --nav-white: var(--e-global-color-5c8dbe0, #ffffff);
  --nav-blue: var(--e-global-color-accent, #094074);
  --nav-blue-light: var(--e-global-color-e63e185, #33b5f0);
  --nav-blue-secondary: var(--e-1524px-color-secondary, #1d97ff);
  --nav-text-light: var(--e-global-color-text, #ebebeb);
  --nav-black: var(--e-global-color-552fbe6, #000000);
  --nav-ink: #173266;
  --nav-ink-soft: #6f7f9e;
  --nav-panel: #f5f6fb;
  --nav-panel-alt: #eef1f8;
  --nav-panel-border: rgba(23, 50, 102, 0.09);
  --video-widget-offset-right: 24px;
  --video-widget-offset-bottom: 24px;
  --video-widget-offset-bottom-scrolled: 108px;
  position: relative;
  background: #ffffff;
  color: var(--nav-white);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  z-index: 30;
}

.cabitrans-nav *,
.cabitrans-nav *::before,
.cabitrans-nav *::after {
  box-sizing: border-box;
}

.cabitrans-nav a {
  color: inherit;
  text-decoration: none;
}

.cabitrans-nav__inner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px 48px 8px;
}

.cabitrans-nav__mobile-shell {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
}

.cabitrans-nav__brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.cabitrans-nav__brand img {
  display: block;
  width: auto;
  height: 60px;
}

.cabitrans-nav__center {
  display: flex;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 12px;
}

.cabitrans-nav__toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--nav-white);
  font-size: 30px;
  cursor: pointer;
}

.cabitrans-nav__menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 50px;
  width: auto;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cabitrans-nav__item {
  position: relative;
  display: flex;
  align-items: center;
}

.cabitrans-nav__item:has(> .cabitrans-nav__panel) {
  position: static;
}

.cabitrans-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 0;
  border-radius: 0;
  font-weight: 600 !important;
  font-size: 18px !important;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--nav-white);
  transition: color 0.2s ease, opacity 0.2s ease;
  white-space: nowrap;
}

.cabitrans-nav .cabitrans-nav__link,
.cabitrans-nav .cabitrans-nav__link:visited,
.cabitrans-nav .cabitrans-nav__link:hover,
.cabitrans-nav .cabitrans-nav__link:focus {
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.cabitrans-nav__link:hover,
.cabitrans-nav__item:hover > .cabitrans-nav__link {
  color: var(--nav-blue-light);
  opacity: 1;
}

.cabitrans-nav__caret {
  font-size: 10px;
  transform: translateY(0);
  opacity: 0.8;
}

.cabitrans-nav__panel {
  position: absolute;
  top: calc(100% - 12px);
  left: 0;
  min-width: 210px;
  width: max-content;
  max-width: min(1220px, calc(100vw - 48px));
  padding: 28px 32px;
  background: var(--nav-panel);
  color: var(--nav-ink);
  border: 1px solid var(--nav-panel-border);
  border-radius: 24px;
  box-shadow: 0 26px 60px rgba(13, 31, 79, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease 0.18s,
    transform 0.2s ease 0.18s,
    visibility 0s linear 0.18s;
  z-index: 40;
}

.cabitrans-nav__item:last-child > .cabitrans-nav__panel,
.cabitrans-nav__item:nth-last-child(2) > .cabitrans-nav__panel {
  left: auto;
  right: 0;
}

.cabitrans-nav__item:hover > .cabitrans-nav__panel,
.cabitrans-nav__item:focus-within > .cabitrans-nav__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s;
}

.cabitrans-nav__panel--sm {
  width: 260px;
}

.cabitrans-nav__panel--md {
  width: min(560px, calc(100vw - 48px));
}

.cabitrans-nav__panel--lg {
  width: min(980px, calc(100vw - 48px));
}

.cabitrans-nav__panel--xl {
  width: max-content;
  max-width: calc(100vw - 48px);
  left: auto;
  right: 0;
  transform: translateY(8px);
}

.cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
.cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl {
  transform: translateY(0);
}

.cabitrans-nav__grid {
  display: grid;
  gap: 12px 22px;
}

.cabitrans-nav__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cabitrans-nav__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cabitrans-nav__grid--1 {
  grid-template-columns: 1fr;
}

.cabitrans-nav__card {
  display: block;
  padding: 14px 16px;
  color: var(--nav-ink);
  border-radius: 18px;
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cabitrans-nav__card:hover {
  background: rgba(51, 181, 240, 0.12);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(20, 45, 99, 0.08);
}

.cabitrans-nav__product-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__product-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
}

.cabitrans-nav__product-card .cabitrans-nav__title {
  margin-bottom: 0;
}

.cabitrans-nav__resource-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__resource-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
}

.cabitrans-nav__resource-card .cabitrans-nav__title {
  margin-bottom: 0;
}

.cabitrans-nav__title {
  display: block;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.14;
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

.cabitrans-nav__subtitle {
  display: block;
  color: var(--nav-ink-soft);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
}

.cabitrans-nav__panel--lg .cabitrans-nav__title {
  position: relative;
  padding-left: 36px;
}

.cabitrans-nav__panel--lg .cabitrans-nav__title::before {
  content: "\f0d1";
  position: absolute;
  top: 0;
  left: 0;
  color: #33b5f0;
  font-family: "FontAwesome";
  font-size: 25px;
  font-weight: 400;
  line-height: 1.1;
}

.cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
  font-size: 15px;
  padding-left: 36px;
}

.cabitrans-nav__heading {
  margin-bottom: 18px;
  padding-left: 16px;
  font-weight: 600;
  font-size: 18px;
  color: var(--nav-blue);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.cabitrans-nav__panel--xl .cabitrans-nav__heading {
  padding-left: 0;
}

.cabitrans-nav__countries {
  display: grid;
  --euro-column-width: 332px;
  --euro-column-gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--euro-column-gap);
  row-gap: 10px;
  width: 100%;
}

.cabitrans-nav__country {
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: center;
  column-gap: 10px;
  white-space: nowrap;
  color: var(--nav-ink);
  font-size: 12px;
  padding: 6px 0;
  min-width: 0;
}

.cabitrans-nav__flag-circle {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  vertical-align: middle;
}
.cabitrans-nav__flag-circle img,
.cabitrans-nav__country img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.85);
  transform-origin: center;
}

.cabitrans-nav__country-name {
  margin: 0;
  font-weight: 600;
  color: var(--nav-ink);
  white-space: normal;
  word-break: break-word;
  line-height: 1.15;
  min-width: 0;
  font-size: 13px;
  letter-spacing: -0.01em;
}

.cabitrans-nav__country-tags {
  display: grid;
  grid-template-columns: 30px 42px 28px 28px 52px;
  column-gap: 8px;
  align-items: center;
  justify-content: start;
  min-width: 0;
}

.cabitrans-nav__country-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 132px;
}

.cabitrans-nav__country-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  width: 100%;
  min-width: 0;
  padding: 4px 6px;
  margin: 0;
  border-radius: 999px;
  color: var(--nav-ink-soft);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  justify-self: stretch;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease, font-weight 0.2s ease;
}

.cabitrans-nav__country-tags .cabitrans-nav__country-link,
.cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
  background: transparent;
  color: var(--nav-ink-soft) !important;
  font-weight: 400 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.cabitrans-nav__country-tags .cabitrans-nav__country-link:hover,
.cabitrans-nav__country-tags .cabitrans-nav__country-link:focus {
  background: rgba(51, 181, 240, 0.14);
  color: var(--nav-blue) !important;
  font-weight: 600 !important;
}

.cabitrans-nav__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.cabitrans-nav__action-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}

.cabitrans-nav__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  min-height: 54px;
  min-width: 190px;
  padding: 0 22px;
  border-radius: 999px;
  gap: 10px;
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  transition: transform 0.2s ease, opacity 0.2s ease;
  border: 0;
  cursor: pointer;
  box-sizing: border-box;
}

.cabitrans-nav__button:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.cabitrans-nav__button--primary {
  background: var(--nav-blue-light);
  color: var(--nav-white);
  border: 1.5px solid rgba(23, 50, 102, 0.26);
  font-style: normal;
}

.cabitrans-nav__button--primary:hover,
.cabitrans-nav__button--primary:focus {
  background: #173266 !important;
  color: var(--nav-white) !important;
}

.cabitrans-nav__contact-toggle {
  position: relative;
  gap: 10px;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 999px !important;
  border-top-left-radius: 0 !important;
  overflow: hidden;
}

.cabitrans-nav__actions .cabitrans-nav__contact-toggle,
.cabitrans-nav__actions .cabitrans-nav__contact-toggle:hover,
.cabitrans-nav__actions .cabitrans-nav__contact-toggle:focus {
  border-radius: 999px !important;
  border-top-left-radius: 0 !important;
}

.cabitrans-nav__contact-icon,
.cabitrans-nav__contact-close {
  line-height: 1;
  font-style: normal;
}

.cabitrans-nav__contact-icon {
  display: inline-block;
  font-size: 16px;
}

.cabitrans-nav__contact-close {
  display: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 28px;
}

.cabitrans-nav__action-dropdown.is-open .cabitrans-nav__contact-close {
  display: inline-block;
}

.cabitrans-nav__action-dropdown.is-open .cabitrans-nav__contact-icon {
  display: none;
}

.cabitrans-nav__button--secondary {
  background: var(--nav-white);
  color: #33b5f0 !important;
  border: 1.5px solid rgba(23, 50, 102, 0.26);
  font-style: normal;
}

.cabitrans-nav__actions .cabitrans-nav__button--secondary,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:visited,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:hover,
.cabitrans-nav__actions .cabitrans-nav__button--secondary:focus {
  color: #33b5f0 !important;
}

.cabitrans-nav__button--secondary .fa {
  font-size: 16px;
  line-height: 1;
}

.cabitrans-nav__panel--action {
  top: calc(100% + 14px);
  left: 0;
  right: auto;
  min-width: 280px;
}

.cabitrans-nav__action-dropdown:hover > .cabitrans-nav__panel--action,
.cabitrans-nav__action-dropdown:focus-within > .cabitrans-nav__panel--action,
.cabitrans-nav__action-dropdown.is-open > .cabitrans-nav__panel--action {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cabitrans-nav__contact-card {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cabitrans-nav__contact-card .fa {
  flex: 0 0 auto;
  font-size: 16px;
  color: #33b5f0;
  transform-origin: 50% 50%;
}

.cabitrans-nav__contact-card .fa-headphones::before {
  content: "\f025" !important;
}

.cabitrans-nav__contact-card:hover .fa,
.cabitrans-nav__contact-card:focus .fa {
  animation: cabitrans-headphones-ring 0.35s ease-in-out infinite;
}

.cabitrans-nav__contact-card .cabitrans-nav__title {
  margin-bottom: 0;
}

@keyframes cabitrans-headphones-ring {
  0% {
    transform: rotate(0deg) translateX(0);
  }
  20% {
    transform: rotate(-14deg) translateX(-1px);
  }
  40% {
    transform: rotate(14deg) translateX(1px);
  }
  60% {
    transform: rotate(-10deg) translateX(-1px);
  }
  80% {
    transform: rotate(10deg) translateX(1px);
  }
  100% {
    transform: rotate(0deg) translateX(0);
  }
}

.cabitrans-nav__search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  color: var(--nav-white);
  font-size: 24px;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.cabitrans-nav__search:hover,
.cabitrans-nav__search:focus {
  color: var(--nav-blue-light);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-1px);
}

.cabitrans-nav__panel--lg {
  background: var(--nav-panel);
}

.cabitrans-nav__panel--xl {
  background: var(--nav-white);
}

.cabitrans-nav__panel--md,
.cabitrans-nav__panel--sm {
  background: var(--nav-panel);
}

.cabitrans-nav__panel--sm .cabitrans-nav__grid,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
  gap: 6px;
}

.cabitrans-nav__panel--sm,
.cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1) {
  width: max-content;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 48px));
  padding: 14px 16px;
  border-radius: 12px;
}

.cabitrans-nav__panel--sm .cabitrans-nav__card,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__card {
  padding: 10px 12px;
  border-radius: 6px;
}

.cabitrans-nav__panel--sm .cabitrans-nav__grid,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
  width: max-content;
  min-width: 100%;
}

.cabitrans-nav__panel--sm .cabitrans-nav__title,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__title {
  font-size: 15px;
  margin-bottom: 0;
  white-space: nowrap;
}

.cabitrans-nav__panel--sm .cabitrans-nav__subtitle,
.cabitrans-nav__panel--md .cabitrans-nav__grid--1 .cabitrans-nav__subtitle {
  font-size: 12px;
  margin-top: 4px;
}

.cabitrans-video-widget {
  position: fixed;
  right: var(--video-widget-offset-right);
  bottom: var(--video-widget-offset-bottom);
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  transition: bottom 0.3s ease, transform 0.3s ease;
}

.cabitrans-video-widget.is-lifted {
  bottom: var(--video-widget-offset-bottom-scrolled);
  transform: translateY(-4px);
}

.cabitrans-scroll-top {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 56px;
  height: 0;
  margin-top: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--nav-blue);
  box-shadow:
    0 16px 34px rgba(12, 26, 66, 0.24),
    0 0 0 1px rgba(9, 64, 116, 0.08);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(12px);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    height 0.22s ease,
    margin-top 0.22s ease,
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

.cabitrans-scroll-top.is-visible {
  height: 56px;
  margin-top: 8px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.cabitrans-video-widget.is-open .cabitrans-scroll-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  margin-top: 0;
  height: 0;
}

.cabitrans-scroll-top:hover,
.cabitrans-scroll-top:focus {
  background: var(--nav-blue);
  color: var(--nav-white);
}

.cabitrans-scroll-top .fa {
  font-size: 20px;
  line-height: 1;
}

.cabitrans-video-widget__trigger {
  position: relative;
  display: block;
  width: 112px;
  height: 168px;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.cabitrans-video-widget.is-open .cabitrans-video-widget__trigger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

.cabitrans-video-widget__trigger::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  border-radius: 18px;
  z-index: 1;
  pointer-events: none;
}

.cabitrans-video-widget__preview {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 18px;
  box-shadow: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cabitrans-video-widget__trigger:hover,
.cabitrans-video-widget__trigger:focus {
  background: transparent;
}

.cabitrans-video-widget__trigger:hover .cabitrans-video-widget__preview,
.cabitrans-video-widget__trigger:focus .cabitrans-video-widget__preview {
  box-shadow:
    0 0 0 2px rgba(51, 181, 240, 0.32),
    0 0 28px rgba(51, 181, 240, 0.55),
    0 24px 54px rgba(51, 181, 240, 0.34);
  transform: translateY(-1px) scale(1.01);
}

.cabitrans-video-widget__play-fab {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  color: #33b5f0;
  box-shadow:
    0 10px 24px rgba(12, 26, 66, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.9);
  transform: translate(-50%, 26px);
  opacity: 0;
  transition: transform 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease;
  pointer-events: none;
}

.cabitrans-video-widget__play-fab .fa {
  font-size: 18px;
  line-height: 1;
  transform: translateX(2px);
}

.cabitrans-video-widget__badge {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.86);
  color: var(--nav-white);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  z-index: 4;
  backdrop-filter: blur(4px);
}

.cabitrans-video-widget__trigger:hover .cabitrans-video-widget__play-fab,
.cabitrans-video-widget__trigger:focus .cabitrans-video-widget__play-fab {
  transform: translate(-50%, 0);
  opacity: 1;
  box-shadow:
    0 14px 28px rgba(51, 181, 240, 0.34),
    0 0 18px rgba(51, 181, 240, 0.24);
}

.cabitrans-video-widget__panel {
  position: relative;
  width: min(460px, calc(100vw - 32px));
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(23, 50, 102, 0.08);
  box-shadow: 0 22px 60px rgba(12, 26, 66, 0.26);
}

.cabitrans-video-widget__panel-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.cabitrans-video-widget__tagline {
  margin: 0;
  color: var(--nav-blue);
  font-size: 22px;
  font-weight: 700;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.cabitrans-video-widget__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.08);
  color: var(--nav-blue);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.cabitrans-video-widget__close:hover,
.cabitrans-video-widget__close:focus,
.cabitrans-video-widget__collapse:hover,
.cabitrans-video-widget__collapse:focus {
  background: rgba(51, 181, 240, 0.18) !important;
  color: var(--nav-blue) !important;
}

.cabitrans-video-widget__player {
  width: 100%;
  display: block;
  border-radius: 16px;
  background: #000;
}

.cabitrans-video-widget__helper {
  margin: 12px 2px 0;
  color: var(--nav-ink-soft);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.45;
}

.cabitrans-video-widget__message {
  margin: 10px 2px 0;
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

.cabitrans-video-widget__message[data-state="info"] {
  color: var(--nav-blue);
}

.cabitrans-video-widget__message[data-state="success"] {
  color: #0f7b4b;
}

.cabitrans-video-widget__message[data-state="error"] {
  color: #d93a49;
}

.cabitrans-video-widget__meeting-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 12px;
  padding: 0 20px;
  border-radius: 999px;
  border: 0;
  background: var(--nav-blue-light);
  color: var(--nav-white);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.cabitrans-video-widget__meeting-toggle:hover,
.cabitrans-video-widget__meeting-toggle:focus {
  background: #094074;
  transform: translateY(-1px);
}

.cabitrans-video-widget__meeting-toggle.is-loading,
.cabitrans-video-widget__meeting-toggle:disabled {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}

.cabitrans-video-widget__form {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 72px;
  z-index: 6;
  margin: 0;
  padding: 44px 14px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.32);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(12, 26, 66, 0.18);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  max-height: calc(100% - 138px);
  overflow-y: auto;
}

.cabitrans-video-widget__gravity {
  position: relative;
  z-index: 1;
}

.cabitrans-video-widget__collapse {
  position: absolute;
  top: 10px;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(9, 64, 116, 0.1);
  color: var(--nav-blue);
  cursor: pointer;
  transform: translateX(-50%);
  z-index: 2;
}

.cabitrans-video-widget__form .formulariovideo_wrapper,
.cabitrans-video-widget__form .formulariovideo,
.cabitrans-video-widget__form .formulariovideo.gform_wrapper,
.cabitrans-video-widget__form .formulariovideo.gform-theme,
.cabitrans-video-widget__form .formulariovideo.gform-theme--framework {
  margin: 0;
  font-family: "Inter", Arial, Helvetica, sans-serif;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_heading,
.cabitrans-video-widget__form .formulariovideo .gform_heading {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_title,
.cabitrans-video-widget__form .formulariovideo .gform_title {
  display: none !important;
  margin: 0 !important;
  color: var(--nav-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cabitrans-video-widget__form .formulariovideo_wrapper .gform_description,
.cabitrans-video-widget__form .formulariovideo .gform_description {
  display: none;
}

.cabitrans-video-widget__form .formulariovideo .gform_fields,
.cabitrans-video-widget__form .formulariovideo .gform-body .gform_fields {
  gap: 12px !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield {
  margin: 0 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_label_before_complex,
.cabitrans-video-widget__form .formulariovideo .gfield--type-name > .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gfield--type-name > .gform-field-label {
  display: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gform-field-label {
  margin-bottom: 6px !important;
  color: var(--nav-blue) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_required,
.cabitrans-video-widget__form .formulariovideo .gfield_required_asterisk {
  color: #d93a49 !important;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex > span,
.cabitrans-video-widget__form .formulariovideo .ginput_complex > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex label,
.cabitrans-video-widget__form .formulariovideo .ginput_complex .name_first label,
.cabitrans-video-widget__form .formulariovideo .ginput_complex .name_last label {
  display: block;
  order: 1;
  margin: 0 0 6px;
  color: var(--nav-ink-soft);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}

.cabitrans-video-widget__form .formulariovideo .ginput_complex input,
.cabitrans-video-widget__form .formulariovideo .ginput_complex select,
.cabitrans-video-widget__form .formulariovideo .ginput_complex textarea {
  order: 2;
}

.cabitrans-video-widget__form .formulariovideo input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]),
.cabitrans-video-widget__form .formulariovideo select,
.cabitrans-video-widget__form .formulariovideo textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px !important;
  border: 1px solid rgba(23, 50, 102, 0.14) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--nav-ink) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.cabitrans-video-widget__form .formulariovideo textarea {
  min-height: 96px;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  resize: vertical;
}

.cabitrans-video-widget__form .formulariovideo input:not([type="submit"]):not([type="button"]):focus,
.cabitrans-video-widget__form .formulariovideo select:focus,
.cabitrans-video-widget__form .formulariovideo textarea:focus {
  outline: 0;
  border-color: rgba(51, 181, 240, 0.9) !important;
  box-shadow: 0 0 0 3px rgba(51, 181, 240, 0.14) !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_validation_errors {
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(217, 58, 73, 0.22) !important;
  border-radius: 12px !important;
  background: rgba(255, 241, 243, 0.92) !important;
  box-shadow: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > h2,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > h3,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > ol,
.cabitrans-video-widget__form .formulariovideo .gform_validation_errors > ul,
.cabitrans-video-widget__form .formulariovideo .validation_message {
  color: #d93a49 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_error .gfield_label,
.cabitrans-video-widget__form .formulariovideo .gfield_error .gform-field-label {
  color: #d93a49 !important;
}

.cabitrans-video-widget__form .formulariovideo .gfield_error input:not([type="submit"]):not([type="button"]),
.cabitrans-video-widget__form .formulariovideo .gfield_error select,
.cabitrans-video-widget__form .formulariovideo .gfield_error textarea {
  border-color: #d93a49 !important;
  background: rgba(255, 241, 243, 0.96) !important;
  box-shadow: 0 0 0 3px rgba(217, 58, 73, 0.12) !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_footer,
.cabitrans-video-widget__form .formulariovideo .gform_page_footer {
  position: absolute !important;
  left: -100vw !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.cabitrans-video-widget__form .formulariovideo .gform_button,
.cabitrans-video-widget__form .formulariovideo input[type="submit"],
.cabitrans-video-widget__form .formulariovideo button[type="submit"] {
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.cabitrans-nav__panel--lg .cabitrans-nav__grid--3,
.cabitrans-nav__panel--xl .cabitrans-nav__countries {
  position: relative;
}

.cabitrans-nav__panel--xl .cabitrans-nav__countries::before,
.cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
  display: none;
}

/* =========================
   1700px
   ========================= */
@media (max-width: 1700px) {
  .cabitrans-main-menu {
    gap: 20px !important;
  }

  .cabitrans-main-menu ul li {
    font-size: 10px !important;
  }
}
/* =========================
   1675px
   ========================= */
@media (max-width: 1675px) {
  .cabitrans-nav__inner {
    gap: 10px;
    padding: 0 28px 32px;
  }

  .cabitrans-nav__mobile-shell {
    gap: 20px;
  }

  .cabitrans-nav__center {
    padding: 0 6px;
  }

  .cabitrans-nav__menu {
    gap: 24px;
  }

  .cabitrans-nav__link,
  .cabitrans-nav .cabitrans-nav__link,
  .cabitrans-nav .cabitrans-nav__link:visited,
  .cabitrans-nav .cabitrans-nav__link:hover,
  .cabitrans-nav .cabitrans-nav__link:focus {
    font-size: 14px !important;
  }

  .cabitrans-nav__actions {
    gap: 8px;
    flex-shrink: 0;
  }

  .cabitrans-nav__button {
    min-width: 158px;
    padding: 0 16px;
    font-size: 15px;
    height: 50px;
    min-height: 50px;
  }

  .cabitrans-nav__contact-toggle {
    padding-left: 16px;
    padding-right: 16px;
  }

  .cabitrans-nav__search {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
}

/* =========================
   1525px
   ========================= */
@media (max-width: 1300px) {
  .cabitrans-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    order: 2;
    margin-left: auto;
    border-radius: 999px;
    background: rgba(9, 64, 116, 0.18);
    color: var(--nav-white);
    backdrop-filter: blur(8px);
  }

  .cabitrans-nav.is-open .cabitrans-nav__toggle {
    background: rgba(51, 181, 240, 0.18);
    color: #094074;
  }

  .cabitrans-nav__toggle:hover {
    color: #094074 !important;
    background: rgba(51, 181, 240, 0.18) !important;
  }

  .cabitrans-nav__toggle:active,
  .cabitrans-nav__toggle:focus,
  .cabitrans-nav__toggle:focus-visible {
    color: #094074 !important;
  }

  .cabitrans-nav__inner {
    position: relative;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px 14px;
  }

  .cabitrans-nav__brand {
    order: 1;
  }

  .cabitrans-nav__mobile-shell {
    position: absolute;
    top: calc(100% + 10px);
    left: 12px;
    right: 12px;
    z-index: 65;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 18px 16px 20px;
    background: #072c55;
    border: 1px solid rgba(51, 181, 240, 0.18);
    border-radius: 28px;
    box-shadow: 0 24px 54px rgba(3, 12, 30, 0.34);
    max-height: min(80vh, calc(100vh - 110px));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(51, 181, 240, 0.58) rgba(255, 255, 255, 0.08);
  }

  .cabitrans-nav.is-open .cabitrans-nav__mobile-shell {
    display: flex;
  }

  .cabitrans-video-widget {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition:
      opacity 0.25s ease,
      visibility 0.25s ease,
      transform 0.25s ease,
      bottom 0.3s ease;
  }

  .cabitrans-video-widget.is-visible-mobile {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cabitrans-nav__center {
    width: 100%;
    min-width: 0;
    padding: 0;
    flex: none;
    justify-content: stretch;
  }

  .cabitrans-nav__menu {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .cabitrans-nav__item {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    scroll-margin-top: 12px;
  }

  .cabitrans-nav__link {
    width: 100%;
    justify-content: center;
    padding: 10px 18px;
    font-size: 17px !important;
    color: var(--nav-white);
    text-align: center;
    border-radius: 14px;
  }

  .cabitrans-nav__link:hover,
  .cabitrans-nav__item.is-open > .cabitrans-nav__link {
    color: var(--nav-blue-light);
    background: rgba(51, 181, 240, 0.08);
  }

  .cabitrans-nav__caret {
    font-size: 12px;
    transition: transform 0.2s ease;
  }

  .cabitrans-nav__item.is-open > .cabitrans-nav__link .cabitrans-nav__caret {
    transform: rotate(180deg);
  }

  .cabitrans-nav__panel,
  .cabitrans-nav__panel--xl,
  .cabitrans-nav__panel--action {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 10px;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    border-radius: 18px;
    padding: 14px 14px 16px;
    border: 1px solid rgba(9, 64, 116, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(228, 240, 249, 0.62));
    box-shadow: 0 16px 34px rgba(13, 31, 79, 0.08);
    backdrop-filter: blur(14px);
  }

  .cabitrans-nav__item.is-open > .cabitrans-nav__panel {
    display: block;
  }

  .cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item.is-open > .cabitrans-nav__panel--xl {
    left: auto;
    right: auto;
    transform: none;
  }

  .cabitrans-nav__heading {
    margin-bottom: 12px;
    padding: 0 0 8px;
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.56);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .cabitrans-nav__grid {
    gap: 10px;
  }

  .cabitrans-nav__grid--3,
  .cabitrans-nav__grid--2,
  .cabitrans-nav__countries {
    grid-template-columns: 1fr;
  }

  .cabitrans-nav__card {
    padding: 12px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--nav-white);
  }

  .cabitrans-nav__card:hover {
    background: rgba(51, 181, 240, 0.14);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__title {
    font-size: 16px;
    color: var(--nav-white);
  }

  .cabitrans-nav__subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
  }

  .cabitrans-nav__product-card,
  .cabitrans-nav__resource-card,
  .cabitrans-nav__contact-card {
    gap: 12px;
  }

  .cabitrans-nav__product-card .fa,
  .cabitrans-nav__resource-card .fa,
  .cabitrans-nav__contact-card .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(51, 181, 240, 0.14);
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title {
    padding-left: 30px;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title::before {
    font-size: 20px;
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
    padding-left: 30px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
  }

  .cabitrans-nav__country {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    row-gap: 10px;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    white-space: normal;
  }

  .cabitrans-nav__country:last-child {
    border-bottom: 0;
  }

  .cabitrans-nav__countries {
    display: flex;
    flex-direction: column;
    width: 100%;
    row-gap: 0;
    max-height: min(34vh, 320px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
  }

  .cabitrans-nav__country-tags {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
    align-items: center;
  }

  .cabitrans-nav__country-main {
    display: flex;
    width: 100%;
    min-width: 0;
  }

  .cabitrans-nav__country-name {
    color: var(--nav-white);
    font-size: 16px;
    white-space: normal;
  }

  .cabitrans-nav__country img {
    width: 22px;
    height: 16px;
    box-shadow: none;
  }

  .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
    width: auto !important;
    min-width: max-content !important;
    min-height: 30px;
    padding: 6px 10px !important;
    border-radius: 10px;
    background: var(--nav-blue-light);
    color: var(--nav-white) !important;
    font-size: 12px;
    font-weight: 700 !important;
  }

  .cabitrans-nav__country-tags .cabitrans-nav__country-link:hover,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:focus {
    background: var(--nav-white);
    color: var(--nav-blue) !important;
  }

  .cabitrans-nav__brand img {
    height: 42px;
  }

  .cabitrans-nav__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    gap: 12px;
    flex: none;
  }

  .cabitrans-nav__action-dropdown {
    width: 100%;
  }

  .cabitrans-nav__action-dropdown.is-open > .cabitrans-nav__panel--action {
    display: block;
  }

  .cabitrans-nav__button,
  .cabitrans-nav__contact-toggle,
  .cabitrans-nav__button--secondary {
    width: 100%;
    min-width: 0;
    height: 52px;
    min-height: 52px;
    padding: 0 18px;
    justify-content: center;
    border-radius: 16px !important;
    font-size: 17px;
    font-style: normal;
    text-transform: none;
    letter-spacing: 0;
  }

  .cabitrans-nav__contact-toggle {
    border-top-left-radius: 16px !important;
  }

  .cabitrans-nav__button--secondary {
    background: rgba(255, 255, 255, 0.08);
    color: var(--nav-white) !important;
    border-color: rgba(51, 181, 240, 0.72);
  }

  .cabitrans-nav__button--secondary .fa {
    color: var(--nav-blue-light);
  }

  .cabitrans-nav__search {
    display: none;
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__countries::before,
  .cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
    display: none;
  }
}

/* =========================
   1200px
   ========================= */
@media (max-width: 1200px) {
  .cabitrans-nav__countries {
    grid-template-columns: repeat(2, var(--euro-column-width));
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__countries::after {
    display: none;
  }
}

/* =========================
   1024px
   ========================= */
@media (max-width: 1024px) {
  .cabitrans-nav {
    --video-widget-offset-right: 16px;
    --video-widget-offset-bottom: 16px;
    --video-widget-offset-bottom-scrolled: 88px;
  }

  .cabitrans-nav__mobile-shell {
    left: 10px;
    right: 10px;
    padding: 18px 14px 16px;
    border-radius: 24px;
    max-height: none;
    overflow: visible;
  }

  .cabitrans-nav__panel.cabitrans-nav__panel--md {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .cabitrans-nav__panel {
    padding: 16px 14px;
  }

  .cabitrans-nav__center {
    max-height: min(50vh, calc(100vh - 320px));
    overflow-y: auto;
    padding-right: 4px;
    scroll-behavior: smooth;
    scroll-padding-top: 12px;
  }

  .cabitrans-nav__card {
    width: 100%;
  }

  .cabitrans-nav__country {
    display: grid;
    grid-template-columns: minmax(86px, 98px) minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
    row-gap: 0;
    width: 100%;
    padding: 10px 8px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 0;
  }

  .cabitrans-nav__country--stacked {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 10px;
  }

  .cabitrans-nav__country-main {
    width: 100%;
    min-width: 0;
    gap: 8px;
  }

  .cabitrans-nav__country--stacked .cabitrans-nav__country-main {
    width: 100%;
  }

  .cabitrans-nav__country-name {
    font-size: 14px;
    line-height: 1.15;
  }

  .cabitrans-nav__country img {
    width: 20px;
    height: 14px;
  }

  .cabitrans-nav__country-tags {
    display: grid;
    grid-template-columns: 32px 42px 28px 28px 50px;
    width: 100%;
    gap: 4px;
    align-items: center;
    justify-content: end;
  }

  .cabitrans-nav__country--stacked .cabitrans-nav__country-tags {
    justify-content: start;
  }

  .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link,
  .cabitrans-nav__country-tags .cabitrans-nav__country-link:visited {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 28px;
    padding: 6px 0 !important;
    background: #33b5f057;
    font-size: 10px;
    line-height: 1;
    justify-content: center;
  }

  .cabitrans-nav__country-tags .cabitrans-nav__country-link:last-child {
    grid-column: auto;
  }

  .cabitrans-nav__actions {
    position: relative;
    gap: 10px;
    overflow: visible;
  }

  .cabitrans-nav__button,
  .cabitrans-nav__action-dropdown,
  .cabitrans-nav__button--secondary {
    width: 100%;
  }

  .cabitrans-nav__action-dropdown {
    position: static;
  }

  .cabitrans-nav__panel--action {
    position: absolute;
    top: calc(100% + 32px);
    left: 0;
    right: 0;
    width: auto !important;
    margin-top: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    z-index: 80;
  }

  .cabitrans-nav__panel,
  .cabitrans-nav__panel--xl,
  .cabitrans-nav__panel--action {
    background: linear-gradient(180deg, rgb(255 255 255 / 0%), rgb(228 240 249 / 24%));
  }

  .cabitrans-nav__panel--action .cabitrans-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card {
    min-height: 132px;
    padding: 18px 12px;
    border-radius: 22px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #072c55;
    border: 1px solid rgba(51, 181, 240, 0.18);
    box-shadow: 0 16px 28px rgba(13, 31, 79, 0.1);
    backdrop-filter: blur(14px);
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card .fa {
    width: 58px;
    height: 58px;
    margin-bottom: 10px;
    border-radius: 18px;
    font-size: 28px;
  }

  .cabitrans-nav__panel--action .cabitrans-nav__contact-card .cabitrans-nav__title {
    margin: 0;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    color: var(--nav-white);
  }

  .cabitrans-video-widget {
    right: var(--video-widget-offset-right);
    bottom: var(--video-widget-offset-bottom);
  }

  .cabitrans-scroll-top {
    width: 48px;
  }

  .cabitrans-scroll-top.is-visible {
    height: 48px;
  }

  .cabitrans-video-widget__trigger {
    width: 88px;
    height: 132px;
  }

  .cabitrans-video-widget__panel {
    width: min(340px, calc(100vw - 24px));
  }

  .cabitrans-video-widget__tagline {
    font-size: 20px;
  }

  .cabitrans-video-widget__helper,
  .cabitrans-video-widget__message {
    font-size: 12px;
  }

  .cabitrans-video-widget__meeting-toggle {
    min-height: 50px;
    font-size: 14px;
    padding: 0 16px;
  }

  .cabitrans-video-widget__form {
    left: 10px;
    right: 10px;
    bottom: 68px;
    padding: 42px 12px 12px;
  }

  .cabitrans-video-widget__form .formulariovideo .ginput_complex {
    grid-template-columns: 1fr;
  }
}

/* === Eurosender-style panel restyle (desktop) === */
@media (min-width: 1025px) {
  /* Panel container: white card, soft shadow, generous rounding */
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    background: #ffffff;
    border: 1px solid rgba(23, 50, 102, 0.08);
    box-shadow: 0 24px 60px rgba(23, 50, 102, 0.12),
                0 4px 12px rgba(23, 50, 102, 0.06);
    border-radius: 16px;
  }

  .cabitrans-nav__panel--lg { padding: 28px 28px 24px; }
  .cabitrans-nav__panel--xl { padding: 28px 32px; }
  .cabitrans-nav__panel--sm { padding: 16px; min-width: 300px; }

  /* Category heading: tiny uppercase gray label */
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading,
  .cabitrans-nav__panel--lg .cabitrans-nav__heading {
    padding: 0;
    margin-bottom: 18px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8794a8;
    border-bottom: 0;
  }

  /* --xl heading stays readable (it's a CTA-like prompt, not a category) */
  .cabitrans-nav__panel--xl .cabitrans-nav__heading {
    padding: 0;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8794a8;
    border-bottom: 0;
  }

  /* ---- --lg Services: big vertical cards with icon on top ---- */
  .cabitrans-nav__panel--lg .cabitrans-nav__grid { gap: 4px; }

  .cabitrans-nav__panel--lg .cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 14px 16px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: var(--nav-ink);
    transition: background-color 0.2s ease, border-color 0.2s ease;
    min-height: 124px;
    gap: 0;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__card:hover,
  .cabitrans-nav__panel--lg .cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title {
    display: block;
    padding-left: 0;
    margin-top: 8px;
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--nav-ink);
    letter-spacing: -0.01em;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__title::before {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 0 8px;
    border-radius: 12px;
    background: rgba(51, 181, 240, 0.12);
    color: #094074;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__card:hover .cabitrans-nav__title::before,
  .cabitrans-nav__panel--lg .cabitrans-nav__card:focus .cabitrans-nav__title::before {
    background: rgba(51, 181, 240, 0.2);
  }

  .cabitrans-nav__panel--lg .cabitrans-nav__subtitle {
    padding-left: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #6f7f9e;
  }

  /* ---- --sm Products: horizontal rows with rounded icon tile ---- */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid { gap: 2px; }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 10px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .fa {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(51, 181, 240, 0.12);
    color: #094074;
    font-size: 16px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .fa,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus .fa {
    background: rgba(51, 181, 240, 0.2);
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--nav-ink);
    white-space: nowrap;
  }

  /* ---- --xl Europe: aesthetic tweaks (country list stays) ---- */
  .cabitrans-nav__panel--xl .cabitrans-nav__country {
    padding: 8px 10px;
    border-radius: 10px;
    border: 1.5px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__country:hover,
  .cabitrans-nav__panel--xl .cabitrans-nav__country:focus-within {
    background: rgba(51, 181, 240, 0.05);
    border-color: rgba(51, 181, 240, 0.22);
  }

  .cabitrans-nav__panel--xl .cabitrans-nav__country-name {
    font-size: 14px;
    color: var(--nav-ink);
  }
}
/* === /Eurosender-style panel restyle === */


/* === Full-width dropdown panels (desktop) === */
@media (min-width: 1025px) {
  /* Let panel escape the <li> and anchor to the <nav> */
  .cabitrans-nav__item:has(> .cabitrans-nav__panel) { position: static; }

  /* All dropdown panels span the full nav width (= viewport width) */
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    top: 100%;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-shadow: 0 24px 40px rgba(23, 50, 102, 0.10);
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: max(48px, calc((100% - 1320px) / 2));
    padding-right: max(48px, calc((100% - 1320px) / 2));
    transform: translateY(6px);
  }

  /* Override the --xl panel's centering transform/left */
  .cabitrans-nav__item:hover > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel--xl,
  .cabitrans-nav__item.is-open > .cabitrans-nav__panel--xl {
    left: 0;
    right: 0;
    transform: translateY(0);
  }

  .cabitrans-nav__item:hover > .cabitrans-nav__panel,
  .cabitrans-nav__item:focus-within > .cabitrans-nav__panel {
    transform: translateY(0);
  }

  /* Prevent the right-edge flip now that panels are full width */
  .cabitrans-nav__item:last-child > .cabitrans-nav__panel,
  .cabitrans-nav__item:nth-last-child(2) > .cabitrans-nav__panel {
    left: 0;
    right: 0;
  }

  /* Services: 5 columns at wide desktop, drop to 4 below 1400px */
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px 10px;
  }

  /* Keep compact-panel content from stretching across the whole width */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 360px;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__grid {
    max-width: 720px;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading {
    max-width: 1320px;
  }
}

@media (min-width: 1025px) and (max-width: 1400px) {
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* === /Full-width dropdown panels === */


/* === Products panel video banner === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__banner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto 20px;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 21 / 6;
    background: #0b1b34;
    box-shadow: 0 8px 20px rgba(23, 50, 102, 0.12);
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__banner-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }
  /* Left-align products grid below the banner but keep within the centered strip */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1024px) {
  /* Hide the banner on mobile — keep the menu light */
  .cabitrans-nav__panel--sm .cabitrans-nav__banner { display: none; }
}
/* === /Products panel video banner === */


/* === Brand-blue text + per-product video cards === */
.cabitrans-nav__link,
.cabitrans-nav__link:link,
.cabitrans-nav__link:visited {
  color: #0a4074;
}

.cabitrans-nav__panel--sm .cabitrans-nav__heading,
.cabitrans-nav__panel--md .cabitrans-nav__heading,
.cabitrans-nav__panel--lg .cabitrans-nav__heading,
.cabitrans-nav__panel--xl .cabitrans-nav__heading {
  color: #0a4074;
}

.cabitrans-nav__title {
  color: #0a4074;
}

@media (min-width: 1025px) {
  /* Per-product video card: vertical layout, video fills the top of the card */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid {
    max-width: 1180px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    background: #ffffff;
    border: 1.5px solid rgba(23, 50, 102, 0.08);
    border-radius: 14px;
    overflow: hidden;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card:focus {
    background: #ffffff;
    border-color: rgba(51, 181, 240, 0.45);
    box-shadow: 0 12px 30px rgba(23, 50, 102, 0.12);
  }

  .cabitrans-nav__card-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #0b1b34;
    overflow: hidden;
  }

  .cabitrans-nav__card-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 14px 16px 16px;
    font-size: 15px;
    white-space: normal;
    color: #0a4074;
  }
}
/* === /Brand-blue text + per-product video cards === */


/* === Products panel: title + description layout === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 14px 16px 2px;
    font-size: 15px;
    font-weight: 700;
    white-space: normal;
    line-height: 1.25;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    display: block;
    padding: 0 16px 16px;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #6f7f9e;
    font-weight: 400;
  }
}
/* === /Products panel: title + description layout === */



/* === Product cards: icon overlay + initial anim states === */
@media (min-width: 1025px) {
  /* Make product cards positioned so the absolutely-positioned icon anchors correctly */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    position: relative;
  }

  /* Un-hide the FA icon that was display:none from v7 and overlay it top-left of the video */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa {
    display: inline-flex !important;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 10px;
    color: #0a4074;
    z-index: 2;
    backdrop-filter: blur(2px);
    box-shadow: 0 4px 14px rgba(10, 64, 116, 0.15);
    pointer-events: none;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa::before {
    /* hide the FA glyph char — the proxy injects an <svg> that we animate instead */
    content: none;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa svg {
    width: 22px;
    height: 22px;
    overflow: visible;
    display: block;
  }
  /* Prepare the SVG path for the DrawSVG-style animation:
     stroke traces the outline, fill fades in after the stroke completes. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa svg path {
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 22;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
  }

  /* Keep the title's vertical slot stable while typing so the card doesn't jump */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    min-height: 1.3em;
  }

  /* Subtitle starts invisible; GSAP reveals it. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    opacity: 0;
    transform: translateY(6px);
    will-change: opacity, transform;
  }
}
/* === /Product cards: icon overlay + initial anim states === */


/* === Caret rotate on hover + --md full-width override === */

/* (1) Chevron rotates up when its parent menu item is being hovered */
.cabitrans-nav__caret {
  display: inline-block;
  transition: transform 0.22s ease;
  transform-origin: center;
  line-height: 1;
}
.cabitrans-nav__item:hover > .cabitrans-nav__link > .cabitrans-nav__caret,
.cabitrans-nav__item:focus-within > .cabitrans-nav__link > .cabitrans-nav__caret,
.cabitrans-nav__item.is-open > .cabitrans-nav__link > .cabitrans-nav__caret {
  transform: rotate(180deg);
}

/* (2) Force --md panel to actually go full-width on desktop.
       Previous `.cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1)` rule
       had higher specificity and pinned max-width to 420px. */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--md:has(.cabitrans-nav__grid--1),
  .cabitrans-nav__panel--md:has(.cabitrans-nav__grid) {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: max(48px, calc((100% - 1320px) / 2));
    padding-right: max(48px, calc((100% - 1320px) / 2));
    border-radius: 0;
  }

  /* Inner content box for --md: constrained and centered with a multi-column grid */
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
    width: 100%;
    max-width: 1320px;
    min-width: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 18px;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__heading {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Resource cards (Ayuda y Recursos) in Eurosender vertical style */
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 18px;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: var(--nav-ink);
    transition: background-color 0.2s ease, border-color 0.2s ease;
    min-height: 96px;
    gap: 0;
    white-space: normal;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card:hover,
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card.cabitrans-nav__card:focus {
    background: rgba(51, 181, 240, 0.07);
    border-color: rgba(51, 181, 240, 0.35);
    transform: none;
    box-shadow: none;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card > .fa {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #0a4074;
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 10px;
    transition: background-color 0.18s ease;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card:hover > .fa,
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card:focus > .fa {
    background: #1d97ff;
    color: #ffffff;
  }
  .cabitrans-nav__panel--md .cabitrans-nav__resource-card .cabitrans-nav__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: #0a4074;
    white-space: normal;
  }
}

/* Two columns on narrower desktops */
@media (min-width: 1025px) and (max-width: 1200px) {
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* === /Caret rotate + --md full-width === */


/* === Product cards: hide icon overlay, border only on hover === */
@media (min-width: 1025px) {
  /* Hide the FA icon overlay entirely; the video thumbnail carries the card. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card > .fa {
    display: none !important;
  }

  /* Transparent border by default; the blue border only appears on hover. */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    border-color: transparent;
  }
  /* Hover/focus rule from v7 already sets the blue border + shadow — no change needed. */
}
/* === /Product cards: hide icon overlay, border only on hover === */


/* === Panel content aligned with the top nav (first item <-> last element) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    padding-left: var(--nav-content-left, 48px);
    padding-right: var(--nav-content-right, 48px);
  }

  /* Inner content strip now fills the padded area (no extra centering) */
  .cabitrans-nav__panel--sm .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid,
  .cabitrans-nav__panel--md .cabitrans-nav__grid--1,
  .cabitrans-nav__panel--lg .cabitrans-nav__grid,
  .cabitrans-nav__panel--lg .cabitrans-nav__grid--3 {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__heading,
  .cabitrans-nav__panel--md .cabitrans-nav__heading,
  .cabitrans-nav__panel--lg .cabitrans-nav__heading,
  .cabitrans-nav__panel--xl .cabitrans-nav__heading {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  /* Europa panel: its inner .cabitrans-nav__countries has its own layout;
     don't touch grid here, just ensure it fills. */
  .cabitrans-nav__panel--xl .cabitrans-nav__countries {
    width: 100%;
    max-width: none;
  }
}
/* === /Panel content aligned with the top nav === */


/* === Divider + scroll/open progress fill === */
.cabitrans-nav__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: rgba(10, 64, 116, 0.18);
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
}
.cabitrans-nav__progress-fill {
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #0a4074, #33b5f0);
  transform: scaleX(var(--nav-progress, 0));
  transform-origin: left center;
  transition: transform 0.18s linear;
  will-change: transform;
}

/* When any menu item has its dropdown open (hover / focus-within),
   fill the divider completely with the brand gradient. */
.cabitrans-nav:has(.cabitrans-nav__item:hover) .cabitrans-nav__progress-fill,
.cabitrans-nav:has(.cabitrans-nav__item:focus-within) .cabitrans-nav__progress-fill,
.cabitrans-nav:has(.cabitrans-nav__item.is-open) .cabitrans-nav__progress-fill {
  transform: scaleX(1);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
/* === /Divider + scroll/open progress fill === */


/* === Products panel: shrink cards + side promo card === */
@media (min-width: 1025px) {
  /* Two-column layout inside the --sm panel: products grid on the left, promo on the right */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: 100%;
  }

  /* Shrink the products grid: take roughly half, so there's room for 3 future blocks + promo */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout > .cabitrans-nav__grid {
    flex: 0 1 auto;
    width: 100%;
    max-width: 56%;
    margin: 0;
  }

  /* Smaller product cards (video + texto) */
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card.cabitrans-nav__card {
    min-height: auto;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
    padding: 10px 12px 2px;
    font-size: 13px;
    line-height: 1.2;
    min-height: 1.25em;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__subtitle {
    padding: 0 12px 12px;
    font-size: 11.5px;
    line-height: 1.35;
  }

  /* ---- Promo card ---- */
  .cabitrans-nav__promo {
    flex: 1 1 auto;
    min-width: 340px;
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 22px 24px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    border-radius: 16px;
    overflow: hidden;
    isolation: isolate;
  }
  .cabitrans-nav__promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.55), transparent 60%),
      radial-gradient(1.5px 1.5px at 70% 60%, rgba(255,255,255,0.35), transparent 60%),
      radial-gradient(1.5px 1.5px at 45% 80%, rgba(255,255,255,0.28), transparent 60%);
    z-index: 0;
    opacity: 0.55;
    pointer-events: none;
  }
  .cabitrans-nav__promo-content {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cabitrans-nav__promo-title {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 8px;
  }
  .cabitrans-nav__promo-text {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.88);
    margin: 0 0 16px;
  }
  .cabitrans-nav__promo-cta,
  .cabitrans-nav__promo-cta:link,
  .cabitrans-nav__promo-cta:visited {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    background: #f60;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    padding: 10px 18px;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(255, 102, 0, 0.28);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .cabitrans-nav__promo-cta:hover,
  .cabitrans-nav__promo-cta:focus {
    background: #e65a00;
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(255, 102, 0, 0.38);
  }
  .cabitrans-nav__promo-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 190px;
    height: 250px;
    object-fit: cover;
    object-position: center 18%;
    align-self: flex-end;
    margin-bottom: -22px;
    border-radius: 14px;
    filter: drop-shadow(0 14px 26px rgba(10, 25, 50, 0.4));
    pointer-events: none;
  }
}

/* Hide the promo on mobile — the --sm panel is rendered inline as an accordion there */
@media (max-width: 1024px) {
  .cabitrans-nav__promo { display: none; }
}
/* === /Products panel: promo + smaller cards === */


/* === Products: exact 50/50 split with outer CSS grid === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px;
    align-items: stretch;
    width: 100%;
  }

  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout > .cabitrans-nav__grid {
    width: 100% !important;
    max-width: 100% !important;
    flex: initial;
    margin: 0;
    /* 3 cards share the left half, so each is ~1/6 of the panel */
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .cabitrans-nav__promo {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
/* === /Products 50/50 split === */


/* === Promo CTA revamp (GSAP-powered shine + magnetic) === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo-cta,
  .cabitrans-nav__promo-cta:link,
  .cabitrans-nav__promo-cta:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 20px 12px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f60 0%, #ff8c38 60%, #f60 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 8px 22px rgba(255, 102, 0, 0.32),
                inset 0 1px 0 rgba(255, 255, 255, 0.28);
    transition: box-shadow 0.3s ease, transform 0.25s ease;
    will-change: transform;
  }

  /* Keep contents above the shine pseudo */
  .cabitrans-nav__promo-cta > *:not(.cabitrans-nav__promo-cta-shine) {
    position: relative;
    z-index: 1;
  }

  .cabitrans-nav__promo-cta-shine {
    position: absolute;
    top: 0;
    left: 0;
    width: 42%;
    height: 100%;
    background: linear-gradient(
      100deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.65) 50%,
      rgba(255, 255, 255, 0) 100%
    );
    transform: translateX(-180%) skewX(-20deg);
    pointer-events: none;
    z-index: 0;
  }

  .cabitrans-nav__promo-cta-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
  }

  .cabitrans-nav__promo-cta-text {
    white-space: nowrap;
  }

  .cabitrans-nav__promo-cta-arrow {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
  }

  .cabitrans-nav__promo-cta:hover,
  .cabitrans-nav__promo-cta:focus-visible {
    box-shadow: 0 14px 34px rgba(255, 102, 0, 0.48),
                inset 0 1px 0 rgba(255, 255, 255, 0.35);
  }
  .cabitrans-nav__promo-cta:hover .cabitrans-nav__promo-cta-arrow,
  .cabitrans-nav__promo-cta:focus-visible .cabitrans-nav__promo-cta-arrow {
    transform: translateX(4px);
  }
}
/* === /Promo CTA revamp === */


/* === Action buttons revamp (Area cliente + Regístrate gratis) === */
.cabitrans-nav__button--login,
.cabitrans-nav__button--login:link,
.cabitrans-nav__button--login:visited,
.cabitrans-nav__button--register,
.cabitrans-nav__button--register:link,
.cabitrans-nav__button--register:visited {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.005em;
  font-family: inherit;
  cursor: pointer;
  will-change: transform;
}
.cabitrans-nav__button--login .cabitrans-nav__btn-icon,
.cabitrans-nav__button--register .cabitrans-nav__btn-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

/* ---- Area cliente: outline → fill sliding gradient ---- */
.cabitrans-nav__button--login,
.cabitrans-nav__button--login:link,
.cabitrans-nav__button--login:visited {
  padding: 10px 20px;
  border-radius: 999px;
  color: #0a4074 !important;
  background: transparent;
  border: 2px solid rgba(10, 64, 116, 0.55);
  overflow: hidden;
  isolation: isolate;
  font-size: 14px;
  transition:
    color 0.3s cubic-bezier(0.2, 0.9, 0.3, 1),
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}
.cabitrans-nav__button--login::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, #0a4074 0%, #1d97ff 60%, #33b5f0 100%);
  transform: translateX(-102%);
  transition: transform 0.42s cubic-bezier(0.2, 0.9, 0.3, 1);
  z-index: -1;
}
.cabitrans-nav__button--login:hover,
.cabitrans-nav__button--login:focus-visible {
  color: #ffffff !important;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(10, 64, 116, 0.35);
}
.cabitrans-nav__button--login:hover::before,
.cabitrans-nav__button--login:focus-visible::before {
  transform: translateX(0);
}

/* ---- Regístrate gratis: animated multi-stop gradient + shine sweep ---- */
.cabitrans-nav__button--register,
.cabitrans-nav__button--register:link,
.cabitrans-nav__button--register:visited {
  padding: 11px 22px;
  border-radius: 999px;
  color: #ffffff !important;
  font-size: 14px;
  background: linear-gradient(120deg, #f60 0%, #ff9a4d 50%, #f60 100%);
  background-size: 240% 100%;
  animation: cabitrans-btn-hue-shift 6.5s ease-in-out infinite;
  box-shadow:
    0 12px 30px rgba(255, 102, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.25s cubic-bezier(0.2, 0.9, 0.3, 1), box-shadow 0.3s ease;
}
.cabitrans-nav__button--register > *:not(.cabitrans-nav__button-shine) {
  position: relative;
  z-index: 1;
}
.cabitrans-nav__button-shine {
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.7) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: translateX(-180%) skewX(-20deg);
  pointer-events: none;
  z-index: 0;
}
.cabitrans-nav__button--register:hover,
.cabitrans-nav__button--register:focus-visible {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 18px 40px rgba(255, 102, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

@keyframes cabitrans-btn-hue-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
/* === /Action buttons revamp === */


/* === Promo: separate CTA from the text block === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo-content {
    gap: 0;
  }
  .cabitrans-nav__promo-text {
    margin-bottom: 16px;
  }
  .cabitrans-nav__promo-cta {
    margin-top: 4px;
  }
}
/* === /Promo separation === */

/* === Promo: full bleed (100% panel height, flush to right edge, slanted edge) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm {
    overflow: hidden;
  }
  /* Give the products grid more horizontal room (was 1fr 1fr) */
  .cabitrans-nav__panel--sm .cabitrans-nav__sm-layout {
    grid-template-columns: 2fr 1fr !important;
  }
  .cabitrans-nav__panel--sm .cabitrans-nav__promo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 70%;
    width: auto;
    margin: 0;
    border-radius: 0;
    min-width: 0;
    /* Slanted left edge: from 60px at top to 0 at bottom (forward slash) */
    clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%);
    /* Extra left padding so the content clears the slant */
    padding: 22px 24px 22px 80px;
  }
}
/* === /Promo full bleed === */


/* === Hover bubble effect (inside the menu link, behind the text) === */
@media (hover: hover) and (min-width: 1025px) {
  .cabitrans-nav__item > .cabitrans-nav__link {
    position: relative;
    z-index: 1;
  }
  .cabitrans-nav__item .cabitrans-nav__bubble {
    position: absolute;
    bottom: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 30% 30%,
      #7fd3ff 0%,
      #33b5f0 50%,
      #1d97ff 100%);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.4) inset,
      0 0 6px rgba(29, 151, 255, 0.55);
    animation: cabitrans-nav-bubble-rise 1.4s ease-out forwards;
    will-change: transform, opacity;
  }
}
@keyframes cabitrans-nav-bubble-rise {
  0% {
    transform: translate(-50%, 2px) scale(0.3);
    opacity: 0;
  }
  30% {
    transform: translate(-50%, 0) scale(0.85);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -6px) scale(1);
    opacity: 0;
  }
}
/* === /Hover bubble effect === */


/* === Slot machine label on Regístrate gratis button === */
.cabitrans-nav__button-label--slot {
  display: inline-flex;
  align-items: flex-start;
  height: 1.2em;
  line-height: 1.2;
  overflow: hidden;
  vertical-align: middle;
  position: relative;
  z-index: 1;
}
.cabitrans-nav__button-label-track {
  display: flex;
  flex-direction: column;
  width: 100%;
  transform: translateY(0);
  transition: transform 0.4s ease;
}
.cabitrans-nav__button-label-item {
  flex: 0 0 auto;
  height: 1.2em;
  line-height: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cabitrans-nav__button--register:hover .cabitrans-nav__button-label-track,
.cabitrans-nav__button--register:focus-visible .cabitrans-nav__button-label-track {
  animation: cabitrans-slot-spin 3.6s cubic-bezier(0.7, 0, 0.3, 1) infinite;
}
@keyframes cabitrans-slot-spin {
  0%,  6%   { transform: translateY(0); }
  20%, 31%  { transform: translateY(-1.2em); }
  45%, 56%  { transform: translateY(-2.4em); }
  70%, 81%  { transform: translateY(-3.6em); }
  95%, 100% { transform: translateY(-4.8em); }
}
/* === /Slot machine label === */


/* === All dropdown panels span the full nav width (use the left gap under the logo) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--sm,
  .cabitrans-nav__panel--md,
  .cabitrans-nav__panel--lg,
  .cabitrans-nav__panel--xl {
    left: 24px !important;
    right: 24px !important;
    width: auto !important;
    max-width: none !important;
    /* Override the JS-driven --nav-content-left/right padding (which was pinning
       content to the position of "Productos"). Use a normal fixed padding instead. */
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  /* The xl panel was rendering 1-2px lower than the other panels — pull it up to match */
  .cabitrans-nav__panel--xl {
    top: calc(100% - 1px) !important;
  }
  /* Keep the Europa countries grid at the panel's natural left padding (no auto-margin) */
  .cabitrans-nav__panel--xl .cabitrans-nav__countries {
    margin-left: 0;
    margin-right: 0;
  }
}
/* === /All panels full width === */


/* === Servicios panel: 2-col services on left + orange CTA on right (full-bleed, slanted) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--lg {
    overflow: hidden;
  }
  /* Reserve right column for the absolute promo, services occupy left 2/3 */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: stretch;
    width: 100%;
  }
  /* Services in 3 columns */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout > .cabitrans-nav__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px 10px;
  }
  /* Compress card vertical size: smaller padding, smaller min-height */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__card {
    padding: 10px 12px 12px !important;
    min-height: 0 !important;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__title {
    margin-top: 4px !important;
    margin-bottom: 1px !important;
    font-size: 13.5px !important;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-layout .cabitrans-nav__subtitle {
    margin-top: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  /* Promo: absolute, full panel height, flush to right edge with slanted left edge */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 66%;
    margin: 0;
    border-radius: 0;
    clip-path: polygon(80px 0, 100% 0, 100% 100%, 0 100%);
    padding: 32px 32px 32px 110px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    background-size: 200% 200%;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
    isolation: isolate;
    display: flex;
    align-items: stretch;
    animation: cabitrans-lg-promo-shift 7s ease-in-out infinite;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promo-content {
    flex: 1 1 auto;
    width: 100%;
  }
  .cabitrans-nav__lg-promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(2px 2px at 22% 28%, rgba(255, 255, 255, 0.6), transparent 60%),
      radial-gradient(1.5px 1.5px at 72% 60%, rgba(255, 255, 255, 0.4), transparent 60%),
      radial-gradient(1.5px 1.5px at 50% 80%, rgba(255, 255, 255, 0.3), transparent 60%);
    z-index: 0;
    opacity: 0.55;
    pointer-events: none;
  }
  .cabitrans-nav__lg-promo-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cabitrans-nav__lg-promo-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 12px;
  }
  .cabitrans-nav__lg-promo-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 10px;
  }
  .cabitrans-nav__lg-promo-text {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 18px;
  }
  .cabitrans-nav__lg-promo-cta,
  .cabitrans-nav__lg-promo-cta:link,
  .cabitrans-nav__lg-promo-cta:visited {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #f60 0%, #ff8c38 60%, #f60 100%);
    color: #ffffff !important;
    padding: 12px 22px;
    margin-top: 28px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -0.005em;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.3s ease;
    box-shadow:
      0 8px 22px rgba(255, 102, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
  }
  .cabitrans-nav__lg-promo-cta:hover,
  .cabitrans-nav__lg-promo-cta:focus-visible {
    transform: translateY(-2px);
    box-shadow:
      0 14px 30px rgba(255, 102, 0, 0.42),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
  }
  .cabitrans-nav__lg-promo-cta-arrow {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
  }
  .cabitrans-nav__lg-promo-cta:hover .cabitrans-nav__lg-promo-cta-arrow {
    transform: translateX(4px);
  }
}

@keyframes cabitrans-lg-promo-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@media (max-width: 1024px) {
  .cabitrans-nav__lg-promo { display: none; }
}
/* === /Servicios panel CTA === */


/* === Contacto panel: IONOS-style 3-column layout (sidebar + topics + CTA) === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--contact .cabitrans-nav__contact-layout {
    display: grid;
    grid-template-columns: 220px 1fr 280px;
    gap: 36px;
    align-items: start;
    width: 100%;
  }

  /* ----- Sidebar (left) ----- */
  .cabitrans-nav__contact-sidebar {
    list-style: none;
    margin: 0;
    padding: 0;
    border-right: 1px solid rgba(23, 50, 102, 0.08);
    padding-right: 16px;
  }
  .cabitrans-nav__contact-sidebar-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--nav-ink);
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease;
    user-select: none;
  }
  .cabitrans-nav__contact-sidebar-item .fa {
    font-size: 16px;
    color: var(--nav-blue-light);
    width: 18px;
    text-align: center;
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-sidebar-item:hover {
    background: rgba(51, 181, 240, 0.08);
  }
  .cabitrans-nav__contact-sidebar-item.is-active {
    background: rgba(51, 181, 240, 0.14);
    color: #0a4074;
  }
  .cabitrans-nav__contact-sidebar-item.is-active .fa {
    color: #0a4074;
  }

  /* ----- Topics (center) ----- */
  .cabitrans-nav__contact-topics {
    align-self: start;
  }
  .cabitrans-nav__contact-topics-eyebrow {
    display: none;
  }
  .cabitrans-nav__contact-topic {
    display: none;
    margin: 0;
    padding: 0;
  }
  .cabitrans-nav__contact-topic.is-active {
    display: block;
  }
  .cabitrans-nav__contact-topic-title {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--nav-ink);
    margin: 0 0 6px;
  }
  .cabitrans-nav__contact-topic-subtitle {
    font-size: 14px;
    line-height: 1.45;
    color: var(--nav-ink-soft);
    margin: 0 0 40px !important;
    max-width: 540px;
  }
  .cabitrans-nav__contact-topic .cabitrans-nav__contact-topic-methods {
    margin-top: 8px;
  }
  .cabitrans-nav__contact-topic-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .cabitrans-nav__contact-method,
  .cabitrans-nav__contact-method:link,
  .cabitrans-nav__contact-method:visited {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #f5f7fb;
    border: 1px solid rgba(23, 50, 102, 0.08);
    border-radius: 999px;
    color: var(--nav-ink) !important;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
  }
  .cabitrans-nav__contact-method .fa {
    font-size: 14px;
    color: var(--nav-blue-light);
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-method:hover,
  .cabitrans-nav__contact-method:focus-visible {
    background: #ffffff;
    border-color: rgba(51, 181, 240, 0.55);
    color: #0a4074 !important;
    transform: translateY(-1px);
  }

  /* Topic meta: schedule + response time */
  .cabitrans-nav__contact-topic-meta {
    list-style: none;
    margin: 24px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(23, 50, 102, 0.08);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
  }
  .cabitrans-nav__contact-topic-meta li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
  }
  .cabitrans-nav__contact-topic-meta .fa {
    font-size: 18px;
    color: var(--nav-blue-light);
    width: 22px;
    text-align: center;
    flex: 0 0 auto;
  }
  .cabitrans-nav__contact-topic-meta li > div {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
  }
  .cabitrans-nav__contact-topic-meta-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8794a8;
    margin-bottom: 3px;
  }
  .cabitrans-nav__contact-topic-meta-value {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--nav-ink);
    letter-spacing: -0.005em;
  }

  /* ----- CTA card (right) ----- */
  .cabitrans-nav__contact-cta {
    background: #f5f7fb;
    border: 1px solid rgba(23, 50, 102, 0.08);
    border-radius: 16px;
    padding: 16px 16px 18px;
    text-align: left;
  }
  .cabitrans-nav__contact-cta-photo img {
    width: 100%;
    height: 192px;
    object-fit: cover;
    object-position: center top;
    border-radius: 10px;
    margin-bottom: 10px;
    display: block;
  }
  .cabitrans-nav__contact-cta-phone,
  .cabitrans-nav__contact-cta-phone:link,
  .cabitrans-nav__contact-cta-phone:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(51, 181, 240, 0.16);
    border-radius: 999px;
    color: #0a4074 !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.005em;
    text-decoration: none;
    margin-bottom: 10px;
    transition: background-color 0.18s ease;
  }
  .cabitrans-nav__contact-cta-phone .fa {
    font-size: 12px;
    color: #0a4074;
  }
  .cabitrans-nav__contact-cta-phone:hover {
    background: rgba(51, 181, 240, 0.28);
  }
  .cabitrans-nav__contact-cta-text {
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--nav-ink);
    margin: 0 0 36px;
  }
  .cabitrans-nav__contact-cta-button,
  .cabitrans-nav__contact-cta-button:link,
  .cabitrans-nav__contact-cta-button:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 9px 18px;
    background: #0a4074;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.18s ease, transform 0.18s ease;
  }
  .cabitrans-nav__contact-cta-button:hover,
  .cabitrans-nav__contact-cta-button:focus-visible {
    background: #1d97ff;
    transform: translateX(2px);
  }
  .cabitrans-nav__contact-cta-button .fa {
    font-size: 11px;
    transition: transform 0.18s ease;
  }
  .cabitrans-nav__contact-cta-button:hover .fa {
    transform: translateX(3px);
  }
}
/* === /Contacto panel === */

/* =========================================================================
   MOBILE MENU LEGACY DISABLED (2026-04-26)
   El menú móvil antiguo se oculta a ≤1300px. El nuevo menú móvil (bottom
   nav + drawer lateral) se define más abajo. El desktop (>1300px) sigue
   funcionando con normalidad.
   ========================================================================= */
@media (max-width: 1300px) {
  .cabitrans-nav__toggle,
  .cabitrans-nav__mobile-shell,
  .cabitrans-nav.is-open .cabitrans-nav__mobile-shell {
    display: none !important;
  }
  /* Ocultar la barra superior (logo + toggle + menu) en movil:
     el nuevo menu movil (cbt-mnav bottom-bar + cbt-drawer) la sustituye. */
  .cabitrans-nav__inner {
    display: none !important;
  }
  .cabitrans-nav {
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

/* =========================================================================
   NEW MOBILE NAV (2026-04-26)
   Bottom-bar flotante + drawer lateral con todo el menú desktop reformateado.
   Sólo activo a ≤1300px. Se desvanece cuando el drawer está abierto.

   El JS mueve estos elementos a <body> en DOMContentLoaded para que
   `position: fixed` sea relativo al viewport (un ancestro con transform
   rompía el anclaje y la anchura). Mientras estén dentro del widget nav o
   antes de moverse, se ocultan para evitar flash mal posicionado.
   ========================================================================= */
.cbt-mnav,
.cbt-drawer { display: none; }

.cabitrans-nav .cbt-mnav,
.cabitrans-nav .cbt-drawer {
  display: none !important;
}

@media (max-width: 1300px) {

  /* ---- Bottom pill bar with sliding indicator + draw-on-select icons -- */
  .cbt-mnav {
    display: block;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom, 12px));
    z-index: 9000;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .cbt-mnav__bar {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 8px;
    background: linear-gradient(135deg, #094074 0%, #0c5394 100%);
    border-radius: 22px;
    box-shadow:
      0 14px 36px rgba(3, 12, 30, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    pointer-events: auto;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    overflow: hidden;
  }

  .cbt-mnav__indicator {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: calc((100% - 16px) / 4);
    background: linear-gradient(135deg, #33b5f0 0%, #1d97ff 100%);
    border-radius: 16px;
    transform: translateX(0);
    transition:
      transform 0.46s cubic-bezier(0.65, 0, 0.35, 1),
      background 0.32s ease,
      box-shadow 0.32s ease,
      opacity 0.22s ease;
    pointer-events: none;
    opacity: 0;
    box-shadow: 0 6px 16px rgba(51, 181, 240, 0.32);
    z-index: 0;
  }

  .cbt-mnav__bar[data-active] .cbt-mnav__indicator { opacity: 1; }
  .cbt-mnav__bar[data-active="0"] .cbt-mnav__indicator { transform: translateX(0%); }
  .cbt-mnav__bar[data-active="1"] .cbt-mnav__indicator { transform: translateX(100%); }
  .cbt-mnav__bar[data-active="2"] .cbt-mnav__indicator { transform: translateX(200%); }
  .cbt-mnav__bar[data-active="3"] .cbt-mnav__indicator { transform: translateX(300%); }

  /* When the menu (last) item is active, switch indicator to orange */
  .cbt-mnav__bar[data-active="3"] .cbt-mnav__indicator {
    background: linear-gradient(135deg, #ff7a1a 0%, #ff6600 100%);
    box-shadow: 0 6px 16px rgba(255, 102, 0, 0.36);
  }

  .cbt-mnav__btn {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 9px 4px;
    min-width: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    border-radius: 16px;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.22s ease, transform 0.12s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .cbt-mnav__btn:hover,
  .cbt-mnav__btn:focus-visible {
    color: #fff;
    outline: none;
  }

  .cbt-mnav__btn:active { transform: scale(0.94); }

  .cbt-mnav__btn.is-active {
    color: #fff;
  }

  .cbt-mnav__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .cbt-mnav__svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
    transition: transform 0.22s ease;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__svg {
    transform: scale(1.06);
  }

  /* Default state: paths fully visible (no animation) */
  .cbt-mnav__svg path,
  .cbt-mnav__svg circle,
  .cbt-mnav__svg rect,
  .cbt-mnav__svg line,
  .cbt-mnav__svg polyline {
    stroke-dasharray: 100;
    stroke-dashoffset: 0;
  }

  /* Active state: re-draw each shape from 0% to 100% with a small stagger */
  .cbt-mnav__btn.is-active .cbt-mnav__svg > * {
    animation: cbtDraw 0.85s cubic-bezier(0.65, 0, 0.35, 1) both;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(1) { animation-delay: 0s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(2) { animation-delay: 0.07s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(3) { animation-delay: 0.14s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(4) { animation-delay: 0.21s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(5) { animation-delay: 0.28s; }
  .cbt-mnav__btn.is-active .cbt-mnav__svg > *:nth-child(6) { animation-delay: 0.35s; }

  @keyframes cbtDraw {
    0%   { stroke-dashoffset: 100; }
    100% { stroke-dashoffset: 0; }
  }

  .cbt-mnav__lbl {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-align: center;
    transition: transform 0.22s ease;
  }

  .cbt-mnav__btn.is-active .cbt-mnav__lbl {
    font-weight: 700;
    transform: translateY(1px);
  }

  /* Reduce-motion safety */
  @media (prefers-reduced-motion: reduce) {
    .cbt-mnav__indicator,
    .cbt-mnav__svg,
    .cbt-mnav__lbl,
    .cbt-mnav__btn { transition: none !important; }
    .cbt-mnav__btn.is-active .cbt-mnav__svg > * { animation: none !important; }
  }

  /* Hide bottom bar while drawer is open */
  body.cbt-drawer-open .cbt-mnav {
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
  }

  /* ---- Drawer overlay -------------------------------------------------- */
  .cbt-drawer {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9100;
    pointer-events: none;
    /* Clip the off-screen panel so its translateX(100%) doesn't push the
       document into horizontal scroll. */
    overflow: hidden;
  }

  /* Respect the HTML `hidden` attribute (UA stylesheet specificity is the
     same as our `.cbt-drawer { display: block }`, so we need !important to
     keep it truly hidden until JS opens it). */
  .cbt-drawer[hidden] {
    display: none !important;
  }

  .cbt-drawer[aria-hidden="false"] { pointer-events: auto; }

  .cbt-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 12, 30, 0.55);
    opacity: 0;
    transition: opacity 0.28s ease;
  }

  .cbt-drawer[aria-hidden="false"] .cbt-drawer__backdrop { opacity: 1; }

  .cbt-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(86vw, 380px);
    background: #ffffff;
    box-shadow: -16px 0 48px rgba(3, 12, 30, 0.32);
    transform: translateX(100%);
    transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .cbt-drawer[aria-hidden="false"] .cbt-drawer__panel { transform: translateX(0); }

  .cbt-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #e6ebf2;
    background: #fff;
    flex: 0 0 auto;
  }

  .cbt-drawer__brand img {
    display: block;
    height: 40px;
    width: auto;
  }

  .cbt-drawer__close {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: #f3f6fb;
    color: #094074;
    border-radius: 12px;
    cursor: pointer;
    font-size: 18px;
    transition: background 0.16s ease, color 0.16s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .cbt-drawer__close:hover,
  .cbt-drawer__close:focus-visible {
    background: #094074;
    color: #fff;
    outline: none;
  }

  .cbt-drawer__cta {
    padding: 14px 18px;
    display: grid;
    gap: 10px;
    background: #f7f9fc;
    border-bottom: 1px solid #e6ebf2;
    flex: 0 0 auto;
  }

  .cbt-drawer__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    transition: transform 0.12s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  }

  .cbt-drawer__cta-btn .fa,
  .cbt-drawer__cta-btn .cbt-drawer__svg { font-size: 14px; width: 16px; height: 16px; }

  .cbt-drawer__cta-btn--primary {
    background: #ff6600;
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 102, 0, 0.30);
  }

  .cbt-drawer__cta-btn--primary:hover,
  .cbt-drawer__cta-btn--primary:focus-visible {
    background: #e65a00;
    color: #fff;
  }

  .cbt-drawer__cta-btn--ghost {
    background: #fff;
    color: #094074;
    border: 1.5px solid #094074;
  }

  .cbt-drawer__cta-btn--ghost:hover,
  .cbt-drawer__cta-btn--ghost:focus-visible {
    background: #094074;
    color: #fff;
  }

  .cbt-drawer__cta-btn:active { transform: scale(0.98); }

  .cbt-drawer__body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 6px 0 32px;
    overscroll-behavior: contain;
  }

  /* Section accordion */
  .cbt-drawer__sec {
    border-bottom: 1px solid #eef1f5;
    background: #fff;
  }

  .cbt-drawer__sec[open] { background: #fbfcfe; }

  .cbt-drawer__sec-head {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    cursor: pointer;
    color: #094074;
    font-weight: 600;
    font-size: 15px;
    user-select: none;
    text-decoration: none;
  }

  .cbt-drawer__sec-head::-webkit-details-marker { display: none; }
  .cbt-drawer__sec-head::marker { display: none; content: ""; }

  .cbt-drawer__sec-ico {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(51, 181, 240, 0.14);
    color: #094074;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    transition: background 0.18s ease, color 0.18s ease;
  }

  .cbt-drawer__sec-title {
    flex: 1;
    line-height: 1.2;
  }

  .cbt-drawer__sec-chev {
    transition: transform 0.22s ease;
    color: #6c7a8e;
    font-size: 18px;
  }

  .cbt-drawer__sec[open] .cbt-drawer__sec-chev { transform: rotate(180deg); }

  .cbt-drawer__sec[open] .cbt-drawer__sec-ico {
    background: #094074;
    color: #fff;
  }

  .cbt-drawer__sec-body {
    padding: 4px 14px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    animation: cbtDrawerSecIn 0.22s ease;
  }

  @keyframes cbtDrawerSecIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .cbt-drawer__link {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: #233140;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    transition: background 0.14s ease, color 0.14s ease;
  }

  .cbt-drawer__link small {
    color: #6c7a8e;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }

  .cbt-drawer__link:hover,
  .cbt-drawer__link:focus-visible {
    background: rgba(51, 181, 240, 0.10);
    color: #094074;
    outline: none;
  }

  .cbt-drawer__link:hover small,
  .cbt-drawer__link:focus-visible small { color: #094074; }

  /* Inline CTA inside a section */
  .cbt-drawer__cta-inline {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #094074 0%, #1167b8 100%);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: transform 0.12s ease, background 0.16s ease;
  }

  .cbt-drawer__cta-inline .fa,
  .cbt-drawer__cta-inline .cbt-drawer__svg { font-size: 12px; width: 14px; height: 14px; }

  .cbt-drawer__cta-inline:hover,
  .cbt-drawer__cta-inline:focus-visible {
    background: linear-gradient(135deg, #0c5394 0%, #1d8be8 100%);
    color: #fff;
  }

  .cbt-drawer__cta-inline:active { transform: scale(0.98); }

  /* Country list with PAQ / GRUP / LTL / FLT / Express tags */
  .cbt-drawer__countries {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .cbt-drawer__country {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f7f9fc;
    border: 1px solid transparent;
    transition: background 0.14s ease, border-color 0.14s ease;
  }

  .cbt-drawer__country:hover {
    background: #fff;
    border-color: rgba(9, 64, 116, 0.12);
  }

  .cbt-drawer__country-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .cbt-drawer__country-flag {
    flex-shrink: 0;
    display: inline-flex;
    width: 26px;
    height: 19px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(3, 12, 30, 0.12);
  }

  .cbt-drawer__country-flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .cbt-drawer__country-name {
    flex: 1 1 auto;
    min-width: 0;
    color: #094074;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cbt-drawer__country-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cbt-drawer__country-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    padding: 5px 8px;
    background: #fff;
    border: 1px solid #d8e0ec;
    border-radius: 999px;
    color: #094074;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, transform 0.1s ease;
  }

  .cbt-drawer__country-tag:hover,
  .cbt-drawer__country-tag:focus-visible {
    background: #094074;
    border-color: #094074;
    color: #fff;
    outline: none;
  }

  .cbt-drawer__country-tag:active { transform: scale(0.96); }

  /* Inline SVG icons baseline (sizing & stroke). Specific contexts override
     width/height/font-size below as needed. */
  .cbt-drawer__svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
  }

  .cbt-drawer__sec-ico .cbt-drawer__svg {
    width: 18px;
    height: 18px;
  }

  .cbt-drawer__close .cbt-drawer__svg {
    width: 18px;
    height: 18px;
  }

  /* Solo (single-link) section: behaves like a row, no accordion */
  a.cbt-drawer__sec--solo {
    display: block;
    text-decoration: none;
  }

  .cbt-drawer__sec-chev--solo {
    transform: rotate(0) !important;
    font-size: 16px;
  }

  /* Contacto block */
  .cbt-drawer__contact {
    display: grid;
    gap: 10px;
    padding: 4px 4px 6px;
  }

  .cbt-drawer__contact-block {
    background: #f7f9fc;
    border-radius: 12px;
    padding: 12px 14px;
    display: grid;
    gap: 6px;
  }

  .cbt-drawer__contact-block h4 {
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 700;
    color: #094074;
    letter-spacing: 0.01em;
  }

  .cbt-drawer__contact-block a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #233140;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: color 0.14s ease;
  }

  .cbt-drawer__contact-block a:hover,
  .cbt-drawer__contact-block a:focus-visible {
    color: #094074;
    outline: none;
  }

  .cbt-drawer__contact-block .fa,
  .cbt-drawer__contact-block .cbt-drawer__svg {
    color: #33b5f0;
    font-size: 13px;
    width: 14px;
    height: 14px;
    text-align: center;
    flex-shrink: 0;
  }

  .cbt-drawer__contact-block small {
    color: #6c7a8e;
    font-size: 11px;
    font-weight: 500;
  }

  /* Reserve space at bottom of page so the floating bar doesn't cover content,
     y bloquear scroll horizontal accidental (cotizador/elementos legacy que
     no son responsive). */
  body {
    padding-bottom: 84px;
    overflow-x: hidden;
  }
  html { overflow-x: hidden; }
}

/* Lock body scroll when drawer is open (applies at any size, the drawer
   itself is only visible ≤1300px so this is harmless on desktop) */
body.cbt-drawer-open {
  overflow: hidden;
}

/* === lg-promos: ONE shared blue card holding two stacked CTAs === */
@media (min-width: 1025px) {
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 66%;
    margin: 0;
    border-radius: 0;
    clip-path: polygon(80px 0, 100% 0, 100% 100%, 0 100%);
    padding: 22px 28px 22px 110px;
    color: #ffffff;
    background:
      radial-gradient(120% 160% at 100% 100%, rgba(51, 181, 240, 0.45), transparent 55%),
      linear-gradient(135deg, #0a4074 0%, #1d97ff 130%);
    background-size: 200% 200%;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    overflow: hidden;
    animation: cabitrans-lg-promo-shift 7s ease-in-out infinite;
  }
  /* Inner asides: strip their own card look — they are pure content sections */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos > .cabitrans-nav__lg-promo {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0;
    padding: 0;
    background: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: inherit;
    isolation: auto;
    animation: none !important;
    display: block;
    flex: 0 0 auto;
    overflow: visible;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos > .cabitrans-nav__lg-promo::after {
    display: none;
  }
  /* Tighter typography because two sections share the same card */
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-eyebrow {
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.16em;
    margin-bottom: 8px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-title {
    font-size: 17px;
    line-height: 1.18;
    margin: 0 0 6px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-text {
    font-size: 11.5px;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-cta {
    margin-top: 4px;
    padding: 8px 16px;
    font-size: 12px;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-trust {
    display: block;
    margin: 10px 0 0;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    text-decoration: none;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos a.cabitrans-nav__lg-promo-trust:hover,
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos a.cabitrans-nav__lg-promo-trust:focus-visible {
    text-decoration: underline;
  }
  .cabitrans-nav__panel--lg .cabitrans-nav__lg-promos .cabitrans-nav__lg-promo-cta-icon {
    font-size: 14px;
    line-height: 1;
    flex: 0 0 auto;
  }
}
/* === Product card hover: title verb + arrow (Productos panel) v5 smooth === */
/* Verb pseudo-element: collapsed by default, slides + fades in */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title[data-hover-verb]::before {
  content: attr(data-hover-verb);
  display: inline-block;
  max-width: 0;
  margin-right: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  vertical-align: bottom;
  font-weight: inherit;
  transition: max-width 0.28s ease, margin-right 0.28s ease, opacity 0.2s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title[data-hover-verb]::before,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title[data-hover-verb]::before {
  max-width: 9em;
  margin-right: 0.3em;
  opacity: 1;
}

/* Arrow pseudo-element: collapsed by default, NEVER underlined */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title::after {
  content: "→";
  display: inline-block;
  max-width: 0;
  margin-left: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  vertical-align: middle;
  font-weight: 400;
  text-decoration: none;
  transition: max-width 0.28s ease, margin-left 0.28s ease, opacity 0.2s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title::after,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title::after {
  max-width: 1.5em;
  margin-left: 6px;
  opacity: 0.7;
}

/* Make sure the title parent has no underline of its own (so the arrow ::after isn't underlined) */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title {
  text-decoration: none !important;
}

/* Underline ONLY the product name span, fading in via text-decoration-color */
.cabitrans-nav__panel--sm .cabitrans-nav__product-card .cabitrans-nav__title-name {
  font-weight: 700;
  text-decoration: underline transparent;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: text-decoration-color 0.22s ease;
}
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:hover .cabitrans-nav__title-name,
.cabitrans-nav__panel--sm .cabitrans-nav__product-card:focus-within .cabitrans-nav__title-name {
  text-decoration-color: currentColor;
}
/* === Promo image halo (Productos panel) === */
@media (min-width: 1025px) {
  .cabitrans-nav__promo {
    overflow: visible;
  }
  .cabitrans-nav__promo::before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background:
      radial-gradient(circle at center, rgba(255, 255, 255, 0.45) 0%, rgba(51, 181, 240, 0.32) 30%, rgba(10, 64, 116, 0) 70%);
    filter: blur(8px);
    pointer-events: none;
    z-index: 0;
  }
  .cabitrans-nav__promo-content {
    position: relative;
    z-index: 1;
  }
}/* End custom CSS */