/* Shared shell compatibility only. Never hide page headings or product content. */
.mw-storefront-surface { --mw-mobile-nav-height: 0px; }
.mw-storefront-surface > .page,
.mw-storefront-surface .page-wrap { padding-top: 0; overflow: visible; }
.mw-storefront-surface #mw-content { min-width: 0; }
.mw-storefront-surface .mw-header { z-index: 1000; }
.mw-storefront-surface .mw-repair-status { color: #0065c9; font-size: 12px; line-height: 1.5; }
.mw-repair-status-mobile { display: none; }
.mw-storefront-surface .modal-up { z-index: 1100; }
/* The retired menu drew this separator 2000px outside its container and relied
   on .page clipping. Constrain the decoration instead of clipping sticky UI. */
.mw-storefront-surface .block-hero1.mod1::before { right: 0; }
.mw-storefront-surface .title-style1__right > span { display: none; }
.mw-storefront-surface :is(.title-tab1,.block-information1)::before { left: 0; right: 0; }
.mw-storefront-surface .block-information1__right::before { right: 0; }
.mw-storefront-surface .block-change1__right::before { right: 0; width: 100%; }
.mw-storefront-surface .carousel2:not(.slick-initialized) { overflow: hidden; }
/* Certificates previously used their natural 1600px width until Slick loaded.
   Reserve the final 150px frame immediately; without JS it remains scrollable. */
.mw-storefront-surface #company-certificates { scroll-margin-top: 160px; }
.mw-storefront-surface .block_docs img { display: block; width: auto; height: 150px; max-width: 100%; object-fit: contain; margin-inline: auto; }
.mw-storefront-surface .block_docs:not(.slick-initialized) { display: flex; height: 150px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; }
.mw-storefront-surface .block_docs:not(.slick-initialized) > div { flex: 0 0 25%; min-width: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; }
.mw-storefront-surface .block_docs a { display: block; min-width: 0; max-width: 100%; }
.mw-storefront-surface .block_docs .slick-list,
.mw-storefront-surface .block_docs .slick-track { padding: 0; }
@media (max-width: 1000px) {
 .mw-storefront-surface .block_docs:not(.slick-initialized) > div { flex-basis: calc(100% / 3); }
}
/* Legacy CSS forces 1310/1190px artwork on narrower viewports. Bound only the
   background; keep the form, shadows and sticky shell outside any clip. */
.mw-storefront-surface .block-callback-big1__background { max-width: 100%; }
/* The repair-process frame and folded corner used the retired page clip too. */
.mw-storefront-surface .block-scheme-work1__background::before { left: 0; right: 0; }
.mw-storefront-surface .block-scheme-work1__background i { right: 0; }
/* Tablet benefits frame and repair grid previously extended beyond page gutters. */
.mw-storefront-surface .list-icon2::before { right: 0; }
.mw-storefront-surface .list-mainers1 { margin-inline: 0; }
.mw-storefront-surface .list-product1 { margin-inline: 0; }
.mw-storefront-surface .block-scheme-work1__callback { max-width: 100%; }
/* Legacy hero actions extend below the image. Override ps.css's important 20px reset only here. */
.mw-storefront-surface .mw-hosting-hero + .padding1.mod2 { padding-top: 64px !important; }
@media (max-width: 760px) {
 /* Keep each legacy component within its actual mobile container. */
 .mw-storefront-surface .mw-hydro-description .list-num1__item { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
 .mw-storefront-surface .mw-hydro-description .list-num1__item p { display: block; max-width: 100%; }
 .mw-storefront-surface .mw-hydro-notes { flex-direction: column !important; }
 .mw-storefront-surface .mw-hydro-notes > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
 .mw-storefront-surface .slick-dots { left: 0; right: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; }
 .mw-storefront-surface .slick-dots ul { width: max-content; max-width: none; justify-content: flex-start; margin-inline: auto; padding: 10px 8px; box-sizing: border-box; }
 .mw-storefront-surface .block-callback-big2__line { margin-inline: 0; min-width: 0; max-width: 100%; }
 .mw-storefront-surface .block-callback-big2__line-item { min-width: 0; max-width: 100%; box-sizing: border-box; }
 .mw-storefront-surface .block-callback-big2__line-item .jq-selectbox { width: 100% !important; min-width: 0; max-width: 100%; }
 .mw-storefront-surface .content-description2__blockquote { display: block; min-width: 0; }
 .mw-storefront-surface .content-description2__blockquote-cite { max-width: 100%; overflow-wrap: anywhere; }
 /* Long legacy service metrics must wrap rather than push the page sideways. */
 .mw-storefront-surface .num-list1__item { flex-wrap: wrap; }
 .mw-storefront-surface .num-list1__item > span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
 .mw-storefront-surface .content-text3__view-review { max-width: 100%; box-sizing: border-box; }
 .mw-storefront-surface .block_docs:not(.slick-initialized) > div { flex-basis: 100%; }
 .mw-storefront-surface .block-add-review1__add-review { max-width: 100%; box-sizing: border-box; }
 /* Legacy hosting gallery deliberately exposed its oversized Slick track.
    Clip that gallery viewport, not .page/.page-wrap (sticky shell must survive). */
 .mw-storefront-surface .carousel4 .slick-list { overflow: hidden !important; }
 .mw-storefront-surface .carousel4 { max-width: 100%; }
 /* A flex item's automatic minimum and NBSP title expanded the office block
    on 320px phones. Keep its real text and let this block wrap in place. */
 .mw-storefront-surface .hr-yamap .hr-section-head > div { min-width: 0; max-width: 100%; }
 .mw-storefront-surface .hr-yamap .hr-section-head h2 { overflow-wrap: anywhere; }
 .mw-storefront-surface .mw-repair-status { display: none; }
 .mw-storefront-surface .mw-repair-status-mobile { display: block; padding-block: 8px; }
 .mw-repair-status-mobile a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 14px; border: 1px solid #d7e1e8; border-radius: 8px; color: #0065c9; background: #fff; font-size: 14px; line-height: 1.5; }
 .mw-storefront-surface .product-information1__right { padding-bottom: 32px; }
}
