/* Footer keeps its established Figma fonts, colors, container widths and booking CTA. */
.nr-footer .nr-footer-widget-area,
.nr-footer .nr-footer-widget,
.nr-footer .nr-footer-col { min-width: 0; }
.nr-footer .nr-footer-widget { margin: 0; }
.nr-footer .nr-footer-intro { text-align: center; }
.nr-footer .nr-footer-intro .nr-eyebrow { margin: 0 0 22px; text-align: center; }
.nr-footer .nr-footer-intro .wp-block-heading {
  max-width: 850px;
  margin: 0 auto 35px;
  text-align: center;
  font-size: clamp(24px,2vw,30px);
  font-weight: 400;
}
.nr-footer .nr-footer-booking-slot {
  width: min(100%, 1250px);
  max-width: 1250px;
  margin: 0 auto;
  padding: clamp(20px, 2.5vw, 34px);
  background: #fff;
  box-shadow: 0 8px 30px rgba(1,35,65,.09);
}
.nr-footer .nr-footer-booking-slot > .nr-footer-widget { width: 100%; }
.nr-footer .nr-footer-booking-slot .wp-block-shortcode { width: 100%; max-width: none; margin: 0; }
.nr-footer .nr-footer-note { text-align: center; }
.nr-footer .nr-footer-note .nr-booking-notice { margin: 0 auto 15px; }
.nr-footer .nr-footer-inner > .nr-footer-columns.wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(35px,4vw,80px);
  align-items: start;
  width: 100%;
  max-width: 1250px;
  margin: 78px auto 60px;
  text-align: left;
}
/* Outrank WP Hotel Booking's body.wp-hotel-booking-page:not(.tp-themes-premium) h3. */
.nr-footer .nr-footer-inner .nr-footer-columns h3 { font-size: 17px; }
/* Native WP Navigation Menu widget gets the same list layout as the left footer menu. */
.nr-footer .nr-footer-col .widget_nav_menu ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nr-footer .nr-footer-col .widget_nav_menu ul.menu li {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  color: inherit;
  font: 400 15px/1.7 var(--nr-body);
}
.nr-footer .nr-footer-col .widget_nav_menu ul.menu li:last-child { margin-bottom: 0; }
.nr-footer .nr-footer-col .widget_nav_menu ul.menu a { color: inherit; text-decoration: none; }
.nr-footer .nr-footer-col .widget_nav_menu ul.menu a:hover,
.nr-footer .nr-footer-col .widget_nav_menu ul.menu a:focus-visible { color: #456e8d; text-decoration: none; }
.nr-footer .nr-footer-col .nr-footer-widget > :first-child { margin-top: 0; }
.nr-footer .nr-footer-col .nr-footer-widget > :last-child { margin-bottom: 0; }
.nr-footer .nr-footer-col .nr-footer-widget + .nr-footer-widget { margin-top: 16px; }
.nr-footer .nr-footer-inner > .nr-footer-bottom { width: 100%; }
.nr-footer .nr-footer-bottom .nr-footer-widget { line-height: 1.8; }
@media (max-width: 1199px) {
  .nr-footer .nr-footer-booking-slot .nr-native-home-search form.nr-home-search-form { display: block; }
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields.hb-form-table,
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields:has(.nr-home-search-hidden) { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .nr-footer .nr-footer-booking-slot .nr-native-home-search p.hb-submit { width: 100%; margin-top: 14px; }
}
@media (max-width: 767px) {
  .nr-footer .nr-footer-intro .wp-block-heading { font-size: clamp(23px,6vw,30px); }
  .nr-footer .nr-footer-booking-slot { padding: 20px 16px; }
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields.hb-form-table,
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields:has(.nr-home-search-hidden) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nr-footer .nr-footer-inner > .nr-footer-columns.wp-block-columns {
    grid-template-columns: minmax(0,1fr);
    gap: 34px;
    margin: 55px auto 38px;
  }
}
@media (max-width: 420px) {
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields.hb-form-table,
  .nr-footer .nr-footer-booking-slot .nr-native-home-search ul.nr-home-search-fields:has(.nr-home-search-hidden) { grid-template-columns: minmax(0,1fr); }
}
