.elementor-14 .elementor-element.elementor-element-62c3652{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.55;--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-14 .elementor-element.elementor-element-62c3652:not(.elementor-motion-effects-element-type-background), .elementor-14 .elementor-element.elementor-element-62c3652 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://opotransfer.eu/wp-content/uploads/2026/06/ChatGPT-Image-4-de-jun.-de-2026-18_21_30.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14 .elementor-element.elementor-element-62c3652::before, .elementor-14 .elementor-element.elementor-element-62c3652 > .elementor-background-video-container::before, .elementor-14 .elementor-element.elementor-element-62c3652 > .e-con-inner > .elementor-background-video-container::before, .elementor-14 .elementor-element.elementor-element-62c3652 > .elementor-background-slideshow::before, .elementor-14 .elementor-element.elementor-element-62c3652 > .e-con-inner > .elementor-background-slideshow::before, .elementor-14 .elementor-element.elementor-element-62c3652 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-14 .elementor-element.elementor-element-62c3652.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-8fcd247{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-14 .elementor-element.elementor-element-54fd7dc{--display:flex;--min-height:220px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;box-shadow:0px 2px 15px -5px rgba(0, 0, 0, 0.6);--margin-top:-145px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-54fd7dc:not(.elementor-motion-effects-element-type-background), .elementor-14 .elementor-element.elementor-element-54fd7dc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-14 .elementor-element.elementor-element-54fd7dc.e-con{--align-self:center;}.elementor-14 .elementor-element.elementor-element-5307afb{--display:flex;--min-height:250px;--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;--gap:10px 0px;--row-gap:10px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#EAEAEA;--border-color:#EAEAEA;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14 .elementor-element.elementor-element-22a4ee3 img{width:35%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-de979be{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-14 .elementor-element.elementor-element-de979be .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.2em;color:#0F172A;}.elementor-14 .elementor-element.elementor-element-8c213d5{text-align:center;}.elementor-14 .elementor-element.elementor-element-8c213d5 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#6B7280;}.elementor-14 .elementor-element.elementor-element-700b324{--display:flex;--min-height:250px;--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;--gap:10px 0px;--row-gap:10px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#EAEAEA;--border-color:#EAEAEA;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-14 .elementor-element.elementor-element-81dff78 img{width:35%;}.elementor-14 .elementor-element.elementor-element-62c6205{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-14 .elementor-element.elementor-element-62c6205 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:#0F172A;}.elementor-14 .elementor-element.elementor-element-1dc9268{text-align:center;}.elementor-14 .elementor-element.elementor-element-1dc9268 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#6B7280;}.elementor-14 .elementor-element.elementor-element-321b4ba{--display:flex;--min-height:250px;--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;--gap:10px 0px;--row-gap:10px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#EAEAEA;--border-color:#EAEAEA;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-14 .elementor-element.elementor-element-460c457 img{width:35%;}.elementor-14 .elementor-element.elementor-element-28d39b8{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-14 .elementor-element.elementor-element-28d39b8 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:#0F172A;}.elementor-14 .elementor-element.elementor-element-ec68663{text-align:center;}.elementor-14 .elementor-element.elementor-element-ec68663 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#6B7280;}.elementor-14 .elementor-element.elementor-element-274beb5{--display:flex;--min-height:250px;--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;--gap:10px 0px;--row-gap:10px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#EAEAEA;--border-color:#EAEAEA;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-14 .elementor-element.elementor-element-ca5b128 img{width:35%;}.elementor-14 .elementor-element.elementor-element-e5715f9{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-14 .elementor-element.elementor-element-e5715f9 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:#0F172A;}.elementor-14 .elementor-element.elementor-element-8f8958c{text-align:center;}.elementor-14 .elementor-element.elementor-element-8f8958c .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#6B7280;}.elementor-14 .elementor-element.elementor-element-bbd707f{--display:flex;--min-height:250px;--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;--gap:10px 0px;--row-gap:10px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#EAEAEA;--border-color:#EAEAEA;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-14 .elementor-element.elementor-element-31acab5 img{width:35%;}.elementor-14 .elementor-element.elementor-element-d2f6ed6{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-14 .elementor-element.elementor-element-d2f6ed6 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:#0F172A;}.elementor-14 .elementor-element.elementor-element-260e9a5{text-align:center;}.elementor-14 .elementor-element.elementor-element-260e9a5 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#6B7280;}.elementor-14 .elementor-element.elementor-element-a46c774{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-14 .elementor-element.elementor-element-a46c774.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-3116a71{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-14 .elementor-element.elementor-element-335038c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-14{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-54fd7dc{--width:90%;}}@media(min-width:768px){.elementor-14 .elementor-element.elementor-element-62c3652{--content-width:1200px;}.elementor-14 .elementor-element.elementor-element-8fcd247{--content-width:1200px;}.elementor-14 .elementor-element.elementor-element-54fd7dc{--width:1200px;}.elementor-14 .elementor-element.elementor-element-5307afb{--width:20%;}.elementor-14 .elementor-element.elementor-element-700b324{--width:20%;}.elementor-14 .elementor-element.elementor-element-321b4ba{--width:20%;}.elementor-14 .elementor-element.elementor-element-274beb5{--width:20%;}.elementor-14 .elementor-element.elementor-element-bbd707f{--width:20%;}.elementor-14 .elementor-element.elementor-element-a46c774{--width:100%;}.elementor-14 .elementor-element.elementor-element-3116a71{--width:100%;}.elementor-14 .elementor-element.elementor-element-335038c{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-62c3652 */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

/* =========================
   HERO BASE
========================= */

.opo-hero-section {
  width: 100%;
  min-height: 820px;
  display: flex;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  overflow: visible;
}

.opo-hero-section * {
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

/* CONTAINER */

.opo-hero-container {
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 60px 24px 120px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px !important;
  gap: 90px !important;
  align-items: center !important;
}

/* =========================
   TEXTO
========================= */

.hero-text-content {
  max-width: 640px;
}

.hero-text-content h1 {
  color: #fff;
  font-size: 52px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -1px;
  margin: 0 0 24px;
}

.hero-text-content h1 span {
  color: #d6a11c;
}

.hero-text-content p {
  color: #fff;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 600;
  margin: 0 0 36px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}

.hero-text-buttons {
  display: flex;
  gap: 14px;
}

.hero-btn {
  height: 54px;
  min-width: 205px;
  padding: 0 24px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  transition: .3s ease;
}

.hero-btn-primary {
  background: #d6a11c;
  color: #fff;
}

.hero-btn-outline {
  border: 2px solid #d6a11c;
  color: #fff;
  background: rgba(0, 0, 0, .22);
}

.hero-btn:hover {
  transform: translateY(-2px);
}

/* =========================
   FORMULÁRIO
========================= */

.opo-booking-card {
  width: 100%;
  max-width: 470px;
  background: #fff !important;
  border-radius: 15px;
  padding: 22px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
  color: #07182d;
  margin-left: auto !important;
  margin-right: 0 !important;
  transform: none !important;
  overflow: visible;
  position: relative;
  right: -120px;
}

.opo-booking-form {
  display: block;
  width: 100%;
}

/* HEADER */

.opo-booking-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.opo-car-icon {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.opo-car-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.opo-booking-header h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 800;
  color: #07182d;
}

.opo-booking-header p {
  margin: 4px 0 0;
  font-size: 14px;
  color: #6c7480;
}

/* =========================
   CAMPOS
========================= */

.opo-route-box {
  position: relative;
  border: 1px solid #c8d0da;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
  background: #fff !important;
}

.opo-route-arrow {
  position: absolute;
  left: 23px;
  top: 42px;
  width: 14px;
  height: 35px;
  z-index: 5;
  pointer-events: none;
}

.opo-route-arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
  height: 38px;
  background-image: radial-gradient(circle, #7b8491 1.4px, transparent 1.5px);
  background-size: 2px 9px;
  background-repeat: repeat-y;
}

.opo-route-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #7b8491;
}

.opo-route-field,
.opo-date-field {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
}

.opo-route-field {
  border-bottom: 1px solid #d7dde4;
}

.opo-route-field input,
.opo-date-field input,
.opo-simple-field input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 15px;
  color: #07182d;
}

