/* accueil.css — slider d'accueil + sections */

/* ===== HERO SLIDER ===== */

.hero-slider{
  max-width:var(--maxw);
  margin:0 auto;
  padding:48px 16px 56px;
}

.hero-slider-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.hero-slider-frame{
  position:relative;
  width:100%;
  border-radius:34px;
  overflow:hidden;
  isolation:isolate;
  background:var(--hero-bg, url("../img/didaskalia-bandeau.jpg"))
             center/cover no-repeat;
  box-shadow:
    0 0 0 1px rgba(230,231,255,.36),
    0 16px 40px rgba(198,201,255,.55),
    0 4px 10px rgba(0,0,0,.14),
    0 0 0 3px rgba(230,231,255,1),
    0 26px 60px rgba(158,168,255,.78),
    0 10px 22px rgba(0,0,0,.24);
  min-height:380px;
}

.hero-slider-frame::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(160% 200% at 50% 40%,
      var(--g1) 0%, var(--g2) 38%, var(--g3) 68%, var(--g4) 100%);
  opacity:.45;
  z-index:0;
}

.hero-slider-frame::after{
  content:"";
  position:absolute;
  inset:10px 14px;
  border-radius:26px;
  border:1px solid rgba(230,231,255,.9);
  pointer-events:none;
  opacity:.95;
  z-index:1;
}

.hero-slide{
  position:absolute;
  inset:0;
  padding:44px 48px 74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#ffffff;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--t-base) var(--ease);
  z-index:2;
}

.hero-slide.is-active{
  opacity:1;
  pointer-events:auto;
}

.hero-kicker{
  margin:0 0 8px;
  font-family:var(--ff-serif);
  font-weight:900;
  font-size:1.8rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#111111;
}

.hero-title{
  margin:0 0 8px;
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-size:1.15rem;
  font-weight:400;
  line-height:1.55;
  color:#F8F3FF;
  max-width:900px;
}

.hero-slide .btn-primary{
  margin-top:30px;
  font-family:Impact,"Bodoni Moda",var(--ff-serif),system-ui,sans-serif;
}

/* Flèches : cercle = bouton, glyphe centré via ::before */
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:#000;
  color:#fff;

  font-size:0;
  line-height:1;

  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;

  transition:
    color var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease);

  z-index:3;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}

.hero-arrow--prev{ left:22px;  --arrow-glyph-x:-1px; --arrow-glyph-y:-1px; }
.hero-arrow--next{ right:22px; --arrow-glyph-x: 1px; --arrow-glyph-y:-1px; }

.hero-arrow::before{
  display:block;
  font-size:1.55rem;
  line-height:1;
  color:inherit;
  position:relative;
  left:var(--arrow-glyph-x, 0px);
  top:var(--arrow-glyph-y, 0px);
}

.hero-arrow--prev::before{ content:"‹"; }
.hero-arrow--next::before{ content:"›"; }

.hero-arrow:hover{
  color:rgba(255,255,255,.65);
  transform:translateY(-50%) scale(1.06);
}

.hero-arrow:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.55),
    0 8px 18px rgba(0,0,0,.28);
}

/* Puces */
.hero-dots{
  display:flex;
  gap:8px;
  justify-content:center;
}

.hero-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:none;
  background:rgba(15,23,42,.16);
}

.hero-dot.is-active{
  background:#000000;
}

/* ===== CITATION + AVATAR ===== */

.quote-block{
  max-width:var(--maxw);
  margin:0 auto;
  padding:32px 16px 24px;
}

.quote-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
}

.quote-copy{ flex:1 1 auto; }

.quote-text{
  margin:0 auto;
  max-width:980px;
  font-family:var(--ff-serif);
  font-style:italic;
  font-weight:400;
  font-size:1.15rem;
  line-height:1.9;
  color:var(--ink);
}

.quote-avatar{
  flex:0 0 auto;
  min-width:210px;
  text-align:center;
}

.quote-avatar-photo{
  width:180px;
  height:180px;
  margin:0 auto;
  border-radius:50%;
  overflow:hidden;
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 5px rgba(46,44,98,.18);
}

.quote-avatar-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 30%;
}

.quote-author{
  margin:10px 0 0;
  font-family:var(--ff-serif);
  font-weight:900;
  font-size:1.05rem;
  color:var(--ink);
}

.quote-author span{ font-weight:400; }

/* ===== INTRO ===== */

.intro{
  max-width:var(--maxw);
  margin:0 auto;
  padding:40px 16px 28px;
  text-align:center;
}

