/*
 * Theme Name: Aérovision
 * Theme URI: https://agence.3magroup.com/
 * Description: Hello Elementor Child Theme
 * Author: 3ma group
 * Author URL: https://agence.3magroup.com/
 * Template: hello-elementor
 * Version: 1.0.0
*/

@import 'https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap';

@font-face {
  font-family: Didonesque;
  src: url('assets/fonts/didonesque-roman.woff2') format('woff2'),
       url('assets/fonts/didonesque-roman.woff') format('woff');
  font-display: swap;
  font-weight: normal;
  font-style: normal;
}

:root {
  --color-orange: #FF905E;
  --color-primary: #2A4C5D;
  --color-text: #162F3B;
  --color-white: #FFF;
  --color-background: #F1F4F6;
  --color-important: #FF6363;
  --color-available: #55BB33;
}

.dm-sans-normal {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.dm-sans-bold {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

body {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  margin: 0;
}

body.home,
body.page-id-581 {
  background: var(--color-background) !important;
}

p, input {
  font-family: "DM Sans", sans-serif;
}

a {
  font-weight: 300;
  color: var(--color-primary);
  text-decoration: underline;
}

a:hover {
  color: var(--color-orange) !important;
}

.no-margin {
  margin: 0;
}

#site-footer {
  display: none;
}

.elementor-widget-heading:not(.prepare-flight-title, .rt-title) .elementor-heading-title {
  font-family: Didonesque, serif !important;
}

.elementor-element:not(.fly-step-container, .prepare-flight-bloc, .rt-container, .rt-summary, .nav-container) {
  padding: 0 !important;
}

h2 {
  font-family: Didonesque, serif;
  font-weight: 500;
}
ul, ol {
  font-family: 'DM Sans', sans-serif;
}

ul li:not(:last-of-type), ol li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}

/*** MENU NAVIGATION ***/
header.elementor-location-header {
  position: fixed;
  z-index: 10;
  top:0;
  right:0;
  width: 100%;
}

header .nav-background {
  overflow: hidden;
  height: 0;
  transition: min-height 0.7s;
}

header .nav-background.closed {
  min-height: 0;
}

header .nav-menu-burger {
  cursor: pointer;
  position: fixed;
  top: unset !important;
  bottom: 0.875rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
}
@media (min-width: 1024px) {
  header .nav-menu-burger {
    top: 3.125rem !important;
    bottom: unset;
    left: unset;
    transform: translateX(0);
  }
}

header .nav-menu-burger.active .nav-menu-open {
  display: none;
}

header .nav-menu-burger.active .nav-menu-close {
  display: block;
}

header .nav-menu-burger:not(.active) .nav-menu-open {
  display: block;
}

header .nav-menu-burger:not(.active) .nav-menu-close {
  display: none;
}

header .nav-menu-burger .nav-menu-close {
  line-height: 0;
}

header .nav-menu-burger .nav-menu-open::after {
  content:"Menu";
  color: var(--color-white);
  font-size: 0.75rem;
  display: block;
  text-transform: uppercase;
  margin-top: 0.125rem;
}

.nav-container {
  width: fit-content;
}

.nav-container .nav-buttons-container .btn,
.nav-container .nav-buttons-container .btn a {
  width: 100%;
}

.nav-container .nav-buttons-container .btn.reserver::before {
  content: var(--reserver-text, "J'ai déjà un billet");
  text-align: center;
  display: block;
  color: var(--color-primary);
  font-size: 0.875rem;
  margin-bottom: 0.2rem;
}

.nav-container .nav-link-item .elementor-widget-heading span,
.nav-container .nav-mentions-item .elementor-widget-heading span {
  font-family: "DM Sans", sans-serif !important;
}

.nav-container .nav-link-item {
  cursor: pointer;
}

.nav-container .nav-link-item:hover .elementor-widget-heading span {
  color: var(--color-orange) !important;
}

.nav-container .nav-link-item span,
.nav-container .nav-mentions-item span {
  transition: 0.2s;
}

.nav-container .nav-mentions-item:hover span {
  color: var(--color-orange) !important;
}
/*** FIN MENU NAVIGATION ***/

.logo-aerovision-orange::before {
  content: "";
  display: block;
  height: 50px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 10px;
  background-color: var(--color-orange);
  -webkit-mask-image: url("assets/img/logo.svg");
  mask-image: url("assets/img/logo.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/*** HOMEPAGE ***/

/** SECTION 1 **/
#hp1 {
  position: relative;
  padding-top: 25px !important;
  background-position-y: -90px;
}

#hp1 .elementor-widget-heading .elementor-heading-title {
  color: var(--color-orange);
  font: normal 52px Didonesque, serif !important;
  text-align: center;
  position: relative;
  margin-top: 0;
}

#hp1 .elementor img {
  max-width: 80%;
}

#hp1 .elementor-widget-heading .elementor-heading-title .small {
  font-size: 26px;
  display: block;
  left: -50px;
  top: 15px;
  position: relative;
}

#hp1 .elementor-widget-heading .elementor-heading-title .small.bottom {
  left: 0;
  top: -5px;
}

#hp1 p {
  text-align: center;
  color: var(--color-primary);
  margin-top: 0;
}

#hp1 .ballon {
  margin: 40px auto 0;
  max-width: 57%;
}

/*** SECTION 2 VIDEO ***/
.home-bg-video-mobile .boutons {
  position: absolute;
  bottom: 70px;
  right: 10px;
  z-index: 9999;
}

.fa-play,
.fa-pause,
.fa-volume-mute,
.fa-volume-up {
  background-color: rgb(0 0 0 / 0%);
  border-radius: 50%;
  border: 0;
  color: var(--color-white);
  height: 40px;
  width: 40px;
  display: block;
  margin-bottom: 10px;
  background-repeat: no-repeat;
  background-position: center;
}

.fa-pause {
  background-image: url("assets/img/pause.svg");
}

