/* Shared public and editor preview rules. */
.site-header{background:var(--header-bg)!important;color:var(--header-color)!important;border-bottom:1px solid var(--header-border);backdrop-filter:none}
.site-header .nav-inner.wrap{width:min(var(--header-max,1600px),calc(100% - 40px));padding-block:var(--header-padding,12px);gap:16px;min-height:76px}
.site-header .brand{color:var(--header-color);flex-shrink:0}.parish-logo{display:inline-flex;flex:0 0 auto;width:var(--logo-size,52px);height:var(--logo-size,52px);background:var(--logo-bg,#fff);border-radius:var(--logo-radius,50%);padding:var(--logo-padding,4px);box-sizing:border-box;overflow:hidden;box-shadow:0 0 0 1px #7b8e7f40}
.site-header .brand .parish-logo img,.footer-brand .parish-logo img{display:block;filter:none!important;opacity:1!important;width:100%;height:100%;margin:0;object-fit:var(--logo-fit,contain);object-position:center;aspect-ratio:1;border-radius:0;background:transparent}
.parish-logo .parish-logo-dark{display:none!important}html[data-theme=dark] .parish-logo .parish-logo-dark{display:block!important}html[data-theme=dark] .parish-logo .parish-logo-light{display:none!important}.footer-parish-logo{--logo-size:80px;--logo-bg:#fff;--logo-fit:contain;--logo-padding:6px;margin-bottom:16px}
.site-header .header-actions{gap:var(--header-gap,6px);justify-content:var(--actions-align,flex-end);flex-wrap:wrap;display:flex;margin-left:auto}
.site-header .header-actions [data-header-button]{width:var(--hb-size,44px);height:var(--hb-size,44px);min-width:var(--hb-size,44px);min-height:var(--hb-size,44px);flex:0 0 auto;display:inline-flex;justify-content:center;align-items:center;gap:7px;background:var(--hb-bg)!important;color:var(--hb-color)!important;border:var(--hb-border-width,1px) solid var(--hb-border)!important;border-radius:var(--hb-radius,50%);box-shadow:0 3px var(--hb-shadow,0px) #0003;text-decoration:none;transition:background .18s,color .18s;overflow:visible}
.site-header .header-actions [data-header-button]:has(.header-label){width:auto;padding-inline:12px;min-width:var(--hb-size);border-radius:min(var(--hb-radius),24px)}
.site-header .header-actions [data-header-button]:hover{background:var(--hb-hover-bg)!important;color:var(--hb-hover-color)!important;border-color:var(--hb-hover-border)!important;box-shadow:0 3px var(--hb-shadow,0px) #0003}
.site-header [data-header-button]:focus-visible,.site-header #main-menu :is(a,button):focus-visible{outline:3px solid currentColor;outline-offset:3px}
.site-header .header-actions [data-header-button] svg{width:var(--hb-icon,20px);height:var(--hb-icon,20px);flex:0 0 auto}.site-header .header-actions .header-label{display:inline!important;font-size:12px;font-weight:600;white-space:nowrap}.header-symbol{font-size:var(--hb-icon,20px)}.site-header .menu-button>span:not(.header-label){background:currentColor;flex-shrink:0}
.site-header #main-menu{background:var(--menu-bg)!important;color:var(--menu-color)!important;gap:var(--menu-gap,8px);height:auto;align-items:center;z-index:20;min-width:0}
.site-header #main-menu a{display:flex;flex-direction:column;padding:var(--menu-padding,12px);margin:0;border-radius:var(--menu-radius,12px);font-size:var(--menu-size,15px);font-weight:var(--menu-weight,600);color:var(--menu-color);line-height:1.4;text-decoration:none;border:1px solid transparent;overflow-wrap:anywhere;white-space:normal}.site-header #main-menu a:hover,.site-header #main-menu a[aria-current=page]{background:var(--menu-hover-bg);color:var(--menu-hover-color);border-color:var(--menu-hover-border)}
.site-header #main-menu a small{font-size:11px;font-weight:400;max-width:230px}.nav-group{position:relative;display:flex;align-items:center;flex-wrap:wrap;min-width:0}.nav-sub-toggle{background:transparent;border:0;color:var(--menu-color);padding:8px;min-width:36px;min-height:36px;cursor:pointer}.nav-sub{display:none;position:absolute;top:100%;right:0;min-width:200px;max-width:100%;padding:8px;background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:var(--menu-radius);box-shadow:0 12px 30px #0002;z-index:21}.nav-group.sub-open>.nav-sub{display:grid}.site-header #main-menu .nav-group .nav-custom-link{flex:1}.site-header #main-menu .nav-sub .nav-custom-link{width:100%}
@media(min-width:761px){.site-header #main-menu .hide-desktop{display:none!important}}
@media(max-width:760px){.site-header .nav-inner.wrap{width:calc(100% - 28px);flex-wrap:wrap}.site-header .brand{flex:1 1 100%}.parish-logo{width:var(--logo-mobile,44px);height:var(--logo-mobile,44px)}.site-header .header-actions{width:100%;max-width:100%;display:flex!important;flex-wrap:wrap;gap:var(--header-gap,4px)!important;justify-content:var(--actions-align,flex-end);margin:0}.site-header #main-menu .hide-mobile{display:none!important}.footer-parish-logo{width:80px;height:80px}}
@media(max-width:480px){.site-header #main-menu.open{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.site-header .header-actions [data-header-button]{transition:none}}

.site-header .brand .parish-logo img[data-logo-original],.footer-brand .parish-logo img[data-logo-original]{object-fit:cover!important}
/* v1.17: separate navigation band; never wrap desktop main entries. */
.site-header .nav-inner.wrap{display:flex;flex-wrap:wrap;justify-content:space-between}.site-header .header-actions{flex-wrap:wrap}
.site-header #main-menu.wrap{width:min(var(--header-max,1600px),calc(100% - 40px));margin-inline:auto;background:transparent!important;min-height:0}
.site-header #main-menu>.nav-device{align-items:center;gap:var(--menu-gap,8px);width:100%;justify-content:inherit;min-width:0}
.site-header #main-menu .nav-desktop{display:flex;flex-wrap:nowrap;padding:0 0 10px}.site-header #main-menu .nav-mobile{display:none}
.site-header #main-menu .nav-device>a,.site-header #main-menu .nav-group{flex:0 0 auto}
.site-header #main-menu a{white-space:nowrap;overflow-wrap:normal;padding:10px var(--menu-padding,12px)}
.site-header #main-menu>.nav-device>a>small,.site-header #main-menu .nav-group>a>small{display:none}
.site-header #main-menu .nav-group{flex-wrap:nowrap}.site-header #main-menu .nav-group>a{padding-right:4px}
.site-header #main-menu .nav-sub{right:auto;left:0;min-width:240px;max-width:min(400px,calc(100vw - 40px))}
.site-header #main-menu .nav-sub a{white-space:normal}.site-header #main-menu .nav-sub small{display:block}
.site-header.nav-collapsed #main-menu{display:none!important;position:absolute!important;top:100%;right:20px;left:auto;width:min(var(--menu-width),calc(100% - 40px));margin:0;padding:16px;background:var(--menu-bg)!important;border:1px solid var(--menu-border);border-radius:16px;max-height:75dvh;overflow:auto;box-shadow:0 20px 40px #0003}
.site-header.nav-collapsed #main-menu.open{display:block!important}.site-header.nav-collapsed #main-menu .nav-desktop{display:grid;grid-template-columns:repeat(var(--menu-columns),minmax(0,1fr));padding:0}
.site-header.nav-collapsed #main-menu .nav-device>a,.site-header.nav-collapsed #main-menu .nav-group{min-width:0}.site-header.nav-collapsed #main-menu a{white-space:normal}
.site-header.nav-collapsed .nav-group{flex-wrap:wrap!important}.site-header.nav-collapsed .nav-sub{position:static;max-width:none;width:100%;box-shadow:none}
.site-header.nav-collapsed [data-header-button=menu]{display:flex!important}.site-header:not(.nav-collapsed) [data-header-button=menu]{display:none!important}
@media(max-width:760px){.site-header #main-menu .nav-desktop{display:none!important}.site-header #main-menu .nav-mobile{display:grid;grid-template-columns:1fr}.site-header .nav-inner.wrap{width:calc(100% - 28px);gap:12px}.site-header .header-actions{max-width:100%}}
.header-menu-devices,.header-nav-add{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}.header-nav-add label{flex:1;min-width:220px}.header-menu-devices button[aria-pressed=true]{background:#1d6b55;color:white}.header-preview-nav{flex-wrap:nowrap!important;overflow-x:auto}.header-preview-item{flex:0 0 auto}.header-preview-item small{display:block;padding:4px 12px;font-size:11px}.header-live-preview.mobile .header-preview-nav{flex-direction:column;align-items:stretch}.header-live-preview.mobile .header-preview-item{width:100%}
/* v1.18: the hamburger consistently displays the mobile menu, including tablets. */
.site-header.nav-collapsed #main-menu .nav-desktop{display:none!important}
.site-header.nav-collapsed #main-menu .nav-mobile{display:grid!important;grid-template-columns:repeat(var(--menu-columns),minmax(0,1fr))}
.site-header:not(.nav-collapsed) #main-menu .nav-desktop{display:flex!important}
.site-header:not(.nav-collapsed) #main-menu .nav-mobile{display:none!important}
@media(max-width:600px){.site-header.nav-collapsed #main-menu .nav-mobile{grid-template-columns:1fr!important}}
