/*
Theme Name: Gomia 2025
Theme URI: https://gomia-voyage.fr/
Author: Gomia
Description: Thème WordPress léger pour Gomia (2025)
Version: 1.0.2
Text Domain: gomia
*/

/* ========= Base ========= */
:root{
  --bg:#fffcf6;
  --text:#111;
  --text-soft:#4a4a4a;
  --white:#fff;
  --black:#000;
  --gold-1:#ffe010;
  --gold-2:#f8bd3a;
  --accent:#cfa46a;
  --gradient:linear-gradient(90deg,var(--gold-1) 0%,var(--gold-2) 100%);
  --radius-xl:20px;
  --radius-xxl:28px;
  --shadow-1:0 8px 24px rgba(0,0,0,.08);
  --shadow-2:0 14px 40px rgba(0,0,0,.12);
}

html,body{
  background:var(--bg);
  color:var(--text);
  font-family:'Quicksand',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:95%;max-width:1200px;margin:0 auto}

.kicker{
  color:#f8bd3a;
}

/* ========= Header / Nav ========= */
/* Header superposé sur la hero */
.header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:var(--bg);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(0,0,0,.04);
}

/* Variante sticky quand le body a .scrolled (JS à gérer) 
.scrolled .header{
  position:fixed;
  background:rgba(255,252,246,.85);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(0,0,0,.04);
}*/

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:12px;
  padding-bottom:12px;
}

/* --- Logo --- */
.logo{
  display:flex;
  align-items:center;
  gap:12px;
}
.logo-square{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:10px;
  overflow:hidden;
  background:var(--gradient);
  box-shadow:var(--shadow-1);
}
.logo-square .logo-img{
  display:block;
  width:85%;
  height:85%;
  object-fit:contain;
}
.logo-fallback{
  font-family:'Forum',serif;
  font-size:22px;
  color:#000;
}
.logo-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.text-logo{
  font-family:'Forum',serif;
  font-size:20px;
  letter-spacing:.2px;
  white-space:nowrap;
}
.text-logo-soustitre{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:11px;
  opacity:.75;
}

/* --- Menu desktop --- */
.nav-menu{
  display:flex;
  align-items:center;
  gap:20px;
}
.menu-list{
  display:flex;
  gap:20px;
  list-style:none;
  margin:0;
  padding:0;
}
.menu-list a{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  opacity:.85;
}
.menu-list a:hover{
  opacity:1;
}

/* CTA */
.btn-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  color:#fff;
  background:radial-gradient(circle,rgba(64, 53, 8, 1) 0%, rgba(59, 59, 54, 1) 67%);
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  box-shadow:var(--shadow-1);
  border:solid 1px #ffe010;
}
.btn-cta:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
  background:linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.20)),
  linear-gradient(90deg, var(--gold-1) 0%, var(--gold-2) 100%);
}

.cta-article-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
  padding:22px 26px;
  border-radius:var(--radius-xl); /* rectangle arrondi, pas pill */
  color:#fff;
  background:radial-gradient(circle,rgba(64, 53, 8, 1) 0%, rgba(59, 59, 54, 1) 67%);
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  box-shadow:var(--shadow-1);
  border:solid 2px #ffe010;
  max-width:680px;
  margin:0 auto 48px;
 /* text-decoration:none;*/
}

.cta-article-box:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
  background:linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.20)),
             linear-gradient(90deg, var(--gold-1) 0%, var(--gold-2) 100%);
}


/* --- Burger (caché en desktop) --- */
.nav-toggle{
  display:none;
  width:42px;
  height:42px;
  border:0;
  background:#fff;
  border-radius:10px;
  padding:8px;
  box-shadow:var(--shadow-1);
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.nav-toggle-bar{
  display:block;
  width:22px;
  height:2px;
  margin:3px 0;
  background:#111;
  border-radius:2px;
}

/* ========= HERO avec vidéo en background ========= */
.hero{
  position:relative;
  min-height:85vh;
  height:85vh;
  /* plus de flex ici pour ne pas perturber le centrage */
  z-index:1;
  padding-top:0;
  color:#fff;
  overflow:hidden;
}

/* wrapper vidéo */
.hero-bg-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

/* vidéo full cover */
.hero-bg-video video{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* overlay au-dessus de la vidéo */
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.55) 0%,
      rgba(0, 0, 0, 0.35) 40%,
      rgba(0, 0, 0, 0.55) 100%
  );
  pointer-events: none;
}
/* contenu hero */
.hero .wrap{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:2;
  width:100%;
  max-width:1200px;
  padding:0 20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.hero-content{
  max-width:760px;
}

.hero h1{
  font-family:'Forum',serif;
  font-size:clamp(28px,5vw,54px);
  line-height:1.1;
  margin:0 0 18px;
}

.hero p.lead{
  font-size:clamp(16px,2.1vw,19px);
  color:rgba(255,255,255,.9);
  margin:0 0 24px;
}

.hero .kicker{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
  margin-bottom:10px;
}

.container .experience h1{
  font-family:'Forum',serif;
  font-size:clamp(28px,5vw,54px);
  line-height:1.1;
  margin:0 0 18px;
color:#000;
}

/* tags / badges */
.badges{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin:18px 0 0;
}
.badge{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.45);
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  color:#fff;
}

