/* ============================================================================
   Fiche d'une formation (formation.php) et page Qualité (qualite.php)
   ============================================================================ */
.fp-top{background:var(--paper); border-bottom:1px solid var(--line); padding:18px 0 38px;}
.fp-fil{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--ink-soft); margin-bottom:22px;}
.fp-fil a{text-decoration:none; color:var(--accent-dark);}
.fp-fil a:hover{text-decoration:underline;}
.fp-head{display:grid; grid-template-columns:1.15fr 0.85fr; gap:34px; align-items:center;}
@media (max-width:860px){.fp-head{grid-template-columns:1fr;}}
.fp-tag{display:inline-block; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--accent-dark); background:var(--peach); border-radius:999px; padding:5px 13px; margin-bottom:14px;}
.fp-intro h1{font-size:clamp(26px,3.6vw,38px); font-style:italic; color:var(--accent-dark); line-height:1.15; margin-bottom:14px;}
.fp-lead{font-size:16px; color:var(--ink-soft); margin:0 0 20px;}
.fp-faits{list-style:none; padding:0; margin:0 0 22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px;}
.fp-faits li{display:flex; gap:10px; align-items:center; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:18px;}
.fp-faits small{display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); font-weight:600;}
.fp-faits strong{display:block; font-size:13.5px; line-height:1.3;}
.fp-cta{display:flex; flex-wrap:wrap; gap:12px;}
.fp-visuel{border-radius:16px; overflow:hidden; box-shadow:0 18px 40px rgba(34,28,21,.16); aspect-ratio:16/10; background:linear-gradient(135deg,var(--teal),var(--teal-light));}
.fp-visuel img{width:100%; height:100%; object-fit:cover; display:block;}