.fa-play {
  background-image: url("assets/img/play.svg");
}

.fa-volume-mute {
  background-image: url("assets/img/volume-x.svg");
}

.fa-volume-up {
  background-image: url("assets/img/volume-2.svg");
}

.fa-play.played::before,
.fa-pause::before,
.fa-volume-mute::before,
.fa-volume-up::before {
  content: "";
}

/** SECTION 3 **/
#hp3 .elementor-widget-heading .elementor-heading-title {
  color: var(--color-orange);
  font: normal 52px Didonesque, serif !important;
  text-align: center;
  position: relative;
  margin-top: 50px;
  margin-bottom: 0;
}

#hp3 .elementor-widget-heading .elementor-heading-title .small {
  font-size: 22px;
  display: block;
  left: clamp(5.625rem, -4.3323rem + 49.7866vw, 27.5rem);
  top: 0;
  position: relative;
  width: fit-content;
}

@media (width >= 1024px) {
  #hp3 .elementor-widget-heading .elementor-heading-title .small {
    left: 75px;
  }
}

#hp3 .slide img {
  border-radius: 20px;
}

#hp3 .elementor-element .swiper .elementor-swiper-button svg,
#prod3 .elementor-element .swiper .elementor-swiper-button svg {
  height: 20px;
  width: 20px;
  fill: var(--color-white);
}

#hp3 .elementor-element .swiper .elementor-swiper-button {
  top: 50%;
}

/*** SECTION HP 4 ***/
#hp4 .elementor-widget-heading .elementor-heading-title {
  color: var(--color-orange);
  font: normal 80px Didonesque, serif;
  text-align: center;
  position: relative;
  margin-top: 25px;
}

#hp4 .elementor-widget-heading .elementor-heading-title .small {
  font-size: 26px;
  display: block;
  left: -25px;
  top: 15px;
  position: relative;
}

#hp4 .elementor-widget-heading .elementor-heading-title .small.bottom {
  left: 0;
  top: -5px;
}

#hp4 p,
#hp4 .elementor-widget-heading h3.elementor-heading-title {
  text-align: center;
  margin-top: 0;
  font-size: 14px;
  font-weight: 300;
  margin: auto;
  line-height: normal;
  color: var(--color-primary);
  font-family: "DM Sans", sans-serif !important;
}

#hp4 h3 {
  font: normal 14px;
  top: 10px;
}

#hp4 .elementor-widget-button #acheter,
#hp4 .elementor-widget-button #reserver {
  background: var(--color-orange);
  border-radius: 20px;
  height: 50px;
  line-height: 28px;
  width: 230px;
  margin: auto !important;
  font-weight: 300;
  font-size: 16px;
}

#hp4 .elementor-widget-button #reserver {
  background: transparent;
  border: 1px solid var(--color-text);
  color: var(--color-text);
}

#hp4 .acheter .elementor-widget-button .elementor-button {
  color: var(--color-white);
  margin-left: 0 !important;
  font-weight: 300;
  justify-content: center !important;
}

#hp4 .elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu li.reserver a {
  color: var(--color-text);
}

#hp4 .elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu li.acheter a:hover,
#hp4 .elementor-widget-button #acheter:hover,
#hp4 .elementor-widget-button #reserver:hover {
  color: var(--color-white) !important;
  background: var(--color-primary);
}

#hp4 .elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu li.reserver .menu-item-description {
  position: absolute;
  top: -25px;
  left: 21%;
}

/** SECTION 5 HP **/
#hp1 p,
#hp3 p,
#hp4 p,
#hp5 p {
  font-size: 16px;
  line-height: 21px;
  color: var(--color-primary);
}

#hp5 {
  padding-top: 360px;
}

#hp5 p {
  margin: 0;
  margin-top: -15px;
}

#hp5 .elementor-widget-heading .elementor-heading-title {
  color: var(--color-orange);
  font: normal 52px Didonesque, serif !important;
  text-align: center;
  position: relative;
  margin-top: 25px;
}

#hp5 .elementor-widget-heading .elementor-heading-title .small.bottom {
  font-size: 26px;
  display: block;
  position: relative;
  left: 0;
  top: -5px;
  letter-spacing: -0.78px;
}

#hp-footer {
  background-color: var(--color-background);
}

@media (width >= 1024px) {
  #hp-footer {
    background-color: var(--color-white);
  }
}

/*** CONTACT ***/
#contact {
  background-color: var(--color-white);
  text-align: center;
  padding: 35px 0 !important;
}

#contact h1 {
  font-size: 36px;
  margin-top: 46px;
  font-weight: 300;
}

#contact h3 {
  color: var(--color-text);
  font-family: "DM Sans", sans-serif !important;
  font-weight: 300;
  line-height: 21px;
  font-size: 16px;
}

#contact .elementor-icon {
  margin: 35px 0 !important;
}

#contactform {
  margin: 15px 0;
  margin-bottom: 100px;
}

#contactform .e-form__buttons {
  justify-content: end !important;
}

#contactform .elementor-widget-form .elementor-button[type="submit"] {
  background-color: var(--color-primary);
  max-width: 160px;
  border-radius: 20px;
  padding: 18px 0;
}

.elementor-widget-form .elementor-field-group .elementor-field {
  border: 0;
  border-radius: 6px;
}

/** PRODUCT PAGE **/
#prod1 p,
#prod2 p {
  margin: 0 15px;
  margin-top: 15px;
  text-align: center;
  color: var(--color-white);
}

@media screen and (min-width: 1024px) {
  #prod1::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    background: linear-gradient(180deg, #063c57 0%, rgba(255, 255, 255, 0) 55%);
    opacity: 1;
  }

  #prod1 .e-con-inner {
    z-index: 2;
  }
}

#prod1 {
  overflow: hidden;
}

#prod1 .elementor-widget-heading .elementor-heading-title {
  font: normal 52px Didonesque, serif !important;
  text-align: center;
  position: relative;
  margin-top: 60px;
}