/* colonne droite hero (utilisable plus tard) */
.hero-media{
  min-height:260px;
}

/* ========= Autres sections ========= */
.grid-cards{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
}
.card{
  grid-column:span 6;
  background:#fff;
  border-radius:var(--radius-xl);
  padding:22px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.05);
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}
.card h3{
  font-family:'Forum',serif;
  margin:4px 0 8px;
  font-size:22px;
}
.card p{
  margin:0;
  color:var(--text-soft);
}

.section{
  padding:48px 0;
}
.section .head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:18px;
}
.section h2{
  font-family:'Forum',serif;
  font-size:clamp(22px,3.4vw,36px);
  margin:0;
}
.section .sub{
  color:var(--text-soft);
}

.section-full-bleed{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* ========= Footer ========= */
/* ========= Footer 2.0 ========= */

.footer{
  margin-top:56px;
  padding:40px 0;
  border-top:1px solid rgba(0,0,0,.06);
  background:#fff;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr);
  gap:32px;
  align-items:flex-start;
}

/* Colonne générique */
.footer-col{
  font-size:15px;
}

/* Tagline */
.footer-tagline{
  margin:10px 0 0;
  max-width:320px;
  color:var(--text-soft);
  font-size:15px;
  line-height:1.5;
}

/* Titres de colonnes */
.footer-title{
  margin:0 0 10px;
  font-family:'Forum',serif;
  font-size:18px;
}

/* Navigation footer */
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.footer-links a{
  font-size:15px;
  color:var(--text-soft);
}

.footer-links a:hover{
  color:var(--text);
}

/* Colonne droite */
.footer-right{
  text-align:right;
}

/* --- Footer social icons --- */
.footer-social {
  text-align: right;
}

.footer-social-list {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.footer-social-item {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.06);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  transition: all .25s ease;
  box-shadow: var(--shadow-1);
}

.footer-social-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
  background: var(--accent);
  color: #fff;
}

.footer-social-item svg {
  width: 20px;
  height: 20px;
}


/* Légales */
.footer-legal small{
  display:inline-block;
  margin-bottom:4px;
  color:var(--text-soft);
}

.footer-legal a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Responsive footer */
@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    row-gap:24px;
  }

  .footer-right{
    text-align:left;
  }

  .footer-socials{
    justify-content:flex-start;
  }
}

@media(max-width:600px){
  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-col{
    font-size:14px;
  }

  .footer-tagline{
    max-width:none;
  }
}


/* ========= Responsive ========= */

/* Hero / cards */
@media (max-width:900px){
  .grid-cards .card{
    grid-column:span 12;
  }

  .hero{
    height:100vh;
    min-height:100vh;
    padding:0;
  }

  .hero .wrap{
    /* on annule le centrage absolu pour mobile */
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);

    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
  }

  .hero-content{
    max-width:90%;
  }

  .badges{
    justify-content:center;
  }
}

/* Header / nav : mobile & tablette */
@media (max-width:1024px){
  .nav{
    gap:12px;
  }

  .logo-square{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
  .text-logo{
    font-size:18px;
  }

  /* Burger visible */
  .nav-toggle{
    display:flex;
    z-index:10030;
  }

  .nav-toggle.is-open .nav-toggle-bar:nth-child(1),
  .nav-toggle.is-open .nav-toggle-bar:nth-child(3){
    top:50%;
    transform:translateY(-50%);
  }

  .nav-toggle.is-open .nav-toggle-bar:nth-child(1){
    transform:translateY(-50%) rotate(45deg);
  }

  .nav-toggle.is-open .nav-toggle-bar:nth-child(2){
    opacity:0;
  }

  .nav-toggle.is-open .nav-toggle-bar:nth-child(3){
    transform:translateY(-50%) rotate(-45deg);
  }

  /* Tiroir full-screen mobile */
  .nav-menu{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:100vw;
    height:100vh;
    transform:translateX(100%);
    transition:transform .28s ease;
    background:#fff;
    color:#111;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:16px;
    z-index:10010;
    overflow:hidden;
  }

  .nav-menu.is-open{
    transform:translateX(0);
  }

  .menu-list{
    display:flex;
    flex-direction:column;
    list-style:none;
    margin:0;
    padding:20px;
    align-items:flex-start;
  }
  .menu-list a{
    display:block;
    padding:10px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:17px;
    color:#111;
  }
  .menu-list a:hover{
    color:#000;
  }

  .nav-menu .btn-cta{
    width:80%;
    align-self:center;
    justify-content:center;
    margin-top:6px;
  }
}

/* Très petits écrans */
@media (max-width:600px){
  .text-logo{ font-size:17px; }
  /* .text-logo-soustitre{ display:none; }  // si besoin */
}

/* ========= Section Mission ========= */

.section-mission{
  background:var(--bg);
  padding-top:64px;
  padding-bottom:64px;
}

.section-mission .mission-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(0, 1.6fr);
  gap:32px;
  align-items:flex-start;
}

