/* Menu and dialog share one page lock and restore the reading position. */
html.pp-scroll-locked { overflow: hidden; }
html.pp-scroll-locked body { position: fixed; top: calc(-1 * var(--pp-scroll-y, 0px)); left: 0; right: 0; width: 100%; overflow: hidden; }
html.pp-scroll-locked [data-mcta], html.pp-menu-open [data-cc] { display: none !important; }
html.pp-ui [data-calc-modal][open] { inset: var(--pp-viewport-top, 0px) 0 auto; height: var(--pp-viewport-height, 100dvh); max-height: none; padding: 12px 0; box-sizing: border-box; }
html.pp-ui [data-calc-modal] .cm__box { max-height: 100%; box-sizing: border-box; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scroll-padding: 16px; }
html.pp-ui [data-calc-modal] input, html.pp-ui [data-installation] input { font-size: max(16px, 1rem); }
html.pp-ui [data-calc-modal] .cm__close { position: sticky; top: 0; float: right; margin: -12px -4px 0 8px; z-index: 2; }
@media (max-width: 1200px) {
  html.pp-ui .hdr { position: sticky; top: 0; z-index: 50; transition: transform 180ms ease; }
  html.pp-ui .hdr.pp-header-hidden:not(.is-menu-open) { transform: translateY(-100%); }
  html.pp-ui .hdr__nav, html.pp-ui .hdr__btn, html.pp-ui .hdr__phone-box { display: none; }
  html.pp-ui .hdr__burger { display: flex; }
  html.pp-ui .hdr.is-menu-open { position: fixed; inset: var(--pp-viewport-top, 0px) 0 auto; display: flex; flex-direction: column; width: 100%; height: var(--pp-viewport-height, 100dvh); max-height: none; overflow: hidden; z-index: 100; transform: none; transition: none; }
  html.pp-ui .hdr.is-menu-open .hdr__util, html.pp-ui .hdr.is-menu-open .hdr__in { flex: 0 0 auto; width: 100%; box-sizing: border-box; }
  html.pp-ui .hdr__mobile:not([hidden]) { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html.pp-ui .hdr { transition: none; }
  html.pp-ui [data-calc-modal] .cm__box { animation: none; }
}