.intro h2{
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-weight:900;
  font-size:2.3rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  line-height:1.3;
  color:var(--violet);
  margin:0;
}

/* ===== FONDATION : VISION / MISSION / VALEURS / ACTIONS ===== */

.foundation-block{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  margin-top:0;
  margin-bottom:40px;
  padding:32px 0 40px;
}

.foundation-grid{
  max-width:1400px;
  margin:0 auto;
  padding:0 10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:60px;
  row-gap:60px;
}

.foundation-card{
  background:
    radial-gradient(160% 200% at 50% 40%,
      rgba(255,255,255,.9) 0%,
      rgba(203,207,252,.96) 45%,
      rgba(157,163,234,.96) 100%);
  border-radius:18px;
  padding:20px 30px 20px;
  box-shadow:
    0 0 0 1px rgba(230,231,255,.9),
    0 10px 20px rgba(158,168,255,.5);
  color:#111;
}

.foundation-card h3{
  margin:0 0 10px;
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-weight:900;
  font-size:1.3rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#111;
}

.foundation-card p{
  margin:0 0 8px;
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-size:1.15rem;
  line-height:1.7;
}

.foundation-card--wide{ grid-column:1 / -1; }

.foundation-list{
  list-style:none;
  margin:6px 0 0;
  padding:0;
  display:grid;
  gap:6px;
}

.foundation-list li{
  position:relative;
  padding-left:26px;
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-size:1.15rem;
  line-height:1.7;
}

.foundation-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--violet);
  font-weight:900;
}

.foundation-list li strong{
  font-family:Impact,"Bodoni Moda",var(--ff-serif),system-ui,sans-serif;
  font-weight:700;
  font-size:1.3rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.foundation-list li strong::after{
  content:" —";
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-weight:400;
  margin:0 .25em 0 .18em;
}

.foundation-card--collapsible{ position:relative; }

.foundation-card--collapsible .foundation-more{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .32s ease, opacity .32s ease;
}

.foundation-card--collapsible.is-expanded .foundation-more{
  max-height:600px;
  opacity:1;
}

.foundation-toggle{
  margin-top:4px;
  display:inline-flex;
  align-items:flex-end;
  gap:6px;
  padding:2px 0;
  border:none;
  background:none;
  font-family:var(--ff-serif);
  font-style:italic;
  font-size:.96rem;
  letter-spacing:.06em;
  text-transform:none;
  color:var(--violet);
  cursor:pointer;
}

.foundation-toggle .toggle-label{ position:relative; }

.foundation-toggle .toggle-label::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:currentColor;
  transition:width .2s ease;
}

.foundation-toggle:hover .toggle-label::after{ width:100%; }

.toggle-chevron{
  display:inline-block;
  transform:translateY(-5px);
  transition:transform .25s ease;
}

.foundation-card--collapsible.is-expanded .toggle-chevron{
  transform:rotate(180deg) translateY(-5px);
}

/* ===== PROGRAMMES ===== */

.programmes{
  max-width:var(--maxw);
  margin:0 auto;
  padding:48px 16px 60px;
  text-align:center;
}

.programmes h2{
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-weight:400;
  font-size:2.3rem;
  letter-spacing:.20em;
  text-transform:uppercase;
  margin:0 0 40px;
  color:var(--violet);
}

.programme-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:80px;
  row-gap:64px;
}

.programme-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:center;
  max-width:380px;
  margin:0 auto;
  background:
    radial-gradient(160% 200% at 50% 40%,
      rgba(255,255,255,.9) 0%,
      rgba(203,207,252,.96) 45%,
      rgba(157,163,234,.96) 100%);
  border-radius:18px;
  padding:22px 20px 20px;
  box-shadow:
    0 0 0 1px rgba(230,231,255,.9),
    0 10px 20px rgba(158,168,255,.5);
  transform:translateY(0) scale(1);
  transition:
    transform var(--t-base) var(--ease),
    box-shadow var(--t-base) var(--ease);
}

.programme-card:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:
    0 0 0 1px rgba(230,231,255,.95),
    0 16px 30px rgba(158,168,255,.7);
}

.programme-card h3{
  margin:0 0 8px;
  font-family:var(--ff-serif);
  font-weight:900;
  font-size:1.3rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--violet);
}

.programme-media{
  width:200px;
  height:200px;
  border-radius:50%;
  margin:0 auto 18px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:88% auto;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.95),
    0 16px 30px rgba(158,168,255,.75);
  overflow:hidden;
  background-color:#ffffff;
}