.section-mission .mission-main h2{
  font-family:'Forum',serif;
  font-size:clamp(22px,3.4vw,34px);
  margin:8px 0 14px;
}

.section-mission .mission-text{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:var(--text-soft);
}

.section-mission .mission-pillars{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.section-mission .mission-pillars-kicker{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:600;
  color:var(--text-soft);
  margin:0;
}

.section-mission .mission-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.section-mission .mission-card{
  background:var(--white);
  border-radius:var(--radius-xl);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.section-mission .mission-card h3{
  font-family:'Forum',serif;
  font-size:18px;
  margin:0 0 6px;
}

.section-mission .mission-card p{
  margin:0;
  font-size:16px;
  line-height:1.5;
  color:var(--text-soft);
}

/* Responsive Mission
   -------------------------------------------------- */

@media (max-width:900px){
  .section-mission{
    padding-top:48px;
    padding-bottom:48px;
  }

  .section-mission .mission-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
}

@media (max-width:600px){
  .section-mission .mission-main h2{
    font-size:22px;
  }

  .section-mission .mission-card{
    padding:16px 16px;
  }
}

/* ========= Section Approche ========= */

.section-approach{
  padding:64px 0;
	background-color:#f5f0e7;
}

.section-approach .approach-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.6fr) minmax(0, 1.4fr);
  gap:40px;
  align-items:center;
}

.section-approach h2{
  font-family:'Forum',serif;
  font-size:clamp(22px,3.4vw,34px);
  margin:8px 0 14px;
}

.section-approach .approach-intro{
  margin:0 0 22px;
  font-size:16px;
  line-height:1.6;
  color:var(--text-soft);
}

.section-approach .approach-steps{
  display:flex;
  flex-direction:column;
  gap:14px;
	padding-top:12px;
}

.section-approach .approach-step{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:12px 0;
  border-top:1px solid rgba(0,0,0,.05);
}

.section-approach .approach-step:last-child{
  border-bottom:1px solid rgba(0,0,0,.05);
}

.section-approach .step-index{
  flex:0 0 34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  background:#fff;
  box-shadow:var(--shadow-1);
}

.section-approach .step-body h3{
  margin:0 0 4px;
  font-family:'Forum',serif;
  font-size:18px;
}

.section-approach .step-body p{
  margin:0;
  font-size:16px;
  line-height:1.5;
  color:var(--text-soft);
}

/* Visuel à droite */

.section-approach .approach-visual{
  display:flex;
  justify-content:flex-end;
}

.section-approach .approach-photo{
  width:100%;
  max-width:420px;
  aspect-ratio:3/4;
  border-radius:var(--radius-xxl);
	border: solid 1.5px #fff;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  /*background-image:url("/assets/img/Cap-vert.webp");*/
  /* adapte le chemin à ta structure finale si besoin */
}

/* Si tu préfères gérer l’image en <img>, garde juste le conteneur avec radius + shadow */
.section-approach .approach-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.section-approach .approach-cta{
  margin-top:16px;
	display:flex;
  justify-content:center;
}


/* Responsive
   -------------------------------------------------- */

@media (max-width:900px){
  .section-approach{
    padding:48px 0;
  }

  .section-approach .approach-layout{
    grid-template-columns:1fr;
    gap:32px;
  }

  .section-approach .approach-visual{
    order:-1; /* l’image passe au-dessus sur mobile */
    justify-content:center;
  }

  .section-approach .approach-photo{
    max-width:360px;
  }
}

@media (max-width:600px){
  .section-approach .approach-photo{
    max-width:100%;
  }

  .section-approach .step-body h3{
    font-size:17px;
  }
}


/* ========= Section Destinations ========= */

.section-destinations{
  padding:64px 0;
}

.section-destinations .head-destinations{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}

.section-destinations .sub{
  max-width:720px;
  color:var(--text-soft);
  font-size:16px;
  margin-top:6px;
}

/* --- Grille --- */
.destinations-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

/* --- Carte Visuelle --- */
.destination-card{
  position:relative;
  display:flex;
  align-items:flex-end;
  height:440px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-image:var(--bg);
  border-right: 1.8px solid #fff;        
  border-bottom: 1.8px solid #fff;
	box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  transition:transform .25s ease, box-shadow .25s ease;
}

.destination-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-2);
}

/* --- Overlay sombre --- */
.destination-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.48) 0%, rgba(0,0,0,.22) 60%, rgba(0,0,0,0) 100%);
  transition:background .25s ease, opacity .25s ease;
}

.destination-card:hover .destination-overlay{
  background:linear-gradient(to top, rgba(0,0,0,.34) 0%, rgba(0,0,0,.12) 60%, rgba(0,0,0,0) 100%);
}

/* --- Info texte --- */
.destination-info{
  position:relative;
  z-index:2;
  padding:18px;
  width:100%;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.4);
}

.destination-info h3{
  font-family:'Forum',serif;
  font-size:22px;
  margin:0 0 4px;
}

.destination-info p{
  margin:0;
  font-size:16px;
  opacity:.9;
}

