/* BRIO DECOR - charte Ollie (COESIS) */
:root{--b-ink:#1C2046;--b-soft:#4A4F6E;--b-navy:#353B77;--b-or:#ED8100;--b-or2:#E14612;--b-bg:#F5F6FA;--b-line:#DDE0EC;--b-tint:#E9EBF5;--b-r:6px}
body{color:var(--b-ink);-webkit-font-smoothing:antialiased}
body p,body li{line-height:1.65}
.wp-site-blocks h1,.wp-site-blocks h2,.wp-site-blocks h3{letter-spacing:-.015em;text-wrap:balance}
.wp-site-blocks h1{font-size:clamp(2rem,4.2vw,3.15rem)}
.wp-site-blocks h2{font-size:clamp(1.55rem,2.6vw,2.15rem)}
.wp-site-blocks h3{font-size:clamp(1.15rem,1.6vw,1.35rem)}
:where(.wp-site-blocks) a{text-underline-offset:3px}
.wp-element-button,.wp-block-button__link{border-radius:var(--b-r)!important;padding:.85em 1.4em!important;font-weight:700;transition:background .2s,color .2s,transform .15s}
.wp-block-button__link:hover{background:var(--b-or2)!important;color:#fff!important}
.wp-block-button__link:active{transform:translateY(1px)}
.brio-ghost .wp-block-button__link{background:transparent!important;color:var(--b-navy)!important;box-shadow:inset 0 0 0 2px var(--b-navy)}
.brio-ghost .wp-block-button__link:hover{background:var(--b-navy)!important;color:#fff!important}
:focus-visible{outline:3px solid var(--b-or);outline-offset:2px}

/* En-tete */
header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:60;background:#fff;border-bottom:1px solid var(--b-line)}
.brio-head{padding:10px 24px!important;gap:24px;max-width:1260px;margin:0 auto!important}
.brio-logo{margin:0!important;flex:0 0 auto}
.brio-logo img{width:118px;height:auto;display:block}
.brio-head .wp-block-navigation{font-weight:500;font-size:15.5px;gap:22px}
.brio-head .wp-block-navigation a:hover{color:var(--b-or2)}
.brio-head .wp-block-navigation__submenu-container{border:1px solid var(--b-line)!important;border-radius:var(--b-r);padding:8px 0!important;box-shadow:0 12px 28px rgba(28,32,70,.12)}
.brio-head .wp-block-navigation__submenu-container a{padding:8px 18px!important}
.brio-tel .wp-block-button__link{padding:.6em 1.05em!important;font-size:15px;white-space:nowrap}
@media (max-width:1100px){.brio-tel{display:none}}
.wp-block-navigation__responsive-container.is-menu-open{padding:28px!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{font-size:19px;gap:14px}

/* Sections */
.brio-sec{padding:clamp(48px,7vw,88px) 24px!important}
.brio-sec.is-tint{background:var(--b-bg)}
.brio-kick{text-transform:uppercase;letter-spacing:.14em;font-size:13px!important;font-weight:700;color:var(--b-navy);margin-bottom:10px!important}
.brio-kick::before{content:"";display:inline-block;width:28px;height:3px;background:var(--b-or);vertical-align:middle;margin-right:10px;border-radius:2px}
.brio-lead{font-size:clamp(1.05rem,1.4vw,1.2rem)!important;color:var(--b-soft);max-width:62ch}
.brio-narrow{max-width:760px;margin-left:auto!important;margin-right:auto!important}

/* Bandeau de tete */
.brio-hero{padding:clamp(36px,5vw,64px) 24px clamp(44px,6vw,80px)!important;background:linear-gradient(180deg,#fff 0%,var(--b-bg) 100%)}
.brio-hero>.wp-block-columns{align-items:center!important;gap:clamp(28px,5vw,64px)!important;max-width:1200px;margin:0 auto}
.brio-hero h1{margin:0 0 18px!important}
.brio-hero .brio-lead{margin-bottom:26px!important}
.brio-hero .brio-ph{position:relative}
.brio-hero .brio-ph::after{content:"";position:absolute;right:-14px;bottom:-14px;width:46%;height:46%;border:3px solid var(--b-or);border-radius:var(--b-r);z-index:-1}
.brio-ph{margin:0!important;border-radius:var(--b-r);overflow:visible}
.brio-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--b-r);display:block}
.brio-hero .brio-ph img{aspect-ratio:5/4}
.brio-crumb{font-size:14px!important;color:var(--b-soft);margin-bottom:14px!important}
.brio-crumb a{color:var(--b-soft)}

/* Chiffres / reassurance */
.brio-facts{gap:0!important;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);max-width:1200px;margin:0 auto!important}
.brio-facts>.wp-block-column{padding:22px 20px;border-left:1px solid var(--b-line)}
.brio-facts>.wp-block-column:first-child{border-left:0}
.brio-facts .brio-big{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.6rem,2.6vw,2.2rem)!important;color:var(--b-navy);margin:0!important;line-height:1.1}
.brio-facts p:last-child{margin:4px 0 0!important;color:var(--b-soft);font-size:15px}
@media (max-width:781px){.brio-facts>.wp-block-column{border-left:0;border-top:1px solid var(--b-line)}.brio-facts>.wp-block-column:first-child{border-top:0}}

/* Cartes prestations */
.brio-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;max-width:1200px;margin:32px auto 0!important}
.brio-cards>.brio-card:first-child{grid-column:span 2}
.brio-cards>.brio-card:first-child img{aspect-ratio:16/8}
@media (max-width:900px){.brio-cards{grid-template-columns:1fr 1fr}.brio-cards>.brio-card:first-child{grid-column:span 2}}
@media (max-width:600px){.brio-cards{grid-template-columns:1fr}.brio-cards>.brio-card:first-child{grid-column:auto}.brio-cards>.brio-card:first-child img{aspect-ratio:4/3}}
.brio-card{background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);overflow:hidden;margin:0!important;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.brio-card:hover{border-color:var(--b-navy);transform:translateY(-2px)}
.brio-card .brio-ph img{border-radius:0;aspect-ratio:4/3}
.brio-card h3{margin:18px 20px 6px!important}
.brio-card h3 a{color:var(--b-ink);text-decoration:none}
.brio-card h3 a::after{content:" \2192";color:var(--b-or)}
.brio-card p{margin:0 20px 20px!important;color:var(--b-soft);font-size:15.5px}

/* Texte + image */
.brio-split{align-items:center!important;gap:clamp(28px,5vw,64px)!important;max-width:1200px;margin:0 auto!important}
.brio-list{padding-left:0!important;list-style:none}
.brio-list li{position:relative;padding-left:26px;margin:0 0 8px}
.brio-list li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:3px;background:var(--b-or);border-radius:2px}
.brio-note{background:var(--b-tint);border-left:4px solid var(--b-navy);padding:16px 20px!important;border-radius:0 var(--b-r) var(--b-r) 0;font-size:15.5px}

