/* Narrow repairs to native Paradise components; source grid and typefaces stay. */
html { scroll-padding-top: 110px; }
.pattern, .pattern_2, .pattern_3, .bg_gray.pattern, #icon_drag_mobile { background-image: none; }
header .logo_normal, header .logo_sticky { width: 178px; max-width: none; }
header .logo_normal img, header .logo_sticky img { width: 178px; height: 48px; }
header .logo_panel img { width: 178px; height: 48px; }
header .btn_1 { flex-shrink: 0; white-space: nowrap; }
header .main-menu > nav > ul > li > a { padding-inline: 10px; }
header .hamburger_2 { border: 0; background: transparent; padding: 12px; min-width: 48px; min-height: 48px; }
header .hamburger_2[aria-expanded="true"] .hamburger__inner { background: #203d3c; }
.hero { background-size: cover; background-position: center; }
.hero h1 { color: #fff; font-size: clamp(2.5rem, 5vw, 5.5rem); line-height: 1.1; text-wrap: balance; }
.hero .slide-animated { opacity: 1; visibility: visible; }
.hero.full-height { min-height: 720px; }
.hero.without-photo { background: #203d3c; }
.hero.medium-height.without-photo, .hero.small-height.without-photo { height: 320px; min-height: 320px; }
.hero.full-height.without-photo { height: 620px; min-height: 620px; }
.parallax_wrapper.without-photo, .pinned-image.without-photo, .media-empty { display: none; }
.row:has(> .media-empty) > [class*="col-"]:not(.media-empty) { width: 100%; max-width: 100%; }
.parallax_section_1.without-photo { background: #203d3c; }
.box_cat_rooms.without-photo { height: auto; flex: 1; background: #f5f3ef; border: 1px solid #d5d9d3; box-shadow: none; }
.row:has(> div > .box_cat_rooms.without-photo) > div { display: flex; }
.box_cat_rooms.without-photo figure { height: auto; min-height: 0; margin: 0; }
.box_cat_rooms.without-photo figure::before, .box_cat_rooms.without-photo figure::after,
.box_cat_rooms.without-photo .background-image { display: none; }
.box_cat_rooms.without-photo figure .info { position: static; padding: 32px; transform: none; background: none; }
.box_cat_rooms.without-photo .info span::before { display: none; }
.box_cat_rooms.without-photo .info span:hover { background: none; }
.box_cat_rooms.without-photo .info, .box_cat_rooms.without-photo .info h3,
.box_cat_rooms.without-photo .info small, .box_cat_rooms.without-photo .info span { color: #203d3c; }
.row_list_version_1.without-photo { margin-bottom: 32px; }
.row_list_version_1.without-photo .pinned-image { display: none; }
.row_list_version_1.without-photo .col-lg-8 { width: 100%; }
.row_list_version_1.without-photo .box_item_info { width: 100%; max-width: none; float: none !important; margin: 0; padding: 32px; transform: none !important; border-bottom: 1px solid #d5d9d3; }
.row_list_version_1.without-photo .box_item_footer { gap: 16px; flex-wrap: wrap; }
.row_list_version_1.without-photo .learn-more { width: auto; min-height: 48px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 5px; }
.row_list_version_1.without-photo .learn-more .circle { display: none; }
.row_list_version_1.without-photo .learn-more .button-text { position: static; margin: 0; padding: 12px 0; color: #203d3c; }
.production-booking-panel { z-index: 5; grid-template-columns: repeat(4,minmax(0,1fr)) minmax(170px,.9fr); }
.inner-booking .production-booking-panel { position: relative; inset: auto; transform: none; width: 100%; margin: 30px 0 0; }
.inner-booking .production-booking-panel .booking-feedback { color: #fff; }
.inner-booking { scroll-margin-top: 110px; }
.inner-gallery .item-img img { width: 100%; height: 320px; object-fit: cover; }
.inner-gallery figcaption { margin-top: 12px; line-height: 1.5; }
.map_contact { height: auto; min-height: 0; padding: 35px 5%; background: #f4f2ed; }
.production-booking-panel .children-ages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; grid-column: 1 / -1; }
.production-booking-panel .children-ages:empty { display: none; }
.production-booking-panel .booking-feedback { grid-column: 1 / -1; margin: 0; font-size: 14px; color: #fff; }
.booking-feedback:empty { display: none; }
.production-booking-panel button { white-space: normal; }
.pinned-image__media { width: 100%; height: 100%; object-fit: cover; }
.box_cat_rooms .background-image { background-size: cover; background-position: center; }
.box_cat_rooms .info span { display: block; opacity: 1; visibility: visible; font-size: 14px; line-height: 1.5; max-width: 38ch; }
.box_cat_rooms .info small { line-height: 1.5; }
.box_cat_rooms figure .info { bottom: 0 !important; }
.box_cat_rooms figure .info span { display: block !important; opacity: 1 !important; position: static; }
.box_cat_rooms .info h3 { font-size: clamp(1.4rem, 2vw, 2.2rem); }
#rooms .title small, #gallery .title small { font-size: 15px; letter-spacing: 0; text-transform: none; line-height: 1.7; max-width: 75ch; }
#services { scroll-margin-top: 105px; }
.box_facilities { min-height: 210px; }
.accordion .card-header a { display: block; min-height: 48px; padding: 18px 20px; color: #203d3c; text-align: left; }
.accordion .card-body { color: #303734; text-align: left; }
.accordion .card-body p { margin: 0; }
.accordion .card { margin-bottom: 10px; }
#gallery .box_contents figure { height: 270px; overflow: hidden; }
#gallery .box_contents figure img { width: 100%; height: 100%; object-fit: cover; }
#gallery .box_contents .wrapper { padding-block: 24px; }
#gallery .box_contents h3 { font-size: 24px; }
.phone_element a { color: #203d3c; font-size: 18px; }
.marquee { pointer-events: none; }
.marquee .track { animation: none; }
:focus-visible { outline: 3px solid #6f5140; outline-offset: 5px; }
.production-booking-panel :focus-visible,header :focus-visible { outline-color: #e3c7a3; }
@media (min-width: 992px) {
  header .main-menu > nav > ul { display: flex; justify-content: flex-end; align-items: center; }
  header .main-menu > nav > ul > li { flex-shrink: 0; }
  header .main-menu > nav > ul > li > a { font-size: 14px; }
}
@media (max-width: 991px) {
  .hero.full-height.without-photo { height: auto; min-height: 0; }
  .hero.full-height { height: auto; min-height: 0; padding-top: 360px; }
  .hero .wrapper { position: absolute; top: 0; width: 100%; height: 360px; }
  .production-booking-panel { position: relative; inset: auto; transform: none; margin: 0 auto 24px; }
  .main-menu.show { overflow-y: auto; max-height: 100dvh; }
  .main-menu:not(.show) { visibility: hidden; pointer-events: none; }
  .main-menu.show { visibility: visible; pointer-events: auto; }
  .main-menu nav a { min-height: 48px; }
  .logo_panel { padding-block: 25px; }
  .box_facilities { min-height: 0; }
}
@media (max-width: 575px) {
  .production-booking-panel { grid-template-columns: 1fr 1fr; }
  .production-booking-panel .children-ages { grid-template-columns: 1fr; }
  .production-booking-panel > button { grid-column: 1 / -1; }
  .hero .wrapper { height: 320px; }
  .hero.full-height { padding-top: 320px; }
  .hero h1 { font-size: 2.8rem; }
  #gallery .box_contents figure { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .slide-animated, [data-cue], [data-cues] { animation: none !important; transform: none !important; opacity: 1 !important; }
  .jarallax, .jarallax-img { transform: none !important; }
}
