/* ASSURIZ – thème v2 : minimaliste, noir et blanc, surfaces gris doux, coins arrondis, boutons pilule. */
:root {
	--az-ink: #0F1B2D;
	--az-blue: var(--wp--preset--color--bleu);
	--az-pale: var(--wp--preset--color--bleu-pale);
	--az-paper: #F2F6FC;
	--az-line: #DCE4F0;
	--az-muted: #55627A;
	--az-sec: clamp(3.5rem, 8vw, 7rem);
	--az-r-lg: 28px;
	--az-r-md: 20px;
	--az-r-sm: 14px;
}
html { scroll-padding-top: 6rem; }
body { -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "cv11"; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--az-blue); outline-offset: 2px; }
.az-skip { position: absolute; left: 1rem; top: -100px; z-index: 1000; background: var(--az-ink); color: #fff; padding: .7rem 1rem; border-radius: 999px; font-weight: 600; }
.az-skip:focus { top: 1rem; color: #fff; }
p, li { max-width: 68ch; }
img { height: auto; }
::selection { background: var(--az-blue); color: #fff; }

/* ---------- En-tête ---------- */
.az-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid transparent; transition: border-color .2s; }
/* Pas de backdrop-filter : il enfermerait le menu mobile plein écran dans la hauteur de l'en-tête. */
.az-header:hover { border-bottom-color: var(--az-line); }
.admin-bar .az-header { top: var(--wp-admin--admin-bar--height, 32px); }
.az-header__bar { min-height: 72px; gap: 1.25rem; }
.az-brand { gap: .6rem; flex-shrink: 0; }
.az-brand .wp-block-site-logo img { max-height: 40px; width: auto; }
.wp-block-site-logo:not(:empty) + .az-brand__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.az-brand__name, .az-footer__brand { font-weight: 700; font-size: 1.35rem; letter-spacing: -0.02em; margin: 0; }
.az-brand__name a, .az-footer__brand a { text-decoration: none; color: inherit; }
.az-nav { flex: 1; }
.az-nav ul.wp-block-navigation__container { display: flex; gap: .25rem 1.1rem; flex-wrap: nowrap; white-space: nowrap; }
@media (max-width: 599px) { .az-nav .wp-block-navigation__responsive-container:not(.is-menu-open) ul.wp-block-navigation__container { display: none; } }
.az-nav .is-menu-open ul.wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: .1rem; }
.az-nav .wp-block-navigation-item__content { text-decoration: none; color: var(--az-ink); padding: .45rem 0; }
.az-nav .wp-block-navigation-item__content:hover { color: var(--az-blue); }
.az-nav [aria-current="page"] { box-shadow: inset 0 -2px 0 var(--az-blue); color: var(--az-blue); }
.az-nav .wp-block-navigation__submenu-container { border: 0 !important; border-radius: var(--az-r-md); padding: .5rem !important; min-width: 16rem !important; box-shadow: 0 16px 48px rgba(0,0,0,.12); }
.az-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .8rem; border-radius: 10px; }
.az-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--az-paper); color: var(--az-ink); }
.az-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem; }
.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; padding: .5rem 0; }
.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding: 0 0 0 .75rem !important; }
.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; font-weight: 500; color: var(--az-muted); }
.az-nav .wp-block-navigation__responsive-container-open { padding: .55rem; border-radius: 999px; background: var(--az-paper); }
@media (min-width: 600px) {
	.az-nav .az-nav__espace > .wp-block-navigation-item__content { background: var(--az-paper); border-radius: 999px; padding: .5rem 1rem; }
	.az-nav .az-nav__espace > .wp-block-navigation-item__content:hover { background: var(--az-line); color: var(--az-ink); }
}
.az-header__actions { gap: .5rem; flex-shrink: 0; }
.az-header__actions .az-wa-btn { padding: .6rem 1rem; font-size: .95rem; }
.az-header__cta .wp-block-button__link { padding: .65rem 1.15rem; font-size: .95rem; }
@media (max-width: 1400px) { .az-header__actions .az-wa-btn { display: none; } }
@media (min-width: 600px) and (max-width: 1100px) { .az-nav ul.wp-block-navigation__container { gap: .2rem .8rem; font-size: .9rem; } }
.az-docs-group { background: var(--az-paper); border-radius: var(--az-r-md); margin-bottom: .75rem; padding: 0 1.25rem; }
.az-docs-group > summary { cursor: pointer; list-style: none; font-weight: 600; padding: 1.1rem 0; display: flex; justify-content: space-between; gap: 1rem; }
.az-docs-group > summary::-webkit-details-marker { display: none; }
.az-docs-group > summary::after { content: '+'; font-weight: 400; font-size: 1.3rem; line-height: 1; }
.az-docs-group[open] > summary::after { content: '–'; }
.az-docs-group .az-docs { background: transparent; border-radius: 0; margin: 0 -1.25rem; border-top: 1px solid #EAEAEA; }
@media (max-width: 600px) {
	.az-header__bar { min-height: 62px; gap: .5rem; }
	.az-header__cta .wp-block-button__link { padding: .55rem .9rem; font-size: .875rem; }
	.az-nav { flex: 0; order: 3; }
}

/* ---------- Fil d'Ariane ---------- */
.az-crumbs { padding-top: 1.25rem; }
.az-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; list-style: none; margin: 0; padding: 0; font-size: .875rem; color: var(--az-muted); }
.az-breadcrumb li:not(:last-child)::after { content: '/'; margin-left: .5rem; color: #BDBDBD; }
.az-breadcrumb a { color: var(--az-muted); text-decoration: none; }
.az-breadcrumb a:hover { color: var(--az-ink); }

/* ---------- Accueil : présentation ---------- */
.az-hero { padding-top: clamp(2.5rem, 7vw, 6rem); padding-bottom: clamp(2.5rem, 6vw, 5rem); }
.az-hero__cols { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.az-hero__place { display: inline-block; font-weight: 600; font-size: .9rem; color: var(--az-blue); background: var(--az-pale); border-radius: 999px; padding: .4rem .9rem; margin-bottom: 1.25rem; }
.az-hero__title { max-width: 14ch; text-wrap: balance; }
.az-hero__lead { color: var(--az-muted); max-width: 38ch; margin-top: 1.25rem; }
.az-hero__actions { margin-top: 2rem; gap: .6rem; }
.az-hero__visual { margin: 0; background: var(--az-paper); border-radius: var(--az-r-lg); padding: clamp(1.5rem, 4vw, 3rem); }
.az-hero__visual img { width: 100%; max-width: 520px; margin-inline: auto; display: block; }
@media (max-width: 781px) { .az-hero__actions .wp-block-button, .az-hero__actions .wp-block-button__link { width: 100%; } }

/* ---------- Sections ---------- */
.az-services, .az-trust, .az-convert, .az-plate-section, .az-home-faq { padding-top: var(--az-sec); padding-bottom: var(--az-sec); }
.az-services > h2, .az-home-faq > h2 { margin-bottom: 2rem; }
.az-page-hero { padding-top: clamp(1.5rem, 4vw, 3rem); padding-bottom: 1.5rem; }
.az-page-hero h1 { font-size: var(--wp--preset--font-size--titre); max-width: 20ch; text-wrap: balance; }
.az-page-hero p { font-size: var(--wp--preset--font-size--moyen); color: var(--az-muted); }
.az-page-hero .wp-block-buttons { margin-top: 1.75rem; gap: .6rem; }
.az-sec { padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: clamp(2rem, 4vw, 3rem); }
.az-sec h2 { font-size: var(--wp--preset--font-size--grand); }
.az-sec h3 { margin-top: 1.75rem; }
.az-page { padding-bottom: var(--az-sec); }

/* Grilles et cartes : surfaces gris doux, sans bordure ni ombre */
.az-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.az-grid > * { margin: 0 !important; background: var(--az-paper); border-radius: var(--az-r-lg); }
@media (min-width: 782px) { .az-grid--services:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.az-service, .az-card { padding: clamp(1.5rem, 3vw, 2rem); display: flex; flex-direction: column; position: relative; transition: transform .2s ease, background-color .2s ease; }
.az-service:hover, .az-card:hover { background: #EAF1FB; }
.az-service:focus-within, .az-card:focus-within { outline: 3px solid var(--az-blue); outline-offset: 2px; }
.az-service__icon { margin: 0; width: 56px; height: 56px; display: grid; place-items: center; background: #fff; border-radius: 16px; }
.az-service__icon img { width: 32px !important; height: 32px !important; }
.az-service h3, .az-card h3 { margin: 1.25rem 0 .5rem; font-size: 1.35rem; letter-spacing: -0.02em; }
.az-card h3 { margin-top: 0; }
.az-service p, .az-card p { color: var(--az-muted); }
.az-service__link, .az-card__link { margin-top: auto; padding-top: 1rem; font-weight: 600; }
.az-service__link a, .az-card__link a { text-decoration: none; color: var(--az-ink); }
.az-service__link a::after, .az-card__link a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }

/* Listes */
.az-checks { list-style: none; padding-left: 0; }
.az-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.az-checks li::before { content: ''; position: absolute; left: 0; top: .2em; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--az-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/78% no-repeat; }
.az-service .az-checks li::before { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%230F3B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.az-checks--small { font-size: .95rem; color: var(--az-muted); }
.az-steps { list-style: none; counter-reset: step; padding-left: 0; display: grid; gap: .75rem; }
.az-steps li { counter-increment: step; position: relative; padding: 1.1rem 1.25rem 1.1rem 4rem; background: var(--az-paper); border-radius: var(--az-r-md); max-width: none; }
.az-steps li::before { content: counter(step); position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: var(--az-blue); color: #fff; font-weight: 600; font-size: .9rem; }
.az-docs { list-style: none; padding: 0; border-radius: var(--az-r-md); background: var(--az-paper); overflow: hidden; }
.az-docs li { padding: .95rem 1.25rem; border-bottom: 1px solid #EAEAEA; max-width: none; }
.az-docs li:last-child { border-bottom: 0; }
.az-related { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.az-related li a { display: inline-block; padding: .6rem 1.1rem; background: var(--az-paper); border-radius: 999px; text-decoration: none; font-weight: 500; color: var(--az-ink); }
.az-related li a:hover { background: var(--az-pale); color: var(--az-blue); }
.az-limits p { color: var(--az-muted); font-size: .97rem; }
.az-note { color: var(--az-muted); font-size: .95rem; }
.az-info { background: var(--az-paper); border-radius: var(--az-r-sm); padding: 1rem 1.15rem 1rem 3rem; position: relative; font-size: .97rem; max-width: 46rem; }
.az-info::before { content: 'i'; position: absolute; left: 1rem; top: 1rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--az-blue); color: #fff; font: 600 .8rem/1.3rem Georgia, serif; text-align: center; }

/* Pourquoi ASSURIZ */
.az-trust { background: #fff !important; }
.az-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.az-point { background: var(--az-paper); border-radius: var(--az-r-md); padding: 1.5rem; }
.az-point h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.az-point p { margin: 0; color: var(--az-muted); }

/* Conversion : bande noire, carte blanche */
.az-convert { background: #0E2547 !important; border-radius: var(--az-r-lg); margin-inline: clamp(.5rem, 2vw, 1.5rem); }
.az-convert a:not(.az-wa-btn):not(.az-btn) { color: #fff; }
.az-convert .az-form { color: var(--az-ink); border: 0; }
.az-convert .az-form a { color: var(--az-ink); }
.az-convert .az-form p { color: inherit; }
.az-convert .az-form .az-help, .az-convert .az-form .az-note { color: var(--az-muted); }
.az-convert__cols { gap: clamp(2rem, 5vw, 4rem) !important; }
.az-convert__wa, .az-convert__call { background: rgba(255,255,255,.07); border-radius: var(--az-r-md); padding: 1.5rem; margin-bottom: 1rem; }
.az-convert__wa h3, .az-convert__call h3 { margin-top: 0; }
.az-convert p { color: rgba(255,255,255,.8); }

/* Carte grise / WW */
.is-style-bande { position: relative; background: var(--az-paper); border-radius: var(--az-r-lg); padding: clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem) calc(clamp(1.5rem, 4vw, 3rem) + 18px); overflow: hidden; }
.is-style-bande::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 14px; background: var(--az-blue); }
.is-style-bande .az-steps li { background: #fff; }

/* FAQ */
.az-faq { border-bottom: 1px solid var(--az-line); padding: 1.15rem 0; }
.az-faq summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.az-faq summary::-webkit-details-marker { display: none; }
.az-faq summary::after { content: '+'; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--az-paper); display: grid; place-items: center; font-weight: 400; font-size: 1.3rem; }
.az-faq[open] summary::after { content: '–'; }
.az-faq p { margin-bottom: 0; color: var(--az-muted); }

/* Section formulaire */
.az-form-section { background: var(--az-paper); border-radius: var(--az-r-lg); padding-left: clamp(1rem, 3vw, 2rem) !important; padding-right: clamp(1rem, 3vw, 2rem) !important; margin-top: 1rem; }
.az-sec.az-form-section + .az-sec { border-top: 0; }

/* ---------- Pied de page : clair et sobre ---------- */
.az-footer { background: var(--az-paper) !important; color: var(--az-ink) !important; padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: 2rem; margin-top: var(--az-sec); }
.az-footer a { color: var(--az-ink); }
.az-footer a:hover { color: var(--az-muted); }
.az-footer__title { font-family: inherit; font-size: .875rem !important; font-weight: 600; color: var(--az-muted) !important; margin-top: 0; letter-spacing: 0; }
.az-footer__list { list-style: none; padding: 0; margin: 0; }
.az-footer__list li { margin-bottom: .5rem; }
.az-footer__list a { text-decoration: none; }
.az-footer p { color: var(--az-muted); }
.az-footer__legal { border-top: 1px solid var(--az-line); margin-top: 2.5rem; padding-top: 1.25rem; }
.az-footer__legal p { font-size: .85rem; max-width: none; }
.az-footer .az-coord p { margin: 0 0 .75rem; color: var(--az-ink); }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
@media print { .az-header, .az-footer, .az-wa-float, .az-form-section { display: none !important; } }
/* Informations réglementaires en bas des pages commerciales */
.az-legal { font-size: .9rem; }
.az-legal h2 { font-size: 1.1rem !important; }
.az-legal p, .az-legal .az-mentions { color: var(--az-muted); font-size: .9rem; }

/* Logo */
.az-logo { margin: 0 !important; line-height: 0; }
.az-logo a { display: inline-block; }
.az-logo img { width: 150px !important; height: auto; display: block; }
.az-logo--footer img { width: 140px !important; margin-bottom: 1rem; }
@media (max-width: 600px) { .az-header .az-logo img { width: 118px !important; } }

/* ---------- Tablettes (iPad) et petits ordinateurs : menu compact ----------
   Le menu complet (7 liens + espace client + bouton devis) ne tient qu'à partir de 1240 px.
   En dessous : logo + « Obtenir un devis » + bouton menu, et aucune largeur ne peut dépasser l'écran. */
html, body { overflow-x: clip; max-width: 100%; }
@media (max-width: 1239px) {
	.az-nav { flex: 0 0 auto; order: 3; }
	.az-header__bar { gap: .75rem; }
	.az-header__bar > .az-brand { margin-right: auto; }
	.az-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.az-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; position: fixed; inset: 0; z-index: 100000; background: #fff; overflow-y: auto; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container { display: flex; flex-direction: column; align-items: flex-start; white-space: normal; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open .az-nav__espace > .wp-block-navigation-item__content { background: none; padding: .5rem 0; }
}
/* Tout bloc large reste dans l'écran */
.wp-site-blocks, main, .wp-block-group, .wp-block-columns { min-width: 0; }
img, svg, video, iframe { max-width: 100%; }
@media (max-width: 1239px) {
	.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; width: 100%; max-width: 640px; margin: 0 auto; padding-top: 2.5rem; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; width: 100%; }
	.az-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; width: 100%; }
}
.has-modal-open .az-wa-float { display: none !important; }