/* Responsive */
@media (max-width:1024px){
  .destinations-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:700px){
  .section-destinations{
    padding:48px 0;
  }

  .section-destinations .head-destinations{
    flex-direction:column;
    align-items:flex-start;
  }

  .destinations-grid{
    grid-template-columns:1fr;
  }

  .destination-card{
    height:260px;
  }
}


/* ========= Section Expériences (bandes) ========= */

.section-experiences{
  padding:64px 0;
  background-color:var(--bg);
}

.section-experiences .head{
	display:block;
  text-align:left;
  margin-bottom:22px;
}

.section-experiences .head .kicker{
  margin-bottom:4px;
}


/* Grille : 2 bandes par ligne, dernière full width */

.experiences-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:22px;
}

/* Bande expérience */

.experience-band{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:220px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  box-shadow:var(--shadow-1);
	 border-right: 1.8px solid #fff;        
  border-bottom: 1.8px solid #fff; 
  isolation:isolate;
  background:#000;
	box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  transition:transform .2s ease, box-shadow .2s ease;
}

/* dernière en full width */
.experience-band-full{
  grid-column:1 / -1;
}

/* Background image via variable */

.experience-band::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--bg-img);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  transition:transform .28s ease;
  z-index:-2;
}

/* Overlay */

.experience-band::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.32) 40%,
    rgba(0,0,0,.08) 100%
  );
  z-index:-1;
  transition:background .25s ease;
}

/* Contenu texte */

.experience-inner{
  position:relative;
  padding:14px 18px 16px;
  text-shadow:0 2px 6px rgba(0,0,0,.5);
}

.experience-inner h3{
  font-family:'Forum',serif;
  font-size:18px;
  margin:0 0 3px;
}

.experience-inner p{
  margin:0;
  font-size:16px;
  opacity:.9;
}

/* Hover */

.experience-band:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}

.experience-band:hover::before{
  transform:scale(1.06);
}

.experience-band:hover::after{
  background:linear-gradient(
    to right,
    rgba(0,0,0,.45) 0%,
    rgba(0,0,0,.26) 40%,
    rgba(0,0,0,.06) 100%
  );
}

/* ========= Responsive ========= */

@media (max-width:900px){
  .section-experiences{
    padding:48px 0;
  }

  .experiences-grid{
    grid-template-columns:1fr;
  }

  .experience-band{
    min-height:140px;
  }

  .experience-band-full{
    grid-column:auto;
  }
}

@media (max-width:600px){
  .experience-inner{
    padding:12px 14px 14px;
  }

  .experience-inner h3{
    font-size:17px;
  }

  .experience-inner p{
    font-size:12px;
  }
}


/* ========= Journal ========= */

.journal-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  grid-template-rows: auto auto;
  gap: 24px;
  margin-top: 32px;
}

/* Grande carte, occupe 2 rangées */
.journal-large {
  grid-row: span 2;
  height: 480px;
}

/* Petites cartes à droite */
.journal-small {
  height: 220px;
}

/* Cartes (base) */
.journal-card {
  position: relative;
  border-radius: var(--radius-xxl);
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-image: var(--bg-img);
  cursor: pointer;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow-1);
  transition: transform .25s ease, box-shadow .25s ease;
}

/* Overlay */
.journal-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.25) 45%,
    rgba(0, 0, 0, 0.05) 100%
  );
  z-index: 1;
}

/* Contenu */
.journal-card .journal-content {
  position: relative;
  z-index: 2;
  padding: 22px;
  color: #fff;
}

.journal-tag {
  display: inline-block;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  margin-bottom: 10px;
}

/* Hover */
.journal-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-2);
}

/* Responsive */
@media (max-width: 900px) {
  .journal-grid {
    grid-template-columns: 1fr;
  }

  .journal-large {
    height: 360px;
    grid-row: auto;
  }

  .journal-small {
    height: 220px;
  }
}

@media (max-width: 600px) {
  .journal-large {
    height: 300px;
  }
  .journal-small {
    height: 180px;
  }
}


/* ========= CTA Immersive ========= */

.section-cta-immersive{
  position:relative;
  padding:130px 0;
  overflow:hidden;
  border-radius:0;
}

/* Image full-cover */
.section-cta-immersive .cta-bg{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}

.section-cta-immersive .cta-bg-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Overlay sombre */
.section-cta-immersive .cta-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    rgba(0,0,0,0.55),
    rgba(0,0,0,0.55)
  );
}

/* Bloc central semi-opaque */
.section-cta-immersive .cta-panel{
  position:relative;
  z-index:3;
  max-width:620px;
  margin:0 auto;
  text-align:center;
  padding:40px 42px;
  border-radius:var(--radius-xxl);
	border: solid 1.7px #fff;
  background:rgba(255, 252, 251, 0.25); /* semi-opaque, ton principal du site */
  box-shadow:var(--shadow-2);
  backdrop-filter:blur(6px);
}

/* Textes */
.section-cta-immersive .kicker{
  color:var(--gold-2);
  margin-bottom:6px;
}