/* Grille photos */
.brio-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;max-width:1200px;margin:28px auto 0!important}
.brio-grid .brio-ph img{aspect-ratio:1/1}
@media (max-width:600px){.brio-grid{grid-template-columns:1fr 1fr}}

/* Bande appel a l'action */
.brio-band{background:var(--b-navy);color:#fff;padding:clamp(40px,6vw,64px) 24px!important}
.brio-band h2,.brio-band p{color:#fff}
.brio-band .brio-lead{color:rgba(255,255,255,.85)}
.brio-band>.wp-block-columns{align-items:center!important;max-width:1200px;margin:0 auto!important}
.brio-band .brio-ghost .wp-block-button__link{color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.brio-band .brio-ghost .wp-block-button__link:hover{background:#fff!important;color:var(--b-navy)!important}

/* FAQ */
.brio-faq{max-width:820px;margin:24px auto 0!important}
.brio-faq .wp-block-details{border-bottom:1px solid var(--b-line);padding:4px 0}
.brio-faq summary{font-family:'Sora',sans-serif;font-weight:600;font-size:1.08rem;padding:16px 36px 16px 0;cursor:pointer;list-style:none;position:relative}
.brio-faq summary::-webkit-details-marker{display:none}
.brio-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:24px;color:var(--b-or);font-weight:400}
.brio-faq details[open] summary::after{content:"\2212"}
.brio-faq details p{color:var(--b-soft);margin:0 0 16px!important}

/* Marques */
.brio-brands{font-size:15px!important;color:var(--b-soft)}

/* Contact */
.brio-contact .wpcf7 input:not([type=submit]),.brio-contact .wpcf7 textarea{width:100%;border:1px solid var(--b-line);border-radius:var(--b-r);padding:12px 14px;font:inherit;background:#fff;color:var(--b-ink)}
.brio-contact .wpcf7 input:focus,.brio-contact .wpcf7 textarea:focus{border-color:var(--b-navy);outline:2px solid var(--b-tint)}
.brio-contact .wpcf7 label{display:block;font-weight:500;margin-bottom:12px}
.brio-contact .wpcf7 input[type=submit]{background:var(--b-or);color:var(--b-ink);font-weight:700;border:0;border-radius:var(--b-r);padding:14px 26px;cursor:pointer}
.brio-contact .wpcf7 input[type=submit]:hover{background:var(--b-or2);color:#fff}
.brio-card-info{background:var(--b-bg);border-radius:var(--b-r);padding:28px!important}
.brio-card-info h2{font-size:1.3rem!important}

/* Articles */
.wp-block-latest-posts.is-grid{gap:22px}
.wp-block-latest-posts.is-grid li{background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);overflow:hidden;padding-bottom:18px}
.wp-block-latest-posts__featured-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.wp-block-latest-posts.is-grid li>a{display:block;margin:14px 18px 6px;font-family:'Sora',sans-serif;font-weight:600;color:var(--b-ink);text-decoration:none;line-height:1.3}
.wp-block-latest-posts__post-date{margin:0 18px;color:var(--b-soft)}

/* Pied de page */
.brio-foot{background:var(--b-ink);color:rgba(255,255,255,.78);padding:56px 24px 28px!important;font-size:15px}
.brio-foot a{color:#fff;text-decoration:none}
.brio-foot a:hover{color:var(--b-or)}
.brio-foot h2{color:#fff;font-size:1rem!important;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px!important}
.brio-foot .wp-block-columns{max-width:1200px;margin:0 auto!important}
.brio-foot ul{list-style:none;padding:0!important}
.brio-foot li{margin:0 0 6px}
.brio-foot .brio-flogo{background:#fff;display:inline-block;padding:10px 14px;border-radius:var(--b-r);margin:0 0 16px!important}
.brio-foot .brio-flogo img{width:110px;height:auto;display:block}
.brio-legal{max-width:1200px;margin:32px auto 0!important;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px!important}

/* Page de recette */
.brio-test .brio-card{padding-bottom:6px}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.brio-fh{color:#fff;font-family:'Sora',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:14px!important;margin-bottom:14px!important}
.has-text-align-center{text-align:center}

/* Carte entierement cliquable */
.brio-card{position:relative;cursor:pointer}
.brio-card h3 a::before{content:"";position:absolute;inset:0;z-index:2}
.brio-card:focus-within{border-color:var(--b-navy)}

/* Alignement des intros de section */
.brio-sec>.brio-lead{margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}
.brio-sec>.has-text-align-center+.brio-lead{margin-left:auto!important}
/* Grille des articles : 3 colonnes reelles */
.wp-block-latest-posts.is-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;padding:0!important;margin-top:28px!important}
.wp-block-latest-posts.is-grid li{width:auto!important;margin:0!important}
@media (max-width:900px){.wp-block-latest-posts.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.wp-block-latest-posts.is-grid{grid-template-columns:1fr}}

/* Chiffres : une ligne par chiffre */
.brio-facts .brio-big{font-size:clamp(1.4rem,2.1vw,2rem)!important;white-space:nowrap}
.brio-facts p:last-child{line-height:1.45}
@media (min-width:782px) and (max-width:1100px){.brio-facts .brio-big{font-size:1.3rem!important}.brio-facts>.wp-block-column{padding:18px 14px}}

/* Bandeau image accueil */
.brio-banner{padding:0!important}
.brio-banner .brio-bimg{margin:0!important}
.brio-banner .brio-bimg img{width:100%;height:auto;max-height:78vh;object-fit:cover;object-position:center 32%;display:block;border-radius:0}
.brio-intro{padding-top:clamp(40px,6vw,72px)!important}
.brio-intro h1{max-width:20ch}
/* Tuiles profils */
.brio-tiles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;max-width:1200px;margin:28px auto 0!important}
@media (max-width:900px){.brio-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.brio-tiles{grid-template-columns:1fr}}
.brio-tile{position:relative;background:#fff;border:1px solid var(--b-line);border-top:4px solid var(--b-or);border-radius:var(--b-r);padding:22px 22px 18px!important;margin:0!important;transition:border-color .2s,transform .2s}
.brio-tile:hover{border-color:var(--b-navy);border-top-color:var(--b-or);transform:translateY(-2px)}
.brio-tile h3{margin:0 0 8px!important;font-size:1.12rem!important}
.brio-tile h3 a{color:var(--b-ink);text-decoration:none}
.brio-tile h3 a::before{content:"";position:absolute;inset:0}
.brio-tile h3 a::after{content:" \2192";color:var(--b-or)}
.brio-tile p{margin:0!important;color:var(--b-soft);font-size:15.5px}
.brio-zones{display:flex;flex-wrap:wrap;gap:8px;padding:0!important;list-style:none;margin:18px 0!important}
.brio-zones li{background:#fff;border:1px solid var(--b-line);border-radius:999px;padding:6px 14px;margin:0;font-size:15px;font-weight:500}
.is-tint .brio-zones li{background:#fff}
.brio-step{scroll-margin-top:110px}

.brio-step{padding:28px 0!important;border-bottom:1px solid var(--b-line)}
.brio-step:last-child{border-bottom:0}
.brio-step h2{scroll-margin-top:110px;font-size:clamp(1.3rem,2vw,1.6rem)!important}

/* Accueil variante B : hero en deux colonnes, image a effet */
.brio-hero2{padding:clamp(28px,4vw,56px) 24px clamp(56px,7vw,96px)!important;background:linear-gradient(90deg,#fff 0%,#fff 55%,var(--b-bg) 55%);overflow:hidden}
.brio-hero2>.wp-block-columns{align-items:center!important;gap:clamp(28px,5vw,72px)!important;max-width:1200px;margin:0 auto!important}
.brio-hero2 h1{font-size:clamp(2.1rem,4.4vw,3.4rem)!important;line-height:1.06!important;margin:0 0 20px!important}
.brio-hero2 h1 em{font-style:normal;color:var(--b-navy);background:linear-gradient(transparent 62%,rgba(237,129,0,.35) 62%)}
.brio-hero2 .brio-lead{margin-bottom:28px!important}
.brio-hx{position:relative;margin:0!important}
.brio-hx::before{content:"";position:absolute;left:-22px;bottom:-22px;width:58%;height:62%;background:var(--b-or);border-radius:var(--b-r);z-index:0;animation:brioSlide 1.1s .35s cubic-bezier(.2,.7,.2,1) both}
.brio-hx img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:46% 40%;border-radius:var(--b-r);display:block;animation:brioReveal 1.2s cubic-bezier(.65,0,.25,1) both,brioZoom 7s ease-out both;box-shadow:0 24px 50px rgba(28,32,70,.18)}
@media (min-width:782px){.brio-hx{margin-right:calc(-1 * max(24px,(100vw - 1200px) / 2))!important}.brio-hx img{border-radius:var(--b-r) 0 0 var(--b-r);aspect-ratio:5/4}}
.brio-hbadge{position:absolute;z-index:2;left:-28px;top:28px;background:#fff;border-radius:var(--b-r);padding:14px 18px!important;box-shadow:0 14px 34px rgba(28,32,70,.16);animation:brioUp .8s 1s both}
.brio-hbadge p{margin:0!important;font-size:14px;color:var(--b-soft);line-height:1.35}
.brio-hbadge .brio-big{font-family:'Sora',sans-serif;font-weight:700;font-size:1.6rem!important;color:var(--b-navy);line-height:1}
@media (max-width:781px){.brio-hbadge{left:12px;top:12px}.brio-hx::before{left:-10px;bottom:-10px}.brio-hero2{background:#fff}}
@keyframes brioReveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes brioZoom{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes brioSlide{from{transform:translate(30px,30px);opacity:0}to{transform:none;opacity:1}}
@keyframes brioUp{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.brio-hx img,.brio-hx::before,.brio-hbadge{animation:none!important}}

.brio-hx .brio-ph{position:relative;z-index:1;overflow:hidden!important;border-radius:var(--b-r);box-shadow:0 24px 50px rgba(28,32,70,.18);animation:brioReveal 1.2s cubic-bezier(.65,0,.25,1) both}
.brio-hx .brio-ph img{box-shadow:none;animation:brioZoom 7s ease-out both;border-radius:0}
@media (min-width:782px){.brio-hx .brio-ph{border-radius:var(--b-r) 0 0 var(--b-r)}}
@media (prefers-reduced-motion:reduce){.brio-hx .brio-ph,.brio-hx .brio-ph img{animation:none!important}}

/* Variante B : image recentree dans la grille */
@media (min-width:782px){.brio-hx{margin-right:0!important}.brio-hx .brio-ph,.brio-hx img{border-radius:var(--b-r)!important}.brio-hx img{aspect-ratio:4/3!important}}
.brio-hero2{background:linear-gradient(90deg,#fff 0%,#fff 62%,var(--b-bg) 62%)}
.brio-hero2>.wp-block-columns>.wp-block-column:last-child{padding-right:22px}

/* Tuiles informatives (sans lien) */
.brio-tile:not(:has(a)){border-top-color:var(--b-navy)}
.brio-tile:not(:has(a)):hover{transform:none;border-color:var(--b-line);border-top-color:var(--b-navy)}
.brio-tiles.is-four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.brio-tiles.is-four{grid-template-columns:1fr}}
/* Etapes */
.brio-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px!important;max-width:1200px;margin:28px auto 28px!important;counter-reset:s}
.brio-stp{margin:0!important;border-top:3px solid var(--b-line);padding-top:16px!important;position:relative}
.brio-stp .brio-num{font-family:'Sora',sans-serif;font-weight:700;font-size:2.2rem!important;color:var(--b-or);line-height:1;margin:0 0 10px!important}
.brio-stp h3{font-size:1.05rem!important;margin:0 0 8px!important}
.brio-stp p:last-child{font-size:15px;color:var(--b-soft);margin:0!important}
@media (max-width:1000px){.brio-steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.brio-steps{grid-template-columns:1fr}}
/* Formulaire devis */
.brio-f{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.brio-f>label,.brio-f>fieldset,.brio-f>div{margin:0 0 10px}
.brio-f-full{grid-column:1/-1}
@media (max-width:600px){.brio-f{grid-template-columns:1fr}}
.brio-contact .wpcf7 select{width:100%;border:1px solid var(--b-line);border-radius:var(--b-r);padding:12px 14px;font:inherit;background:#fff;color:var(--b-ink)}
.brio-contact .brio-f-full:first-child select{border:2px solid var(--b-or);font-weight:600}
.brio-contact fieldset{border:0;padding:0}
.brio-contact .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.brio-contact .wpcf7-checkbox .wpcf7-list-item{margin:0}
.brio-contact .wpcf7-checkbox label{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--b-line);border-radius:999px;padding:6px 14px;font-weight:500;cursor:pointer;margin:0}
.brio-contact .wpcf7-checkbox label:has(input:checked){border-color:var(--b-navy);background:var(--b-tint)}
.brio-contact .brio-f-rgpd{font-size:14px;color:var(--b-soft)}
.brio-contact .wpcf7 input[type=submit]{width:100%;font-size:17px;padding:16px}
.brio-contact .wpcf7 input[type=file]{font-size:14px}
.brio-reas li{margin-bottom:10px}
/* En-tete : CTA */
.brio-hcta{gap:10px!important}
.brio-telink{font-weight:600;white-space:nowrap;margin:0!important}
.brio-telink a{color:var(--b-navy);text-decoration:none}
@media (max-width:1280px){.brio-telink{display:none}}
@media (max-width:781px){.brio-hcta .wp-block-buttons{display:none}}
/* Barre mobile */
.brio-mbar{display:none}
@media (max-width:781px){.brio-mbar{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--b-line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -6px 20px rgba(28,32,70,.08)}.brio-mbar a{display:block;text-align:center;border-radius:var(--b-r);padding:12px 8px;font-weight:700;text-decoration:none}.brio-mbar .t{color:var(--b-navy);box-shadow:inset 0 0 0 2px var(--b-navy)}.brio-mbar .d{background:var(--b-or);color:var(--b-ink)}body{padding-bottom:70px}}

.brio-cards.is-even>.brio-card:first-child{grid-column:auto}.brio-cards.is-even>.brio-card:first-child img{aspect-ratio:4/3}

/* ===== Page devis ===== */
.bd-hero{padding:clamp(32px,5vw,64px) 24px clamp(28px,4vw,48px)!important;background:linear-gradient(180deg,#fff,var(--b-bg))}
.bd-hero>.wp-block-columns{max-width:1200px;margin:0 auto!important;align-items:center!important;gap:clamp(24px,4vw,56px)!important}
.bd-hero h1{margin:0 0 14px!important}
.bd-hero .brio-lead{margin:0 0 20px!important}
.bd-trust{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0!important;margin:0!important}
.bd-trust li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin:0}
.bd-trust li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--b-or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2046' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat;flex:0 0 18px}
.bd-call{background:var(--b-navy);color:#fff;border-radius:var(--b-r);padding:26px 28px!important}
.bd-call p{color:rgba(255,255,255,.85);margin:0!important}
.bd-call .bd-k{font-size:14px!important;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#fff}
.bd-call .bd-tel{margin:8px 0 10px!important}
.bd-call .bd-tel a{font-family:'Sora',sans-serif;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:700;color:#fff;text-decoration:none}
.bd-call .bd-tel a:hover{color:var(--b-or)}
.bd-call p:last-child{font-size:14.5px;line-height:1.5}
.bd-main{padding:clamp(32px,5vw,56px) 24px clamp(56px,7vw,88px)!important;background:var(--b-bg)}
.bd-main>.wp-block-columns{max-width:1200px;margin:0 auto!important;align-items:flex-start!important;gap:28px!important}
.bd-form{background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);padding:clamp(22px,3.5vw,40px)!important;box-shadow:0 18px 40px rgba(28,32,70,.07)}
.bd-form>h2{margin:0 0 4px!important}
.bd-form>p{color:var(--b-soft);margin:0 0 20px!important}
.bd-side{position:sticky;top:110px}
.bd-side>.wp-block-group{background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);padding:24px!important;margin:0 0 16px!important}
.bd-side h2{font-size:1.15rem!important;margin:0 0 12px!important}
.bd-side p{font-size:15px;margin:0 0 8px!important}
.bd-steps{counter-reset:b;list-style:none;padding:0!important;margin:0!important}
.bd-steps li{counter-increment:b;position:relative;padding:0 0 14px 40px;margin:0;font-size:15px;color:var(--b-soft)}
.bd-steps li strong{display:block;color:var(--b-ink);font-weight:600}
.bd-steps li::before{content:counter(b);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--b-tint);color:var(--b-navy);font-weight:700;font-size:14px;display:grid;place-items:center}
@media (max-width:781px){.bd-side{position:static}}
/* formulaire */
.bf .wpcf7-form-control-wrap{display:block}
.bf-step{border-top:1px solid var(--b-line);padding:22px 0 6px}
.bf-step:first-child{border-top:0;padding-top:4px}
.bf-t{display:flex;align-items:center;gap:12px;font-family:'Sora',sans-serif;font-weight:600;font-size:1.12rem;margin:0 0 16px!important;color:var(--b-ink)}
.bf-t span{width:30px;height:30px;border-radius:50%;background:var(--b-or);color:var(--b-ink);display:grid;place-items:center;font-size:15px;font-weight:700}
.bf-l{display:block;font-weight:600;font-size:15px;margin:0 0 16px;color:var(--b-ink)}
.bf-l small{font-weight:400;color:var(--b-soft)}
.bf-l>.wpcf7-form-control-wrap{margin-top:7px}
.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:600px){.bf-row{grid-template-columns:1fr}}
.bf input[type=text],.bf input[type=email],.bf input[type=tel],.bf select,.bf textarea{width:100%;box-sizing:border-box;border:1px solid #C5C9DB;border-radius:var(--b-r);padding:13px 14px;font:inherit;font-weight:400;font-size:16px;background:#fff;color:var(--b-ink);transition:border-color .15s,box-shadow .15s}
.bf textarea{min-height:130px;resize:vertical}
.bf input:focus,.bf select:focus,.bf textarea:focus{outline:0;border-color:var(--b-navy);box-shadow:0 0 0 3px var(--b-tint)}
.bf ::placeholder{color:#8A8FA8}
.bf select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23353B77' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:42px}
.bf-step:first-child>.bf-l:first-of-type select{border:2px solid var(--b-or);font-weight:600}
.bf .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.bf .wpcf7-checkbox .wpcf7-list-item{margin:0}
.bf .wpcf7-checkbox label{display:inline-flex;align-items:center;gap:8px;border:1px solid #C5C9DB;border-radius:999px;padding:8px 16px;font-weight:500;font-size:15px;cursor:pointer;background:#fff;white-space:nowrap;transition:all .15s}
.bf .wpcf7-checkbox input{accent-color:var(--b-navy);width:16px;height:16px;margin:0}
.bf .wpcf7-checkbox label:hover{border-color:var(--b-navy)}
.bf .wpcf7-checkbox label:has(input:checked){border-color:var(--b-navy);background:var(--b-tint);color:var(--b-navy)}
.bf-file input[type=file]{width:100%;box-sizing:border-box;border:2px dashed #C5C9DB;border-radius:var(--b-r);padding:18px;background:var(--b-bg);font-size:14px;font-weight:400;cursor:pointer}
.bf-file input[type=file]::file-selector-button{border:0;background:var(--b-navy);color:#fff;border-radius:var(--b-r);padding:9px 16px;margin-right:12px;font-weight:600;cursor:pointer}
.bf-end{border-top:1px solid var(--b-line);padding-top:20px}
.bf-rgpd{font-size:14px;color:var(--b-soft);margin:0 0 14px}
.bf-rgpd .wpcf7-list-item{margin:0}
.bf-rgpd label{display:flex;gap:10px;align-items:flex-start}
.bf-rgpd input{accent-color:var(--b-navy);width:18px;height:18px;margin-top:2px;flex:0 0 18px}
.bf .cf7sr-g-recaptcha,.bf .g-recaptcha{margin:0 0 14px}
.bf input[type=submit]{width:100%;border:0;border-radius:var(--b-r);background:var(--b-or);color:var(--b-ink);font:inherit;font-weight:700;font-size:17px;padding:17px;cursor:pointer;transition:background .2s,color .2s}
.bf input[type=submit]:hover{background:var(--b-or2);color:#fff}
.bf-small{text-align:center;font-size:14px;color:var(--b-soft);margin:12px 0 0!important}
.bf .wpcf7-not-valid-tip{font-size:13.5px;margin-top:4px}
.bf .wpcf7-not-valid{border-color:#C0392B!important}
.wpcf7 form .wpcf7-response-output{border-radius:var(--b-r);margin:16px 0 0;padding:12px 16px}

/* Colonne laterale du devis : reste visible au defilement */
.bd-side{position:static!important;top:auto}
@media (min-width:782px){.bd-main>.wp-block-columns{align-items:flex-start!important}.bd-main>.wp-block-columns>.wp-block-column:last-child{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 96px);align-self:flex-start}}
html,body,.wp-site-blocks,main{overflow:visible}
body{overflow-x:clip}

/* ===== Avis clients ===== */
.av-head{align-items:flex-end!important;max-width:1200px;margin:0 auto!important}
.av-scores{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.av-score{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);padding:14px 18px;min-width:150px;text-decoration:none;color:var(--b-ink)}
a.av-score:hover{border-color:var(--b-navy)}
.av-src{grid-column:1/-1;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--b-soft)}
.av-n{font-family:'Sora',sans-serif;font-weight:700;font-size:1.9rem;line-height:1.1;color:var(--b-navy)}
.av-n small{font-size:.9rem;color:var(--b-soft)}
.av-score .av-st{font-size:15px}
.av-c{grid-column:1/-1;font-size:14px;color:var(--b-soft)}
.av-st{color:var(--b-or);letter-spacing:2px;margin:0!important}
.av-track{display:flex!important;gap:18px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px!important;max-width:1200px;margin:28px auto 8px!important;scrollbar-width:thin}
.av-card{flex:0 0 min(360px,85%);scroll-snap-align:start;background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);padding:22px!important;margin:0!important;display:flex;flex-direction:column}
.av-card .av-q{font-size:16px;line-height:1.6;margin:12px 0 16px!important;flex:1}
.av-a{font-size:14px!important;color:var(--b-soft);margin:0!important}
.av-a strong{color:var(--b-ink)}
.av-one{align-items:center!important;max-width:1200px;margin:0 auto!important;background:var(--b-bg);border-radius:var(--b-r);padding:clamp(24px,4vw,44px)!important;gap:32px!important}
.av-big{font-family:'Sora',sans-serif;font-weight:500;font-size:clamp(1.15rem,1.9vw,1.45rem)!important;line-height:1.45;margin:12px 0 14px!important;color:var(--b-ink)}
.av-one .av-scores{justify-content:flex-start}
.av-more{margin:12px 0 0!important;font-size:15px}
@media (max-width:781px){.av-scores{justify-content:flex-start}}
.bd-rev .av-scores{justify-content:flex-start}.bd-rev .av-score{min-width:0;flex:1;padding:12px 14px}.bd-rev .av-n{font-size:1.5rem}

/* Correctif : H1 et intro des en-tetes restent alignes sur la grille */
.brio-hero>h1,.brio-hero>.brio-lead,.brio-hero>.brio-crumb,.brio-hero>.brio-kick{margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}
.brio-hero>.brio-lead{max-width:62ch}
/* ===== Page Votre projet ===== */
.vp-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important;max-width:1200px;margin:32px auto 0!important}
@media (max-width:900px){.vp-cards{grid-template-columns:1fr}}
.vp-card{position:relative;display:grid!important;grid-template-columns:42% 1fr;background:#fff;border:1px solid var(--b-line);border-radius:var(--b-r);overflow:hidden;margin:0!important;transition:border-color .2s,box-shadow .25s,transform .25s}
.vp-card:hover{border-color:var(--b-navy);box-shadow:0 16px 36px rgba(28,32,70,.12);transform:translateY(-3px)}
.vp-card .brio-ph{margin:0!important;height:100%;overflow:hidden!important;border-radius:0}
.vp-card .brio-ph img{height:100%;min-height:200px;aspect-ratio:auto;border-radius:0;transition:transform .6s ease}
.vp-card:hover .brio-ph img{transform:scale(1.06)}
.vp-txt{padding:22px 24px!important;margin:0!important;display:flex;flex-direction:column;justify-content:center}
.vp-txt h3{margin:0 0 8px!important;font-size:1.2rem!important}
.vp-txt h3 a{color:var(--b-ink);text-decoration:none}
.vp-txt h3 a::before{content:"";position:absolute;inset:0;z-index:2}
.vp-txt p{margin:0 0 12px!important;color:var(--b-soft);font-size:15.5px}
.vp-txt .vp-go{margin:0!important;font-weight:700;color:var(--b-navy);font-size:15px}
.vp-txt .vp-go::after{content:" \2192";color:var(--b-or);transition:margin .2s}
.vp-card:hover .vp-go::after{margin-left:6px}
@media (max-width:520px){.vp-card{grid-template-columns:1fr}.vp-card .brio-ph img{min-height:0;aspect-ratio:16/9}}
.vp-how{background:var(--b-navy)}
.vp-how h2,.vp-how h3{color:#fff}
.vp-how .brio-lead{color:rgba(255,255,255,.82)}
.vp-how .brio-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.vp-how .brio-stp{border-top-color:rgba(255,255,255,.25)}
.vp-how .brio-stp p:last-child{color:rgba(255,255,255,.8)}
@media (max-width:781px){.vp-how .brio-steps{grid-template-columns:1fr}}

/* Cartes Votre projet : la photo remplit la hauteur du texte, sans l'imposer */
.vp-card{grid-template-columns:40% 1fr;min-height:230px;align-items:stretch}
.vp-card .brio-ph{position:relative!important;height:auto!important;min-height:230px}
.vp-card .brio-ph img{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none;aspect-ratio:auto!important;object-fit:cover}
@media (max-width:520px){.vp-card .brio-ph{min-height:190px}}

/* ===== Grille unique : toutes les sections alignent leur contenu sur 1200px, quelle que soit la largeur d'ecran ===== */
.wp-site-blocks section.brio-sec,.wp-site-blocks section.brio-hero,.wp-site-blocks section.brio-band,.wp-site-blocks section.brio-hero2,.wp-site-blocks section.bd-hero,.wp-site-blocks section.bd-main,.wp-site-blocks .brio-foot{padding-left:max(24px,calc((100% - 1200px) / 2))!important;padding-right:max(24px,calc((100% - 1200px) / 2))!important}
.wp-site-blocks section.brio-sec>p,.wp-site-blocks section.brio-sec>h1,.wp-site-blocks section.brio-sec>h2,.wp-site-blocks section.brio-hero>p,.wp-site-blocks section.brio-hero>h1,.wp-site-blocks section.brio-hero>h2{margin-left:0!important;margin-right:auto!important}
.wp-site-blocks section.brio-sec>h2.has-text-align-center{margin-right:0!important}

/* Articles */
.single-post .wp-block-post-content{font-size:17px}
.single-post .wp-block-post-content img{border-radius:var(--b-r);height:auto}
.brio-postcta{margin:48px 0 0;padding:28px!important;border-radius:var(--b-r);background:var(--b-bg);border-left:4px solid var(--b-or)}
.brio-postcta p{margin:0 0 12px!important}
.brio-postcta-t{font-family:'Sora',sans-serif;font-weight:600;font-size:1.25rem;color:var(--b-ink)}
.brio-postcta-l{font-size:15px}
.brio-postcta .wp-element-button{background:var(--b-or);color:var(--b-ink);text-decoration:none;display:inline-block;margin-right:14px}
.brio-postcta-tel{font-weight:700;color:var(--b-navy)}

/* Articles en carrousel horizontal */
.wp-site-blocks .wp-block-latest-posts.is-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:20px!important;padding:4px 2px 16px!important;scrollbar-width:thin}
.wp-site-blocks .wp-block-latest-posts.is-grid li{flex:0 0 calc((100% - 40px) / 3)!important;scroll-snap-align:start}
@media (max-width:900px){.wp-site-blocks .wp-block-latest-posts.is-grid li{flex-basis:calc((100% - 20px) / 2)!important}}
@media (max-width:600px){.wp-site-blocks .wp-block-latest-posts.is-grid li{flex-basis:85%!important}}
.av-track{scroll-behavior:smooth}
.brio-car{position:relative}
.brio-nav{display:flex;gap:10px;justify-content:flex-end;max-width:1200px;margin:8px auto 0}
.brio-nav button{width:46px;height:46px;border-radius:50%;border:2px solid var(--b-navy);background:#fff;color:var(--b-navy);font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.brio-nav button:hover{background:var(--b-navy);color:#fff}
.brio-nav button:disabled{opacity:.35;cursor:default;background:#fff;color:var(--b-navy)}

/* Grille : calcul sur la largeur de l'ecran (corrige le leger decalage des blocs) */
.wp-site-blocks section.brio-sec,.wp-site-blocks section.brio-hero,.wp-site-blocks section.brio-band,.wp-site-blocks section.brio-hero2,.wp-site-blocks section.bd-hero,.wp-site-blocks section.bd-main,.wp-site-blocks .brio-foot{padding-left:max(24px,calc((100vw - 1200px) / 2))!important;padding-right:max(24px,calc((100vw - 1200px) / 2))!important}
.wp-site-blocks section.brio-sec>*,.wp-site-blocks section.brio-hero>*{margin-left:0!important;margin-right:0!important}
.wp-site-blocks section.brio-sec>.brio-faq{margin-left:auto!important;margin-right:auto!important}

/* Pages legales */
.brio-legal-doc h2{font-size:1.35rem!important;margin:36px 0 12px!important;padding-top:20px;border-top:1px solid var(--b-line)}
.brio-legal-doc h2:first-of-type{border-top:0;padding-top:0}
.brio-legal-doc h3{font-size:1.05rem!important;margin:22px 0 8px!important}
.brio-legal-doc p,.brio-legal-doc li{font-size:16px}
.brio-todo{background:#FFF1E0;border:1px dashed var(--b-or);padding:2px 8px;border-radius:4px;font-weight:600}
.brio-legal-doc table{width:100%;border-collapse:collapse;font-size:15px}
.brio-legal-doc td,.brio-legal-doc th{border:1px solid var(--b-line);padding:8px 10px;text-align:left;vertical-align:top}

/* Textes sans titre et pages legales : colonne centree */
.wp-site-blocks section.brio-sec>.brio-narrow:not(:has(>h2)),.wp-site-blocks section.brio-sec>.brio-legal-doc{margin-left:auto!important;margin-right:auto!important;max-width:820px!important}

/* Sections de texte : titre et texte a gauche, encart a droite */
.wp-site-blocks section.brio-sec>.brio-narrow:not(.brio-legal-doc){margin-left:auto!important;margin-right:auto!important;max-width:820px!important}
@media (min-width:900px){
.wp-site-blocks section.brio-sec>.brio-narrow:not(.brio-legal-doc):has(>.brio-note){display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(40px,5vw,80px);max-width:1200px!important;width:100%;align-items:start;grid-auto-flow:row}
.brio-narrow:has(>.brio-note)>*{grid-column:1}
.brio-narrow:has(>.brio-note)>.brio-note{grid-column:2;grid-row:1 / span 30;align-self:center;margin:0!important;padding:28px 30px!important;font-size:1.08rem!important;line-height:1.6;border-left-width:5px;box-shadow:0 14px 34px rgba(28,32,70,.08)}
}

/* Reseaux sociaux : icones fixes a gauche */
.brio-social{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;background:#fff;border:1px solid var(--b-line);border-left:0;border-radius:0 var(--b-r) var(--b-r) 0;box-shadow:0 8px 24px rgba(28,32,70,.1);overflow:hidden}
.brio-social a{width:42px;height:42px;display:grid;place-items:center;color:var(--b-navy);font-size:18px;text-decoration:none;transition:background .2s,color .2s}
.brio-social a+a{border-top:1px solid var(--b-line)}
.brio-social a:hover{background:var(--b-navy);color:#fff}
@media (max-width:781px){.brio-social{top:auto;bottom:86px;transform:none}.brio-social a{width:38px;height:38px;font-size:16px}}

/* ===== Espacements resserres (retour cliente) ===== */
.wp-site-blocks section.brio-sec{padding-top:clamp(32px,4vw,56px)!important;padding-bottom:clamp(32px,4vw,56px)!important}
.wp-site-blocks section.brio-hero{padding-top:clamp(28px,3.5vw,48px)!important;padding-bottom:clamp(28px,3.5vw,48px)!important}
.wp-site-blocks section.brio-band{padding-top:clamp(28px,4vw,44px)!important;padding-bottom:clamp(28px,4vw,44px)!important}
.wp-site-blocks section.brio-hero2,.wp-site-blocks section.bd-hero{padding-top:clamp(24px,3vw,40px)!important;padding-bottom:clamp(32px,4vw,56px)!important}
.brio-intro{padding-top:clamp(28px,3.5vw,48px)!important}
.wp-site-blocks main p,.wp-site-blocks main li{margin-block:0 .7em}
.wp-site-blocks main h2{margin-bottom:14px!important}
.wp-site-blocks main .wp-block-buttons{margin-top:18px!important}
.brio-cards,.brio-tiles,.vp-cards,.brio-grid,.brio-steps{margin-top:22px!important}
.brio-sec>*+*{margin-block-start:14px}
.wp-site-blocks .is-layout-constrained>*+*,.wp-site-blocks .is-layout-flow>*+*{margin-block-start:14px}
.brio-step{padding:20px 0!important}

/* Bloc photos qui defilent */
.brio-slide{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 0 12px!important;scrollbar-width:thin}
.brio-slide>figure{flex:0 0 calc((100% - 28px) / 3)!important;scroll-snap-align:start;margin:0!important}
.brio-slide img{aspect-ratio:4/3!important}
@media (max-width:781px){.brio-slide>figure{flex-basis:80%!important}}
.brio-plain img{aspect-ratio:auto!important;object-fit:contain!important;background:#fff}
/* Galerie NextGEN */
.brio-gal .ngg-galleryoverview{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.brio-gal .ngg-gallery-thumbnail-box{width:auto!important;margin:0!important;float:none!important}
.brio-gal .ngg-gallery-thumbnail{border:0!important;margin:0!important;padding:0!important}
.brio-gal .ngg-gallery-thumbnail img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;border-radius:var(--b-r);border:0!important;padding:0!important;margin:0!important;transition:transform .3s}
.brio-gal .ngg-gallery-thumbnail a:hover img{transform:scale(1.03)}
.brio-gal .ngg-clear,.brio-gal .slideshowlink{display:none}
.brio-gal .ngg-navigation{grid-column:1/-1;display:flex;gap:6px;justify-content:center;margin-top:18px;font-weight:600}
.brio-gal .ngg-navigation a,.brio-gal .ngg-navigation span{padding:8px 13px;border:1px solid var(--b-line);border-radius:var(--b-r);text-decoration:none}
.brio-gal .ngg-navigation .current{background:var(--b-navy);color:#fff;border-color:var(--b-navy)}

.brio-calameo{border-radius:var(--b-r);overflow:hidden;background:var(--b-bg)}
.brio-card-info h3{margin-top:0!important}

/* Contact v3 */
.bd-hero1{background:linear-gradient(180deg,#fff,var(--b-bg))}
.bd-side .bd-photo{margin:0 0 16px!important}
.bd-side .bd-photo img{aspect-ratio:4/3;border-radius:var(--b-r)}
.bd-photo-todo{aspect-ratio:4/3;border:2px dashed var(--b-line);border-radius:var(--b-r);display:grid;place-items:center;color:var(--b-soft);margin:0 0 16px;font-size:14px}
.bd-side .bd-call{margin:0 0 16px!important;padding:20px 24px!important}
.bd-side .bd-call .bd-tel{margin:4px 0 0!important}
.bf-motif .wpcf7-radio{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.bf-motif .wpcf7-list-item{margin:0}
.bf-motif label{display:flex;align-items:center;gap:12px;border:1px solid #C5C9DB;border-radius:var(--b-r);padding:13px 16px;font-weight:500;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
.bf-motif label:hover{border-color:var(--b-navy)}
.bf-motif label:has(input:checked){border-color:var(--b-navy);background:var(--b-tint);color:var(--b-navy);font-weight:600}
.bf-motif input{accent-color:var(--b-navy);width:18px;height:18px;margin:0}
/* Galerie : plus de photos */
.brio-gal .brio-more{grid-column:1/-1;justify-self:center;margin-top:18px}

.bd-side .bd-photo img{aspect-ratio:4/5!important;object-position:center 30%}

/* Image d'illustration sans recadrage : hauteur naturelle, pas d'espace vide */
.brio-plain{height:auto!important;min-height:0!important}
.brio-plain img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1346 / 624!important;object-fit:contain!important;background:transparent!important}
.brio-split:has(.brio-plain){align-items:center!important}
.brio-split:has(.brio-plain)>.wp-block-column{height:auto!important}

/* Etiquettes (communes, situations, metiers) : marges internes regulieres */
.wp-site-blocks .brio-zones{display:flex!important;flex-wrap:wrap;gap:10px!important;list-style:none;padding:0!important;margin:16px 0!important}
.wp-site-blocks .brio-zones>li{display:inline-flex!important;align-items:center;margin:0!important;padding:9px 18px!important;line-height:1.3!important;font-size:15.5px;font-weight:500;background:#fff;border:1px solid var(--b-line);border-radius:999px}
.wp-site-blocks .brio-zones>li+li{margin-block-start:0!important}
.wp-site-blocks .brio-zones a{text-decoration:none;color:var(--b-navy)}
.wp-site-blocks .brio-zones>li:has(a){padding:0!important;transition:border-color .2s,background .2s}
.wp-site-blocks .brio-zones>li:has(a) a{display:block;padding:9px 18px}
.wp-site-blocks .brio-zones>li:has(a):hover{border-color:var(--b-navy);background:var(--b-tint)}

/* Contact : encart telephone (texte blanc sur fond marine) */
.bd-side>.wp-block-group.bd-call{background:var(--b-navy)!important;border:0!important;color:#fff;padding:22px 26px!important}
.bd-side .bd-call .bd-k{color:#fff!important;margin:0!important}
.bd-side .bd-call .bd-tel{margin:6px 0 0!important}
.bd-side .bd-call .bd-tel a{color:#fff!important;font-family:'Sora',sans-serif;font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:700;text-decoration:none}
.bd-side .bd-call .bd-tel a:hover{color:var(--b-or)!important}

/* Contact : frise Apres votre demande */
.bd-after{background:var(--b-bg)}
.wp-site-blocks section.bd-after{padding-top:8px!important}
.bd-timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;position:relative;margin-top:20px!important}
.bd-timeline::before{content:"";position:absolute;left:24px;right:calc(33.33% - 24px);top:23px;height:3px;background:linear-gradient(90deg,var(--b-or),var(--b-navy));border-radius:2px;z-index:0}
.bt-step{position:relative;z-index:1;margin:0!important}
.bt-step .bt-num{width:48px;height:48px;border-radius:50%;background:var(--b-or);color:var(--b-ink);font-family:'Sora',sans-serif;font-weight:700;font-size:1.25rem!important;display:grid;place-items:center;margin:0 0 16px!important;box-shadow:0 0 0 6px var(--b-bg)}
.bt-step:nth-child(2) .bt-num{background:#B9703A;color:#fff}
.bt-step:nth-child(3) .bt-num{background:var(--b-navy);color:#fff}
.bt-step h3{font-size:1.12rem!important;margin:0 0 6px!important}
.bt-step p:last-child{color:var(--b-soft);margin:0!important;font-size:15.5px}
@media (max-width:781px){.bd-timeline{grid-template-columns:1fr;gap:18px!important}.bd-timeline::before{left:23px;right:auto;top:24px;bottom:24px;width:3px;height:auto;background:linear-gradient(180deg,var(--b-or),var(--b-navy))}.bt-step{display:grid;grid-template-columns:48px 1fr;column-gap:16px}.bt-step .bt-num{grid-row:1 / span 2;margin:0!important}}

/* Partenaires et references (encart fourni par la cliente) */
.brio-sr{position:absolute!important;width:1px;height:1px;margin:-1px!important;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brio-partners-sec figure.brio-partners{margin:0 auto!important;max-width:1200px;width:100%}
.brio-partners-sec .brio-partners img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;border-radius:var(--b-r)}

/* FAQ + partenaires en deux colonnes */
.brio-faqpart .brio-faq{max-width:none!important;margin:14px 0 0!important}
.brio-faqpart .brio-split{align-items:flex-start!important}
@media (min-width:782px){.brio-faqpart .wp-block-column:last-child{position:sticky;top:110px;align-self:flex-start!important}}
.brio-faqpart figure.brio-partners{margin:0!important;max-width:none}

/* FAQ + partenaires : grille CSS, boite a ratio fixe */
.wp-site-blocks .brio-fp{display:grid!important;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:clamp(28px,4vw,56px);align-items:start;max-width:1200px;margin:0 auto!important}
.wp-site-blocks .brio-fp>*{margin:0!important;min-width:0}
.wp-site-blocks .brio-fp-r{position:sticky;top:110px}
.brio-pbox{position:relative;width:100%;aspect-ratio:1400 / 863;height:auto!important;min-height:0!important;border-radius:var(--b-r);overflow:hidden;background:#fff}
.brio-pbox img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;display:block;margin:0!important}
@media (max-width:781px){.wp-site-blocks .brio-fp{grid-template-columns:1fr}.wp-site-blocks .brio-fp-r{position:static}}

.wp-site-blocks .brio-fp-r>h2,.wp-site-blocks .brio-fp-l>h2{margin-top:0!important;margin-bottom:14px!important}

/* Visionneuse */
.brio-zoom{display:block;position:relative;cursor:zoom-in;text-decoration:none}
.brio-zoom-hint{position:absolute;right:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--b-navy);color:#fff;font-weight:600;font-size:14px;padding:8px 14px;border-radius:999px;box-shadow:0 6px 18px rgba(28,32,70,.25);transition:background .2s,color .2s}
.brio-zoom-hint svg{width:16px;height:16px;flex:0 0 16px}
.brio-zoom:hover .brio-zoom-hint,.brio-zoom:focus-visible .brio-zoom-hint{background:var(--b-or);color:var(--b-ink)}
.brio-lb{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(28,32,70,.92);opacity:0;transition:opacity .2s;cursor:zoom-out}
.brio-lb.is-open{opacity:1}
.brio-lb img{max-width:min(96vw,1600px);max-height:90vh;width:auto;height:auto;background:#fff;border-radius:var(--b-r);box-shadow:0 24px 60px rgba(0,0,0,.4);cursor:default}
.brio-lb-x{position:absolute;top:14px;right:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--b-ink);font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.brio-lb-x:hover{background:var(--b-or)}
html.brio-lb-lock{overflow:hidden}

/* Logo avec mention depuis 1999 */
.brio-head{padding:6px 24px!important}
.brio-logo img{width:130px;height:auto}
.brio-foot .brio-flogo img{width:120px;height:auto}
@media (max-width:781px){.brio-logo img{width:100px}}
/* Agence : deux vitrines cote a cote */
.brio-duo{display:grid!important;grid-template-columns:1fr 1fr;gap:14px!important}
.brio-duo>figure{margin:0!important}
.brio-duo .brio-ph img{aspect-ratio:4/5!important;object-fit:cover}

.brio-solo img{aspect-ratio:4/5!important;object-fit:cover}

/* Listes informatives (non cliquables) : liste a coches, pas des boutons */
.wp-site-blocks .brio-zones:not(:has(a)){gap:10px 28px!important}
.wp-site-blocks .brio-zones>li:not(:has(a)){background:transparent!important;border:0!important;border-radius:0!important;padding:2px 0!important;gap:10px;font-weight:500;cursor:default}
.wp-site-blocks .brio-zones>li:not(:has(a))::before{content:"";flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:var(--b-or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2046' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.brio-sq img{aspect-ratio:1/1!important;object-fit:cover}

.brio-slide-sq img{aspect-ratio:1/1!important}

/* Collages en haut de page : image entiere */
.brio-coll img{aspect-ratio:1.42/1!important;object-fit:cover}
.brio-partners-sec .brio-pbox{aspect-ratio:1894/1188!important}

/* Articles et liste d'actualites : auteur, date et etiquettes lisibles (la couleur secondaire de la palette est quasi blanche) */
main .wp-block-group.has-secondary-color,
main .has-secondary-color.has-text-color,
main .wp-block-post-author__name,
main .wp-block-post-author__name a,
main .wp-block-post-date,
main .wp-block-post-date a,
main .wp-block-post-author a{color:var(--b-soft)!important}
main .wp-block-group.has-secondary-color a{color:var(--b-soft)!important}
main .is-style-term-button a{background:var(--b-tint)!important;color:var(--b-navy)!important;text-decoration:none}
main .is-style-term-button a:hover{background:var(--b-navy)!important;color:#fff!important}
/* Articles : le logo Brio Decor remplace l'avatar gris par defaut */
main .wp-block-post-author__avatar{width:48px;height:35px;flex:0 0 48px;border-radius:8px;background:#fff url('https://www.briodecor.fr/wp-content/uploads/2026/10/brio-decor-logo-depuis-1999.webp') center/contain no-repeat;border:1px solid var(--b-line);margin-right:.8rem;overflow:hidden}
main .wp-block-post-author__avatar img{visibility:hidden;width:100%!important;height:100%!important;border-radius:0!important}