.fp-layout{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start; padding-top:40px; padding-bottom:20px;}
@media (max-width:960px){.fp-layout{grid-template-columns:1fr;}}
.fp-bloc{padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid var(--line);}
.fp-bloc:last-of-type{border-bottom:0;}
.fp-bloc h2{font-size:clamp(21px,2.6vw,26px); font-style:italic; color:var(--accent-dark); margin-bottom:14px; scroll-margin-top:150px;}
.fp-bloc h3{font-size:16px; font-style:italic; margin:20px 0 8px; color:var(--ink);}
.fp-bloc h4{font-size:14.5px; margin:14px 0 6px;}
.fp-bloc p{color:var(--ink-soft); font-size:15px; margin:0 0 12px;}
.fp-objectif{font-size:17px !important; color:var(--ink) !important; font-weight:500;}
.fp-list{margin:0 0 10px; padding-left:20px; color:var(--ink-soft); font-size:14.5px;}
.fp-list li{margin:0 0 6px;}
.fp-check{list-style:none; padding-left:0;}
.fp-check li{position:relative; padding-left:26px;}
.fp-check li::before{content:'✓'; position:absolute; left:0; top:0; color:var(--teal-light); font-weight:700;}
.fp-deux{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
@media (max-width:700px){.fp-deux{grid-template-columns:1fr;}}
.fp-deux h3{margin-top:0;}
.fp-prog details{background:var(--paper); border:1px solid var(--line); border-radius:10px; margin-bottom:10px; transition:border-color .2s;}
.fp-prog details:hover{border-color:var(--accent);}
.fp-prog summary{cursor:pointer; padding:14px 18px; font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; gap:12px; align-items:center;}
.fp-prog summary::-webkit-details-marker{display:none;}
.fp-prog summary::after{content:'›'; font-size:20px; color:var(--accent-dark); transition:transform .25s;}
.fp-prog details[open] summary::after{transform:rotate(90deg);}
.fp-prog summary > span:first-child{flex:1;}
.fp-duree{font-size:12px; font-weight:700; color:var(--teal); background:#EAF2F1; border:1px solid #D7E6E4; border-radius:999px; padding:3px 11px;}
.fp-jour{padding:0 18px 14px;}
.fp-etapes{margin:0 0 14px; padding-left:22px; color:var(--ink-soft); font-size:14.5px;}
.fp-etapes li{margin:0 0 6px;}
.fp-petit{font-size:13px !important;}
.fp-certif{background:var(--paper); border:1px solid var(--line); border-left:4px solid var(--teal-light); border-radius:10px; padding:18px 20px;}
.fp-certif dl{margin:12px 0; display:grid; gap:8px;}
.fp-certif dl div{display:grid; grid-template-columns:170px 1fr; gap:10px; font-size:14px;}
@media (max-width:560px){.fp-certif dl div{grid-template-columns:1fr; gap:2px;}}
.fp-certif dt{color:var(--ink-soft); font-weight:600;}
.fp-certif dd{margin:0;}
.fp-note{background:var(--warn); color:var(--warn-ink); border-radius:10px; padding:14px 18px; font-size:14px; margin-bottom:24px;}

.fp-side{position:sticky; top:132px; display:flex; flex-direction:column; gap:16px;}
@media (max-width:960px){.fp-side{position:static;}}
.fp-carte,.fp-sommaire,.fp-docs{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:18px 20px; box-shadow:0 2px 10px rgba(34,28,21,.04);}
.fp-carte{display:flex; flex-direction:column; gap:10px; align-items:flex-start;}
.fp-prix{font-family:'Fraunces',serif; font-size:22px; font-weight:700; color:var(--accent-dark); line-height:1.2;}
.fp-carte .fp-petit{margin:0; color:var(--ink-soft);}
.fp-carte .btn{width:100%; justify-content:center;}
.fp-tel{font-weight:600; text-decoration:none; color:var(--teal);}
.fp-tel:hover{text-decoration:underline;}
.fp-carte small{color:var(--ink-soft); font-size:12px;}
.fp-sommaire{display:flex; flex-direction:column; gap:6px; font-size:13.5px;}
.fp-sommaire strong,.fp-docs strong{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:4px;}
.fp-sommaire a{text-decoration:none; color:var(--ink-soft); padding:3px 0;}
.fp-sommaire a:hover{color:var(--accent-dark);}
.fp-docs ul{list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:10px;}
.fp-docs li{display:flex; gap:10px; font-size:13.5px; line-height:1.35;}
.fp-docs small{display:block; font-size:12px; color:var(--ink-soft);}
.fp-docs a{color:var(--accent-dark); font-weight:600;}

.fp-autres{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-top:34px;}
.fp-autre{display:flex; gap:14px; align-items:center; background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:16px 18px; text-decoration:none; transition:transform .2s, box-shadow .2s;}
.fp-autre:hover{transform:translateY(-3px); box-shadow:0 8px 20px rgba(34,28,21,.08);}
.fp-autre-ic{flex:0 0 auto; width:46px; height:46px; border-radius:12px; background:var(--peach); display:flex; align-items:center; justify-content:center; font-size:22px;}
.fp-autre strong{display:block; font-size:15px;}
.fp-autre small{display:block; font-size:12.5px; color:var(--ink-soft);}

/* ---- Page Qualité */
.ql-hero{background:linear-gradient(135deg,#1B4644,#0B3634 55%,#0F2E2C); color:#fff; border-radius:16px; padding:34px 36px; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; box-shadow:0 18px 40px rgba(11,54,52,.22);}
@media (max-width:700px){.ql-hero{grid-template-columns:1fr; padding:26px 22px;}}
.ql-badge{width:84px; height:84px; border-radius:50%; background:rgba(255,255,255,.12); border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; font-size:40px;}
.ql-hero h2{color:#fff; font-size:24px; font-style:italic; margin-bottom:8px;}
.ql-hero p{margin:0 0 6px; color:#D9EAE8; font-size:14.5px;}
.ql-hero a{color:var(--gold);}
.ql-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; margin-top:34px;}
.ql-carte{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:22px 24px;}
.ql-carte h3{font-size:18px; font-style:italic; color:var(--accent-dark); margin-bottom:10px;}
.ql-carte p,.ql-carte li{font-size:14px; color:var(--ink-soft);}
.ql-carte ul{margin:0 0 10px; padding-left:20px;}
.ql-engagements{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:34px; list-style:none; padding:0;}
.ql-engagements li{background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:14px;}
.ql-engagements strong{display:block; color:var(--accent-dark); font-family:'Fraunces',serif; font-style:italic; font-size:16px; margin-bottom:4px;}

/* Prochaines sessions */
.fp-sessions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fp-sessions li{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--teal-light);border-radius:10px;padding:12px 16px}
.fp-sessions strong{display:block;font-size:15px}
.fp-sessions small{display:block;font-size:12.5px;color:var(--ink-soft)}