#prod1 .elementor-widget-heading .elementor-heading-title .small {
  font-size: 22px;
  display: block;
  position: relative;
  left: -35px;
  top: 0;
  letter-spacing: -0.78px;
  width: 96%;
}

#prod1 .elementor-widget-heading .elementor-heading-title .small.bottom {
  left: unset;
  right: -50px;
}

#prod2 {
  text-align: center;
}

#prod2 p {
  color: var(--color-primary);
  margin: 0 20px 20px;
  text-align: left;
  font-size: 16px;
  line-height: 21px;
}

#prod2 h2 {
  font-weight: 300 !important;
  padding: 30px;
}

@media (width <= 768px) {
  #prod2 h2 {
    padding: 30px 15px;
  }
}

#prod2 .elementor-button {
  background: var(--color-orange);
  border-radius: 20px;
  height: 48px;
  line-height: 50px;
  padding-top: 0;
  width: 220px;
  margin: auto !important;
}

#prod2 .elementor-button:hover {
  background: var(--color-primary);
  color: var(--color-white) !important;
}

#prod2 .elementor-button:hover a,
#prod2 .elementor-button:hover a:hover {
  color: var(--color-white) !important;
}

#prod2 .next-availabilities,
.rt-next-availabilities .open-calendar {
  cursor: pointer;
}
#prod2 .next-availabilities .elementor-icon-wrapper,
.rt-next-availabilities .elementor-icon-wrapper {
  line-height: 0;
}
#prod2 .next-availabilities p,
.rt-next-availabilities p {
  margin: 0 !important;
  margin-block-end: 0 !important;
}
#prod2 .next-availabilities p,
.rt-next-availabilities p .open-calendar {
  text-decoration: underline;
  text-underline-offset: 0.1rem;
}
#prod2 .next-availabilities .elementor-icon-wrapper svg,
#prod2 .next-availabilities p,
.rt-next-availabilities p .open-calendar {
  transition: 0.2s;
}
#prod2 .next-availabilities:hover .elementor-icon-wrapper svg {
  fill: var(--color-orange);
}
#prod2 .next-availabilities:hover p,
.rt-next-availabilities p .open-calendar:hover {
  color: var(--color-orange);
}

.unit-price {
  font-size: 20px;
  font-weight: 600;
  display: block;
}

.qte-box .qte {
  display: block;
  margin-top: 24px;
}

.qte-box button,
.exafly-btn.exafly-btn_counter {
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid var(--color-text);
  height: 40px;
  width: 40px;
}

.exafly-btn.exafly-btn_counter {
  background: transparent;
  border-color: var(--color-background);
  margin: 0 15px;
}

.exafly-btn.exafly-btn_counter:not(:disabled):hover {
  background: var(--color-background);
  border-color: var(--color-primary);
}

.qte-box button:disabled {
  cursor: not-allowed;
}

.qte-box input {
  background: transparent;
  border: 0;
  width: 50px;
  text-align: center;
  font-size: 16px;
  margin-top: 16px;
  margin-bottom: 32px;
}

/* Chrome, Safari, Edge */
.qte-box input[type="number"]::-webkit-inner-spin-button,
.qte-box input[type="number"]::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

/* Firefox */
.qte-box input[type="number"] {
  appearance: textfield;
}

.tot-price-box {
  font-weight: 600;
  margin-bottom: 25px;
  font-size: 16px;
}

#liste-picto {
  background: var(--color-background);
  border-radius: 20px;
  margin: 20px;
  padding: 30px !important;
  text-align: left;
}

#liste-picto .elementor-icon-list-item {
  margin-bottom: 21px;
  font-size: 16px;
}

#prod3 .elementor-widget-n-accordion .e-n-accordion-item-title,
#prod3 .e-con.e-flex {
  border: 0;
}

#prod3 .e-con-inner {
  padding: 25px;
  width: 95%;
}

#prod3 .elementor-widget-n-accordion .e-n-accordion-item-title {
  border-bottom: 0.5px solid var(--color-text);
  font-weight: 600;
  font-size: 16px;
  padding-bottom: 16px;
  padding-top: 16px;
}

#prod3 .elementor-widget-n-accordion {
  --n-accordion-padding: 0;
}

#prod3 .e-child .e-con-inner {
  padding: 0;
  margin-bottom: 16px;
}

#prod3 .e-child .e-con-inner p {
  margin: 0;
}

#prod3 .e-child .e-con-inner ul {
  line-height: 18px;
  padding: 10px;
}

#prod3 .slide img {
  border-radius: 20px;
}

#prod3 .elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"],
#prod3 .elementor-widget-n-tabs .e-n-tab-title[aria-selected="false"] {
  background: transparent;
  color: var(--color-text);
  padding: 20px 0;
  margin: 20px;
}

#prod3 .elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
  font-weight: 600;
  border-bottom: 2px solid;
}

#prod3 .elementor-widget-n-tabs .e-n-tab-title[aria-selected="false"]:hover {
  border-bottom: 1px solid;
  color: var(--color-orange);
}

#prod3 .elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"]:hover {
  color: var(--color-orange);
}

#prod3 .elementor-widget-n-tabs .e-n-tabs-heading {
  justify-content: left;
}

@media (width >= 1024px) {
  #prod3 {
    max-width: 98%;
  }

  #prod2 {
    margin-top: 30px;
  }
}

/* Animation flottante naturelle pour montgolfière */
@keyframes montgolfiere-ellipse-lisse {
  0%   { transform: translateX(-60px) translateY(0); }
  10%  { transform: translateX(-45px) translateY(-10px); }
  20%  { transform: translateX(-30px) translateY(-15px); }
  30%  { transform: translateX(-15px) translateY(-17px); }
  40%  { transform: translateX(0) translateY(-18px); }
  50%  { transform: translateX(15px) translateY(-17px); }
  60%  { transform: translateX(30px) translateY(-15px); }
  70%  { transform: translateX(45px) translateY(-10px); }
  80%  { transform: translateX(60px) translateY(0); }
  90%  { transform: translateX(0) translateY(10px); }
  100% { transform: translateX(-60px) translateY(0); }
}

