/* LP-only floating entry. It is outside the sticky header and adds no top reservation. */
.candidate-widget-slot { display: none; }
html.candidate-widget-active .candidate-widget-slot:not([hidden]) {
  display: block;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
html.candidate-widget-active .candidate-widget-slot hotel-guest-consultation { display: block; }
/* Make the footer links reachable above the floating launcher at the end of the page. */
html.candidate-widget-active { scroll-padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
html.candidate-widget-active body { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
/* At 320px, compacting the launcher alone still covers the initial video CTA.
   Keep the same copy and 16px body text, and reduce space before both hero CTAs. */
@media (max-width: 359px) {
  .hero { padding-top: 24px; }
  .hero .product { margin-bottom: 8px; }
  .hero-kicker { margin-bottom: 6px; line-height: 1.6; }
  .hero-kicker strong { line-height: 1.6; }
  .hero .lead-flow { margin-top: 10px; font-size: 16px; line-height: 1.8; }
  .hero-actions { margin-top: 16px; gap: 8px; }
}
/* Reserve room only while the entry is available, and only on screen.
   Percent-based widths track the layout viewport including classic scrollbars.
   Wide centered frames keep an extra 18px margin for the scrollbar difference. */
@media screen {
  html.candidate-widget-active .movie-frame {
    max-width: min(100%, calc(100vw - 102px - env(safe-area-inset-right) - max(20px, calc(50vw - 540px))));
  }
}
@media screen and (max-width: 1159px) {
  html.candidate-widget-active .movie-frame { max-width: calc(100% - 64px - env(safe-area-inset-right)); }
}
@media screen and (max-width: 959px) {
  html.candidate-widget-active .hero-actions { max-width: calc(100% - 64px - env(safe-area-inset-right)); }
}
@media screen and (max-width: 600px) {
  html.candidate-widget-active .hero-actions,
  html.candidate-widget-active .movie-frame { max-width: calc(100% - 52px - env(safe-area-inset-right)); }
}
@media print {
  html.candidate-widget-active body { padding-bottom: 0; }
  .candidate-widget-slot { display: none !important; }
}
