/* ==========================================================================
   Blocs de mise en page (articles, pages, événements) + formulaires + tableaux
   Couleurs : variables du thème (--primary, --accent...). RTL/LTR : propriétés logiques.
   ========================================================================== */
.blk{margin:1.8em 0}
.landing>.blk:first-child,.prose>.blk:first-child{margin-top:0}
.blk-title{font-size:1.35rem;color:var(--head,var(--primary));margin:0 0 .8em}
.blk-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:18px}
.blk-text>:first-child{margin-top:0}.blk-text>:last-child{margin-bottom:0}
.blk-align-center{text-align:center;justify-content:center}.blk-align-end{text-align:end;justify-content:flex-end}
.prose .blk h2,.prose .blk h3{margin-top:0}
.prose .blk img{margin:0;border-radius:inherit}

/* Couleurs de blocs */
.blk-c-primary{--c:var(--primary);--c-dark:var(--primary-dark);--c-soft:color-mix(in srgb,var(--primary) 10%,var(--card,#fff));--c-on:#fff}
.blk-c-accent{--c:var(--accent);--c-dark:color-mix(in srgb,var(--accent) 80%,#000);--c-soft:color-mix(in srgb,var(--accent) 12%,var(--card,#fff));--c-on:#fff}
.blk-c-dark{--c:#1f2937;--c-dark:#111827;--c-soft:#eef0f3;--c-on:#fff}
.blk-c-light{--c:#f3f4f6;--c-dark:#e5e7eb;--c-soft:#f9fafb;--c-on:#1f2937}
.blk-c-success{--c:#16803c;--c-dark:#11652f;--c-soft:#e8f6ed;--c-on:#fff}
.blk-c-info{--c:#0b62a4;--c-dark:#084a7c;--c-soft:#e7f1fa;--c-on:#fff}
.blk-c-warning{--c:#c26a00;--c-dark:#9a5400;--c-soft:#fdf2e3;--c-on:#fff}
.blk-c-danger{--c:#c0262d;--c-dark:#9b1d23;--c-soft:#fdecec;--c-on:#fff}
.is-dark .blk-c-light{--c:#2a333f;--c-on:#e5e7eb}

/* Boutons */
.blk-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.blk-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius,4px);font-weight:600;line-height:1.3;
  border:2px solid var(--c,var(--primary));background:var(--c,var(--primary));color:var(--c-on,#fff);cursor:pointer;text-decoration:none;transition:.2s;font:inherit;font-weight:600}
.blk-btn:hover{background:var(--c-dark,var(--primary-dark));border-color:var(--c-dark,var(--primary-dark));color:var(--c-on,#fff);text-decoration:none;transform:translateY(-1px)}
.blk-btn svg{flex:0 0 auto}
.blk-size-sm .blk-btn{padding:6px 14px;font-size:.88rem}.blk-size-lg .blk-btn{padding:14px 30px;font-size:1.08rem}
.blk-btn--outline{background:transparent;color:var(--c)}.blk-btn--outline:hover{background:var(--c);color:var(--c-on)}
.blk-btn--soft{background:var(--c-soft);border-color:transparent;color:var(--c-dark)}.blk-btn--soft:hover{background:var(--c);color:var(--c-on)}
.blk-btn--gradient{background:linear-gradient(135deg,var(--c),var(--accent));border-color:transparent}
.blk-btn--gradient:hover{filter:brightness(1.08);background:linear-gradient(135deg,var(--c),var(--accent))}
.blk-btn--pill{border-radius:999px}
.blk-btn--shadow{box-shadow:0 8px 20px color-mix(in srgb,var(--c) 35%,transparent)}
.blk-btn--link{background:none;border-color:transparent;color:var(--c);padding-inline:4px;text-decoration:underline;text-underline-offset:4px}
.blk-btn--link:hover{background:none;color:var(--c-dark);border-color:transparent}
.blk-btn--light{background:#fff;color:var(--c,var(--primary));border-color:#fff}.blk-btn--light:hover{background:transparent;color:#fff;border-color:#fff}
.blk-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.blk-btn--ghost:hover{background:#fff;color:var(--c,var(--primary))}
.blk-btn--full{width:100%;justify-content:center}

/* Statistiques */
.blk-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px}
.blk-stat-icon{color:var(--c)}
.blk-stat-num{font-size:2.3rem;font-weight:800;line-height:1.1;color:var(--c);font-variant-numeric:tabular-nums}
.blk-stat-label{color:var(--muted);font-weight:600}
.blk-stats--cards .blk-stat{background:var(--card,#fff);border:1px solid var(--border);border-top:4px solid var(--c);border-radius:var(--radius);box-shadow:0 4px 14px rgba(0,0,0,.05)}
.blk-stats--band{background:var(--c);padding:10px;border-radius:var(--radius)}
.blk-stats--band .blk-stat-num,.blk-stats--band .blk-stat-icon{color:var(--c-on)}.blk-stats--band .blk-stat-label{color:color-mix(in srgb,var(--c-on) 85%,transparent)}
.blk-stats--band .blk-title{color:var(--c-on);text-align:center;padding-top:10px}
.blk-stats--circles .blk-stat-num{width:120px;height:120px;border-radius:50%;border:5px solid var(--c);display:flex;align-items:center;justify-content:center;font-size:1.9rem}
.blk-stats--minimal .blk-stat{padding:10px}.blk-stats--minimal .blk-grid{gap:0}
.blk-stats--minimal .blk-stat+.blk-stat{border-inline-start:1px solid var(--border)}

/* Cartes */
.blk-card{background:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.blk-card-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.blk-card h3{font-size:1.1rem;margin:0}.blk-card h3 a{color:var(--text)}
.blk-card-icon{display:inline-flex;width:58px;height:58px;border-radius:14px;align-items:center;justify-content:center;background:var(--c-soft);color:var(--c);margin:18px 18px 0}
.blk-card-img{width:100%;aspect-ratio:16/10;object-fit:cover}
.blk-more{margin-top:auto;font-weight:600;color:var(--c)}.blk-more::after{content:" →"}[dir=rtl] .blk-more::after{content:" ←"}
.blk-cards--icon-side .blk-card{flex-direction:row;align-items:flex-start}.blk-cards--icon-side .blk-card-icon{margin:18px 0 0;margin-inline-start:18px;flex:0 0 58px}
.blk-cards--colored .blk-card{background:var(--c);border-color:var(--c);color:var(--c-on)}
.blk-cards--colored .blk-card h3,.blk-cards--colored .blk-card h3 a,.blk-cards--colored .blk-more{color:var(--c-on)}
.blk-cards--colored .blk-card-icon{background:rgba(255,255,255,.18);color:var(--c-on)}
.blk-cards--bordered .blk-card{border:2px solid var(--c-soft);box-shadow:none}
.blk-cards--hover .blk-card:hover,.blk-cards--icon-top .blk-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09)}
.blk-cards--icon-top .blk-card{text-align:center;align-items:center}.blk-cards--icon-top .blk-card-icon{margin-inline:auto}

/* Accordéon */
.blk-acc{border:1px solid var(--border);border-radius:var(--radius);background:var(--card,#fff);margin-bottom:8px}
.blk-acc summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.blk-acc summary::-webkit-details-marker{display:none}
.blk-acc summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--primary);transition:transform .2s}
.blk-acc[open] summary::after{transform:rotate(45deg)}
.blk-acc-body{padding:0 18px 14px}
.blk-accordion--lines .blk-acc{border-width:0 0 1px;border-radius:0;background:none}
.blk-accordion--colored .blk-acc[open] summary{background:var(--primary);color:#fff}.blk-accordion--colored .blk-acc[open] summary::after{color:#fff}
.blk-accordion--colored .blk-acc-body{padding-top:12px}

/* Onglets */
.blk-tabs-nav{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--border);margin-bottom:14px}
.blk-tabs-nav button{border:0;background:none;padding:10px 18px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.blk-tabs-nav button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}
.blk-tabs--pills .blk-tabs-nav{border:0}.blk-tabs--pills .blk-tabs-nav button{border-radius:999px;border:0;margin:0}
.blk-tabs--pills .blk-tabs-nav button[aria-selected=true]{background:var(--primary);color:#fff}
.blk-tabs--boxed .blk-tabs-nav button{border:1px solid var(--border);border-bottom:0;border-radius:6px 6px 0 0;margin-bottom:0}
.blk-tabs--boxed .blk-tabs-nav button[aria-selected=true]{background:var(--card,#fff);border-color:var(--primary);border-top-width:3px}
.blk-tabs--vertical{display:grid;grid-template-columns:220px 1fr;gap:20px}
.blk-tabs--vertical .blk-tabs-nav{flex-direction:column;border-bottom:0;border-inline-end:2px solid var(--border)}
.blk-tabs--vertical .blk-tabs-nav button{text-align:start;border-bottom:0;border-inline-end:3px solid transparent;margin:0;margin-inline-end:-2px}
.blk-tabs--vertical .blk-tabs-nav button[aria-selected=true]{border-inline-end-color:var(--primary)}

/* Chronologie */
.blk-timeline ol{list-style:none;margin:0;padding:0;position:relative}
.blk-timeline ol::before{content:"";position:absolute;inset-inline-start:15px;top:4px;bottom:4px;width:3px;background:var(--c-soft)}
.blk-timeline li{position:relative;padding-inline-start:48px;padding-bottom:22px}
.blk-tl-dot{position:absolute;inset-inline-start:4px;top:2px;width:26px;height:26px;border-radius:50%;background:var(--c);border:4px solid var(--card,#fff);box-shadow:0 0 0 2px var(--c);color:var(--c-on);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.blk-tl-date{display:inline-block;font-weight:700;color:var(--c);font-size:.9rem}
.blk-timeline h3{margin:2px 0 4px;font-size:1.05rem}.blk-timeline p{margin:0;color:var(--muted)}
.blk-timeline--steps .blk-tl-dot{width:30px;height:30px;inset-inline-start:2px}
@media (min-width:860px){
  .blk-timeline--alternate ol::before{inset-inline-start:calc(50% - 1px)}
  .blk-timeline--alternate li{width:50%;padding-inline-start:0;padding-inline-end:40px;text-align:end}
  .blk-timeline--alternate li .blk-tl-dot{inset-inline-start:auto;inset-inline-end:-13px}
  .blk-timeline--alternate li:nth-child(even){margin-inline-start:50%;padding-inline-start:40px;padding-inline-end:0;text-align:start}
  .blk-timeline--alternate li:nth-child(even) .blk-tl-dot{inset-inline-start:-13px;inset-inline-end:auto}
}

/* Appel à l'action */
.blk-cta{background:var(--c);color:var(--c-on);border-radius:var(--radius);padding:38px 32px;display:flex;flex-direction:column;gap:16px;align-items:center}
.blk-cta h2{margin:0;color:inherit;font-size:1.6rem}.blk-cta p{margin:0;opacity:.92;max-width:760px}
.blk-cta.blk-align-start{align-items:flex-start}.blk-cta.blk-align-end{align-items:flex-end}
.blk-cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.blk-cta--image{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),var(--cta-bg) center/cover;color:#fff;padding:70px 32px}
.blk-cta--split{flex-direction:row;justify-content:space-between;text-align:start;flex-wrap:wrap}
.blk-cta--outline{background:var(--c-soft);color:var(--text);border:2px dashed var(--c)}
.blk-cta--outline h2{color:var(--c-dark)}.blk-cta--outline .blk-btn--light{background:var(--c);color:var(--c-on);border-color:var(--c)}
.blk-cta--outline .blk-btn--ghost{color:var(--c);border-color:var(--c)}
.landing>.blk-cta{border-radius:0;margin:0}

/* Encadré */
.blk-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);border:1px solid;border-inline-start-width:5px}
.blk-alert-icon{flex:0 0 26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.blk-alert-body{flex:1}.blk-alert-body p{margin:.2em 0}
.blk-alert-close{border:0;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit;opacity:.6}
.blk-alert--info{background:#eef6fc;border-color:#9cc8eb;color:#0c3d66}.blk-alert--info .blk-alert-icon{background:#0b62a4}
.blk-alert--success{background:#ecf8f0;border-color:#9fd8b2;color:#14532d}.blk-alert--success .blk-alert-icon{background:#16803c}
.blk-alert--warning{background:#fff7e8;border-color:#f3c983;color:#713f12}.blk-alert--warning .blk-alert-icon{background:#d97706}
.blk-alert--danger{background:#fdeeee;border-color:#f0a5a8;color:#7f1d1d}.blk-alert--danger .blk-alert-icon{background:#c0262d}
.blk-alert--note{background:var(--soft);border-color:var(--border);color:var(--text)}.blk-alert--note .blk-alert-icon{background:var(--muted)}

/* Vidéo, carte */
.blk-video{margin-inline:auto}.blk-video--medium{max-width:760px}.blk-video--small{max-width:520px}
.blk-video-frame{position:relative;background:#000;border-radius:var(--radius);overflow:hidden}
.blk-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.blk-video-play{position:absolute;inset:0;width:100%;border:0;cursor:pointer;background:#111 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.blk-video-play span{width:76px;height:52px;border-radius:14px;background:#e11d1d;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.4);transition:.2s}
.blk-video-play:hover span{transform:scale(1.08)}
.blk-video figcaption{text-align:center;color:var(--muted);font-size:.9rem;margin-top:6px}
.blk-map iframe{width:100%;border:0;border-radius:var(--radius);display:block}

/* Compte à rebours */
.blk-countdown{background:linear-gradient(135deg,var(--c),var(--c-dark));color:var(--c-on);text-align:center;padding:32px 20px;border-radius:var(--radius)}
.blk-countdown h2{margin:0;color:inherit}.blk-cd-date{opacity:.85;margin:4px 0 16px}
.blk-cd-units{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.blk-cd-units div{background:rgba(255,255,255,.14);border-radius:10px;padding:12px 6px;min-width:84px}
.blk-cd-units b{display:block;font-size:2.1rem;line-height:1.1;font-variant-numeric:tabular-nums}
.blk-cd-units span{font-size:.8rem;opacity:.9}

/* Dernières actualités */
.blk-posts-list{display:grid;gap:16px}
.blk-posts--cards .blk-posts-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.blk-posts--cards .blk-post{background:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.blk-posts--cards .blk-post>div{padding:12px 16px 16px}
.blk-post-img{display:block}.blk-post-img img,.blk-post-img .ph{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--soft);display:block}
.blk-post h3{margin:6px 0 4px;font-size:1.02rem;line-height:1.45}.blk-post h3 a{color:var(--text)}
.blk-post time{color:var(--muted);font-size:.84rem}.blk-post p{margin:6px 0 0;color:var(--muted);font-size:.92rem}
.blk-posts--list .blk-post,.blk-posts--featured .blk-post{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start}
.blk-posts--compact .blk-posts-list{gap:0}.blk-posts--compact .blk-post{border-bottom:1px solid var(--border);padding:8px 0}
.blk-posts--compact .blk-post h3{font-size:.96rem;margin:0}
@media (min-width:760px){
  .blk-posts--featured .blk-posts-list{grid-template-columns:1.2fr 1fr}
  .blk-posts--featured .blk-post.is-featured{grid-row:span 4;grid-template-columns:1fr}
  .blk-posts--featured .blk-post:not(.is-featured){grid-template-columns:110px 1fr}
}
.blk-events-list{display:grid;gap:10px}

/* Barres de progression */
.blk-bar{margin-bottom:14px}
.blk-bar-head{display:flex;justify-content:space-between;font-weight:600;margin-bottom:5px}
.blk-bar-track{height:12px;background:var(--soft);border-radius:999px;overflow:hidden}
.blk-bar-track span{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--c),var(--accent));border-radius:inherit;transition:width 1.4s ease}
[data-count-up]:not(.is-visible) .blk-bar-track span{width:0}

/* Équipe */
.blk-person{background:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-align:center}
.blk-person img,.blk-person-ph{width:100%;aspect-ratio:1;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--soft);font-size:2.6rem;font-weight:700;color:var(--primary)}
.blk-person>div{padding:12px}
.blk-person h3{margin:0;font-size:1rem}.blk-person p{margin:2px 0;color:var(--muted);font-size:.9rem}
.blk-person-mail{font-size:.82rem;word-break:break-all}
.blk-team--round .blk-person{border:0;background:none}
.blk-team--round .blk-person img,.blk-team--round .blk-person-ph{width:130px;height:130px;border-radius:50%;margin:0 auto;border:4px solid var(--soft)}
.blk-team--list .blk-grid{grid-template-columns:1fr}.blk-team--list .blk-person{display:flex;text-align:start;align-items:center}
.blk-team--list .blk-person img,.blk-team--list .blk-person-ph{width:72px;height:72px;flex:0 0 72px;font-size:1.4rem}

/* Titre de section */
.blk-heading h2,.blk-heading h3{margin:0;color:var(--head,var(--primary))}
.blk-heading p{margin:.3em 0 0;color:var(--muted)}
.blk-heading--underline h2,.blk-heading--underline h3{display:inline-block;padding-bottom:8px;border-bottom:3px solid var(--accent)}
.blk-heading--center-line{display:flex;flex-direction:column;align-items:center;text-align:center}
.blk-heading--center-line h2,.blk-heading--center-line h3{display:flex;align-items:center;gap:16px;width:100%}
.blk-heading--center-line h2::before,.blk-heading--center-line h2::after,.blk-heading--center-line h3::before,.blk-heading--center-line h3::after{content:"";flex:1;height:2px;background:var(--border)}
.blk-heading--band{background:var(--primary);padding:12px 18px;border-radius:var(--radius)}
.blk-heading--band h2,.blk-heading--band h3,.blk-heading--band p{color:#fff}
.blk-heading--big h2{font-size:2.2rem;line-height:1.2}

/* Image + texte */
.blk-imgtext{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.blk-imgtext>img{width:100%;border-radius:var(--radius);object-fit:cover;max-height:460px}
.blk-imgtext--img-end>img{order:2}
.blk-imgtext h2{margin:0 0 10px;color:var(--head,var(--primary))}
.blk-imgtext .blk-btn{margin-top:14px}
.blk-imgtext--boxed{background:var(--c-soft);padding:24px;border-radius:var(--radius)}
.blk-imgtext--overlap .blk-imgtext-body{background:var(--card,#fff);padding:26px;border-radius:var(--radius);box-shadow:0 14px 34px rgba(0,0,0,.1);margin-inline-start:-80px;position:relative}
.blk-imgtext--overlap.blk-imgtext--img-end .blk-imgtext-body{margin-inline-start:0;margin-inline-end:-80px}

/* Colonnes */
.blk-col h3{margin:0 0 6px;color:var(--head,var(--primary));font-size:1.1rem}
.blk-columns--boxed .blk-col{background:var(--soft);padding:18px;border-radius:var(--radius)}
.blk-columns--divided .blk-col+.blk-col{border-inline-start:1px solid var(--border);padding-inline-start:18px}

/* Séparateurs */
.blk-spacer{margin:0}.blk-spacer--sm{height:18px}.blk-spacer--md{height:40px}.blk-spacer--lg{height:80px}
.blk-spacer--line,.blk-spacer--dashed,.blk-spacer--dots,.blk-spacer--ornament{display:flex;align-items:center;justify-content:center}
.blk-spacer--line::before{content:"";width:100%;border-top:1px solid var(--border)}
.blk-spacer--dashed::before{content:"";width:100%;border-top:2px dashed var(--border)}
.blk-spacer--dots::before{content:"• • •";color:var(--muted);letter-spacing:6px}
.blk-spacer--ornament span{color:var(--accent);letter-spacing:8px}

/* Témoignages */
.blk-testimonials-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.blk-quote{margin:0;background:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius);padding:22px;position:relative}
.blk-quote blockquote{margin:0 0 14px;padding:0;border:0;background:none;font-style:italic;line-height:1.7}
.blk-quote blockquote::before{content:"“";font-size:3rem;line-height:.5;color:var(--accent);display:block;margin-bottom:6px;font-style:normal}
.blk-quote figcaption{display:flex;gap:10px;align-items:center}
.blk-quote figcaption img{width:46px;height:46px;border-radius:50%;object-fit:cover;margin:0}
.blk-quote small{display:block;color:var(--muted)}
.blk-testimonials--quote .blk-testimonials-list{grid-template-columns:1fr}
.blk-testimonials--quote .blk-quote{background:none;border:0;text-align:center;font-size:1.2rem}
.blk-testimonials--quote figcaption{justify-content:center}
.blk-testimonials--slider .blk-testimonials-list{display:flex;overflow:hidden;scroll-snap-type:x mandatory}
.blk-testimonials--slider .blk-quote{flex:0 0 100%;scroll-snap-align:start}
.blk-carousel-nav{display:flex;justify-content:center;gap:8px;margin-top:10px}
.blk-carousel-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card,#fff);cursor:pointer;font-size:1.2rem}

/* Logos */
.blk-logos-track{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:center}
.blk-logos-track img{max-height:70px;width:auto;margin:0}
.blk-logos.is-gray img{filter:grayscale(1);opacity:.7;transition:.3s}.blk-logos.is-gray a:hover img,.blk-logos.is-gray img:hover{filter:none;opacity:1}
.blk-logos--scroll{overflow:hidden}.blk-logos--scroll .blk-logos-track{flex-wrap:nowrap;width:max-content;animation:blk-scroll 30s linear infinite}
.blk-logos--scroll:hover .blk-logos-track{animation-play-state:paused}
@keyframes blk-scroll{to{transform:translateX(-50%)}}[dir=rtl] .blk-logos--scroll .blk-logos-track{animation-name:blk-scroll-rtl}@keyframes blk-scroll-rtl{to{transform:translateX(50%)}}

/* Documents */
.blk-downloads ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.blk-downloads li{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card,#fff)}
.blk-dl-name{flex:1}.blk-dl-name small{color:var(--muted);margin-inline-start:6px}
.blk-downloads--cards ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.blk-downloads .blk-btn{padding:6px 14px;font-size:.88rem}

/* Grille de l'éditeur (outil « colonnes ») */
.prose .grid-layout{display:grid;gap:18px}
.prose details{border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;margin:1em 0}
.prose details summary{cursor:pointer;font-weight:600}

/* HTML libre */
.blk-html iframe{max-width:100%;border:0}

/* Page « vitrine » (sans bandeau de titre) */
.landing{max-width:var(--container);margin-inline:auto;padding:24px 12px}
.landing>.blk{margin:0 0 34px}

/* ---------- Formulaires ---------- */
.fform{margin:1.6em 0}
.fform--card{background:var(--card,#fff);border:1px solid var(--border);border-top:4px solid var(--primary);border-radius:var(--radius);padding:26px;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.fform--colored{background:var(--soft);padding:26px;border-radius:var(--radius)}
.fform-title{margin:0 0 6px;color:var(--head,var(--primary));font-size:1.35rem}
.fform-desc{color:var(--muted);margin-bottom:16px}
.fform-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px}
.fform-field{grid-column:span 6;display:flex;flex-direction:column;gap:5px}
.fform-w-half{grid-column:span 3}.fform-w-third{grid-column:span 2}
.fform-field>label,.fform-field legend{font-weight:600;font-size:.93rem}
.fform-field fieldset{border:0;margin:0;padding:0}
.fform .req{color:#c0262d;margin-inline-start:3px}
.fform input[type=text],.fform input[type=email],.fform input[type=tel],.fform input[type=number],.fform input[type=date],.fform input[type=time],
.fform input[type=url],.fform select,.fform textarea,.fform input[type=file]{width:100%;padding:10px 12px;border:1px solid #cfd5dc;border-radius:6px;font:inherit;background:var(--card,#fff);color:var(--text)}
.fform input:focus,.fform select:focus,.fform textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}
.fform .has-error input,.fform .has-error select,.fform .has-error textarea{border-color:#c0262d}
.fform-error{color:#c0262d;font-size:.85rem;margin:0}
.fform-help{color:var(--muted);font-size:.83rem;margin:0}
.fform-choices{display:flex;flex-direction:column;gap:6px}.fform-choices.is-inline{flex-direction:row;flex-wrap:wrap;gap:6px 18px}
.fform-choice{display:flex;gap:8px;align-items:flex-start;font-weight:400!important;cursor:pointer}
.fform-choice input{margin-top:5px;accent-color:var(--primary)}
.fform-consent p{margin:0}
.fform-section{grid-column:1/-1;margin:10px 0 0;padding-bottom:6px;border-bottom:2px solid var(--soft);color:var(--head,var(--primary));font-size:1.1rem}
.fform-paragraph{color:var(--muted)}.fform-paragraph p{margin:0}
.fform-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.fform-rating input{position:absolute;opacity:0;pointer-events:none}
.fform-rating label{font-size:1.8rem;color:#d1d5db;cursor:pointer;line-height:1}
.fform-rating input:checked~label,.fform-rating label:hover,.fform-rating label:hover~label{color:#f5a623}
.fform-rating input:focus-visible+label{outline:2px solid var(--primary)}
.fform-actions{margin-top:18px}
.fform-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fform-remaining{font-weight:600;color:var(--primary)}
.fform [hidden]{display:none!important}
.fform-page{max-width:860px;margin-inline:auto}

/* ---------- Tableaux ---------- */
.dtable-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.dtable-tools input{padding:9px 14px;border:1px solid var(--border);border-radius:999px;min-width:260px;font:inherit;background:var(--card,#fff);color:var(--text)}
.dtable-count{color:var(--muted);font-size:.88rem}
.dtable-desc{color:var(--muted);margin-bottom:10px}
.dtable-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
.dtable table{width:100%;border-collapse:collapse;margin:0;font-size:.94rem}
.dtable th,.dtable td{padding:10px 12px;text-align:start;border:0;border-bottom:1px solid var(--border);vertical-align:top}
.dtable thead th{background:var(--soft);position:sticky;top:0;z-index:1}
.dtable thead button{all:unset;cursor:pointer;font-weight:700;display:inline-flex;gap:6px;align-items:center}
.dtable thead button span::after{content:"⇅";opacity:.35;font-size:.8em}
.dtable thead button[aria-sort=ascending] span::after{content:"▲";opacity:1}.dtable thead button[aria-sort=descending] span::after{content:"▼";opacity:1}
.dtable .dt-align-center{text-align:center}.dtable .dt-align-end{text-align:end}
.dtable .dt-number{font-variant-numeric:tabular-nums}
.dtable--striped tbody tr[data-dt-row]:nth-child(even){background:color-mix(in srgb,var(--soft) 60%,transparent)}
.dtable--bordered td,.dtable--bordered th{border:1px solid var(--border)}
.dtable--minimal .dtable-wrap{border:0}.dtable--minimal thead th{background:none;border-bottom:2px solid var(--text)}
.dtable--colored thead th{background:var(--primary);color:#fff}
.dt-group th{background:color-mix(in srgb,var(--primary) 12%,var(--card,#fff));color:var(--head,var(--primary));font-weight:700}
.dt-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:600;color:#333}
.dt-yes{color:#16803c;font-weight:700}.dt-no{color:#c0262d}
.dtable tbody tr[data-dt-row]:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}
.dtable-pager{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.dtable-pager button{min-width:36px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card,#fff);cursor:pointer;font:inherit;color:var(--text)}
.dtable-pager button[aria-current=true]{background:var(--primary);color:#fff;border-color:var(--primary)}
.dtable-pager button:disabled{opacity:.45;cursor:default}
@media (max-width:700px){
  .dtable--cards thead{display:none}
  .dtable--cards tr[data-dt-row]{display:block;border-bottom:2px solid var(--border);padding:6px 0}
  .dtable--cards td{display:flex;gap:10px;border:0;padding:4px 12px}
  .dtable--cards td::before{content:attr(data-label);font-weight:700;min-width:40%;color:var(--muted)}
}

/* Bandeau d'aperçu */
.preview-banner{background:repeating-linear-gradient(45deg,#fde68a 0 14px,#fcd34d 14px 28px);color:#713f12;text-align:center;font-weight:700;padding:8px;position:sticky;top:0;z-index:999}

/* Responsive */
@media (max-width:900px){
  .blk-grid{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}
  .blk-imgtext{grid-template-columns:1fr}.blk-imgtext--img-end>img{order:0}
  .blk-imgtext--overlap .blk-imgtext-body{margin:0!important}
  .blk-tabs--vertical{grid-template-columns:1fr}.blk-tabs--vertical .blk-tabs-nav{flex-direction:row;border-inline-end:0;border-bottom:2px solid var(--border)}
}
@media (max-width:600px){
  .blk-grid{grid-template-columns:1fr}
  .blk-stats .blk-grid{grid-template-columns:repeat(2,1fr)}
  .fform-w-half,.fform-w-third{grid-column:span 6}
  .blk-posts--list .blk-post{grid-template-columns:100px 1fr}
  .blk-cta--split{flex-direction:column;text-align:center}
  .blk-stats--minimal .blk-stat+.blk-stat{border:0}
  .blk-columns--divided .blk-col+.blk-col{border:0;padding:0}
}
@media (prefers-reduced-motion:reduce){.blk-logos--scroll .blk-logos-track{animation:none;flex-wrap:wrap;width:auto}.blk-bar-track span{transition:none}}
@media print{.blk-video,.blk-map,.dtable-tools,.dtable-pager,.fform{display:none}}
