/*
Theme Name: USA TIR Premium
Theme URI: https://www.usatir.fr
Author: USA TIR Aubenas
Author URI: https://www.usatir.fr
Description: Thème premium pour le club de tir sportif U.S.A TIR – Union Sportive Albenassienne de Tir. Design moderne, clair et responsive.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: usa-tir-premium
Tags: one-column, custom-menu, custom-logo, featured-images, translation-ready
*/

/* ═══════════════════════════════════════════════
   RESET & VARIABLES
   ═══════════════════════════════════════════════ */
:root{
    --navy:#0f1a3a;--navy-mid:#1a2744;--blue:#2a5cff;--blue-soft:#e8eeff;--blue-glow:#4a7aff;
    --gold:#c8960a;--gold-light:#f0c830;--gold-bg:#fdf8eb;
    --white:#ffffff;--bg:#f7f8fc;--bg-alt:#eef0f7;
    --text:#1a2040;--text-mid:#3a4260;--text-light:#6b7394;
    --border:rgba(26,39,68,0.08);--card-bg:#ffffff;--card-shadow:0 4px 24px rgba(26,39,68,0.06);
    --radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6}
a{color:var(--blue);text-decoration:none;transition:.2s}
a:hover{color:var(--navy)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

/* ── Animations ── */
@keyframes usaFadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes usaGlow{0%,100%{opacity:.3}50%{opacity:.7}}
@keyframes usaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes animBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes animTitle{from{opacity:0;transform:translateY(30px) scale(.95);letter-spacing:20px}to{opacity:1;transform:translateY(0) scale(1);letter-spacing:4px}}
@keyframes animFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes animSlideLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}
@keyframes animSlideRight{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
@keyframes animScale{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.anim-bounce{animation:animBounce 3s ease-in-out infinite}
.anim-title{animation:animTitle .8s ease-out forwards}
.anim-fade{opacity:0;animation:animFadeUp .6s ease-out forwards}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(50px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.85);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* ── Page transitions ── */
.page-transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99998;pointer-events:none;background:var(--navy);opacity:0;transition:opacity .4s ease}
.page-transition-overlay.active{opacity:1;pointer-events:all}
body.page-entering{animation:pageEnter .5s ease-out forwards}
@keyframes pageEnter{from{opacity:0}to{opacity:1}}

/* ═══════════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════════ */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 60px;display:flex;align-items:center;justify-content:space-between;transition:.4s}
.site-nav.scrolled{background:rgba(255,255,255,0.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 60px;box-shadow:0 2px 30px rgba(26,39,68,.06)}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:28px;color:#fff;letter-spacing:3px;transition:.3s;text-decoration:none}
.nav-logo em{font-style:normal;color:var(--gold-light)}
.site-nav.scrolled .nav-logo{color:var(--navy)}
.site-nav.scrolled .nav-logo em{color:var(--gold)}

.nav-menu{display:flex;gap:28px;align-items:center;list-style:none}
.nav-menu a{color:rgba(255,255,255,.7);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;position:relative;padding:4px 0;transition:.3s}
.nav-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:.3s}
.nav-menu a:hover,.nav-menu .current-menu-item a{color:#fff}
.nav-menu a:hover::after,.nav-menu .current-menu-item a::after{width:100%}
.site-nav.scrolled .nav-menu a{color:var(--text-light)}
.site-nav.scrolled .nav-menu a:hover,.site-nav.scrolled .nav-menu .current-menu-item a{color:var(--navy)}

.nav-cta{padding:10px 22px;background:var(--blue);color:#fff !important;border-radius:8px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;transition:.3s}
.nav-cta:hover{background:var(--navy);transform:translateY(-1px)}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.nav-toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.site-nav.scrolled .nav-toggle span{background:var(--navy)}
.site-nav.not-front{background:var(--white);box-shadow:0 2px 20px rgba(26,39,68,.06)}

/* ── Mini nav (subpages) ── */
.site-nav-mini{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;background:var(--white);box-shadow:0 2px 20px rgba(26,39,68,.06)}
.site-nav-mini .nav-logo{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--navy);letter-spacing:2px;text-decoration:none}
.site-nav-mini .nav-logo em{font-style:normal;color:var(--gold)}
.nav-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;color:var(--navy);transition:.3s;text-decoration:none}
.nav-back-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.nav-mobile{display:none}

/* ═══════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════ */
.hero{height:100vh;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;background:#0a0e1a}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(5,8,18,0.7) 85%,rgba(5,8,18,0.95) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;padding-bottom:100px;animation:usaFadeUp 1.2s ease-out}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;animation:usaFloat 2s ease-in-out infinite}
.hero-scroll span{display:block;width:24px;height:40px;border:2px solid rgba(255,255,255,.2);border-radius:12px;position:relative}
.hero-scroll span::after{content:'';width:4px;height:8px;background:var(--gold);border-radius:2px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:usaFloat 1.5s ease-in-out infinite}

/* ═══════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════ */
.btn{display:inline-block;padding:14px 36px;background:var(--blue);color:#fff;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;cursor:pointer;transition:.3s;text-transform:uppercase;text-align:center}
.btn:hover{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px rgba(26,39,68,.15)}
.btn-outline{display:inline-block;padding:14px 36px;background:transparent;color:var(--navy);border:2px solid var(--border);border-radius:10px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:1px;cursor:pointer;transition:.3s;text-transform:uppercase;text-align:center}
.btn-outline:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn-light{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.8)}
.btn-light:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.btn-sm{font-size:12px;padding:10px 24px}

/* ═══════════════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════════════ */
.section{padding:100px 60px}
.section-white{background:var(--white)}
.section-dark{background:var(--navy);color:#fff}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:rgba(255,255,255,.5)}
.section-dark .section-label{color:var(--gold-light)}
.section-header{text-align:center;max-width:680px;margin:0 auto 50px}
.section-label{font-size:11px;color:var(--gold);letter-spacing:4px;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.section-title{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.15;margin-bottom:16px;color:var(--navy)}
.section-desc{color:var(--text-light);font-size:15px;line-height:1.7}
.accent-line{width:50px;height:3px;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:2px;margin:0 auto 20px}
.container{max-width:1200px;margin:0 auto}

/* ═══════════════════════════════════════════════
   CARDS GRID
   ═══════════════════════════════════════════════ */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}

/* ── News cards ── */
.news-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(26,39,68,.04);position:relative}
.news-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(26,39,68,.12);border-color:rgba(42,92,255,.2)}
.news-card-img{height:200px;overflow:hidden;background:var(--bg-alt);position:relative}
.news-card-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.news-card:hover .news-card-img img{transform:scale(1.08)}
.news-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.1;background:linear-gradient(135deg,var(--bg-alt),#e2e5ed)}
.news-card-cat-badge{position:absolute;top:12px;left:12px;background:rgba(15,26,58,.85);backdrop-filter:blur(4px);color:var(--gold);padding:4px 12px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.news-card-media-badge{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(4px);color:var(--navy);padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700}
.news-card-body{padding:20px 22px 22px}
.news-card-meta{display:flex;gap:12px;margin-bottom:10px}
.news-card-date,.news-card-reading{font-size:11px;color:var(--text-light);font-weight:500}
.news-card h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;line-height:1.3;margin-bottom:8px;color:var(--navy)}
.news-card h3 a{color:var(--navy);text-decoration:none}
.news-card h3 a:hover{color:var(--blue)}
.news-card p{font-size:13px;color:var(--text-light);line-height:1.6;margin-bottom:16px}
.news-card-link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);display:inline-flex;align-items:center;gap:6px;transition:.2s;text-decoration:none}
.news-card-link span{transition:.3s;display:inline-block}
.news-card:hover .news-card-link span{transform:translateX(4px)}
.news-card:hover .news-card-link{color:var(--navy)}

/* CTA button */
.news-cta{text-align:center;margin-top:36px}

/* ── Service cards ── */
.service-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:40px 32px;text-align:center;transition:.4s;box-shadow:var(--card-shadow);position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--gold));opacity:0;transition:.3s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 50px rgba(26,39,68,.1)}
.service-card:hover::before{opacity:1}
.service-icon{width:64px;height:64px;background:var(--blue-soft);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px;transition:.3s}
.service-card:hover .service-icon{background:var(--blue);box-shadow:0 8px 24px rgba(42,92,255,.2)}
.service-card h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:12px;color:var(--navy)}
.service-card p{color:var(--text-light);font-size:14px;line-height:1.6;margin-bottom:20px}

