/* The native modal lives outside the collapsing header and above the mobile dock. */
.wb-service-toggle,.wb-service-menu:not([open]),.wb-mobile-menu-back { display:none; }
.wb-service-menu { position:fixed; inset:0 0 0 auto; width:min(410px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:18px 0 0 18px; overflow:hidden; color:#325646; background:#fffcfa; box-shadow:-12px 0 42px #1e3d2f21; }
.wb-service-menu[open] { display:flex; flex-direction:column; animation:wb-service-enter .22s ease-out both; }
.wb-service-menu::backdrop { background:#172e2459; backdrop-filter:blur(2px); }
.wb-service-menu__head { display:flex; align-items:center; justify-content:space-between; flex:none; gap:18px; padding:calc(16px + env(safe-area-inset-top)) 22px 16px; border-bottom:1px solid #e1eee8; }
.wb-service-menu__head h2 { margin:0; font:500 32px/1.15 'Cormorant Garamond',Georgia,serif; color:#32664f; }
.wb-service-menu__close { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:10px; border:1px solid #d6e7df; border-radius:12px; color:#3c775c; background:#fff8f5; cursor:pointer; }
.wb-service-menu__close svg,.wb-service-toggle svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wb-service-menu__body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c7dfd4 transparent; padding:20px 22px calc(28px + env(safe-area-inset-bottom)); }
.wb-service-menu__city { display:flex; align-items:center; gap:13px; width:100%; min-height:64px; padding:12px 14px; border:1px solid #d7e7e0; border-radius:12px; color:#39755a; background:#f2f8f5; text-align:left; cursor:pointer; }
.wb-service-menu__city svg { flex:none; width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.wb-service-menu__city svg:last-child { width:17px; height:17px; margin-left:auto; }
.wb-service-menu__city span { min-width:0; }
.wb-service-menu__city small { display:block; margin-bottom:3px; color:#769688; font:400 11px/1.5 Manrope,Arial,sans-serif; }
.wb-service-menu__city strong { display:block; font:600 15px/1.45 Manrope,Arial,sans-serif; overflow-wrap:anywhere; }
.wb-service-menu__catalog { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:56px; margin:14px 0 0; padding:14px; border:0; border-radius:11px; background:#356c53; color:#fff; font:600 15px/1.5 Manrope,Arial,sans-serif; cursor:pointer; }
.wb-service-menu__catalog:hover { background:#2d5c47; }
.wb-service-menu__catalog svg { flex:none; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wb-service-menu__catalog svg:last-child { margin-left:auto; width:19px; height:19px; }
.wb-service-menu__catalog span { margin-right:auto; }
.wb-service-menu__links { display:grid; gap:0; margin:18px 0 26px; }
.wb-service-menu__links a { display:flex; align-items:center; min-height:44px; padding:10px 0; border-bottom:1px solid #e3eee9; color:#406454; text-decoration:none; font:500 14px/1.65 Manrope,Arial,sans-serif; overflow-wrap:anywhere; }
.wb-service-menu__links a:hover { color:var(--wb-accent,#356c53); }
.wb-service-menu__links .wb-managed-menu__footer-children { padding-left:14px; margin-left:3px; border-left:1px solid #d2e6dd; }
.wb-service-menu__contacts h3 { margin:0 0 17px; color:#40725c; font:600 15px/1.5 Manrope,Arial,sans-serif; }
.wb-service-menu .wb-contact-callback { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:46px; margin:0 0 23px; padding:12px 16px; border:0; border-radius:11px; background:var(--wb-accent,#356c53); color:#fff; font:600 14px/1.5 Manrope,Arial,sans-serif; cursor:pointer; }
.wb-service-menu .wb-contact-panel__rows { gap:20px; }
.wb-service-menu .wb-contact-row { gap:11px; }
.wb-service-menu .wb-contact-panel__company { padding:16px; }
.wb-service-menu__messengers { margin-top:26px; padding-top:20px; border-top:1px solid #e1eee8; }
.wb-service-menu__messengers > span { display:block; margin-bottom:12px; color:#769688; font:400 12px/1.6 Manrope,Arial,sans-serif; }
.wb-service-menu__messengers .wb-messengers { gap:10px; }
.wb-service-menu__messengers .wb-messenger { width:44px; height:44px; border-color:#d2e4dc; background:#438567; color:#fff; }
.wb-service-menu__messengers .wb-messenger:hover { background:#377056; }
.wb-service-menu :focus-visible,.wb-body .wb-service-toggle:focus-visible { outline:2px solid #7fb49c; outline-offset:2px; }
@media(max-width:860px) {
 .wb-body--mobile-navigation .wb-header__main,.wb-body--mobile-navigation .wb-header.is-compact .wb-header__main { --wb-middle-expanded:76px; grid-template-columns:minmax(0,1fr) 44px 44px; grid-template-rows:48px; grid-auto-rows:auto; gap:0 8px; min-height:76px; padding-block:14px; }
 .wb-body--mobile-navigation .wb-header__main:has(.wb-header-search.is-open) { --wb-middle-expanded:134px; }
 .wb-body--mobile-navigation .wb-logo,.wb-body--mobile-navigation .wb-header.is-compact .wb-logo { height:48px; aspect-ratio:auto; }
 .wb-body--mobile-navigation .wb-header.is-compact .wb-logo { width:min(125px,100%); }
 .wb-body--mobile-navigation .wb-mobile-search-toggle { grid-column:2; grid-row:1; }
 .wb-body--mobile-navigation .wb-service-toggle[data-wb-service-ready] { display:grid; place-items:center; grid-column:3; grid-row:1; width:44px; height:44px; padding:0; border:1px solid #d7e7e0; border-radius:12px; background:#fff8f6; color:#3a765b; cursor:pointer; }
 .wb-body--mobile-navigation .wb-service-toggle[aria-expanded=true] { border-color:#97c3af; background:#e7f3ee; }
 .wb-body--mobile-navigation .wb-header-search { grid-column:1/-1; grid-row:2; }
 .wb-mobile-menu-back:not([hidden]) { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:10px; border:1px solid #d6e7df; border-radius:11px; background:#fff8f5; color:#3c775c; cursor:pointer; }
 .wb-mobile-menu-back svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
 .wb-catalog-menu__head:has(.wb-mobile-menu-back:not([hidden])) { align-items:center; gap:10px; }
 .wb-catalog-menu__head:has(.wb-mobile-menu-back:not([hidden])) > span { flex:1; min-width:0; font-size:24px; }
 .wb-mobile-menu-back:focus-visible { outline:2px solid #7fb49c; outline-offset:2px; }
}
@media(max-width:400px) { .wb-service-menu { border-radius:0; }.wb-service-menu__head { padding-inline:20px; }.wb-service-menu__body { padding-inline:20px; } }
@keyframes wb-service-enter { from{transform:translateX(100%);opacity:.5} to{transform:translateX(0);opacity:1} }
@media(prefers-reduced-motion:reduce) { .wb-service-menu[open] { animation:none; } }
/* Final mobile proportions. Optional utility strip keeps desktop unchanged. */
.wb-topbar__phone-group { display:flex; align-items:center; }
.wb-mobile-product-tools,.wb-mobile-product-cart { display:none; }
@media(min-width:861px) { .wb-topbar-item--desktop-hidden { display:none!important; } }
@media(max-width:860px) {
 .wb-body .wb-topbar:not(.wb-topbar--mobile-enabled) { display:none; }
 .wb-body--mobile-navigation .wb-header-slot { min-height:68px; }
 .wb-body .wb-topbar .wb-topbar-item--mobile-hidden { display:none!important; }
 .wb-body .wb-topbar__inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; min-height:0; padding-block:6px; }
 .wb-body .wb-topbar__inner>[data-wb-topbar-item]:last-child { margin-left:auto; }
 .wb-body .wb-topbar__contacts { display:contents; }
 .wb-body .wb-topbar__nav { display:none; }
 .wb-body .wb-topbar__left { display:flex; flex:0 1 auto; min-width:0; font-size:12px; }
 .wb-body .wb-topbar .wb-region-toggle { min-width:0; white-space:normal; text-align:left; }
 .wb-body .wb-topbar .wb-region-toggle>span { overflow-wrap:anywhere; }
 .wb-body .wb-topbar__phone-group { font-size:12px; }
 .wb-body .wb-topbar .wb-messengers { display:flex; gap:6px; }
 .wb-body .wb-topbar .wb-messenger { width:30px; height:30px; }
 .wb-body .wb-topbar .wb-messenger :is(svg,img) { width:18px; height:18px; }
 .wb-body--mobile-navigation .wb-header__main { --wb-middle-expanded:68px; --wb-middle-compact:64px; grid-template-rows:44px; min-height:68px; padding-block:12px; }
 .wb-body--mobile-navigation .wb-header.is-compact .wb-header__main { --wb-middle-expanded:68px; --wb-middle-compact:64px; grid-template-rows:44px; min-height:64px; padding-block:10px; }
 .wb-body--mobile-navigation .wb-header__main:has(.wb-header-search.is-open) { --wb-middle-expanded:126px; }
 .wb-body--mobile-navigation .wb-logo { width:min(210px,100%); height:44px; }
 .wb-body--mobile-navigation .wb-header.is-compact .wb-logo { width:min(168px,100%); height:44px; }
 .wb-body--mobile-navigation .wb-header.wb-mobile-product-active .wb-header__main { grid-template-columns:minmax(0,1fr) max-content 40px 40px; gap:0 6px; }
 .wb-body--mobile-navigation .wb-mobile-product-active .wb-logo { display:none; }
 .wb-mobile-product-active .wb-mobile-product-tools:not([hidden]) { display:flex; align-items:center; gap:2px; min-width:0; grid-column:1; grid-row:1; }
 .wb-mobile-product-active .wb-mobile-product-cart:not([hidden]) { display:inline-flex; align-items:center; justify-content:center; gap:6px; grid-column:2; grid-row:1; min-width:0; min-height:40px; max-width:112px; padding:9px 11px; border:1px solid #356c53; border-radius:10px; background:#356c53; color:#fff; font:600 12px/1.5 Manrope,Arial,sans-serif; white-space:nowrap; cursor:pointer; }
 .wb-mobile-product-cart svg { display:none; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
 .wb-body--mobile-navigation .wb-mobile-product-active .wb-mobile-search-toggle { grid-column:3; width:40px; height:40px; }
 .wb-body--mobile-navigation .wb-mobile-product-active .wb-service-toggle { grid-column:4; width:40px; height:40px; }
 .wb-mobile-product-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; margin:0; padding:10px; border:0; border-radius:10px; background:transparent; color:#3a765b; cursor:pointer; }
 .wb-mobile-product-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
 .wb-mobile-product-icon[aria-pressed=true] { background:#e5f2ec; color:#356c53; }
 .wb-mobile-product-icon[data-wb-mobile-product-action=favorite][aria-pressed=true] svg { fill:currentColor; }
 .wb-mobile-product-logo { display:flex; align-items:center; width:min(168px,100%); min-width:0; height:40px; }
 .wb-mobile-product-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
 .wb-mobile-product-tools :focus-visible,.wb-mobile-product-cart:focus-visible { outline:2px solid #83b7a0; outline-offset:2px; }
}
