/*
Theme Name: Basse-Pointe
Theme URI: https://www.basse-pointe.fr/
Author: Projet de refonte locale
Description: Thème bloc léger et accessible pour le site communal de Basse-Pointe.
Version: 1.6.1
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: basse-pointe
*/

html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
a { text-underline-offset: .2em; }

/* Actualités : liste sobre et pages de lecture. */
.bp-news-archive{padding:clamp(3rem,6vw,6rem) max(24px,calc((100vw - 1540px)/2)) 6rem;background:linear-gradient(180deg,#f3f8fb 0,#fff 360px)}
.bp-news-archive-intro{position:relative;margin-bottom:2.5rem;padding-left:1.25rem;border-left:5px solid #128a5b}
.bp-news-archive-intro h1{margin:.25rem 0 .75rem;font-size:clamp(2.2rem,4vw,3.65rem)}
.bp-news-archive-intro>p:last-child{max-width:760px;margin:0;color:#526779;font-size:1.08rem}
.bp-news-archive-eyebrow{margin:0;color:#128a5b;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.bp-news-archive-grid{gap:1.5rem}
.bp-news-archive-grid>li{display:flex;margin:0}
.bp-news-archive-card{display:flex;width:100%;flex-direction:column;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(6,55,109,.08);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.bp-news-archive-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(6,55,109,.14)}
.bp-news-archive-image{margin:0;background:#edf3f7;overflow:hidden}
.bp-news-archive-image img{width:100%;transition:transform .3s ease}
.bp-news-archive-card:hover .bp-news-archive-image img{transform:scale(1.025)}
.bp-news-archive-card-body{display:flex;box-sizing:border-box;flex:1;flex-direction:column;padding:1.25rem 1.35rem 1.4rem}
.bp-news-archive-date{margin:0 0 .55rem;color:#128a5b;font-size:.78rem;font-weight:750;text-transform:uppercase}
.bp-news-archive-card h2{margin:0 0 .65rem;font-size:clamp(1.02rem,1.35vw,1.16rem);line-height:1.28}
.bp-news-archive-card h2 a{text-decoration:none}
.bp-news-archive-card .wp-block-post-excerpt{margin:0 0 1.1rem;color:#526273}
.bp-news-read-more,.bp-news-back-link{display:inline-flex;width:max-content;align-items:center;border:1px solid #1e6fae;border-radius:999px;color:#06376d;font-weight:750;text-decoration:none!important}
.bp-news-read-more{margin-top:auto;padding:.55rem .9rem}
.bp-news-read-more:hover,.bp-news-back-link:hover{border-color:#128a5b;background:#128a5b;color:#fff}
.bp-news-pagination{margin-top:2.5rem}
.bp-news-pagination a,.bp-news-pagination .page-numbers{padding:.55rem .8rem;border-radius:999px;text-decoration:none}
.bp-news-pagination .current{background:#06376d;color:#fff}
.bp-news-single{padding:clamp(2.5rem,5vw,5rem) max(24px,calc((100vw - 1540px)/2)) 6rem;background:linear-gradient(180deg,#f3f8fb 0,#fff 440px)}
.bp-news-single-header{width:100%;max-width:900px!important;margin-right:auto!important;margin-bottom:2rem;margin-left:auto!important;text-align:center}
.bp-news-single-header .bp-news-back-link{display:flex;margin-right:auto;margin-left:0}
.bp-news-back-link{margin-bottom:1.5rem;padding:.55rem .9rem}
.bp-news-single-date{margin:0 0 .65rem;color:#128a5b;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bp-news-single h1{max-width:1100px;margin:.25rem 0 1rem;font-size:clamp(2rem,3.7vw,3.65rem);line-height:1.08}
.bp-news-single-lead{max-width:900px;margin-right:auto;margin-left:auto;color:#465d70;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.55}
.bp-news-single-lead .wp-block-post-excerpt__more-text{display:none}
.bp-news-single-visual{display:grid;place-items:center;box-sizing:border-box;width:100%;max-width:900px!important;margin-right:auto!important;margin-bottom:2.5rem;margin-left:auto!important;padding:clamp(.75rem,2vw,1.5rem);border-radius:20px;background:#edf3f7;box-shadow:0 16px 40px rgba(6,55,109,.1);overflow:hidden}
.bp-news-single-visual img{width:100%;max-height:520px;object-fit:contain;border-radius:12px}
.bp-news-article{color:#263c50;font-size:1.06rem;line-height:1.72}
.bp-news-article h2{margin-top:2.2rem}
.bp-news-article .bp-news-back-link{margin-top:2.5rem}
@media(max-width:900px){.bp-news-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.bp-news-archive-grid{grid-template-columns:1fr!important}.bp-news-archive,.bp-news-single{padding-right:18px;padding-left:18px}.bp-news-single-visual{padding:.5rem;border-radius:14px}}
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid #f4b63f; outline-offset: 3px; }
.wp-site-blocks { overflow-x: clip; }
.bp-hero { position: relative; isolation: isolate; }
.bp-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 78% 22%, rgba(95,187,207,.35), transparent 30%), linear-gradient(120deg, #082d62 0%, #135598 58%, #16849c 100%); }
.bp-card { height: 100%; transition: transform .18s ease, box-shadow .18s ease; }
.bp-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(4,35,70,.12); }
.bp-eyebrow { letter-spacing: .12em; text-transform: uppercase; }
.bp-alert { min-height: 34px; padding: .55rem max(40px,calc((100vw - 1540px)/2)); font-size: .76rem; }
.bp-alert > .alignwide { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; max-width: 1540px; margin: auto; }
.bp-alert p { margin: 0; }
.bp-alert a { color: inherit; }
.bp-alert-message { display:flex; align-items:center; gap:.45rem; }
.bp-alert-icon { display:inline-grid; place-items:center; flex:0 0 18px; width:18px; height:18px; }
.bp-alert-icon-image { display:block; width:18px !important; height:18px !important; object-fit:contain; }
.bp-alert-icon-default { font-size:1rem; line-height:1; }
.bp-alert .bp-alert-action { display:inline-flex; align-items:center; min-height:28px; padding:.28rem .62rem; border-radius:7px; background:color-mix(in srgb,currentColor 11%,transparent); text-decoration:none; transition:background-color .16s ease,transform .16s ease; }
.bp-alert .bp-alert-action:hover { background:color-mix(in srgb,currentColor 18%,transparent); text-decoration:none; transform:translateX(2px); }
.bp-header { border-bottom: 1px solid #e5e8eb; box-shadow: 0 2px 14px rgba(6,55,109,.06); }
.bp-header > .wp-block-group { min-height: 70px; }
.bp-header .wp-block-site-logo img { width: 88px !important; height: auto !important; }
.bp-header .wp-block-navigation { font-size: 1.1rem; }
.bp-header .wp-block-navigation-item__content { padding: .55rem .68rem !important; border-radius: 7px; color: #172234; text-decoration: none; transition: background-color .16s ease,color .16s ease,transform .16s ease; }
.bp-header .wp-block-navigation-item__content:hover,.bp-header .current-menu-item > .wp-block-navigation-item__content { background: #eaf3fa; color: #06376d; transform: translateY(-1px); }
.bp-header .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 #1e6fae; }
.bp-header .wp-block-button__link { padding: .65rem .85rem; }
.bp-home-hero { min-height: 600px !important; isolation: isolate; overflow: hidden; }
.bp-home-hero .wp-block-cover__image-background { filter: brightness(1.14) saturate(1.08) contrast(1.01); }
.bp-home-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(3,27,55,.8) 0%, rgba(3,27,55,.58) 20%, rgba(3,27,55,.2) 43%, rgba(3,27,55,0) 66%) !important; opacity: 1 !important; }
.bp-home-hero::after { content: none; }
.bp-home-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.bp-home-hero h1 { margin-block: .25rem .55rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(3rem, 5vw, 4.75rem) !important; font-weight: 800; line-height: .98; letter-spacing: -.04em; text-shadow: 0 2px 18px rgba(0,0,0,.2); }
.bp-home-hero .wp-block-cover__inner-container > .wp-block-group > p { font-family: var(--wp--preset--font-family--body); font-size: clamp(1rem, 1.35vw, 1.25rem) !important; line-height: 1.4; }
.bp-home-hero .wp-block-cover__inner-container > .wp-block-group > p:first-child { margin-bottom: .3rem; font-size: clamp(.9rem, 1.1vw, 1.05rem) !important; font-weight: 600; }
.bp-home-hero .wp-block-button__link { min-width: 164px; text-align: center; box-shadow: 0 8px 20px rgba(3,27,55,.2); }
.bp-photo-credit { margin-top: .65rem !important; opacity: .78; font-size: .62rem !important; }
.bp-photo-credit a { color: inherit; }
.bp-brand-signature { line-height: 1.05; color: #172234; white-space: nowrap; }
.bp-brand-signature .bp-brand-overline { display: block; font-size: .65rem; font-weight: 650; letter-spacing: .04em; }
.bp-brand-signature .bp-brand-name { display: block; margin: .14rem 0; font-family: var(--wp--preset--font-family--display); font-size: 1.2rem; font-weight: 800; letter-spacing: -.025em; }
.bp-brand-signature .bp-brand-subline { display: block; font-size: .56rem; font-weight: 600; letter-spacing: .015em; }
.bp-dynamic-home { background: #fff; }
.bp-dynamic-home .bp-home-hero { position: relative; min-height: 600px !important; display: flex; align-items: center; overflow: hidden; background:#0b3557; color: #fff; }
.bp-hero-image,.bp-hero-video,.bp-hero-slider,.bp-hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; }
.bp-hero-image { object-fit:cover; }
.bp-hero-video { object-fit:cover; }
.bp-hero-image,.bp-hero-video { filter: brightness(1.14) saturate(1.08) contrast(1.01); }
.bp-hero-fade { position: absolute; z-index:1; inset: 0; background: linear-gradient(90deg,rgba(3,27,55,.6) 0%,rgba(3,27,55,.34) 21%,rgba(3,27,55,.08) 43%,transparent 59%); }
.bp-hero-slider { overflow: hidden; }
.bp-hero-slider { z-index:0; }
.bp-hero-slide { opacity:0; background-color:#0b3557; background-position:center; background-repeat:no-repeat; background-size:cover; transition:opacity .9s ease; }
.bp-hero-slide.is-active { z-index:1; opacity:1; }
@media (prefers-reduced-motion:reduce) { .bp-hero-slide { transition:none; } }
.bp-hero-content { position: relative; z-index: 2; width: calc(100% - 80px); max-width: 1540px; margin: auto; }
.bp-hero-kicker { margin: 0 0 .35rem; font-weight: 650; font-size: 1rem; }
.bp-dynamic-home .bp-home-hero h1 { margin: 0 0 .65rem; color: #fff; font-family: var(--wp--preset--font-family--display); font-size: clamp(3rem,5vw,4.75rem) !important; font-weight: 800; line-height: .98; letter-spacing: -.04em; }
.bp-hero-copy { margin: 0 0 1.25rem; font-size: clamp(1rem,1.35vw,1.25rem); line-height: 1.4; }
.bp-hero-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.bp-hero-buttons a,.bp-primary-link,.bp-outline-link { display: inline-block; border-radius: 5px; padding: .72rem 1.05rem; font-weight: 750; text-decoration: none; }
.bp-button-primary,.bp-primary-link { background: #1e6fae; color: #fff; }
.bp-button-secondary { background: #128a5b; color: #fff; }
.bp-dynamic-home .bp-quick-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.bp-dynamic-home .bp-quick-grid { width: calc(100% - 80px) !important; max-width: 1540px !important; margin: -52px auto 14px !important; transform: none; gap: 10px; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; }
.bp-dynamic-home .bp-quick-card { box-sizing: border-box; display: flex; min-height: 138px; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: 1rem .7rem !important; border: 1px solid rgba(6,55,109,.12) !important; border-radius: 10px; background: rgba(255,255,255,.98); box-shadow: 0 10px 26px rgba(6,55,109,.12); color: #172234; text-decoration: none; text-align: center; transition: transform .18s ease,box-shadow .18s ease; }
.bp-dynamic-home .bp-quick-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(6,55,109,.17); }
.bp-dynamic-home .bp-quick-description { font-size: .82rem; line-height:1.4; }
.bp-quick-icon-image { width: 40px !important; height: 40px !important; object-fit: contain; }
.bp-home-content { width: calc(100% - 80px); max-width: 1540px; margin: .65rem auto 0; }
.bp-home-row { display: grid; gap: .75rem; margin-bottom: .75rem; }
.bp-home-row-primary,.bp-home-row-secondary { grid-template-columns: 24fr 51fr 25fr; }
.bp-home-row > .bp-panel { min-width: 0; align-self: stretch; }
.bp-home-bento { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; align-items: stretch; }
.bp-home-bento > .bp-panel { box-sizing: border-box; min-width: 0; height: 100%; overflow: hidden; }
.bp-home-bento .bp-news-panel { grid-column: 1 / 9; grid-row: 1; }
.bp-home-bento .bp-agenda-card { grid-column: 9 / 13; grid-row: 1; min-height:0; }
.bp-home-bento .bp-info-card { grid-column: 1 / 5; grid-row: 2; }
.bp-home-bento .bp-discover { grid-column: 5 / 13; grid-row: 2; }
.bp-home-bento .bp-popular { grid-column: 1 / 7; grid-row: 3; }
.bp-home-bento .bp-documents { grid-column: 7 / 13; grid-row: 3; }
.bp-home-bento .bp-news-panel,.bp-home-bento .bp-agenda-card,.bp-home-bento .bp-info-card { display:flex; flex-direction:column; }
.bp-home-bento .bp-news-panel > .bp-outline-link,.bp-home-bento .bp-agenda-card > .bp-outline-link,.bp-home-bento .bp-info-card > .bp-outline-link { margin-top:auto; }
.bp-online-services { background:linear-gradient(145deg,#f5faff,#eaf5fb); border-color:#cfe2ef; }
.bp-online-services .bp-card-eyebrow { color:#128a5b; }
.bp-online-services h2 { margin:.3rem 0 .35rem; font-size:1.55rem !important; }
.bp-online-intro { margin:.15rem 0 .9rem; color:#526779; }
.bp-online-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(66px,1fr); flex:1; gap:.65rem; margin-bottom:.8rem; }
.bp-online-grid a { display:flex; align-items:center; gap:.65rem; min-height:66px; padding:.8rem .85rem; border:1px solid rgba(30,111,174,.14); border-radius:9px; background:rgba(255,255,255,.88); color:#06376d; font-size:.93rem; line-height:1.25; text-decoration:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.bp-online-grid a:hover { transform:translateY(-2px); border-color:#1e6fae; box-shadow:0 7px 16px rgba(6,55,109,.09); }
.bp-online-grid a > span { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; background:#e6f3ed; color:#128a5b; font-weight:800; }
.bp-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.bp-section-head > * { margin-top: 0; }
.bp-section-head > a { display:inline-flex; align-items:center; min-height:30px; padding:.36rem .75rem; border:1px solid #c8ddec; border-radius:999px; background:#eef6fb; color:#06376d; font-size:.76rem; font-weight:750; line-height:1; text-decoration:none; white-space:nowrap; transition:background-color .16s ease,color .16s ease,border-color .16s ease; }
.bp-section-head > a:hover { border-color:#1e6fae; background:#1e6fae; color:#fff; }
.bp-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.bp-home-bento .bp-news-grid { grid-template-columns: 1.4fr 1fr; grid-template-rows: repeat(2,minmax(0,1fr)) auto; height: 360px; min-height: 0; }
.bp-home-bento .bp-news-card:first-child { position:relative; grid-row:1 / 4; min-height:360px; overflow:hidden; border-radius:10px; background:#06376d; isolation:isolate; }
.bp-home-bento .bp-news-card:first-child::after { content:none; }
.bp-home-bento .bp-news-card:first-child > a:first-child { position:absolute; inset:0; }
.bp-home-bento .bp-news-card:first-child img { width:100% !important; height:100% !important; border-radius:0; }
.bp-home-bento .bp-news-card:first-child time,.bp-home-bento .bp-news-card:first-child h3,.bp-home-bento .bp-news-card:first-child p,.bp-home-bento .bp-news-card:first-child .bp-card-link { position:absolute; z-index:2; right:1.25rem; left:1.25rem; color:#fff; }
.bp-home-bento .bp-news-card:first-child time { bottom:7.5rem; opacity:.85; }
.bp-home-bento .bp-news-card:first-child h3 { bottom:4.65rem; min-height:0; margin:0; font-size:1.2rem; }
.bp-home-bento .bp-news-card:first-child h3 a { color:#fff; text-decoration:none; }
.bp-home-bento .bp-news-card:first-child p { bottom:2.2rem; min-height:0; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bp-home-bento .bp-news-card:first-child .bp-card-link { bottom:.85rem; }
.bp-home-bento .bp-news-card:not(:first-child) { box-sizing:border-box; display:grid; grid-template-columns:140px minmax(0,1fr); grid-template-rows:auto auto 1fr auto; gap:.25rem .85rem; min-height:0; padding:.65rem; overflow:hidden; border:0; border-radius:12px; background:#f3f7fa; box-shadow:0 7px 18px rgba(6,55,109,.07); }
.bp-home-bento .bp-news-card:not(:first-child) > a:first-child { grid-row:1 / 5; }
.bp-home-bento .bp-news-card:not(:first-child) img { width:140px !important; height:100% !important; min-height:0; border-radius:8px; }
.bp-home-bento .bp-news-card:not(:first-child) time,.bp-home-bento .bp-news-card:not(:first-child) h3,.bp-home-bento .bp-news-card:not(:first-child) p,.bp-home-bento .bp-news-card:not(:first-child) .bp-card-link { grid-column:2; min-height:0; margin:0; }
.bp-home-bento .bp-news-card:not(:first-child) h3 { font-size:1.08rem; line-height:1.22; }
.bp-home-bento .bp-news-card:not(:first-child) p { display:none; }
.bp-news-card img { display: block; width: 100% !important; height: 138px !important; aspect-ratio: auto !important; object-fit: cover; border-radius: 6px; }
.bp-news-card time,.bp-news-card p,.bp-news-card .bp-card-link { font-size: .82rem; }
.bp-news-card .bp-card-link { display:inline-flex; width:max-content; align-items:center; color:#1e6fae; font-weight:750; text-decoration:none !important; transition:color .16s ease,transform .16s ease; }
.bp-news-card .bp-card-link:hover { color:#128a5b; text-decoration:none !important; transform:translateX(3px); }
.bp-news-card h3 { min-height: 2.25em; margin: .35rem 0; font-size: 1rem; }
.bp-news-card h3 a { text-decoration:none; }
.bp-news-card p { min-height: 3.2em; margin-bottom: .45rem; }
.bp-event { display: grid; grid-template-columns: 3rem 1fr; gap: .7rem; padding: .85rem 0; border-bottom: 1px solid #e2e7eb; font-size: .9rem; line-height:1.45; }
.bp-event > b { color: #06376d; font-size: 1.2rem; line-height: 1; }
.bp-event > b small { display: block; font-size: .62rem; }
.bp-outline-link { box-sizing:border-box; width:auto; align-self:flex-start; margin-top:.8rem; padding:.58rem 1rem; border:1px solid #1e6fae; border-radius:999px; color:#06376d; text-align:center; }
.bp-outline-link:hover { background:#1e6fae; color:#fff; }
.bp-news-grid .bp-all-news { grid-column:2; grid-row:3; justify-self:stretch; align-self:end; margin:0 !important; padding:.5rem .75rem; }
.bp-link-list { padding-left: 1.15rem; }
.bp-link-list li { margin: .55rem 0; }
.bp-facts { margin-top: 1.25rem; padding-top: .8rem; border-top: 1px solid #e2e7eb; }
.bp-panel.bp-discover { position:relative; display:flex; align-items:stretch; min-height:330px; padding:0 !important; overflow:hidden; isolation:isolate; background-color:#fff; background-position:right center; background-repeat:no-repeat; background-size:52% 100%; color:#06376d; }
.bp-home-bento .bp-popular,.bp-home-bento .bp-documents { min-height: 250px; }
.bp-home-bento .bp-popular .bp-link-list { columns:2; column-gap:2rem; }
.bp-home-bento .bp-documents .bp-doc { box-sizing:border-box; display:inline-block; width:calc(33.333% - .55rem); margin-right:.5rem; vertical-align:top; border:1px solid #e2e7eb; border-radius:7px; padding:.8rem; }
.bp-discover::before { content:none; }
.bp-discover-content { box-sizing:border-box; position:relative; z-index:1; display:flex; width:52%; flex-direction:column; justify-content:center; padding:1.6rem 1.8rem; background:#fff; color:#06376d; }
.bp-discover-content::after { position:absolute; top:0; right:-42px; bottom:0; width:44px; background:linear-gradient(to right,#fff,rgba(255,255,255,0)); content:""; pointer-events:none; }
.bp-discover h2 { max-width:680px; margin:.3rem 0 .7rem; color:#06376d; font-size:clamp(1.65rem,2.2vw,2.25rem) !important; }
.bp-discover-content h2 { position:relative; padding-left:17px; }
.bp-discover-content h2::before { position:absolute; top:.12em; bottom:.12em; left:0; width:4px; border-radius:4px; background:linear-gradient(#1e6fae,#128a5b); content:""; }
.bp-discover-content > p { max-width:520px; margin:.15rem 0 .7rem; font-size:1rem; line-height:1.55; }
.bp-card-eyebrow { font-size:.68rem; font-weight:800; letter-spacing:.13em; color:#cfe8d8; }
.bp-discover .bp-card-eyebrow { color:#128a5b; font-size:.74rem; }
.bp-discover .bp-primary-link { margin-top:.6rem; }
.bp-discover .bp-facts { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 0; padding-top:.85rem; border-color:#dce7ef; }
.bp-discover .bp-facts span { display:flex; flex-direction:column; min-width:90px; padding:.42rem .58rem; border-left:2px solid #128a5b; }
.bp-discover .bp-facts small { color:#617487; }
.bp-home-bento .bp-news-card:first-child .bp-news-content { box-sizing:border-box; position:absolute; right:0; bottom:0; left:0; z-index:2; padding:1rem 1.25rem; background:#06376d; color:#fff; }
.bp-home-bento .bp-news-card:first-child .bp-news-content time,.bp-home-bento .bp-news-card:first-child .bp-news-content h3,.bp-home-bento .bp-news-card:first-child .bp-news-content p,.bp-home-bento .bp-news-card:first-child .bp-news-content .bp-card-link { position:static; display:block; margin:0 0 .35rem; color:#fff; }
.bp-home-bento .bp-news-card:first-child .bp-news-content h3 { min-height:0; font-size:1.35rem; line-height:1.2; }
.bp-home-bento .bp-news-card:first-child .bp-news-content p { min-height:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content { display:flex; min-width:0; flex-direction:column; grid-column:2; justify-content:center; }
.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content time,.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content h3,.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content p,.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content .bp-card-link { min-height:0; margin:0 0 .3rem; }
.bp-home-bento .bp-news-card:not(:first-child) .bp-news-content p { display:none; }
body:not(.wp-admin) .bp-homepage-editor-preview { display: contents; }
.bp-quick-grid { position: relative; z-index: 3; margin-top: 0 !important; margin-bottom: -24px !important; transform: translateY(-24px); }
.bp-quick-grid { width: calc(100% - 80px) !important; max-width: 1640px !important; margin-left: auto !important; margin-right: auto !important; }
.bp-quick-grid > .wp-block-columns { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100% !important; max-width: none !important; }
.bp-quick-card { min-height: 108px; border-right: 1px solid #e3e9ef; padding: .75rem .65rem !important; }
.bp-quick-card:last-child { border-right: 0; }
.bp-quick-card .bp-icon { margin: 0 0 .35rem; }
.bp-quick-card h3 { margin: 0 0 .3rem; font-size: 1rem !important; }
.bp-quick-card p { margin: 0; font-size: .82rem !important; line-height: 1.4; }
.bp-quick-card p.bp-icon { font-size: 1.65rem !important; color: #1e6fae; }
.bp-icon { color: #1e6fae; font-size: 1.4rem; line-height: 1; }
.bp-panel { height: 100%; border: 1px solid #e1e7ec; border-radius: 7px; box-shadow: 0 5px 18px rgba(6,55,109,.045); }
.bp-panel:not(.bp-quick-grid) { padding: 1.1rem !important; }
.bp-panel h2 { font-size: 1.3rem !important; margin-bottom: .85rem; }
.bp-panel p, .bp-panel li { font-size: 1rem; line-height:1.5; }
.bp-panel .wp-block-post-title { font-size: .85rem !important; }
.bp-panel .wp-block-post-excerpt { font-size: .73rem; }
.bp-panel .wp-block-button__link { font-size: .75rem; padding: .55rem .72rem; }
.bp-panel .wp-block-post-featured-image { margin-bottom: .55rem; }
.bp-status { display: inline-block; padding: .25rem .7rem; border-radius: 99px; background: #e6f5ed; color: #087844; font-size: .82rem; font-weight: 750; }
.bp-date { min-width: 3.2rem; color: #06376d; font-weight: 800; line-height: 1; text-align: center; }
.bp-doc { border-bottom: 1px solid #e2e7eb; padding-bottom: .8rem; }
.bp-doc:last-child { border-bottom: 0; padding-bottom: 0; }
.bp-footer-note { border-top: 1px solid rgba(6,55,109,.12); }
.bp-footer-main { border-top:1px solid rgba(6,55,109,.08); }
.bp-footer-columns { gap:0; }
.bp-footer-columns > .wp-block-column { box-sizing:border-box; padding:0 1.5rem; }
.bp-footer-columns > .wp-block-column:first-child { padding-left:0; }
.bp-footer-columns > .wp-block-column + .wp-block-column { border-left:1px solid rgba(6,55,109,.12); }
.bp-footer-columns h2 { margin-bottom:.85rem; color:#06376d; font-size:1rem !important; }
.bp-footer-columns ul { margin:0; padding:0; list-style:none; }
.bp-footer-columns li { margin:.38rem 0; color:#34485b; }
.bp-footer-columns > .wp-block-column:nth-child(2) .bp-footer-menu,
.bp-footer-columns > .wp-block-column:nth-child(3) .bp-footer-menu { font-size:.84rem; line-height:1.48; }
.bp-footer-menu a { color:#34485b; text-decoration:none; transition:color .16s ease; }
.bp-footer-menu a:hover { color:#06376d; text-decoration:underline; }
.bp-footer-identity .wp-block-site-logo { margin-bottom:.85rem; }
.bp-footer-identity .wp-block-site-logo img { width:118px !important; height:auto !important; }
.bp-footer-logo { display:block; width:132px; height:auto; margin:0 0 .85rem; }
.bp-footer-identity p { line-height:1.6; }
.bp-footer-contact-details { color:#34485b; font-size:.82rem; line-height:1.48; }
.bp-footer-contact-details { margin-top:.38rem; }
.bp-footer-contact-details p { margin:0 0 .9rem; }
.bp-footer-contact-details p > span { display:block; }
.bp-footer-hours span { display:block; }
.bp-footer-hours span + span { margin-top:.45rem; }
.bp-footer-social { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.bp-footer-social a { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#06376d; color:#fff; text-decoration:none; transition:transform .16s ease,background-color .16s ease; }
.bp-footer-social a:hover { transform:translateY(-2px); background:#1e6fae; }
.bp-footer-social svg { width:21px; height:21px; fill:currentColor; }
.bp-footer-note p { color:#536474; }
.bp-footer-legal { display:flex; flex-wrap:wrap; gap:.35rem; color:#536474; font-size:.78rem; }
.bp-footer-legal a,.bp-footer-copyright a { color:inherit; text-decoration:none; }
.bp-footer-legal a:hover { color:#06376d; text-decoration:none; }
.bp-footer-copyright { margin:0; color:#536474; font-size:.78rem; }
.home main, .home .wp-block-post-content { gap: 0 !important; }
.home .wp-block-post-content > * + * { margin-block-start: 0 !important; }
.home .wp-block-post-content > .wp-block-group { padding-top: .65rem !important; padding-bottom: 1rem !important; }
.home .wp-block-post-content > .wp-block-group > .wp-block-columns.alignwide { width: calc(100% - 80px) !important; max-width: 1640px !important; }
.home main > .wp-block-group > .wp-block-columns { gap: .75rem; }
.home .wp-block-columns { gap: .75rem; }
.home .wp-block-query .wp-block-post-template { gap: .75rem; }
.home footer { font-size: .84rem; }
.home footer > .wp-block-group { padding-top: 2rem !important; }

/* Direction artistique — identité Basse-Pointe */
.bp-header { position:relative; z-index:20; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.bp-header > .wp-block-group { min-height:84px; }
.bp-header .wp-block-navigation__container > .wp-block-navigation-item:last-child { display:none; }
.bp-header .wp-block-navigation-item__content { position:relative; background:transparent !important; }
.bp-header .wp-block-navigation-item__content::before { position:absolute; right:.7rem; bottom:.3rem; left:.7rem; height:2px; border-radius:2px; background:linear-gradient(90deg,#1e6fae,#128a5b); content:""; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.bp-header .wp-block-navigation-item__content:hover::before,.bp-header .current-menu-item > .wp-block-navigation-item__content::before { transform:scaleX(1); }
.bp-header .wp-block-navigation-item__content:hover,.bp-header .current-menu-item > .wp-block-navigation-item__content { box-shadow:none; transform:none; }
.bp-header .wp-block-button__link { border-radius:999px; box-shadow:0 7px 20px rgba(30,111,174,.2); transition:transform .18s ease,box-shadow .18s ease; }
.bp-header .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 11px 26px rgba(30,111,174,.28); }

.bp-dynamic-home { position:relative; background:linear-gradient(180deg,#f7fbfd 0,#fff 35%,#f8f6ef 100%); }
.bp-dynamic-home .bp-home-hero::before { position:absolute; z-index:1; top:-190px; right:-130px; width:610px; height:610px; border:1px solid rgba(244,182,63,.48); border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 22px,rgba(244,182,63,.24) 23px 24px); content:""; pointer-events:none; transform:rotate(-13deg); }
.bp-dynamic-home .bp-home-hero::after { position:absolute; z-index:1; right:-3%; bottom:-95px; width:440px; height:260px; border-radius:60% 0 0 0; background:radial-gradient(ellipse at bottom right,rgba(18,138,91,.55),rgba(18,138,91,.08) 55%,transparent 56%); content:""; pointer-events:none; }
.bp-hero-image,.bp-hero-video { transform:scale(1.015); animation:bpHeroReveal 1.2s cubic-bezier(.2,.7,.2,1) both; }
.bp-hero-fade { background:linear-gradient(90deg,rgba(3,27,55,.6) 0%,rgba(3,27,55,.34) 21%,rgba(3,27,55,.08) 43%,transparent 59%); }
.bp-hero-content { animation:bpHeroContent .8s .12s cubic-bezier(.2,.7,.2,1) both; }
.bp-hero-kicker { display:inline-flex; align-items:center; gap:.65rem; margin-bottom:.55rem; letter-spacing:.02em; }
.bp-hero-kicker::before { width:34px; height:3px; border-radius:3px; background:#f4b63f; content:""; }
.bp-dynamic-home .bp-home-hero h1 { max-width:720px; font-size:clamp(3.6rem,6vw,5.6rem) !important; text-shadow:0 6px 30px rgba(2,19,38,.34); }
.bp-hero-copy { max-width:560px; font-size:clamp(1.08rem,1.5vw,1.35rem); }
.bp-hero-buttons { gap:.85rem; }
.bp-hero-buttons a,.bp-primary-link { position:relative; overflow:hidden; border-radius:999px; padding:.82rem 1.3rem; box-shadow:0 10px 25px rgba(3,27,55,.2); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.bp-hero-buttons a:hover,.bp-primary-link:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(3,27,55,.28); filter:brightness(1.06); }
@keyframes bpHeroReveal { from{opacity:.35;transform:scale(1.08)} to{opacity:1;transform:scale(1.015)} }
@keyframes bpHeroContent { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }

.bp-dynamic-home .bp-quick-grid { z-index:5; margin-top:-64px !important; gap:14px; }
.bp-dynamic-home .bp-quick-card { --bp-accent:#29388f; position:relative; min-height:154px; overflow:hidden; border:1px solid color-mix(in srgb,var(--bp-accent) 13%,#dfe8ee) !important; border-radius:18px; background:rgba(255,255,255,.98); box-shadow:0 16px 38px rgba(6,55,109,.13); transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease; }
.bp-dynamic-home .bp-quick-card::before { position:absolute; top:0; right:24%; left:24%; height:3px; border-radius:0 0 5px 5px; background:var(--bp-accent); content:""; }
.bp-dynamic-home .bp-quick-card::after { position:absolute; top:-42px; right:-42px; width:94px; height:94px; border-radius:50%; background:color-mix(in srgb,var(--bp-accent) 11%,transparent); content:""; transition:transform .22s ease; }
.bp-dynamic-home .bp-quick-card:nth-child(2) { --bp-accent:#079447; }
.bp-dynamic-home .bp-quick-card:nth-child(3) { --bp-accent:#28a8cf; }
.bp-dynamic-home .bp-quick-card:nth-child(4) { --bp-accent:#c99d00; }
.bp-dynamic-home .bp-quick-card:nth-child(5) { --bp-accent:#785238; }
.bp-dynamic-home .bp-quick-card:nth-child(6) { --bp-accent:#087d69; }
.bp-dynamic-home .bp-quick-card:hover { transform:translateY(-9px); box-shadow:0 24px 48px rgba(6,55,109,.2); }
.bp-dynamic-home .bp-quick-card:hover::after { transform:scale(1.25); }
.bp-dynamic-home .bp-quick-card .bp-icon,.bp-dynamic-home .bp-quick-card .bp-quick-icon-image { box-sizing:border-box; display:grid; place-items:center; width:58px !important; height:58px !important; margin-bottom:.35rem; padding:11px; border:1px solid color-mix(in srgb,var(--bp-accent) 17%,white); border-radius:18px; background:color-mix(in srgb,var(--bp-accent) 9%,white); color:var(--bp-accent); object-fit:contain; box-shadow:inset 0 0 0 4px rgba(255,255,255,.58); }
.bp-dynamic-home .bp-quick-card .bp-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.bp-dynamic-home .bp-quick-card strong { color:#06376d; font-family:var(--wp--preset--font-family--display); font-size:1.05rem; }
.bp-dynamic-home .bp-quick-description { color:#586b7c; }

.bp-home-content { position:relative; margin-top:1.7rem; padding-bottom:2.5rem; }
.bp-home-content::before { position:absolute; z-index:0; top:28%; left:-160px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(18,138,91,.08),transparent 68%); content:""; pointer-events:none; }
.bp-home-bento { position:relative; z-index:1; gap:1.25rem; }
.bp-home-bento > .bp-panel { border:0; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(6,55,109,.08); transition:transform .2s ease,box-shadow .2s ease; }
.bp-home-bento > .bp-panel:hover { transform:translateY(-3px); box-shadow:0 20px 46px rgba(6,55,109,.12); }
.bp-section-head h2,.bp-panel > h2 { position:relative; padding-left:17px; color:#06376d; }
.bp-section-head h2::before,.bp-panel > h2::before { position:absolute; top:.12em; bottom:.12em; left:0; width:4px; border-radius:4px; background:linear-gradient(#1e6fae,#128a5b); content:""; }
.bp-home-bento .bp-news-card:first-child { border-radius:16px; box-shadow:0 12px 28px rgba(3,27,55,.15); }
.bp-home-bento .bp-news-card:first-child .bp-news-content { background:linear-gradient(135deg,#06376d,#0b4e7e); }
.bp-home-bento .bp-news-card:not(:first-child) { border:0; border-radius:14px; background:#f3f7fa; transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease; }
.bp-home-bento .bp-news-card:not(:first-child):hover { transform:translateX(4px); background:#edf3f7; box-shadow:0 10px 24px rgba(6,55,109,.11); }
.bp-agenda-card { background:linear-gradient(155deg,#fff 0%,#f4faf7 100%) !important; }
.bp-agenda-card .bp-event { flex:1;align-items:center; }
.bp-event { position:relative; grid-template-columns:58px 1fr; border-bottom-color:rgba(6,55,109,.1); }
.bp-event > b { display:grid; place-items:center; width:50px; height:50px; border-radius:15px; background:#fff3d0; color:#805b00; }
.bp-event > b small { margin-top:-12px; }
.bp-online-services { background:linear-gradient(145deg,#eef8fc,#f5fbf7) !important; }
.bp-online-grid { gap:.7rem; }
.bp-online-grid a { min-height:54px; border:0; border-radius:13px; box-shadow:0 5px 16px rgba(6,55,109,.06); }
.bp-online-grid a > span { width:32px; height:32px; flex-basis:32px; }
.bp-panel.bp-discover { border-radius:18px; box-shadow:0 16px 42px rgba(6,55,109,.13); }
.bp-discover-content { padding:2rem 2.15rem; }
.bp-discover .bp-primary-link { align-self:flex-start; }
.bp-popular .bp-link-list { list-style:none; padding:0; }
.bp-popular .bp-link-list li { break-inside:avoid; }
.bp-popular .bp-link-list a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.72rem .85rem; border-radius:10px; color:#06376d; text-decoration:none; transition:background .16s ease,transform .16s ease; }
.bp-popular .bp-link-list a:hover { background:#eef6fb; transform:translateX(3px); }
.bp-home-bento .bp-documents .bp-doc { border:0; border-radius:13px; background:#f7f9fb; }
.bp-outline-link { font-weight:800; transition:background .18s ease,color .18s ease,transform .18s ease; }
.bp-outline-link:hover { transform:translateY(-2px); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .bp-card,.bp-hero-image,.bp-hero-video,.bp-hero-content { animation:none; transition:none; } }

/* Navigation éditoriale par univers */
.bp-header .bp-header-shell{display:flex;align-items:center;justify-content:space-between;gap:1.65rem;width:calc(100% - 80px);max-width:1540px;min-height:104px}.bp-header .wp-block-site-logo img{width:100px!important}.bp-header-brand{flex:0 0 auto;gap:.7rem!important}.bp-header-brand .wp-block-site-logo{flex:0 0 auto}.bp-main-navigation{position:relative;display:flex;flex:1 1 auto;align-items:center;justify-content:space-between;gap:1.45rem;min-width:0;font-family:var(--wp--preset--font-family--body);font-size:1rem}.bp-universe-ribbon{display:flex;flex:1 1 auto;align-items:stretch;max-width:900px;border:1px solid #d5e3ee;border-radius:12px;background:#f7fbfe;box-shadow:0 5px 18px rgba(6,55,109,.07);overflow:visible}.bp-universe-item{position:relative;display:flex;flex:1 1 0;align-items:stretch;min-width:165px;border-right:1px solid #dce7ef}.bp-universe-item:first-child{border-radius:11px 0 0 11px}.bp-universe-item:last-child{border-right:0;border-radius:0 11px 11px 0}.bp-universe-link{box-sizing:border-box;display:flex;align-items:center;gap:.8rem;min-height:75px;width:100%;padding:.8rem .9rem;color:#172234;text-decoration:none!important;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.bp-universe-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;color:#1e6fae}.bp-universe-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bp-universe-link>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.2rem}.bp-universe-link small{color:#526779;font-size:.61rem;font-weight:800;line-height:1.1;letter-spacing:.06em;white-space:nowrap}.bp-universe-link strong{font-size:.91rem;line-height:1.15;white-space:nowrap}.bp-universe-item:is(:hover,:focus-within,.is-open,.is-current)>.bp-universe-link{background:#0755a2;color:#fff;box-shadow:0 7px 20px rgba(7,85,162,.2)}.bp-universe-item:is(:hover,:focus-within,.is-open,.is-current)>.bp-universe-link .bp-universe-icon,.bp-universe-item:is(:hover,:focus-within,.is-open,.is-current)>.bp-universe-link small{color:#fff}.bp-universe-toggle{position:absolute;z-index:3;right:3px;bottom:3px;width:23px;height:23px;padding:0;border:0;background:transparent;cursor:pointer}.bp-universe-toggle:after{position:absolute;top:7px;left:7px;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;color:#526779;content:"";transform:rotate(45deg);transition:transform .18s ease}.bp-universe-item:is(:hover,:focus-within,.is-open,.is-current)>.bp-universe-toggle:after{color:#fff}.bp-universe-item.is-open>.bp-universe-toggle:after{transform:rotate(225deg) translate(-2px,-2px)}
.bp-mega-menu{position:absolute;z-index:30;top:calc(100% + 14px);left:0;width:570px;padding:13px;border:1px solid #d4e1eb;border-top:3px solid #0755a2;border-radius:12px;background:#fff;box-shadow:0 22px 55px rgba(3,27,55,.2);opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.bp-universe-item:nth-child(2) .bp-mega-menu{left:-90px}.bp-universe-item:nth-child(3) .bp-mega-menu{left:-205px}.bp-universe-item:nth-child(4) .bp-mega-menu{right:0;left:auto}.bp-universe-item:is(:hover,:focus-within,.is-open)>.bp-mega-menu{opacity:1;visibility:visible;transform:translateY(0)}.bp-mega-menu:before{position:absolute;top:-9px;left:62px;width:14px;height:14px;border-top:1px solid #0755a2;border-left:1px solid #0755a2;background:#fff;content:"";transform:rotate(45deg)}.bp-universe-item:nth-child(2) .bp-mega-menu:before{left:210px}.bp-universe-item:nth-child(3) .bp-mega-menu:before{left:415px}.bp-universe-item:nth-child(4) .bp-mega-menu:before{right:62px;left:auto}.bp-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bp-mega-link{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:54px;padding:.55rem .65rem;border-radius:8px;color:#172234;text-decoration:none!important;transition:background-color .15s ease,color .15s ease}.bp-mega-link:hover,.bp-mega-link:focus-visible{background:#edf6fc;color:#0755a2}.bp-mega-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eaf4fb;color:#0755a2;font-size:1.25rem}.bp-mega-link>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:.15rem}.bp-mega-link strong{font-size:.9rem}.bp-mega-link small{color:#607383;font-size:.7rem;line-height:1.3}.bp-mega-link>b{color:#1e6fae;font-size:1.05rem}.bp-mega-link.is-featured{grid-column:1/-1;margin-top:5px;padding:.75rem;border:1px solid #cfe0ed;background:linear-gradient(100deg,#f2f8fc,#fff)}.bp-mega-link.is-featured .bp-mega-icon{width:43px;height:43px;background:#fff;color:#128a5b;font-size:1.45rem}
.bp-nav-utilities{display:flex;align-items:center;gap:.85rem;flex:0 0 auto}.bp-nav-utilities>a:not(.bp-contact-button){position:relative;color:#172234;font-size:.82rem;font-weight:700;text-decoration:none}.bp-nav-utilities>a:not(.bp-contact-button):after{position:absolute;right:0;bottom:-5px;left:0;height:2px;border-radius:2px;background:#128a5b;content:"";transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.bp-nav-utilities>a:not(.bp-contact-button):hover:after{transform:scaleX(1)}.bp-search-toggle,.bp-mobile-menu-toggle{display:grid;place-items:center;border:1px solid #dce5ec;border-radius:50%;background:#f4f7f9;color:#172234;cursor:pointer}.bp-search-toggle{width:43px;height:43px;padding:0}.bp-search-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.bp-contact-button{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1rem;border-radius:8px;background:#0755a2;color:#fff!important;font-size:.79rem;font-weight:750;text-decoration:none!important;box-shadow:0 8px 20px rgba(7,85,162,.2)}.bp-contact-button:hover{background:#063f7a}.bp-header-search{position:absolute;z-index:35;top:calc(100% + 14px);right:0;display:flex;width:min(430px,90vw);padding:10px;border:1px solid #d5e2ec;border-radius:11px;background:#fff;box-shadow:0 18px 42px rgba(3,27,55,.2);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.16s ease}.bp-header-search.is-open{opacity:1;visibility:visible;transform:translateY(0)}.bp-header-search label{flex:1}.bp-header-search input{box-sizing:border-box;width:100%;height:43px;border:1px solid #cbd9e3;border-radius:7px 0 0 7px;padding:0 .85rem}.bp-header-search button{border:0;border-radius:0 7px 7px 0;padding:0 1rem;background:#0755a2;color:#fff;font-weight:700}.bp-mobile-menu-toggle{display:none;width:46px;height:46px;padding:11px}.bp-mobile-menu-toggle>span:not(.screen-reader-text){display:block;width:22px;height:2px;margin:2px 0;border-radius:2px;background:currentColor;transition:.18s ease}
@media(max-width:1380px){.bp-header .bp-header-shell{width:calc(100% - 40px)}.bp-brand-signature{display:none}.bp-universe-item{min-width:137px}.bp-universe-link{padding:.65rem}.bp-nav-utilities{gap:.65rem}.bp-contact-button{padding:.72rem .8rem}.bp-nav-utilities>a:not(.bp-contact-button){font-size:.76rem}}
@media(max-width:1380px){body.bp-menu-open{overflow:hidden}.bp-header .bp-header-shell{min-height:76px}.bp-header .wp-block-site-logo img{width:92px!important}.bp-mobile-menu-toggle{display:grid;margin-left:auto}.bp-main-navigation{position:fixed;z-index:1000;top:0;right:0;bottom:0;box-sizing:border-box;display:flex;width:min(90vw,430px);height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;padding:5.6rem 1.1rem 1.25rem;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1rem;background:linear-gradient(160deg,#062f60,#07558e);box-shadow:-18px 0 60px rgba(3,27,55,.35);overflow-y:auto;visibility:hidden;transform:translateX(104%);transition:transform .24s ease,visibility .24s ease}.bp-menu-open .bp-main-navigation{visibility:visible;transform:translateX(0)}.bp-menu-open .bp-mobile-menu-toggle{position:fixed;z-index:1001;top:18px;right:18px;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff}.bp-menu-open .bp-mobile-menu-toggle>span:not(.screen-reader-text):nth-child(1){transform:translateY(6px) rotate(45deg)}.bp-menu-open .bp-mobile-menu-toggle>span:not(.screen-reader-text):nth-child(2){opacity:0}.bp-menu-open .bp-mobile-menu-toggle>span:not(.screen-reader-text):nth-child(3){transform:translateY(-6px) rotate(-45deg)}.bp-universe-ribbon{display:flex;border-color:rgba(255,255,255,.16);border-radius:11px;flex-direction:column;background:rgba(255,255,255,.07);box-shadow:none;overflow:hidden}.bp-universe-item,.bp-universe-item:first-child,.bp-universe-item:last-child{display:block;min-width:0;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0}.bp-universe-item:last-child{border-bottom:0}.bp-universe-link{min-height:70px;padding:.7rem .8rem;color:#fff}.bp-universe-link small{color:#b9d8ef}.bp-universe-link strong{font-size:1rem}.bp-universe-icon{color:#d7efff}.bp-universe-item:is(:hover,:focus-within,.is-open,.is-current)>.bp-universe-link{background:rgba(255,255,255,.11);box-shadow:none}.bp-universe-toggle{top:0;right:0;bottom:auto;width:54px;height:70px}.bp-universe-toggle:after{top:29px;left:22px;color:#fff}.bp-main-navigation p:empty{display:none}.bp-mega-menu,.bp-universe-item:nth-child(n) .bp-mega-menu{position:static;display:none;box-sizing:border-box;width:auto;margin:0 .55rem .65rem;padding:7px;border:0;border-radius:9px;background:#fff;box-shadow:none;opacity:1;visibility:visible;transform:none}.bp-universe-item.is-open>.bp-mega-menu{display:block}.bp-mega-menu:before{display:none}.bp-mega-grid{grid-template-columns:1fr}.bp-mega-link.is-featured{grid-column:auto}.bp-nav-utilities{align-items:stretch;flex-wrap:wrap;gap:.55rem}.bp-nav-utilities>a:not(.bp-contact-button){display:flex;align-items:center;min-height:44px;padding:0 .8rem;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;font-size:.86rem}.bp-search-toggle{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}.bp-contact-button{flex:1;justify-content:center;background:#128a5b;font-size:.86rem}.bp-header-search{position:static;display:none;box-sizing:border-box;width:100%;opacity:1;visibility:visible;transform:none}.bp-header-search.is-open{display:flex}}
@media(max-width:1380px){.bp-header{backdrop-filter:none}}
@media (min-width:782px) and (max-width:1280px) {
  .bp-header .wp-block-buttons { display:none; }
  .bp-header .wp-block-navigation__container > .wp-block-navigation-item:last-child { display:flex; }
  .bp-header .wp-block-navigation { font-size:1rem; }
  .bp-header .wp-block-navigation-item__content { padding:.5rem !important; }
  .bp-brand-signature .bp-brand-subline { display:none; }
}
@media (max-width: 781px) {
  .bp-header { background:#fff; }
  .bp-header > .wp-block-group { box-sizing:border-box; width:calc(100% - 24px); min-height:76px; margin:auto; }
  .bp-header > .wp-block-group > .wp-block-group:first-child { min-width:0; gap:.55rem; }
  .bp-header .wp-block-site-logo { flex:0 0 62px; margin:0; }
  .bp-header .wp-block-site-logo img { display:block; width:62px !important; height:62px !important; object-fit:contain; }
  .bp-header .bp-brand-signature { min-width:0; margin:0; white-space:normal; }
  .bp-header .bp-brand-overline { display:none; }
  .bp-header .bp-brand-name { font-size:1rem; white-space:nowrap; }
  .bp-header .bp-brand-subline { max-width:150px; font-size:.48rem; line-height:1.2; }
  .bp-header .wp-block-buttons { display:none; }
  .bp-header .wp-block-navigation { margin-left:auto; }
  .bp-header .wp-block-navigation__responsive-container-open { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #d6e2eb; border-radius:50%; background:#f4f8fb; color:#06376d; }
  .bp-header .wp-block-navigation__responsive-container-open svg { width:25px; height:25px; }
  .bp-header .wp-block-navigation__responsive-container.is-menu-open { box-sizing:border-box; width:min(88vw,390px); right:0; left:auto; padding:1.25rem; background:linear-gradient(155deg,#06376d,#0c4f83) !important; color:#fff; box-shadow:-18px 0 55px rgba(3,27,55,.3); }
  .bp-header .wp-block-navigation__responsive-container-close { display:grid; place-items:center; top:1.1rem; right:1.1rem; width:44px; height:44px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; }
  .bp-header .wp-block-navigation__responsive-container-close svg { width:24px; height:24px; }
  .bp-header .wp-block-navigation__responsive-container-content { box-sizing:border-box; align-items:stretch !important; width:100%; padding-top:4.75rem !important; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items:stretch !important; width:100%; gap:0 !important; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item { width:100%; border-bottom:1px solid rgba(255,255,255,.14); }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:last-child { display:block; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { box-sizing:border-box; display:flex; justify-content:space-between; width:100%; padding:1rem .35rem !important; border-radius:0; color:#fff; font-family:var(--wp--preset--font-family--display); font-size:1.18rem; font-weight:700; text-align:left; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after { content:"→"; opacity:.55; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover,.bp-header .wp-block-navigation__responsive-container-content .current-menu-item > .wp-block-navigation-item__content { background:transparent; color:#fff; box-shadow:none; transform:none; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:last-child { margin-top:1.25rem; border:0; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:last-child .wp-block-navigation-item__content { justify-content:center; border-radius:7px; background:#128a5b; text-align:center; }
  .bp-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item:last-child .wp-block-navigation-item__content::after { margin-left:.5rem; opacity:1; }
  .bp-quick-grid { width: 100% !important; margin-top: 0 !important; margin-bottom: 0 !important; transform: none; border-radius: 0; }
  .bp-quick-grid .wp-block-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bp-quick-card { min-height: 108px; border-right: 1px solid #e3e9ef; border-bottom: 1px solid #e3e9ef; padding: 1rem .45rem !important; }
  .bp-quick-card p { font-size: .76rem !important; }
  .bp-quick-card p:not(.bp-icon) { display: none; }
  .bp-quick-card h3 { font-size: .9rem !important; }
  .bp-home-hero,.bp-dynamic-home .bp-home-hero { min-height: 540px !important; }
  .bp-hero-content,.bp-home-content { width: calc(100% - 30px); }
  .bp-dynamic-home .bp-quick-grid { width: calc(100% - 20px) !important; margin: -34px auto 18px !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .bp-dynamic-home .bp-quick-card { min-height: 118px; border-radius: 13px; padding: .75rem .4rem !important; }
  .bp-dynamic-home .bp-quick-card .bp-icon,.bp-dynamic-home .bp-quick-card .bp-quick-icon-image { width:44px !important; height:44px !important; border-radius:13px; }
  .bp-dynamic-home .bp-quick-description { display:none; }
  .bp-dynamic-home .bp-home-hero::before { top:-90px; right:-190px; width:430px; height:430px; opacity:.72; }
  .bp-dynamic-home .bp-home-hero::after { display:none; }
  .bp-dynamic-home .bp-home-hero h1 { font-size:clamp(3rem,14vw,4rem) !important; }
  .bp-hero-fade { background:linear-gradient(90deg,rgba(3,27,55,.64),rgba(3,27,55,.38) 58%,rgba(3,27,55,.12)); }
  .bp-home-bento { gap:1rem; }
  .bp-home-row-primary,.bp-home-row-secondary { grid-template-columns: 1fr; }
  .bp-news-grid { grid-template-columns: 1fr; }
  .bp-home-bento { display:flex; flex-direction:column; }
  .bp-home-bento .bp-news-panel { order:1; }
  .bp-home-bento .bp-agenda-card { order:2; }
  .bp-home-bento .bp-info-card { order:3; }
  .bp-home-bento .bp-popular { order:4; }
  .bp-home-bento .bp-discover { order:5; }
  .bp-home-bento .bp-documents { order:6; }
  .bp-home-bento .bp-news-grid { display:grid; grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  .bp-home-bento .bp-news-grid { height:auto; }
  .bp-home-bento .bp-news-card:first-child { grid-row:auto; min-height:320px; }
  .bp-home-bento .bp-news-card:not(:first-child) { grid-template-columns:96px minmax(0,1fr); }
  .bp-home-bento .bp-news-card:not(:first-child) img { width:96px !important; min-height:120px; }
  .bp-news-grid .bp-all-news { grid-column:auto; grid-row:auto; }
  .bp-panel.bp-discover { min-height:520px; align-items:flex-end; background-position:top center; background-size:100% 46%; }
  .bp-discover-content { width:100%; min-height:56%; padding:1.35rem; }
  .bp-discover-content::after { display:none; }
  .bp-footer-columns > .wp-block-column { padding:1.25rem 0; }
  .bp-footer-columns > .wp-block-column + .wp-block-column { border-left:0; border-top:1px solid rgba(6,55,109,.12); }
  .bp-home-bento .bp-popular .bp-link-list { columns:1; }
  .bp-home-bento .bp-documents .bp-doc { display:block; width:100%; margin-right:0; }
}
@media (max-width: 480px) {
  .bp-alert { font-size: .78rem; }
  .bp-header .wp-block-site-logo img { width:62px !important; }
  .bp-home-hero h1 { font-size: 2.7rem !important; }
}

/* Actualités : navigation latérale et liste inspirée de l’organisation IntraMuros. */
.bp-news-directory{align-items:flex-start;gap:clamp(2rem,4vw,4rem)}
.bp-news-sidebar{position:sticky;top:130px;padding:1.25rem;border:1px solid #dce7ee;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(6,55,109,.06)}
.bp-news-sidebar h2{margin:0 0 1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.bp-news-categories,.bp-news-categories ul{margin:0;padding:0;list-style:none}
.bp-news-categories li+li{margin-top:.45rem}
.bp-news-categories a{display:block;padding:.75rem .85rem;border-radius:8px;color:#06376d;font-weight:750;text-decoration:none}
.bp-news-categories a:hover,.bp-news-categories .current-cat>a{background:#06376d;color:#fff}
.bp-news-list{display:block;margin:0;padding:0;list-style:none}
.bp-news-list>li{margin:0;padding:0}
.bp-news-list-row{display:grid;grid-template-columns:clamp(145px,15vw,180px) minmax(0,1fr);gap:clamp(1.25rem,2.4vw,2rem);align-items:center;margin:0;padding:0 0 1.5rem;border-bottom:1px solid #d9e4eb}
.bp-news-list>li+li .bp-news-list-row{padding-top:1.5rem}
.bp-news-list-image{box-sizing:border-box;width:100%;aspect-ratio:1;margin:0;padding:.55rem;border:1px solid #dce7ee;border-radius:12px;background:#f3f7fa;overflow:hidden}
.bp-news-list-image a{display:block;width:100%;height:100%}
.bp-news-list-image img{display:block;width:100%!important;height:100%!important;aspect-ratio:1!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.bp-news-list-content{align-self:center}
.bp-news-list-content h2{margin:.25rem 0 .65rem;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.22}
.bp-news-list-content h2 a{text-decoration:none}
.bp-news-list-content .wp-block-post-excerpt{margin:0 0 .85rem;color:#526273;line-height:1.55}
.bp-news-list-content .bp-news-read-more{margin-top:0;padding:.45rem .8rem;font-size:.86rem}
@media(max-width:900px){.bp-news-directory{display:block}.bp-news-sidebar{position:static;margin-bottom:2rem}.bp-news-categories{display:flex;flex-wrap:wrap;gap:.5rem}.bp-news-categories li+li{margin-top:0}.bp-news-categories a{border:1px solid #cddde7}}
@media(max-width:640px){.bp-news-list-row{grid-template-columns:92px minmax(0,1fr);gap:1rem;align-items:start}.bp-news-list-image{padding:.3rem;border-radius:9px}.bp-news-list-content h2{margin-top:.15rem;font-size:1.05rem}.bp-news-list-content .wp-block-post-excerpt{display:none}.bp-news-list-content .bp-news-read-more{font-size:.78rem}.bp-news-list>li+li .bp-news-list-row{padding-top:1.15rem}}

/* Encart provisoire, limité aux pages Actualités jusqu’à validation du wording. */
.bp-demo-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem 1rem;align-items:center;box-sizing:border-box;width:100%;max-width:1540px;margin:0 auto 2rem;padding:1rem 1.2rem;border:1px solid #d7c58d;border-left:5px solid #c28d00;border-radius:12px;background:#fff9e8;color:#4d4126}
.bp-demo-notice-label{font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.bp-demo-notice p{margin:0;line-height:1.5}
@media(max-width:640px){.bp-demo-notice{display:block;padding:.9rem 1rem}.bp-demo-notice-label{display:block;margin-bottom:.35rem;white-space:normal}.bp-demo-notice p{font-size:.9rem}}

/* Agenda : liste éditoriale claire, proche de l'expérience IntraMuros. */
.bp-agenda-archive{background:linear-gradient(180deg,#f2f8f7 0,#fff 370px)}
.bp-agenda-archive .bp-news-archive-intro{border-left-color:#e1a900}
.bp-agenda-archive .bp-news-archive-eyebrow,.bp-agenda-single .bp-news-archive-eyebrow{color:#128a5b}
.bp-event-filters{display:flex;flex-direction:column;gap:.45rem}
.bp-event-filters a{display:block;padding:.75rem .85rem;border-radius:8px;color:#06376d;font-weight:750;text-decoration:none!important;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.bp-event-filters a:hover,.bp-event-filters a.is-current{background:#0f7f59;color:#fff;transform:translateX(2px)}
.bp-agenda-list-image{background:#f7f9f4}
.bp-agenda-list-content h2{margin:.45rem 0 .65rem}
.bp-event-meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:0;color:#526779;font-size:.9rem;font-weight:650}
.bp-event-meta-item{display:inline-flex;align-items:flex-start;gap:.38rem}
.bp-event-meta-item b{color:#128a5b;font-size:.9em}
.bp-agenda-single{background:linear-gradient(180deg,#f2f8f7 0,#fff 460px)}
.bp-agenda-single-header .bp-news-archive-eyebrow{margin:.4rem 0 .7rem}
.bp-agenda-single-header .bp-event-meta{justify-content:center;margin:1.2rem auto 1rem}
.bp-agenda-single-header .bp-event-meta-item{padding:.6rem .85rem;border:1px solid #d6e5df;border-radius:999px;background:#fff;box-shadow:0 5px 14px rgba(6,55,109,.05)}
.bp-agenda-single-visual{background:#f7f9f4}
.bp-agenda-single-visual img{max-height:620px}
.bp-agenda-article>p:first-child{font-size:1.14rem}
@media(max-width:900px){.bp-event-filters{flex-flow:row wrap}.bp-event-filters a{border:1px solid #cdded8}}
@media(max-width:640px){.bp-event-meta{display:grid;gap:.3rem;font-size:.78rem}.bp-agenda-single-header .bp-event-meta{display:flex;gap:.4rem}.bp-agenda-single-header .bp-event-meta-item{padding:.45rem .65rem}.bp-agenda-list-content .wp-block-post-excerpt{display:none}}

/* Pages institutionnelles provisoires : introduction commune et contenu administrable. */
.bp-standard-page{min-height:620px;background:linear-gradient(180deg,#f3f8fb 0,#fff 380px)}
.bp-standard-page-intro{margin-bottom:clamp(2.25rem,5vw,4rem)}
.bp-standard-page-intro h1{margin:.25rem 0 .75rem;font-size:clamp(2.2rem,4vw,3.65rem);line-height:1.08}
.bp-standard-page-eyebrow{margin:0!important}
.bp-standard-page-description{max-width:780px!important;margin:0!important;color:#526779;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.6}
.bp-standard-page-body{width:100%}
.bp-standard-page-body>.wp-block-post-content{color:#263c50;font-size:1.06rem;line-height:1.72}
.bp-page-placeholder{display:flex;gap:1rem;align-items:flex-start;box-sizing:border-box;max-width:920px;margin:0 auto;padding:1.35rem 1.5rem;border:1px solid #dce7ee;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(6,55,109,.07);color:#40576a}
.bp-page-placeholder>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#e8f5ef;color:#128a5b;font-size:1.2rem}
.bp-page-placeholder strong{display:block;margin:.1rem 0 .3rem;color:#06376d;font-size:1.12rem}
.bp-page-placeholder p{margin:0;line-height:1.55}
@media(max-width:640px){.bp-standard-page{min-height:500px}.bp-page-placeholder{padding:1.05rem;border-radius:12px}.bp-page-placeholder>span{flex-basis:36px;width:36px;height:36px}}

/* Archive Documents : prête à être alimentée depuis l’administration municipale. */
.bp-documents-archive .bp-standard-page-intro{border-left-color:#1e6fae}
.bp-documents-directory{display:grid;gap:.85rem}
.bp-document-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;border:1px solid #dce7ee;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(6,55,109,.055)}
.bp-document-icon{display:grid;place-items:center;width:50px;height:58px;border-radius:9px;background:#fff0ee;color:#c8352e;font-size:.72rem;font-weight:850;letter-spacing:.05em}
.bp-document-row-content h2{margin:.15rem 0 .3rem;color:#06376d;font-size:1.15rem;line-height:1.3}
.bp-document-row-content p{margin:.45rem 0 0;color:#526779;line-height:1.5}
.bp-document-row-content time{color:#627689;font-size:.82rem}
.bp-document-category{color:#128a5b;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.bp-document-download{margin:0;padding:.55rem .9rem;white-space:nowrap}
@media(max-width:640px){.bp-document-row{grid-template-columns:46px minmax(0,1fr);padding:1rem}.bp-document-icon{width:42px;height:50px}.bp-document-download{grid-column:2}.bp-document-row-content h2{font-size:1.02rem}}