/* ── Discipline cards ── */
.disc-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:36px 24px;text-align:center;transition:.4s;box-shadow:var(--card-shadow)}
.disc-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 12px 40px rgba(200,150,10,.08)}
.disc-icon{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;background:var(--gold-bg);border:2px solid rgba(200,150,10,.15);display:flex;align-items:center;justify-content:center;font-size:36px;transition:.3s;overflow:hidden}
.disc-icon-img{width:56px;height:56px;object-fit:contain}
.disc-card:hover .disc-icon{border-color:var(--gold);background:var(--gold);box-shadow:0 0 30px rgba(200,150,10,.15)}
.disc-card h3{font-size:18px;font-weight:700;margin-bottom:10px;color:var(--navy)}
.disc-card p{font-size:13px;color:var(--text-light);line-height:1.6}
/* Discipline card with image banner */
.disc-card-hasimg{padding:0 0 28px;overflow:hidden}
.disc-card-banner{width:100%;height:170px;overflow:hidden;background:linear-gradient(135deg,var(--bg-alt,#f3f4f6),#e5e7eb);margin-bottom:20px}
.disc-card-banner img{width:100%;height:100%;object-fit:cover;transition:.4s}
.disc-card-hasimg:hover .disc-card-banner img{transform:scale(1.06)}
.disc-card-hasimg h3{padding:0 24px}
.disc-card-hasimg p{padding:0 24px}
.disc-card-hasimg .btn-outline{margin-left:24px;margin-right:24px}

/* ── Team cards ── */
.team-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center;transition:.4s;box-shadow:var(--card-shadow)}
.team-card:hover{transform:translateY(-4px);box-shadow:0 16px 50px rgba(26,39,68,.1)}
.team-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--bg-alt),var(--blue-soft));margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:40px;border:3px solid var(--border);overflow:hidden}
.team-avatar img{width:100%;height:100%;object-fit:cover}
.team-card h3{font-size:17px;font-weight:700;margin-bottom:4px;color:var(--navy)}
.team-role{font-size:13px;color:var(--gold);font-weight:600}
/* ── Team groups (circles) ── */
.team-group-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--navy);text-align:center;margin:40px 0 24px}
.team-group-title:first-child{margin-top:0}
.team-circles{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;margin-bottom:20px}
.team-circle-card{text-align:center;width:150px;transition:.3s}
.team-circle-card.team-clickable{cursor:pointer}
.team-circle{width:120px;height:120px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,var(--bg-alt,#f3f4f6),var(--blue-soft,#eef4ff));display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--border);transition:.3s;box-shadow:0 4px 16px rgba(26,39,68,.08)}
.team-circle img{width:100%;height:100%;object-fit:cover}
.team-circle span{font-size:48px}
.team-circle-card:hover .team-circle{transform:translateY(-4px) scale(1.04);border-color:var(--gold);box-shadow:0 10px 30px rgba(200,150,10,.2)}
.team-clickable:hover .team-circle{border-color:var(--gold)}
.team-circle-name{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:2px}
.team-circle-role{font-size:13px;color:var(--gold);font-weight:600}
.team-clickable .team-circle-name::after{content:' 👁';font-size:11px;opacity:.5}
.team-modal-avatar{width:110px;height:110px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,var(--bg-alt,#f3f4f6),var(--blue-soft,#eef4ff));display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--gold)}
.team-modal-role{font-size:14px;color:var(--gold);font-weight:600;margin-top:2px}
@media(max-width:600px){.team-circles{gap:20px}.team-circle-card{width:120px}.team-circle{width:96px;height:96px}}

/* ═══════════════════════════════════════════════
   SPLIT LAYOUT
   ═══════════════════════════════════════════════ */
.usa-split-row{display:flex;gap:60px;align-items:center}
.usa-split-row .split-text{flex:1;min-width:0}
.usa-split-row .split-img{flex:1;min-width:0;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 60px rgba(26,39,68,.12)}
.usa-split-row .split-img img{width:100%;height:100%;object-fit:cover;min-height:380px;display:block}
.split-placeholder{min-height:380px;background:linear-gradient(135deg,var(--navy-mid),#0f1a3d);display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}
.split-placeholder span{font-size:80px;opacity:.15}
.split-text .section-label{text-align:left}
.split-text h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3vw,40px);font-weight:800;margin-bottom:16px;color:var(--navy)}
.split-text .accent-line{margin:0 0 20px}
.split-text p{color:var(--text-light);font-size:15px;line-height:1.8;margin-bottom:16px}
.split-text strong{color:var(--navy)}
.section-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(42,92,255,.08),transparent 60%);pointer-events:none}

/* ── Parallax ── */
.usa-parallax{background-attachment:fixed !important;background-size:cover !important;background-position:center !important}
.section-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,14,26,0.8),rgba(15,26,61,0.7));pointer-events:none;z-index:0}
.section-dark .section-header{position:relative;z-index:1}

/* Parallax on split images */
.split-img-parallax{background-attachment:fixed;background-size:cover;background-position:center;min-height:400px;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 60px rgba(26,39,68,.12)}

@media(max-width:1024px){
    .usa-parallax{background-attachment:scroll !important}
    .split-img-parallax{background-attachment:scroll}
}

/* ── Full-width split (image as background) ── */
.usa-full-split{position:relative;min-height:500px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.usa-full-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,14,26,0.85),rgba(15,26,61,0.7))}
.usa-full-content{position:relative;z-index:1;max-width:750px;padding:80px 40px;text-align:center}
.usa-full-content h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3vw,42px);font-weight:800;margin-bottom:16px}
.usa-full-content .accent-line{margin:0 auto 20px}
.usa-full-content p{font-size:15px;line-height:1.8;margin-bottom:16px}
.usa-full-content .hero-btns{display:flex;gap:16px;justify-content:center;margin-top:24px;flex-wrap:wrap}

/* ── Iframe Modal ── */
/* ── Popup Modal ── */
.usa-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);z-index:999999;display:none;align-items:flex-start;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow-y:auto;padding:40px 20px}
.usa-popup-overlay.open{display:flex}
.usa-popup-box{background:#fff;border-radius:16px;box-shadow:0 20px 80px rgba(0,0,0,.4);position:relative;width:95%;max-width:900px;padding:30px;margin:auto}
.usa-popup-close{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;z-index:1000000;transition:.2s}
.usa-popup-close:hover{background:rgba(220,38,38,.9);transform:scale(1.1)}

/* ═══════════════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════════════ */
.contact-info h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;margin-bottom:16px;color:var(--navy)}
.contact-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}
.contact-icon{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.contact-text{font-size:14px;color:var(--text-light);line-height:1.6}
.contact-text strong{color:var(--navy);display:block;margin-bottom:2px}
.contact-map{margin-top:24px}
.contact-map iframe{display:block;box-shadow:0 4px 20px rgba(26,39,68,.08);border:1px solid var(--border)}
.contact-map-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:600;color:var(--blue);text-decoration:none;padding:8px 16px;border:1px solid var(--border);border-radius:10px;background:var(--white);transition:.2s}
.contact-map-link:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-1px)}
/* ── Duo blocks (two facing) ── */
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.duo-block{background:linear-gradient(160deg,#fff 0%,color-mix(in srgb,var(--duo-color) 4%,#fff) 100%);border:1px solid var(--border);border-radius:24px;padding:48px 36px;text-align:center;box-shadow:0 8px 30px rgba(26,39,68,.07);transition:.35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}
/* Decorative target rings in the background */
.duo-block::after{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,transparent 30%,color-mix(in srgb,var(--duo-color) 8%,transparent) 31%,color-mix(in srgb,var(--duo-color) 8%,transparent) 33%,transparent 34%,transparent 46%,color-mix(in srgb,var(--duo-color) 6%,transparent) 47%,color-mix(in srgb,var(--duo-color) 6%,transparent) 49%,transparent 50%);opacity:.9;pointer-events:none;transition:.5s}
.duo-block::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--duo-color),color-mix(in srgb,var(--duo-color) 50%,#fff));transform:scaleX(0);transition:.35s;transform-origin:left;z-index:2}
.duo-block:hover{transform:translateY(-6px);box-shadow:0 20px 50px color-mix(in srgb,var(--duo-color) 18%,rgba(26,39,68,.12));border-color:var(--duo-color)}
.duo-block:hover::before{transform:scaleX(1)}
.duo-block:hover::after{transform:scale(1.15) rotate(15deg);opacity:1}
.duo-block>*{position:relative;z-index:1}
.duo-icon{width:88px;height:88px;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--duo-color) 16%,transparent),color-mix(in srgb,var(--duo-color) 6%,transparent));display:flex;align-items:center;justify-content:center;font-size:42px;margin-bottom:24px;transition:.35s;box-shadow:0 6px 20px color-mix(in srgb,var(--duo-color) 15%,transparent);position:relative}
.duo-icon::after{content:'';position:absolute;inset:-4px;border-radius:26px;border:2px solid color-mix(in srgb,var(--duo-color) 25%,transparent);opacity:0;transition:.35s}
.duo-block:hover .duo-icon{background:var(--duo-color);transform:scale(1.08) rotate(-4deg);box-shadow:0 12px 30px color-mix(in srgb,var(--duo-color) 35%,transparent)}
.duo-block:hover .duo-icon::after{opacity:1;inset:-8px}
.duo-block h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--navy);margin:0 0 14px;position:relative;display:inline-block}
.duo-block h3::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:36px;height:3px;border-radius:2px;background:var(--duo-color);opacity:.6;transition:.35s}
.duo-block:hover h3::after{width:60px;opacity:1}
.duo-block p{font-size:15px;color:var(--text-light);line-height:1.75;margin:16px 0 28px;flex:1}
.duo-btn{display:inline-flex;align-items:center;gap:8px;background:var(--duo-color);color:#fff;text-decoration:none;padding:14px 32px;border-radius:14px;font-size:14px;font-weight:700;transition:.3s;box-shadow:0 6px 20px color-mix(in srgb,var(--duo-color) 30%,transparent)}
.duo-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--duo-color) 45%,transparent)}
@media(max-width:768px){.duo-grid{grid-template-columns:1fr;gap:20px}.duo-block{padding:40px 28px}}
/* ── Ornamental separator ── */
.usa-separator{display:flex;align-items:center;justify-content:center;gap:16px;max-width:520px;margin:0 auto;padding:44px 20px 4px}
.usa-separator .sep-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold,#c8960a))}
.usa-separator .sep-line.right{background:linear-gradient(90deg,var(--gold,#c8960a),transparent)}
.usa-separator .sep-mark{position:relative;width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.usa-separator .sep-mark::before{content:'';position:absolute;inset:0;border:2px solid var(--gold,#c8960a);border-radius:50%;opacity:.55}
.usa-separator .sep-mark::after{content:'';width:9px;height:9px;background:var(--gold,#c8960a);border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--gold,#c8960a) 18%,transparent)}
.usa-separator .sep-dot{width:5px;height:5px;border-radius:50%;background:var(--gold,#c8960a);opacity:.5;flex-shrink:0}
/* ── Footer links (icon buttons) ── */
.footer-links{margin:0 0 24px}
.footer-links-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#fff;margin:0 0 14px}
.footer-links-row{display:flex;flex-wrap:wrap;gap:10px}
.footer-link-btn{width:78px;height:78px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:32px;text-decoration:none;transition:.25s;overflow:hidden;padding:0}
.footer-link-btn:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);border-color:rgba(255,255,255,.4)}
.footer-link-btn img{width:100%;height:100%;object-fit:cover;display:block;border-radius:16px}
.footer-link-btn.has-img{background:#fff;border-color:transparent}
.footer-links-row{display:flex;flex-wrap:wrap;gap:14px}
.contact-form input,.contact-form textarea{width:100%;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 18px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:.2s;margin-bottom:16px;resize:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(42,92,255,.08)}
.contact-form textarea{min-height:140px}

/* ═══════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════ */
.site-footer{background:var(--navy);padding:40px 60px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.4)}
.footer-legal{font-size:12px}
.footer-legal a{color:rgba(255,255,255,.55);text-decoration:none;transition:.2s}
.footer-legal a:hover{color:var(--gold)}
.footer-legal-sep{margin:0 8px;color:rgba(255,255,255,.25)}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:20px;color:#fff;letter-spacing:2px}
.footer-logo em{font-style:normal;color:var(--gold-light)}

/* ═══════════════════════════════════════════════
   PAGE / SINGLE TEMPLATES
   ═══════════════════════════════════════════════ */
.page-header{background:var(--navy);padding:110px 60px 50px;text-align:center}
.page-header h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,60px);color:#fff;letter-spacing:3px}
.page-header p{color:rgba(255,255,255,.5);margin-top:8px}
.page-content{max-width:960px;margin:0 auto;padding:60px 30px}
.page-content h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;color:var(--navy);margin:40px 0 16px}
.page-content h3{font-size:22px;font-weight:700;color:var(--navy);margin:30px 0 12px}
.page-content p{color:var(--text-mid);font-size:16px;line-height:1.8;margin-bottom:16px}
.page-content ul,.page-content ol{margin:16px 0;padding-left:24px}
.page-content li{color:var(--text-mid);font-size:15px;line-height:1.8;margin-bottom:6px;list-style:disc}
.page-content img{border-radius:var(--radius);margin:24px 0;box-shadow:var(--card-shadow)}
.page-content table{width:100%;border-collapse:collapse;margin:20px 0}
.page-content table th,.page-content table td{padding:10px 14px;border:1px solid var(--border);font-size:14px}
.page-content table th{background:var(--bg-alt);font-weight:600;color:var(--navy)}
/* WordPress blocks */
.page-content .wp-block-shortcode{margin:24px 0}
.page-content .wp-block-image{margin:24px 0}
.page-content .wp-block-separator{border:none;border-top:2px solid var(--border);margin:40px 0}

/* ═══════════════════════════════════════════════
   PAGE TEMPLATES – Animated (Formation, FDO)
   ═══════════════════════════════════════════════ */
.page-hero{padding:120px 60px 60px;text-align:center;position:relative;overflow:hidden}
.page-hero-anim{min-height:420px;display:flex;align-items:center;justify-content:center}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(42,92,255,.08),transparent 60%);pointer-events:none}
.page-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.page-hero-icon{font-size:64px;margin-bottom:16px}
.page-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,72px);color:#fff;letter-spacing:4px;margin-bottom:12px}
.page-hero p{color:rgba(255,255,255,.6);font-size:16px;line-height:1.7;margin-bottom:24px}
.page-hero-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.page-badge{display:inline-block;padding:8px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:30px;font-size:13px;font-weight:600;color:rgba(255,255,255,.8);backdrop-filter:blur(4px);transition:.3s}
.page-badge:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);transform:translateY(-2px)}
.page-shortcode-wrap{max-width:1000px;margin:0 auto;padding:50px 30px}

/* Particles */
.particles-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}