.montgolfiere-vol {
  animation: montgolfiere-ellipse-lisse 45s linear infinite;
  display: inline-block;
  will-change: transform;
}

/** informations-passagers **/
#informations-passagers-header {
  padding: 15px !important;
  background: var(--color-white);
}

.exafly-title {
  font-weight: normal;
  margin-top: 15px;
}

.exafly-btn__remove {
  border-radius: 25px;
  width: 25px;
  height: 25px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--color-orange);
}

.exafly-btn__remove svg {
  stroke: var(--color-orange);
  height: 15px;
  width: 15px;
}

.exafly-btn__counter {
  border-radius: 50%;
  padding: 0;
}

#exafly-counter-label {
  padding-right: 15px;
  font-size: 16px;
}

#exafly-counter-count {
  padding-left: 15px;
  font-size: 16px;
}

/** FIX LOGO header **/
#conditions-embarquement .logo {
  margin: 30px;
}

#conditions-embarquement {
  margin: 0;
}

nav.agence3ma-exafly {
  margin: 15px;
}

.agence3ma-exafly__list::before {
  border-top: 1px dashed #B8BFC3;
}

.a3ma-exafly-step--passengers .exafly-passenger {
  border-radius: 0;
  max-width: none;
  padding: 36px 20px;
  margin-bottom: 0;
  background: var(--color-background);
}

.a3ma-exafly-step--passengers .exafly-field--floating input {
  border-radius: 0.375rem;
}

#conditions-embarquement .elementor-widget-heading .elementor-heading-title {
  text-align: center;
  font-weight: 300;
  font-size: 28px;
  color: var(--color-orange);
}

.exafly-subtitle {
  font-size: 16px;
  color: var(--color-text) !important;
  line-height: initial;
  margin-block-end: 1.5rem !important;
}

#conditions .exafly-subtitle .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 16px !important;
  color: var(--color-text);
  margin-bottom: 20px;
  line-height: initial;
}

#conditions-embarquement .exafly-header,
#conditions-embarquement .exafly-conditions {
  padding: 0;
}

#conditions-embarquement .exafly-conditions__content {
  margin: 0 10px;
}

#conditions-embarquement .exafly-conditions__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
}

#conditions .subtitle h3.elementor-heading-title {
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  color: var(--color-text);
  padding-bottom: 15px;
  font-family: "DM Sans", sans-serif !important;
}

#conditions .subtitle {
  border-bottom: 1px solid;
}

#conditions li {
  display: flex;
  align-items: center; /* centre verticalement icône + texte */
  gap: 12px;          /* espace entre l'icône et le texte */
  padding-block: 15px;
  margin-right: 15px;
}

#conditions .elementor-icon-list-text {
  font-size: 16px;
  font-weight: 300;
  line-height: 21px;
  flex: 1 1 auto;
}

#conditions .elementor-icon-list-icon {
  display: grid;      /* permet place-items */
  place-items: center;/* centre l'icône dans son carré */
  flex: 0 0 32px;
}

.exafly-conditions__block {
  border: 0;
}

.exafly-conditions__icon {
  position: relative;
  top: -10px;
}

.exafly-actions {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  margin: 0;
  background: var(--color-background);
  padding-bottom: 80px !important;
}

#conditions .exafly-actions {
  padding: 0;
}

#conditions .elementor-heading-title,
#info .elementor-heading-title,
#factu .elementor-heading-title {
  font-weight: 300;
  text-align: center;
  font-size: 28px;
}

#info .exafly-subtitle {
  font-size: 20px;
}

#conditions {
  margin: 20px;
  width: auto;
}

#conditions .exafly-actions {
  background: var(--color-white);
}

.exafly-btn--primary {
  min-width: 160px;
  font-size: 16px;
  font-weight: 300;
  display: inline-flex;
  justify-content: space-between; /* Place les éléments aux extrémités */
  align-items: center;
}

.exafly-btn--primary .text {
  flex-grow: 1;
  text-align: center;
}

.exafly-btn__arrow {
  padding-top: 1px;
}

.exafly-btn--primary .feather-arrow-right {
  transform: scale(1.6, 0.9);
}

.exafly-btn--primary:hover {
  color: var(--color-white) !important;
  background-color: var(--color-orange);
}

.exafly-btn--ghost {
  border: 0.5px solid var(--color-primary);
  font-size: 16px;
  font-weight: 300;
  min-width: 116px;
  background-color: transparent;
  text-decoration: none!important;
}

.exafly-btn--ghost:hover {
  color: var(--color-white) !important;
  background-color: var(--color-primary);
}

/* ===== Étape 3 – Infos (icône + texte) ===== */
#factu {
  margin: 20px;
  width: auto;
}

#factu .exafly-infos__row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

#factu .exafly-infos__row + .exafly-infos__row {
  margin-top: 0.75rem;
}

#factu .exafly-infos__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  line-height: 0;
}

#factu .exafly-infos__text {
  margin: 0;
}

.icone-condition .elementor-widget-container .elementor-image-box-wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
}

@media (width <= 768px) {
  .icone-condition .elementor-widget-container .elementor-image-box-wrapper {
    display: flex;
    align-items: center;
    gap: 25px;
  }
}

/** CHECKOUT THX **/
#checkout-thx {
  padding: 20px !important;
  text-align: center;
}

#checkout-thx h2 {
  font-size: 28px;
  font-weight: 300;
  line-height: 34px;
}

#checkout-thx a {
  color: var(--color-text);
  text-decoration: underline;
}

#checkout-thx a:hover {
  color: var(--color-orange);
}

#checkout-thx .elementor-button {
  background-color: var(--color-primary);
  border-radius: 20px;
  color: var(--color-white);
  max-width: 244px;
  line-height: 18px;
  text-decoration: none;
  font-weight: 300;
}

