/* Shared presentation repairs for the resort's existing pages. */
:root { --resort-accent: #bc5424; --resort-ink: #253b38; }
html { scroll-behavior: smooth; }
body.phoenix { color: var(--resort-ink); }
body.phoenix img { max-width: 100%; }
body.phoenix header .navbar-top { background: #fff; box-shadow: 0 2px 16px #253b3814; }
body.phoenix header .navbar-top .navbar-nav > li > a,
body.phoenix header .navbar-top .navbar-nav > li > a:hover { color: var(--resort-ink); }
body.phoenix header .navbar-top .navbar-nav > li > a:hover,
body.phoenix header .navbar-top .navbar-nav > li > a.active { color: var(--resort-accent); }
body.phoenix .navbar-brand { display: block; width: 142px; height: 80px; padding: 6px; }
body.phoenix .navbar-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.phoenix .resv_button { background: var(--resort-accent); color: #fff; border: 0; padding: 12px 22px; }
body.phoenix .image-content-wrapper picture { display: block; }
body.phoenix .image-content-wrapper picture img { display: block; width: 100%; height: auto; }
body.phoenix .imageDescriptionSide .image-content-wrapper picture img { aspect-ratio: 3 / 2; object-fit: cover; }
body.phoenix .content_wrapper .no-gutter p { line-height: 1.85; }
body.phoenix .content_wrapper .no-gutter h1,
body.phoenix .content_wrapper .no-gutter h2 { color: var(--resort-ink); line-height: 1.3; }
body.phoenix.for-homepage .outer-page .content_wrapper .no-gutter .widget-wrapper.wls-1img-widget-483 { margin-top: 0; }
body.phoenix.for-homepage video.image-content { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 78vh; object-fit: cover; background: #253b38; }
body.phoenix a:focus-visible,
body.phoenix button:focus-visible { outline: 3px solid var(--resort-accent); outline-offset: 4px; }
@media (max-width: 767px) {
  body.phoenix header .navbar-top .container { position: relative; }
  body.phoenix .navbar-header { min-height: 80px; }
  body.phoenix .navbar-toggle { margin-top: 23px; border-color: #253b38; }
  body.phoenix .navbar-toggle .icon-bar { background: var(--resort-ink); }
  body.phoenix .navbar-collapse { max-height: 70vh; overflow-y: auto; background: #fff; }
  body.phoenix .navbar-nav { margin: 8px 0; }
  body.phoenix .navbar-nav > li > a { padding: 12px 16px; }
  body.phoenix .imageDescriptionSide > .col-sm-6 { width: 100%; float: none; }
  body.phoenix .imageDescriptionSide .text-content { padding: 24px !important; }
  body.phoenix .content_wrapper .no-gutter p { font-size: 15px; text-align: left !important; }
  body.phoenix .content_wrapper .no-gutter h1 { font-size: 28px; }
  body.phoenix.for-homepage video.image-content { min-height: 240px; }
  body.phoenix footer .footer_navbar .navbar-nav { display: flex; flex-wrap: wrap; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* The exported desktop theme forces a 767px canvas on phones. */
@media (max-width: 767px) {
  body.phoenix.for-homepage { min-width: 0 !important; overflow-x: hidden !important; }
  body.phoenix.for-homepage header { position: sticky; }
  body.phoenix.for-homepage header .navbar-top { height: auto; min-height: 80px; margin: 0; }
  body.phoenix.for-homepage header .container { width: 100%; padding: 0 15px; }
  body.phoenix.for-homepage .navbar-header { float: none; margin: 0; padding-right: 116px; }
  body.phoenix.for-homepage .navbar-brand { left: 8px; top: 0; width: 118px; }
  body.phoenix.for-homepage .navbar-toggle { display: block; position: absolute; right: 124px; top: 0; margin-right: 0; }
  body.phoenix.for-homepage .lang-book-wrapper { position: absolute; right: 12px; top: 20px; margin: 0; }
  body.phoenix.for-homepage .resv-wrap { margin: 0; }
  body.phoenix.for-homepage .resv-wrap .resv_button { padding: 10px 14px; font-size: 12px; }
  body.phoenix.for-homepage #top-menu { float: none; margin: 0; padding: 0; }
  body.phoenix.for-homepage #top-menu.collapse:not(.in) { display: none !important; }
  body.phoenix.for-homepage #top-menu.in { display: block !important; }
  body.phoenix.for-homepage #top-menu .navbar-nav { float: none; width: 100%; }
  body.phoenix.for-homepage #top-menu .navbar-nav > li { display: block; float: none; width: 100%; }
  body.phoenix.for-homepage #top-menu .navbar-nav > li > a { display: block; padding: 12px 16px; }
  body.phoenix.for-homepage .homepage { margin-top: 0; }
  body.phoenix.for-homepage .content_wrapper .no-gutter .widget-wrapper,
  body.phoenix.for-homepage .content_wrapper .no-gutter .widget-wrapper.fullWidthWidget { width: 100%; max-width: 100% !important; }
  body.phoenix.for-homepage .content_wrapper .no-gutter .imageDescriptionSide { display: flex; flex-direction: column; }
  body.phoenix.for-homepage .imageDescriptionSide > .image-content,
  body.phoenix.for-homepage .imageDescriptionSide > .text-content { width: 100%; max-width: 100%; margin: 0; flex-basis: auto; }
  body.phoenix.for-homepage .imageDescriptionSide .text-content-wrapper { padding: 0; }
  body.phoenix.for-homepage .plyr,
  body.phoenix.for-homepage .plyr__video-wrapper { width: 100%; min-width: 0; }
  body.phoenix.for-homepage .modal-dialog { width: auto; margin: 12px; }
}
@media (max-width: 767px) {
  body.phoenix.for-homepage header .navbar-top .lang-book-wrapper,
  body.phoenix.for-homepage header .navbar-top .resv-wrap,
  body.phoenix.for-homepage header .navbar-top .resv-wrap .resv_button { width: auto; min-width: 0; height: auto; }
  body.phoenix.for-homepage header .navbar-top .resv-wrap .resv_button { padding: 10px 14px; line-height: 20px; }
  body.phoenix.for-homepage .outer-page .content_wrapper .no-gutter .widget-wrapper.imageDescriptionSide > .left-box,
  body.phoenix.for-homepage .outer-page .content_wrapper .no-gutter .widget-wrapper.imageDescriptionSide > .right-box { width: 100%; max-width: 100%; margin: 0; left: auto; right: auto; transform: none; }
}
