/*
Theme Name: GDSA43 Astra Child v2.11 Safe
Template: astra
Version: 2.11.3
Description: Thème enfant Astra institutionnel pour le GDSA43, avec habillage WooCommerce intégré.
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gdsa43-astra-child
*/
:root{--g:#245c3a;--g2:#2f7a4d;--h:#f0b429;--ink:#17201b;--mut:#667267;--bg:#f5f7f3;--bd:#dfe7dd;--shadow:0 14px 35px rgba(23,32,27,.10);--r:22px}
body,.site-content{background:var(--bg)}
.gdsa43-wrap{max-width:1240px;margin:auto;padding:28px 18px 60px}
.gdsa43-hero{position:relative;overflow:hidden;border-radius:30px;background:radial-gradient(circle at top right,rgba(240,180,41,.45),transparent 34%),linear-gradient(135deg,#1f5134,#2f7a4d 60%,#244b37);color:#fff;padding:42px;box-shadow:var(--shadow)}
.gdsa43-kicker{display:inline-flex;padding:8px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);font-weight:800;margin-bottom:18px}
.gdsa43-hero h1{color:#fff;max-width:880px;font-size:clamp(2rem,4vw,4.1rem);line-height:1.02;margin:0 0 16px}
.gdsa43-hero p{max-width:800px;font-size:1.16rem;line-height:1.65;color:rgba(255,255,255,.94);margin-bottom:26px}
.gdsa43-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.gdsa43-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;text-decoration:none!important;font-weight:900;transition:.18s}
.gdsa43-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.14)}
.gdsa43-btn-primary{background:var(--h);color:#182017!important}.gdsa43-btn-ghost{background:rgba(255,255,255,.13);color:#fff!important;border:1px solid rgba(255,255,255,.28)}
.gdsa43-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:42px 0 18px}
.gdsa43-section-title h2{color:var(--ink);font-size:clamp(1.5rem,2.6vw,2.25rem);margin:0}.gdsa43-section-title p{color:var(--mut);margin:8px 0 0;max-width:760px}
.gdsa43-dashboard{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.gdsa43-card{grid-column:span 4;min-height:210px;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:24px;box-shadow:0 10px 25px rgba(23,32,27,.06);position:relative;overflow:hidden;transition:.18s}
.gdsa43-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(47,122,77,.38)}
.gdsa43-card-large{grid-column:span 6}.gdsa43-card-full{grid-column:span 12}
.gdsa43-card:before{content:"";position:absolute;width:120px;height:120px;right:-40px;top:-48px;border-radius:50%;background:rgba(240,180,41,.20)}
.gdsa-icon{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;font-size:1.35rem;margin-bottom:14px}
.gdsa43-card h3{color:var(--ink);margin:0 0 9px;font-size:1.28rem}.gdsa43-card p{color:var(--mut);line-height:1.55;margin:0 0 18px}
.gdsa-card-link{position:absolute;inset:0;z-index:1;text-indent:-9999px}.gdsa-card-cta{display:inline-flex;font-weight:900;color:var(--g);position:relative;z-index:2}
.gdsa43-alert-card .gdsa-icon{background:linear-gradient(135deg,#8c2d22,#a33b2f)}.gdsa43-shop-card .gdsa-icon{background:linear-gradient(135deg,#244f7a,#285f8f)}
.gdsa43-news-grid,.gdsa43-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gdsa43-news-card{background:#fff;border:1px solid var(--bd);border-radius:20px;overflow:hidden;box-shadow:0 10px 22px rgba(23,32,27,.055)}.gdsa-news-content{padding:20px}.date{color:var(--mut);font-size:.9rem}
.gdsa43-page-shell,.gdsa43-blog-layout{max-width:1140px;margin:auto;padding:32px 18px 60px}.gdsa43-page-header{border-radius:26px;padding:34px;background:linear-gradient(135deg,#fff,#edf6ee);border:1px solid var(--bd);box-shadow:0 10px 25px rgba(23,32,27,.06);margin-bottom:28px}.gdsa43-page-header h1{margin:0 0 10px;color:var(--ink);font-size:clamp(2rem,3vw,3rem)}.gdsa43-page-header p{color:var(--mut);font-size:1.08rem;max-width:780px}.gdsa43-content-card{background:#fff;border:1px solid var(--bd);border-radius:22px;padding:28px;box-shadow:0 10px 24px rgba(23,32,27,.055)}
@media(max-width:980px){.gdsa43-card,.gdsa43-card-large{grid-column:span 6}.gdsa43-news-grid,.gdsa43-blog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.gdsa43-hero{padding:28px 22px;border-radius:22px}.gdsa43-card,.gdsa43-card-large,.gdsa43-card-full{grid-column:span 12}.gdsa43-news-grid,.gdsa43-blog-grid{grid-template-columns:1fr}.gdsa43-section-title{display:block}}

/* ==========================================================
   GDSA43 Accueil V2.1 — tableau de bord asymétrique
   Design uniquement : ne touche pas aux plugins métier.
   ========================================================== */

.gdsa43-front-mosaic{max-width:1280px;margin:0 auto;padding:28px 18px 68px}.gdsa43-mosaic-hero{display:grid;grid-template-columns:1.45fr .85fr;gap:20px;align-items:stretch;margin-bottom:22px}.gdsa43-institution-card{position:relative;overflow:hidden;min-height:430px;border-radius:34px;padding:42px;color:#fff;background:radial-gradient(circle at 82% 15%,rgba(255,209,102,.36),transparent 28%),radial-gradient(circle at 18% 92%,rgba(255,255,255,.12),transparent 22%),linear-gradient(135deg,#173f2a 0%,#245c3a 48%,#2f7a4d 100%);box-shadow:0 18px 45px rgba(23,32,27,.18)}.gdsa43-institution-card:before{content:"";position:absolute;right:-90px;bottom:-110px;width:390px;height:390px;border-radius:50%;border:44px solid rgba(255,255,255,.075)}.gdsa43-institution-card:after{content:"";position:absolute;left:34px;bottom:28px;width:160px;height:8px;border-radius:999px;background:linear-gradient(90deg,#f0b429,rgba(240,180,41,0))}.gdsa43-pill-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.gdsa43-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.88rem;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(6px)}.gdsa43-institution-card h1{position:relative;z-index:2;max-width:880px;margin:0 0 18px;color:#fff;font-size:clamp(2.4rem,4.9vw,5.4rem);line-height:.98;letter-spacing:-.045em}.gdsa43-institution-card .lead{position:relative;z-index:2;max-width:820px;margin:0 0 24px;color:rgba(255,255,255,.94);font-size:1.18rem;line-height:1.65}.gdsa43-data-manifesto{position:relative;z-index:2;max-width:840px;margin:20px 0 0;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.95)}.gdsa43-data-manifesto strong{color:#ffd166}.gdsa43-main-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.gdsa43-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:13px 18px;border-radius:999px;text-decoration:none!important;font-weight:950;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.gdsa43-action-btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,0,.16)}.gdsa43-action-primary{color:#17201b!important;background:#f0b429}.gdsa43-action-secondary{color:#fff!important;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.30)}.gdsa43-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:20px}.gdsa43-feature-tile{position:relative;overflow:hidden;min-height:205px;border-radius:30px;padding:28px;background:#fff;border:1px solid var(--gdsa-border,#dfe7dd);box-shadow:0 14px 34px rgba(23,32,27,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.gdsa43-feature-tile:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(23,32,27,.13);border-color:rgba(47,122,77,.35)}.gdsa43-feature-tile:before{content:"";position:absolute;right:-42px;top:-42px;width:145px;height:145px;border-radius:48px;transform:rotate(18deg);background:rgba(240,180,41,.18)}.gdsa43-feature-tile .gdsa-icon{position:relative;z-index:2}.gdsa43-feature-tile h3{position:relative;z-index:2;margin:0 0 10px;font-size:1.36rem;color:#17201b}.gdsa43-feature-tile p{position:relative;z-index:2;color:#637267;line-height:1.55;margin:0 0 14px}.gdsa43-feature-tile .gdsa-card-link{position:absolute;inset:0;z-index:5;text-indent:-9999px}.gdsa43-feature-tile .gdsa-card-cta{position:relative;z-index:3}.gdsa43-mosaic-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:18px;margin-top:18px}.gdsa43-mosaic-card{grid-column:span 4;min-height:188px;position:relative;overflow:hidden;border-radius:26px;padding:24px;background:#fff;border:1px solid var(--gdsa-border,#dfe7dd);box-shadow:0 10px 24px rgba(23,32,27,.065);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.gdsa43-mosaic-card:nth-child(3n+1){grid-column:span 5}.gdsa43-mosaic-card:nth-child(4n+2){grid-column:span 3}.gdsa43-mosaic-card:nth-child(5n){min-height:230px}.gdsa43-mosaic-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(23,32,27,.12);border-color:rgba(47,122,77,.38)}.gdsa43-mosaic-card:after{content:"";position:absolute;right:-34px;bottom:-42px;width:120px;height:120px;border-radius:999px;background:rgba(47,122,77,.10)}.gdsa43-mosaic-card .gdsa-icon{width:44px;height:44px;border-radius:15px}.gdsa43-mosaic-card h3{margin:0 0 8px;color:#17201b;font-size:1.22rem}.gdsa43-mosaic-card p{color:#637267;line-height:1.55;margin:0 0 15px}.gdsa43-mosaic-card .gdsa-card-link{position:absolute;inset:0;z-index:5;text-indent:-9999px}.gdsa43-mosaic-card .gdsa-card-cta{position:relative;z-index:3}.gdsa43-news-band{margin-top:34px}@media(max-width:980px){.gdsa43-mosaic-hero{grid-template-columns:1fr}.gdsa43-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gdsa43-mosaic-card,.gdsa43-mosaic-card:nth-child(3n+1),.gdsa43-mosaic-card:nth-child(4n+2){grid-column:span 6}}@media(max-width:680px){.gdsa43-front-mosaic{padding:20px 14px 46px}.gdsa43-institution-card{padding:28px 22px;min-height:auto;border-radius:24px}.gdsa43-side-stack{grid-template-columns:1fr}.gdsa43-mosaic-card,.gdsa43-mosaic-card:nth-child(3n+1),.gdsa43-mosaic-card:nth-child(4n+2){grid-column:span 12}}


/* ==========================================================
 * GDSA43 V2.3 — bouton connexion accueil
 * Ajout non destructif : entrée visible vers l’espace adhérent.
 * ========================================================== */
.gdsa43-main-actions{align-items:center}
.gdsa43-action-login{
    background:#ffbf00!important;
    color:#17201b!important;
    border:2px solid rgba(23,32,27,.18)!important;
    box-shadow:0 12px 28px rgba(255,191,0,.34)!important;
    font-weight:950!important;
}
.gdsa43-action-login:hover,
.gdsa43-action-login:focus{
    background:#ffd34d!important;
    color:#17201b!important;
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(255,191,0,.45)!important;
}
.gdsa43-action-login:before{
    content:"🔐";
    margin-right:.45rem;
    line-height:1;
}
@media(max-width:680px){
    .gdsa43-main-actions .gdsa43-action-btn{width:100%;justify-content:center}
}


/* ===== Bouton Connexion GDSA43 ultra visible ===== */

.gdsa43-login-btn,
a.gdsa43-login-btn,
.gdsa43-dashboard-login a,
.gdsa43-hero-login a{
    display:inline-block;
    background:#d62828 !important;
    color:#ffffff !important;
    font-weight:700 !important;
    padding:14px 26px !important;
    border-radius:10px !important;
    text-decoration:none !important;
    box-shadow:0 4px 14px rgba(0,0,0,0.25) !important;
    border:2px solid #ffffff !important;
    transition:all .2s ease-in-out;
    text-transform:uppercase;
    letter-spacing:0.5px;
}

.gdsa43-login-btn:hover,
.gdsa43-dashboard-login a:hover,
.gdsa43-hero-login a:hover{
    background:#ff3b30 !important;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,0.35) !important;
}

.logged-in .gdsa43-login-btn{
    background:#198754 !important;
}

.logged-in .gdsa43-login-btn:hover{
    background:#20a767 !important;
}


/* ============================================================
   GDSA43 - Bouton "Mon espace" / connexion vraiment visible
   ------------------------------------------------------------
   Objectif :
   - utilisateur non connecté : bouton très visible ;
   - utilisateur connecté : bouton plus discret.
   ============================================================ */

/* Non connecté : lien vers /mon-compte/ mis en évidence */
body:not(.logged-in) a[href*="mon-compte"],
body:not(.logged-in) a[href*="my-account"],
body:not(.logged-in) .gdsa43-login-btn,
body:not(.logged-in) .gdsa43-hero a[href*="mon-compte"],
body:not(.logged-in) .gdsa43-dashboard a[href*="mon-compte"] {
    display: inline-block !important;
    background: #d62828 !important;
    color: #ffffff !important;
    border: 3px solid #ffffff !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.32) !important;
    line-height: 1.1 !important;
}

/* Survol non connecté */
body:not(.logged-in) a[href*="mon-compte"]:hover,
body:not(.logged-in) a[href*="my-account"]:hover,
body:not(.logged-in) .gdsa43-login-btn:hover,
body:not(.logged-in) .gdsa43-hero a[href*="mon-compte"]:hover,
body:not(.logged-in) .gdsa43-dashboard a[href*="mon-compte"]:hover {
    background: #ff3b30 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(0,0,0,.38) !important;
}

/* Connecté : "Mon espace" redevient plus discret */
body.logged-in a[href*="mon-compte"],
body.logged-in a[href*="my-account"],
body.logged-in .gdsa43-login-btn,
body.logged-in .gdsa43-hero a[href*="mon-compte"],
body.logged-in .gdsa43-dashboard a[href*="mon-compte"] {
    display: inline-block !important;
    background: rgba(255,255,255,.14) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

/* Survol connecté */
body.logged-in a[href*="mon-compte"]:hover,
body.logged-in a[href*="my-account"]:hover,
body.logged-in .gdsa43-login-btn:hover,
body.logged-in .gdsa43-hero a[href*="mon-compte"]:hover,
body.logged-in .gdsa43-dashboard a[href*="mon-compte"]:hover {
    background: rgba(255,255,255,.24) !important;
    color: #ffffff !important;
}


/* ============================================================
   GDSA43 V2.6 — Correctif définitif bouton "Mon espace"
   Cible le vrai bouton du dashboard : .gdsa43-action-login
   ============================================================ */

/* État par défaut : très lisible, même si le libellé est "Mon espace" */
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:link,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:visited,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:active,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:focus {
    background: #d62828 !important;
    background-color: #d62828 !important;
    color: #ffffff !important;
    border: 3px solid #ffffff !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.38) !important;
    opacity: 1 !important;
}

/* Force aussi les éventuels éléments internes */
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login *,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:before,
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:after {
    color: #ffffff !important;
}

/* Survol : toujours blanc sur rouge */
.gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:hover {
    background: #ff3b30 !important;
    background-color: #ff3b30 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0,0,0,.44) !important;
}

/* Utilisateur connecté : discret mais lisible, pas bleu */
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login,
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:link,
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:visited,
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:hover,
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:active,
body.logged-in .gdsa43-main-actions a.gdsa43-action-btn.gdsa43-action-login:focus {
    background: rgba(255,255,255,.22) !important;
    background-color: rgba(255,255,255,.22) !important;
    color: #ffffff !important;
    border: 2px solid rgba(255,255,255,.78) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Sécurité : tout lien /mon-compte/ présent dans le hero ne doit jamais être bleu */
.gdsa43-mosaic-hero a[href*="mon-compte"],
.gdsa43-institution-card a[href*="mon-compte"] {
    color: #ffffff !important;
}


/* ============================================================
   GDSA43 v0.2.7 - Correctif définitif bouton "Mon espace"
   Cible le vrai bouton : .gdsa43-action-login
   ============================================================ */

body:not(.logged-in) a.gdsa43-action-login,
body:not(.logged-in) .gdsa43-action-login,
body:not(.logged-in) .gdsa43-hero-actions a.gdsa43-action-login,
body:not(.logged-in) .gdsa43-hero .gdsa43-action-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #d62828 !important;
    background-color: #d62828 !important;
    color: #ffffff !important;
    border: 3px solid #ffffff !important;
    border-radius: 999px !important;
    padding: 15px 30px !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .045em !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.36) !important;
    line-height: 1.1 !important;
}

body:not(.logged-in) a.gdsa43-action-login:link,
body:not(.logged-in) a.gdsa43-action-login:visited,
body:not(.logged-in) a.gdsa43-action-login:hover,
body:not(.logged-in) a.gdsa43-action-login:active,
body:not(.logged-in) a.gdsa43-action-login:focus {
    color: #ffffff !important;
}

body:not(.logged-in) a.gdsa43-action-login:hover,
body:not(.logged-in) .gdsa43-action-login:hover {
    background: #ff3b30 !important;
    background-color: #ff3b30 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0,0,0,.42) !important;
}

body.logged-in a.gdsa43-action-login,
body.logged-in .gdsa43-action-login,
body.logged-in .gdsa43-hero-actions a.gdsa43-action-login {
    background: rgba(255,255,255,.14) !important;
    background-color: rgba(255,255,255,.14) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

body.logged-in a.gdsa43-action-login:link,
body.logged-in a.gdsa43-action-login:visited,
body.logged-in a.gdsa43-action-login:hover,
body.logged-in a.gdsa43-action-login:active,
body.logged-in a.gdsa43-action-login:focus {
    color: #ffffff !important;
}


/* ==========================================================
   GDSA43 V2.8 — accueil paramétrable + blason institutionnel
   Ajout non destructif : image, devise et textes pilotés par le personnalisateur.
   ========================================================== */

.gdsa43-side-stack{
    grid-template-rows:auto 1fr 1fr;
}

.gdsa43-institution-image-card{
    padding:18px !important;
    display:grid;
    grid-template-columns:132px 1fr;
    gap:16px;
    align-items:center;
    background:linear-gradient(135deg,#fffdf6,#f3f8ef) !important;
    border:1px solid rgba(36,92,58,.18) !important;
}

.gdsa43-institution-image-card:before{
    display:none !important;
}

.gdsa43-institution-image-card img{
    width:132px;
    height:132px;
    object-fit:contain;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 28px rgba(23,32,27,.14);
    border:1px solid rgba(240,180,41,.45);
    padding:6px;
}

.gdsa43-institution-image-caption h3{
    margin:0 0 6px;
    color:#173f2a;
    font-size:1.08rem;
}

.gdsa43-institution-image-caption p{
    margin:0;
    color:#55625a;
    line-height:1.45;
    font-size:.94rem;
}

.gdsa43-data-manifesto strong{
    display:block;
    margin-bottom:6px;
    font-size:1.05rem;
}

@media(max-width:980px){
    .gdsa43-side-stack{grid-template-rows:auto}
    .gdsa43-institution-image-card{grid-template-columns:110px 1fr}
    .gdsa43-institution-image-card img{width:110px;height:110px}
}

@media(max-width:560px){
    .gdsa43-institution-image-card{grid-template-columns:1fr;text-align:center}
    .gdsa43-institution-image-card img{margin:0 auto}
}


/* ==========================================================
   GDSA43 V2.9 — accueil plus sportif, fonctionnel, compact
   Objectif : tableau de bord vivant, blason discret, action prioritaire.
   ========================================================== */

.gdsa43-front-mosaic{
    max-width:1240px;
    padding-top:18px;
}

.gdsa43-mosaic-hero{
    grid-template-columns:1.55fr .72fr !important;
    gap:16px !important;
    margin-bottom:16px !important;
}

.gdsa43-institution-card{
    min-height:360px !important;
    padding:32px !important;
    border-radius:26px !important;
}

.gdsa43-institution-card h1{
    font-size:clamp(2rem,4.1vw,4.35rem) !important;
    max-width:820px !important;
    margin-bottom:14px !important;
}

.gdsa43-institution-card .lead{
    max-width:760px !important;
    margin-bottom:16px !important;
    font-size:1.08rem !important;
    line-height:1.52 !important;
}

.gdsa43-pill-row{
    margin-bottom:16px !important;
    gap:7px !important;
}

.gdsa43-pill{
    padding:6px 10px !important;
    font-size:.78rem !important;
}

.gdsa43-data-manifesto{
    max-width:760px !important;
    margin-top:14px !important;
    padding:13px 15px !important;
    border-radius:16px !important;
    font-size:.96rem !important;
    line-height:1.45 !important;
}

.gdsa43-data-manifesto strong{
    margin-bottom:4px !important;
    font-size:1rem !important;
}

.gdsa43-main-actions{
    margin-top:18px !important;
    gap:10px !important;
}

.gdsa43-action-btn{
    min-height:43px !important;
    padding:11px 16px !important;
    font-size:.95rem !important;
}

.gdsa43-side-stack{
    grid-template-rows:auto auto auto !important;
    gap:12px !important;
}

.gdsa43-feature-tile,
.gdsa43-mosaic-card{
    border-radius:20px !important;
    padding:20px !important;
}

.gdsa43-feature-tile{
    min-height:150px !important;
}

.gdsa43-mosaic-grid{
    gap:14px !important;
}

.gdsa43-institution-image-card{
    grid-template-columns:74px 1fr !important;
    gap:12px !important;
    padding:13px !important;
    min-height:auto !important;
    border-radius:20px !important;
    background:#ffffff !important;
    box-shadow:0 8px 20px rgba(23,32,27,.07) !important;
}

.gdsa43-institution-image-card img{
    width:74px !important;
    height:74px !important;
    border-radius:16px !important;
    padding:3px !important;
    box-shadow:0 6px 14px rgba(23,32,27,.12) !important;
}

.gdsa43-institution-image-caption h3{
    font-size:.95rem !important;
    margin-bottom:3px !important;
    line-height:1.15 !important;
}

.gdsa43-institution-image-caption p{
    font-size:.82rem !important;
    line-height:1.32 !important;
}

.gdsa43-feature-tile .gdsa-icon,
.gdsa43-mosaic-card .gdsa-icon{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:1.08rem !important;
    margin-bottom:10px !important;
}

.gdsa43-feature-tile h3,
.gdsa43-mosaic-card h3{
    font-size:1.08rem !important;
    margin-bottom:6px !important;
}

.gdsa43-feature-tile p,
.gdsa43-mosaic-card p{
    font-size:.94rem !important;
    line-height:1.42 !important;
    margin-bottom:12px !important;
}

.gdsa-card-cta{
    font-size:.92rem !important;
}

.gdsa43-news-band{
    margin-top:20px !important;
}

@media(max-width:980px){
    .gdsa43-mosaic-hero{
        grid-template-columns:1fr !important;
    }
    .gdsa43-side-stack{
        grid-template-columns:repeat(3,1fr);
        display:grid;
    }
}

@media(max-width:760px){
    .gdsa43-side-stack{
        grid-template-columns:1fr;
    }
    .gdsa43-institution-card{
        padding:24px !important;
    }
    .gdsa43-institution-image-card{
        grid-template-columns:64px 1fr !important;
    }
    .gdsa43-institution-image-card img{
        width:64px !important;
        height:64px !important;
    }
}


/* ==========================================================
   GDSA43 Accueil V2.10 — cartouches campagne + responsive mobile
   Non destructif : classes et réglages compatibles personnalisateur.
   ========================================================== */
.gdsa43-campaign-card{
    border-color:rgba(240,180,41,.50) !important;
    background:linear-gradient(135deg,#fffdf5 0%,#ffffff 72%) !important;
}
.gdsa43-campaign-card .gdsa-icon{
    background:linear-gradient(135deg,#996f14,#d99a18) !important;
}
.gdsa43-campaign-card.gdsa43-campaign-active{
    background:radial-gradient(circle at 90% 10%,rgba(255,209,102,.35),transparent 28%),linear-gradient(135deg,#fff4c7 0%,#fffdf5 58%,#ffffff 100%) !important;
    border-color:#d99a18 !important;
    box-shadow:0 16px 42px rgba(153,111,20,.16) !important;
}
.gdsa43-campaign-card.gdsa43-campaign-active:before{
    background:rgba(217,154,24,.22) !important;
}
.gdsa43-campaign-card.gdsa43-campaign-inactive{
    opacity:.96;
}
.gdsa43-campaign-status{
    position:relative;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:0 0 10px;
    padding:6px 10px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.01em;
    color:#4b3610;
    background:rgba(240,180,41,.20);
}
.gdsa43-campaign-active .gdsa43-campaign-status{
    color:#17201b;
    background:#f0b429;
}
.gdsa43-campaign-inactive .gdsa43-campaign-status{
    color:#637267;
    background:#edf2ea;
}
@media(max-width:760px){
    .gdsa43-front-mosaic{
        width:100%;
        max-width:none;
        padding:14px 10px 36px !important;
    }
    .gdsa43-mosaic-hero,
    .gdsa43-side-stack,
    .gdsa43-mosaic-grid,
    .gdsa43-news-grid,
    .gdsa43-blog-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
    .gdsa43-institution-card,
    .gdsa43-feature-tile,
    .gdsa43-mosaic-card,
    .gdsa43-news-card{
        width:100% !important;
        grid-column:1 / -1 !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }
    .gdsa43-mosaic-card,
    .gdsa43-mosaic-card:nth-child(3n+1),
    .gdsa43-mosaic-card:nth-child(4n+2),
    .gdsa43-mosaic-card:nth-child(5n){
        grid-column:1 / -1 !important;
        min-height:auto !important;
    }
    .gdsa43-institution-card{
        border-radius:20px !important;
        padding:22px 18px !important;
    }
    .gdsa43-institution-card h1{
        font-size:clamp(1.75rem,8vw,2.35rem) !important;
        line-height:1.05 !important;
        letter-spacing:-.025em !important;
    }
    .gdsa43-institution-card .lead{
        font-size:1rem !important;
        line-height:1.48 !important;
    }
    .gdsa43-main-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:9px !important;
    }
    .gdsa43-action-btn{
        width:100% !important;
        border-radius:16px !important;
    }
    .gdsa43-feature-tile,
    .gdsa43-mosaic-card{
        border-radius:18px !important;
        padding:18px !important;
    }
}
@media(max-width:420px){
    .gdsa43-front-mosaic{padding-left:8px !important;padding-right:8px !important;}
    .gdsa43-institution-card{padding:20px 16px !important;}
    .gdsa43-pill-row{gap:6px !important;}
    .gdsa43-pill{font-size:.76rem !important;padding:7px 9px !important;}
    .gdsa43-feature-tile h3,.gdsa43-mosaic-card h3{font-size:1.02rem !important;}
    .gdsa43-feature-tile p,.gdsa43-mosaic-card p{font-size:.92rem !important;}
}


/* ============================================================
   GDSA43 V2.11 — accueil : devise intégrée au cartouche principal
   ------------------------------------------------------------
   Correctif non destructif :
   - suppression visuelle du cartouche autonome « Salus apum » ;
   - devise intégrée au grand bandeau vert ;
   - cartouches latéraux et mosaïque plus lisibles sur petits écrans.
   ============================================================ */
.gdsa43-hero-motto{
    position:relative;
    z-index:2;
    max-width:860px;
    margin:0 0 18px;
    padding:15px 18px;
    border-radius:20px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.24);
    color:rgba(255,255,255,.96);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.gdsa43-hero-motto strong{
    display:block;
    color:#ffd166;
    font-size:clamp(1.08rem,1.8vw,1.42rem);
    line-height:1.25;
    margin:0 0 5px;
    letter-spacing:.01em;
}
.gdsa43-hero-motto span{
    display:block;
    font-size:1rem;
    line-height:1.55;
}
@media(max-width:980px){
    .gdsa43-mosaic-hero{
        gap:18px;
    }
    .gdsa43-side-stack{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .gdsa43-feature-tile{
        min-height:0;
    }
}
@media(max-width:680px){
    .gdsa43-institution-card{
        padding:26px 18px!important;
    }
    .gdsa43-hero-motto{
        padding:13px 14px;
        border-radius:16px;
        margin-bottom:16px;
    }
    .gdsa43-data-manifesto{
        padding:15px 14px!important;
        border-radius:18px!important;
    }
    .gdsa43-side-stack{
        display:grid;
        grid-template-columns:1fr!important;
        gap:14px;
    }
    .gdsa43-feature-tile,
    .gdsa43-mosaic-card{
        width:100%;
        min-height:0;
        padding:20px 18px;
        border-radius:20px;
    }
    .gdsa43-mosaic-grid{
        gap:14px;
    }
    .gdsa43-feature-tile h3,
    .gdsa43-mosaic-card h3{
        font-size:1.12rem;
    }
    .gdsa43-feature-tile p,
    .gdsa43-mosaic-card p{
        font-size:.96rem;
    }
}


/* GDSA43 Newsletter readability fix v2.11.2
   Correctif purement visuel : consentement newsletter lisible sur fond sombre.
   Aucun impact fonctionnel sur Brevo, WooCommerce, les rôles ou la cartographie. */
.gdsa43-newsletter-form .gdsa43-newsletter-consent,
.gdsa43-newsletter-consent {
    color: #ffffff !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 12px auto 0 !important;
    padding: 8px 10px !important;
    line-height: 1.45 !important;
    font-size: 13px !important;
    text-align: left !important;
    background: rgba(0,0,0,.22) !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

.gdsa43-newsletter-form .gdsa43-newsletter-consent *,
.gdsa43-newsletter-consent *,
.gdsa43-newsletter-form label.gdsa43-newsletter-consent,
label.gdsa43-newsletter-consent {
    color: #ffffff !important;
}

.gdsa43-newsletter-form .gdsa43-newsletter-consent input[type="checkbox"],
.gdsa43-newsletter-consent input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 2px 8px 0 0 !important;
    accent-color: #f2b705 !important;
}

.gdsa43-newsletter-form .gdsa43-newsletter-consent a,
.gdsa43-newsletter-consent a {
    color: #f2b705 !important;
    text-decoration: underline !important;
}

@media (max-width: 640px) {
    .gdsa43-newsletter-form .gdsa43-newsletter-consent,
    .gdsa43-newsletter-consent {
        max-width: 100% !important;
        padding: 9px 10px !important;
        font-size: 13px !important;
    }
}

