@charset "UTF-8";

/* ============================================================
   quizB.css
   ------------------------------------------------------------
   Rôle :
   - Style public de la page quizA.php
   - Base visuelle inspirée de la charte déjà utilisée
   - Structure réutilisable pour quizB / quizC / quizD
   - Prévue pour être facilement adaptée à d'autres sites
   ============================================================ */

/* ------------------------------------------------------------
   Base
   ------------------------------------------------------------ */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  min-height:100%;
  background:
    radial-gradient(circle at top right, rgba(86,130,140,.08), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%);
}

body{
  min-height:100vh;
  margin:0;
  color:#1f2a37;
  background:transparent;
  /*font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;*/
  line-height:1.5;
}

img{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

/* ------------------------------------------------------------
   Variables simples faciles à adapter
   ------------------------------------------------------------ */
:root{
  --site-max:980px;
  --content-max:960px;

  --bg-soft:#f4f4f5;
  --bg-card:#ffffff;
  --text:#1f2937;
  --muted:#667085;
  --border:#e5e7eb;

  --brand:#395359;
  --brand-2:#56828C;
  --brand-3:#A6A6A6;

  --shadow-soft:0 10px 30px rgba(15,23,42,.06);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
}

/* ------------------------------------------------------------
   Header principal
   ------------------------------------------------------------ */
.siteHeader{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(6px);
}

.siteHeader__inner{
  width:min(var(--site-max), calc(100% - 36px));
  margin:0 auto;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.siteLogo{
  flex:0 0 auto;
}

.siteLogo__box{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:14px;
  background:var(--brand);
  color:#ffffff;
  font-size:30px;
  font-weight:800;
  line-height:1;
  box-shadow:var(--shadow-soft);
}

.mainNav{
  flex:1 1 auto;
  display:flex;
  justify-content:right;
}

.mainNav__list{
  display:flex;
  align-items:center;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}

.mainNav__list > li{
  position:relative;
}

.mainNav__list > li > a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:10px 8px;
  color:#3f3f46;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  transition:color .18s ease, opacity .18s ease;
}

.mainNav__list > li > a:hover{
  color:var(--brand);
}

/* ------------------------------------------------------------
   Sous-menu
   ------------------------------------------------------------ */
.hasSubmenu{
  position:relative;
}

.submenu{
  position:absolute;
  top:100%;
  left:0;
  z-index:50;
  min-width:220px;
  margin:8px 0 0;
  padding:10px;
  list-style:none;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 16px 40px rgba(15,23,42,.10);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.hasSubmenu:hover .submenu,
.hasSubmenu:focus-within .submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.submenu li + li{
  margin-top:4px;
}

.submenu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#334155;
  font-size:14px;
  font-weight:600;
}

.submenu a:hover{
  background:#f8fafc;
  color:var(--brand);
}

/* ------------------------------------------------------------
   Partie droite du header
   ------------------------------------------------------------ */
.siteHeader__right{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:18px;
}

.socialLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  color:#52525b;
  opacity:.9;
}

.socialLink svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.btnContact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:12px 26px;
  border-radius:0;
  background:var(--brand);
  color:#ffffff;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
  transition:background .18s ease, transform .18s ease;
}

.btnContact:hover{
  background:#2f474c;
  transform:translateY(-1px);
}

/* ------------------------------------------------------------
   Barre secondaire du quiz
   ------------------------------------------------------------ */
.quizBar{
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.82);
}

.quizBar__inner{
  width:min(var(--site-max), calc(100% - 36px));
  margin:0 auto;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.quizBar__title{
  color:#18181b;
  font-size:18px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  /*padding: 0px 0px 0px 40px;*/
}

.quizBar__nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  color:#52525b;
  /*padding: 0px 40px 0px 0px;*/
}

.quizBar__nav a{
  font-size:14px;
  font-weight:500;
  color:#3f3f46;
  transition:color .18s ease;
}

.quizBar__nav a:hover{
  color:var(--brand);
}

.quizBar__nav a.isActive{
  color:var(--brand);
  font-weight:800;
}

.quizSep{
  display:inline-block;
  margin:0 14px;
  color:#a1a1aa;
  font-size:20px;
  line-height:1;
}

/* ------------------------------------------------------------
   Structure page
   ------------------------------------------------------------ */
.quizPage{
  padding:42px 0 70px;
}

.heroMedia__inner,
.heroIntro__inner{
  width:min(var(--content-max), calc(100% - 48px));
  margin:0 auto;
}

