
.bwvrp-shell{font-family:inherit;color:var(--bwvrp-text)}
.bwvrp-header{background:var(--bwvrp-surface-2);border-bottom:4px solid var(--bwvrp-accent);position:relative;z-index:100}
.bwvrp-header-inner{min-height:104px;display:grid;grid-template-columns:minmax(150px,240px) 1fr auto;align-items:center;gap:28px;padding:14px clamp(20px,4vw,64px)}
.bwvrp-logo{display:inline-flex;align-items:center;max-width:190px}.bwvrp-logo-img{display:block;max-width:100%;height:auto}
.bwvrp-main-nav .bwvrp-menu-list,.bwvrp-bottom-nav ul{list-style:none;margin:0;padding:0}
.bwvrp-main-nav>.bwvrp-menu-list{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.4vw,42px)}
.bwvrp-main-nav a,.bwvrp-actions a{color:var(--bwvrp-text);text-decoration:none;font-weight:700}
.bwvrp-main-nav .menu-item{position:relative}.bwvrp-main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:260px;background:#fff;padding:14px;list-style:none;box-shadow:0 10px 28px rgba(0,0,0,.12);display:none}
.bwvrp-main-nav .menu-item:hover>.sub-menu,.bwvrp-main-nav .menu-item:focus-within>.sub-menu{display:block}
.bwvrp-actions{display:flex;align-items:center;gap:14px}.bwvrp-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px}
.bwvrp-action--button{background:var(--bwvrp-primary);color:#fff!important;border-radius:999px;padding:10px 22px}.bwvrp-action--outline{border:2px solid var(--bwvrp-primary);border-radius:999px;color:var(--bwvrp-primary)!important}
.bwvrp-badge{display:inline-block;background:var(--bwvrp-accent);color:var(--bwvrp-text);font-size:.7em;padding:.25em .55em;border-radius:999px;margin-left:.5em;letter-spacing:.05em}
.bwvrp-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10001;background:var(--bwvrp-bottom-bg);padding-bottom:env(safe-area-inset-bottom)}
.bwvrp-bottom-nav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.bwvrp-bottom-nav li{min-width:0}.bwvrp-bottom-item{appearance:none;border:0;background:transparent;color:var(--bwvrp-bottom-text);text-decoration:none;width:100%;min-height:82px;padding:10px 4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font:inherit;font-weight:700;cursor:pointer;text-align:center}
.bwvrp-bottom-item .bwvrp-icon,.bwvrp-toggle-close{font-size:22px;line-height:1}.bwvrp-toggle-close{display:none}.bwvrp-menu-open .bwvrp-toggle-open{display:none}.bwvrp-menu-open .bwvrp-toggle-close{display:inline}
.bwvrp-mobile-panel{position:fixed;z-index:10000;inset:0 0 calc(82px + env(safe-area-inset-bottom)) 0;background:var(--bwvrp-surface-2);overflow:auto;padding:24px clamp(22px,7vw,54px)}
.bwvrp-mobile-panel[hidden]{display:none!important}.bwvrp-mobile-panel-inner{padding-top:12px}
.bwvrp-mobile-nav .bwvrp-menu-list,.bwvrp-mobile-nav .sub-menu{list-style:none;margin:0;padding:0}
.bwvrp-mobile-nav>.bwvrp-menu-list>li{border-bottom:1px solid #d4ddd6}
.bwvrp-mobile-nav a{display:block;color:var(--bwvrp-text);text-decoration:none;padding:20px 0;font-weight:700;font-size:1.25rem}
.bwvrp-mobile-nav .sub-menu{padding:0 0 12px 24px;border-left:3px solid #d8e7dd}.bwvrp-mobile-nav .sub-menu a{font-size:1rem;font-weight:500;padding:13px 16px}
.bwvrp-mobile-nav .menu-item-has-children{position:relative}.bwvrp-submenu-toggle{position:absolute;right:0;top:10px;width:48px;height:48px;border:0;border-radius:50%;background:var(--bwvrp-surface);color:var(--bwvrp-primary);font-size:26px;cursor:pointer}
.bwvrp-mobile-nav .menu-item-has-children>.sub-menu{display:none}.bwvrp-mobile-nav .menu-item-has-children.bwvrp-expanded>.sub-menu{display:block}
.bwvrp-admin-hint{padding:12px;background:#fff4c2}
.bwvrp-shell a:focus-visible,.bwvrp-shell button:focus-visible{outline:3px solid var(--bwvrp-focus);outline-offset:3px}
body.bwvrp-lock{overflow:hidden}
@media (prefers-reduced-motion:no-preference){.bwvrp-mobile-panel{animation:bwvrp-in .16s ease-out}@keyframes bwvrp-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(max-width:520px){.bwvrp-bottom-item{font-size:.86rem}.bwvrp-mobile-panel{padding-left:20px;padding-right:20px}}
/* v0.2 typography: navigation scales with the configured shell size. */
.bwvrp-main-nav a,.bwvrp-actions a{font-size:1em}.bwvrp-bottom-item{font-size:1em}
/* v0.2.1 */
.bwvrp-shell{display:contents}
.bwvrp-mobile-top-link{justify-self:end;align-items:center;gap:8px;color:var(--bwvrp-primary);text-decoration:none;font-weight:700;min-height:44px;padding:6px 0}
.bwvrp-mobile-top-link .bwvrp-icon{display:inline-flex;align-items:center;justify-content:center}

/* v0.2.2 – overflow hardening + shrinking header */
.bwvrp-header,.bwvrp-header *{box-sizing:border-box}
.bwvrp-header{width:100%;max-width:100%;}
.bwvrp-header-inner{width:100%;max-width:100%;min-width:0}
.bwvrp-header-inner>*{min-width:0}
.bwvrp-logo{width:auto;min-width:0;transition:transform .28s ease,max-width .28s ease}
.bwvrp-logo-img{width:100%;max-width:100%;height:auto}
.bwvrp-header-inner{transition:min-height .28s ease,padding .28s ease}
.bwvrp-mobile-top-link{white-space:nowrap;max-width:100%}
@media (prefers-reduced-motion:reduce){.bwvrp-logo,.bwvrp-header-inner{transition:none!important}}
/* v0.2.3: reliable WordPress-native icon rendering */
.bwvrp-icon.dashicons{width:1em;height:1em;font-size:1.35em;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.bwvrp-mobile-top-link.bwvrp-mobile-top-button{background:var(--bwvrp-mobile-top-bg);color:var(--bwvrp-mobile-top-color)!important;padding:.65em 1em;border-radius:999px;text-decoration:none}
.bwvrp-mobile-top-link.bwvrp-mobile-top-button .bwvrp-icon{color:inherit}
.bwvrp-mobile-top-link.bwvrp-mobile-top-text{color:var(--bwvrp-primary)}
/* v0.2.4 – Elementor Font Awesome + mobile bar/footer hardening */
.bwvrp-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:inherit}
.bwvrp-icon i{display:inline-block;color:inherit;font-size:1em;line-height:1}
.bwvrp-bottom-nav .bwvrp-bottom-item,
.bwvrp-bottom-nav .bwvrp-bottom-item:link,
.bwvrp-bottom-nav .bwvrp-bottom-item:visited,
.bwvrp-bottom-nav .bwvrp-bottom-item:hover,
.bwvrp-bottom-nav .bwvrp-bottom-item:active,
.bwvrp-bottom-nav .bwvrp-bottom-item span,
.bwvrp-bottom-nav .bwvrp-bottom-item i{color:var(--bwvrp-bottom-text)!important}
.bwvrp-bottom-nav .bwvrp-bottom-item .bwvrp-icon{font-size:22px}
@media (max-width:1200px){
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  .elementor-location-footer,footer.site-footer,body>footer{margin-bottom:calc(96px + env(safe-area-inset-bottom))!important}
}

/* v0.2.5 – full-screen mobile menu, aligned bottom bar, exact footer clearance */
.bwvrp-bottom-nav{--bwvrp-bottom-height:82px}
.bwvrp-bottom-nav ul{align-items:stretch}
.bwvrp-bottom-nav li{display:flex;align-items:stretch}
.bwvrp-bottom-item{height:var(--bwvrp-bottom-height);min-height:var(--bwvrp-bottom-height);justify-content:center;align-self:stretch;margin:0!important;line-height:1.15}
.bwvrp-bottom-item>span:last-child{display:block;line-height:1.15;min-height:1.15em}
.bwvrp-menu-toggle .bwvrp-toggle-open,.bwvrp-menu-toggle .bwvrp-toggle-close{height:22px;min-height:22px;display:flex;align-items:center;justify-content:center}
.bwvrp-menu-toggle:not(.bwvrp-menu-open) .bwvrp-toggle-close{display:none}
.bwvrp-menu-toggle.bwvrp-menu-open .bwvrp-toggle-open{display:none}
.bwvrp-menu-toggle.bwvrp-menu-open .bwvrp-toggle-close{display:flex}

/* The open menu intentionally covers the normal header for maximum usable height. */
.bwvrp-mobile-panel{z-index:10030;inset:0 0 calc(var(--bwvrp-bottom-height,82px) + env(safe-area-inset-bottom)) 0;padding:72px clamp(22px,7vw,54px) 24px;background:var(--bwvrp-surface-2)}
.bwvrp-mobile-panel-close{position:fixed;z-index:10031;top:18px;right:20px;width:48px;height:48px;border:0;border-radius:50%;background:var(--bwvrp-surface);color:var(--bwvrp-primary);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer}
body.admin-bar .bwvrp-mobile-panel-close{top:64px}
@media(max-width:782px){body.admin-bar .bwvrp-mobile-panel-close{top:64px}}

/* Only reserve exactly the fixed navigation height. Do not add a second footer margin. */
@media (max-width:1200px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .elementor-location-footer,footer.site-footer,body>footer{margin-bottom:0!important}
}
