.elementor-25889 .elementor-element.elementor-element-15a90aa{--display:flex;--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;}.elementor-25889 .elementor-element.elementor-element-8b12003{--display:flex;--min-height:645px;--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:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.37;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:17px;--padding-bottom:17px;--padding-left:17px;--padding-right:17px;}.elementor-25889 .elementor-element.elementor-element-8b12003:not(.elementor-motion-effects-element-type-background), .elementor-25889 .elementor-element.elementor-element-8b12003 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#A4693E;background-image:url("https://images.pexels.com/photos/7001092/pexels-photo-7001092.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-25889 .elementor-element.elementor-element-8b12003::before, .elementor-25889 .elementor-element.elementor-element-8b12003 > .elementor-background-video-container::before, .elementor-25889 .elementor-element.elementor-element-8b12003 > .e-con-inner > .elementor-background-video-container::before, .elementor-25889 .elementor-element.elementor-element-8b12003 > .elementor-background-slideshow::before, .elementor-25889 .elementor-element.elementor-element-8b12003 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25889 .elementor-element.elementor-element-8b12003 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-25889 .elementor-element.elementor-element-b872c04{--display:flex;}.elementor-25889 .elementor-element.elementor-element-635fd2a{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-25889 .elementor-element.elementor-element-407fd33 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-407fd33{text-align:center;font-family:"Poppins", Sans-serif;font-size:34px;font-weight:500;font-style:italic;text-shadow:0px 0px 9px rgba(0,0,0,0.3);color:#000000;}.elementor-25889 .elementor-element.elementor-element-27b64e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-eafdd02{--display:flex;--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:-30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-25889 .elementor-element.elementor-element-f47e1c4 > .elementor-widget-container{margin:-2px 0px 0px 0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-25889 .elementor-element.elementor-element-c85721e{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-25889 .elementor-element.elementor-element-c85721e .elementor-divider-separator{width:100%;}.elementor-25889 .elementor-element.elementor-element-c85721e .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-25889 .elementor-element.elementor-element-d24a1ab{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-25889 .elementor-element.elementor-element-1ed26b7{--display:flex;--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;}.elementor-25889 .elementor-element.elementor-element-5401ea9 > .elementor-widget-container{margin:18px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-5401ea9 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-25889 .elementor-element.elementor-element-938db2b{--display:flex;--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;}.elementor-25889 .elementor-element.elementor-element-38354ad{--display:flex;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-25889 .elementor-element.elementor-element-58df3ee{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-25889 .elementor-element.elementor-element-58df3ee .elementor-divider-separator{width:100%;}.elementor-25889 .elementor-element.elementor-element-58df3ee .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-25889 .elementor-element.elementor-element-3a45e6c .elementor-button{background-color:#C59F63;}.elementor-25889 .elementor-element.elementor-element-9ce6491{--display:flex;--overlay-opacity:0.1;--margin-top:11px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:41px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-25889 .elementor-element.elementor-element-9ce6491:not(.elementor-motion-effects-element-type-background), .elementor-25889 .elementor-element.elementor-element-9ce6491 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}.elementor-25889 .elementor-element.elementor-element-9ce6491::before, .elementor-25889 .elementor-element.elementor-element-9ce6491 > .elementor-background-video-container::before, .elementor-25889 .elementor-element.elementor-element-9ce6491 > .e-con-inner > .elementor-background-video-container::before, .elementor-25889 .elementor-element.elementor-element-9ce6491 > .elementor-background-slideshow::before, .elementor-25889 .elementor-element.elementor-element-9ce6491 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25889 .elementor-element.elementor-element-9ce6491 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#02010100;--background-overlay:'';}.elementor-25889 .elementor-element.elementor-element-b031939{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-25889 .elementor-element.elementor-element-b031939 .elementor-divider-separator{width:100%;}.elementor-25889 .elementor-element.elementor-element-b031939 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-25889 .elementor-element.elementor-element-3f3d153 > .elementor-widget-container{margin:-40px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-1f9062e .elementor-button{background-color:#C59F63;}.elementor-25889 .elementor-element.elementor-element-e04a848{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-25889 .elementor-element.elementor-element-e04a848 .elementor-divider-separator{width:100%;}.elementor-25889 .elementor-element.elementor-element-e04a848 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;color:var( --e-global-color-primary );}.elementor-25889 .elementor-element.elementor-element-e297ee7 > .elementor-widget-container{margin:37px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-e297ee7{text-align:center;}.elementor-25889 .elementor-element.elementor-element-e297ee7 .elementor-heading-title{font-family:"Alkatra", Sans-serif;font-size:32px;color:#15202E;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );}.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;}.elementor-25889 .elementor-element.elementor-element-aa1dac7 .elementor-swiper-button{font-size:20px;}.elementor-25889 .elementor-element.elementor-element-76e9e97{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-25889 .elementor-element.elementor-element-76e9e97 .elementor-divider-separator{width:100%;}.elementor-25889 .elementor-element.elementor-element-76e9e97 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-25889 .elementor-element.elementor-element-f9cc036{--display:flex;}.elementor-25889 .elementor-element.elementor-element-df5fb11{--display:flex;--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;}.elementor-25889 .elementor-element.elementor-element-6828849{text-align:center;}.elementor-25889 .elementor-element.elementor-element-6828849 .elementor-heading-title{color:#15202E;}.elementor-25889 .elementor-element.elementor-element-77a4258{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-25889 .elementor-element.elementor-element-d7bf759 .elementor-icon-wrapper{text-align:center;}.elementor-25889 .elementor-element.elementor-element-a1ab740 .elementor-icon-wrapper{text-align:center;}.elementor-25889 .elementor-element.elementor-element-cd4278b{--display:flex;}.elementor-widget-call-to-action .elementor-cta__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;}.elementor-widget-call-to-action .elementor-cta__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );}.elementor-widget-call-to-action .elementor-ribbon-inner{background-color:var( --e-global-color-accent );}.elementor-25889 .elementor-element.elementor-element-622dcbb .elementor-cta .elementor-cta__bg, .elementor-25889 .elementor-element.elementor-element-622dcbb .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-25889 .elementor-element.elementor-element-622dcbb .elementor-cta__content{text-align:center;}.elementor-25889 .elementor-element.elementor-element-622dcbb .elementor-cta__button{color:#FFFFFF;background-color:#030F5F;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25889 .elementor-element.elementor-element-407fd33{font-size:29px;}.elementor-25889 .elementor-element.elementor-element-27b64e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:48px 48px 48px 48px;}.elementor-25889 .elementor-element.elementor-element-5401ea9 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{font-size:var( --e-global-typography-text-font-size );}.elementor-25889 .elementor-element.elementor-element-77a4258{--grid-auto-flow:row;}.elementor-widget-call-to-action .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );}}@media(min-width:768px){.elementor-25889 .elementor-element.elementor-element-15a90aa{--content-width:1600px;}.elementor-25889 .elementor-element.elementor-element-1ed26b7{--width:50%;}.elementor-25889 .elementor-element.elementor-element-938db2b{--width:50%;}}@media(max-width:767px){.elementor-25889 .elementor-element.elementor-element-15a90aa{--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-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25889 .elementor-element.elementor-element-407fd33 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-25889 .elementor-element.elementor-element-407fd33{font-size:22px;}.elementor-25889 .elementor-element.elementor-element-27b64e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:24px 24px 24px 24px;}.elementor-25889 .elementor-element.elementor-element-e297ee7 .elementor-heading-title{font-size:27px;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{font-size:var( --e-global-typography-text-font-size );}.elementor-25889 .elementor-element.elementor-element-77a4258{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-widget-call-to-action .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for html, class: .elementor-element-f47e1c4 *//* ==========================================================================
   TABLE DES MATIÈRES
   ==========================================================================
   1. FONDATIONS & VARIABLES : Polices, couleurs, espacements...
   2. STYLES GLOBAUX : Body, titres, liens, conteneurs...
   3. COMPOSANTS : Styles spécifiques pour chaque section.
      - 3.1. Page Contact
      - 3.2. Section "Étapes de réservation"
   4. RESPONSIVE DESIGN : Media queries pour les adaptations.
   ========================================================================== */