.programme-card p{
  margin:0;
  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-size:1.15rem;
  line-height:1.7;
  color:var(--ink);
}

.programme-media--1{
  background-image:url("../img/didaskalia-logo.png");
  background-size:93% auto;
}
.programme-media--2{
  background-image:url("../img/paideia-logo.png");
  background-size:80% auto;
}
.programme-media--3{
  background-image:url("../img/katalima-logo.png");
  background-size:92% auto;
}
.programme-media--4{
  background-image:url("../img/anaggello-logo.png");
}

/* ===== CTA FIN DE PAGE (nouveau) ===== */

.home-cta{
  max-width:var(--maxw);
  margin:0 auto;
  padding:10px 16px 80px;
}

.home-cta-inner{
  position:relative;
  border-radius:34px;
  padding:28px 22px 26px;
  text-align:center;
  overflow:hidden;

  background:
    radial-gradient(140% 170% at 50% 10%,
      rgba(46,44,98,.14) 0%,
      rgba(142,148,216,.12) 34%,
      rgba(222,211,231,.55) 62%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.60) 0%,
      rgba(222,211,231,.40) 60%,
      rgba(255,255,255,.35) 100%);

  box-shadow:
    0 0 0 1px rgba(46,44,98,.12),
    0 26px 70px rgba(46,44,98,.14);
}

.home-cta-inner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:
    inset 0 0 0 1px rgba(230,232,255,.55),
    inset 0 0 0 2px rgba(46,44,98,.06);
  opacity:.95;
}

.home-cta-text{
  position:relative;
  margin:0 auto 18px;
  max-width:980px;

  font-family:"Big Caslon","Bodoni Moda",var(--ff-serif),Georgia,serif;
  font-size:1.15rem;      /* même taille que la citation */
  font-style:normal;      /* pas italique */
  font-weight:400;        /* pas gras */
  line-height:1.8;
  color:var(--ink);
}

.home-cta-actions{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

/* Boutons “comme Paideia (non sélectionné)” mais en liens */
.home-cta-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  border-radius:999px;
  padding:14px 24px;
  min-width:260px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;

  font-family:Impact,"Bodoni Moda",var(--ff-serif),system-ui,sans-serif;
  font-weight:700;
  font-size:1.15rem;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:#E6E8FF;
  background:
    radial-gradient(160% 220% at 20% 10%,
      rgba(230,232,255,.18) 0%,
      transparent 48%),
    linear-gradient(135deg,#0E1030,#2E2C62);

  box-shadow:
    0 0 0 1px rgba(230,232,255,.26),
    0 16px 38px rgba(14,16,48,.22);

  transition:transform .35s ease, filter .35s ease, box-shadow .35s ease;
}

.home-cta-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
}

.home-cta-btn:focus-visible{
  outline:2px solid rgba(46,44,98,.55);
  outline-offset:4px;
}

.home-cta-arrows{
  color:rgba(46,44,98,.65);
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(0px);
  user-select:none;

  font-size:1.6rem;
  line-height:1;
}

/* ===== RESPONSIVE ===== */

@media (max-width:880px){
  .hero-slider{
    padding-top:40px;
    padding-bottom:48px;
  }
  .hero-slider-frame{
    min-height:320px;
  }
  .hero-slide{
    padding:34px 26px 64px;
  }
  .hero-kicker{
    font-size:1.4rem;
  }
  .hero-title{
    font-size:1.05rem;
  }
}

@media (max-width:1100px){
  .foundation-block{
    left:auto;
    right:auto;
    width:100%;
    margin-left:0;
    margin-right:0;
    padding:32px 0 40px;
  }
  .foundation-grid{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:30px;
  }
}

@media (max-width:720px){
  .quote-inner{ flex-direction:column-reverse; }
  .quote-avatar{ margin-top:8px; }

  .home-cta-actions{
    flex-direction:column;
    gap:12px;
  }
  .home-cta-arrows{ display:none; }
  .home-cta-btn{ min-width:0; width:min(420px, 92%); }
}

@media (max-width:640px){
  .hero-slider{ padding-top:30px; }
  .hero-slider-frame{ min-height:290px; }
  .hero-title{ font-size:1rem; }

  .programme-grid{
    grid-template-columns:1fr;
    row-gap:40px;
  }
}

/* Décale la section CTA tout en bas (ta nouvelle section) */
main > section:last-of-type{
  margin-top:20px;
}
