/* Berre-les-Alpes — Institutionnel · feuille de styles
   Les jetons (couleurs, polices, espacements) viennent de theme.json ; ici : composants et états. */

:root{
	--b-navy:var(--wp--preset--color--navy,#092f5b);
	--b-blue:var(--wp--preset--color--blue,#0869bc);
	--b-blue-dark:var(--wp--preset--color--blue-dark,#064f90);
	--b-pale:var(--wp--preset--color--pale,#edf5fc);
	--b-ink:var(--wp--preset--color--ink,#23364a);
	--b-border:var(--wp--preset--color--border,#d7e5f2);
	--b-muted:var(--wp--preset--color--muted,#5a6e83);
	--b-alert:var(--wp--preset--color--alert,#b45309);
	--b-shadow-soft:0 3px 16px rgba(9,47,91,.03);
	--b-shadow-lift:0 12px 36px rgba(9,47,91,.075);
	--b-radius:16px;
	--b-radius-s:10px;
	--b-gutter:24px;
	--b-header-h:82px;
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--b-header-h) + 16px)}
*,*::before,*::after{box-sizing:border-box}
img{height:auto}

/* ---------- Accessibilité ---------- */
.berre-skip{position:absolute;left:12px;top:-100px;z-index:100000;background:var(--b-navy);color:#fff;padding:12px 18px;border-radius:0 0 10px 10px;font-weight:700;text-decoration:none;transition:top 160ms}
.berre-skip:focus{top:0;outline:3px solid #fff;outline-offset:-6px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--b-navy);outline-offset:3px;border-radius:4px}
.has-navy-background-color :where(a,button,summary):focus-visible,.berre-footer :where(a,button):focus-visible,.berre-hero :where(a,button,input):focus-visible,.berre-topbar :where(a):focus-visible{outline-color:#fff}
main:focus{outline:none}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* ---------- Bandeau supérieur et alerte ---------- */
.berre-topbar{background:var(--b-navy);color:#fff;font-size:.8125rem;padding-block:6px}
.berre-topbar a{color:#fff;text-decoration:none}
.berre-topbar a:hover{text-decoration:underline}
.berre-topbar .wp-block-group{gap:16px}
.berre-alert{background:#fff7ed;border-bottom:2px solid var(--b-alert);color:#4a2605}
.berre-alert.is-critical{background:#fff1e0}
.berre-alert__in{max-width:1200px;margin:auto;padding:10px var(--b-gutter);display:flex;gap:12px;align-items:center}
.berre-alert__in p{margin:0;flex:1;font-size:.9375rem}
.berre-alert .berre-icon{background:var(--b-alert);width:34px;height:34px;border-radius:50%}
.berre-alert .berre-icon::before{background:#fff;width:18px;height:18px}
.berre-alert__close{border:1px solid var(--b-alert);background:transparent;color:#7a3a05;border-radius:8px;padding:6px 12px;font:inherit;font-size:.875rem;cursor:pointer;min-height:44px}
.berre-alert__close:hover{background:#ffe7cc}
.berre-alert[hidden]{display:none}

/* ---------- En-tête collant ---------- */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
@media(max-width:782px){.admin-bar .wp-site-blocks>header.wp-block-template-part{top:46px}}
.berre-header{background:#fff;border-bottom:1px solid var(--b-border);box-shadow:0 3px 12px rgba(9,47,91,.03);transition:box-shadow 180ms}
.berre-header__in{min-height:var(--b-header-h);padding-block:10px;transition:min-height 180ms,padding 180ms;gap:20px}
.berre-header.is-compact .berre-header__in{min-height:60px;padding-block:4px}
.berre-header.is-compact{box-shadow:0 6px 18px rgba(9,47,91,.09)}
.berre-brand{gap:14px;flex-wrap:nowrap}
.berre-brand .wp-block-site-logo img{width:auto;max-height:60px;transition:max-height 180ms}
.berre-header.is-compact .berre-brand .wp-block-site-logo img{max-height:42px}
.berre-brand .wp-block-site-title{font-size:1.375rem;line-height:1.1;margin:0}
.berre-brand .wp-block-site-title a{text-decoration:none;color:var(--b-navy)}
.berre-brand .wp-block-site-tagline{font-size:.75rem;margin:0;color:var(--b-muted)}
.berre-logo-placeholder{display:grid;place-items:center;width:68px;height:60px;border:2px dashed #7f9cba;border-radius:8px;background:#f3f8fd;color:#54728c!important;font-size:9px;line-height:1.3;text-align:center;text-decoration:none!important;font-weight:700}

/* Navigation */
/* Menu en tiroir en dessous de 1024 px (au lieu de 600 px par défaut) */
@media(max-width:1359px){
	.berre-header__tools .berre-header__cta{display:none}
}
.berre-header__tools{gap:8px}
.berre-header__tools .wp-block-search__button{min-width:44px;min-height:44px}

/* ---------- Boutons ---------- */
.wp-block-button__link,.berre-btn{transition:transform 160ms,background-color 160ms,box-shadow 160ms,color 160ms;min-height:44px}
.wp-block-button__link:hover,.berre-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(8,105,188,.2)}
.is-style-outline>.wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--b-blue);border:1px solid var(--b-blue)}
.is-style-outline>.wp-block-button__link:hover{background:var(--b-pale);color:var(--b-blue-dark)}
.berre-btn{display:inline-flex;align-items:center;gap:8px;background:var(--b-blue);color:#fff;border:1px solid var(--b-blue);border-radius:10px;padding:.75rem 1.125rem;font:inherit;font-weight:650;cursor:pointer;text-decoration:none}
.berre-btn:hover{background:var(--b-blue-dark);color:#fff}
.is-style-tertiary>.wp-block-button__link{background:transparent;color:var(--b-blue);border-color:transparent;text-decoration:underline;padding-inline:.25rem}
.is-style-tertiary>.wp-block-button__link:hover{box-shadow:none;transform:none;background:transparent}

/* ---------- Hero ---------- */
.berre-hero :is(h1,h2,p,.berre-eyebrow){color:#fff}
.berre-hero h1{max-width:18ch;font-size:clamp(2.375rem,1.6rem + 3.6vw,4rem);line-height:1.08;}
.berre-eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:750;margin:0}
.berre-search{display:flex;gap:10px;max-width:640px;width:100%}
.berre-search input[type=search]{flex:1;min-height:48px;padding:.75rem 1rem;border:1px solid #a7bcd0;border-radius:10px;font:inherit;background:#fff;color:var(--b-ink)}
.berre-hero .berre-search{margin-block:8px}
.berre-hero .berre-search .berre-btn{background:var(--b-navy);border-color:var(--b-navy)}

/* ---------- Mise en page ---------- */
.berre-section{padding-block:3rem}
.berre-section--pale{background:var(--b-pale)}
.berre-section__title{margin:0 0 1.5rem}
.berre-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}
.berre-split>.berre-aside{position:sticky;top:calc(var(--b-header-h) + 16px)}
@media(max-width:1023px){.berre-split{grid-template-columns:1fr}.berre-split>.berre-aside{position:static}}
.berre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:18px;list-style:none;margin:0;padding:0}
.berre-grid--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.wp-block-post-template.berre-grid{padding:0}
.wp-block-post-template.berre-grid>li{margin:0}

/* ---------- Cartes ---------- */
.berre-card{position:relative;background:#fff;border:1px solid var(--b-border);border-radius:var(--b-radius);padding:22px;box-shadow:var(--b-shadow-soft);transition:transform 180ms,box-shadow 180ms,border-color 180ms;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.berre-card:hover,.berre-card:focus-within{transform:translateY(-3px);box-shadow:var(--b-shadow-lift);border-color:#a5caed}
.berre-card :is(h2,h3,h4){margin:6px 0 0;font-size:1.1875rem;line-height:1.3}
.berre-card h3 a,.berre-card h2 a,.berre-card__link{color:var(--b-navy);text-decoration:none}
.berre-card h3 a:hover,.berre-card h2 a:hover,.berre-card__link:hover{text-decoration:underline;text-underline-offset:4px}
.berre-card .berre-card__link::after,.berre-card :is(h2,h3) a::after,.berre-card .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.berre-card .wp-block-post-featured-image{margin:-22px -22px 10px;border-radius:0}
.berre-card .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover;width:100%}
.berre-card p{margin:0}
.berre-card .wp-block-post-excerpt{font-size:.9375rem;color:var(--b-muted)}
.berre-card .wp-block-post-excerpt__more-link{display:none}
.berre-muted{color:var(--b-muted);font-size:.875rem}
.berre-meta{color:var(--b-muted);font-size:.875rem;display:flex;flex-wrap:wrap;gap:4px 14px}
.berre-meta :is(p,div){margin:0}
.berre-tag,.wp-block-post-terms.berre-tag a{display:inline-block;background:var(--b-pale);color:var(--b-navy);padding:4px 10px;border-radius:30px;font-size:.75rem;font-weight:700;text-decoration:none}
.berre-card--quick{align-items:flex-start;padding:20px}
.berre-card--quick .berre-icon{margin-bottom:4px}

/* Date d’événement */
.berre-date{font-weight:700;color:var(--b-blue);font-size:.9375rem;text-transform:capitalize}
.berre-date:empty,.berre-meta :empty{display:none}

/* ---------- Fil d’Ariane et bandeau de page ---------- */
.berre-crumb{font-size:.8125rem;color:#5d748c;margin-bottom:16px}
.berre-crumb ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:6px}
.berre-crumb li+li::before{content:"/";margin-right:6px;color:#8ba0b6}
.berre-crumb a{color:#46607a}
.berre-pagehead{padding-block:2rem 1rem}
.berre-pagehead h1{margin:0 0 12px}
.berre-intro{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);max-width:780px;color:var(--b-ink);margin:0}
.berre-intro:empty{display:none}

/* ---------- Contenu éditorial ---------- */
.berre-prose{max-width:780px}
.berre-prose :where(h2){margin-top:2.2em}
.berre-prose :where(h3){margin-top:1.8em}
.berre-prose :where(ul,ol){padding-left:1.4em}
.berre-prose img{border-radius:12px}
.berre-note,.is-style-berre-note{background:var(--b-pale);border-left:4px solid var(--b-blue);padding:18px 20px;border-radius:9px}
.berre-note>*:first-child{margin-top:0}.berre-note>*:last-child{margin-bottom:0}
.berre-note--alert{background:#fff7ed;border-left-color:var(--b-alert)}
.berre-aside .berre-card{height:auto}
.berre-aside .berre-card:hover{transform:none;box-shadow:var(--b-shadow-soft);border-color:var(--b-border)}
ul.berre-facts{list-style:none;margin:0;padding:0}
.berre-facts li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--b-border)}
.berre-facts li:last-child{border-bottom:0}
.berre-facts strong{min-width:8.5rem;color:var(--b-navy)}
.berre-steps{counter-reset:step;list-style:none;padding:0}
.berre-steps>li{counter-increment:step;position:relative;padding:0 0 18px 52px}
.berre-steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--b-blue);color:#fff;display:grid;place-items:center;font-weight:800}

/* Accordéons (FAQ) */
.wp-block-details{background:#fff;border:1px solid var(--b-border);border-radius:var(--b-radius-s);margin:10px 0;padding:0}
.wp-block-details summary{cursor:pointer;font-weight:700;color:var(--b-navy);padding:14px 18px;min-height:44px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";font-size:1.4rem;line-height:1;transition:transform 200ms}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details>*:not(summary){padding-inline:18px}
.wp-block-details>*:last-child{padding-bottom:16px}
@media(prefers-reduced-motion:no-preference){
	.wp-block-details{interpolate-size:allow-keywords}
	.wp-block-details::details-content{block-size:0;overflow:hidden;transition:block-size 200ms,content-visibility 200ms allow-discrete}
	.wp-block-details[open]::details-content{block-size:auto}
}

/* ---------- Onglets / filtres ---------- */
.berre-tabs ul,.wp-block-categories.berre-tabs{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0 0 1.5rem;padding:0}
.berre-tabs a,.wp-block-categories.berre-tabs a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--b-border);background:#fff;padding:8px 16px;border-radius:9px;color:var(--b-navy);text-decoration:none;font-weight:600}
.berre-tabs a:hover{background:var(--b-pale)}
.berre-tabs a.is-active,.berre-tabs a[aria-current=true]{background:var(--b-navy);border-color:var(--b-navy);color:#fff}

/* ---------- Formulaires ---------- */
.berre-form{background:#fff;border:1px solid var(--b-border);border-radius:var(--b-radius);padding:24px;box-shadow:var(--b-shadow-soft)}
.berre-field{margin-bottom:18px}
.berre-field label{display:block;font-weight:650;color:var(--b-navy);margin-bottom:6px}
.berre-field :is(input,select,textarea){width:100%;min-height:48px;padding:12px;border:1px solid #6d86a0;border-radius:9px;font:inherit;background:#fff;color:var(--b-ink)}
.berre-field.has-error :is(input,select,textarea){border:2px solid #b42318}
.berre-field__error{color:#b42318;font-weight:600;margin:6px 0 0;font-size:.9375rem}
.berre-field--check{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.berre-field--check input{width:24px;min-height:24px;height:24px;margin-top:3px;flex:none}
.berre-field--check label{flex:1;font-weight:500;margin:0}
.berre-field--check .berre-field__error{flex-basis:100%}
.berre-req{color:#b42318}
.berre-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.berre-notice{border-radius:10px;padding:16px 18px;margin-bottom:20px;border:1px solid;background:#fff}
.berre-notice ul{margin:8px 0 0;padding-left:1.2em}
.berre-notice.is-success{border-color:#1a7f45;background:#effaf3;color:#0f4d2a}
.berre-notice.is-error{border-color:#b42318;background:#fef3f2;color:#7a1710}
.berre-notice.is-error a{color:#7a1710}

/* ---------- Coordonnées ---------- */
.berre-coords{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.berre-coords li{display:flex;gap:12px;align-items:flex-start}
.berre-coords .berre-icon{width:34px;height:34px;border-radius:8px}
.berre-coords .berre-icon::before{width:18px;height:18px}

/* ---------- Documents ---------- */
.berre-doclist{list-style:none;margin:0;padding:0}
.berre-doclist>li{margin:0}
.berre-doc{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--b-border);border-radius:12px;margin-bottom:10px}
.berre-doc .wp-block-post-title{margin:0;font-size:1.0625rem}
.berre-doc .wp-block-post-title a{color:var(--b-navy);text-decoration:none}
.berre-doc .wp-block-post-title a:hover{text-decoration:underline}
.berre-filter{display:block;width:100%;max-width:520px;min-height:48px;padding:12px;border:1px solid #6d86a0;border-radius:9px;font:inherit;margin-bottom:18px}
@media(max-width:600px){.berre-doc{grid-template-columns:auto 1fr}.berre-doc>:last-child{grid-column:1/-1}}

/* ---------- Pagination ---------- */
.wp-block-query-pagination{gap:8px;margin-top:2rem}
.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--b-border);background:#fff;border-radius:9px;padding:6px 14px;text-decoration:none;color:var(--b-navy);font-weight:600}
.wp-block-query-pagination .page-numbers.current{background:var(--b-navy);color:#fff;border-color:var(--b-navy)}

/* ---------- Pied de page ---------- */
.berre-footer{background:var(--b-navy);color:#fff;margin-top:clamp(2.5rem,5vw,4rem)}
.berre-footer :is(a,h2,h3,p,li){color:#fff}
.berre-footer a{text-underline-offset:4px}
.berre-footer .berre-icon{background:rgba(255,255,255,.12)}
.berre-footer .berre-icon::before{background:#fff}
.berre-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:32px}
.berre-footer h2,.berre-footer h3{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.berre-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.berre-footer__base{border-top:1px solid rgba(255,255,255,.2);font-size:.875rem;padding-block:16px}

/* ---------- Divers ---------- */
.berre-sitemap{columns:2 18rem;column-gap:32px}
.berre-sitemap ul{margin-block:4px}
.wp-block-search__input{min-height:44px}
.wp-block-post-featured-image img{border-radius:12px}
.berre-photo-slot{min-height:240px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#d1e9fa,#8eb5d4);color:#285474;text-align:center;font-size:.875rem;padding:16px}
.berre-empty{background:#fff;border:1px dashed var(--b-border);border-radius:12px;padding:28px;text-align:center}
.has-global-padding>.alignfull{margin-inline:calc(var(--wp--style--root--padding-right,0px)*-1)}

/* Skeleton léger pour listes asynchrones */
@keyframes berre-sk{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}}
.berre-skeleton{background:#e3edf6;border-radius:8px;min-height:1em;animation:berre-sk 1.4s ease-in-out infinite}

/* Tableaux défilants avec alternative accessible */
.wp-block-table{overflow-x:auto}
.wp-block-table table{border-collapse:collapse;min-width:520px}
.wp-block-table :is(th,td){border:1px solid var(--b-border);padding:10px 14px;text-align:left}
.wp-block-table thead th{background:var(--b-pale);color:var(--b-navy)}

/* ---------- Mobile ---------- */
@media(max-width:767px){
	.berre-header__in{min-height:70px}
	.berre-brand .wp-block-site-title{font-size:1.0625rem}
	.berre-brand .wp-block-site-tagline{display:none}
	.berre-brand .wp-block-site-logo img{max-height:46px}
	.berre-topbar .berre-topbar__right{display:none}
	.berre-section{padding-block:2rem}
	.berre-search{flex-direction:column}
	.berre-hero{--hero-h:420px}
	.wp-block-buttons{flex-direction:column;align-items:stretch}
	.wp-block-buttons .wp-block-button__link{width:100%;text-align:center;justify-content:center}
	.berre-alert__in{flex-wrap:wrap}
}

/* ---------- Mouvement réduit ---------- */
@media(prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	.berre-card:hover,.wp-block-button__link:hover,.berre-btn:hover{transform:none}
}
@media print{.berre-topbar,.berre-header,.berre-footer,.berre-alert,.berre-skip{display:none!important}}

/* ---------- Structure globale ---------- */
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0}
.berre-main>*{margin-block:0}
.berre-wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--b-gutter);width:100%}
.berre-wrap.berre-section{padding-block:3rem}
.berre-header__in{display:flex;align-items:center}
.berre-header>.berre-wrap>*{margin-block:0}
.berre-topbar__row{justify-content:space-between;align-items:center}
.berre-topbar__row>*{margin:0}
.berre-topbar ul{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.berre-topbar p{margin:0;letter-spacing:.04em}
@media(max-width:767px){.berre-topbar ul{display:none}}
.berre-pagehead-wrap{background:#fff;border-bottom:1px solid var(--b-border)}
.berre-pagehead-wrap .berre-pagehead{padding-block:2rem}
.berre-grid>*,.berre-grid>li{margin-block:0!important}
.berre-card>*{margin-block:0}
.berre-card--static:hover{transform:none;box-shadow:var(--b-shadow-soft);border-color:var(--b-border)}
.berre-split .berre-prose{max-width:none}
.berre-split__main>*+*{margin-top:24px}
.berre-split__aside>*+*{margin-top:16px}
.berre-fact{gap:10px;padding:10px 0;border-bottom:1px solid var(--b-border);align-items:baseline;flex-wrap:nowrap}
.berre-fact>*{margin:0}
.berre-fact>p:first-child{min-width:8rem;color:var(--b-navy)}
.berre-fact:has(p:empty:last-child){display:none}
.berre-facts .berre-fact:last-of-type,.berre-aside .berre-fact:last-of-type{border-bottom:0}
.wp-block-button__link:not([href]),.wp-block-button__link[href=""]{display:none}
.wp-block-buttons:has(.wp-block-button__link:not([href])):not(:has([href]:not([href=""]))){display:none}
.berre-doc__main{min-width:0}
.berre-doc__main>*{margin-block:0}
.berre-results>li{margin:0}
.berre-footer__top{border-bottom:0}
.berre-footer__col>*+*{margin-top:12px}
.berre-footer .berre-coords a,.berre-footer__base a{color:#fff}
.berre-discover{align-items:center}
.berre-hero__in>*+*{margin-top:16px}
.berre-brand__text{display:block}
.berre-brand__text>*{margin:0}

.berre-card .berre-tag,.berre-card .wp-block-post-terms{align-self:flex-start}
.berre-card .wp-block-post-terms{display:block}

.berre-fact{margin-block:0!important}
.berre-note.berre-facts>h3{margin:0 0 6px}
.berre-header__in{flex-wrap:nowrap}
.berre-header__tools{margin-left:0}
@media(max-width:1359px){.berre-nav{margin-left:auto}}
.berre-brand{min-width:0}
.berre-doc{justify-content:space-between;flex-wrap:nowrap}
.berre-doc__main{flex:1}
.berre-footer__col>*:first-child{margin-top:0}
.berre-footer__col>h2{margin-bottom:12px}
@media(max-width:600px){.berre-doc{flex-wrap:wrap}}
.berre-card .berre-form{border:0;box-shadow:none;padding:0;background:transparent}

/* =====================================================================
   Version 2 — sections pilotées par l'administration
   ===================================================================== */
.berre-btn.is-outline{background:transparent;color:var(--b-blue);border-color:var(--b-blue)}
.berre-btn.is-outline:hover{background:var(--b-pale);color:var(--b-navy)}
.berre-btns,.berre-hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.berre-lead{max-width:60ch;color:var(--b-muted);margin:0 0 1.5rem}

/* Hero */
.berre-hero{position:relative;isolation:isolate;overflow:hidden;min-height:var(--hero-h,520px);display:flex;align-items:center;background:var(--b-navy);color:#fff}
.berre-hero__media,.berre-hero__veil{position:absolute;inset:0;z-index:-2}
.berre-hero__veil{z-index:-1;background:linear-gradient(105deg,var(--b-navy) 0%,var(--b-blue-dark) 100%);opacity:var(--hero-o,.7)}
.berre-hero:not(.has-media) .berre-hero__veil{opacity:1}
.berre-hero.has-media .berre-hero__veil{background:#000}
.berre-hero.has-media :is(h1,p,.berre-eyebrow){text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 18px rgba(0,0,0,.4)}
.berre-hero__img,.berre-hero__video{width:100%;height:100%;object-fit:cover;display:block}
.berre-hero__yt{position:absolute;left:50%;top:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none}
.berre-hero__in{width:100%;padding-block:3.5rem}
.berre-hero__in>*+*{margin-top:16px}
.berre-hero :is(h1,p,.berre-eyebrow){color:#fff}
.berre-hero h1{max-width:18ch;font-size:clamp(2.375rem,1.6rem + 3.6vw,4rem);line-height:1.08;margin:0}
.berre-hero .berre-btn--hero{background:#fff;color:var(--b-navy);border-color:#fff}
.berre-hero .berre-btn--hero.is-outline{background:transparent;color:#fff}
.berre-hero .berre-btn--hero.is-outline:hover{background:rgba(255,255,255,.14)}
.berre-hero__pause{position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:rgba(9,47,91,.7);color:#fff;font-size:1rem;cursor:pointer}
@media (prefers-reduced-motion:reduce){.berre-hero__video,.berre-hero__yt{display:none}}

/* Accès rapides, services */
.berre-more{margin-top:20px}
.berre-more>summary{list-style:none;cursor:pointer;display:inline-flex}
.berre-more>summary::-webkit-details-marker{display:none}
.berre-more[open]>summary{margin-bottom:20px}
.berre-grid--4{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:20px}

/* Présentation de la commune */
.berre-commune{display:grid;gap:40px;align-items:center}
.berre-commune.has-image{grid-template-columns:1.1fr 1fr}
.berre-commune h2{margin:.25rem 0 .75rem}
.berre-eyebrow--dark{color:var(--b-blue)!important}
.berre-commune__img img{width:100%;border-radius:var(--b-radius);display:block;box-shadow:var(--b-shadow-lift)}
.berre-keyfigs{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:16px}
.berre-keyfigs li{background:#fff;border:1px solid var(--b-border);border-radius:var(--b-radius-s);padding:14px 16px}
.berre-keyfigs strong{display:block;font-size:1.75rem;line-height:1.1;color:var(--b-navy)}
.berre-keyfigs span{font-size:.875rem;color:var(--b-muted)}

/* Blocs d'accueil, bandeau contact */
.berre-blocs{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.berre-bloc__img img{width:100%;border-radius:var(--b-radius-s);display:block}
.berre-contactband{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:20px}
.berre-contactband h2{margin-top:0}
.berre-newsletter input[type=email],.berre-newsletter input[type=text]{min-height:44px;padding:.5rem .75rem;border:1px solid #a7bcd0;border-radius:10px;max-width:100%}

/* Étiquettes colorées (couleur de la catégorie) */
.berre-tag--colored{background:var(--tag)!important;color:#fff!important}

/* En-tête : recherche plein écran */
.berre-search-btn{width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer;display:inline-grid;place-items:center;color:var(--b-navy)}
.berre-search-btn::before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:url(../icons/recherche.svg) center/contain no-repeat;mask:url(../icons/recherche.svg) center/contain no-repeat}
.berre-search-btn:hover{background:var(--b-pale)}
.berre-search-dialog{border:0;border-radius:var(--b-radius);padding:32px;width:min(92vw,720px);box-shadow:0 20px 60px rgba(9,47,91,.35);top:12vh;margin-inline:auto}
.berre-search-dialog::backdrop{background:rgba(9,47,91,.72)}
.berre-search-dialog label{display:block;font-weight:700;margin-bottom:10px;color:var(--b-navy);font-size:1.125rem}
.berre-search-close{margin-top:16px;background:none;border:0;color:var(--b-blue);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}

/* Pied de page : réseaux */
.berre-social{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.berre-social a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.55);border-radius:30px;color:#fff;text-decoration:none;font-size:.875rem}
.berre-social a:hover{background:rgba(255,255,255,.14)}
.berre-footer__base .berre-copyright+.berre-copyright{margin-top:4px}

/* Calendrier */
.berre-agenda{display:grid;grid-template-columns:minmax(0,26rem) 1fr;gap:32px;align-items:start}
.berre-cal{background:#fff;border:1px solid var(--b-border);border-radius:var(--b-radius);padding:16px;box-shadow:var(--b-shadow-soft)}
.berre-cal.is-loading{opacity:.6}
.berre-cal__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.berre-cal__title{margin:0;font-size:1.125rem;color:var(--b-navy)}
.berre-cal__nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--b-border);background:#fff;color:var(--b-navy);font-size:1.5rem;cursor:pointer;line-height:1}
.berre-cal__nav:hover{background:var(--b-pale)}
.berre-cal__grid{width:100%;border-collapse:collapse;table-layout:fixed;text-align:center}
.berre-cal__grid th{font-size:.75rem;color:var(--b-muted);padding:6px 0}
.berre-cal__grid abbr{text-decoration:none}
.berre-cal__grid td{padding:2px;height:44px}
.berre-cal__grid td>span,.berre-cal__day{display:grid;place-items:center;width:100%;height:42px;border-radius:10px;font:inherit;font-size:.9375rem}
.berre-cal__grid .is-today>span,.berre-cal__grid .is-today>button{outline:2px solid var(--b-blue);outline-offset:-2px}
.berre-cal__day{border:0;background:var(--b-blue);color:#fff;font-weight:700;cursor:pointer}
.berre-cal__day:hover{background:var(--b-blue-dark)}
.berre-cal__dialog{border:0;border-radius:var(--b-radius);padding:24px;width:min(92vw,460px);box-shadow:0 20px 60px rgba(9,47,91,.35)}
.berre-cal__dialog::backdrop{background:rgba(9,47,91,.6)}
.berre-cal__dialog h4{margin:0 0 12px;text-transform:capitalize;color:var(--b-navy)}
.berre-cal__list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px}
.berre-cal__list li{display:grid;gap:2px;border-left:4px solid var(--b-blue);padding-left:12px}
.berre-cal__gcal{font-size:.875rem}
.berre-events{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
.berre-events .berre-card{padding:14px 18px}
.berre-events h4{margin:.25rem 0}

@media (max-width:900px){
	.berre-commune.has-image,.berre-agenda{grid-template-columns:1fr}
	.berre-hero__in{padding-block:2.5rem}
}
@media (max-width:600px){
	.berre-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.berre-card--quick{padding:14px}
	.berre-card--quick h3{font-size:1rem;overflow-wrap:anywhere}
	.berre-card--quick .berre-muted{font-size:.8125rem}
}

/* En-tête : une seule ligne, bouton contact discret */
.berre-header__in{flex-wrap:nowrap!important;gap:16px}
.berre-brand{flex:0 1 auto;min-width:0}
.berre-brand .wp-block-site-title{white-space:nowrap}
.berre-header__tools{flex:0 0 auto;flex-wrap:nowrap!important;align-items:center;gap:6px}
.berre-header__tools .berre-header__cta{padding:.5rem .95rem;font-size:.875rem;min-height:40px;white-space:nowrap}
@media(max-width:1399px){.berre-brand .wp-block-site-tagline{display:none}.berre-header__tools .berre-header__cta{display:none}}

/* Logo dans le bandeau supérieur (remplace le texte), en-tête réduit au menu */
.berre-topbar{padding-block:8px}
.berre-topbar__logo a{display:inline-flex;background:#fff;border-radius:8px;padding:4px 10px}
.berre-topbar__logo img{display:block;height:46px;width:auto;max-width:220px;object-fit:contain}
.berre-topbar__row{align-items:center}
.berre-header__in{justify-content:space-between}
@media(max-width:1199px){.berre-nav{margin-left:0;flex:0 0 auto}.berre-header__in{justify-content:space-between}}

/* En-tête : jamais de chevauchement entre le menu, la loupe et le bouton */
.berre-header__tools{margin-left:auto}
@media(max-width:1599px){.berre-header__tools .berre-header__cta{display:none}}

/* =====================================================================
   En-tête unique : barre bleu nuit (logo, menu blanc, recherche, contact)
   ===================================================================== */
.berre-header{background:var(--b-navy);border-bottom:0;box-shadow:0 3px 14px rgba(9,47,91,.25);color:#fff}
.berre-header__in{min-height:84px}
.berre-header.is-compact .berre-header__in{min-height:64px}
.berre-topbar__logo img{height:50px;transition:height 180ms}
.berre-header.is-compact .berre-topbar__logo img{height:38px}
.berre-sitename{color:#fff;font-weight:800;font-size:1.25rem;text-decoration:none}
.berre-header :where(a,button):focus-visible{outline-color:#fff}
.berre-search-btn{color:#fff}
.berre-search-btn:hover{background:rgba(255,255,255,.14)}
.berre-header .berre-header__cta{background:#fff;color:var(--b-navy);border-color:#fff}
.berre-header .berre-header__cta:hover{background:var(--b-pale);color:var(--b-navy)}

/* Menu burger : sous-menus repliés, dépliables avec la flèche */

/* Survol : texte bleu clair (lisible sur le bleu nuit) ; flèches de sous-menu toujours visibles */
:root{--b-hover-light:#8cc8ff}
.berre-search-btn:hover{color:var(--b-hover-light)}

/* =====================================================================
   Menu : flèches toujours visibles, survol inversé, sous-menus repliés (burger)
   ===================================================================== */
/* Flèche dessinée par le thème (toujours visible), celle du bloc masquée */
.berre-sub-toggle{display:none}

/* Survol : fond blanc, texte de la couleur de la barre (bleu nuit) */
.berre-search-btn:hover,.berre-search-btn:focus-visible{background:#fff;color:var(--b-navy)}

@media(max-width:1359px){
	/* Burger : flèche = bouton du thème à droite de chaque rubrique ; sous-menus repliés par défaut */
	/* Survol : fond blanc, texte bleu nuit */
}
@media(max-width:1359px){.berre-header .berre-nav .is-menu-open .wp-block-navigation-submenu__toggle,.berre-header .berre-nav .is-menu-open .wp-block-navigation__submenu-icon{display:none!important}}


/* =====================================================================
   Menu principal du thème (berre_menu) : barre bureau + panneau mobile
   ===================================================================== */
.berre-menu{flex:1 1 auto;display:flex;align-items:center;min-width:0}
.berre-menu__burger,.berre-menu__close{display:none}
.berre-menu__panel{display:contents}
.berre-menu__list,.berre-menu__sub{list-style:none;margin:0;padding:0}
.berre-menu__list{display:flex;align-items:center;gap:2px}
.berre-menu__item{position:relative;margin:0}
.berre-menu__row{display:flex;align-items:center;border-radius:8px;transition:background-color 140ms,color 140ms}
.berre-menu__link{display:inline-flex;align-items:center;min-height:44px;padding:10px 2px 10px 10px;color:#fff;font-weight:650;font-size:.9375rem;line-height:1.2;text-decoration:none;white-space:nowrap;background:none;border:0;font-family:inherit}
.berre-menu__item:not(.has-sub)>.berre-menu__row>.berre-menu__link{padding-right:10px}
.berre-menu__text{cursor:default}
.berre-menu__toggle{display:grid;place-items:center;min-width:26px;min-height:44px;padding:0 7px 0 2px;background:transparent;border:0;color:inherit;cursor:pointer;border-radius:8px}
.berre-menu__chev{width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform 160ms}
.berre-menu :where(a,button):focus-visible{outline:3px solid #fff;outline-offset:2px}
.berre-menu__sub{display:none;position:absolute;left:0;top:100%;min-width:280px;background:#fff;border-radius:12px;padding:8px;box-shadow:var(--b-shadow-lift);z-index:60}
.berre-menu__sub .berre-menu__link{color:var(--b-navy);white-space:normal;flex:1;padding:10px 12px;font-weight:600}
.berre-menu__sub .berre-menu__row:hover{background:var(--b-pale)}
.berre-menu__sub .berre-menu__toggle{color:var(--b-navy)}
.berre-menu__sub :where(a,button):focus-visible{outline-color:var(--b-navy)}
.berre-menu__sub .berre-menu__sub{left:100%;top:0;margin-left:4px}
.berre-menu__sub .berre-menu__chev{transform:rotate(-45deg)}
.is-current>.berre-menu__row>.berre-menu__link{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

@media(min-width:1360px){
	.berre-menu__list>.berre-menu__item:hover>.berre-menu__row,.berre-menu__list>.berre-menu__item:focus-within>.berre-menu__row,.berre-menu__list>.berre-menu__item.is-open>.berre-menu__row{background:#fff;color:var(--b-navy)}
	.berre-menu__list>.berre-menu__item:hover>.berre-menu__row>.berre-menu__link,.berre-menu__list>.berre-menu__item:focus-within>.berre-menu__row>.berre-menu__link,.berre-menu__list>.berre-menu__item.is-open>.berre-menu__row>.berre-menu__link{color:var(--b-navy)}
	.berre-menu__list>.berre-menu__item.has-sub{color:#fff}
	.berre-menu__list>.has-sub:hover>.berre-menu__row .berre-menu__chev,.berre-menu__list>.has-sub.is-open>.berre-menu__row .berre-menu__chev{transform:translateY(1px) rotate(225deg)}
	.has-sub:hover>.berre-menu__sub,.has-sub:focus-within>.berre-menu__sub,.has-sub.is-open>.berre-menu__sub{display:block}
}

@media(max-width:1359px){
	.berre-menu{flex:0 0 auto;order:3}
	.berre-header__tools{order:2;margin-left:auto}
	.berre-menu__burger{display:inline-grid;place-items:center;width:48px;height:48px;background:transparent;border:0;border-radius:8px;color:#fff;cursor:pointer}
	.berre-menu__burger:hover{background:#fff;color:var(--b-navy)}
	.berre-menu__bars,.berre-menu__bars::before,.berre-menu__bars::after{display:block;width:22px;height:2px;background:currentColor;border-radius:2px}
	.berre-menu__bars{position:relative}
	.berre-menu__bars::before,.berre-menu__bars::after{content:"";position:absolute;left:0}
	.berre-menu__bars::before{top:-7px}
	.berre-menu__bars::after{top:7px}
	.berre-menu__panel{display:none;position:fixed;inset:0;z-index:100000;background:var(--b-navy);padding:76px 20px 32px;overflow-y:auto}
	.berre-menu.is-open .berre-menu__panel{display:block}
	.berre-menu__close{display:grid;place-items:center;position:absolute;top:14px;right:14px;width:48px;height:48px;background:transparent;border:0;border-radius:8px;color:#fff;font-size:2.25rem;line-height:1;cursor:pointer}
	.berre-menu__close:hover{background:#fff;color:var(--b-navy)}
	.berre-menu__list{display:block}
	.berre-menu__row{margin-bottom:2px}
	.berre-menu__link{flex:1;font-size:1.0625rem;padding:12px;white-space:normal}
	.berre-menu__toggle{flex:0 0 48px;min-height:48px;color:#fff}
	.berre-menu__chev{width:9px;height:9px}
	.berre-menu__item.is-open>.berre-menu__row .berre-menu__chev{transform:translateY(2px) rotate(225deg)}
	.berre-menu__row:hover,.berre-menu__row:focus-within{background:#fff}
	.berre-menu__row:hover>.berre-menu__link,.berre-menu__row:hover>.berre-menu__toggle,.berre-menu__row:focus-within>.berre-menu__link,.berre-menu__row:focus-within>.berre-menu__toggle{color:var(--b-navy)}
	.berre-menu__sub,.berre-menu__sub .berre-menu__sub{position:static;display:none;min-width:0;margin:0 0 8px;padding:0 0 0 16px;background:transparent;box-shadow:none;border-radius:0}
	.berre-menu__item.is-open>.berre-menu__sub{display:block}
	.berre-menu__sub .berre-menu__link{color:#fff;font-weight:600}
	.berre-menu__sub .berre-menu__toggle{color:#fff}
	.berre-menu__sub .berre-menu__row:hover{background:#fff}
	.berre-menu__sub .berre-menu__row:hover>.berre-menu__link,.berre-menu__sub .berre-menu__row:hover>.berre-menu__toggle{color:var(--b-navy)}
	.berre-menu__sub .berre-menu__chev{transform:translateY(-2px) rotate(45deg)}
	.berre-menu :where(a,button):focus-visible{outline-color:#fff}
	html.berre-menu-locked{overflow:hidden}
}
@media(max-width:1599px){.berre-header__tools .berre-header__cta{display:none}}
.berre-menu{flex:0 0 auto}
.berre-header .berre-header__in.berre-wrap{max-width:1560px}
.berre-header__tools{margin-left:auto;flex:0 0 auto}