/* --- 1. FONDATIONS & VARIABLES --- */
/* -------------------------------------------------------------------------- */

/* Importation de la police depuis Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

:root {
  /* Palette de couleurs */
  --color-primary: #3498db;   /* Bleu principal (boutons, icônes, liens) */
  --color-primary-dark: #2980b9; /* Bleu plus foncé pour les survols */
  --color-secondary: #2c3e50; /* Bleu/gris très foncé pour les titres principaux */
  --color-text: #333333;      /* Couleur du texte standard */
  --color-text-light: #7f8c8d; /* Texte plus clair pour les sous-titres/labels */
  --color-background: #f4f7f6; /* Fond général du site (très léger gris-bleu) */
  --color-surface: #ffffff;    /* Fond des "cartes" et conteneurs */
  --color-border: #dddddd;     /* Bordures des champs de formulaire */
  --color-success: #2ecc71;    /* Vert pour les messages de succès (optionnel) */
  --color-error: #e74c3c;      /* Rouge pour les erreurs (optionnel) */

  /* Typographie */
  --font-family-base: 'Poppins', sans-serif;
  --font-size-base: 16px; /* 1rem */
  --line-height-base: 1.6;

  /* Tailles et espacements */
  --border-radius: 8px;
  --spacing-small: 10px;
  --spacing-medium: 20px;
  --spacing-large: 30px;
  --spacing-xlarge: 40px;
  --container-width: 1200px;

  /* Ombres */
  --shadow-light: 0 4px 15px rgba(0, 0, 0, 0.06);
  --shadow-medium: 0 8px 25px rgba(0, 0, 0, 0.1);

  /* Transitions */
  --transition-fast: all 0.2s ease-in-out;
}

