/* Keep the entire search above later cards; a child's z-index cannot escape
   the isolated hero. Header (60), menus and dialogs retain their priority. */
.home-hero-reference{z-index:10;overflow:visible}
.hero-search{position:relative;z-index:4;isolation:isolate}
.hero-search:focus-within{z-index:12}
.search-options{z-index:20;background:#fff;opacity:1;backdrop-filter:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(31,31,84,.3) #fff;box-shadow:0 12px 32px #1f1f5424}
.search-options [data-search-group],.search-options button{background:#fff}
.search-options button:hover,.search-options button[aria-selected=true]{background:#f0faff}
.search-query-field{border-radius:23px}
.search-query-field:focus-within{box-shadow:inset 0 0 0 2px var(--navy)}
.hero-search .search-query-field input:focus{outline:0;box-shadow:none}
.search-options button>.brand-icon{width:30px;height:30px;flex:0 0 30px;object-fit:contain}
.search-options button{gap:14px;padding:11px 12px;min-height:53px}
.search-options [data-search-group]+[data-search-group]{padding-top:10px}
/* A national index uses regional headings, not another wall of cards. */
.national-search{max-width:850px;margin:18px 0 30px}
.national-section{scroll-margin-top:calc(var(--header-height,110px) + 24px)}
.national-regions{columns:3;column-gap:32px;margin-top:25px}
.national-region{break-inside:avoid;border-bottom:1px solid var(--line);margin:0 0 8px}
.national-region>summary{list-style:none;display:flex;align-items:center;gap:10px;position:relative;padding:17px 24px 17px 0;min-height:56px;font-size:13px;font-weight:500;cursor:pointer;line-height:1.6}
.national-region>summary::-webkit-details-marker{display:none}
.national-region>summary>span{margin-left:auto;font-size:10px;font-weight:400;color:var(--sub);white-space:nowrap}
.national-region>summary::after{content:'';position:absolute;width:7px;height:7px;right:5px;top:23px;border:solid var(--navy);border-width:0 1px 1px 0;transform:rotate(45deg)}
.national-region[open]>summary::after{transform:rotate(225deg);top:27px}
.national-region>div{padding:0 0 15px}
.national-region>div>a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 9px;font-size:12px;line-height:1.65;border-radius:8px}
.national-region>div>a:hover{background:var(--pale);text-decoration:underline;text-underline-offset:3px}
.national-region>div>a>small{color:var(--sub);font-size:10px;flex:none}
.national-region>summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:4px}
.coverage-note{font-size:12px;color:var(--sub);line-height:1.9;margin:20px 0 30px;max-width:850px}
.national-next{padding:30px 0;border-top:1px solid var(--line);margin:30px 0}
.national-next h2{font-size:24px;line-height:1.4;font-weight:500;margin-bottom:14px}
.national-next>p{max-width:860px;font-size:14px;line-height:1.9;color:var(--sub);margin:0 0 22px}
.empty-project-help{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.empty-project-help>strong{font-weight:500;display:block;font-size:16px;margin-bottom:9px}
.empty-project-help>p{font-size:13px;line-height:1.9;margin-bottom:19px}
.filters select[name=departement]{width:100%;max-width:100%;font:inherit;font-size:12px;padding:12px 9px;min-height:44px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px}
.geographic-links{display:block}
.geographic-links>.national-regions{width:100%}
.footer-local{gap:10px 20px}
.footer-local>strong{width:100%}
@media(max-width:1000px){.national-regions{columns:2;column-gap:25px}}
@media(max-width:600px){
 .national-regions{columns:1;margin-top:18px}
 .national-region>summary{font-size:14px;min-height:59px}
 .national-region>div>a{font-size:13px;min-height:46px}
 .national-next h2{font-size:22px}
 .national-next>.btn-row{align-items:flex-start}
 .filters select[name=departement]{font-size:16px}
 .search-options{max-height:min(380px,52dvh)}
 .search-options button>.brand-icon{width:28px;height:28px;flex-basis:28px}
}
