/* Thème Angliers : mise en page en flexbox et grid, propriétés logiques, variables de theme.json (CSS sans valeur de couleur en dur). */

:root {
	--angliers-pad: var(--wp--preset--spacing--40);
	--angliers-wide: var(--wp--style--global--wide-size, 75rem);
}

/* ---------- Base ---------- */
body { overflow-wrap: break-word; }
:where(a) { text-underline-offset: 0.18em; }
:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--primary);
	outline-offset: var(--wp--custom--focus--offset);
}
.l-wrap { inline-size: min(100% - 2 * var(--angliers-pad), var(--angliers-wide)); margin-inline: auto; }
.skip-link {
	position: absolute; inset-block-start: 0; inset-inline-start: 0; z-index: 100; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); font-weight: 700;
	transform: translateY(-120%);
}
.skip-link:focus { transform: none; }
.screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Boutons */
.wp-block-button__link { min-block-size: 3rem; display: inline-flex; align-items: center; }
.is-style-outline > .wp-block-button__link,
.button-outline {
	display: inline-flex; align-items: center; min-block-size: 2.75rem; padding-inline: var(--wp--preset--spacing--30);
	border: 2px solid var(--wp--preset--color--primary); border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer;
}
.is-style-outline > .wp-block-button__link:hover, .button-outline:hover { background: var(--wp--preset--color--surface-green); }

/* Listes simples */
.is-style-plain, .wp-block-list.is-style-plain { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); }

/* ---------- En-tête ---------- */
.site-header { border-block-end: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface); }
.site-header__bar { padding-block: var(--wp--preset--spacing--30); gap: var(--wp--preset--spacing--40); }
.site-brand { gap: var(--wp--preset--spacing--30); }
.site-brand__name { margin: 0; font-size: var(--wp--preset--font-size--h-2); font-weight: 700; line-height: 1.1; }
.site-brand__name a { color: var(--wp--preset--color--secondary); text-decoration: none; }
.site-brand__tagline { margin: 0; color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--small); }
.site-search { flex: 1 1 18rem; max-inline-size: 26rem; margin-inline-start: auto; }
.site-search .wp-block-search__inside-wrapper { display: flex; }
.site-search .wp-block-search__input { flex: 1; min-inline-size: 0; min-block-size: 2.75rem; padding-inline: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--text-muted); border-inline-end: 0; border-radius: var(--wp--custom--radius--sm) 0 0 var(--wp--custom--radius--sm); font: inherit; }
.site-search .wp-block-search__button { min-inline-size: 3rem; min-block-size: 2.75rem; margin: 0; border-radius: 0 var(--wp--custom--radius--sm) var(--wp--custom--radius--sm) 0; }
.site-contact { gap: var(--wp--preset--spacing--20); align-items: flex-end; }
.site-contact__phone { margin: 0; font-weight: 700; font-size: var(--wp--preset--font-size--h-4); }
.site-contact__phone a { color: var(--wp--preset--color--text); text-decoration: none; }
.site-contact__actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); justify-content: flex-end; }
.display-panel {
	position: absolute; inset-inline-end: var(--angliers-pad); z-index: 50; inline-size: min(22rem, 100% - 2 * var(--angliers-pad)); padding: var(--wp--preset--spacing--40);
	border: 2px solid var(--wp--preset--color--secondary); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface); display: grid; gap: var(--wp--preset--spacing--30);
}
.display-panel[hidden] { display: none; }
.display-panel__title { margin: 0; font-weight: 700; font-size: var(--wp--preset--font-size--h-4); color: var(--wp--preset--color--secondary); }
.display-panel fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: var(--wp--preset--spacing--10); }
.display-panel legend { padding: 0; font-weight: 700; }
.display-panel label { display: flex; gap: var(--wp--preset--spacing--20); align-items: center; min-block-size: 2.75rem; }
.display-panel input { inline-size: 1.4rem; block-size: 1.4rem; accent-color: var(--wp--preset--color--primary); }

.site-nav { border-block-start: 1px solid var(--wp--preset--color--border); }
.site-nav .wp-block-navigation { gap: 0; }
.site-nav .wp-block-navigation-item__content { min-block-size: 3.25rem; display: inline-flex; align-items: center; padding-inline: var(--wp--preset--spacing--30); font-weight: 600; font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--text); text-decoration: none; }
.site-nav .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation-item__content[aria-expanded="true"] { background: var(--wp--preset--color--surface-green); color: var(--wp--preset--color--primary); box-shadow: inset 0 -4px 0 var(--wp--preset--color--primary); }
.site-nav .wp-block-navigation .wp-block-navigation__submenu-container { min-inline-size: 18rem; min-width: 18rem; padding: var(--wp--preset--spacing--20); border: 0; border-block-end: 4px solid var(--wp--preset--color--primary); box-shadow: 0 0.75rem 1.5rem rgb(0 0 0 / 0.14); }
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-block-size: 2.75rem; font-weight: 400; }