.section-cta-immersive h2{
  font-family:'Forum', serif;
  font-size:clamp(26px,3.6vw,40px);
  margin:0 0 12px;
  color:#fff;
}

.section-cta-immersive p{
  margin:0 0 22px;
  color:#fff;
  font-size:16px;
}

/* CTA */
.section-cta-immersive .cta-immersive-btn{
  font-size:16px;
  padding:14px 26px;
}

/* Responsive */
@media(max-width:700px){
  .section-cta-immersive{
    padding:100px 0;
  }
  .section-cta-immersive .cta-panel{
    padding:32px 28px;
  }
}


/* ========= Emoji flottant Gomia ========= */

.gomia-floating-emoji{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:300;
  width:52px;
  height:52px;
  border-radius:999px;
  background: radial-gradient(circle,rgba(255, 255, 255, 1) 53%, rgba(235, 203, 0, 1) 100%, rgba(255, 255, 255, 1) 78%);
  box-shadow:var(--shadow-2);
  border:1px solid rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  animation:gomia-breathe 3.5s ease-in-out infinite;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.gomia-floating-emoji-icon{
  font-size:26px;
}

/* Label au survol */
.gomia-floating-label{
  position:absolute;
  right:60px;
  padding:8px 12px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:13px;
  white-space:nowrap;
  box-shadow:var(--shadow-1);
  opacity:0;
  pointer-events:none;
  transform:translateX(8px);
  transition:opacity .2s ease, transform .2s ease;
}

.gomia-floating-emoji:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
  background:var(--bg);
}

.gomia-floating-emoji:hover .gomia-floating-label{
  opacity:1;
  transform:translateX(0);
}

/* Animation "respiration" */
@keyframes gomia-breathe{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-4px);
  }
}

/* Mobile : on garde l’emoji mais on enlève le label pour éviter le bazar */
@media (max-width:600px){
  .gomia-floating-label{
    display:none;
  }

  .gomia-floating-emoji{
    width:46px;
    height:46px;
  }

  .gomia-floating-emoji-icon{
    font-size:24px;
  }
}


/* ========= Page À propos ========= */

.page-about{
  padding-top:80px; /* pour laisser respirer sous le header */
}

/* --- Hero À propos --- */

.section-about-hero{
  padding-top:72px;
  padding-bottom:64px;
  background:#f5f0e7;
}

.section-about-hero .about-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1.3fr);
  gap:40px;
  align-items:flex-start;
}

.section-about-hero h1{
  font-family:'Forum',serif;
  font-size:clamp(26px,3.6vw,40px);
  margin:10px 0 16px;
}

.about-hero-intro{
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:var(--text-soft);
}

.about-hero-meta{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.about-hero-block{
  background:var(--white);
  border-radius:var(--radius-xl);
  padding:16px 18px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.about-hero-block h3{
  margin:0 0 6px;
  font-family:'Forum',serif;
  font-size:17px;
}

.about-hero-block p{
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:var(--text-soft);
}

/* --- Origine & raison d’être --- */

.section-about-origin{
  padding-top:56px;
  padding-bottom:56px;
}

.about-origin-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr);
  gap:32px;
  align-items:flex-start;
}

.about-origin-main p{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.7;
  color:var(--text-soft);
}

