/* Shared header rhythm and accessible mobile disclosures. */
.site-header{position:relative;z-index:1100;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;height:128px;min-height:0;padding:12px 3.2vw;gap:26px;background:white}
.site-header .brand{display:block;flex:0 0 auto}
.site-header .brand img{display:block;width:330px;max-width:100%;height:auto}
.site-header .header-menu{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0;flex:1}
.site-header .main-nav{position:static;display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-start;gap:6px;height:auto;width:auto;flex:0 1 auto;margin:0;padding:0;overflow:visible;border:0;background:transparent}
.site-header .header-actions{display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;flex-wrap:nowrap;gap:6px;min-width:0}
.site-header .main-nav a,.site-header .header-actions>.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;min-height:44px;margin:0;padding:0 12px;border:1px solid transparent;border-radius:9px;font-size:.8125rem;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:none;transform:none}
.site-header .main-nav a{background:#f2f5ef;color:#455447}
.site-header .main-nav a.active{background:var(--green);color:white}
.site-header .main-nav a.nav-print{background:#f7eee9;color:#8c2f24}
.site-header .main-nav a.nav-print.active{background:#8c2f24;color:white}
.site-header #feedback-button{border-color:#d7e5cf}
.site-header #support-button{border-color:#e8dcd4}
.site-header #account-button{font-size:.8125rem;max-width:180px;box-shadow:none;gap:7px;padding:0 12px}
.site-header #account-button .account-label{display:block;overflow:hidden;text-overflow:ellipsis;min-width:0}
.site-header #account-button .user-symbol{flex-shrink:0;font-size:20px;line-height:1}
.site-header .support-button span{font-size:1em}
.site-header .lang-switch{display:flex;align-items:stretch;height:44px;min-height:44px;border-radius:9px;font-size:.75rem}
.site-header .lang-switch a{display:flex;align-items:center;justify-content:center;min-width:36px;height:42px;padding:0 9px;line-height:1}
.site-header .header-menu-toggle{display:none}
.menu-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:20px;height:22px;flex-shrink:0}
.menu-icon i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}
.is-open>.header-menu-toggle .menu-icon i:first-child,.is-open>.admin-menu-toggle .menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}
.is-open>.header-menu-toggle .menu-icon i:nth-child(2),.is-open>.admin-menu-toggle .menu-icon i:nth-child(2){opacity:0}
.is-open>.header-menu-toggle .menu-icon i:last-child,.is-open>.admin-menu-toggle .menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.site-header+main{padding-top:0}
@media(min-width:1281px) and (max-width:1500px){.site-header{gap:16px;padding-inline:24px}.site-header .brand img{width:clamp(280px,calc(100vw - 1020px),330px)}.site-header .header-menu{gap:10px}.site-header .main-nav a,.site-header .header-actions>.button{padding-inline:9px}}
@media(max-width:1280px){
  .site-header{height:auto;min-height:116px;padding:10px 24px;gap:16px;flex-wrap:wrap}
  .site-header .brand{flex:0 1 auto;max-width:calc(100% - 112px)}.site-header .brand img{width:300px}
  .site-header.navigation-ready .header-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #d8e2d2;border-radius:10px;background:#f2f6ed;color:#355e40;font-size:.875rem;font-weight:650}
  .site-header .header-menu{flex:0 0 100%;display:grid;justify-content:stretch;gap:16px;padding:16px 0 10px}
  .site-header.navigation-ready .header-menu{position:absolute;z-index:1;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - 126px);overflow-y:auto;padding:16px 24px 22px;background:white;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 0 18px 18px;box-shadow:0 16px 24px #233b2920}
  .site-header.navigation-ready:not(.is-open) .header-menu{display:none}
  .site-header .main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;order:0}
  .site-header .main-nav a,.site-header .header-actions>.button{height:46px;min-height:46px;font-size:.875rem;padding:0 14px;white-space:normal}
  .site-header .main-nav a{justify-content:flex-start}
  .site-header .header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;padding-top:16px;border-top:1px solid var(--border)}
  .site-header #account-button{max-width:none;font-size:.875rem}.site-header #account-button .account-label{display:block}
  .site-header .lang-switch{height:46px;min-height:46px;justify-self:start}.site-header .lang-switch a{min-width:48px;height:44px}
}
@media(max-width:480px){
  .site-header{min-height:96px;padding:10px 16px}.site-header .brand img{width:238px}
  .site-header.navigation-ready .header-menu{padding:14px 16px 18px;max-height:calc(100dvh - 106px)}
  .site-header .main-nav{grid-template-columns:1fr}
  .site-header .header-actions>.button{font-size:.8125rem;padding:0 10px;gap:6px}
  .site-header #support-button{font-size:.8125rem}.site-header #support-button span{font-size:1rem}
}
/* Administration keeps a desktop sidebar and a vertical mobile menu. */
.admin-menu-links{display:flex;flex-direction:column;gap:6px}
#admin-content .admin-workspace>.admin-tabs>.admin-menu-toggle{display:none}
@media(max-width:900px){
  #admin-content .admin-workspace>.admin-tabs>.admin-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0;padding:10px 12px;background:white;border:1px solid #d7e2ce;min-height:58px;color:#355e40}
  .admin-menu-toggle>span:first-child{display:grid;gap:4px;text-align:left}.admin-menu-toggle small{font-size:.7rem;font-weight:500;color:#71816b}.admin-menu-toggle strong{font-size:.95rem;font-weight:650}
  .admin-tabs.navigation-ready:not(.is-open) .admin-menu-links{display:none}
  .admin-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:10px}
  #admin-content .admin-workspace>.admin-tabs .admin-menu-links :is(button,a){min-width:0;margin:0;padding:12px;font-size:.85rem;line-height:1.4}
}
@media(max-width:480px){.admin-menu-links{grid-template-columns:1fr}}

