/* ================= ACCUEIL — Egypt For All (DA §5) ================= */

.efa-titre-section{ font-size: clamp(2rem, 1.5rem + 1.8vw, 3.5rem); margin-bottom: 32px; text-transform: none; }
.efa-titre-section--clair{ color: #fff; }
.efa-titre-section--centre{ text-align: center; }
.efa-mot-accent{ color: var(--efa-accent); }
.efa-mot-accent-vif{ color: var(--efa-accent-vif); }

/* ---------- 5.1 Héros ---------- */
/* Hauteur = écran − en-tête (64) − 92 : les escales (196, à cheval de moitié) commencent à y≈590 à 1440×780 et y≈760 à 1920×950. */
.efa-hero{ position: relative; background: var(--efa-nuit); height: clamp(600px, calc(100vh - 156px), 860px); display: flex; flex-direction: column; }
.efa-hero-photo{ position: absolute; inset: 0; overflow: hidden; }
.efa-hero-photo img{ width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.efa-hero-photo::after{ content:""; position:absolute; inset:0; background: linear-gradient(to right, rgba(12,46,47,.86) 0%, rgba(12,46,47,.55) 38%, rgba(12,46,47,.08) 66%), linear-gradient(to top, rgba(12,46,47,.55), rgba(12,46,47,0) 30%); }
.efa-hero-grille{ position: relative; z-index: 2; width: 100%; flex: 1; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; align-content: center; padding-block: 8px 112px; }
.efa-hero-texte{ color: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.efa-hero-titre{ font-size: clamp(3rem, 1.1rem + 4.2vw, 5.625rem); font-weight: 900; text-transform: uppercase; line-height: .92; letter-spacing: .005em; color: #fff; text-shadow: 0 2px 24px rgba(12,46,47,.35); }
.efa-hero-titre span{ color: var(--efa-accent-vif); }
.efa-hero-chapo{ font-size: 1.25rem; line-height: 1.45; max-width: 54ch; color: rgba(255,255,255,.92); margin: 0; }
.efa-hero-preuves{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: 1rem; color: #fff; }
.efa-hero-preuves li::first-letter{ color: var(--efa-accent-vif); }
.efa-hero-cta-mobile{ display: none; }
.efa-hero-formulaire{ padding-top: 24px; align-self: start; }
.efa-hero-credit{ position: absolute; right: max(var(--efa-gouttiere), calc((100vw - var(--efa-conteneur)) / 2 + var(--efa-gouttiere))); bottom: 108px; z-index: 2; margin: 0; }

.efa-escales{ position: absolute; left: 0; right: 0; bottom: 0; transform: translateY(50%); z-index: 3; }
.efa-escales-rangee{ display: flex; gap: 16px; overflow-x: auto; padding-block: 4px 10px; scrollbar-width: none; justify-content: space-between; }
.efa-escales-rangee::-webkit-scrollbar{ display: none; }
.efa-escale-carte{ flex: 0 0 190px; height: 196px; display: flex; flex-direction: column; background: var(--efa-blanc); border-radius: var(--efa-rayon); box-shadow: var(--efa-ombre); overflow: hidden; text-decoration: none; color: var(--efa-encre); position: relative; transition: transform .2s ease, box-shadow .2s ease; }
.efa-escale-carte:hover{ transform: translateY(-4px); box-shadow: var(--efa-ombre-forte); }
.efa-escale-photo{ position: relative; display: block; height: 136px; overflow: hidden; }
.efa-escale-photo img{ width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.efa-escale-carte:hover .efa-escale-photo img{ transform: scale(1.05); }
.efa-escale-photo::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(12,46,47,.8), rgba(12,46,47,0) 55%); }
.efa-escale-nom{ position: absolute; left: 12px; bottom: 8px; z-index: 2; font-family: var(--efa-titre); font-weight: 900; font-size: 1.625rem; line-height: 1; text-transform: uppercase; color: #fff; }
.efa-escale-pied{ flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; }
.efa-escale-rub{ font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--efa-accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.efa-escale-fleche{ width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; background: var(--efa-action); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .875rem; }

@media (max-width: 1180px){
	.efa-hero-grille{ gap: 28px; }
	.efa-hero-titre{ font-size: clamp(2.75rem, 1rem + 4vw, 4rem); }
}
@media (max-width: 1040px){
	.efa-hero{ height: auto; padding-bottom: 130px; }
	.efa-hero-grille{ grid-template-columns: 1fr; padding-block: 40px 0; }
	.efa-hero-formulaire{ display: flex; justify-content: center; }
}
@media (max-width: 700px){
	.efa-hero{ padding-bottom: 0; }
	.efa-hero-photo{ bottom: auto; height: 330px; }
	.efa-hero-photo img{ object-position: 50% 40%; }
	.efa-hero-photo::after{ background: linear-gradient(to top, rgba(12,46,47,.92) 0%, rgba(12,46,47,.35) 55%, rgba(12,46,47,.1) 100%); }
	.efa-hero-grille{ padding-block: 0; gap: 0; }
	.efa-hero-texte{ min-height: 330px; justify-content: flex-end; padding-bottom: 14px; gap: 10px; }
	.efa-hero-texte .efa-cartouche{ font-size: .6875rem; padding: 5px 12px; }
	.efa-hero-titre{ font-size: 2.875rem; }
	.efa-hero-chapo, .efa-hero-preuves{ display: none; }
	.efa-hero-cta-mobile{ display: flex; order: 9; margin-top: 18px; width: 100%; }
	.efa-hero-formulaire{ padding-top: 44px; padding-bottom: 24px; }
	.efa-form-voyage--hero{ width: 100%; }
	.efa-hero-credit{ top: 12px; bottom: auto; left: auto; right: 16px; font-size: .6875rem; }
	.efa-escales{ position: static; transform: none; padding-bottom: 28px; }
	.efa-escales-rangee{ justify-content: flex-start; }
	.efa-escale-carte{ flex-basis: 160px; height: 176px; }
	.efa-escale-photo{ height: 120px; }
}
/* Titre + bouton : le bouton sort de la photo (texte en flux), il est posé sous le titre */
@media (max-width: 700px){
	.efa-hero-texte{ position: relative; }
	.efa-hero-cta-mobile{ position: absolute; left: 0; right: 0; bottom: -66px; margin: 0; }
	.efa-hero-formulaire{ padding-top: 104px; }
}

/* ---------- 5.2 Choisissez votre Égypte ---------- */
.efa-choix{ background: var(--efa-calcaire); padding-block: 130px 48px; }
.efa-choix-grille{ display: grid; grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: 205px 205px; gap: 20px; }
.efa-choix-grille--n3{ grid-template-columns: 1.3fr 1fr; }
.efa-choix-grille--n4 .efa-choix-tuile:nth-child(4){ grid-column: span 2; }
.efa-choix-grille--n2{ grid-template-columns: 1fr 1fr; grid-template-rows: 380px; }
.efa-choix-tuile{ position: relative; border-radius: var(--efa-rayon-tuile); overflow: visible; display: block; box-shadow: var(--efa-ombre); text-decoration: none; }
.efa-choix-tuile > img{ border-radius: var(--efa-rayon-tuile); }
.efa-choix-tuile--grande{ grid-row: 1 / span 2; }
.efa-choix-grille--n2 .efa-choix-tuile--grande{ grid-row: auto; }
.efa-choix-tuile img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .35s ease; }
.efa-choix-tuile:hover img{ filter: brightness(1.06) saturate(1.08); }
.efa-choix-tuile::after{ content:""; position:absolute; inset:0; border-radius: var(--efa-rayon-tuile); background: linear-gradient(to top, rgba(12,46,47,.82), rgba(12,46,47,0) 58%); }
.efa-choix-cartouche{ position: absolute; top: 16px; left: 16px; z-index: 2; background: var(--efa-blanc); }
.efa-choix-contenu{ position: absolute; left: 22px; right: 70px; bottom: 20px; z-index: 2; }
.efa-choix-titre{ display: block; font-family: var(--efa-titre); color: #fff; font-weight: 900; text-transform: uppercase; line-height: .95; font-size: clamp(2rem, 1.2rem + 1.6vw, 3.25rem); }
.efa-choix-tuile--grande .efa-choix-titre{ font-size: clamp(2.5rem, 1.4rem + 2.4vw, 4.25rem); }
.efa-choix-fleche{ position: absolute; right: -12px; bottom: -12px; width: 56px; height: 56px; border-radius: 50%; background: var(--efa-action); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.375rem; z-index: 3; box-shadow: var(--efa-ombre); transition: transform .2s ease; }
.efa-choix-tuile:hover .efa-choix-fleche{ transform: translateX(4px); }
@media (max-width: 900px){ .efa-choix-grille, .efa-choix-grille--n3{ grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-auto-rows: 220px; } .efa-choix-tuile--grande{ grid-column: 1 / -1; grid-row: auto; } .efa-choix-grille--n4 .efa-choix-tuile:nth-child(4){ grid-column: auto; } }
@media (max-width: 560px){ .efa-choix{ padding-block: 48px; } .efa-choix-grille, .efa-choix-grille--n3{ grid-template-columns: 1fr; grid-auto-rows: 200px; gap: 22px; } .efa-choix-tuile--grande{ grid-column: auto; } .efa-choix-fleche{ right: -6px; } }

/* ---------- 5.3 Outil fil du Nil ---------- */
.efa-outil{ background: var(--efa-nuit); color: #fff; padding-block: 64px; }
.efa-outil-grille{ display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.efa-outil-durees{ display: flex; gap: 10px; margin-bottom: 24px; }
.efa-outil-durees .efa-cartouche{ border-color: var(--efa-accent-vif); color: var(--efa-accent-vif); background: transparent; }
.efa-outil-durees .efa-cartouche::before{ border-color: rgba(95,216,200,.5); }
.efa-outil-durees .efa-cartouche::after{ background: var(--efa-accent-vif); }
.efa-outil-durees .est-choisi{ background: var(--efa-accent-vif); color: var(--efa-nuit); }
.efa-outil-fleuve{ height: 220px; width: 60px; margin-bottom: 16px; }
.efa-outil-escales{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font-weight: 600; color: rgba(255,255,255,.5); }
.efa-outil-escales .est-active{ color: var(--efa-accent-vif); }
.efa-outil-carte{ background: var(--efa-blanc); color: var(--efa-encre); border-radius: var(--efa-rayon-grand); padding: 26px; }
.efa-outil-photo{ border-radius: var(--efa-rayon); width: 100%; aspect-ratio: 16/10; object-fit: cover; margin-bottom: 16px; }
.efa-outil-jour{ font-family: var(--efa-titre); font-weight: 800; margin: 0 0 8px; }
@media (max-width: 900px){ .efa-outil-grille{ grid-template-columns: 1fr; } }

/* ---------- 5.4 Derniers guides ---------- */
.efa-derniers{ background: var(--efa-blanc); padding-block: 64px; }
.efa-derniers-piste{ display: flex; gap: var(--efa-gouttiere); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.efa-derniers-carte{ flex: 0 0 300px; scroll-snap-align: start; border-radius: var(--efa-rayon); overflow: hidden; box-shadow: var(--efa-ombre); background: var(--efa-blanc); position: relative; }
.efa-derniers-carte a{ color: inherit; text-decoration: none; display: block; }
.efa-derniers-carte img{ width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.efa-derniers-cartouche{ position: absolute; top: 12px; left: 12px; font-size: .625rem; padding: 4px 10px; }
.efa-derniers-corps{ padding: 16px; }
.efa-derniers-meta{ font-family: var(--efa-texte); font-size: .6875rem; text-transform: uppercase; letter-spacing: .06em; color: var(--efa-doux); margin: 0 0 6px; }
.efa-derniers-corps h3{ font-size: 1.1875rem; margin-bottom: 10px; }
.efa-derniers-auteur{ display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: var(--efa-doux); }
.efa-derniers-auteur img{ width: 28px; height: 28px; border-radius: 50%; }

/* ---------- 5.5 Nilomètre ---------- */
.efa-nilometre{ background: var(--efa-accent); color: #fff; padding-block: 64px; }
.efa-nilometre-grille{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.efa-nilo-colonne{ display: flex; gap: 14px; align-items: flex-end; }
.efa-nilo-echelle{ width: 10px; height: 110px; background: repeating-linear-gradient(to top, rgba(255,255,255,.5) 0 1px, transparent 1px 8px); position: relative; flex-shrink: 0; }
.efa-nilo-eau{ position: absolute; left: 0; bottom: 0; width: 100%; height: 70%; background: var(--efa-accent-vif); }
.efa-nilo-chiffre{ font-family: var(--efa-texte); font-variant-numeric: tabular-nums; font-weight: 800; font-size: clamp(2.25rem, 1.8rem + 1.5vw, 4rem); margin: 0; }
.efa-nilo-libelle{ margin: 2px 0 4px; font-size: .9375rem; }
.efa-nilo-source{ margin: 0; font-size: .6875rem; color: rgba(255,255,255,.65); }
@media (max-width: 900px){ .efa-nilometre-grille{ grid-template-columns: 1fr 1fr; } }

/* ---------- 5.6 Comparatif ---------- */
.efa-comparatif{ background: var(--efa-calcaire); padding-block: 64px; }
.efa-comparatif-grille{ display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; align-items: start; }
.efa-comparatif-carte{ background: var(--efa-blanc); border-radius: var(--efa-rayon-grand); padding: 22px; box-shadow: var(--efa-ombre); position: relative; }
.efa-comparatif-carte--coeur{ transform: translateY(-24px); box-shadow: var(--efa-ombre-forte); }
.efa-pastille-or{ position: absolute; top: -14px; right: 16px; background: var(--efa-or); color: var(--efa-granit); font-weight: 700; font-size: .75rem; padding: 6px 14px; border-radius: var(--efa-rayon-pilule); }
.efa-comparatif-carte img{ width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--efa-rayon); margin-bottom: 14px; }
.efa-comparatif-etiquette{ margin-bottom: 10px; }
.efa-comparatif-carte h3{ font-size: 1.375rem; margin-bottom: 12px; }
.efa-comparatif-reperes{ list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: .9375rem; color: var(--efa-doux); }
.efa-barre-prix{ display: inline-flex; gap: 3px; vertical-align: middle; }
.efa-barre-prix::before{ content:"€"; color: var(--efa-filet); }
.efa-barre-prix[data-niveau="1"]{ color: var(--efa-accent); } .efa-barre-prix[data-niveau="1"]::before{ content:"€ · ·"; }
.efa-barre-prix[data-niveau="2"]::before{ content:"€ € ·"; color: var(--efa-accent); }
.efa-barre-prix[data-niveau="3"]::before{ content:"€ € €"; color: var(--efa-accent); }
@media (max-width: 900px){ .efa-comparatif-grille{ grid-template-columns: 1fr; } .efa-comparatif-carte--coeur{ transform: none; order: -1; } }

/* ---------- 5.7 Quand partir ---------- */
.efa-calendrier{ background: var(--efa-eau); padding-block: 64px; }
.efa-calendrier-grille{ display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.efa-calendrier-ligne{ display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 12px; margin-bottom: 10px; }
.efa-calendrier-dest{ font-weight: 700; font-size: .875rem; }
.efa-calendrier-ligne--mois .efa-calendrier-mois span{ text-align: center; font-size: .75rem; font-weight: 700; color: var(--efa-gres); }
.efa-calendrier-mois{ display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; }
.efa-calendrier-case{ height: 24px; border-radius: 6px; }
.efa-cal-ideal{ background: var(--efa-accent); }
.efa-cal-possible{ background: var(--efa-accent-vif); }
.efa-cal-chaud{ background: var(--efa-action); }
.efa-calendrier-legende{ display: flex; gap: 18px; align-items: center; font-size: .8125rem; margin-top: 16px; }
.efa-calendrier-legende span{ display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; }
.efa-calendrier-conseil{ background: var(--efa-blanc); border-radius: var(--efa-rayon-grand); padding: 26px; box-shadow: var(--efa-ombre); }
.efa-t3{ font-family: var(--efa-titre); font-weight: 800; font-size: 1.1875rem; margin: 0 0 8px; }
@media (max-width: 900px){ .efa-calendrier-grille{ grid-template-columns: 1fr; } .efa-calendrier-dest{ width: 90px; } }

/* ---------- 5.8 FAQ ---------- */
.efa-faq-accueil{ background: var(--efa-blanc); padding-block: 64px; }
.efa-faq-accueil-colonne{ max-width: 820px; }
.efa-faq-accueil-item{ background: var(--efa-blanc); border: 1px solid var(--efa-filet); border-radius: var(--efa-rayon); margin-bottom: 10px; padding: 0; }
.efa-faq-accueil-item summary{ list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; font-weight: 700; font-family: var(--efa-texte); }
.efa-faq-accueil-item summary::-webkit-details-marker{ display: none; }
.efa-faq-accueil-icone{ width: 28px; height: 28px; border-radius: 50%; background: var(--efa-accent); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.efa-faq-accueil-item p{ padding: 0 20px 18px; margin: 0; color: var(--efa-doux); border-left: 3px solid var(--efa-accent-vif); margin-left: 20px; padding-left: 14px; }
.efa-faq-accueil-plus{ text-align: center; margin-top: 20px; }
.efa-faq-accueil-plus a{ font-weight: 700; }

/* ---------- 5.9 Appel final ---------- */
.efa-appel{ position: relative; min-height: 520px; display: flex; align-items: center; }
.efa-appel-photo{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.efa-appel-contenu{ position: relative; z-index: 2; }
.efa-appel-ostracon{ max-width: 420px; }
.efa-appel-ostracon p{ font-family: var(--efa-titre); font-weight: 800; font-size: 1.375rem; margin: 0 0 16px; }
.efa-appel-credit{ position: absolute; left: var(--efa-gouttiere); bottom: 16px; z-index: 2; }

@media (max-width: 700px){
	.efa-nilometre-grille, .efa-comparatif-grille{ grid-template-columns: 1fr; }
}