/* ---------- Mise en page générale ---------- */
.site-main > * + * { margin-block-start: 0; }
.article { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70); }
.article > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.article :where(h2) { margin-block-start: var(--wp--preset--spacing--50); }
.section { padding-block: var(--wp--preset--spacing--60); }
.section--tint { background: var(--wp--preset--color--surface-green); }
.section > .l-wrap > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.section-title { display: grid; gap: var(--wp--preset--spacing--20); }
.section-title h2 { margin: 0; }
.section-title::after { content: ""; inline-size: 5rem; block-size: 0.375rem; background: linear-gradient(90deg, var(--wp--preset--color--brand-yellow) 0 30%, var(--wp--preset--color--brand-sky) 30% 100%); }

/* Héros : texte et recherche à gauche, widget d'alertes à droite (pile en une colonne sur petit écran) */
.hero { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--60); align-items: flex-start; }
.hero__main { flex: 999 1 26rem; min-inline-size: 0; display: grid; gap: var(--wp--preset--spacing--40); }
.hero__main > * { margin: 0; }
.hero__aside { flex: 1 1 20.625rem; max-inline-size: 20.625rem; min-inline-size: 0; display: grid; gap: var(--wp--preset--spacing--20); }
.hero__aside > * { margin: 0; }
.eyebrow { font-weight: 600; font-size: var(--wp--preset--font-size--small); letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.widget-frame { inline-size: 100%; border-radius: var(--wp--custom--radius--md); overflow: hidden; box-shadow: 0 0.25rem 0.9rem rgb(0 0 0 / 0.12); background: var(--wp--preset--color--surface); }
.widget-frame iframe { display: block; inline-size: 100%; block-size: 32.375rem; border: 0; }

/* Tuiles et cartes */
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: var(--wp--preset--spacing--30); }
.tiles > * { margin: 0; }
.tile { position: relative; min-block-size: 7.5rem; padding: var(--wp--preset--spacing--30); display: flex; align-items: flex-end; border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface); }
.tile::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; block-size: 0.375rem; border-radius: var(--wp--custom--radius--md) var(--wp--custom--radius--md) 0 0; background: var(--wp--preset--color--brand-green); }
.tile:hover { border-color: var(--wp--preset--color--primary); box-shadow: 0 0.4rem 0.9rem rgb(0 0 0 / 0.1); }
.tile p { margin: 0; font-weight: 700; line-height: 1.3; }
.tile a { color: var(--wp--preset--color--text); text-decoration: none; }
.tile a::after { content: ""; position: absolute; inset: 0; } /* toute la tuile est cliquable */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.cards > * { margin: 0; }
.card { padding: var(--wp--preset--spacing--40); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface); display: grid; gap: var(--wp--preset--spacing--20); align-content: start; }
.card > * { margin: 0; }
.card--violet { background: var(--wp--preset--color--secondary); border-color: var(--wp--preset--color--secondary); color: var(--wp--preset--color--surface); }
.card--violet :where(h2, h3, a, p) { color: var(--wp--preset--color--surface); }
.card--tint { background: #e8eef2; }
.news .wp-block-post-template { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.news .wp-block-post-template > li { margin: 0; }
.news .card { block-size: 100%; }
.news .wp-block-post-title { overflow-wrap: anywhere; }
.news .wp-block-post-title a { color: var(--wp--preset--color--text); text-decoration: none; }
.news .wp-block-post-title a:hover { text-decoration: underline; }
.tag, .tag a { font-weight: 700; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--primary); text-decoration: none; }
.meta { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--text-muted); }
.quote { margin: 0; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface-yellow); max-inline-size: 52rem; }
.visit { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--50); }
.visit > * { flex: 1 1 20rem; margin: 0; min-inline-size: 0; }

/* Encarts réutilisables */
.note { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--md); background: #e8eef2; border-inline-start: 0.5rem solid var(--wp--preset--color--info); }
.note--important { background: var(--wp--preset--color--surface-yellow); border-inline-start-color: var(--wp--preset--color--brand-yellow); }

/* ---------- Pied de page ---------- */
.site-footer { background: var(--wp--preset--color--secondary); color: var(--wp--preset--color--surface); border-block-start: 0.375rem solid var(--wp--preset--color--brand-green); }
.site-footer :where(a, h2, p, th, td, li) { color: var(--wp--preset--color--surface); }
.site-footer__main { padding-block: var(--wp--preset--spacing--60); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--wp--preset--spacing--50); }
.site-footer__main > * { margin: 0; }
.site-footer__main h2 { margin-block: 0 var(--wp--preset--spacing--20); }
.site-footer__legal { border-block-start: 1px solid rgb(255 255 255 / 0.35); padding-block: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); }
.hours { border-collapse: collapse; }
.hours th { text-align: start; font-weight: 600; padding: 0.15rem var(--wp--preset--spacing--30) 0.15rem 0; }