/* Background target rings */
.hero-rings-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none}
.hero-ring-bg{position:absolute;border:2px solid rgba(255,255,255,.12);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:usaGlow 4s ease-in-out infinite}
.hero-ring-bg:nth-child(1){width:120px;height:120px;border-width:3px;border-color:rgba(255,255,255,.2);animation-delay:0s}
.hero-ring-bg:nth-child(2){width:240px;height:240px;border-color:rgba(255,255,255,.15);animation-delay:.5s}
.hero-ring-bg:nth-child(3){width:360px;height:360px;border-color:rgba(255,255,255,.1);animation-delay:1s}
.hero-ring-bg:nth-child(4){width:480px;height:480px;border-color:rgba(255,255,255,.07);animation-delay:1.5s}
.hero-ring-bg:nth-child(5){width:600px;height:600px;border-color:rgba(255,255,255,.04);animation-delay:2s}
/* Bullseye center */
.hero-rings-bg::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:rgba(255,80,80,.5);border-radius:50%;box-shadow:0 0 20px rgba(255,80,80,.4),0 0 60px rgba(255,80,80,.15);z-index:1}
/* Crosshair */
.hero-rings-bg::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:620px;height:620px;z-index:0;background:linear-gradient(to right,transparent calc(50% - 1px),rgba(255,255,255,.06) calc(50% - 1px),rgba(255,255,255,.06) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom,transparent calc(50% - 1px),rgba(255,255,255,.06) calc(50% - 1px),rgba(255,255,255,.06) calc(50% + 1px),transparent calc(50% + 1px))}

/* Hero animations */
@keyframes animBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes animTitle{from{opacity:0;transform:translateY(30px) scale(.95);letter-spacing:20px}to{opacity:1;transform:translateY(0) scale(1);letter-spacing:4px}}
@keyframes animFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.anim-bounce{animation:animBounce 3s ease-in-out infinite}
.anim-title{animation:animTitle .8s ease-out forwards}
.anim-fade{opacity:0;animation:animFadeUp .6s ease-out forwards}

/* ── Steps section ── */
.page-steps-section{padding:60px 30px 50px;background:var(--white)}
.page-steps-label{text-align:center;font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--navy);margin-bottom:40px;position:relative}
.page-steps-label::after{content:'';display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:2px;margin:14px auto 0}

.page-steps-grid{display:flex;align-items:center;justify-content:center;gap:0;max-width:1000px;margin:0 auto}

.page-step-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px 24px;text-align:center;box-shadow:var(--card-shadow);transition:.4s;position:relative;flex:1;max-width:280px}
.page-step-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(26,39,68,.12);border-color:var(--blue)}
.page-step-number{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:28px;height:28px;background:var(--blue);color:#fff;border-radius:50%;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(42,92,255,.3)}
.page-step-icon{font-size:40px;margin-bottom:14px;transition:.3s}
.page-step-card:hover .page-step-icon{transform:scale(1.15)}
.page-step-card h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--navy);margin-bottom:10px}
.page-step-card p{color:var(--text-light);font-size:13px;line-height:1.6}

/* Connector arrows */
.page-step-connector{display:flex;align-items:center;justify-content:center;width:60px;flex-shrink:0;position:relative}
.connector-line{width:100%;height:2px;background:linear-gradient(90deg,var(--border),var(--blue),var(--border));position:relative}
.connector-line::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--blue);border-radius:50%;box-shadow:0 0 10px rgba(42,92,255,.4);animation:usaGlow 2s ease-in-out infinite}
.connector-arrow{position:absolute;right:-2px;font-size:20px;color:var(--blue);font-weight:700}

/* ═══════════════════════════════════════════════
   BLOG ARCHIVE
   ═══════════════════════════════════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto;padding:0 30px}
.pagination{display:flex;justify-content:center;gap:8px;padding:40px 0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid var(--border);color:var(--text-mid);transition:.2s}
.pagination a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ═══════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════ */
@media(max-width:1024px){
    .section{padding:70px 30px}
    .site-nav{padding:16px 24px}.site-nav.scrolled{padding:12px 24px}
    .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
    .grid-2{grid-template-columns:1fr;gap:40px}
    .usa-split-row{flex-direction:column;gap:40px}
    .usa-split-row .split-img img{min-height:280px}
    .usa-full-content{padding:50px 30px}
    .site-footer{padding:30px 24px}
    .page-header{padding:90px 30px 40px}
    .page-hero{padding:100px 30px 50px}
    .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .nav-menu{display:none}
    .nav-toggle{display:flex}
    .nav-mobile.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,.1);gap:0}
    .nav-mobile.open a{color:var(--text);padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
    .site-nav-mini{padding:10px 16px}
    .site-nav-mini .nav-logo{font-size:18px}
    .nav-back-btn{padding:6px 14px;font-size:12px}
    .grid-4,.grid-3,.blog-grid{grid-template-columns:1fr}
    .page-info-grid{grid-template-columns:1fr}
    .hero-btns{flex-direction:column;align-items:center}
    .site-footer{flex-direction:column;gap:12px;text-align:center}
    .section{padding:60px 20px}
    .page-header{padding:80px 20px 30px}
    .page-hero{padding:80px 20px 30px}
    .page-hero-badges{flex-direction:column;align-items:center}
    .page-steps-grid{flex-direction:column;gap:20px}
    .page-step-connector{width:auto;height:30px;transform:rotate(90deg)}
    .blog-hero{min-height:280px;padding:80px 20px 30px}
    .blog-hero-content h1{font-size:32px}
    .blog-search{max-width:100%}
    .blog-cats{padding:12px 16px;gap:6px}
    .blog-cat-tag{font-size:11px;padding:5px 12px}
    .article-hero{min-height:300px;padding:80px 20px 40px}
    .article-hero-content h1{font-size:28px}
    .article-content{padding:30px 20px}
    .article-nav{flex-direction:column;gap:12px}
    .article-nav-item{text-align:left!important}
}

/* ═══════════════════════════════════════════════
   BLOG ARCHIVE
   ═══════════════════════════════════════════════ */
.blog-hero{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:120px 30px 50px}
.blog-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy) 0%,#1a2d5a 50%,var(--navy-mid) 100%)}
.blog-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(42,92,255,.12),transparent 60%)}
.blog-hero-content{position:relative;z-index:2;max-width:600px}
.blog-hero-content h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,64px);color:#fff;letter-spacing:3px;margin:8px 0 6px}
.blog-hero-content p{color:rgba(255,255,255,.5);font-size:14px;margin-bottom:20px}
.blog-search{display:flex;max-width:400px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.blog-search input{flex:1;padding:12px 16px;border:none;font-size:14px;font-family:'DM Sans',sans-serif;outline:none;background:rgba(255,255,255,.95);color:var(--navy)}
.blog-search button{padding:12px 16px;background:var(--blue);color:#fff;border:none;cursor:pointer;font-size:16px;transition:.2s}
.blog-search button:hover{background:var(--navy)}

.blog-cats{display:flex;justify-content:center;gap:8px;padding:16px 30px;flex-wrap:wrap;background:var(--white);border-bottom:1px solid var(--border)}
.blog-cat-tag{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;color:var(--text-mid);border:1px solid var(--border);transition:.2s;text-decoration:none}
.blog-cat-tag:hover{border-color:var(--blue);color:var(--blue)}
.blog-cat-tag.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.blog-cat-tag span{opacity:.5;margin-left:2px}

.blog-card-cats{display:flex;gap:6px;margin-bottom:8px}
.blog-card-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);background:var(--blue-soft);padding:3px 8px;border-radius:4px;text-decoration:none;transition:.15s}
.blog-card-cat:hover{background:var(--blue);color:#fff}
.blog-card-footer{display:flex;justify-content:space-between;align-items:center}
.blog-card-time{font-size:11px;color:var(--text-light)}

/* ═══════════════════════════════════════════════
   SINGLE ARTICLE
   ═══════════════════════════════════════════════ */
.article-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;padding:120px 30px 50px}
.article-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.article-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,26,58,.85) 0%,rgba(15,26,58,.4) 50%,rgba(15,26,58,.2) 100%)}
.article-hero-content{position:relative;z-index:2;max-width:800px}
.article-hero-cats{display:flex;gap:8px;justify-content:center;margin-bottom:14px}
.article-hero-cats a{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gold);background:rgba(200,150,10,.15);padding:4px 14px;border-radius:20px;text-decoration:none;transition:.2s;border:1px solid rgba(200,150,10,.3)}
.article-hero-cats a:hover{background:var(--gold);color:var(--navy)}
.article-hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,46px);font-weight:800;color:#fff;line-height:1.2;margin:0 0 16px}
.article-hero-meta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5)}