.about-origin-side{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.about-pill{
  background:var(--white);
  border-radius:var(--radius-xl);
  padding:16px 18px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.about-pill h3{
  margin:0 0 6px;
  font-family:'Forum',serif;
  font-size:18px;
}

.about-pill p{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:var(--text-soft);
}

/* --- Deux piliers --- */

.section-about-pillars{
  padding-top:56px;
  padding-bottom:56px;
}

.section-about-pillars .grid-cards{
  margin-top:16px;
}

.section-about-pillars .card{
  grid-column:span 6;
}

.about-pillars-bottom{
  margin-top:18px;
  max-width:720px;
  font-size:15px;
  line-height:1.6;
  color:var(--text-soft);
}



/* ========= Responsive Page À propos ========= */

@media (max-width:900px){
  .page-about{
    padding-top:72px;
  }

  .section-about-hero .about-hero-layout{
    grid-template-columns:1fr;
    gap:24px;
  }

  .about-hero-meta{
    flex-direction:row;
    flex-wrap:wrap;
  }

  .about-hero-block{
    flex:1 1 240px;
  }

  .about-origin-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .section-about-hero{
    padding-top:56px;
    padding-bottom:48px;
  }

  .about-hero-intro,
  .about-origin-main p,
  .about-conclusion-body p{
    font-size:15px;
  }

  .about-hero-block,
  .about-pill{
    padding:14px 14px;
  }

}

.section-destinations-hero .head-destinations h1{
  font-family:'Forum',serif;
  font-size:clamp(26px,3.6vw,40px);
  margin:0;
}

/* ========= Page Expériences (structurelle) ========= */

.page-experiences{
  padding-top:80px;
}

.section-experiences-hero{
  padding-top:72px;
  padding-bottom:16px;
}

.section-experiences-hero .head h1{
  font-family:'Forum',serif;
  font-size:clamp(26px,3.6vw,40px);
  margin:0;
}

/* Sur la page expériences : toutes les bandes prennent la largeur entière */
.page-experiences .experiences-grid .experience-band{
  grid-column:1 / -1;
}

/* ========= Nav : sous-menus / mega-menu & mobile accordéon ========= */

/* Base commune */
.menu-list li{
  position:relative;
}

.menu-list .sub-menu{
  list-style:none;
  margin:0;
  padding:0;
}

.menu-list .sub-menu a{
  font-family:'Montserrat',sans-serif;
  font-weight:500;
  font-size:14px;
  opacity:.9;
}

/* ========= Desktop (>=1025px) : mega-menu pleine largeur, piloté par .is-open ========= */
@media (min-width:1025px){

  .menu-list > li.menu-item-has-children{
    position:static;
  }

  .menu-list > li.menu-item-has-children > a{
    position:relative;
  }

  .menu-list > li.menu-item-has-children > .sub-menu{
    position:absolute;
    left:0;
    right:0;
    top:100%; /* collé sous le header */
    width:100%;
    padding:18px 5vw 22px;
    margin:0;

    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)); /* adapte si besoin */
    gap:8px 24px;

    background:#fff;
    border-top:1px solid rgba(0,0,0,.04);
    box-shadow:0 18px 40px rgba(0,0,0,.12);

    opacity:0;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease;
    z-index:250;
  }

  /* Si tu utilises des classes dest-menu / exp-menu dans WordPress */
  .menu-list > li.menu-item-has-children.dest-menu > .sub-menu{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .menu-list > li.menu-item-has-children.exp-menu > .sub-menu{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  /* Affichage : on ne dépend plus de :hover, mais de .is-open */
  .menu-list > li.menu-item-has-children.is-open > .sub-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  .menu-list > li.menu-item-has-children > .sub-menu li{
    margin:0;
  }

  .menu-list > li.menu-item-has-children > .sub-menu a{
    display:block;
    padding:6px 10px;
    border-radius:999px;
    white-space:nowrap;
    color:#111;
  }

  .menu-list > li.menu-item-has-children > .sub-menu a:hover{
    background:rgba(0,0,0,.04);
    opacity:1;
  }
}


/* ========= Mobile / tablette (<=1024px) : accordéon au clic ========= */
@media (max-width:1024px){

  /* Ligne parent avec flèche */
  .nav-menu .menu-item-has-children > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }

  .nav-menu .menu-item-has-children > a::after{
    content:"▾";
    font-size:11px;
    margin-left:10px;
    opacity:.7;
    transition:transform .2s ease;
  }

  .nav-menu .menu-item-has-children.is-open > a::after{
    transform:rotate(180deg);
  }

  /* Sous-menus fermés par défaut */
  .nav-menu .sub-menu{
    max-height:0;
    overflow:hidden;
    margin:0;
    padding-left:0;
    border-left:none;
    transition:max-height .25s ease;
  }

  /* Sous-menus ouverts */
  .nav-menu .menu-item-has-children.is-open > .sub-menu{
    max-height:500px; /* assez grand pour tout afficher */
    margin-top:4px;
  }

  .nav-menu .sub-menu li a{
    padding:6px 20px;
    font-size:15px;
    opacity:.9;
  }
}

/* ========= Page Destination : Cap-Vert ========= */

/* Hero Cap-Vert */

.section-destination-hero {
  position: relative;
  padding: 90px 0 70px;

  background:
    linear-gradient(
      120deg,
      rgba(0,0,0,0.75) 0%,
      rgba(0,0,0,0.65) 40%,
      rgba(0,0,0,0.55) 100%
    ),
    var(--bg-img) center / cover no-repeat;

  border-radius: var(--radius-xl);
  color: #fff;
  overflow: hidden;
}



.section-destination-hero .container{
  position:relative;
  z-index:1;
}

.section-destination-hero .kicker{
  margin-bottom:6px;
}

.section-destination-hero h1{
  font-family:'Forum',serif;
  font-size:clamp(30px,4.4vw,44px);
  margin:0 0 14px;
}

.section-destination-hero .hero-lead{
  max-width:720px;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,0.9);
  margin:0 0 24px;
}

.section-destination-hero .hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-size:16px;
  opacity:0.9;
	padding-top:16px;
}

.section-destination-hero .hero-meta-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.section-destination-hero .hero-meta-label{
  font-weight:600;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
  opacity:0.9;
}

/* Intro texte */

.section-destination-intro{
  padding:48px 0 40px;
}

.section-destination-intro .intro-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:32px;
  align-items:flex-start;
}

.section-destination-intro p{
  font-size:16px;
  line-height:1.7;
  color:var(--text-soft);
  margin:0 0 14px;
}

.section-destination-intro .intro-aside{
  font-size:16px;
  color:var(--text-soft);
  border-radius:var(--radius-xl);
  background:#fff;
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

/* Groupes de liens (essentiels, îles, types de voyage) */

.section-destination-group{
  padding:40px 0;
}

.dest-group-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.dest-group-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:20px 20px 18px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .18s ease, box-shadow .18s ease;
}

.dest-group-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}

