/* ==========================================================================
   Sunwall — design system
   1. Jetons  2. Base  3. En-tête  4. Contenu  5. Composants  6. Pied de page
   7. Contact / barre mobile  8. Compatibilité avec l'ancien code des pages
   ========================================================================== */

/* 1. Jetons */
:root{
	--sw-ink:#1B2530;--sw-glass:#243B63;--sw-sun:#E6A23C;--sw-snow:#F6F8F7;--sw-line:#D9DEE2;
	--sw-muted:#4A5663;--sw-foot-text:#C9D2DA;--sw-foot-line:#34414F;
	--sw-font:"Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;
	--sw-display:"Archivo","Arial Narrow",Arial,sans-serif;
	--sw-max:1180px;--sw-content:1120px;--sw-radius:6px;
	--sw-head-h:84px;
}
@media (max-width:900px){:root{--sw-head-h:70px}}

/* 2. Base */
html body.sw-theme{margin:0;background:var(--sw-snow);color:var(--sw-ink);font-family:var(--sw-font);font-size:18px;line-height:1.65;padding-top:var(--sw-head-h)!important;overflow-x:clip}
@media (max-width:600px){html body.sw-theme{font-size:17px}}
.sw-theme *,.sw-theme *::before,.sw-theme *::after{box-sizing:border-box}
.sw-theme img{max-width:100%;height:auto}
.sw-theme h1,.sw-theme h2,.sw-theme h3{font-family:var(--sw-display);font-stretch:112%;color:var(--sw-ink);line-height:1.1}
.sw-skip{position:absolute;left:-9999px;top:0;z-index:10000;background:#fff;padding:.6rem 1rem}
.sw-skip:focus{left:1rem;top:1rem}

/* 3. En-tête */
.swt-head{position:fixed;top:0;left:0;right:0;z-index:9000;background:rgba(255,255,255,.98);border-bottom:1px solid var(--sw-line)}
body.admin-bar .swt-head{top:32px}
.swt-head .in{max-width:var(--sw-max);margin:0 auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.swt-head .lg{flex:0 0 auto;display:block}
.swt-head .lg img{height:66px;width:auto;max-width:none;display:block}
.swt-nav{display:flex;gap:1.2rem;align-items:center}
.swt-nav ul{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0}
.swt-nav a{color:var(--sw-ink);text-decoration:none;font-weight:600;font-size:.98rem}
.swt-nav a:hover{color:var(--sw-glass)}
.swt-nav a.cta{background:var(--sw-glass);color:#fff;padding:.6rem 1rem;border-radius:var(--sw-radius)}
.swt-burger{display:none;font:inherit;font-weight:700;background:#fff;border:1px solid var(--sw-line);border-radius:var(--sw-radius);padding:.45rem .85rem;color:var(--sw-ink);cursor:pointer}
.swt-menu{position:absolute;right:20px;top:calc(100% + 6px);background:#fff;border:1px solid var(--sw-line);border-radius:10px;padding:.5rem 0;min-width:250px;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.swt-menu[hidden]{display:none}
.swt-menu a{display:block;padding:.6rem 1.1rem;color:var(--sw-ink);text-decoration:none;font-weight:600}
.swt-menu a:hover{background:var(--sw-snow)}
@media (max-width:900px){
	.swt-nav{display:none}
	.swt-burger{display:block}
	.swt-head .lg img{height:52px}
	body.admin-bar .swt-head{top:46px}
}
/* Sur téléphone, WordPress fait défiler la barre d'administration (visible seulement une fois connecté) :
   on la garde fixe pour que l'en-tête reste collé en haut, sans vide au-dessus. */
@media screen and (max-width:600px){html body.admin-bar #wpadminbar{position:fixed}}

/* 4. Contenu */
.sw-main{padding-bottom:4rem}
.sw-page-title{font-weight:800;font-size:clamp(2.2rem,6vw,4rem);text-align:left;max-width:var(--sw-content);margin:0 auto;padding:3rem 1.25rem .4rem}
.sw-theme .wp-block-post-content{padding:0 1.25rem;margin:0 auto}
.sw-theme .wp-block-post-content>*{max-width:var(--sw-content);margin-left:auto;margin-right:auto}
.sw-theme .wp-block-post-content>.alignwide{max-width:var(--sw-max)}
.sw-theme .wp-block-post-content>.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.sw-theme .wp-block-post-content a:not(.sw-btn):not(.wp-element-button){color:var(--sw-glass);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(230,162,60,.7)}
.sw-theme .wp-block-post-content li::marker{color:var(--sw-sun);font-weight:700}
.sw-crumbs{max-width:var(--sw-content);margin:0 auto;padding:1.4rem 1.25rem 0;font-size:.9rem;color:var(--sw-muted)}
.sw-crumbs a{color:var(--sw-glass);text-decoration:none}
.sw-crumbs .sep{margin:0 .3rem;color:var(--sw-sun)}

/* 5. Composants */
.sw-btn{display:inline-block;font:inherit;font-weight:700;border:0;border-radius:8px;padding:.9rem 1.4rem;cursor:pointer;text-decoration:none;line-height:1.2}
.sw-btn-sun{background:var(--sw-sun);color:var(--sw-ink)!important}
.sw-btn-glass{background:var(--sw-glass);color:#fff!important}
.sw-btn-ghost{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.6)}
.swt-band{background:var(--sw-ink);color:#fff;border-radius:14px;margin:3rem auto;padding:2.2rem 1.6rem;position:relative;overflow:hidden}
.swt-band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--sw-sun)}
body.sw-theme .swt-band h2{color:#fff!important;margin:0 0 .5rem;font-size:clamp(1.5rem,3.2vw,2.1rem)}
body.sw-theme .swt-band p{color:var(--sw-foot-text);margin:0 0 1.2rem;max-width:62ch}
.swt-band-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.sw-sources{border-top:1px solid var(--sw-line);margin:3rem auto 0;padding-top:1rem;font-size:.92rem;color:var(--sw-muted)}
.sw-sources h2{font-size:1rem!important;margin:0 0 .4rem!important}
.sw-sources ul{margin:0;padding-left:1.1rem}
.sw-brief{background:#fff;border:1px solid var(--sw-line);border-left:6px solid var(--sw-sun);border-radius:10px;padding:1.2rem 1.4rem;margin:1.5rem auto 2rem}
.sw-brief h2{font-size:1.2rem!important;margin:0 0 .6rem!important}
.sw-brief dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem 1.4rem;margin:0}
.sw-brief dt{font-size:.85rem;color:var(--sw-muted);font-weight:600}
.sw-brief dd{margin:0;font-weight:700}
.sw-brief small{font-weight:400;color:var(--sw-muted)}
.swt-post-card{background:#fff;border:1px solid var(--sw-line);border-radius:10px;padding:1.2rem 1.4rem;margin:1rem auto}

/* 6. Pied de page */
.swt-foot{background:var(--sw-ink);color:var(--sw-foot-text);padding:3rem 20px 2rem;font-size:.95rem}
.swt-foot .in{max-width:var(--sw-max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.swt-foot img{height:72px;width:auto;max-width:none;display:block}
.swt-foot h3{color:#fff;font-size:1rem;margin:0 0 .6rem}
.swt-foot a{color:#fff;text-decoration:none;display:block;padding:.18rem 0;font-size:.95rem}
.swt-foot a:hover{color:var(--sw-sun)}
.swt-foot p{margin:.9rem 0 0;color:var(--sw-foot-text);font-size:.92rem;line-height:1.55}
.swt-foot .bt{max-width:var(--sw-max);margin:2rem auto 0;border-top:1px solid var(--sw-foot-line);padding-top:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.85rem}
.swt-foot .bt a{display:inline;font-size:.85rem}
@media (max-width:820px){.swt-foot .in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.swt-foot .in{grid-template-columns:1fr}}

/* 7. Contact / barre mobile */
#swt-fab{position:fixed;right:22px;bottom:22px;z-index:9990;background:var(--sw-glass);color:#fff;border:0;border-radius:999px;padding:15px 22px;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 8px 24px rgba(27,37,48,.28)}
#swt-fab span{color:var(--sw-sun)}
#swt-bar{display:none}
#swt-modal{position:fixed;inset:0;background:rgba(27,37,48,.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:12px}
#swt-modal[hidden]{display:none}
#swt-box{background:#fff;border-radius:14px;width:100%;max-width:470px;max-height:92vh;overflow:auto;padding:1.5rem 1.4rem;position:relative}
#swt-box h2{margin:0 0 .3rem;font-size:1.6rem}
#swt-box p{margin:0 0 1rem;color:var(--sw-muted);font-size:1rem}
#swt-box label{display:block;font-weight:600;font-size:.95rem;margin:.6rem 0 .2rem;color:var(--sw-ink)}
#swt-box input,#swt-box textarea{width:100%;padding:.7rem;border:1px solid #B9C3CC;border-radius:var(--sw-radius);font:inherit;font-size:1rem;background:#fff;color:var(--sw-ink)}
#swt-box .chips{display:flex;flex-wrap:wrap;gap:.4rem}
#swt-box .chips label{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.45rem .7rem;border:1px solid #B9C3CC;border-radius:999px;cursor:pointer}
#swt-box .chips input{width:auto;accent-color:var(--sw-glass)}
#swt-box .swt-hp{display:none}
#swt-send{margin-top:1rem;width:100%;background:var(--sw-sun);color:var(--sw-ink);border:0;border-radius:8px;padding:.95rem;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer}
#swt-send[disabled]{opacity:.7;cursor:wait}
#swt-x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.8rem;line-height:1;color:var(--sw-muted);cursor:pointer}
#swt-call{display:block;text-align:center;margin-top:.8rem;font-weight:700;color:var(--sw-glass);text-decoration:none}
@media (max-width:760px){
	#swt-fab{display:none}
	#swt-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;background:var(--sw-ink)}
	#swt-bar a,#swt-bar button{flex:1;text-align:center;padding:14px 6px;font:inherit;font-weight:700;font-size:1rem;border:0;text-decoration:none;cursor:pointer}
	#swt-bar a{background:var(--sw-ink);color:#fff}
	#swt-bar button{background:var(--sw-sun);color:var(--sw-ink)}
	html body.sw-theme{padding-bottom:58px!important}
	#swt-modal{align-items:flex-end;padding:0}
	#swt-box{border-radius:16px 16px 0 0;max-height:94vh}
}

/* 8. Compatibilité : l'ancien en-tête, l'ancien pied de page et l'ancienne bulle
   restent dans le contenu des pages tant qu'ils ne sont pas retirés.
   Le thème les masque pour éviter les doublons, sans modifier les pages. */
body.sw-theme header.sw-head,
body.sw-theme #sw-foot,
body.sw-theme #swc,
body.sw-theme #swc-fab,
body.sw-theme #swc-bar,
body.sw-theme #swc-modal{display:none!important}

/* 9. Couche de contenu (reprise à l'identique des règles « standard » des anciennes pages).
   Appliquée uniquement aux pages qui utilisaient ces règles (classes de corps posées par
   inc/content-profile.php), pour que le rendu reste strictement identique après le retrait
   des anciens blocs. Les pages à variantes gardent leurs propres règles dans leur contenu. */
body.sw-theme .wp-block-post-content{margin-top:0;padding-top:0}
body.sw-theme .wp-block-post-content>*:first-child,body.sw-theme .wp-block-post-content>style+*{margin-top:0}
@media (max-width:600px){body.sw-c-std .sw-page-title{padding-top:2rem}}
body.sw-theme input,body.sw-theme select,body.sw-theme textarea,body.sw-theme button{font-family:var(--sw-font)}
body.sw-theme h4{font-family:var(--sw-display);font-stretch:112%}
body.sw-c-std h1,body.sw-c-std h2,body.sw-c-std h3,body.sw-c-std h4,body.sw-c-std .sw-page-title{letter-spacing:-.01em;color:var(--sw-ink);line-height:1.1}
body.sw-c-std h2{font-weight:800;font-size:clamp(1.6rem,3.6vw,2.4rem);margin:3.2rem 0 .8rem}
body.sw-c-std h3{font-weight:600;font-size:1.25rem;margin:1.8rem 0 .5rem}
body.sw-c-std .wp-block-post-content p,body.sw-c-std .wp-block-post-content li{font-size:1.08rem;color:var(--sw-ink)}
body.sw-c-std .wp-block-post-content li{margin-bottom:.5rem}
body.sw-c-std .wp-block-post-content ul li::marker,body.sw-c-std .wp-block-post-content ol li::marker{color:var(--sw-sun);font-weight:700}
body.sw-c-std a.wp-element-button,body.sw-c-std button.wp-element-button{display:inline-block;background:var(--sw-glass);color:#fff;border:2px solid var(--sw-glass);border-radius:6px;padding:.85rem 1.4rem;font-weight:700;font-size:1.02rem;text-decoration:none;cursor:pointer;margin:.3rem .5rem .3rem 0}
body.sw-c-std a.wp-element-button:hover,body.sw-c-std button.wp-element-button:hover{filter:brightness(1.12)}
body.sw-c-std .wp-block-table{overflow-x:auto;margin:1.5rem 0}
body.sw-c-std .wp-block-post-content table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--sw-line);font-size:1rem}
body.sw-c-std .wp-block-post-content th{background:var(--sw-glass);color:#fff;text-align:left;padding:.8rem 1rem;font-weight:700}
body.sw-c-std .wp-block-post-content td{padding:.8rem 1rem;border-top:1px solid var(--sw-line);vertical-align:top}
body.sw-c-std .sw-cap{font-size:.85rem;color:var(--sw-muted);margin:0 0 2rem}
body.sw-c-inputs .wp-block-post-content input:not([type=radio]):not([type=checkbox]),body.sw-c-inputs .wp-block-post-content select,body.sw-c-inputs .wp-block-post-content textarea{border:1px solid #B9C3CC;border-radius:6px;background:#fff;font-size:1rem;margin-top:.3rem}
body.sw-c-img .sw-img{display:block;width:100%;height:auto;border-radius:8px;margin:1rem 0 .4rem;aspect-ratio:16/10;object-fit:cover}

/* 10. Mode test du formulaire (?sw_test=1) */
.swt-testbar{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:10001;background:#B42318;color:#fff;font-weight:700;font-size:.9rem;padding:.35rem .9rem;border-radius:0 0 8px 8px}
