/* ══════════════════════════════════════════════
   TARIFS — atmosphère + parcours vers le dossier
   ══════════════════════════════════════════════ */

.s-tarif{
  position:relative;
  background:var(--calcaire-2);
  overflow:hidden;
}
.s-tarif::before{
  content:"";
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 70% 55% at 92% 8%, color-mix(in srgb, var(--ocre) 14%, transparent), transparent 60%),
    url("../images/temples/gizeh.jpg") right top / min(48vw, 520px) auto no-repeat;
  opacity:.18;
  pointer-events:none;
  mask-image:linear-gradient(90deg, transparent 0%, #000 55%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 55%);
}
.s-tarif .container,
.s-tarif .container.wide{
  position:relative; z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.s-tarif .sec-titre{
  margin-inline:auto;
  max-width:22ch;
}

.prix-grille{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.2rem;
  margin-top:2.4em;
  max-width:52rem;
  width:100%;
}
@media (max-width:640px){
  .prix-grille{
    grid-template-columns:1fr;
    max-width:28rem;
  }
}

/* Sous les prix : une seule respiration → CTA */
.prix-bas{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.15rem;
  margin-top:2.2em;
  max-width:52rem;
  width:100%;
  padding-top:1.8em;
  border-top:1px solid color-mix(in srgb, var(--encre) 12%, transparent);
}
.prix-bas .prix-suite{
  margin:0;
  max-width:none;
}
.prix-bas .btn{
  min-width:min(100%, 16rem);
}
.prix-bas .cta-note{
  margin:0;
  font-size:.9rem;
  line-height:1.45;
  opacity:.68;
  max-width:32ch;
}

.prix-carte{
  position:relative;
  padding:clamp(1.8rem, 3vw, 2.6rem);
  background:var(--calcaire);
  border:1px solid color-mix(in srgb, var(--encre) 16%, transparent);
  border-radius:var(--rayon-doux);
  transition:border-color .3s, transform .35s;
  text-align:left;
}
.prix-carte:hover{
  border-color:var(--ocre);
  transform:translateY(-3px);
}
.prix-carte.vedette{
  background:var(--osiris);
  color:var(--calcaire);
  border-color:transparent;
}
.prix-carte.vedette:hover{ border-color:var(--ocre-clair); }
.prix-carte .badge{
  display:inline-block;
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ocre);
  margin-bottom:.9em;
}
.prix-carte.vedette .badge{ color:var(--ocre-clair); }
.prix-carte .montant{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(2.6rem, 5.5vw, 3.6rem);
  line-height:1;
  letter-spacing:-.02em;
}
.prix-carte .montant small{
  font-size:.38em;
  font-weight:400;
  letter-spacing:.04em;
}
.prix-carte .formule{
  margin-top:.75em;
  font-size:1.08rem;
  line-height:1.4;
}
.prix-carte .note{
  margin-top:.55em;
  font-size:.92rem;
  opacity:.72;
  line-height:1.45;
}
.prix-suite{
  font-size:.95rem;
  opacity:.75;
  font-style:italic;
  text-align:center;
}

/* Bande image entre sections */
.s-bande-egypte{
  position:relative;
  min-height:clamp(12rem, 28vh, 20rem);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:var(--calcaire);
}
.s-bande-egypte img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.s-bande-egypte .voile{
  position:absolute; inset:0;
  background:linear-gradient(0deg, color-mix(in srgb, var(--osiris) 85%, transparent), transparent 70%);
}
.s-bande-egypte .legende{
  position:relative; z-index:1;
  padding:1.4rem var(--pad-x);
  font-family:var(--f-display);
  font-style:italic;
  font-size:clamp(1.15rem, 2.2vw, 1.5rem);
  max-width:28rem;
}

.compris-grille{
  display:grid;
  gap:1px;
  margin-top:2em;
  background:color-mix(in srgb, var(--encre) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--encre) 12%, transparent);
}
@media (min-width:720px){
  .compris-grille{ grid-template-columns:1fr 1fr; }
}
.compris-grille article{
  background:var(--papier);
  padding:1.4rem 1.5rem;
  border-radius:0;
}
@media (min-width:720px){
  .compris-grille{ border-radius:var(--rayon-doux); overflow:hidden; }
}
.compris-grille h3{
  font-family:var(--f-display);
  font-size:1.25rem;
  font-weight:400;
  margin:0 0 .6em;
}
.compris-grille ul{ list-style:none; }
.compris-grille li{
  padding:.45em 0 .45em 1.4em;
  position:relative;
  font-size:1rem;
  line-height:1.5;
}
.compris-grille li::before{
  content:"—";
  position:absolute; left:0; color:var(--ocre);
}

.s-hors{
  background:var(--pierre-mi);
  color:var(--calcaire);
}
.hors-liste{
  list-style:none;
  margin-top:1.8em;
  max-width:40rem;
  columns:1;
}
@media (min-width:600px){ .hors-liste{ columns:2; gap:2rem; } }
.hors-liste li{
  break-inside:avoid;
  padding:.55em 0 .55em 1.4em;
  position:relative;
  border-bottom:1px solid color-mix(in srgb, var(--calcaire) 12%, transparent);
}
.hors-liste li::before{
  content:"—";
  position:absolute; left:0; color:var(--ocre-clair);
}

.s-parcours{
  position:relative;
  background:var(--pierre-chaude);
  color:var(--calcaire);
  overflow:hidden;
}
.s-parcours::after{
  content:"";
  position:absolute;
  right:-8%; bottom:-20%;
  width:min(42vw, 380px); aspect-ratio:1;
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--ocre-clair) 28%, transparent);
  opacity:.35;
  pointer-events:none;
}
.etapes{
  list-style:none;
  counter-reset:etape;
  margin-top:2.4em;
  max-width:40rem;
}
.etapes li{
  counter-increment:etape;
  position:relative;
  padding:1.5em 0 1.5em 4.4rem;
  border-bottom:1px solid color-mix(in srgb, var(--calcaire) 16%, transparent);
}
.etapes li:last-child{ border-bottom:none; }
.etapes li::before{
  content:counter(etape, decimal-leading-zero);
  position:absolute; left:0; top:1.4em;
  font-family:var(--f-display);
  font-weight:300;
  font-size:1.9rem;
  color:var(--ocre-clair);
  line-height:1;
}
.etapes h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size:1.3rem;
  margin-bottom:.45em;
}
.etapes p{ line-height:1.6; opacity:.9; }

.parcours-cta{
  margin-top:2.4em;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
}

.s-porte{
  position:relative;
  background:var(--osiris);
  color:var(--calcaire);
  overflow:hidden;
  padding-block:clamp(72px, 12vh, 140px);
}
.s-porte::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, var(--osiris) 0%, color-mix(in srgb, var(--osiris) 72%, transparent) 48%, transparent 100%),
    url("../images/temples/karnak.jpg") center / cover no-repeat;
  opacity:1;
}
.s-porte .container{ position:relative; z-index:1; }
.s-porte .porte-titre{
  font-family:var(--f-display);
  font-size:clamp(2rem, 4.5vw, 3.2rem);
  font-weight:340;
  max-width:14ch;
  margin:.35em 0 0.8em;
}
.s-porte p{
  max-width:34rem;
  font-size:1.1rem;
  line-height:1.6;
  opacity:.9;
}
.s-porte .actions{
  margin-top:2em;
  display:flex; flex-wrap:wrap; gap:1rem;
}