#checkout-thx .elementor-button:hover,
#checkout-thx .elementor-button a:hover {
  background-color: var(--color-orange);
  color: var(--color-white) !important;
}

/*** ETAPE 4 - PAIEMENT ***/
#recap-cmd h1 {
  font-size: 28px;
  text-align: center;
  font-weight: 300;
}

#recap-cmd h2,
#recap-cmd .exafly-h3 {
  font-size: 16px;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  padding: 20px;
  color: var(--color-orange);
}

#recap-cmd .exafly-h3 {
  padding: 0;
}

.a3ma-exafly-step--summary .exafly-card--summary {
  padding-top: 0;
}

#recap-cmd .a3ma-exafly-step--summary .exafly-orderline__value {
  font-weight: 300;
}

#recap-cmd .a3ma-exafly-step--summary .exafly-orderline--total .exafly-orderline__label {
  font-weight: 600;
}

#recap-cmd .a3ma-exafly-step--summary .exafly-orderline--total .exafly-orderline__value {
  font-weight: 600;
}

#recap-cmd address {
  font-style: normal;
  margin-bottom: 20px;
}

.a3ma-exafly-step--summary .exafly-passenger {
  border: 0;
}

.exafly-form .wc_payment_methods,
.exafly-form .input-radio {
  padding: 0;
  margin: 0;
}

.exafly-form .wc_payment_method {
  list-style: none;
}

.a3ma-exafly-step .exafly-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.a3ma-exafly-step input[type="checkbox"],
.a3ma-exafly-step input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-text);
  border-radius: none;
  background: var(--color-white);
  display: inline-block;
  flex: 0 0 auto;
  margin: 0 10px 0 2px;
  position: relative;
  cursor: pointer;
  vertical-align: middle;
}

.a3ma-exafly-step input[type="radio"] {
  border-radius: 50%;
}

.a3ma-exafly-step input[type="checkbox"]:checked,
.a3ma-exafly-step input[type="radio"]:checked {
  border-color: var(--agence3ma-color-primary);
  background: var(--agence3ma-color-primary);
}

.a3ma-exafly-step input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border-right: 2px solid var(--agence3ma-color-white);
  border-bottom: 2px solid var(--agence3ma-color-white);
  transform: rotate(45deg);
}

.a3ma-exafly-step input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--agence3ma-color-white);
  transform: translate(-50%, -50%);
  border: 0;
}

.a3ma-exafly-step input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--agence3ma-color-primary);
  outline-offset: 2px;
}

.a3ma-exafly-step--summary .exafly-actions {
  background: transparent;
  margin-top: 60px;
}

.exafly-deflist {
  list-style: none;
  padding: 0;
}

.exafly-passenger__name,
.exafly-passenger__phone,
.exafly-passenger__mail {
  margin: 0;
}

.exafly-passenger__header {
  margin-bottom: 15px;
}

.exafly-payment-methods .exafly-pm {
  display: block;
  margin-top: 20px;
}

.exafly-payment-methods .exafly-pm__title {
  font-weight: bold;
}

.exafly-payment-methods .exafly-pm__desc {
  display: block;
  padding-left: 31px;
}

.exafly-form .rgpd {
  padding: 10px 0;
}

.exafly-form a {
  text-decoration: underline;
}


/* Page "Comment se passe un vol ?" */
.fly-step-container {
  padding: 0 0.938rem !important;
}

@media (width >= 768px) {
  .fly-step-container {
    padding: 0 !important;
  }
}

.step-title {
  font-weight: 800;
  text-transform: uppercase;
}

.step-list {
  margin: 0;
  list-style: square;
  padding-inline-start: 18px;
}

@media (width >= 768px) {
  .step-list {
    padding-inline-start: 21px;
  }
}

.speech-bubble {
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.speech-bubble-right {
  mask-image: url('/wp-content/uploads/2025/09/bulle_reverse.svg');
}

.speech-bubble-left {
  mask-image: url('/wp-content/uploads/2025/09/bulle.svg');
}

#speech-bubble-fly-duration {
  padding: 1rem 1rem 2.3rem 1rem !important;
}

@media (width >= 768px) {
  #speech-bubble-fly-duration {
    padding: 1.25rem 2rem 3.3rem 2rem !important;
  }
}

.duration-indicator p {
  margin: 0 !important;
}


#speech-bubble-no-delay {
  padding: 0.7rem 0.5rem 1.3rem 0.5rem !important;
}

@media (width >= 768px) {
  #speech-bubble-no-delay {
    padding: 1.1rem 2rem 2.2rem 2rem !important;
  }
}

.animated-arrow img {
  animation-delay: 1s;
  opacity: 0;
}

@keyframes arrow-to-right {
  0% { clip-path: polygon(100% 0, 100% 0, 100% 50%, 100% 0, 100% 0, 100% 0); }
  10% { clip-path: polygon(50% 0, 100% 0, 100% 50%, 50% 0, 50% 0, 50% 0); }
  20% { clip-path: polygon(10% 0, 100% 0, 100% 50%, 10% 0, 10% 0, 10% 0); }
  25% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 0, 0 0, 0 0); }
  30% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 10%, 0 10%, 0 10%); }
  35% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 20%, 0 20%, 0 20%); }
  38% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 25%, 0 25%, 0 25%); }
  40% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 30%, 0 30%, 0 30%); }
  45% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 40%, 0 40%, 0 40%); }
  50% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%, 0 50%, 0 50%); }
  55% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 60%, 0 60%, 0 50%); }
  60% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 70%, 0 70%, 0 50%); }
  65% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 85%, 0 85%, 0 50%); }
  70% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 92%, 0 92%, 0 50%); }
  75% { clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%, 0 100%, 0 50%); }
  85% { clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 100%, 0% 100%, 0 50%); }
  90% { clip-path: polygon(0 0, 100% 0, 100% 50%, 75% 100%, 0% 100%, 0 50%); }
  95% { clip-path: polygon(0 0, 100% 0, 100% 50%, 92% 100%, 0% 100%, 0 50%); }
  100% { clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 0 50%); }
}