/* ---------- Réglages d'affichage du visiteur ---------- */
html[data-text-size="l"] { font-size: 118%; }
html[data-text-size="xl"] { font-size: 136%; }
html[data-contrast="renforce"] body { background: #fff; color: #000; }
html[data-contrast="renforce"] a { color: #000; text-decoration: underline; }
html[data-contrast="renforce"] :where(h1, h2, h3, h4) { color: #000; }
html[data-contrast="renforce"] :where(.card, .tile, .quote, .note, .display-panel, .widget-frame) { background: #fff; color: #000; border: 2px solid #000; box-shadow: none; }
html[data-contrast="renforce"] :where(.wp-block-button__link) { background: #000; color: #fff; }
html[data-contrast="renforce"] .site-footer { background: #000; }
html[data-contrast="renforce"] :where(.tile::before, .section-title::after) { display: none; }

@media (prefers-reduced-motion: reduce) { *, ::before, ::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media (forced-colors: active) { .tile, .card, .note { border: 1px solid CanvasText; } }

/* ---------- Pages : images, galeries, portraits, tableaux, fil d'Ariane ---------- */
.article > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.article :where(p, ul, ol, h2, h3, h4, blockquote, details) { max-inline-size: 48rem; }
.article :where(h2) { margin-block-start: var(--wp--preset--spacing--50); }
:where(.wp-block-image, .wp-block-gallery) img { max-inline-size: 100%; block-size: auto; border-radius: var(--wp--custom--radius--md); }
.wp-block-image { margin: 0; }
.page-hero img { inline-size: 100%; aspect-ratio: 21 / 8; object-fit: cover; }
.wp-block-gallery.photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--wp--preset--spacing--30); }
.wp-block-gallery.photos > .wp-block-image { margin: 0; inline-size: auto; flex: none; }
.wp-block-gallery.photos img { inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hero__photo { margin: 0; display: grid; gap: var(--wp--preset--spacing--10); }
.hero__photo img { inline-size: 100%; aspect-ratio: 16 / 7; object-fit: cover; border-radius: var(--wp--custom--radius--md); }
.hero__photo figcaption { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--text-muted); }
.people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.person { display: grid; gap: var(--wp--preset--spacing--10); justify-items: center; text-align: center; align-content: start; }
.person > * { margin: 0; }
.person__photo { inline-size: 100%; max-inline-size: 11rem; }
.person__photo img { inline-size: 100%; aspect-ratio: 1; object-fit: cover; object-position: top; border-radius: 50%; }
.person__name { line-height: 1.2; }
.person__role { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--text-muted); }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { inline-size: 100%; border-collapse: collapse; }
.wp-block-table :where(th, td) { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); text-align: start; border-block-end: 1px solid var(--wp--preset--color--border); }
.wp-block-table thead th { background: var(--wp--preset--color--secondary); color: var(--wp--preset--color--surface); border: 0; }
.wp-block-table figcaption { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--text-muted); }
.wp-block-details { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); }
.wp-block-details summary { min-block-size: 2.75rem; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.breadcrumb { font-size: var(--wp--preset--font-size--small); margin-block-end: var(--wp--preset--spacing--20); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.25rem; margin: 0; padding: 0; list-style: none; }
.breadcrumb li + li::before { content: "›"; margin-inline-end: 0.25rem; color: var(--wp--preset--color--text-muted); }
.help { margin-block-start: var(--wp--preset--spacing--60); padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface-green); display: grid; gap: var(--wp--preset--spacing--20); max-inline-size: 48rem; }
.help > * { margin: 0; }

/* ---------- Menu principal : espacement des rubriques (sélecteurs renforcés : WordPress remet les marges à zéro) ---------- */
.site-nav .wp-block-navigation .wp-block-navigation__container { gap: var(--wp--preset--spacing--10); }
.site-nav .wp-block-navigation .wp-block-navigation-item__content { padding-inline: var(--wp--preset--spacing--30); }
.site-nav .wp-block-navigation .wp-block-navigation-submenu__toggle { padding-inline-end: var(--wp--preset--spacing--10); }
.site-nav .wp-block-navigation .wp-block-navigation__submenu-icon { margin-inline: 0 var(--wp--preset--spacing--20); }
.site-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-inline: var(--wp--preset--spacing--30); }