.article-body{max-width:100%;margin:0 auto;padding:0 0 40px}

/* Floating wrapper - overlaps hero */
.art-float-wrapper{max-width:1100px;margin:-40px auto 0;padding:0 30px;position:relative;z-index:3}

/* Content card */
.art-content-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:44px 54px;box-shadow:0 8px 40px rgba(26,39,68,.08);margin-bottom:20px;position:relative;overflow:hidden}
.art-content-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--gold))}
.art-content-inner{font-size:16px;line-height:1.9;color:var(--text-mid)}
.art-content-inner h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;color:var(--navy);margin:36px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--bg-alt)}
.art-content-inner h3{font-size:21px;font-weight:700;color:var(--navy);margin:28px 0 10px}
.art-content-inner p{margin-bottom:18px}
.art-content-inner ul,.art-content-inner ol{margin:16px 0;padding-left:24px}
.art-content-inner li{margin-bottom:6px;line-height:1.8}
.art-content-inner img{border-radius:12px;margin:24px 0;box-shadow:0 4px 20px rgba(26,39,68,.08);max-width:100%;height:auto}
.art-content-inner blockquote{border-left:4px solid var(--gold);padding:16px 24px;margin:24px 0;background:var(--gold-bg);border-radius:0 12px 12px 0;font-style:italic;color:var(--navy)}
.art-content-inner a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;transition:.15s}
.art-content-inner a:hover{color:var(--navy)}

/* Media cards */
.art-media-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 4px 24px rgba(26,39,68,.06);margin-bottom:20px;overflow:visible}
.art-media-header{display:flex;align-items:center;gap:8px;font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.art-media-header span:first-child{font-size:22px}
.art-media-count{font-size:11px;font-weight:600;background:var(--blue-soft);color:var(--blue);padding:2px 10px;border-radius:10px;margin-left:auto;font-family:'DM Sans',sans-serif}

/* Share card */
.art-share-card{background:linear-gradient(135deg,var(--blue-soft),#dbeafe);border:1px solid rgba(42,92,255,.15);border-radius:20px;padding:24px;margin-bottom:20px;text-align:center}
.art-share-label{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--navy);margin-bottom:14px}
.art-share-btns{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.art-share-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:12px;font-size:13px;font-weight:600;text-decoration:none;transition:.3s;border:1px solid transparent}
.art-share-fb{background:rgba(66,103,178,.1);color:#4267B2;border-color:rgba(66,103,178,.2)}
.art-share-tw{background:rgba(29,161,242,.1);color:#1DA1F2;border-color:rgba(29,161,242,.2)}
.art-share-em{background:rgba(42,92,255,.1);color:var(--blue);border-color:rgba(42,92,255,.2)}
.art-share-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1)}

/* Nav prev/next */
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.art-nav-card{display:block;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px;text-decoration:none;transition:.3s;overflow:hidden}
.art-nav-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(26,39,68,.1);border-color:var(--blue)}
.art-nav-disabled{opacity:.3;pointer-events:none}
.art-nav-dir{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gold);display:block;margin-bottom:8px}
.art-nav-right{text-align:right}
.art-nav-body{display:flex;align-items:center;gap:10px}
.art-nav-body img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}
.art-nav-body span{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--navy);line-height:1.3}
.art-nav-right .art-nav-body{justify-content:flex-end}

/* PDF button redesign */
.article-pdf-btn{display:flex;align-items:center;gap:14px;padding:16px 22px;background:var(--white);border:2px solid var(--border);border-radius:14px;cursor:pointer;transition:.3s;font-family:'DM Sans',sans-serif;-webkit-appearance:none;appearance:none;width:100%;text-align:left;margin-bottom:8px}
.article-pdf-btn:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 8px 30px rgba(42,92,255,.12)}
.article-pdf-btn:hover .art-arrow{transform:translateX(4px)}
.article-pdf-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-soft),#dbeafe);border-radius:12px;flex-shrink:0}
.article-pdf-info{flex:1}
.article-pdf-name{font-weight:700;color:var(--navy);font-size:14px;display:block}
.article-pdf-sub{font-size:11px;color:var(--text-light)}
.article-pdf-action{font-size:12px;font-weight:700;color:var(--blue);white-space:nowrap}
.art-arrow{display:inline-block;transition:.3s}

@media(max-width:768px){
    .art-float-wrapper{padding:0 16px;margin-top:-20px}
    .art-content-card{padding:24px 20px;border-radius:14px}
    .art-media-card{padding:16px;border-radius:14px}
    .art-nav{grid-template-columns:1fr}
    .art-share-btns{flex-direction:column;align-items:center}
}

/* ═══════════════════════════════════════════════
   PAGE HERO (shared across templates)
   ═══════════════════════════════════════════════ */
.page-hero-section{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:120px 30px 50px}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy) 0%,#1a2d5a 50%,var(--navy-mid) 100%)}
.page-hero-overlay-grad{position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(42,92,255,.1),transparent 60%)}
.page-hero-inner{position:relative;z-index:2;max-width:700px}
.page-hero-inner h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,64px);color:#fff;letter-spacing:3px;margin:8px 0 6px}
.page-hero-inner p{color:rgba(255,255,255,.5);font-size:14px;max-width:500px;margin:0 auto}

/* ═══════════════════════════════════════════════
   PAGE INFO – Sidebar + TOC
   ═══════════════════════════════════════════════ */
.info-layout{display:flex;max-width:1200px;margin:0 auto;padding:40px 30px 60px;gap:40px;align-items:flex-start}
.info-sidebar{width:260px;flex-shrink:0;position:sticky;top:80px}
.info-sidebar-inner{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--card-shadow)}
.info-sidebar-inner h4{font-family:'Playfair Display',serif;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--blue)}
.info-toc{display:flex;flex-direction:column;gap:2px}
.info-toc-link{display:block;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-mid);text-decoration:none;transition:.15s;border-left:3px solid transparent}
.info-toc-link:hover{background:var(--blue-soft);color:var(--blue)}
.info-toc-link.active{background:var(--blue-soft);color:var(--blue);border-left-color:var(--blue);font-weight:700}
.info-sidebar-contact{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-light)}
.info-sidebar-contact a{color:var(--blue)}
.info-main{flex:1;min-width:0}
.info-content{font-size:16px;line-height:1.9;color:var(--text-mid)}
.info-content h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;color:var(--navy);margin:40px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--bg-alt);scroll-margin-top:90px}
.info-content h3{font-size:20px;font-weight:700;color:var(--navy);margin:28px 0 10px;scroll-margin-top:90px}
.info-content p{margin-bottom:16px}
.info-content ul,.info-content ol{margin:14px 0;padding-left:24px}
.info-content li{margin-bottom:6px;line-height:1.8}
.info-content img{border-radius:var(--radius);margin:20px 0;box-shadow:var(--card-shadow);max-width:100%;height:auto}
.info-content blockquote{border-left:4px solid var(--gold);padding:14px 20px;margin:20px 0;background:var(--gold-bg);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--navy)}
.info-content a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.info-content table{width:100%;border-collapse:collapse;margin:20px 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow)}
.info-content table th{background:var(--navy);color:#fff;padding:12px 16px;font-size:13px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.5px}
.info-content table td{padding:10px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-mid)}
.info-content table tr:nth-child(even){background:var(--bg)}
.info-content table tr:hover{background:var(--blue-soft)}

/* ═══════════════════════════════════════════════
   PAGE GALERIE
   ═══════════════════════════════════════════════ */
.gallery-page-content{max-width:1200px;margin:0 auto;padding:30px 30px 60px}
.gallery-intro{max-width:800px;margin:0 auto 30px;text-align:center;font-size:16px;line-height:1.8;color:var(--text-mid)}
.gallery-intro p{margin-bottom:12px}
.gallery-filters{display:flex;justify-content:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.gallery-filter{padding:6px 18px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;transition:.2s}
.gallery-filter:hover{border-color:var(--blue);color:var(--blue)}
.gallery-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.gallery-count{text-align:center;font-size:13px;color:var(--text-light);margin-bottom:20px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--bg-alt)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,26,58,.7),transparent 60%);opacity:0;transition:.3s;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:16px}
.gallery-item:hover .gallery-item-overlay{opacity:1}
.gallery-item-zoom{font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.gallery-item-caption{color:#fff;font-size:12px;font-weight:600;text-align:center}

/* Lightbox */
.gallery-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;backdrop-filter:blur(10px)}
.gallery-lightbox.active{opacity:1;pointer-events:all}
.gallery-lb-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:20px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;z-index:2}
.gallery-lb-close:hover{background:rgba(255,255,255,.25)}
.gallery-lb-prev,.gallery-lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;z-index:2}
.gallery-lb-prev{left:20px}.gallery-lb-next{right:20px}
.gallery-lb-prev:hover,.gallery-lb-next:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3)}
.gallery-lb-content{max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}
.gallery-lb-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.4)}
.gallery-lb-caption{color:rgba(255,255,255,.7);font-size:14px;margin-top:12px;text-align:center}