.dest-group-card h3{
  font-family:'Forum',serif;
  font-size:22px;
  margin:0 0 16px;
}

.dest-group-card p{
  margin:0;
  font-size:16px;
  color:var(--text-soft);
}

.dest-group-card .dest-link{
  margin-top:16px;
  font-size:16px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:.85;
}

.dest-group-card .dest-link span{
  margin-left:6px;
}

/* Grille îles */

.dest-islands-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.dest-island-card{
  position:relative;
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:#000;
  color:#fff;
  min-height:150px;
  box-shadow:var(--shadow-1);
  border-right:1.5px solid #fff;
  border-bottom:1.5px solid #fff;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}

.dest-island-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--bg-img, #222);
  background-size:cover;
  background-position:center;
  opacity:0.9;
  transform:scale(1.02);
  transition:transform .26s ease, opacity .2s ease;
}

.dest-island-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,.3));
}

.dest-island-inner{
  position:relative;
  z-index:1;
  padding:16px 18px;
}

.dest-island-inner h3{
  font-family:'Forum',serif;
  font-size:22px;
  margin:0 0 16px;
}

.dest-island-inner p{
  margin:0;
  font-size:16px;
  opacity:.9;
}

.dest-island-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}

.dest-island-card:hover::before{
  transform:scale(1.05);
  opacity:1;
}

/* Section types de voyage : layout 2 colonnes */

.dest-types-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.dest-type-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
  display:flex;
  flex-direction:column;
  gap:8px;
}

.dest-type-card h3{
  font-family:'Forum',serif;
  font-size:20px;
  margin:0;
}

.dest-type-card p{
  margin:0;
  font-size:16px;
  color:var(--text-soft);
}

.dest-type-card .dest-link{
  margin-top:8px;
  font-size:16px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:.9;
}

/* Section "Aller plus loin" */

.section-destination-more{
  padding:40px 0 60px;
}

.section-destination-more p{
  font-size:16px;
  color:var(--text-soft);
  margin:0 0 14px;
}

/* CTA simple */

.section-destination-cta{
  padding:40px 0 70px;
}

/* Responsive Cap-Vert */

@media (max-width:900px){
  .section-destination-intro .intro-layout{
    grid-template-columns:1fr;
  }

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

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

  .dest-types-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .section-destination-hero{
    padding:80px 0 60px;
  }

  .section-destination-hero .hero-meta{
    flex-direction:column;
    align-items:flex-start;
  }

  .dest-group-grid{
    grid-template-columns:1fr;
  }

  .dest-islands-grid{
    grid-template-columns:1fr;
  }

  .dest-types-grid{
    grid-template-columns:1fr;
  }
}

/* ========= Cap-Vert : Quand partir (mise en page) ========= */

/* Petit récap visuel des meilleures périodes */
.period-summary{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.period-item{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.period-item > strong{
  display:block;
	margin-bottom: 16px;
margin-top:0px;
  font-family:'Forum',serif;
  font-size:20px;
}

.period-item p strong{
  font-family:'Forum',serif;
  font-size:18px;
}

.period-item p{
  margin:0;
  font-size:16px;
  color:var(--text-soft);
}

/* Grille des grandes périodes de l’année */
.season-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:8px;
}

.season-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.season-card h3{
  font-family:'Forum',serif;
  font-size:20px;
  margin:0 0 8px;
}

.season-months{
  font-size:16px;
  font-weight:600;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
  opacity:.9;
}

.season-card p{
  margin:0 0 10px;
  font-size:16px;
  color:var(--text-soft);
}

/* Liste des événements & fêtes */
.events-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:8px;
}

.event-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.event-card h3{
  font-family:'Forum',serif;
  font-size:20px;
  margin:0 0 16px;
}

.event-meta{
  font-size:16px;
  font-weight:600;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
  opacity:.85;
}

.event-card p{
  margin:0;
  font-size:16px;
  color:var(--text-soft);
}

/* Grille “types de voyage / période” */
.trip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.trip-card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
}

.trip-card h3{
  font-family:'Forum',serif;
  font-size:20px;
  margin:0 0 16px;
}

.trip-period{
  font-size:16px;
  font-weight:600;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
  opacity:.9;
}

.trip-card p{
  margin:0;
  font-size:16px;
  color:var(--text-soft);
}

/* Conseils logistiques */
.tips-block{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  border:1px solid rgba(0,0,0,.04);
  margin-top:8px;
}

.tips-block ul {
list-style: none;
    display: flex;
    flex-direction: column; /* pour vertical */
    gap: 20px; /* ou la valeur que tu veux */
}


.tips-block p{
  margin:0 0 10px;
  font-size:16px;
  color:var(--text-soft);
}

/* Responsive */
@media (max-width:900px){
  .period-summary{
    grid-template-columns:1fr;
  }
  .season-grid{
    grid-template-columns:1fr;
  }
  .events-grid{
    grid-template-columns:1fr;
  }
  .trip-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .period-item,
  .season-card,
  .event-card,
  .trip-card,
  .tips-block{
    padding:18px 18px;
  }
}

