/* MCM recommended navigation. Loaded after the existing theme stylesheet. */
.mcm-utility { background:#071c43; color:#e1e8f2; border-bottom:2px solid #f3b51b; font-size:12px; }
.mcm-utility__inner { width:min(1240px,calc(100% - 48px)); margin:auto; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mcm-utility__links { display:flex; align-items:center; gap:24px; }
.mcm-utility a { color:#fff; text-decoration:none; font-weight:650; padding-block:11px; }
.mcm-utility a:hover { text-decoration:underline; text-decoration-color:#f3b51b; }
.mcm-menu-v2 { background:#fff; border-bottom:1px solid #e1e7ef; box-shadow:0 4px 22px #071c4310; }
.mcmnav-shell { width:min(1240px,calc(100% - 48px)); min-height:96px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.mcmnav-brand { display:flex; align-items:center; flex-shrink:0; padding-block:8px; }
.mcmnav-brand img { display:block; width:148px; height:72px; object-fit:contain; }
.mcmnav-list { display:flex; align-items:center; gap:14px; padding:0; margin:0; list-style:none; }
.mcmnav-list li { margin:0; }
.mcmnav-list a,.mcmnav-list summary { display:flex; align-items:center; min-height:48px; padding:12px 14px; border-radius:7px; color:#122745; font-size:15px; line-height:1.35; font-weight:650; text-decoration:none; white-space:nowrap; cursor:pointer; }
.mcmnav-list a:hover,.mcmnav-list summary:hover,.mcmnav-list a[aria-current="page"],.mcmnav-list details[open]>summary { background:#f1f5fa; color:#071c43; }
.mcmnav-list summary { gap:10px; list-style:none; }
.mcmnav-list summary::-webkit-details-marker { display:none; }
.mcmnav-list summary::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .15s ease; }
.mcmnav-list details[open]>summary::after { transform:translateY(2px) rotate(225deg); }
.mcmnav-list details { position:relative; }
.mcmnav-submenu { position:absolute; z-index:10; top:calc(100% + 10px); left:0; width:270px; margin:0; padding:9px; list-style:none; border:1px solid #dfe6ee; border-top:3px solid #f3b51b; border-radius:10px; background:#fff; box-shadow:0 18px 40px #071c4326; }
.mcmnav-submenu a { font-size:14px; font-weight:600; min-height:46px; white-space:normal; }
.mcmnav-submenu li+li { border-top:1px solid #eff2f6; }
.mcmnav-list a.mcmnav-estimate { background:#f3b51b; color:#071c43; padding-inline:22px; font-weight:800; box-shadow:0 3px 0 #d69a09; }
.mcmnav-list a.mcmnav-estimate:hover { background:#ffd15a; color:#071c43; }
.mcmnav-toggle { display:none; align-items:center; gap:10px; min-height:46px; padding:10px 15px; font-size:14px; border:1px solid #071c43; background:#071c43; color:#fff; border-radius:8px; font-weight:700; }
.mcmnav-toggle:hover { background:#123563; border-color:#123563; color:#fff; transform:none; box-shadow:none; }
.mcmnav-toggle[aria-expanded="true"] { color:#f3b51b; }
.mcmnav-toggle span { width:18px; height:14px; background:linear-gradient(to bottom,currentColor 0 2px,transparent 2px 6px,currentColor 6px 8px,transparent 8px 12px,currentColor 12px 14px); }
.mcm-menu-v2 a:focus-visible,.mcm-menu-v2 button:focus-visible,.mcm-menu-v2 summary:focus-visible,.mcm-utility a:focus-visible { outline:3px solid #e6a80e; outline-offset:3px; }
.mcmnav-main[hidden] { display:none!important; }
body.admin-bar .mcm-menu-v2 { top:32px; }

/* Four headings span the space between the logo and the persistent Menu control. */
.mcmnav-shell { gap:24px; flex-wrap:nowrap; }
.mcmnav-main { flex:1; min-width:0; }
.mcmnav-main>.mcmnav-list { justify-content:space-evenly; gap:clamp(4px,1.3vw,22px); }
.mcmnav-more { position:relative; flex-shrink:0; }
.mcmnav-more>.mcmnav-toggle { display:flex; list-style:none; cursor:pointer; }
.mcmnav-toggle::-webkit-details-marker { display:none; }
.mcmnav-more[open]>.mcmnav-toggle { color:#f3b51b; }
.mcmnav-extra { position:absolute; right:0; top:calc(100% + 12px); width:300px; max-height:calc(100dvh - 180px); overflow-y:auto; padding:12px; border:1px solid #dfe6ee; border-top:3px solid #f3b51b; border-radius:10px; background:#fff; box-shadow:0 18px 40px #071c4326; }
.mcmnav-extra .mcmnav-list { flex-direction:column; align-items:stretch; gap:4px; }
.mcmnav-extra .mcmnav-list a { white-space:normal; }
.mcmnav-extra .mcmnav-estimate { justify-content:center; margin-bottom:8px; }
.mcmnav-mobile-only { display:none; }
@media(min-width:720px) and (max-width:1050px) {
  .mcmnav-shell { width:calc(100% - 32px); gap:12px; min-height:82px; }
  .mcmnav-brand img { width:108px; height:62px; }
  .mcmnav-main>.mcmnav-list { gap:2px; }
  .mcmnav-main>.mcmnav-list>li>a,.mcmnav-main>.mcmnav-list>li>details>summary { font-size:13px; padding-inline:7px; }
  .mcmnav-list summary { gap:7px; }
  .mcmnav-toggle { padding-inline:12px; }
  .mcmnav-main>ul>li:last-child .mcmnav-submenu { left:auto; right:0; }
}
@media(max-width:719px) {
  .mcmnav-shell { width:calc(100% - 32px); min-height:82px; gap:16px; }
  .mcmnav-brand img { width:130px; height:62px; }
  .mcmnav-main { display:none; }
  .mcmnav-more { position:static; }
  .mcmnav-extra { left:16px; right:16px; top:calc(100% + 8px); width:auto; max-height:calc(100vh - 190px); max-height:calc(100dvh - 190px); overscroll-behavior:contain; }
  .mcmnav-mobile-only { display:block; }
  .mcmnav-extra .mcmnav-list>li>a,.mcmnav-extra .mcmnav-list summary { font-size:16px; min-height:50px; }
  .mcmnav-extra summary { justify-content:space-between; }
  .mcmnav-extra .mcmnav-submenu { position:static; width:auto; margin:4px 8px 10px; border:0; border-left:2px solid #f3b51b; border-radius:0 8px 8px 0; box-shadow:none; background:#f5f7fb; padding:4px; }
  .mcmnav-quick-links { border-top:1px solid #e1e7ef; margin-top:10px; padding-top:12px; }
}
@media(max-width:782px) { body.admin-bar .mcm-menu-v2 { top:46px; } }
@media(max-width:600px) {
  body.admin-bar .mcm-menu-v2 { top:0; }
  .mcm-utility__inner { width:calc(100% - 32px); justify-content:center; }
  .mcm-utility__region { display:none; }
  .mcm-utility__links { width:100%; justify-content:space-between; gap:12px; }
  .mcm-utility a { min-height:44px; display:flex; align-items:center; }
}
@media(prefers-reduced-motion:reduce) { .mcmnav-list summary::after { transition:none; } }