/* ═══ Responsive for new templates ═══ */
@media(max-width:768px){
    .page-hero-section{min-height:280px;padding:80px 20px 30px}
    .page-hero-inner h1{font-size:32px}
    .info-layout{flex-direction:column;padding:20px 16px 40px}
    .info-sidebar{width:100%;position:static}
    .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
    .gallery-lb-prev,.gallery-lb-next{width:36px;height:36px;font-size:16px}
    .gallery-lb-prev{left:8px}.gallery-lb-next{right:8px}
}

/* ═══════════════════════════════════════════════
   GALLERIES HUB
   ═══════════════════════════════════════════════ */
.galleries-hub{max-width:1200px;margin:0 auto;padding:20px 30px 60px}
.galleries-count{text-align:center;font-size:13px;color:var(--text-light);margin-bottom:20px}
.galleries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.galleries-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.3s;cursor:default}
.galleries-card:hover{transform:translateY(-4px);box-shadow:0 16px 50px rgba(26,39,68,.1)}
.galleries-card-mosaic{height:220px;overflow:hidden;position:relative;background:var(--bg-alt)}
.gal-mosaic-4{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:100%}
.gal-mosaic-4 img{width:100%;height:100%;object-fit:cover;border:1px solid rgba(255,255,255,.3)}
.gal-mosaic-2{display:grid;grid-template-columns:1fr 1fr;height:100%}
.gal-mosaic-2 img{width:100%;height:100%;object-fit:cover;border:1px solid rgba(255,255,255,.3)}
.gal-mosaic-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.15}
.galleries-card-badge{position:absolute;bottom:10px;right:10px;background:rgba(15,26,58,.8);color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;backdrop-filter:blur(4px)}
.galleries-card-body{padding:20px}
.galleries-card-body h3{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px}
.galleries-card-body p{font-size:13px;color:var(--text-light);line-height:1.5;margin-bottom:14px}
.galleries-card-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Gallery Popup */
.gal-popup{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.gal-popup.active{opacity:1;pointer-events:all}
.gal-popup-box{background:var(--white);border-radius:16px;width:90vw;max-width:900px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.gal-popup-header{display:flex;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border)}
.gal-popup-header h3{flex:1;font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);margin:0}
.gal-popup-close{width:36px;height:36px;border-radius:50%;background:var(--bg-alt);border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.2s}
.gal-popup-close:hover{background:#dc3545;color:#fff}
.gal-popup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:20px;overflow-y:auto;flex:1}
.gal-popup-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;position:relative}
.gal-popup-item img{width:100%;height:100%;object-fit:cover;transition:.3s}
.gal-popup-item:hover img{transform:scale(1.08)}
.gal-popup-item::after{content:'🔍';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,26,58,.4);opacity:0;transition:.2s;font-size:20px}
.gal-popup-item:hover::after{opacity:1}

.gallery-lb-counter{color:rgba(255,255,255,.4);font-size:12px;margin-top:6px;text-align:center}

@media(max-width:768px){
    .galleries-grid{grid-template-columns:1fr}
    .gal-popup-box{width:95vw;max-height:90vh}
    .gal-popup-grid{grid-template-columns:repeat(3,1fr)}
    .galleries-card-actions{flex-direction:column}
}

/* ═══════════════════════════════════════════════
   BOUTIQUE
   ═══════════════════════════════════════════════ */
.boutique-notice{max-width:800px;margin:0 auto;padding:14px 20px;background:var(--gold-bg);border:1px solid rgba(200,150,10,.2);border-radius:10px;text-align:center;font-size:13px;color:#92400e;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:-20px;position:relative;z-index:2;box-shadow:0 4px 20px rgba(200,150,10,.08)}

.boutique-filters{display:flex;justify-content:center;gap:8px;padding:24px 30px 0;flex-wrap:wrap}
.boutique-filter{padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;transition:.2s;font-family:'DM Sans',sans-serif}
.boutique-filter:hover{border-color:var(--blue);color:var(--blue)}
.boutique-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}

.boutique-wrap{max-width:1200px;margin:0 auto;padding:20px 30px 60px}
.boutique-count{text-align:center;font-size:13px;color:var(--text-light);margin-bottom:20px}

.boutique-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.boutique-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:.3s}
.boutique-card:hover{transform:translateY(-5px);box-shadow:0 16px 50px rgba(26,39,68,.1)}

.boutique-card-img{height:240px;overflow:hidden;position:relative;background:var(--bg-alt)}
.boutique-card-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.boutique-card:hover .boutique-card-img img{transform:scale(1.06)}
.boutique-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.15}
.boutique-card-multi{position:absolute;bottom:10px;right:10px;background:rgba(15,26,58,.8);color:#fff;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;backdrop-filter:blur(4px)}

.boutique-card-body{padding:20px}
.boutique-card-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:6px}
.boutique-card-body h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;color:var(--navy);margin-bottom:6px;line-height:1.3}
.boutique-card-body p{font-size:13px;color:var(--text-light);line-height:1.5;margin-bottom:10px}
.boutique-card-price{font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--blue);letter-spacing:1px}

/* Product Modal */
.boutique-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.boutique-modal.active{opacity:1;pointer-events:all}
.boutique-modal-box{background:var(--white);border-radius:16px;width:90vw;max-width:800px;max-height:90vh;overflow-y:auto;display:flex;gap:0;box-shadow:0 30px 100px rgba(0,0,0,.3);position:relative}
.boutique-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--bg-alt);border:none;cursor:pointer;font-size:16px;z-index:2;display:flex;align-items:center;justify-content:center;transition:.2s}
.boutique-modal-close:hover{background:#dc3545;color:#fff}

.boutique-modal-gallery{flex:1;min-width:0;padding:24px}
.bq-modal-main-img{border-radius:12px;overflow:hidden;margin-bottom:10px;background:var(--bg-alt)}
.bq-modal-main-img img{width:100%;max-height:400px;object-fit:contain;display:block}
.bq-modal-thumbs{display:flex;gap:6px;flex-wrap:wrap}
.bq-modal-thumb{width:60px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid var(--border);transition:.2s;opacity:.6}
.bq-modal-thumb:hover,.bq-modal-thumb.active{border-color:var(--blue);opacity:1}

.boutique-modal-info{flex:1;min-width:0;padding:24px 24px 24px 0}
.boutique-modal-note{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--gold-bg);border:1px solid rgba(200,150,10,.2);border-radius:8px;font-size:12px;color:#92400e}

@media(max-width:768px){
    .boutique-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .boutique-card-img{height:180px}
    .boutique-modal-box{flex-direction:column}
    .boutique-modal-info{padding:0 24px 24px}
    .boutique-notice{margin:0 16px;margin-top:-16px}
}
@media(max-width:480px){
    .boutique-grid{grid-template-columns:1fr}
}

/* Gallery popup item caption */
.gal-popup-item-cap{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:11px;line-height:1.3;border-radius:0 0 8px 8px}
.gal-popup-item{position:relative}

/* ═══════════════════════════════════════════════
   NOS LOCAUX
   ═══════════════════════════════════════════════ */
.locaux-nav{display:flex;justify-content:center;gap:6px;padding:16px 20px;flex-wrap:wrap;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.locaux-nav-item{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;border:1px solid var(--border);text-decoration:none;font-size:12px;font-weight:600;color:var(--text-mid);transition:.2s;background:var(--white)}
.locaux-nav-item:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.locaux-nav-icon{font-size:16px}
.locaux-nav-label{white-space:nowrap}

.locaux-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:1px solid var(--border);border-radius:10px;background:var(--white);color:var(--navy);font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s;margin-bottom:14px}
.locaux-toggle:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.locaux-toggle-arrow{font-size:10px;transition:.3s}
.locaux-toggle.open .locaux-toggle-arrow{transform:rotate(180deg)}
.locaux-toggle.open{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}

.locaux-gallery{display:none;flex-wrap:wrap;gap:14px;justify-content:center;max-width:900px;margin:0 auto}
.locaux-gallery.open{display:flex}

.locaux-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;justify-content:center}
.locaux-icon{font-size:42px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:16px;flex-shrink:0;transition:.4s;animation:locauxPulse 3s ease-in-out infinite}
@keyframes locauxPulse{0%,100%{box-shadow:0 0 0 0 rgba(42,92,255,.15)}50%{box-shadow:0 0 0 12px rgba(42,92,255,0)}}

.locaux-desc{font-size:16px;line-height:1.8;color:var(--text-mid);max-width:800px;margin:0 auto 20px;text-align:center}

.locaux-specs{display:flex;flex-wrap:wrap;gap:8px;margin:0 auto 24px;justify-content:center;max-width:800px}
.locaux-spec{padding:6px 14px;background:var(--white);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--navy)}

.locaux-separator{max-width:120px;margin:12px auto 24px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border:none;opacity:.5}

.locaux-nav-item.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);font-weight:700}
.locaux-photo{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;width:260px;aspect-ratio:4/3;background:var(--bg-alt);box-shadow:var(--card-shadow);transition:.4s}
.locaux-photo:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 50px rgba(26,39,68,.15)}
.locaux-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}
.locaux-photo:hover img{transform:scale(1.08)}
.locaux-photo-cap{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,rgba(15,26,58,.75));color:#fff;font-size:12px;font-weight:500;opacity:0;transition:.3s}
.locaux-photo:hover .locaux-photo-cap{opacity:1}

@media(max-width:768px){
    .locaux-nav{gap:4px;padding:10px 12px}
    .locaux-nav-item{padding:6px 10px;font-size:11px}
    .locaux-nav-label{display:none}
    .locaux-icon{width:50px;height:50px;font-size:28px;border-radius:12px}
    .locaux-photo{width:calc(50% - 7px)}
    .locaux-header{gap:10px}
}
@media(max-width:480px){
    .locaux-photo{width:100%}
}

/* ═══════════════════════════════════════════════
   HOMEPAGE ANIMATIONS & PARTICLES
   ═══════════════════════════════════════════════ */
.section-particles{position:relative;overflow:hidden}
.section-particles>.container,.section-particles>.section-header{position:relative;z-index:2}
.particles-light{opacity:.6}

/* Service card hover glow */
.service-card{transition:.4s cubic-bezier(.4,0,.2,1)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(42,92,255,.12)}
.service-icon{transition:.4s}
.service-card:hover .service-icon{transform:scale(1.15) rotate(5deg)}