.opo-route-field input::placeholder,
.opo-date-field input::placeholder,
.opo-simple-field input::placeholder {
  color: #68717d;
  opacity: 1;
}

/* =========================
   ÍCONES
========================= */

.opo-icon-circle-img {
  width: 14px !important;
  height: 14px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.opo-icon-pin-img,
.opo-calendar-img {
  width: 20px !important;
  height: 20px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.opo-user-img {
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

/* =========================
   CONTADORES
========================= */

.opo-counter-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.opo-counter-group label {
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 8px;
}

.opo-counter {
  height: 42px;
  border: 1px solid #cfd5dc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  background: #fff !important;
}

.opo-counter button {
  border: 0;
  background: transparent;
  font-size: 24px;
  color: #5f6a76;
  cursor: pointer;
  padding: 0;
}

.opo-counter span {
  font-size: 16px;
  color: #07182d;
}

/* =========================
   SIMPLES
========================= */

.opo-simple-field {
  height: 42px;
  border: 1px solid #cfd5dc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  margin-bottom: 10px;
  background: #fff !important;
}

.opo-simple-field span {
  font-size: 18px;
  color: #626d7a;
  width: 24px;
  min-width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================
   TELEFONE
========================= */

.opo-simple-field.phone {
  height: 42px;
  padding: 0 !important;
  margin-bottom: 10px !important;
  overflow: visible !important;
  display: block;
  position: relative !important;
  z-index: 999999 !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px #cfd5dc !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.opo-simple-field.phone::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px #cfd5dc;
  z-index: 2;
}

.opo-simple-field.phone .iti {
  width: 100%;
  height: 42px;
  display: block;
  border-radius: 8px !important;
  overflow: visible !important;
}

.iti {
  width: 100% !important;
  height: 100%;
  display: block;
  overflow: visible !important;
  position: relative !important;
}

.iti input,
.opo-phone-number {
  width: 100% !important;
  height: 42px !important;
  border: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  font-size: 14px !important;
  color: #07182d !important;
  padding-left: 106px !important;
  border-radius: 8px !important;
}

/* =========================
   DROPDOWN PAÍS
========================= */

.iti__selected-country {
  height: 42px !important;
  padding: 0 10px 0 12px !important;
  background: #fff !important;
  border-right: 1px solid #d4d9df !important;
  border-radius: 8px 0 0 8px !important;
}

.iti__selected-country-primary {
  padding: 0 !important;
}

.iti__selected-dial-code {
  font-size: 13px !important;
  color: #07182d !important;
  margin-left: 6px !important;
}

.iti__arrow {
  margin-left: 6px !important;
}

.iti__country-container {
  height: 42px !important;
}

.iti__dropdown-content {
  position: absolute !important;
  top: 48px !important;
  left: 0 !important;
  width: 360px !important;
  max-width: 90vw !important;
  background: #fff !important;
  border: 1px solid #d7dde6 !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .25) !important;
  z-index: 99999999 !important;
  overflow: visible !important;
}

.iti__search-input {
  width: 100% !important;
  height: 44px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  outline: none !important;
}

.iti__country-list {
  display: block !important;
  width: 100% !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18) !important;
}

.iti__country {
  height: 42px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: #07182d !important;
}

.iti__flag-box {
  width: 24px !important;
  min-width: 24px !important;
  margin-right: 8px !important;
}

.iti__country-name {
  flex: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.iti__dial-code {
  color: #68717d !important;
  margin-left: auto !important;
}

/* =========================
   BOTÃO
========================= */

.opo-submit {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 8px;
  background: #d6a11c;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  margin-top: 4px !important;
}

.opo-submit:hover {
  background: #0D2643;
}

/* =========================
   CALENDÁRIO
========================= */

.opo-calendar-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.opo-calendar-modal.active {
  display: flex;
}

.opo-calendar-box {
  width: 420px;
  max-width: 95%;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, .25);
}

/* HEADER CALENDAR */

.opo-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
}

.opo-cal-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #07182d;
}

.opo-cal-header button {
  width: 34px;
  height: 34px;
  border: 2px solid #d9dee8;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  color: #9aa4b1;
}

/* WEEK */

.opo-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 0 18px;
  margin-bottom: 10px;
}

