/* Atelier GIF MIA · prolongement de la charte existante */
.gif-course{--gif-ink:#203f45;--gif-green:#2c6871;--gif-mint:#c9e5d8;--gif-paper:#f6f9f7;--gif-line:#b7cfca;--gif-peach:#fff0e6;padding-bottom:30px}
.gif-course .gif-breadcrumbs{margin:26px 0;font-size:12px}
.gif-course .gif-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:46px;align-items:center;margin:38px 0 42px}
.gif-course .gif-hero h1{font-size:clamp(43px,5.5vw,72px);line-height:1.02;letter-spacing:-.035em}
.gif-course .gif-hero figure{margin:0;background:#dfece6;border-radius:14px;overflow:hidden}
.gif-course .gif-hero img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}
.gif-course figcaption{font-size:12px;line-height:1.65;color:#3c5d61;padding:12px 16px}
.gif-course .gif-intro{font-size:18px;line-height:1.65;max-width:48ch;margin:26px 0 20px}
.gif-course .course-meta{font-size:13px;line-height:1.9;color:#3c5d61}
.gif-course .gif-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.gif-course .course-promise{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:27px 30px;background:#e4f0e9;border-radius:12px}
.gif-course .course-promise p{margin:0;font-size:14px;line-height:1.8}
.gif-course .lesson{padding:54px 0;border-bottom:1px solid var(--gif-line)}
.gif-course .lesson>h2{margin:0 0 28px;font-size:clamp(34px,4vw,48px)}
.gif-course .lesson-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:42px;align-items:start;margin-top:26px}
.gif-course p{max-width:72ch}
.gif-course .lesson-grid p:first-child{margin-top:0}
.gif-course p,.gif-course li{line-height:1.85}
.gif-course h3{font-size:28px;line-height:1.2;margin:28px 0 14px}
.gif-course .exercise{background:var(--gif-peach);padding:26px 28px;border-radius:12px;font-size:14px}
.gif-course .exercise h3:first-child{margin-top:0}
.gif-course .exercise ol,.gif-course .exercise ul{padding-left:22px}
.gif-course .exercise.wide{margin-top:26px;max-width:920px}
.gif-course .brief{margin:20px 0}
.gif-course .brief div{display:grid;grid-template-columns:80px 1fr;gap:12px;border-top:1px solid #dfc9b9;padding:10px 0}
.gif-course .brief dt{font-size:12px;font-weight:700}
.gif-course .brief dd{margin:0}
.gif-course .validation{padding-top:18px;border-top:1px solid #dfc9b9}
.gif-course label{display:block;font-size:13px;font-weight:700;line-height:1.6}
.gif-course textarea{display:block;box-sizing:border-box;max-width:100%;width:100%;resize:vertical;min-height:90px;margin-top:8px;background:#fff;color:var(--gif-ink);font:400 14px/1.75 Manrope,Arial,sans-serif;padding:12px 14px;border:1px solid #86a5a3;border-radius:6px;caret-color:var(--gif-green)}
.gif-course textarea::placeholder{color:#536b6d;opacity:1}
.gif-course .lesson-nav{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 18px}
.gif-course .lesson-nav a{font-size:12px;padding:9px 12px;text-decoration:none;border:1px solid #9fbfb8;border-radius:6px;min-height:42px;display:flex;align-items:center}
.gif-course .lesson-nav a:hover{background:#dcece4}
.gif-course .lesson-tools{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:13px;padding-bottom:18px;border-bottom:1px solid var(--gif-line)}
.gif-course .step-heading>span{display:block;font-size:13px;line-height:1.5;font-weight:700;color:var(--gif-green);margin-bottom:12px}
.gif-course .step-heading h2{font-size:clamp(34px,4vw,48px);max-width:23ch;line-height:1.12}
.gif-course .prompt{background:#edf5f0;border-radius:10px;padding:21px 23px;margin:26px 0}
.gif-course .prompt-head{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:13px}
.gif-course .prompt-head button{font-size:11px;min-height:38px;padding:7px 11px}
.gif-course .prompt pre{font:400 13px/1.85 Manrope,Arial,sans-serif;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;margin:18px 0 0;color:#264d50}
.gif-course input[type=checkbox],.gif-course input[type=radio]{accent-color:var(--gif-green);width:19px;height:19px;flex:none;margin:3px 0 0;cursor:pointer}
.gif-course .done{display:flex;gap:11px;align-items:flex-start;margin:25px 0 0;font-size:13px;padding:15px 18px;background:#e5f0eb;border-radius:8px;width:fit-content}
.gif-course .storyboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:28px 0}
.gif-course .storyboard li{padding-top:19px;border-top:2px solid #709e93;font-size:14px}
.gif-course .storyboard span{font-size:12px;font-weight:700;color:var(--gif-green)}
.gif-course .storyboard h3{margin-top:15px;font-size:27px}
.gif-course .demo-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:35px;align-items:start;margin-top:34px}
.gif-course .demo-grid figure{margin:0;min-width:0}
.gif-course .gif-demo{display:block;width:100%;height:auto;border-radius:4px;background:#11294a}
.gif-course .demo-landscape .gif-demo{max-width:728px}
.gif-course .demo-portrait .gif-demo{max-width:345px}
.gif-course .demo-portrait{max-width:345px;margin-left:auto}
.gif-course .demo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:15px 0 0;font-size:12px}
.gif-course .demo-actions button{min-height:41px;font-size:12px;padding:8px 14px}
.gif-course .demo-grid figcaption{padding-inline:0}
.gif-course .observation{padding:18px 28px 22px;background:#edf4ef;border-radius:10px;margin-top:22px}
.gif-course .observation h3{font-size:25px;margin-top:20px}
.gif-course .observation p{font-size:14px}
.gif-course .table-wrap{overflow:auto;max-width:100%;margin:28px 0;border:1px solid var(--gif-line);border-radius:8px}
.gif-course table{border-collapse:collapse;width:100%;font-size:13px;min-width:620px}
.gif-course caption{text-align:left;padding:17px 20px;font-weight:700;background:#edf4ef}
.gif-course th,.gif-course td{text-align:left;vertical-align:top;padding:15px 18px;border-top:1px solid var(--gif-line);line-height:1.75}
.gif-course th{background:#e0eee7;font-size:12px}
.gif-course .review-list{border:0;padding:0;margin:32px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.gif-course .review-list legend{font:400 28px Newsreader,Georgia,serif;padding:0 0 18px}
.gif-course .review-list label{display:flex;gap:10px;font-weight:400;font-size:14px}
.gif-course .quiz{margin-top:25px}
.gif-course .quiz fieldset{margin:25px 0;border:1px solid var(--gif-line);border-radius:12px;padding:22px 26px}
.gif-course .quiz legend{font-size:15px;font-weight:700;line-height:1.7;padding:0 8px;max-width:100%}
.gif-course .quiz label{display:flex;gap:11px;padding:9px 0;font-size:14px;font-weight:400}
.gif-course .quiz details{font-size:13px;margin-top:15px;background:#edf4ef;border-radius:6px;padding:8px 14px}
.gif-course #quiz-result{display:block;margin-top:20px;font-size:15px;font-weight:700}
.gif-course .resource-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:30px 0 0}
.gif-course .resource-list a{display:block;text-decoration:none;padding:22px 0;border-top:1px solid var(--gif-line)}
.gif-course .resource-list strong{display:block;font-size:16px}
.gif-course .resource-list span{display:block;font-size:13px;margin-top:5px}
.gif-course .resource-list a:hover strong{text-decoration:underline}
.gif-course .status{font-size:12px;min-height:1.7em}
.gif-course #faq details{border-top:1px solid var(--gif-line);padding:18px 0;max-width:920px}
.gif-course summary{font-weight:700;font-size:15px;line-height:1.65;cursor:pointer;padding-right:15px}
.gif-course details p{font-size:14px}
.gif-course .sources{font-size:13px}
.gif-course .sources li{margin-bottom:12px}
.gif-course .next-course{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:38px 0}
.gif-course .next-course h2{font-size:36px}
.gif-course .next-course p{font-size:14px}
.gif-course [hidden]{display:none!important}
@media(max-width:1000px){.gif-course .gif-hero{grid-template-columns:1fr 1fr;gap:28px}.gif-course .gif-hero h1{font-size:52px}.gif-course .gif-intro{font-size:16px}.gif-course .lesson-grid{gap:26px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.gif-course .demo-grid{grid-template-columns:minmax(0,1fr) 225px;gap:25px}}
@media(max-width:760px){.gif-course .gif-hero{display:flex;flex-direction:column;align-items:stretch;margin-top:28px;gap:30px}.gif-course .gif-hero h1{font-size:52px}.gif-course .gif-hero figure{max-width:600px}.gif-course .course-promise{grid-template-columns:1fr;gap:20px;padding:24px}.gif-course .lesson{padding:40px 0}.gif-course .lesson-grid{grid-template-columns:1fr;gap:24px}.gif-course .storyboard{grid-template-columns:1fr;gap:15px}.gif-course .storyboard h3{margin-top:7px}.gif-course .storyboard p{margin-bottom:0}.gif-course .demo-grid{grid-template-columns:1fr;gap:28px}.gif-course .demo-portrait{width:100%;margin-inline:auto;max-width:285px}.gif-course .review-list,.gif-course .resource-list{grid-template-columns:1fr}.gif-course .next-course{display:block}.gif-course .quiz fieldset{padding:18px}.gif-course .prompt{padding:18px}.gif-course .lesson-nav a{font-size:11px}.gif-course .exercise{padding:22px}.gif-course .step-heading h2{font-size:38px}}
@media(max-width:480px){.gif-course .gif-hero h1{font-size:44px}.gif-course .gif-breadcrumbs{font-size:11px}.gif-course .gif-intro{font-size:16px}.gif-course .lesson>h2,.gif-course .step-heading h2{font-size:34px}.gif-course .gif-actions{flex-direction:column;align-items:stretch}.gif-course .gif-actions .button{width:100%}.gif-course p,.gif-course li{font-size:14px}.gif-course .storyboard li p{font-size:14px}.gif-course .done{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gif-course *{animation:none!important;transition:none!important}}
@media print{.mia-network,.mia-page-header,.mia-footer,.gif-course .lesson-tools,.gif-course .gif-actions,.gif-course .demo-actions,.gif-course .lesson-nav,.gif-course .done,.gif-course button{display:none!important}.container{width:100%;max-width:none}.gif-course .gif-hero{grid-template-columns:1.2fr 1fr}.gif-course .lesson{padding:24px 0;break-inside:auto}.gif-course .lesson-grid{display:block}.gif-course .exercise{margin:20px 0;background:#f2f5f2}.gif-course .prompt{break-inside:avoid}.gif-course h2,.gif-course h3{break-after:avoid}.gif-course .demo-portrait{max-width:150px}.gif-course .table-wrap{overflow:visible}.gif-course table{min-width:0}.gif-course textarea{min-height:90px}body{background:#fff}}
.gif-course .fallback-demo{margin-top:28px;border:1px solid #b7cfca;border-radius:10px;padding:20px 24px}.gif-course .fallback-demo figure{margin:24px 0;max-width:720px}.gif-course .fallback-demo img{display:block;width:100%;height:auto;border-radius:7px}.gif-course .fallback-demo p{font-size:14px}
