/* Spiritus unified navigation: balanced laptop layout, clean mobile menu. */
.nav__inner {max-width:1440px; width:100%; box-sizing:border-box; gap:14px; padding:12px clamp(14px,2vw,30px);}
.nav__brand{min-width:0;flex:0 0 auto;}
.nav__brand-mark{width:42px;height:42px;flex:0 0 42px;}
.nav__brand-name{font-size:clamp(14px,1.15vw,17px);white-space:nowrap;}
.nav__brand-sub{font-size:9px;letter-spacing:.12em;}
.nav__inner nav{min-width:0;flex:1 1 auto;}
.nav__links{display:flex;flex-wrap:nowrap;gap:2px;justify-content:flex-end;min-width:0;}
.nav__links li{flex:0 1 auto;min-width:0;}
.nav__links a{display:block;font-size:clamp(10.5px,.88vw,13px);line-height:1.3;text-align:center;white-space:normal;overflow-wrap:normal;padding:9px clamp(5px,.6vw,10px);border-radius:8px;}
.nav__links a.active{border-radius:8px;}
@media (max-width:1370px) {
 .nav__links{display:none!important;}
 .nav__burger{display:flex!important;flex-direction:column;align-items:center;justify-content:center;flex:0 0 44px;}
 .nav__inner nav{flex:0 0 auto;}
 .nav__mobile.open{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:absolute;top:100%;left:18px;right:18px;max-height:min(78vh,660px);overflow-y:auto;box-shadow:0 20px 45px #18121b20;border:1px solid #ddd2ce;border-radius:0 0 15px 15px;padding:14px;z-index:220;}
 .nav__mobile a{border:0;background:#fff;border-radius:9px;padding:12px;min-height:44px;font-size:14px;line-height:1.35;overflow-wrap:break-word;}
}
@media (max-width:760px) {
 .nav__inner{padding:9px 12px;gap:10px;}
 .nav__brand{flex:1 1 auto;}
 .nav__brand-name{font-size:15px;}
 .nav__brand-sub{font-size:8px;max-width:210px;overflow:hidden;text-overflow:ellipsis;}
 .nav__mobile.open{grid-template-columns:repeat(2,minmax(0,1fr));left:8px;right:8px;padding:9px;}
 .nav__mobile a{font-size:13px;padding:10px;}
}
@media (max-width:360px){.nav__brand-name{font-size:13px;}.nav__mobile.open{grid-template-columns:1fr;}}

/* Deliberate breathing room between the diocesan name and motto. */
.nav__brand-text{display:flex;flex-direction:column;justify-content:center;gap:6px;}
.nav__brand-name{line-height:1.14;margin:0;}
.nav__brand-sub{line-height:1.3;margin:0;}
@media(max-width:760px){.nav__brand-text{gap:7px;}}

@media(max-width:390px){
 .nav__brand-text{gap:5px;min-width:0;flex:1 1 auto;}
 .nav__brand-name{font-size:11px;line-height:1.18;letter-spacing:-.025em;white-space:nowrap;}
 .nav__brand-sub{display:block!important;font-size:7px;line-height:1.2;letter-spacing:.05em;white-space:nowrap;max-width:100%;}
}

/* 16 Oct 2026 private desktop navigation review */
@media(min-width:1201px){
 .nav__links{display:flex!important;flex-wrap:nowrap!important;gap:1px!important}
 .nav__links a{white-space:nowrap!important;font-size:clamp(10px,.82vw,12px)!important;padding:9px clamp(4px,.4vw,7px)!important}
 .nav__burger{display:none!important}
 .nav__mobile{display:none!important}
}
@media(max-width:1200px){
 .nav__links{display:none!important}
 .nav__burger{display:flex!important}
}
.nav__mobile a.active{color:#7a2331;font-weight:800;background:#f5e9e6}
.nav__inner{position:relative}

/* Highlight the parish finder consistently at all breakpoints. */
.nav__links a.nav__find-parish,.nav__mobile a.nav__find-parish {
 background:#8e2335!important;color:white!important;font-weight:750!important;
 border:1px solid #8e2335!important;white-space:nowrap!important;
}
.nav__links a.nav__find-parish:hover,.nav__mobile a.nav__find-parish:hover,
.nav__links a.nav__find-parish:focus-visible,.nav__mobile a.nav__find-parish:focus-visible{
 background:#68172a!important;color:#fff!important;outline:2px solid #e6b9be;outline-offset:2px;
}
.nav__links a.nav__find-parish[aria-current="page"],.nav__mobile a.nav__find-parish[aria-current="page"]{
 background:#5c1425!important;color:white!important;
}
/* A new item makes the full desktop line impractical at narrower laptop widths. */
@media (max-width:1320px){.nav__links{display:none!important}.nav__burger{display:flex!important}}
@media (min-width:1321px){.nav__links{display:flex!important}.nav__burger{display:none!important}}

/* Responsive desktop navigation correction (2026-10). One row on laptops;
   scrollable rather than clipped where the entire set cannot fit. */
@media (min-width: 901px) {
  .nav__inner { display:flex!important; align-items:center!important; max-width:none!important; }
  .nav__brand { flex:0 0 auto!important; }
  .nav__inner nav { display:block!important; flex:1 1 0!important; min-width:0!important; }
  .nav__links { display:flex!important; flex-flow:row nowrap!important; justify-content:flex-start!important; align-items:center!important; gap:0!important; overflow-x:auto!important; overflow-y:hidden!important; scrollbar-width:thin; }
  .nav__links li { flex:0 0 auto!important; }
  .nav__links a { white-space:nowrap!important; overflow-wrap:normal!important; font-size:11px!important; padding:9px 5px!important; }
  .nav__burger { display:none!important; }
  .nav__mobile { display:none!important; }
}
@media(max-width:900px){
 .nav__links{display:none!important}
 .nav__burger{display:flex!important}
}

/* Readable and balanced laptop header, retains a single row. */
@media (min-width:901px) {
 .nav__inner { gap:clamp(12px,1.5vw,26px)!important; padding:12px clamp(16px,2vw,32px)!important; }
 .nav__brand { flex:0 0 auto!important; }
 .nav__brand-mark { width:40px!important; height:40px!important; flex-basis:40px!important; }
 .nav__brand-name {font-size:clamp(13px,1.06vw,16px)!important;}
 .nav__inner nav {flex:1 1 auto!important; min-width:0!important;}
 .nav__links {gap:clamp(2px,.28vw,6px)!important; scrollbar-width:none!important; }
 .nav__links::-webkit-scrollbar {display:none;}
 .nav__links a {font-size:clamp(12px,.87vw,14px)!important; padding:11px clamp(6px,.42vw,9px)!important; line-height:1.4!important;}
 .nav__links a:focus-visible {outline:2px solid #8e2335;outline-offset:-2px;}
}
@media (min-width:901px) and (max-width:1140px){
 .nav__brand-name {font-size:13px!important;}
 .nav__brand-sub {font-size:7px!important;letter-spacing:.06em!important;}
 .nav__inner {gap:10px!important;padding-left:12px!important;padding-right:12px!important;}
 .nav__links a {font-size:12px!important;padding:10px 6px!important;}
}

/* Right-aligned navigation with intentional space after branding. */
@media(min-width:901px){
  .nav__inner {gap:clamp(24px,3.4vw,54px)!important;}
  .nav__inner nav {margin-left:auto!important;display:flex!important;justify-content:flex-end!important;min-width:0!important;}
  .nav__links {justify-content:flex-end!important;margin-left:auto!important;max-width:100%!important;}
}
@media(min-width:901px) and (max-width:1140px){
  .nav__inner {gap:20px!important;}
  .nav__links {justify-content:flex-start!important;}
}