/* Discipline card hover */
.disc-card{transition:.4s cubic-bezier(.4,0,.2,1)}
.disc-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(26,39,68,.1)}
.disc-icon{transition:.4s}
.disc-card:hover .disc-icon{transform:scale(1.2)}

/* Split image hover */
.split-img{transition:.4s}
.split-img:hover{transform:scale(1.02);box-shadow:0 20px 60px rgba(26,39,68,.15)}

/* Accent line animation */
.accent-line{transition:width .8s cubic-bezier(.4,0,.2,1);width:0}
.accent-line.visible,.revealed .accent-line{width:50px}

/* Section label letter spacing animation */
.section-label{transition:letter-spacing .6s,opacity .6s}

/* News card stagger */
/* News card hover - already defined above */

/* Team card hover */
.team-card{transition:.4s cubic-bezier(.4,0,.2,1)}
.team-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(26,39,68,.1)}
.team-avatar{transition:.4s}
.team-card:hover .team-avatar{transform:scale(1.08)}

/* Floating decorative elements */
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(3deg)}}
@keyframes floatReverse{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(12px) rotate(-2deg)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(42,92,255,.2)}50%{box-shadow:0 0 20px 5px rgba(42,92,255,.1)}}

.btn{transition:.3s cubic-bezier(.4,0,.2,1)}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(42,92,255,.3)}
.btn-outline{transition:.3s cubic-bezier(.4,0,.2,1)}
.btn-outline:hover{transform:translateY(-2px)}


/* ═══════════════════════════════════════════════
   ÉCOLE DE TIR
   ═══════════════════════════════════════════════ */
.edt-tabs{display:flex;justify-content:center;gap:0;padding:0 20px;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.edt-tab{padding:14px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-mid);transition:.2s;white-space:nowrap;font-family:'DM Sans',sans-serif}
.edt-tab.active{color:var(--navy);border-bottom-color:var(--gold)}
.edt-tab:hover{color:var(--navy)}
.edt-tab-count{font-size:10px;background:var(--gold);color:#fff;padding:1px 8px;border-radius:10px;font-weight:700;margin-left:2px}
.edt-panel{display:none}.edt-panel.active{display:block}
.edt-content{max-width:1000px;margin:0 auto;padding:40px 30px 60px}

.edt-hero-intro{text-align:center;margin-bottom:36px}
.edt-hero-intro h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;color:var(--navy)}
.edt-hero-intro p{max-width:550px;margin:0 auto;color:var(--text-mid);font-size:15px;line-height:1.7}
.edt-hero-badge{display:inline-block;padding:6px 18px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--gold);background:var(--gold-bg);border:1px solid rgba(200,150,10,.2);margin-bottom:12px;animation:floatSlow 4s ease-in-out infinite}

.edt-key-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.edt-key-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:28px 16px;text-align:center;transition:.4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(26,39,68,.06);position:relative;overflow:hidden}
.edt-key-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(42,92,255,.12);border-color:var(--blue-soft)}
.edt-key-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(42,92,255,.04),transparent 60%);opacity:0;transition:.4s}.edt-key-card:hover .edt-key-glow{opacity:1}
.edt-key-icon{font-size:40px;margin-bottom:10px;animation:floatSlow 3s ease-in-out infinite}
.edt-key-card:nth-child(2) .edt-key-icon{animation-delay:.5s}
.edt-key-card:nth-child(3) .edt-key-icon{animation-delay:1s}
.edt-key-card:nth-child(4) .edt-key-icon{animation-delay:1.5s}
.edt-key-card h3{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--navy);margin-bottom:6px}
.edt-key-card p{font-size:12px;color:var(--text-light);line-height:1.5}

.edt-sep{display:flex;align-items:center;gap:12px;margin:10px auto 36px;max-width:200px}
.edt-sep-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.edt-sep-dot{color:var(--gold);font-size:14px;animation:pulseGlow 2s ease-in-out infinite}

.edt-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}
.edt-action-card{background:var(--white);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:.4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(26,39,68,.06);position:relative;overflow:hidden;display:flex;flex-direction:column}
.edt-action-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(42,92,255,.15);border-color:rgba(42,92,255,.3)}
.edt-action-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:.6s;pointer-events:none}
.edt-action-card:hover .edt-action-shine{left:150%}
.edt-action-featured{border:2px solid var(--blue);box-shadow:0 4px 30px rgba(42,92,255,.1)}
.edt-action-featured:hover{box-shadow:0 20px 60px rgba(42,92,255,.2)}
.edt-action-ribbon{position:absolute;top:12px;right:-30px;background:var(--blue);color:#fff;font-size:9px;font-weight:700;padding:3px 35px;transform:rotate(45deg);letter-spacing:.5px}
.edt-action-top{flex:1;padding:28px 20px 16px;text-align:center}
.edt-action-icon-wrap{width:60px;height:60px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-soft),#dbeafe);border-radius:16px;font-size:28px;transition:.3s}
.edt-action-card:hover .edt-action-icon-wrap{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 25px rgba(42,92,255,.15)}
.edt-action-card h3{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:4px}
.edt-action-card p{font-size:13px;color:var(--text-light)}
.edt-action-bottom{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--blue)}
.edt-action-arrow{transition:.3s;font-size:16px}
.edt-action-card:hover .edt-action-arrow{transform:translateX(4px)}

.edt-bottom-banner{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:linear-gradient(135deg,var(--blue-soft),#dbeafe);border:1px solid rgba(42,92,255,.15);border-radius:16px;box-shadow:0 4px 20px rgba(42,92,255,.06)}
.edt-bottom-icon{font-size:32px;flex-shrink:0;animation:floatSlow 3s ease-in-out infinite}
.edt-bottom-banner strong{font-family:'Playfair Display',serif;font-size:15px;color:var(--navy);display:block;margin-bottom:4px}
.edt-bottom-banner p{font-size:13px;color:var(--text-mid);line-height:1.6;margin:0}

.edt-popup{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.5);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.edt-popup.active{opacity:1;pointer-events:all}
.edt-popup-box{background:var(--white);border-radius:20px;padding:36px;max-width:540px;width:92%;max-height:85vh;overflow-y:auto;text-align:center;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.2)}
.edt-popup-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--bg-alt);border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.2s}
.edt-popup-close:hover{background:#dc3545;color:#fff}
.edt-popup-icon{font-size:48px;margin-bottom:4px}
.edt-popup-box h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:var(--navy)}
.edt-popup-content{margin-top:10px}
.edt-popup-block{background:var(--bg);border-radius:12px;padding:16px;margin-bottom:12px;text-align:left}
.edt-popup-block h4{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px}
.edt-popup-block p{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:4px}
.edt-horaire-slots{display:flex;flex-direction:column;gap:6px}
.edt-horaire-slot{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--white);border:1px solid var(--border);border-radius:8px;transition:.2s}
.edt-horaire-slot:hover{border-color:var(--blue);box-shadow:0 4px 12px rgba(42,92,255,.08)}
.edt-horaire-time{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--blue);letter-spacing:1px;min-width:130px}
.edt-horaire-label{font-size:13px;font-weight:600;color:var(--navy)}
.edt-checklist{display:flex;flex-direction:column;gap:6px}
.edt-check-item{padding:8px 12px;background:var(--white);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-mid);transition:.2s}
.edt-check-item:hover{border-color:var(--blue);background:var(--blue-soft)}
.edt-contact-row{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg);border-radius:12px;margin-bottom:10px;text-align:left;transition:.2s}
.edt-contact-row:hover{background:var(--blue-soft);box-shadow:0 4px 12px rgba(42,92,255,.08)}
.edt-contact-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:12px;flex-shrink:0}
.edt-contact-label{font-size:11px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}
.edt-contact-value{font-size:15px;font-weight:600;color:var(--blue);text-decoration:none}

.edt-filter-bar{display:flex;justify-content:center;gap:6px;margin-bottom:30px;flex-wrap:wrap}
.edt-filter{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;transition:.2s;font-family:'DM Sans',sans-serif}
.edt-filter:hover{border-color:var(--blue);color:var(--blue)}.edt-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.edt-season{margin-bottom:36px}
.edt-season-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--bg-alt);text-align:center}
.edt-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.edt-result-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;position:relative;overflow:hidden;transition:.3s;cursor:pointer}
.edt-result-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(26,39,68,.1)}
.edt-result-badge{position:absolute;top:0;right:0;padding:4px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:0 0 0 8px}
.edt-badge-departemental{background:#dbeafe;color:#1d4ed8}.edt-badge-regional{background:#dcfce7;color:#166534}
.edt-badge-national{background:#fef3c7;color:#92400e}.edt-badge-interne{background:#f3e8ff;color:#7c3aed}.edt-badge-autre{background:#f0f0f1;color:#555}
.edt-result-icon{font-size:32px;margin-bottom:8px}
.edt-result-card h4{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px;line-height:1.3}
.edt-result-date{font-size:12px;color:var(--text-light);margin-bottom:6px}
.edt-card-link{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--blue);transition:.2s}
.edt-bilan-card:hover .edt-card-link,.edt-result-card:hover .edt-card-link{letter-spacing:.5px}

.edt-bilans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.edt-bilan-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;transition:.3s;cursor:pointer}
.edt-bilan-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(26,39,68,.1)}
.edt-bilan-icon{font-size:36px;margin-bottom:8px}
.edt-bilan-card h4{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px}
.edt-bilan-season{font-size:12px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:1px}

/* Grades */
.edt-grades-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:10px}
.edt-grade{text-align:center;padding:16px 8px;background:var(--white);border:1px solid var(--border);border-radius:16px;transition:.3s;box-shadow:0 2px 12px rgba(26,39,68,.04)}
.edt-grade:hover{transform:translateY(-6px);box-shadow:0 12px 35px rgba(26,39,68,.1)}
.edt-grade-gold{border-color:rgba(200,150,10,.3);background:var(--gold-bg)}
.edt-grade-gold:hover{box-shadow:0 12px 35px rgba(200,150,10,.15)}
.edt-grade-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:18px;font-weight:800;font-family:'Bebas Neue',sans-serif;transition:.3s}
.edt-grade:hover .edt-grade-circle{transform:scale(1.15)}
.edt-grade h4{font-family:'Playfair Display',serif;font-size:12px;font-weight:800;color:var(--navy);margin-bottom:4px}
.edt-grade p{font-size:10px;color:var(--text-light);line-height:1.4}