.opo-weekdays span {
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  color: #8f98a8;
}

/* DAYS */

.opo-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  padding: 0 18px 18px;
}

.opo-days button {
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  font-size: 15px;
  margin: auto;
  color: #07182d;
}

.opo-days button:hover {
  background: #edf2f8;
}

.opo-days button.selected {
  background: #2d3f5f;
  color: #fff;
}

.opo-days button.disabled {
  opacity: .35;
  cursor: not-allowed;
}

/* TIME */

.opo-time-area {
  border-top: 1px solid #e8edf5;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.opo-time-area label {
  font-size: 14px;
  font-weight: 800;
  color: #07182d;
  margin: 0;
}

.opo-time-selects {
  display: flex;
  align-items: center;
  gap: 8px;
}

.opo-time-selects select {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #d7dde6;
  border-radius: 10px;
  font-size: 16px;
  color: #07182d;
  background: #fff;
}

/* CONFIRM */

.opo-confirm-date {
  width: calc(100% - 24px);
  margin: 0 12px 12px;
  height: 46px;
  border: none;
  border-radius: 8px;
  background: #d6a11c;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
}

.opo-confirm-date:hover {
  background: #0D2643;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 1024px) {
  .opo-hero-container {
    grid-template-columns: 1fr !important;
    gap: 45px !important;
    padding: 60px 20px 90px !important;
  }

  .opo-booking-card {
    margin: 0 auto !important;
    transform: none !important;
    right: 0;
  }
}