@keyframes arrow-to-left {
  0% { clip-path: polygon(0% 0, 0% 0, 0% 50%, 0% 0, 0% 0, 0% 0); }
  10% { clip-path: polygon(50% 0, 0% 0, 0% 50%, 50% 0, 50% 0, 50% 0); }
  20% { clip-path: polygon(90% 0, 0% 0, 0% 50%, 90% 0, 90% 0, 90% 0); }
  25% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 0, 100% 0, 100% 0); }
  30% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 10%, 100% 10%, 100% 10%); }
  35% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 20%, 100% 20%, 100% 20%); }
  38% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 25%, 100% 25%, 100% 25%); }
  40% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 30%, 100% 30%, 100% 30%); }
  45% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 40%, 100% 40%, 100% 40%); }
  50% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 50%, 100% 50%, 100% 50%); }
  55% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 60%, 100% 60%, 100% 50%); }
  60% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 70%, 100% 70%, 100% 50%); }
  65% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 85%, 100% 85%, 100% 50%); }
  70% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 92%, 100% 92%, 100% 50%); }
  75% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 100% 100%, 100% 100%, 100% 50%); }
  85% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 50% 100%, 100% 100%, 100% 50%); }
  90% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 25% 100%, 100% 100%, 100% 50%); }
  95% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 8% 100%, 100% 100%, 100% 50%); }
  100% { clip-path: polygon(100% 0, 0% 0, 0% 50%, 0% 100%, 100% 100%, 100% 50%); }
}

.animated-arrow-to-right img {
  animation: arrow-to-right 2s ease-out forwards;
  clip-path: polygon(
    100% 0,
    100% 0,
    100% 50%,
    100% 0,
    100% 0,
    100% 0
  );
}

.animated-arrow-to-left img {
  animation: arrow-to-left 1.5s ease-out forwards;
  clip-path: polygon(
    0% 0,
    0% 0,
    0% 50%,
    0% 0,
    0% 0,
    0% 0
  );
}

/* Fin page "Comment se passe un vol ?" */

#speech-bubble-prepare-flight {
 	padding: 0 0 1.35rem 0 !important;
}

@media (width >= 768px) {
  #speech-bubble-prepare-flight {
     padding: 0rem 0rem 1.9rem 0rem !important;
  }
}

.prepare-flight-bloc span.prepare-flight-upper {
 	text-transform: uppercase;
 	font-weight: 900;
}

.animated-figure {
  opacity: 0;
}

.animated-image-pop-in,
.animated-icon-pop-in {
  animation-delay: 0.5s;
}

@keyframes pop-in-icon {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0;
  }
  50% {opacity: 1;}
  60% {transform: scale(1.2) rotate(-10deg);}
  100% {transform: scale(1) rotate(0deg);}
}

@keyframes pop-in-img {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  50% {opacity: 1;}
  60% {transform: scale(1.1);}
  100% {transform: scale(1);}
}

.animated-image-pop-in {
  animation: pop-in-img 1s forwards;
}

.animated-icon-pop-in {
  animation: pop-in-icon 1s forwards;
}

/* Tunnel réservation de vol */
/* === Global === */
.rt-container {
  padding: 0 1.25rem !important;
}

.exafly-card--summary .rt-container {
  padding: 1.25rem 0 5rem 0 !important;
}

.rt-filled-container {
  padding-top: 1.75rem !important;
  padding-bottom: 1.75rem !important;
  background-color: var(--color-background);
}

.rt-h1 h1 {
  color: var(--color-orange) !important;
  font-family: Didonesque, serif !important;
  font-size: 1.75rem;
  font-weight: 500 !important;
}

@media (width >= 768px) {
  .rt-h1 h1 {
    font-size: 2.5rem;
  }
}

.rt-title, .rt-title h2 {
  color: var(--color-orange) !important;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  margin: 0;
  font-size: 1rem;
}

.exafly-depart__title.rt-title h2 {
  font-weight: 300 !important;
}

.exafly-depart__title.rt-title h2 span.exafly-launchpoint {
  font-weight: 900 !important;
}

@media (width >= 768px) {
  .rt-title, .rt-title h2 {
    font-size: 1.4rem;
  }
}

.rt-title.rt-title-requirements {
  padding-bottom: 0.75rem !important;
  border-bottom: solid 1px var(--color-text);
}

.rt-title.rt-title-requirements h2 {
  color: var(--color-text) !important;
}

.rt-container p {
  font-family: "DM Sans", sans-serif;
  color: var(--color-text);
  margin: 0;
}

.rt-container a {
  text-decoration: none;
  transition-duration: 0.2s;
}

/* === Étape 2 : Informations passagers === */
.exafly-passenger {
  margin: 0 !important;
}

.exafly-passenger h2, .exafly-passenger p {
  text-align: left;
}

.exafly-passenger h2::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1.125rem;
  background-color: var(--color-orange);
  -webkit-mask-image: url('../../uploads/2025/10/user.svg');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url('../../uploads/2025/10/user.svg');
  mask-repeat: no-repeat;
  mask-size: contain;
  margin-right: 0.5rem;
  vertical-align: top;
}

.exafly-passenger h2 {
  margin-bottom: 1rem;
}

.exafly-passenger h2 + p {
  margin-bottom: 1.25rem;
}

.rt-field {
  font-family: "DM Sans", sans-serif !important;
  width: 100%;
  height: 2.875rem;
  position: relative;
}

.rt-field:not(:last-child) {
  margin-bottom: 0.5rem;
}

.rt-field input {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0.375rem;
  padding: 1.2rem 0.5rem 0.5rem 0.5rem;
  font-size: 1rem;
  font-family: "DM Sans", sans-serif !important;
  border: none;
}

