/* Isolated from the theme's legacy .main-menu / generic nav rules. */
[data-iwmp] { --iwm-ink:#4c4035; --iwm-wine:#560e12; --iwm-gold:#9f7a25; --iwm-line:#e9e1da; color:var(--iwm-ink); position:relative; z-index:20; font-family:Avenir,Arial,sans-serif; }
[data-iwmp] *, [data-iwmp] *::before, [data-iwmp] *::after { box-sizing:border-box; }
[data-iwmp] ul, [data-iwmp] li { list-style:none; margin:0; padding:0; border-radius:0; }
[data-iwmp] ul { position:static; background:transparent; width:auto; }
[data-iwmp] li { text-align:left; width:auto; }
[data-iwmp] button { font:inherit; color:inherit; border:0; background:none; cursor:pointer; border-radius:0; box-shadow:none; text-transform:none; }
[data-iwmp] a { color:inherit; text-decoration:none; margin:0; }
[data-iwmp] .iwm-list { display:block; }
[data-iwmp].iwm-ready .iwm-list { display:flex; align-items:flex-end; justify-content:space-around; gap:8px; }
[data-iwmp] .iwm-item { position:static; }
[data-iwmp] .iwm-top { display:flex; align-items:center; }
[data-iwmp] .iwm-label { display:flex; align-items:center; gap:12px; font-size:14px; letter-spacing:0; text-transform:uppercase; white-space:nowrap; padding:0 0 2px; line-height:1.4; border-bottom:2px solid transparent; }
[data-iwmp] .iwm-label:hover, [data-iwmp] .iwm-open .iwm-label { color:var(--iwm-wine); border-bottom-color:var(--iwm-wine); }
[data-iwmp] .iwm-arrow { padding:4px 8px; min-width:28px; min-height:28px; }
[data-iwmp] .iwm-chevron { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:transform .15s; }
[data-iwmp] .iwm-open .iwm-chevron { transform:rotate(225deg); margin-top:3px; }
[data-iwmp] .iwm-panel { padding:28px 26px 30px; background:#fff; border:1px solid var(--iwm-line); border-top:2px solid var(--iwm-wine); box-shadow:0 15px 35px #4c403512; margin-bottom:16px; }
[data-iwmp].iwm-ready .iwm-panel { display:none; position:absolute; top:calc(100% + 10px); left:0; width:100%; z-index:20; margin:0; max-height:70vh; overflow-y:auto; }
[data-iwmp].iwm-ready .iwm-open > .iwm-panel { display:block; }
[data-iwmp] .iwm-panel-heading { font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:var(--iwm-gold); padding-bottom:22px; }
[data-iwmp] .iwm-groups { display:grid; grid-template-columns:repeat(var(--iwm-columns,3),minmax(0,1fr)); gap:26px; }
[data-iwmp] .iwm-group-title { font-size:17px; font-weight:400; line-height:1.5; text-transform:none; margin:0 0 14px; padding:0 0 12px; border-bottom:1px solid var(--iwm-line); }
[data-iwmp] .iwm-links { display:block; }
[data-iwmp] .iwm-links a, [data-iwmp] .iwm-links span { display:block; padding:9px 0; font-size:15px; line-height:1.5; text-transform:none; }
[data-iwmp] .iwm-links a:hover { color:var(--iwm-wine); text-decoration:underline; text-underline-offset:4px; }
[data-iwmp] .iwm-links ul { padding-left:14px; }
[data-iwmp] .iwm-direct { padding-left:26px; border-left:1px solid var(--iwm-line); }
[data-iwmp] .iwm-direct > ul > li > a { font-size:16px; }
[data-iwmp] .iwm-compact { position:relative; }
[data-iwmp].iwm-ready .iwm-compact > .iwm-panel { width:300px; }
[data-iwmp] .iwm-compact:last-child > .iwm-panel { left:auto; right:0; }
[data-iwmp] .iwm-compact .iwm-direct { border:0; padding:0; }
[data-iwmp] .iwm-mobile-toggle { display:none; }
[data-iwmp] a:focus-visible, [data-iwmp] button:focus-visible { outline:2px solid var(--iwm-gold); outline-offset:4px; }
[data-iwmp] a[aria-current="page"] { color:var(--iwm-wine); font-weight:bold; }

/* Preserve the original top-level menu height and alignment. */
[data-iwmp] .iwm-list { height:65px; padding:0; margin:0; }
[data-iwmp] .iwm-item { padding-right:0; }
[data-iwmp] .iwm-item::after { content:none; }
[data-iwmp] .iwm-label { padding:0 0 2px !important; }
[data-iwmp] .iwm-links a, [data-iwmp] .iwm-links span { padding:9px 0 !important; }
[data-iwmp] .iwm-group-title a, [data-iwmp] .iwm-group-title span { text-transform:none; font-size:17px; padding:0 !important; }
[data-iwmp] .iwm-panel { max-width:calc(100vw - 32px); }
/* Only the menu's stacking order changes; no dimensions/positions of header elements. */
.top-header-area-scrollable:has([data-iwmp]) { z-index:501; overflow:visible; }
[data-iwmp].iwm-ready .iwm-compact > .iwm-panel { width:260px; }
@media screen and (max-width:1399px) {
 [data-iwmp] .iwm-list { height:57px; }
 [data-iwmp] .iwm-label { font-size:13px; }
}
@media screen and (max-width:1199px) and (min-width:992px) {
 [data-iwmp] .iwm-list { gap:4px; }
 [data-iwmp] .iwm-label { white-space:normal; font-size:12px; gap:6px; }
}
/* Preserve the existing mobile header and its external mobile navigation. */
@media screen and (max-width:991px) {
 [data-iwmp] { display:block !important; height:auto; }
 [data-iwmp] .iwm-list, [data-iwmp].iwm-ready .iwm-list { display:none !important; }
 [data-iwmp] .iwmp-mobile-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin:0; color:#560e12; background:#faf8f5; border:1px solid #e9e1da; border-radius:6px; }
}
.iwmp-mobile-toggle { display:none; }
/* Dialog lives under body, outside the cloned/sticky header and legacy nav rules. */
dialog.iwmp-mobile-dialog { box-sizing:border-box; position:fixed; inset:0 0 0 auto; width:min(90vw,390px); max-width:100vw; height:100%; height:100dvh; max-height:100%; margin:0; padding:0; border:0; background:#fff; color:#4c4035; font-family:Avenir,Arial,sans-serif; overflow:hidden; box-shadow:-12px 0 45px #0002; }
dialog.iwmp-mobile-dialog[open] { display:flex; flex-direction:column; }
.iwmp-mobile-dialog::backdrop { background:rgba(28,17,12,.48); }
.iwmp-mobile-dialog *, .iwmp-mobile-dialog *::before, .iwmp-mobile-dialog *::after { box-sizing:border-box; }
.iwmp-mobile-dialog .iwmp-mobile-head { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; padding:16px 20px; padding-top:max(16px,env(safe-area-inset-top)); border-bottom:1px solid #e9e1da; font-size:21px; color:#560e12; }
.iwmp-mobile-dialog button { font:inherit; cursor:pointer; text-transform:none; box-shadow:none; border-radius:0; }
.iwmp-mobile-dialog .iwmp-mobile-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; color:#560e12; background:#faf8f5; font-size:30px; }
.iwmp-mobile-dialog .iwmp-mobile-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px 20px max(24px,env(safe-area-inset-bottom)); }
.iwmp-mobile-dialog ul.iwmp-mobile-list { display:block; position:static; width:100%; margin:0; padding:0; background:transparent; list-style:none; }
.iwmp-mobile-dialog .iwmp-mobile-list > li { display:block; width:100%; margin:0; padding:0; list-style:none; text-align:left; border-bottom:1px solid #eee7e0; }
.iwmp-mobile-dialog .iwmp-mobile-row { display:flex; align-items:stretch; width:100%; }
.iwmp-mobile-dialog .iwmp-mobile-title { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:1; min-width:0; min-height:54px; padding:14px 0; margin:0; color:#4c4035; background:transparent; text-transform: uppercase; border:0; text-align:left; text-decoration:none; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.iwmp-mobile-dialog .iwmp-mobile-arrow { width:44px; min-height:54px; padding:0; border:0; background:transparent; color:#9f7a25; }
.iwmp-mobile-dialog .iwmp-mobile-branch .iwmp-mobile-chevron { display:block; width:7px; height:7px; flex:0 0 7px; align-self:center; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:transform .15s, margin-top .15s; }
.iwmp-mobile-dialog .iwmp-mobile-branch[aria-expanded="true"] { color:#560e12; }
.iwmp-mobile-dialog .iwmp-mobile-branch[aria-expanded="true"] .iwmp-mobile-chevron { transform:rotate(225deg); margin-top:4px; }
.iwmp-mobile-dialog .iwmp-mobile-children { padding:0 0 8px 16px; border-left:2px solid #e9e1da; margin:0 0 12px; }
.iwmp-mobile-dialog [hidden] { display:none !important; }
.iwmp-mobile-dialog .iwmp-mobile-children .iwmp-mobile-title { font-size:15px; min-height:48px; padding:11px 0; }
.iwmp-mobile-dialog a[aria-current="page"] { color:#560e12; font-weight:600; }
.iwmp-mobile-dialog :is(a,button):focus-visible { outline:2px solid #9f7a25; outline-offset:2px; }
html.iwmp-mobile-open, html.iwmp-mobile-open body { overflow:hidden !important; }
@media(prefers-reduced-motion:reduce) { .iwmp-mobile-dialog .iwmp-mobile-branch span { transition:none; } }
@media (prefers-reduced-motion:reduce) { [data-iwmp] .iwm-chevron { transition:none; } }

@media screen and (max-width:767px) { .site-header .iwmp-menu-column { flex:0 0 16.666667%; max-width:16.666667%; padding-left:6px; padding-right:6px; } }

/* Mobile refinement: one baseline and quiet navigation without boxed controls. */
@media screen and (max-width:991px) {
 .top-header-area-scrollable:has([data-iwmp]) .site-header { margin-bottom:0; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header > .row { align-items:center; min-height:90px; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header > .row > div:first-child { display:flex; align-items:center; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header .logo { margin-top:0; }
 .top-header-area-scrollable:has([data-iwmp]) .iwmp-menu-column { display:flex; align-items:center; justify-content:center; }
 .top-header-area-scrollable:has([data-iwmp]) .header-right-menu { position:static; top:auto; right:auto; float:none; width:auto; height:auto; margin:0; padding-top:0; padding-bottom:0; align-items:center; }
 [data-iwmp] .iwmp-mobile-toggle { background:transparent; border:0; border-radius:0; color:#560e12; }
}
.iwmp-mobile-dialog .iwmp-mobile-close { background:transparent; }
.iwmp-mobile-dialog .iwmp-mobile-list > li { border-bottom:0; }
.iwmp-mobile-dialog .iwmp-mobile-children { border-left:0; padding-left:14px; margin-bottom:8px; }
.iwmp-mobile-dialog .iwmp-mobile-children .iwmp-mobile-title { font-weight:400; }

/* Fill the mobile header width instead of keeping desktop Bootstrap columns. */
@media screen and (max-width:991px) {
 .top-header-area-scrollable:has([data-iwmp]) .site-header { width:100%; max-width:none; padding-left:16px; padding-right:16px; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header > .row { display:grid; grid-template-columns:minmax(0,1fr) 44px auto; column-gap:12px; width:100%; margin-left:0; margin-right:0; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header > .row > div { width:auto; max-width:none; min-width:0; padding-left:0; padding-right:0; }
 .top-header-area-scrollable:has([data-iwmp]) .site-header .logo { width:120px; max-width:100%; height:auto; }
 .top-header-area-scrollable:has([data-iwmp]) .header-right-menu { justify-self:end; justify-content:flex-end; gap:12px; }
}

.iwmp-mobile-dialog .iwmp-mobile-arrow { display:flex; align-items:center; justify-content:center; }
@media screen and (max-width:991px) {
  [data-iwmp] .iwmp-mobile-toggle {
    width:auto;
    min-width:44px;
    gap:7px;
    white-space:nowrap;
    font-size:14px;
  }

  [data-iwmp] .iwmp-mobile-toggle svg {
    flex-shrink:0;
  }

  .top-header-area-scrollable:has([data-iwmp]) .site-header > .row {
    grid-template-columns:minmax(0,1fr) auto auto;
  }
}