/*
 * Artisans Bruno – Blocs : mise en page des blocs.
 * Les couleurs, typos et composants (boutons, cartes, FAQ…) viennent des styles
 * globaux du thème (classes ab-*). Ce fichier ne pose que la structure propre
 * aux blocs, avec des valeurs de repli si les variables n'existent pas.
 */
:root{
	--ab-wide:var(--wp--style--global--wide-size,1240px);
	--ab-pad:var(--wp--preset--spacing--40,30px);
}

/* ---------- conteneurs ---------- */
.ab-page{margin-top:0!important}
.ab-page > *{margin-block:0}
.ab-wrap{max-width:var(--ab-wide);margin-inline:auto;box-sizing:border-box}
.ab-hero,.ab-section,.ab-body,.ab-steps-band,.ab-brands,.ab-ctaband{padding-inline:var(--ab-pad);box-sizing:border-box;margin-top:0!important;margin-bottom:0!important}
.ab-hero{padding-block:40px 88px}
.ab-hero--home{padding-block:80px 110px}
.ab-section{padding-block:104px}
.ab-section--dark,.ab-section--dark h2,.ab-section--dark h3{color:#fff}
.ab-section--dark .ab-muted{color:#C9D6E5}
.ab-body{padding-block:80px 96px}
.ab-steps-band{padding-block:88px 96px}
.ab-brands{padding-block:44px}

/* boutons : base de core/button (non chargée quand seuls nos blocs sont présents) */
.ab-page .wp-block-buttons,[class*="ab-"] .wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ab-page .wp-block-button__link,[class*="ab-"] .wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word;text-decoration:none}
.ab-btn-light .wp-block-button__link{max-width:100%}

/* ---------- hero ---------- */
.ab-hero__cols:not(.wp-block-columns){display:grid;grid-template-columns:55fr 45fr;align-items:center}
.ab-hero--home .ab-hero__cols:not(.wp-block-columns){grid-template-columns:54fr 46fr}
.ab-hero__cols.ab-hero__cols--solo{grid-template-columns:1fr}
.ab-hero__main > :last-child{margin-bottom:0!important}
.ab-hero__img img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;display:block}
.ab-ctas{display:flex;flex-wrap:wrap}

/* ---------- en-tête de section ---------- */
.ab-section__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end}
.ab-section .ab-wrap > :last-child{margin-bottom:0}

/* ---------- cartes services ---------- */
.ab-mosaic--flat{grid-template-columns:repeat(3,1fr);grid-template-rows:none;grid-auto-rows:260px}
.ab-mosaic--big{grid-template-rows:260px 260px;grid-auto-rows:260px}
.ab-mosaic--big > .ab-svc:first-child{grid-row:span 2}
.ab-mosaic--big > .ab-svc:first-child .ab-svc__title{font-size:1.75rem}
.ab-svc__title{margin:0}

/* ---------- marques ---------- */
.ab-brands__cols:not(.wp-block-columns){display:grid;grid-template-columns:22% 1fr;gap:32px;align-items:center}

/* ---------- zones ---------- */
.ab-zones:not(.wp-block-columns){display:grid;grid-template-columns:56fr 44fr}
.ab-zones:not(.wp-block-columns) h2{margin:0 0 12px}
.ab-tiles{list-style:none;padding:0;margin-bottom:0}
.ab-tiles .ab-tile{list-style:none}

/* ---------- étapes ---------- */
.ab-steps-band .ab-step{margin:0}

/* ---------- texte + image ---------- */
.ab-txtimg{display:grid;grid-template-columns:42fr 58fr;align-items:start}
.ab-txtimg--right{grid-template-columns:58fr 42fr}
.ab-txtimg--right .ab-txtimg__media{order:2}
.ab-txtimg__img{margin:0}
.ab-txtimg__img img{width:100%;height:auto;border-radius:24px;display:block}
.ab-txtimg__body{max-width:none}
.ab-txtimg__body > :first-child{margin-top:0}

