/*
Theme Name: PN Native Header
Template: generatepress
Version: 1.0.0
Description: GeneratePress child theme with native navigation and translated language links.
Text Domain: pn-native-header
*/
.pn-hard-menu { width:100%; color:#fff; }
.pn-hard-menu *, .pn-header-languages * { box-sizing:border-box; }
#site-navigation .menu-toggle, #mobile-header .menu-toggle { display:none!important; }
.pn-menu-shell { position:relative; width:100%; }
.pn-menu-toggle { display:none; }
.pn-hard-menu ul { list-style:none!important; margin:0!important; padding:0!important; position:static!important; opacity:1!important; visibility:visible!important; pointer-events:auto!important; height:auto!important; left:auto!important; width:auto!important; box-shadow:none!important; background:transparent!important; }
.pn-menu-shell > .pn-top-list { display:flex!important; flex-wrap:wrap; justify-content:center; width:100%; }
.pn-hard-menu .pn-top-list > li { float:none!important; position:static; }
.pn-hard-menu a, .pn-hard-menu summary { color:inherit; font:inherit; line-height:1.5!important; text-decoration:none; cursor:pointer; }
.pn-hard-menu summary { display:flex; gap:10px; align-items:center; justify-content:space-between; list-style:none; }
.pn-hard-menu summary::-webkit-details-marker, .pn-language-picker summary::-webkit-details-marker { display:none; }
.pn-section > summary::after { content:'▾'; font-size:12px; }
.pn-section[open] > summary::after { content:'▴'; }
.pn-hard-menu .pn-top-list > li > a, .pn-top-list > li > .pn-section > summary { display:flex; padding:17px 20px; min-height:54px; }
.pn-hard-menu a:hover, .pn-hard-menu summary:hover { background:#ffffff18; }
.pn-hard-menu a:focus-visible, .pn-hard-menu summary:focus-visible, .pn-language-picker a:focus-visible, .pn-language-picker summary:focus-visible { outline:3px solid #e4b95b; outline-offset:-3px; }
.pn-top-list > li > .pn-section > .pn-panel { position:absolute; z-index:10010; top:100%; left:0; width:100%; max-height:68vh; overflow:auto; padding:18px; background:#fff; color:#303030; border:1px solid #eee; box-shadow:0 8px 22px #0002; }
.pn-hard-menu .pn-section-home { display:block; font-weight:600; padding:9px 12px; border-bottom:1px solid #eee; margin-bottom:8px; }
.pn-hard-menu .pn-panel > .pn-sub-list { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 18px; }
.pn-hard-menu .pn-sub-list > li { float:none!important; width:auto!important; }
.pn-hard-menu .pn-sub-list a, .pn-hard-menu .pn-sub-list summary, .pn-hard-menu .pn-group-label { display:flex; padding:9px 12px; overflow-wrap:anywhere; }
.pn-hard-menu .pn-sub-list .pn-panel { padding:0 0 6px 12px; }
.pn-hard-menu .pn-sub-list .pn-panel > .pn-sub-list { display:block!important; }
.pn-hard-menu .pn-panel a:hover, .pn-hard-menu .pn-panel summary:hover { background:#f4f4f4; color:#202020; }
.pn-header-languages { position:relative; z-index:10020; background:#fafafa; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.pn-header-languages > .grid-container { display:flex; justify-content:flex-end; padding:7px 20px; }
.pn-language-picker { position:relative; font-size:15px; line-height:1.4; color:#303030; }
.pn-language-picker > summary { display:flex; align-items:center; gap:9px; list-style:none; cursor:pointer; min-height:38px; padding:6px 12px; border:1px solid #ddd; border-radius:6px; background:#fff; }
.pn-language-flag { width:24px!important; height:16px!important; object-fit:cover; flex-shrink:0; border:1px solid #ddd; }
.pn-language-list { position:absolute; z-index:10030; top:calc(100% + 5px); right:0; min-width:230px; max-height:60vh; overflow:auto; padding:6px!important; margin:0!important; list-style:none; border:1px solid #ddd; border-radius:6px; background:white; box-shadow:0 8px 22px #0002; }
.pn-language-list a { display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 12px; color:#303030; text-decoration:none; }
.pn-language-list a:hover, .pn-language-list a[aria-current] { background:#f0f0f0; }
@media(max-width:768px) {
 .pn-header-languages > .grid-container { padding:7px 12px; }
 .pn-menu-toggle { display:flex; padding:14px 18px; min-height:48px; width:100%; background:transparent; color:inherit; border:0; text-align:left; font:inherit; }
 .pn-hard-menu.pn-enhanced:not(.pn-open) .pn-top-list { display:none!important; }
 .pn-hard-menu.pn-open .pn-top-list, .pn-hard-menu:not(.pn-enhanced) .pn-top-list { display:block!important; }
 .pn-hard-menu .pn-top-list > li { display:block; width:100%; }
 .pn-hard-menu .pn-top-list > li > a, .pn-top-list > li > .pn-section > summary { padding:13px 18px; min-height:48px; }
 .pn-top-list > li > .pn-section > .pn-panel { position:static; max-height:none; padding:12px; box-shadow:none; }
 .pn-hard-menu .pn-panel > .pn-sub-list { display:block!important; }
 .pn-hard-menu .pn-sub-list .pn-panel { padding-left:6px; }
 .pn-language-list { min-width:220px; max-width:calc(100vw - 24px); }
}

/* Explicit colours also work when the parent navigation is transparent. */
#site-navigation { background:#242424!important; }
.pn-language-flag-html { display:inline-flex; flex-shrink:0; }
.pn-language-flag-html img { width:24px!important; height:16px!important; object-fit:cover; }

.pn-hard-menu ul { float:none!important; width:100%!important; }