/* Monitors */
.edt-monitors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.edt-monitor{text-align:center;padding:24px 16px;background:var(--white);border:1px solid var(--border);border-radius:16px;transition:.3s;box-shadow:0 4px 20px rgba(26,39,68,.05)}
.edt-monitor:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(26,39,68,.1)}
.edt-monitor-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 12px;overflow:hidden;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;font-size:32px;border:3px solid var(--border);transition:.3s}
.edt-monitor:hover .edt-monitor-avatar{border-color:var(--blue);transform:scale(1.08)}
.edt-monitor-avatar img{width:100%;height:100%;object-fit:cover}
.edt-monitor h4{font-family:'Playfair Display',serif;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:2px}
.edt-monitor-role{font-size:12px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:1px}

.edt-pdf-modal{position:fixed;inset:0;z-index:99999;background:rgba(15,26,58,.88);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.edt-pdf-modal.active{opacity:1;pointer-events:all}
.edt-pdf-box{background:var(--white);border-radius:20px;width:92vw;max-width:950px;height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 120px rgba(0,0,0,.5)}
.edt-pdf-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--navy),#1a2d5a)}
.edt-pdf-header-icon{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:10px;flex-shrink:0}
.edt-pdf-header-info{flex:1}.edt-pdf-header-info h3{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#fff;margin:0}.edt-pdf-subtitle{font-size:11px;color:rgba(255,255,255,.4)}
.edt-pdf-download{padding:7px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:11px;font-weight:600;text-decoration:none;transition:.2s;flex-shrink:0}
.edt-pdf-download:hover{background:var(--blue);border-color:var(--blue)}
.edt-pdf-close{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;font-size:16px;color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.edt-pdf-close:hover{background:#dc3545}
.edt-pdf-body{flex:1;background:#f0f0f0;position:relative}
.edt-pdf-body iframe{width:100%;height:100%;border:none}

@media(max-width:768px){
    .edt-tabs{gap:0;padding:0 10px;overflow-x:auto}.edt-tab{padding:12px 16px;font-size:12px}
    .edt-key-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .edt-action-grid{grid-template-columns:1fr;gap:12px}
    .edt-results-grid,.edt-bilans-grid{grid-template-columns:1fr}
    .edt-popup-box{padding:24px 20px}
    .edt-horaire-slot{flex-direction:column;align-items:flex-start;gap:2px}
    .edt-pdf-box{width:96vw;height:92vh;border-radius:12px}
    .edt-pdf-header{flex-wrap:wrap;gap:8px}.edt-pdf-download{display:none}
    .edt-bottom-banner{flex-direction:column;text-align:center}
    .edt-grades-grid{grid-template-columns:repeat(3,1fr);gap:8px}
    .edt-grade:last-child{grid-column:span 3}
    .edt-monitors-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* ═══════════════════════════════════════════════
   ARTICLE MEDIA (slider, videos, PDFs)
   ═══════════════════════════════════════════════ */
.article-media-section{max-width:800px;margin:30px auto;padding:0 20px}
.article-media-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:16px;text-align:center}

/* Single image */
.article-single-img{border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(26,39,68,.08);cursor:pointer;transition:.3s;position:relative}
.article-single-img:hover{box-shadow:0 8px 30px rgba(26,39,68,.14);transform:scale(1.01)}
.article-single-img::after{content:'⛶';position:absolute;top:12px;left:14px;width:36px;height:36px;border-radius:10px;background:rgba(0,0,0,.4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transition:.2s}
.article-single-img:hover::after{opacity:1}
.article-single-img img{width:100%;display:block}

/* Slider */
.article-slider{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(26,39,68,.08);background:var(--bg-alt)}
.art-slider-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.art-slider-slide{min-width:100%;position:relative;cursor:pointer}
.art-slider-slide img{width:100%;max-height:550px;object-fit:contain;display:block;margin:0 auto;background:var(--bg-alt)}
.art-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.3);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:2}
.art-slider-btn:hover{background:rgba(0,0,0,.5)}
.art-slider-prev{left:12px}.art-slider-next{right:12px}
.art-slider-dots{display:flex;justify-content:center;gap:6px;padding:12px 0;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.2))}
.art-slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:.2s;border:none}
.art-slider-dot.active{background:#fff;transform:scale(1.3)}
.art-slider-counter{position:absolute;top:12px;right:14px;background:rgba(0,0,0,.4);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;backdrop-filter:blur(4px)}
.art-slider-expand{position:absolute;top:12px;left:14px;width:36px;height:36px;border-radius:10px;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:2}
.art-slider-expand:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}

/* Article lightbox — reuses .gallery-lightbox classes from theme */

/* Videos */
.article-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.article-video-wrap{border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(26,39,68,.08);border:1px solid var(--border);transition:.3s;background:var(--white)}
.article-video-wrap:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(26,39,68,.12)}
.article-video-title{padding:12px 16px;font-weight:700;color:var(--navy);font-size:14px;background:var(--bg)}
.article-video-frame{position:relative;padding-bottom:56.25%;height:0}
.article-video-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.article-video-frame video{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:#000;object-fit:contain}
@media(max-width:600px){.article-videos{grid-template-columns:1fr}}

/* PDF buttons */
.article-pdfs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.article-pdf-btn{display:flex;align-items:center;gap:10px;padding:14px 22px;background:var(--white);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:.3s;font-family:'DM Sans',sans-serif;-webkit-appearance:none;appearance:none}
.article-pdf-btn:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 8px 30px rgba(42,92,255,.12)}
.article-pdf-icon{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:10px;flex-shrink:0}
.article-pdf-name{font-weight:700;color:var(--navy);font-size:14px;text-align:left}
.article-pdf-action{font-size:11px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.5px;margin-left:auto;white-space:nowrap}

/* PDF Modal */
.article-pdf-modal{position:fixed;inset:0;z-index:99999;background:rgba(15,26,58,.88);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.article-pdf-modal.active{opacity:1;pointer-events:all}
.article-pdf-box{background:var(--white);border-radius:20px;width:92vw;max-width:950px;height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 120px rgba(0,0,0,.5)}
.article-pdf-header{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,var(--navy),#1a2d5a);color:#fff}
.article-pdf-header span{font-size:24px}
.article-pdf-header h4{flex:1;font-size:15px;font-weight:700;margin:0}
.article-pdf-dl{padding:6px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:11px;font-weight:600;text-decoration:none;transition:.2s}
.article-pdf-dl:hover{background:var(--blue)}
.article-pdf-header button{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;font-size:16px;color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}
.article-pdf-header button:hover{background:#dc3545}
.article-pdf-box iframe{flex:1;border:none;width:100%;background:#f0f0f0}

@media(max-width:768px){
    .art-slider-btn{width:34px;height:34px;font-size:16px}
    .art-slider-prev{left:6px}.art-slider-next{right:6px}
    .article-pdfs{flex-direction:column}
    .article-pdf-box{width:96vw;height:92vh;border-radius:12px}
}

/* ═══════════════════════════════════════════════
   ARTICLES ARCHIVE
   ═══════════════════════════════════════════════ */
.arc-toolbar{max-width:1200px;margin:0 auto;padding:20px 30px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.arc-search{display:flex;align-items:center;border:2px solid var(--border);border-radius:14px;overflow:hidden;transition:.2s;background:var(--white);max-width:320px;flex:1}
.arc-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(42,92,255,.1)}
.arc-search-icon{padding:0 4px 0 14px;font-size:14px;opacity:.5}
.arc-search input{flex:1;padding:11px 14px 11px 6px;border:none;font-size:14px;font-family:'DM Sans',sans-serif;outline:none;background:transparent}
.arc-filters{display:flex;gap:6px;flex-wrap:wrap}
.arc-filter{padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--white);color:var(--text-mid);text-decoration:none;transition:.2s;display:flex;align-items:center;gap:5px}
.arc-filter:hover{border-color:var(--blue);color:var(--blue)}
.arc-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.arc-filter span{font-size:10px;opacity:.6;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:8px}
.arc-filter.active span{background:rgba(255,255,255,.2)}
.arc-wrap{max-width:1200px;margin:0 auto;padding:16px 30px 60px}
.arc-count{font-size:13px;color:var(--text-light);margin-bottom:18px}
.arc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.arc-card-featured{grid-column:1/-1}
.arc-card-featured .arc-card-link{display:grid;grid-template-columns:1.2fr 1fr;gap:0}
.arc-card-featured .arc-card-img{height:100%;min-height:300px;border-radius:20px 0 0 20px}
.arc-card-featured .arc-card-body{padding:30px}
.arc-card-featured h3{font-size:24px}
.arc-card-featured p{font-size:15px}

.arc-card{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(26,39,68,.04)}
.arc-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(26,39,68,.12);border-color:rgba(42,92,255,.2)}
.arc-card-link{display:block;text-decoration:none;color:inherit;height:100%}
.arc-card-img{height:210px;overflow:hidden;position:relative;background:var(--bg-alt)}
.arc-card-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.arc-card:hover .arc-card-img img{transform:scale(1.08)}
.arc-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.1;background:linear-gradient(135deg,var(--bg-alt),#e2e5ed)}
.arc-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,26,58,.3),transparent 50%);opacity:0;transition:.3s}
.arc-card:hover .arc-card-overlay{opacity:1}
.arc-card-cat{position:absolute;top:12px;left:12px;background:rgba(15,26,58,.85);backdrop-filter:blur(4px);color:var(--gold);padding:4px 12px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.arc-card-media{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);color:var(--navy);padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700}
.arc-card-body{padding:20px 22px 24px;display:flex;flex-direction:column}
.arc-card-meta{display:flex;gap:12px;margin-bottom:10px;font-size:11px;color:var(--text-light)}
.arc-card h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;line-height:1.3;margin-bottom:8px;color:var(--navy);transition:.2s}
.arc-card:hover h3{color:var(--blue)}
.arc-card p{font-size:13px;color:var(--text-light);line-height:1.6;flex:1}
.arc-card-cta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);margin-top:14px;display:flex;align-items:center;gap:4px}
.arc-card:hover .art-arrow{transform:translateX(4px)}

