/* DELF grammar resource: editorial reading and a real route to the Lab. */
.delf-page{--delf-navy:#1c244b;--delf-blue:#2563eb;--delf-muted:#475569;--delf-line:#dfe5f0;max-width:1140px;margin:0 auto;padding:48px 28px 70px;color:#1c244b;font:16px/1.75 'DM Sans',system-ui,sans-serif;box-sizing:border-box}
.delf-page *{box-sizing:border-box}.delf-page a{color:#204fbd;text-underline-offset:4px}.delf-page a:hover{color:#123981}.delf-page :is(a,button,summary):focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.delf-page h1,.delf-page h2,.delf-page h3{font-family:'DM Sans',system-ui,sans-serif;color:#1c244b;font-weight:800;text-wrap:balance}
.delf-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:0 48px;padding-bottom:38px}
.delf-hero>*{grid-column:1}.delf-hero>.fte-lab-motion{grid-column:2;grid-row:1/span 8;align-self:center;max-width:320px}
.delf-page .delf-kicker{font-size:13px;font-weight:800;color:#315aa6;line-height:1.5;margin:0 0 20px}
.delf-page h1{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-1.8px;margin:0 0 24px}
.delf-page p{margin:0 0 18px}.delf-lead{font-size:18px;color:#475569;line-height:1.7}.delf-scope{color:#52627b;font-size:13px;line-height:1.65}
.delf-actions{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin:4px 0 20px}
.delf-page a.delf-primary-cta{display:inline-flex;gap:14px;align-items:center;justify-content:center;min-height:50px;padding:13px 20px;background:#1c244b;color:white;border-radius:9px;font-size:14px;font-weight:800;line-height:1.5;text-decoration:none}
.delf-primary-cta>span{font-size:18px}.delf-page a.delf-primary-cta:hover{background:#2c3973;color:white}
.delf-secondary-cta{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:750}
.delf-page .delf-price{font-weight:800;font-size:14px;margin:0 0 5px}.delf-page .delf-membership-note{font-size:12px;color:#52627b;line-height:1.6;margin:0 0 18px}
.delf-jump{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:20px 0;border-block:1px solid #dfe5f0;margin-bottom:40px}
.delf-jump>span{font-size:12px;font-weight:750;color:#52627b;margin-right:6px}.delf-jump>a{display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #d3dff1;border-radius:7px;background:#f5f8fd;color:#1c244b;font-size:12px;font-weight:750;text-decoration:none}
.delf-page h2{font-size:clamp(25px,2.7vw,32px);line-height:1.2;letter-spacing:-.8px;margin:0 0 22px}
.delf-context{max-width:82ch;margin:0 0 44px}.delf-context p{color:#475569}.delf-practice-instruction{border-left:3px solid #2563eb;padding:14px 18px;background:#f3f7ff;color:#1c244b!important;font-size:14px}
.delf-level{scroll-margin-top:100px;border-top:1px solid #dfe5f0;padding:38px 0 24px}
.delf-level>header{display:flex;align-items:baseline;gap:18px}.delf-page .delf-level-label{font-size:13px;font-weight:850;line-height:1;padding:9px 10px;border-radius:6px;background:#e9f1ff;color:#1d4ba1;margin:0;flex-shrink:0}
#delf-a1 .delf-level-label,#delf-a2 .delf-level-label{background:#e9f7de;color:#315324}
.delf-level>p{color:#475569;max-width:88ch}
.delf-exercises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.delf-exercise{min-width:0;border:1px solid #dfe5f0;border-top:3px solid #2563eb;border-radius:12px;padding:23px;background:#fff}
.delf-page .delf-exercise h3{font-size:18px;line-height:1.4;letter-spacing:-.3px;margin:0 0 15px}.delf-exercise>p{font-size:14px;line-height:1.75;color:#475569}
.delf-page .delf-french{font-size:20px;font-weight:750;color:#1c244b;background:#f4f7fc;border:1px solid #e1e7f2;border-radius:7px;padding:16px;margin:18px 0}
.delf-answer{border-top:1px solid #e3e9f3;margin-top:20px;padding-top:4px}.delf-answer summary{cursor:pointer;color:#214c9e;font-size:13px;font-weight:800;min-height:44px;padding:12px 0}
.delf-answer p{font-size:14px;line-height:1.7;color:#475569}.delf-answer p strong{color:#235a48}
.delf-page .delf-related{font-size:14px;margin:23px 0 0;line-height:1.8}
.delf-routine{padding:34px 0;border-top:1px solid #dfe5f0}.delf-routine ol{padding-left:24px}.delf-routine li{padding:0 0 16px 6px;color:#475569}.delf-routine li strong{color:#1c244b}.delf-routine p{color:#475569;font-size:14px}
.delf-lab{background:#f1f5fd;border:1px solid #d6e1f4;border-radius:14px;padding:32px;margin-top:20px}.delf-lab>p{color:#475569}.delf-lab .delf-primary-cta{margin:4px 0 18px}.delf-page .delf-independent-note{font-size:12px;line-height:1.7;color:#52627b;border-top:1px solid #d1dced;padding-top:16px;margin:0}
@media(max-width:900px){.delf-hero{gap:0 28px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.delf-page{padding-top:35px}.delf-lead{font-size:16px}}
@media(max-width:700px){.delf-hero{display:block}.delf-hero>.fte-lab-motion{max-width:100%;margin-top:26px}.delf-page{padding:28px 20px 45px}.delf-page h1{font-size:35px;letter-spacing:-1.2px}.delf-jump{margin-bottom:30px}.delf-jump>span{width:100%}.delf-jump>a{font-size:11px}.delf-exercises{grid-template-columns:minmax(0,1fr);gap:18px}.delf-level>header{gap:14px}.delf-page h2{font-size:25px}.delf-exercise{padding:20px}.delf-lab{padding:24px 20px}.delf-page .delf-french{font-size:19px}}
@media(prefers-reduced-motion:reduce){.delf-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Let this resource own its reading width inside GeneratePress. */
.fte-delf-resource .inside-article{padding:0;background:transparent}.fte-delf-resource .entry-content{margin-top:0}.fte-delf-resource .site-content{padding:0}.fte-delf-resource .site-main{margin:0}.fte-delf-resource .content-area{float:none;width:100%}