/* ---------- corps de page ---------- */
.ab-body__cols:not(.wp-block-columns){display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.ab-body__main{min-width:0}
.ab-body__main > :first-child{margin-top:0}
.ab-body__main .ab-faqs,.ab-body__main .ab-local{margin-top:48px}
.ab-callbox{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}
.ab-callbox .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.ab-callbox .ab-btn-light{width:auto}
.ab-callbox .ab-btn-light .wp-block-button__link{min-height:56px;padding:0 24px;border:1px solid var(--ab-ligne,#DCE4EE)}

/* ---------- bannière CTA ---------- */
.ab-ctaband{padding-block:56px;color:#fff}
.ab-ctaband__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px}
.ab-ctaband__title{margin:0;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;line-height:1.2;color:#fff}
.ab-ctaband__text{margin:8px 0 0;color:#C9D6E5;max-width:36em}
.ab-ctaband .ab-ctas{margin:0}

/* ---------- liens en pastilles ---------- */
.ab-chips{margin:40px 0}
.ab-chips__title{font-weight:800;color:var(--ab-nuit,#0F2B46);margin:0 0 12px}
.ab-chips__list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0!important;margin:0!important}
.ab-chips__list li{margin:0!important}
.ab-chips__list a,.ab-chips__list li:not(:has(a)){display:inline-block;padding:8px 14px;border-radius:999px;background:var(--ab-givre,#EEF3F8);color:var(--ab-nuit,#0F2B46);font-weight:700;font-size:.92rem;text-decoration:none}
.ab-chips__list a:hover{background:var(--ab-nuit,#0F2B46);color:#fff}

/* ---------- contexte local ---------- */
.ab-local{padding:36px;border-radius:22px;background:var(--ab-givre,#EEF3F8)}
.ab-content .ab-local h2{margin-top:0}
.ab-local__intro{color:var(--ab-gris,#5A6B7E)}
.ab-local__items{list-style:none;padding:0!important;margin:24px 0 0!important;display:grid;gap:16px}
.ab-local__items li{display:grid;grid-template-columns:36px 1fr;column-gap:14px;margin:0!important}
.ab-local__n{grid-row:span 2;width:36px;height:36px;border-radius:50%;background:var(--ab-nuit,#0F2B46);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.ab-local__items strong{color:var(--ab-nuit,#0F2B46)}
.ab-local__items span:last-child{color:var(--ab-gris,#5A6B7E)}

/* ---------- outils (diagnostic, tarifs, obligation) ---------- */

.abd{--n:#0B2A4A;--o:#C2410C;--g:#F3F6FA;--l:#E3E8EF;font:inherit;color:#1B2A3D;background:#fff;border:1px solid var(--l);border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 6px 24px rgba(11,42,74,.06)}
.abd *{box-sizing:border-box}.abd__head{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.abd__ico{flex:0 0 40px;height:40px;border-radius:10px;background:var(--n);color:#fff;display:grid;place-items:center;font-weight:700}
.abd__t{margin:0;font-size:1.15rem;font-weight:700;color:var(--n)}.abd__s{margin:2px 0 0;font-size:.92rem;color:#5B6B7F}
.abd__f{display:grid;grid-template-columns:1fr 1fr;gap:12px}.abd__f.abd--one{grid-template-columns:1fr}
.abd label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--n)}
.abd select{width:100%;padding:12px;border:1px solid #C9D2DE;border-radius:10px;font:inherit;font-size:1rem;background:#fff;color:#1B2A3D}
.abd select:focus{outline:3px solid #F26B3A55;border-color:var(--o)}.abd select:disabled{background:var(--g);color:#8a96a6}
.abd__r{margin-top:18px;border-radius:12px;background:var(--g);padding:18px;display:none}.abd__r.on{display:block}
.abd__badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:999px}
.abd__badge.low{background:#DCFCE7;color:#166534}.abd__badge.medium{background:#FEF3C7;color:#92400E}.abd__badge.high{background:#FEE2E2;color:#991B1B}
.abd__code{font-weight:800;color:var(--n);font-size:1.4rem;margin:10px 0 2px}.abd__n{font-weight:700;margin:0 0 6px}.abd__d{margin:0 0 12px}
.abd__k{display:grid;gap:10px}.abd__k div{background:#fff;border:1px solid var(--l);border-radius:10px;padding:10px 12px}.abd__k b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#5B6B7F;margin-bottom:2px}
.abd__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.abd__cta a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.abd__cta .p{background:var(--o);color:#fff}.abd__cta .s{border:2px solid var(--n);color:var(--n)}
.abd__note{font-size:.8rem;color:#5B6B7F;margin:12px 0 0}
@media(max-width:640px){.abd{padding:18px}.abd__f{grid-template-columns:1fr}.abd__cta a{flex:1 1 100%}}

.abt{--n:#0B2A4A;--o:#C2410C;--g:#F3F6FA;--l:#E3E8EF;color:#1B2A3D;background:#fff;border:1px solid var(--l);border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 6px 24px rgba(11,42,74,.06)}
.abt *{box-sizing:border-box}.abt__t{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--n)}.abt__s{margin:0 0 16px;font-size:.92rem;color:#5B6B7F}
.abt label,.abt legend{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--n)}.abt fieldset{border:0;padding:0;margin:0 0 14px}
.abt select{width:100%;padding:12px;border:1px solid #C9D2DE;border-radius:10px;font:inherit;font-size:1rem;background:#fff}
.abt__chips{display:flex;flex-wrap:wrap;gap:8px}.abt__chips label{margin:0;font-weight:500;color:#1B2A3D;border:1px solid #C9D2DE;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:.92rem}
.abt__chips input{position:absolute;opacity:0;pointer-events:none}.abt__chips input:checked+span{color:#fff}.abt__chips label:has(input:checked){background:var(--n);border-color:var(--n);color:#fff}
.abt__chips label:has(input:focus-visible){outline:3px solid #F26B3A55}
.abt__r{margin-top:6px;border-radius:12px;background:var(--g);padding:18px}.abt__big{font-size:2rem;font-weight:800;color:var(--n);margin:0}
.abt__rows{margin:10px 0 0;padding:0;list-style:none;font-size:.95rem}.abt__rows li{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--l);padding:6px 0}
.abt__rows b{white-space:nowrap}.abt__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.abt__cta a{display:inline-flex;justify-content:center;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.abt__cta .p{background:var(--o);color:#fff}.abt__cta .s{border:2px solid var(--n);color:var(--n)}.abt__note{font-size:.8rem;color:#5B6B7F;margin:10px 0 0}
.abt__v{font-weight:800;font-size:1.2rem;margin:0 0 6px}.abt__v.yes{color:#991B1B}.abt__v.no{color:#166534}.abt__v.info{color:var(--n)}
@media(max-width:640px){.abt{padding:18px}.abt__cta a{flex:1 1 100%}}
.abd[hidden],.abt [hidden]{display:none}

/* ---------- mobile ---------- */
@media (max-width:900px){
	.ab-hero__cols:not(.wp-block-columns),.ab-hero--home .ab-hero__cols:not(.wp-block-columns),.ab-zones:not(.wp-block-columns),.ab-txtimg,.ab-txtimg--right,.ab-body__cols:not(.wp-block-columns),.ab-brands__cols:not(.wp-block-columns){grid-template-columns:1fr}
	.ab-txtimg--right .ab-txtimg__media{order:0}
	.ab-mosaic--flat,.ab-mosaic--big{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:220px}
	.ab-mosaic--big > .ab-svc:first-child{grid-row:auto}
	.ab-hero,.ab-hero--home{padding-block:32px 64px}
	.ab-section{padding-block:64px}
	.ab-body{padding-block:48px 64px}
	.ab-steps-band{padding-block:64px}
	.ab-local{padding:22px}
}
@media (max-width:781px){
	.ab-tiles{grid-template-columns:repeat(4,1fr)}
}