.heroMedia{
  margin-bottom:0;
}

.heroMedia__inner{
  background:#ffffff;
}

.heroMedia__img{
  width:100%;
  height:clamp(260px, 32vw, 420px);
  object-fit:cover;
  /*border-radius:20px;*/
}

.heroMedia__placeholder{
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/9;
  border:1px dashed rgba(15,23,42,.14);
  background:linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
  color:#64748b;
  font-size:18px;
  font-weight:700;
  text-align:center;
  padding:24px;
}

/*.heroIntro{
  background:rgba(255,255,255,.86);
}*/

.heroIntro__inner{
  padding:50px 50px 42px;
  margin-top: 20px;
  /*background:rgba(255,255,255,.82);*/
  border: 1px solid #e5e7eb;
  border-radius: 5px;
}

.heroIntro__eyebrow{
  margin:0 0 18px;
  color:var(--brand);
  font-size:18px;
  font-weight:500;
  letter-spacing:.36em;
  text-transform:uppercase;
}

.heroIntro__title{
  margin:0;
  color:#3f3f46;
  font-size:clamp(34px, 5vw, 62px);
  line-height:1.08;
  font-weight:300;
  letter-spacing:-0.03em;
}

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
@media (max-width: 1200px){
  .siteHeader__inner{
    flex-wrap:wrap;
    padding:14px 0;
  }

  .mainNav{
    order:3;
    width:100%;
    justify-content:flex-start;
  }

  .mainNav__list{
    flex-wrap:wrap;
    gap:10px 18px;
  }

  .quizBar__inner{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:16px 0;
  }
}

@media (max-width: 860px){
  .siteHeader__inner,
  .quizBar__inner{
    width:min(var(--site-max), calc(100% - 24px));
  }

  .heroMedia__inner,
  .heroIntro__inner{
    width:min(var(--content-max), calc(100% - 24px));
  }

  .siteHeader__right{
    width:100%;
    justify-content:space-between;
  }

  .heroIntro__inner{
    padding:34px 24px 30px;
  }

  .heroIntro__eyebrow{
    font-size:14px;
    letter-spacing:.22em;
  }
}

@media (max-width: 640px){
  .siteLogo__box{
    width:54px;
    height:54px;
    font-size:26px;
  }

  .btnContact{
    min-height:46px;
    padding:10px 18px;
    font-size:13px;
  }

  .quizBar__title{
    font-size:14px;
    letter-spacing:.12em;
  }

  .quizBar__nav{
    gap:8px;
  }

  .quizSep{
    display:none;
  }

  .heroIntro__title{
    font-size:clamp(28px, 8vw, 42px);
  }
}

/* =====================================================
   =====================================================
   Sections de contenu des pages quiz
   =====================================================
   ===================================================== */

.quizSection{
  max-width:900px;
  margin:20px auto;
  padding:20px;
}

/* titre de section */

.quizSectionTitle{
  font-size:28px;
  margin-bottom:16px;
}

/* paragraphes */

.quizSection p{
  font-size:16px;
  line-height:1.6;
  margin-bottom:16px;
}

/* liste */

.quizList{
  margin:20px 0;
  /*padding-left:20px;*/
}

.quizList li{
  margin-bottom:8px;
  font-size:16px;
}

/* =====================================================
   Bloc "Ce que vous allez découvrir"
   ===================================================== */

.quizHighlights{
  max-width:900px;
  margin:10px auto;
  padding:20px;
}

.quizHighlightsGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:20px;
}

.quizHighlight{
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#ffffff;
}

.quizHighlight h3{
  font-size:18px;
  margin-bottom:10px;
}

.quizHighlight p{
  font-size:15px;
  line-height:1.5;
}

/* =====================================================
   Bloc appel à l'action (lancer le quiz)
   ===================================================== */

.quizCTA{
  max-width:900px;
  margin:60px auto;
  padding:40px 20px;
  text-align:center;
  border-top:1px solid #e5e7eb;
}

/* titre */

.quizCTATitle{
  font-size:28px;
  margin-bottom:16px;
}

/* texte */

.quizCTAText{
  font-size:16px;
  line-height:1.6;
  margin-bottom:30px;
}

/* bouton */

.quizCTAButton{
  display:inline-block;
  padding:14px 28px;
  font-size:16px;
  text-decoration:none;
  border-radius:6px;
  background:#395359;
  color:#ffffff;
}

.quizCTAButton:hover{
  background:#56828C;
}