/* ========= Hero sous-pages destination (Cap-Vert, etc.) ========= */

.page-destination-sub .section-destination-hero-sub{
  padding-top:48px;
  padding-bottom:40px;
  background:var(--bg);
}

.page-destination-sub .section-destination-hero-sub .head{
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

/* Titre principal des sous-pages destination */
.page-destination-sub .section-destination-hero-sub h1{
  font-family:'Forum',serif;
  font-size:clamp(28px,3.6vw,40px);
  margin:0 0 12px;
}

/* Sous-texte introductif */
.page-destination-sub .section-destination-hero-sub .sub{
  max-width:780px;
  font-size:16px;
  line-height:1.7;
  color:var(--text-soft);
}

/* Récap des périodes collé au hero */
.page-destination-sub .section-destination-hero-sub .period-summary{
  margin-top:28px;
}

/* ============================================
   Liens internes / pages Cap-Vert (mise en valeur douce)
   ============================================ */

.page-destination-sub a:not(.btn):not(.btn-cta):not(.btn-primary) {
  color: #d9a94a; /* jaune doux, lisible sur fond clair */
  text-decoration: underline;
  text-decoration-color: #d9a94a;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 500;
  transition: color .2s ease, text-decoration-color .2s ease;
}

.page-destination-sub a:not(.btn):not(.btn-cta):not(.btn-primary) :hover {
  color: #b8862d; /* un peu plus contrasté au survol */
  text-decoration-color: #b8862d;
}

/* ========= Illustrations Cap-Vert : pills météo ========= */

.climate-icons-row{
  margin-top:22px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.climate-icon-pill{
  flex:1 1 220px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.04);
  box-shadow:var(--shadow-1);
}

.climate-emoji{
  width:40px;
  height:40px;
  border-radius:999px;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.climate-text strong{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:16px;
  margin-bottom:2px;
}

.climate-text span{
  display:block;
  font-size:16px;
  color:var(--text-soft);
}

/* Responsive */
@media (max-width:700px){
  .climate-icon-pill{
    border-radius:var(--radius-xl);
  }
}


/* ========= Timeline saisons ========= */

.season-timeline{
  margin-top:26px;
  background:#fff;
  border-radius:var(--radius-xl);
  padding:16px 18px 18px;
  border:1px solid rgba(0,0,0,.04);
  box-shadow:var(--shadow-1);
}

.season-timeline-label{
  font-size:16px;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:.7;
  margin-bottom:10px;
}

.season-timeline-track{
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}

.season-tick{
  flex:1 1 140px;
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.season-tick-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--accent);
  margin-top:6px;
  box-shadow:0 0 0 4px rgba(207,164,106,.18);
}

.season-tick-text{
  font-size:16px;
  color:var(--text-soft);
}

.season-tick-text strong{
  font-family:'Montserrat',sans-serif;
}

/* Responsive */
@media (max-width:700px){
  .season-timeline-track{
    flex-direction:column;
  }
}
/* ========= Carte postale météo ========= */

.climate-postcard{
  margin-bottom:18px;
  border-radius:var(--radius-xxl);
  padding:18px 20px;
  background:linear-gradient(135deg, #fff7e2 0%, #fff 45%, #f5eee1 100%);
  border:1px solid rgba(0,0,0,.03);
  box-shadow:var(--shadow-1);
}

.climate-postcard-tag{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-size:16px;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:10px;
  opacity:.85;
}

.climate-postcard-body p{
  margin:0 0 8px;
  font-size:16px;
  color:var(--text-soft);
}

/* ========= Pages région (ex : Santiago) ========= */

/* Hero visuel pleine largeur */
.region-hero{
  position:relative;
	border-radius:var(--radius-xxl);
  min-height:70vh;
  background-image:var(--bg-img);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  display:flex;
  align-items:flex-end;
  color:#fff;
}

.region-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.75) 40%,
    rgba(0,0,0,0.40) 100%
  );
	border-radius:var(--radius-xxl);
  z-index:0;
}

.region-hero .container{
  position:relative;
  z-index:1;
  padding-top:40px;
  padding-bottom:40px;
}

.region-hero .head{
  margin-bottom:18px;
}

.region-hero .kicker{
  color:var(--gold-2);
}

.region-hero h1{
	  font-family:'Forum',serif;
  font-size:clamp(28px,5vw,54px);
  line-height:1.1;
  margin:0 0 80px;
  color:#fff;
}

.hero-desc {
  display: grid;
  line-height: 1.2;
  font-size: 1.1rem;
  opacity: 0.95;
background-color: rgba(128,128,128,0.12);
	border: solid 1px #fff;
	border-radius:var(--radius-xxl);
	padding: 16px;
}
.hero-desc p{
font-size:600;
}

/* Images d'illustration dans la page région */
.region-photo{
  border-radius:var(--radius-xxl);
  overflow:hidden;
  box-shadow:var(--shadow-2);
  margin:24px 0;
}

.region-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* Petite galerie 2 colonnes (images ou image + bloc) */
.region-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

@media (max-width:900px){
  .region-gallery{
    grid-template-columns:1fr;
  }
}
