/* Original MOVENDI theme rules are loaded unchanged, apart from local asset URLs.
   This file replaces the former builder's interaction and layout calculations. */
html { scroll-behavior: smooth; }
.movendi-mail-button { font-family: 'Ropa Sans', Arial, sans-serif; font-size: 20px; color: #fff; border: 0; border-radius: 3px; padding: 20px 32px; width: auto; max-width: 100%; text-align: center; box-sizing: border-box; }
.movendi-contact-action { text-align: center; padding: 24px 0; }
.movendi-video { display: block; position: absolute; width: 100%; height: 100%; object-fit: contain; background: #000; }
button.mobile-burger { border: 0; margin: 0; }
button.toggle-header { background: transparent; text-align: left; font-weight: normal; line-height: inherit; }
.toggle-widget > section.open .toggle-widget-content-wrapper { max-height: none; }
.toggle-widget-content-wrapper[hidden] { display: none; }
a:focus-visible, button:focus-visible, video:focus-visible { outline: 3px solid #cf3730; outline-offset: 4px; }
/* Site-builder lazy animations must not leave content invisible without its runtime. */
[data-animation] { visibility: visible; }
.mobile-header-wrapper { visibility: hidden; }
.page-layout.open .mobile-header-wrapper { visibility: visible; }
@media (min-width: 769px) { .mobile-header-shell { display: none; } }
@media (max-width: 768px) {
  .mobile-header-shell { display: block; }
  .movendi-mail-button { padding: 18px 24px; }
  .page-layout.open .mobile-header-overlay { background: rgba(0,0,0,.25); }
  .mobile-header-wrapper { transition: left .3s ease, visibility .3s; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.movendi-video-placeholder { width:100%;height:100%;background-size:cover;background-position:center;position:relative; }
.movendi-video-play { border:0;padding:0;position:absolute;inset:0;width:100%;height:100%;background:transparent;cursor:pointer;color:#fff;font-size:72px;text-shadow:0 2px 12px #333; }
.movendi-video { border:0; }
/* Preserve the original text and typography; allow long URLs/words to wrap. */
.text-widget-content { overflow-wrap: anywhere; }
/* At tablet widths, keep every header item available instead of clipping the phone number. */
@media (min-width:769px) and (max-width:1199px) {
 .header-row .flex-header { flex-wrap:wrap;gap:12px 20px;justify-content:space-between; }
 .header-row .header-widget-container.flex-1 { flex:0 1 auto; }
 .header-row .header-widget-container:last-child { margin-left:auto; }
}
/* The original fixed 72px headings collide with two-column tablet layouts. */
@media (min-width:769px) and (max-width:1199px) {
 .text-widget-content h1, .text-widget-content h1 span { font-size:clamp(40px,4.5vw,64px) !important; }
}
@media (max-width:480px) {
 .text-widget-content h1, .text-widget-content h2 { hyphens:auto; }
}
.theme a.theme-button.movendi-mail-button,
.theme a.theme-button.movendi-mail-button:hover { color:#ffffff !important; }

/* Static pages do not run the former page builder's reveal animations. */
.live-theme .anim-delayed-item[data-animation] {
 visibility: visible !important;
 opacity: 1 !important;
 animation: none !important;
}
/* Original brand red; invert the doctors-login button without a layout shift. */
:is(#header-widget-1533304111444, #header-widget-1533304111444-mobile) a.theme-button[href*="movendi-portal.dental/login.aspx"]::before {
 display: none !important;
}
:is(#header-widget-1533304111444, #header-widget-1533304111444-mobile) a.theme-button[href*="movendi-portal.dental/login.aspx"]:is(:hover, :focus-visible) {
 background: #ffffff !important;
 color: #cf3730 !important;
 box-shadow: inset 0 0 0 2px #cf3730 !important;
}
:is(#header-widget-1533304111444, #header-widget-1533304111444-mobile) a.theme-button[href*="movendi-portal.dental/login.aspx"]:is(:hover, :focus-visible) span {
 color: inherit !important;
}