.rt-field input:focus-visible,
.rt-field input:focus-within,
.rt-field input:focus {
  outline: solid 1px var(--color-primary);
}

.rt-field label {
  position: absolute;
  top: 0.8rem;
  left: 0.5rem;
  transition: 0.2s;
  color: var(--color-primary);
  opacity: 0.8;
}

.rt-field:has(input:focus) label,
.rt-field label.has-value {
  top: 0.25rem;
  font-size: 0.688rem;
  color: var(--color-orange);
  opacity: 1;
}

.rt-field:has(input:required) label::after {
  content: "\002A";
}

.rt-field-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
}

.exafly-passenger.rt-container.rt-filled-container {
  padding-bottom: 0 !important;
}

.rt-actions-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.rt-actions-pb {
  padding-bottom: 6rem !important;
}

.rt-actions-container > button {
  margin-left: auto;
}

.rt-btn:not(.elementor-widget-button),
.rt-btn.elementor-widget-button a,
.btn.elementor-widget-button a  {
  border: solid 1px;
  border-color: transparent;
  background-color: transparent;
  border-radius: 1.25rem;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  font-weight: 300;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: 0.3s;
  line-height: 1.375rem;
}

.rt-btn-filled:not(.elementor-widget-button),
.rt-btn-filled.elementor-widget-button a,
.btn-filled.elementor-widget-button a {
  background-color: var(--color-primary);
  color: var(--color-white) !important;
}

.rt-btn-filled:hover:not(.elementor-widget-button),
.rt-btn-filled.elementor-widget-button a:hover,
.btn-filled.elementor-widget-button a:hover {
  background-color: var(--color-orange);
}

.rt-btn-filled-orange:not(.elementor-widget-button),
.rt-btn-filled-orange.elementor-widget-button a,
.btn-filled-orange.elementor-widget-button a {
  background-color: var(--color-orange);
  color: var(--color-white) !important;
}

.rt-btn-filled-orange:hover:not(.elementor-widget-button),
.rt-btn-filled-orange.elementor-widget-button a:hover,
.btn-filled-orange.elementor-widget-button a:hover {
  background-color: var(--color-primary);
}

.rt-btn-outlined:not(.elementor-widget-button),
.rt-btn-outlined.elementor-widget-button a,
.btn-outlined.elementor-widget-button a {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
}

.rt-btn-outlined:hover:not(.elementor-widget-button),
.rt-btn-outlined.elementor-widget-button a:hover,
.btn-outlined.elementor-widget-button a:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white) !important;
}

.rt-btn-next:not(.elementor-widget-button)::after,
.rt-btn-next.elementor-widget-button a::after,
.btn-next.elementor-widget-button a::after {
  display: inline-block;
  background-image: url('../../uploads/2025/10/fleche_bouton.svg');
  background-size: contain;
  background-repeat: no-repeat;
  height: 0.625rem;
  width: 0.938rem;
  content: "";
  margin-left: 1rem;
}

/* === Étape 3 : Conditions d'embarquement === */
.rt-list-icon-item .elementor-icon svg {
  margin: 0 auto;
  width: 2rem !important;
}

.rt-requirements-infos-declaration {
  font-size: 0.875rem;
}

.rt-requirements-infos-important p, .rt-requirements-infos-important a {
  color: var(--color-important) !important;
  text-align: center;
}

.rt-checkbox {
  font-family: "DM Sans", sans-serif !important;
  display: flex;
  align-items: flex-start;
}

.rt-checkbox input[type="checkbox"], .rt-checkbox span {
  cursor: pointer;
}

.rt-checkbox small {
  color: var(--color-important);
}

.rt-checkbox input[type="checkbox"] {
  appearance: none;
  height: 1.25rem;
  width: 1.25rem;
  min-width: 1.25rem;
  margin: 0 0.375rem 0 0;
  border: 1px solid var(--color-text);
  transition-duration: 0.3s;
  display: inline-block;
  flex: 0 0 auto;
  border-radius: 0.25rem;
  position: relative;
}

.rt-checkbox input[type="checkbox"]:checked {
  border-color: var(--color-orange);
  background-color: var(--color-orange);
}

.rt-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  transform: rotate(45deg);
}

.rt-checkbox.rt-requirements-checkbox {
  gap: 0.5rem;
  font-weight: 700;
}

/* === Étape 4 : Calendrier === */
.rt-calendar-container, .rt-departure, .rt-days-global-container {
  font-family: "DM Sans", serif !important;
}

.rt-calendar-container, .rt-departure {
  margin-bottom: 1rem;
}

.rt-calendar {
  background-color: var(--color-background);
  padding: 1.75rem 1rem;
  margin-bottom: 1rem;
}

.rt-calendar-header {
  display: flex;
  justify-content: space-between;
}

.rt-calendar-header button {
  background-color: transparent;
  height: 1.5rem;
  width: 1.5rem;
  border: none;
  position: relative;
  transition: 0.2s;
  border-radius: 0.25rem;
}

.rt-calendar-header button:hover {
  background-color: var(--color-orange);
  cursor: pointer;
}

.rt-calendar-header button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.rt-calendar-header button::after {
  position: absolute;
  content: "";
  top: 0.45rem;
  width: 0.5rem;
  height: 0.5rem;
  border: solid var(--color-orange);
  transform: rotate(45deg);
  transition: 0.2s;
}

.rt-calendar-header button:hover::after {
  border: solid var(--color-white);
}

.rt-calendar-header button.left::after {
  left: 0.6rem;
  border-width: 0 0 2px 2px;
}

.rt-calendar-header button.right::after {
  right: 0.6rem;
  border-width: 2px 2px 0 0;
}

.rt-calendar-header span {
  text-transform: uppercase;
  font-weight: 600;
}

.rt-calendar-grid-days, .rt-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.125rem;
}

.rt-calendar-grid-days {
  grid-template-rows: 2.5rem;
}