/* ---------- En-tête : bandeau aligné (logo · recherche · outils) ---------- */
.site-header__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); padding-block: var(--wp--preset--spacing--30); }
.site-header__bar > * { margin: 0; }
.site-header__bar .site-search { flex: 1 1 18rem; max-inline-size: 30rem; margin-inline: auto; }
.site-tools { position: relative; display: flex; align-items: center; gap: var(--wp--preset--spacing--10); flex: none; }
.site-tools__item {
	display: inline-flex; align-items: center; gap: 0.45rem; min-block-size: 2.75rem; padding-inline: var(--wp--preset--spacing--20);
	border: 0; border-radius: var(--wp--custom--radius--sm); background: transparent; color: var(--wp--preset--color--text);
	font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap;
}
.site-tools__item:hover, .site-tools__item[aria-expanded="true"] { background: var(--wp--preset--color--surface-green); color: var(--wp--preset--color--primary); }
.site-tools__item svg { inline-size: 1.3rem; block-size: 1.3rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-tools__phone { font-size: var(--wp--preset--font-size--body); font-weight: 700; }
.site-tools .display-panel { inset-block-start: calc(100% + 0.5rem); inset-inline-end: 0; }
@media (max-width: 62rem) { .site-tools__item span:not(.site-tools__phone span) { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); } }
@media (max-width: 48rem) {
	.site-header__bar .site-search { order: 3; flex: 1 1 100%; max-inline-size: none; }
	.site-tools { margin-inline-start: auto; }
}

/* ---------- Menu : chevron des rubriques (remplace l'icône de WordPress) ---------- */
.site-nav .wp-block-navigation__submenu-icon { display: inline-flex; align-items: center; margin-inline: 0.15rem 0; }
.site-nav .wp-block-navigation__submenu-icon svg { display: none; }
.site-nav .wp-block-navigation__submenu-icon::after {
	content: ""; inline-size: 0.5rem; block-size: 0.5rem; margin-block-end: 0.2rem;
	border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.15s;
}
.site-nav [aria-expanded="true"] > .wp-block-navigation__submenu-icon::after,
.site-nav [aria-expanded="true"] + .wp-block-navigation__submenu-icon::after { transform: rotate(-135deg); margin-block-end: -0.2rem; }

/* Gabarit de l'en-tête : une seule ligne sur grand écran */
.site-brand__name { font-size: var(--wp--preset--font-size--h-3); }
.site-brand__tagline { font-size: var(--wp--preset--font-size--small); }
.site-header__bar { column-gap: var(--wp--preset--spacing--40); }
.site-header__bar .site-search { flex: 1 1 14rem; max-inline-size: 22rem; }

/* Menu : place réservée au chevron (il est posé par-dessus le bouton par WordPress) */
.site-nav .wp-block-navigation .wp-block-navigation-submenu__toggle { padding-inline-end: 1.75rem; }
.site-nav .wp-block-navigation__submenu-icon {
	position: absolute; inset-inline-end: 0.7rem; inset-block-start: 50%; margin: 0; padding: 0; pointer-events: none; translate: 0 -50%;
}
.site-nav .wp-block-navigation__submenu-icon::after { margin: -0.2rem 0 0; }
.site-nav [aria-expanded="true"] + .wp-block-navigation__submenu-icon::after { margin: 0.2rem 0 0; }

/* ---------- En-tête : retour aux boutons à contour (numéro sur une ligne, bouton Accessibilité sur deux lignes) ---------- */
.site-tools { display: grid; justify-items: end; align-content: center; gap: var(--wp--preset--spacing--20); }
.site-tools__phone { margin: 0; color: var(--wp--preset--color--text); font-weight: 700; font-size: var(--wp--preset--font-size--h-4); text-decoration: none; white-space: nowrap; }
.site-tools__actions { display: flex; align-items: stretch; gap: var(--wp--preset--spacing--20); }
.button-outline--stack { padding-block: 0.3rem; line-height: 1.15; text-align: center; font-size: var(--wp--preset--font-size--small); }

/* Menu : un peu d'air entre le mot et le chevron */
.site-nav .wp-block-navigation .wp-block-navigation-submenu__toggle { padding-inline-end: 2.1rem; }
.site-nav .wp-block-navigation__submenu-icon { inset-inline-end: 0.9rem; }

/* Tuiles « En quelques clics » : icône en haut, intitulé en bas */
.tile { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: var(--wp--preset--spacing--20); min-block-size: 9rem; }
.tile > * { margin: 0; }
.tile__icon { inline-size: 2.75rem; block-size: 2.75rem; display: grid; place-items: center; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--surface-green); color: var(--wp--preset--color--primary); }
.tile__icon svg { inline-size: 1.6rem; block-size: 1.6rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