@media (max-width: 767px) {

  .opo-hero-section {
    min-height: auto;
    padding-bottom: 60px;
  }

  .hero-text-content {
    padding-top: 120px !important;
  }

  .hero-text-content h1 {
    font-size: 42px !important;
    line-height: 1.05 !important;
    margin-bottom: 20px !important;
  }

  .hero-text-content p {
    font-size: 15px;
  }

  .hero-text-buttons {
    flex-direction: column;
    gap: 12px;
  }

  .hero-btn {
    width: 100%;
  }

  .opo-booking-card {
    right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 22px 16px;
    border-radius: 20px;
  }

  .opo-booking-header h3 {
    font-size: 17px;
  }

  .opo-booking-header p {
    font-size: 13px;
  }

  .opo-route-field,
  .opo-date-field {
    min-height: 58px;
    padding: 0 14px;
    gap: 8px;
  }

  .opo-route-arrow {
    position: absolute;
    left: 20px !important;
    top: 40px !important;
    width: 10px;
    height: 30px;
  }

  .opo-route-arrow::before {
    height: 20px;
    background-image: radial-gradient(circle, #7b8491 1.2px, transparent 1.3px);
    background-size: 2px 7px;
    background-repeat: repeat-y;
  }

  .opo-route-arrow::after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid #7b8491;
  }

  .opo-icon-circle-img,
  .opo-icon-pin-img,
  .opo-calendar-img {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
  }

  .opo-counter-row {
    gap: 10px;
  }

  input,
  select,
  textarea,
  .opo-route-field input,
  .opo-date-field input,
  .opo-simple-field input,
  .opo-phone-number,
  .iti input {
    font-size: 16px !important;
  }

  .iti input,
  .opo-phone-number {
    padding-left: 102px !important;
  }

  .opo-submit {
    font-size: 15px;
  }

  .iti__dropdown-content {
    position: fixed !important;
    top: 120px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 92vw !important;
    max-width: 360px !important;
    max-height: 420px !important;
    overflow: hidden !important;
    z-index: 999999999 !important;
  }

  .iti__country-list {
    max-height: 360px !important;
    overflow-y: auto !important;
  }
}

/* =========================
   CALENDÁRIO MOBILE
========================= */

@media (max-width: 480px) {

  .opo-calendar-box {
    width: 340px;
  }

  .opo-days button {
    width: 30px;
    height: 30px;
    font-size: 13px;
  }

  .opo-time-area {
    flex-direction: column;
    align-items: flex-start;
  }

  .opo-confirm-date {
    font-size: 16px;
  }
}

/* =========================
   ENGLISH VERSION
========================= */

@media (min-width: 1025px) {
  html[lang^="en"] .opo-booking-card,
  body.lang-en .opo-booking-card {
    right: -230px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-self: end !important;
  }
}

/* MOBILE ENGLISH */

@media (max-width: 767px) {
  html[lang^="en"] .opo-booking-card,
  body.lang-en .opo-booking-card {
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }
}

/* CORREÇÃO MODAL CALENDÁRIO + DROPDOWN TELEFONE */