.rt-calendar-grid-days span {
  font-size: 0.875rem;
  text-align: center;
  font-weight: 600;
  align-self: center;
}

.rt-calendar-grid {
  grid-auto-rows: 2.5rem;
}

.rt-calendar-grid .cell {
  font-family: "DM Sans", sans-serif;
  color: var(--color-white);
  font-weight: 700;
  border: 1px var(--color-primary) solid;
  border-radius: 0.25rem;
  background-color: transparent;
  transition: 0.2s;
}

.rt-calendar-grid .cell:not(:disabled, .selected, .full, .exafly-cal__cell--disabled) {
  background-color: var(--color-available);
}

.rt-calendar-grid .cell:hover:not(:disabled, .full, .exafly-cal__cell--disabled) {
  background-color: var(--color-text);
  cursor: pointer;
}

.rt-calendar-grid .cell.selected {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.rt-calendar-grid .cell.selected:hover {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-white);
}

.rt-calendar-grid .cell:disabled:not(.full),
.rt-calendar-grid .cell.exafly-cal__cell--disabled {
  opacity: 0.25;
  color: var(--color-text);
}

.rt-calendar-grid .cell.full:disabled {
  background-color: var(--color-important);
}

.rt-calendar-legend {
  display: flex;
  gap: 1.5rem;
}

.rt-calendar-legend-item {
  display: inline-block;
  font-size: 0.875rem;
}

.rt-calendar-legend-item::before {
  width: 1rem;
  height: 1rem;
  content: "";
  display: inline-block;
  margin-right: 0.313rem;
  border: 1px var(--color-primary) solid;
  background-color: var(--color-available);
  border-radius: 0.25rem;
  position: relative;
  top: 0.188rem;
}

.rt-calendar-legend-item.full::before {
  background-color: var(--color-important);
  border-color: var(--color-primary);
}

.rt-departure {
  display: flex;
  gap: 0.75rem;
  background-color: var(--color-orange);
  padding: 1rem 1.5rem;
  border-radius: 1.5rem;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;
}

.rt-departure img {
  width: 2rem;
  height: 100% !important;
}

.rt-departure p {
  margin: 0 !important;
  line-height: 1;
  color: var(--color-white);
}

.rt-days-global-container {
  background-color: var(--color-background);
  color: var(--color-text);
  padding: 1.75rem 1.25rem;
  border-radius: 1.5rem;
  font-family: "DM Sans", serif !important;
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.rt-days-global-container p strong {
  font-weight: 600;
}

.rt-days-container {
  font-size: 0.875rem;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1rem;
}

/* === Étape 5 : Récapitulatif === */
.rt-summary {
  background-color: var(--color-background);
  padding: 1.75rem 1.25rem !important;
}

.rt-summary h2,
.rt-summary p {
  font-size: 1rem;
  color: var(--color-text);
}

.rt-summary h2 {
  font-weight: 700;
}

.rt-summary .rt-summary-item:not(:last-of-type) {
  margin-bottom: 2rem;
}

.rt-summary .rt-summary-item p span:last-of-type {
  text-align: right;
}

.rt-summary .rt-summary-item h2 {
  font-family: "DM Sans", sans-serif !important;
  margin:  0 0 1rem 0;
}

.rt-summary p {
  display: flex;
  justify-content: space-between;
}

.rt-summary .rt-requirements-infos-important p {
  display: inline;
}
/* Fin Tunnel réservation de vol */

/* === Modal tel === */
.modal-contact-tel .dialog-close-button {
  bottom: 2rem;
  top: unset !important;
}

.info-button-modal .elementor-icon-wrapper,
.tel-button-modal .elementor-icon-wrapper {
  line-height: 1;
}

.info-button-modal .elementor-location-popup:hover,
.tel-button-modal .elementor-location-popup:hover {
  cursor: pointer;
}

.info-button-modal .dialog-widget-content {
  transform: translate(-3.5rem, -1.3rem);
}

@media (width >= 1024px) {
  .info-button-modal .dialog-widget-content {
    transform: translate(-3.5rem, 8.5rem);
  }
}

.info-button-modal:has(+ .modal-info:not([style*="display: none"])) {
  display: none;
}

/* Animation du bouton tel */
.tel-button-modal .dialog-message {
  animation: float-y 3s linear infinite;
}

.tel-button-modal .dialog-message .elementor-location-popup {
  animation: vibration 3s linear infinite;
}

.tel-button-modal:has(+ .modal-contact-tel:not([style*="display: none"])) .dialog-message,
.tel-button-modal:has(+ .modal-contact-tel:not([style*="display: none"])) .dialog-message .elementor-location-popup {
  animation: none;
}

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  25% { transform: translateY(-2px); }
  75% { transform: translateY(2px); }
}

@keyframes vibration {
  5%, 15%, 25%, 35% { rotate: -5deg; }
  10%, 20%, 30% { rotate: 5deg; }
  0%, 40%, 100% { rotate: 0deg; }
}

/* Flèche vers le bas animée */
#scroll-down-arrow svg {
  width: 200px;
}

#scroll-down-arrow:hover {
  cursor: pointer;
}

#scroll-down-arrow svg {
  transform: translateY(0);
  animation: moving-arrow 3s ease-in-out infinite;
  animation-delay: 1s;
}

@keyframes moving-arrow {
  30%, 50%, 70% {
    transform: translateY(0);
  }
  40%, 60% {
    transform: translateY(0.25rem);
  }
}

.infos-flights-schedule table {
  max-width: 100%;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}

.infos-flights-schedule table tr:first-of-type {
  font-weight: bold;
}

.infos-flights-schedule table td {
  border: 1px solid var(--color-primary);
  padding: 0 0.4rem;
  width: 50%;
}

@media (min-width: 768px) {
  .infos-flights-schedule table tr td:first-of-type {
    width: 40%;
  }
  
  .infos-flights-schedule table tr td:last-of-type {
    width: 60%;
  }
}