.arc-pagination{display:flex;justify-content:center;gap:6px;margin-top:36px}
.arc-page a,.arc-page span{padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text-mid);transition:.2s;display:inline-block;background:var(--white)}
.arc-page a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);box-shadow:0 4px 12px rgba(42,92,255,.1)}
.arc-page .current{background:var(--navy);color:#fff;border-color:var(--navy)}

.arc-empty{text-align:center;padding:80px 20px}
.arc-empty-icon{font-size:72px;opacity:.1;margin-bottom:12px}
.arc-empty h3{font-family:'Playfair Display',serif;color:var(--navy);margin-bottom:8px;font-size:22px}
.arc-empty p{color:var(--text-light);margin-bottom:20px}

@media(max-width:900px){
    .arc-grid{grid-template-columns:repeat(2,1fr)}
    .arc-card-featured{grid-column:auto}.arc-card-featured .arc-card-link{display:block}.arc-card-featured .arc-card-img{height:210px;border-radius:20px 20px 0 0;min-height:auto}.arc-card-featured .arc-card-body{padding:20px 22px}.arc-card-featured h3{font-size:17px}.arc-card-featured p{font-size:13px}
}
@media(max-width:600px){
    .arc-grid{grid-template-columns:1fr}
    .arc-toolbar{flex-direction:column;align-items:stretch}
    .arc-search{max-width:100%}
    .arc-filters{justify-content:center}
}

/* ═══════════════════════════════════════════════
   SÉCURITÉ & RÈGLEMENT (v2)
   ═══════════════════════════════════════════════ */

/* Stats bar */
.sec-stats{display:flex;justify-content:center;gap:20px;padding:24px 20px;margin-top:-30px;position:relative;z-index:4}
.sec-stat{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px 30px;text-align:center;box-shadow:0 4px 20px rgba(26,39,68,.06);min-width:120px}
.sec-stat-num{display:block;font-family:'Playfair Display',serif;font-size:32px;font-weight:800;color:var(--navy);line-height:1}
.sec-stat-label{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;display:block}

/* Tabs */
.sec-tabs{display:flex;justify-content:center;gap:0;padding:0 20px;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;flex-wrap:wrap}
.sec-tab{padding:14px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:.2s;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:5px;white-space:nowrap}
.sec-tab:hover{color:var(--navy)}
.sec-tab.active{color:var(--navy);border-bottom-color:var(--tab-color,var(--gold))}
.sec-tab-count{font-size:10px;background:var(--tab-color,var(--gold));color:#fff;padding:1px 8px;border-radius:10px;font-weight:700;margin-left:2px}

/* Grid */
.sec-wrap{max-width:1100px;margin:0 auto;padding:30px 30px 20px}
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* Card */
.sec-card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:26px 22px 22px;text-align:center;cursor:pointer;transition:.4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(26,39,68,.04);position:relative;overflow:hidden}
.sec-card-accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--sec-color);transform:scaleX(0);transition:.3s;transform-origin:left}
.sec-card:hover{transform:translateY(-8px);box-shadow:0 16px 44px rgba(26,39,68,.12);border-color:color-mix(in srgb,var(--sec-color) 30%,transparent)}
.sec-card:hover .sec-card-accent{transform:scaleX(1)}
.sec-card-tag{display:inline-block;font-size:10px;font-weight:700;padding:3px 10px;border-radius:6px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.3px}
.sec-card-badge{position:absolute;top:12px;right:12px;color:#fff;font-size:10px;font-weight:800;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;z-index:3;box-shadow:0 2px 8px rgba(0,0,0,.15);animation:secBadgePulse 2s ease-in-out infinite}
@keyframes secBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.sec-card-icon{font-size:36px;margin-bottom:10px;transition:.3s}
.sec-card:hover .sec-card-icon{transform:scale(1.15) rotate(5deg)}
.sec-card h3{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--navy);margin-bottom:6px;line-height:1.3}
.sec-card p{font-size:12px;color:var(--text-light);line-height:1.5;margin-bottom:12px}
.sec-card-btn{font-size:11px;font-weight:700;color:var(--sec-color);display:inline-flex;align-items:center;gap:4px}
.sec-card:hover .sec-card-btn .art-arrow{transform:translateX(4px)}
.sec-card-media{font-size:10px;font-weight:600;color:var(--text-light);margin-bottom:8px;opacity:.7}

/* Warning banner */
.sec-banner{max-width:1100px;margin:0 auto 40px;padding:0 30px}
.sec-banner-inner{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#fef3c7,#fde68a22);border:1px solid #f59e0b33;border-radius:16px}
.sec-banner-icon{font-size:28px;flex-shrink:0;animation:floatSlow 3s ease-in-out infinite}
.sec-banner-inner strong{font-family:'Playfair Display',serif;font-size:15px;color:var(--navy);display:block;margin-bottom:4px}
.sec-banner-inner p{font-size:13px;color:var(--text-mid);line-height:1.6;margin:0}

/* Modal */
.sec-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.sec-modal.active{opacity:1;pointer-events:all}
.sec-modal-box{background:var(--white);border-radius:24px;max-width:720px;width:92%;max-height:85vh;display:flex;flex-direction:column;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.25);animation:secModalIn .3s ease-out;overflow:hidden}
@keyframes secModalIn{from{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.sec-modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.06);border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:2}
.sec-modal-close:hover{background:#dc3545;color:#fff}
.sec-modal-accent{height:5px;flex-shrink:0}
.sec-modal-top{padding:28px 36px 0;text-align:center;flex-shrink:0}
.sec-modal-icon{font-size:46px;margin-bottom:4px}
.sec-modal-cat{margin-bottom:8px}
.sec-modal-box h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--navy);margin:0}
.sec-modal-body{padding:20px 36px 32px;overflow-y:auto;text-align:left;font-size:15px;line-height:1.8;color:var(--text-mid)}
.sec-modal-body h3{font-family:'Playfair Display',serif;font-size:19px;font-weight:800;color:var(--navy);margin:24px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--bg-alt)}
.sec-modal-body h4{font-size:15px;font-weight:700;color:var(--navy);margin:16px 0 6px}
.sec-modal-body p{margin-bottom:12px}
.sec-modal-body ul,.sec-modal-body ol{margin:10px 0;padding-left:20px}
.sec-modal-body li{margin-bottom:5px;line-height:1.7}
.sec-modal-body strong{color:var(--navy)}
.sec-modal-body blockquote{border-left:4px solid var(--gold);padding:12px 18px;margin:14px 0;background:var(--gold-bg);border-radius:0 12px 12px 0;font-style:italic;color:var(--navy);font-size:14px}

/* Popup images & PDFs */
.sec-popup-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.sec-popup-img{width:calc(50% - 4px);border-radius:12px;object-fit:cover;max-height:220px;cursor:pointer;transition:.2s}
.sec-popup-img:hover{transform:scale(1.02);box-shadow:0 4px 16px rgba(0,0,0,.1)}
.sec-popup-pdfs{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.sec-popup-pdf{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:.2s}
.sec-popup-pdf:hover{border-color:var(--blue);transform:translateX(4px);box-shadow:0 4px 16px rgba(42,92,255,.1)}
.sec-popup-pdf-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:10px;flex-shrink:0}
.sec-popup-pdf-name{flex:1;font-weight:700;color:var(--navy);font-size:13px}
.sec-popup-pdf-act{font-size:11px;font-weight:700;color:var(--blue);white-space:nowrap}

@media(max-width:900px){.sec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
    .sec-grid{grid-template-columns:1fr}
    .sec-stats{flex-direction:row;gap:10px;margin-top:-20px}
    .sec-stat{padding:14px 16px;min-width:0;flex:1}
    .sec-stat-num{font-size:24px}
    .sec-tabs{gap:0;padding:0 10px;overflow-x:auto}
    .sec-tab{padding:12px 16px;font-size:12px}
    .sec-modal-top{padding:20px 20px 0}
    .sec-modal-body{padding:16px 20px 24px}
    .sec-banner-inner{flex-direction:column;text-align:center;align-items:center}
}

/* ═══════════════════════════════════════════════
   FORMATIONS INFO — CTA Banner + Modal Footer
   ═══════════════════════════════════════════════ */
.fi-cta-banner{max-width:1100px;margin:0 auto 40px;padding:0 30px}
.fi-cta-inner{display:flex;align-items:center;gap:20px;padding:24px 30px;background:linear-gradient(135deg,#0f1a3a,#1a2d5a);border-radius:20px;box-shadow:0 8px 30px rgba(15,26,58,.25)}
.fi-cta-icon{font-size:36px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:14px;flex-shrink:0;animation:floatSlow 3s ease-in-out infinite}
.fi-cta-text{flex:1}
.fi-cta-text strong{font-family:'Playfair Display',serif;font-size:18px;color:#fff;display:block;margin-bottom:4px}
.fi-cta-text p{font-size:13px;color:rgba(255,255,255,.6);margin:0;line-height:1.5}
.fi-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:14px 28px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;transition:.3s;white-space:nowrap;box-shadow:0 4px 16px rgba(34,197,94,.3)}
.fi-cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(34,197,94,.4)}

/* Modal footer CTA */
.fi-modal-footer{padding:0 36px 24px;text-align:center}
.fi-modal-footer:empty{display:none}
.fi-modal-cta{display:inline-flex;align-items:center;gap:6px;padding:14px 28px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;transition:.3s;box-shadow:0 4px 16px rgba(34,197,94,.25)}
.fi-modal-cta:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(34,197,94,.35)}

@media(max-width:768px){
    .fi-cta-inner{flex-direction:column;text-align:center}
    .fi-modal-footer{padding:0 20px 20px}
}

/* ═══ EDT Article Slider ═══ */
.edt-sl-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;font-size:20px;transition:.2s;z-index:2;display:flex;align-items:center;justify-content:center}
.edt-sl-btn:hover{background:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.1)}
.edt-sl-prev{left:8px}
.edt-sl-next{right:8px}
.edt-sl-counter{position:absolute;top:8px;right:10px;background:rgba(0,0,0,.5);color:#fff;padding:3px 12px;border-radius:12px;font-size:11px;font-weight:600;z-index:2}