body.opo-modal-open{
  overflow:hidden !important;
  width:100% !important;
}

@media(max-width:767px){
  body.opo-modal-open{
    position:fixed !important;
    width:100% !important;
    touch-action:none !important;
  }
}

@media(min-width:768px){
  body.opo-modal-open{
    position:static !important;
    touch-action:auto !important;
  }
}

.opo-calendar-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:9999999 !important;
  overscroll-behavior:contain !important;
  touch-action:none !important;
}

.opo-calendar-modal.active{
  display:flex !important;
}

.opo-calendar-box{
  position:relative !important;
  z-index:10000000 !important;
  max-height:90vh !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  touch-action:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.iti__dropdown-content,
.iti__country-list{
  z-index:99999999 !important;
  overscroll-behavior:contain !important;
  touch-action:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

/* =========================
   FIX REAL INTL-TEL-INPUT (SEM BREAK)
========================= */

.iti {
  position: relative !important;
  z-index: 99999 !important;
}

/* mata scroll do Elementor / browser ao abrir input */
html, body {
  scroll-behavior: auto !important;
}

/* dropdown FORÇADO fora do fluxo da página */
.iti__dropdown-content {
  position: fixed !important;
  top: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 999999999 !important;
  max-height: 320px !important;
  overflow-y: auto !important;
}

/* impede scroll “infinito” quando abre o select */
body.iti-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
}

/* evita jump no mobile e desktop */
.iti input {
  scroll-margin: 0 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8fcd247 */@media (max-width:767px){

.elementor-14 .elementor-element.elementor-element-8fcd247{
    margin-top:40px !important;
    position:relative;
    z-index:2;
}

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a46c774 */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

.servicos-section{
  background:#fff;
  padding:32px 20px 44px;
  font-family:'Poppins', sans-serif;
}

.servicos-section *{
  box-sizing:border-box;
  font-family:'Poppins', sans-serif;
}

.servicos-container{
  max-width:1200px;
  width:100%;
  margin:0 auto;
}

.servicos-title h2{
  color:#07152b;
  font-size:22px;
  font-weight:800;
  margin:0;
}

.servicos-title span{
  display:block;
  width:38px;
  height:3px;
  background:#d6a11c;
  margin:10px 0 24px;
}

.servicos-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:20px;
  align-items:start;
}

.servico-card{
  position:relative;
  width:100%;
}

.servico-image-box{
  width:100%;
  height:185px;
  border:1px solid #e7e7e7;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}

.servico-image-box img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.servico-icon{
  position:absolute;
  left:50%;
  top:157px;
  transform:translateX(-50%);

  width:58px;
  height:58px;
  background:#06152b;
  border:2px solid #d6a11c;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;
  z-index:20;
}

.servico-icon img{
  width:36px;
  height:36px;
  object-fit:contain;
  display:block;
}

.servico-icon i{
  color:#fff;
  font-size:23px;
  line-height:1;
}

.servico-info{
  width:100%;
  min-height:200px;

  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:8px;

  padding:46px 10px 24px;

  text-align:center;

  display:flex;
  flex-direction:column;
  align-items:center;

  box-shadow:none;
}

.servico-info h3{
  color:#07152b;
  font-size:15px;
  line-height:1.18;
  font-weight:800;
  margin:0 0 10px;
}

.servico-info p{
  color:#4b5563;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  max-width:230px;
  margin:0 auto 2px;
}

.servico-info a{
  margin-top:auto;
  padding-top:0;

  color:#d6a11c;
  text-decoration:none;
  font-size:12px;
  font-weight:800;

  display:inline-flex;
  align-items:center;
  gap:10px;
}

.servico-info a i{
  color:#d6a11c;
  font-size:14px;
}

@media(max-width:1024px){
  .servicos-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .servicos-grid{
    grid-template-columns:1fr;
  }

  .servico-image-box{
    height:190px;
  }

  .servico-info{
    min-height:260px;
  }

  .servico-icon{
    top:162px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b0f37bb */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

html, body{
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}

.como-funciona-section{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#040C24;
  padding:45px 0;
  font-family:'Poppins', sans-serif;
  overflow:hidden;
}

.como-funciona-section *{
  font-family:'Poppins', sans-serif;
  box-sizing:border-box;
}

.como-funciona-inner{
  max-width:1200px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 20px !important;
}

.como-funciona-inner h2{
  color:#fff;
  font-size:22px;
  font-weight:800;
  margin:0;
}

.linha-dourada{
  display:block;
  width:50px;
  height:3px;
  background:#d6a11c;
  margin:12px 0 28px;
}

.passos{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  width:100%;
}

.passo{
  width:235px;
  min-width:0;
}

.passo-topo{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.passo-baixo{
  display:grid;
  grid-template-columns:60px 1fr;
  column-gap:18px;
  align-items:flex-start;
  margin-top:10px;
}

.numero{
  min-width:60px;
  width:60px;
  height:60px;
  border:2px solid #d6a11c;
  border-radius:50%;
  color:#d6a11c;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:800;
}

.passo h3{
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1.25;
  margin:7px 0 0;
}

.passo-baixo img{
  width:38px;
  height:38px;
  object-fit:contain;
  justify-self:center;
  margin-top:2px;
}

.passo p{
  color:#fff;
  font-size:14px;
  line-height:1.55;
  margin:0;
}

.pontilhado{
  width:45px;
  border-top:2px dotted rgba(255,255,255,.35);
  margin-top:31px;
  flex-shrink:0;
}

@media(max-width:1024px){
  .passos{
    flex-wrap:wrap;
  }

  .pontilhado{
    display:none;
  }
}

@media(max-width:767px){
  .passos{
    flex-direction:column;
    gap:35px;
  }

  .passo{
    width:100%;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-335038c */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

.hero-transfer{
    position:relative;
    width:100vw !important;
    max-width:100vw !important;
    min-height:290px;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    background:
    linear-gradient(
        90deg,
        rgba(4,18,43,.95) 0%,
        rgba(4,18,43,.80) 30%,
        rgba(4,18,43,.35) 65%,
        rgba(4,18,43,.15) 100%
    ),
    url('https://opotransfer.eu/wp-content/uploads/2026/06/ChatGPT-Image-3-de-jun.-de-2026-17_18_12.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    font-family:'Poppins',sans-serif;
    overflow:hidden;
}

.hero-transfer *{
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

.hero-content{
    max-width:1200px;
    margin:auto;
    min-height:290px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;

    padding:40px 20px;
}

.hero-text h1{
    color:#fff;
    font-size:30px;
    line-height:1.1;
    font-weight:700;
    margin:0 0 12px;
    max-width:500px;
}

.hero-text h1 span{
    color:#d6a11c !important;
}

.hero-text p{
    color:#fff;
    font-size:18px;
    line-height:1.5;
    margin:0;
}

.hero-buttons{
    display:flex;
    gap:25px;
    flex-wrap:wrap;
}

/* BOTÕES AJUSTADOS CONFORME A IMAGEM */
.btn{
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    height:56px;
    min-width:310px;
    padding:0 24px;

    border-radius:12px;

    font-size:16px;
    font-weight:600;
    line-height:1;

    transition:.3s;
}

.btn-primary{
    background:#d6a11c;
    color:#fff;
}

.btn-primary:hover{
    transform:translateY(-2px);
    color:#fff;
}

.btn-whatsapp{
    border:2px solid #d6a11c;
    color:#fff;
    background:rgba(255,255,255,.02);
}

.btn-whatsapp:hover{
    background:rgba(255,255,255,.05);
    color:#fff;
}

.btn span{
    font-size:22px;
    line-height:1;
}

/* ÍCONES DOS BOTÕES */
.btn-whatsapp i{
    font-size:26px;
    color:#fff;
    margin-left:8px;
}

.btn-primary i{
    font-size:20px;
    color:#fff;
    margin-left:8px;
}

.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.elementor-widget-html,
.elementor-widget-container{
    max-width:100% !important;
}

@media(max-width:1024px){

    .hero-content{
        flex-direction:column;
        align-items:flex-start;
        gap:30px;
    }

    .hero-text h1{
        font-size:48px;
    }

}

@media(max-width:767px){

    .hero-transfer{
        min-height:auto;
    }

    .hero-content{
        padding:45px 20px;
    }

    .hero-text h1{
        font-size:38px;
    }

    .hero-buttons{
        width:100%;
        gap:15px;
    }

    .btn{
        width:100%;
        min-width:100%;
        height:56px;
    }

}/* End custom CSS */