/* Reset simple et efficace */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


/* --- 2. STYLES GLOBAUX --- */
/* -------------------------------------------------------------------------- */

html {
  font-size: var(--font-size-base);
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family-base);
  color: var(--color-text);
  background-color: var(--color-background);
  line-height: var(--line-height-base);
}

/* Hiérarchie des titres */
h1, h2, h3 {
  color: var(--color-secondary);
  font-weight: 700;
  line-height: 1.2;
}

h1 { font-size: 2.8rem; margin-bottom: var(--spacing-medium); }
h2 { font-size: 2.2rem; margin-bottom: var(--spacing-medium); }
h3 { font-size: 1.5rem; margin-bottom: var(--spacing-small); }

p { margin-bottom: var(--spacing-medium); }
p:last-child { margin-bottom: 0; }

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: var(--transition-fast);
}
a:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

/* Conteneur principal réutilisable */
.container {
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: var(--spacing-xlarge);
}


/* --- 3. COMPOSANTS --- */
/* -------------------------------------------------------------------------- */

/* 3.1. Page Contact */

.contact-page-container {
  background-color: var(--color-surface);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-medium);
  margin-top: var(--spacing-xlarge);
  margin-bottom: var(--spacing-xlarge);
}

.contact-header {
  text-align: center;
  padding-bottom: var(--spacing-large);
  border-bottom: 1px solid var(--color-border);
}
.contact-header p {
  color: var(--color-text-light);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--spacing-xlarge);
  padding-top: var(--spacing-large);
}

.info-item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-medium);
}
.info-item i.fas {
  color: var(--color-primary);
  font-size: 1.5rem;
  margin-top: 5px;
  width: 30px;
  text-align: center;
}

.form-group {
  margin-bottom: var(--spacing-medium);
}
.form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: var(--spacing-small);
}

.form-input, .form-textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  font-family: var(--font-family-base);
  font-size: 1rem;
  transition: var(--transition-fast);
}

/* Amélioration de l'accessibilité au focus */
.form-input:focus, .form-textarea:focus, .form-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-color: var(--color-primary);
}

.form-button {
  display: inline-block;
  padding: 12px 25px;
  background-color: var(--color-primary);
  color: white;
  border: none;
  border-radius: var(--border-radius);
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-fast);
}
.form-button:hover {
  background-color: var(--color-primary-dark);
  transform: translateY(-2px);
}

.map-section {
  padding-top: var(--spacing-large);
  border-top: 1px solid var(--color-border);
  margin-top: var(--spacing-large);
}
.map-container {
  width: 100%;
  height: 450px;
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow-light);
}
.map-container iframe {
  border: 0;
}


/* 3.2. Section "Étapes de réservation" */

.safari-steps {
  padding-top: var(--spacing-xlarge);
  padding-bottom: var(--spacing-xlarge);
  text-align: center;
}
.safari-steps .subtitle {
  color: var(--color-text-light);
  max-width: 700px;
  margin: 0 auto 50px auto;
}

.steps-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-large);
}

.step-card {
  background-color: var(--color-surface);
  padding: var(--spacing-large);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-light);
  position: relative;
  transition: var(--transition-fast);
  border-top: 4px solid var(--color-primary);
}
.step-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-medium);
}

.step-number {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-primary);
  color: white;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(52, 152, 219, 0.4);
}

.step-icon {
  font-size: 3rem;
  color: var(--color-primary);
  margin-top: var(--spacing-large);
  margin-bottom: var(--spacing-medium);
}


/* --- 4. RESPONSIVE DESIGN --- */
/* -------------------------------------------------------------------------- */

/* Pour les tablettes et écrans intermédiaires */
@media (max-width: 992px) {
  h1 { font-size: 2.4rem; }
  h2 { font-size: 2rem; }

  .contact-grid {
    grid-template-columns: 1fr;
  }
  .steps-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Pour les mobiles */
@media (max-width: 768px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.8rem; }
  
  .container {
    padding: var(--spacing-large);
  }
  
  .steps-container {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */