/* RestoreHer mobile viewport safety — v2.7.
 * Keep the PUBLISHED page at its real mobile width, including while the visual editor
 * is open. Fix intrinsic sizing in content rather than scaling the page to fit.
 * This stylesheet loads AFTER the Hostinger site, creative blocks and visual editor.
 */
@media (max-width: 767.98px) {
  html, body {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow-x: clip !important;
    overscroll-behavior-x: none;
  }
  #rhs-app {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow-x: clip !important;
    position: relative;
  }
  #rhs-app :is(main, main > *, section, .rhs-page-layout, .rhs-builder-content, .rhs-section-inner,
    .rhs-section-main, .rhs-section-copy, .rhs-section-items, .rhs-section-item,
    .rhs-section-subblocks, .rhs-subblock, .rhs-calendar, .rhs-calendar-list,
    .rhs-calendar-card, .rhs-calendar-controls) {
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  /* Prevent flex/grid min-content from forcing entire sections wider than the phone. */
  #rhs-app :is(.grid, .flex, [class*="grid-cols-"], .rhs-section-main, .rhs-section-items,
    .rhs-calendar-list) > * { min-inline-size: 0; }
  #rhs-app :is(img, video, canvas, iframe) {
    max-inline-size: 100%;
  }
  #rhs-app main :is(h1,h2,h3,h4,h5,h6,p,blockquote,li,a,button,figcaption,
    .rhs-section-button,.rhs-calendar-entry) {
    overflow-wrap: anywhere;
  }
  #rhs-app :is(a, button, .rhs-section-button) {
    max-inline-size: 100%;
  }
  #rhs-app :is(pre, code) {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  /* Decorative masks and freely positioned swirls stay inside their own section;
     the image itself is not distorted or replaced. */
  #rhs-app .rhs-section { min-inline-size: 0; max-inline-size: 100%; overflow-x: clip; }
  #rhs-app .rhs-section-decor { max-inline-size: 100%; overflow: clip; }
  #rhs-app .rhs-decor-block, #rhs-app .rhs-section-photo,
  #rhs-app .rhs-decoration-standalone { max-inline-size: 100%; }
  #rhs-app .rhs-section-photo img { max-inline-size: 100%; }
  /* Seven-column calendars must remain seven columns, but a long title must wrap. */
  #rhs-app .rhs-calendar-weekdays,
  #rhs-app .rhs-calendar-days { min-inline-size: 0; max-inline-size: 100%; }
  #rhs-app .rhs-calendar-cell { min-inline-size: 0; }
  #rhs-app .rhs-calendar-entry { min-inline-size: 0; overflow-wrap: anywhere; }
  /* Navigation drawer is fixed to the *viewport*, not the sticky/blurred header. */
  .rhs-mobile-menu-backdrop { inset: 0; max-inline-size: 100dvw; }
  .rhs-mobile-menu-drawer {
    inset-inline-start: auto;
    inset-inline-end: 0;
    inline-size: min(88dvw,380px);
    max-inline-size: 100dvw;
    min-inline-size: 0;
    overflow-x: clip;
  }
  .rhs-mobile-menu-drawer nav,
  .rhs-mobile-menu-drawer nav a { min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
  /* Editor overlays never reflow or widen the real page. */
  body.rhs-editing #rhs-app, body.rhs-phone-open #rhs-app {
    margin-inline: 0 !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
  }
  #rhs-design-toolbar {
    box-sizing: border-box;
    max-inline-size: calc(100dvw - 14px) !important;
    min-inline-size: 0;
    /* Keep the More menu/popovers visible outside the toolbar itself. */
    overflow: visible !important;
    flex-wrap: wrap;
  }
  #rhs-design-panel {
    box-sizing: border-box;
    max-inline-size: calc(100dvw - 14px) !important;
    min-inline-size: 0;
  }
  #rhs-design-panel :is(.rhs-panel-heading,.rhs-panel-body,.rhs-panel-actions,.rhs-panel-footer,
    .rhs-control,.rhs-palette-row,.rhs-palette-enhanced,.rhs-layout-choices) {
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  #rhs-design-panel :is(input,select,textarea,button) { max-inline-size: 100%; }
  .rhs-dialog-backdrop { max-inline-size: 100dvw; padding: 10px; }
  .rhs-dialog { max-inline-size: 100%; min-inline-size: 0; }
  body.rhs-preview-mode #rhs-design-toolbar {
    right: max(8px,env(safe-area-inset-right)) !important;
    max-inline-size: calc(100dvw - 16px) !important;
  }
}
@supports not (overflow: clip) {
  @media (max-width: 767.98px) {
    html,body,#rhs-app,#rhs-app .rhs-section,#rhs-app .rhs-section-decor {
      overflow-x: hidden !important;
    }
  }
}