.admin-menu-links a,.gallery-tabs a,#admin-personal [data-account-tab]{display:block;text-decoration:none;color:inherit}

/* mapSTL: language choice remains visible outside the mobile menu. */
.site-header>.language-choice{order:4;flex:0 0 auto;display:flex;align-items:center}
.site-header .lang-switch{position:static;inset:auto;width:auto;order:4;flex:0 0 auto;gap:0;border:2px solid #bdd0ae;border-radius:12px;height:48px;min-height:48px;background:#f3f7ed;box-shadow:0 2px 8px #203c3110}
.site-header .lang-switch a{gap:7px;min-width:62px;height:44px;padding:0 10px;font-size:.875rem;color:#35533b;background:transparent}
.site-header .lang-switch a.active{background:#315d3d;color:#fff}
.site-header .lang-switch a:hover{background:#dceccc;color:#203c31}
.site-header .lang-switch a:focus-visible{outline:3px solid #86b849;outline-offset:-3px}
.site-header .lang-switch .language-flag{display:block;width:30px;height:20px;flex:0 0 auto;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #203c3126}
.site-header .brand img{width:310px}
@media(min-width:1281px){.site-header{gap:18px}.site-header .brand img{width:clamp(235px,20vw,310px)}.site-header .header-menu{gap:8px}.site-header .main-nav a,.site-header .header-actions>.button{padding-inline:9px}}
@media(max-width:1280px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;min-height:100px;padding:10px 24px}
 .site-header .brand{grid-column:1;grid-row:1/3;width:100%;min-width:0;max-width:100%;justify-self:start}.site-header .brand img{width:290px}
 .site-header>.language-choice{grid-column:2;grid-row:1;justify-self:end}
 .site-header.navigation-ready .header-menu-toggle{grid-column:2;grid-row:2;justify-self:end;min-height:36px;padding:6px 12px;font-size:.8125rem}
 .site-header .header-menu{grid-column:1/-1}.site-header.navigation-ready .header-menu{max-height:calc(100dvh - 112px)}
}
@media(max-width:480px){
 .site-header{padding:10px 12px;gap:6px 8px}.site-header .brand img{width:100%;max-width:245px}
 .site-header .lang-switch a{min-width:49px;padding:0 6px;gap:4px;font-size:.8125rem}
 .site-header .lang-switch .language-flag{width:24px;height:16px}
 .site-header.navigation-ready .header-menu{padding:14px 16px 18px}
}

@media(max-width:1280px){.site-header.navigation-ready>.brand{max-width:100%;width:100%}.site-header .lang-switch{position:static;inset:auto;width:auto;flex-wrap:nowrap}}
