/*!
  * Milligram v1.4.1
  * https://milligram.io
  *
  * Copyright (c) 2020 CJ Patoilo
  * Licensed under the MIT license
 */
:root {
    /* Teton Reserve mapping (Phase 0). Falls back to the Teton hexes if the
       token layer (teton-reserve.css) fails to load. Old slate values retired:
       accent #274156 → gold, primary #0A0A0A → charcoal, secondary #EBEEEB →
       linen, cream #FFFAF0 → #FAFAF8. */
    --abe-global-color-primary: var(--brand-heading, #1C1917);
    --abe-global-color-secondary: var(--brand-surface-alt, #F5F3EF);
    --abe-global-color-text: var(--brand-text, #3C3836);
    --abe-global-color-accent: var(--brand-accent, #A16207);
    --abe-global-color-2b35b52: var(--brand-bg, #FAFAF8);
    --abe-global-typography-primary-font-family: var(--brand-font-body, "Montserrat");
    --abe-global-typography-primary-font-weight: 600;
    --abe-global-typography-secondary-font-family: var(--brand-font-display, "Cormorant Garamond");
    --abe-global-typography-secondary-font-weight: 600;
    --abe-global-typography-text-font-family: var(--brand-font-body, "Montserrat");
    --abe-global-typography-text-font-weight: 400;
    --abe-global-typography-accent-font-family: "Roboto";
    --abe-global-typography-accent-font-weight: 500;
    color: var(--abe-global-color-text);
}

*,
*:after,
*:before {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

body {
    overflow-x: visible;
}

.errormsg {
    font-size: 0.8rem;
    margin: 0;
    top: -10px;
    padding: 0;
    color: red;
    position: relative;
}

.vrp-page {
    background-color: #ffffff !important;
}

.vrp-page .page-wrapper,
.vrp-page .page-wrapper__content {
    overflow: unset !important;
}

.vrp-page .section-masthead .section-masthead__overlay {
    background-color: #000000A1;
}

body .abe {
    color: var(--abe-global-color-primary);
    font-weight: 400;
    line-height: 1.6;
    font-family: var(--abe-global-typography-primary-font-family);
    background-color: #fff;
}

.abe blockquote {
    border-left: 0.3rem solid #d1d1d1;
    margin-left: 0;
    margin-right: 0;
    padding: 1rem 1.5rem;
}

blockquote *:last-child {
    margin-bottom: 0;
}

.hiddeninputscc {
    visibility: hidden;
    opacity: 0;
    height: 0;
}

.abe-flex-form {
    display: flex;
    flex-direction: column;
}

.abe-form-wrapper {
    justify-content: center;
}

#moving-search {
    margin-top: 0;
    margin-bottom: 0;
    width: 16px;
    height: 16px;
    -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 1);
    -moz-box-shadow: 0 0 0 1px rgba(255, 255, 255, 1);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 1);
}

#map-controls {
    padding: 0.33rem 0.66rem;
    position: absolute;
    top: 40px;
    left: 5px;
    z-index: 10;
}

#map-controls span {
    display: inline;
    padding: 0 0.33rem;
    font-weight: 600;
    font-size: 14px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.66);
}

#map-controls label {
    display: flex;
    align-items: center;
    background: #ffffff33;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 0;
    height: 2.2rem;
    padding: 0 0.33rem;
    cursor: pointer;
}

#abe-map-results .col:not(.elementor-column),
#abe-map-results [class*=col-]:not(.elementor-column),
#abe-map-results [class*=col-]:not(.elementor-column) {
    padding: 0;
}

#abe-map-results .row {
    margin-right: 0;
    margin-left: 0px;
}

#abe-map-results .container-fluid,
#abe-map-results .container-fluid.swiper-container {
    margin: 0;
    padding: 0;
}

#abe-map-results .icons-map {
    margin: 0;
}

#abe-map-results .container-fluid .col-12 {
    justify-content: center;
    align-items: center;
    display: flex;
}

.abe .button,
.abe-button,
#featured-units .button,
button.abe-button,
.abe input[type='button'],
.abe input[type='reset'],
.abe input[type='submit'] {
	height: 3rem;
	line-height: 3rem;
	border: 1px solid var(--abe-global-color-accent);
	cursor: pointer;
	display: inline-block;
	font-size: 0.75rem;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	text-align: center;
	white-space: nowrap;
	background-color: var(--e-global-color-accent);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	fill: var(--e-global-color-2b35b52);
	color: var(--e-global-color-2b35b52);
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	padding: 0 1.5rem;
}

.abe #bookingbuttonvrp {
    display: block;
    margin:0 auto;
    width: 100%;
}

/* Reservation Request page: Submit Inquiry button */
.abe.abe-payment #bookingbuttonvrp {
	background-color: var(--e-global-color-accent);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	fill: var(--e-global-color-2b35b52);
	color: var(--e-global-color-2b35b52);
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	padding: 0 2rem;
	height: 3.5rem;
	line-height: 3.5rem;
}

.abe .button:focus,
.abe .button:hover,
.abe-button:hover,
.abe-button:focus,
button.abe-button:focus,
button.abe-button:hover,
#featured-units .button:focus,
#featured-units .button:hover,
.abe input[type='button']:focus,
.abe input[type='button']:hover,
.abe input[type='reset']:focus,
.abe input[type='reset']:hover,
.abe input[type='submit']:focus,
.abe input[type='submit']:hover {
    background-color: #FFF !important;
    border: 1px solid var(--abe-global-color-accent) !important;
    color: var(--abe-global-color-accent) !important;
    outline: 0;
}

.abe .button[disabled],
.abe input[type='button'][disabled],
.abe input[type='reset'][disabled],
.abe input[type='submit'][disabled] {
    cursor: default;
    opacity: .5;
}

.abe .button[disabled]:focus,
.abe .button[disabled]:hover,
.abe input[type='button'][disabled]:focus,
.abe input[type='button'][disabled]:hover,
.abe input[type='reset'][disabled]:focus,
.abe input[type='reset'][disabled]:hover,
.abe input[type='submit'][disabled]:focus,
.abe input[type='submit'][disabled]:hover {
    background-color: #002c2f;
    border-color: #002c2f;
}

.abe .button.button-outline,
.abe button.button-outline,
.abe input[type='button'].button-outline,
.abe input[type='reset'].button-outline,
.abe input[type='submit'].button-outline {
	background-color: var(--e-global-color-accent);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	fill: var(--e-global-color-2b35b52);
	color: var(--e-global-color-2b35b52);
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	padding: 0 1.5rem;
}

.abe .button.button-outline:focus,
.abe .button.button-outline:hover,
.abe button.button-outline:focus,
.abe button.button-outline:hover,
.abe input[type='button'].button-outline:focus,
.abe input[type='button'].button-outline:hover,
.abe input[type='reset'].button-outline:focus,
.abe input[type='reset'].button-outline:hover,
.abe input[type='submit'].button-outline:focus,
.abe input[type='submit'].button-outline:hover {
    background-color: #fff;
    border-color: var(--abe-global-color-accent);
    color: #fff;
}

.abe .button.button-outline[disabled]:focus,
.abe .button.button-outline[disabled]:hover,
.abe button.button-outline[disabled]:focus,
.abe button.button-outline[disabled]:hover,
.abe input[type='button'].button-outline[disabled]:focus,
.abe input[type='button'].button-outline[disabled]:hover,
.abe input[type='reset'].button-outline[disabled]:focus,
.abe input[type='reset'].button-outline[disabled]:hover,
.abe input[type='submit'].button-outline[disabled]:focus,
.abe input[type='submit'].button-outline[disabled]:hover {
    border-color: inherit;
    color: #002c2f;
}

.abe .button.button-clear,
.abe button.button-clear,
.abe input[type='button'].button-clear,
.abe input[type='reset'].button-clear,
.abe input[type='submit'].button-clear {
    background-color: transparent;
    border-color: transparent;
    color: #002c2f;
}

.abe .button.button-clear:focus,
.abe .button.button-clear:hover,
.abe button.button-clear:focus,
.abe button.button-clear:hover,
.abe input[type='button'].button-clear:focus,
.abe input[type='button'].button-clear:hover,
.abe input[type='reset'].button-clear:focus,
.abe input[type='reset'].button-clear:hover,
.abe input[type='submit'].button-clear:focus,
.abe input[type='submit'].button-clear:hover {
    background-color: transparent;
    border-color: transparent;
    color: #4f6169;
}

.abe .button .abe .button-clear[disabled]:focus,
.abe .button .abe .button-clear[disabled]:hover,
button .abe .button-clear[disabled]:focus,
button .abe .button-clear[disabled]:hover,
.abe input[type='button'] .abe .button-clear[disabled]:focus,
.abe input[type='button'] .abe .button-clear[disabled]:hover,
.abe input[type='reset'] .abe .button-clear[disabled]:focus,
.abe input[type='reset'] .abe .button-clear[disabled]:hover,
.abe input[type='submit'] .abe .button-clear[disabled]:focus,
.abe input[type='submit'] .abe .button-clear[disabled]:hover {
    color: #002c2f;
}

.abe-sort-wrapper .abe-share,
.abe-sort-wrapper .abe-favorite-show a {
    font-size: 0.9rem;
    color: var(--abe-global-color-primary);
    font-weight: 400;
}

code {
    background: #f4f5f6;
    border-radius: .2rem;
    font-size: 86%;
    margin: 0 .2rem;
    padding: .2rem .5rem;
    white-space: nowrap;
}

pre {
    background: #f4f5f6;
    border-left: 0.3rem solid #002c2f;
    overflow-y: hidden;
}

pre>code {
    border-radius: 0;
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre;
}

hr {
    border: 0;
    border-top: 1px solid #f4f5f6;
    margin: 3.0rem 0;
}

.abe input[type='color'],
.abe input[type='date'],
.abe input[type='datetime'],
.abe input[type='datetime-local'],
.abe input[type='email'],
.abe input[type='month'],
.abe input[type='number'],
.abe input[type='password'],
.abe input[type='search'],
.abe input[type='tel'],
.abe input[type='text'],
.abe input[type='url'],
.abe input[type='week'],
.abe input:not([type]),
.abe textarea,
.abe select {
    -webkit-appearance: none;
    border: 1px solid var(--abe-global-color-primary);
    color: var(--abe-global-color-primary);
    border-radius: 7px;
    box-shadow: none;
    box-sizing: inherit;
    height: auto;
    font-size: 0.9rem;
    width: 100%;
    background-color: #fff;
}

.abe input[type='color']:focus,
.abe input[type='date']:focus,
.abe input[type='datetime']:focus,
.abe input[type='datetime-local']:focus,
.abe input[type='email']:focus,
.abe input[type='month']:focus,
.abe input[type='number']:focus,
.abe input[type='password']:focus,
.abe input[type='search']:focus,
.abe input[type='tel']:focus,
.abe input[type='text']:focus,
.abe input[type='url']:focus,
.abe input[type='week']:focus,
.abe input:not([type]):focus,
.abe textarea:focus,
.abe select:focus {
    /* border-color: #002c2f; */
    outline: 0;
}

.abe select {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 8" width="18"><path fill="%23023459" d="M0,0l6,8l6-8"/></svg>') center right no-repeat;
    padding-right: 1.4rem;
    background-color: #fff;
}

/* .abe select:focus {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 8" width="18"><path fill="%23444444" d="M0,0l6,8l6-8"/></svg>');
} */

::placeholder {
    color: var(--abe-global-color-primary);
}

.abe select[multiple] {
    background: none;
    height: auto;
}

.abe textarea {
    min-height: 6.5rem;
}

label,
legend {
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

fieldset {
    border-width: 0;
    padding: 0;
}

.abe input[type='checkbox'],
.abe input[type='radio'] {
    display: inline;
}

.label-inline {
    display: inline-block;
    font-weight: normal;
    margin-left: .5rem;
}

input:required,
textarea:required,
select:required {
    position: relative;
  padding: 10px 15px 10px 15px;
}

input:required,
textarea:required,
select:required {
    vertical-align: top;
    background: url('../images/asterisk.svg') no-repeat 99% center;
    background-size: 12px 12px;
}

.bg-accent-abe {
    /* Structural dark surface (header bar). Teton: large dark areas use charcoal,
       never the gold accent — gold stays reserved for buttons/links/rules. */
    background-color: var(--brand-inverse-bg, #1C1917);
    /* top: 32px; */
    padding: 15px 0px;
}

.abe-inner-container, .abe-unit-container {
    margin: 0 auto;
    position: relative;
    width: 100%;
    /* max-width: 1440px; */
    max-width: 100%;
    /* padding-left: 4rem;
    padding-right: 4rem; */
    padding-left: 120px;
    padding-right: 120px;
    padding-bottom: 120px;
}

.abe-inner-container.unit {
    padding: 0;
}

.abe-container {
    margin: 0 auto;
    position: relative;
    width: 100%;
}

.abe-row {
    display: flex;
    flex-direction: row;
    padding: 0;
    width: 100%;
}

.abe-row.abe-row-no-padding {
    padding: 0;
}

.abe-row.abe-row-no-padding>.abe-column {
    padding: 0;
}

.abe-row.abe-row-wrap {
    flex-wrap: wrap;
}

.abe-row.abe-row-top {
    align-items: flex-start;
}

.abe-row.abe-row-bottom {
    align-items: flex-end;
}

.abe-row.abe-row-center {
    align-items: center;
}

.abe-row.abe-row-stretch {
    align-items: stretch;
}

.abe-row.abe-row-baseline {
    align-items: baseline;
}

.abe-row .abe-column {
    display: block;
    flex: 1 1 auto;
    margin-left: 0;
    max-width: 100%;
    padding: 0 0.2rem;
    width: 100%;
}

.abe-row .abe-column.abe-column-offset-10 {
    margin-left: 10%;
}

.abe-row .abe-column.abe-column-offset-20 {
    margin-left: 20%;
}

.abe-row .abe-column.abe-column-offset-25 {
    margin-left: 25%;
}

.abe-row .abe-column.abe-column-offset-33,
.abe-row .abe-column.abe-column-offset-34 {
    margin-left: 33.3333%;
}

.abe-row .abe-column.abe-column-offset-40 {
    margin-left: 40%;
}

.abe-row .abe-column.abe-column-offset-50 {
    margin-left: 50%;
}

.abe-row .abe-column.abe-column-offset-60 {
    margin-left: 60%;
}

.abe-row .abe-column.abe-column-offset-66,
.abe-row .abe-column.abe-column-offset-67 {
    margin-left: 66.6666%;
}

.abe-row .abe-column.abe-column-offset-75 {
    margin-left: 75%;
}

.abe-row .abe-column.abe-column-offset-80 {
    margin-left: 80%;
}

.abe-row .abe-column.abe-column-offset-90 {
    margin-left: 90%;
}

.abe-row .abe-column.abe-column-10 {
    flex: 0 0 10%;
    max-width: 10%;
}

.abe-row .abe-column.abe-column-20 {
    flex: 0 0 20%;
    max-width: 20%;
}

.abe-row .abe-column.abe-column-25 {
    flex: 0 0 25%;
    max-width: 25%;
}

.abe-row .abe-column.abe-column-33,
.abe-row .abe-column.abe-column-34 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
}

.abe-row .abe-column.abe-column-40 {
    flex: 0 0 40%;
    max-width: 40%;
}

.abe-row .abe-column.abe-column-50 {
    flex: 0 0 50%;
    max-width: 50%;
}

.abe-row .abe-column.abe-column-60 {
    flex: 0 0 60%;
    max-width: 60%;
}

.abe-row .abe-column.abe-column-66,
.abe-row .abe-column.abe-column-67 {
    flex: 0 0 66.6666%;
    max-width: 66.6666%;
}

.abe-row .abe-column.abe-column-75 {
    flex: 0 0 75%;
    max-width: 75%;
}

.abe-row .abe-column.abe-column-80 {
    flex: 0 0 80%;
    max-width: 80%;
}

.abe-row .abe-column.abe-column-90 {
    flex: 0 0 90%;
    max-width: 90%;
}

.abe-row .abe-column .abe-column-top {
    align-self: flex-start;
}

.abe-row .abe-column .abe-column-bottom {
    align-self: flex-end;
}

.abe-row .abe-column .abe-column-center {
    align-self: center;
}

.abe a {
    color: var(--abe-global-color-accent);
    text-decoration: none;
}

.abe a:focus,
.abe a:hover {
    color: var(--abe-global-color-primary);
}

.abe .fas {
    font-size: 1.1rem;
    color: #6e818a;
}

.abe .fas,
.abe .fa-solid,
.abe .fa-brands {
    font-size: 1.1rem;
    color: #6e818a;
}

.guests-count-book div:not(:last-of-type)::after {
    content: '|';
    margin: 0 10px;
}

.abe .fa-solid.fa-magnifying-glass {
    color: #ffffff;
}

.guests-count-book {
    display: flex;
}

.abe dl,
.abe ol,
.abe ul {
    list-style: none;
    margin-top: 0;
    padding-left: 0;
}

/* .abe-unit {
    padding-top: 100px;
} */

.abe-unit .lSSlideOuter {
    margin: 0;
}

.tour3d-iframe {
    min-height: 500px;
    width: 100%;
}

.abe dl dl,
.abe dl ol,
.abe dl ul,
.abe ol dl,
.abe ol ol,
.abe ol ul,
.abe ul dl,
.abe ul ol,
.abe ul ul {
    font-size: 90%;
    margin: 1.5rem 0 1.5rem 3.0rem;
}

.abe ol {
    list-style: decimal inside;
}

.abe ul {
    list-style: circle inside;
}

.abe .button {
	background-color: var(--e-global-color-accent);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	fill: var(--e-global-color-2b35b52);
	color: var(--e-global-color-2b35b52);
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	padding: 0 1.5rem;
}

.abe .button,
.abe button,
.abe dd,
.abe dt,
.abe li {
    margin-bottom: none;
}

.abe fieldset,
.abe input,
.abe select,
.abe textarea {
    margin-bottom: 0.75rem;
}

.abe blockquote,
.abe dl,
.abe figure,
.abe form,
.abe ol,
.abe p,
.abe pre,
.abe table,
.abe ul {
    margin-bottom: 1.5rem;
}

.abe table {
    border-spacing: 0;
    overflow-x: auto;
    text-align: left;
    width: 100%;
}

.abe td,
.abe th {
    border-bottom: 1px solid #e1e1e1;
    padding: 0.4rem 1.2rem 0.2rem;
}

.abe b,
.abe strong {
    font-weight: bold;
}

.abe p {
    margin-top: 0;
}

.abe h1,
.abe h2,
.abe h3,
.abe h4,
.abe h5,
.abe h6 {
    font-weight: 400 !important;
    margin-bottom: 2.0rem;
    margin-top: 0;
}

.abe h1 {
    font-size: 2.625rem;
    line-height: 1.2;
}

.abe h2 {
    font-size: 1.6rem;
    line-height: 1.25;
}

.abe h3 {
    font-size: 1.4rem;
    line-height: 1.3;
}

.abe h4 {
    font-size: 1rem;
    letter-spacing: -.08rem;
    line-height: 1.35;
}

.abe h5 {
    font-size: 0.8rem;
    letter-spacing: -.05rem;
    line-height: 1.5;
}

.abe h6 {
    font-size: 0.6rem;
    letter-spacing: 0;
    line-height: 1.4;
}

.abe img {
    max-width: 100%;
}

/*.abe-image-container img {
    object-fit: cover;
    width: 100%;
    height: 300px;
}*/

.abe-column.unit-image {
    width: 100%;
    max-width: 100%;
    padding-bottom: 0.3rem;
}

.abe-column.unit-image .lSAction>a {
    opacity: 0.75;
}

.abe-column.unit-image .lSSlideOuter {
    margin-bottom: 0;
}

.abe-image-container img {
    width: 100%;
    height: 100%;
    min-height: 275px;
    object-fit: cover;
}

.wrap-vrp-unit-hero {
    position: relative;
}

.vrp-unit-hero {
    width: 100%;
    height: 75vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.gallery-wrapper .lSSlideOuter .lSPager.lSGallery {
    display: none;
}

.gallery-wrapper,
.mobile-gallery-wrapper {
    position: relative;
    display: none !important;
}

.gallery-wrapper #fullscreen-cta,
.mobile-gallery-wrapper #fullscreen-cta {
    position: absolute;
    bottom: 12px;
    right: 10px;
    z-index: 10;
    background: #000000a6;
    padding: 6px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-wrapper .lSNext {
    right: 0;
}

.gallery-wrapper #fullscreen-cta i,
.mobile-gallery-wrapper #fullscreen-cta i {
    color: #fff;
    font-size: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
    text-align: center;
}

.abe .clearfix:after {
    clear: both;
    content: ' ';
    display: table;
}

.abe .float-left {
    float: left;
}

.abe .float-right {
    float: right;
}

#search-wrap .abe-container form {
    max-width: 1200px !important;
    margin: 0 auto;
}

.attr-item label,
.type-item label {
    display: inline;
    font-size: 14px;
}

.abe-filters-wrapper .attr-item,
.abe-filters-wrapper .type-item {
    display: flex;
    width: 200px;
    margin: 0 12px 2px 0;
    gap: 5px;
}

.abe-filters-wrapper .attr-item input,
.abe-filters-wrapper .type-item input {
    margin-right: 0.25rem;
}

.abe .text-right {
    text-align: right;
}

.abe-filter-title {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--abe-global-color-primary);
    border-bottom: 1px dashed #495c65;
}

.abe-jumbo .abe-button#clear-dates,
.abe-jumbo .abe-button#reset-filters {
    width: auto;
    font-size: initial;
    padding: 0 1rem;
    margin-bottom: 0;
    margin-right: 0.5rem;
}

.abe-row .abe-column.num-results-column {
    display: flex;
    align-items: center;
    width: auto;
}

.num-results-container {
    padding: 0 0.5rem 0.5rem;
}

.num-results-container p {
    margin-bottom: 0;
    text-wrap: nowrap;
    font-weight: 100;
    color: var(--abe-global-color-primary);
    border-bottom: 1px solid var(--abe-global-color-accent);
    font-size: 0.82rem;
    line-height: 15px;
}

#num-results {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--abe-global-color-accent);
}

.abe-row .abe-column.clear-buttons {
    display: flex;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.clear-buttons button {
    padding-right: 1rem;
}

/* Toggle Map */
.switch {
    position: relative;
    display: inline-block;
    width: 56px;
    height: 30px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.section-masthead__abesearcher {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 30px;
    text-align: center;
    z-index: 50;
}

.section-masthead__abesearcher select,
.section-masthead__abesearcher input[type="text"] {
    border: none;
    /* font-size: 24px !important; */
    font-weight: 400;
    border-bottom: 1px solid #fff;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #d3dee4;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.slider {
    background-color: var(--abe-global-color-accent);
}

input:focus+.slider {
    box-shadow: 0 0 1px #002c2f;
}

input:checked+.slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
    border: 1px solid var(--abe-global-color-primary);
}

.slider.round:before {
    border-radius: 50%;
}

.abe-map-activator .heading {
    font-size: 14px;
    padding: 0 0.6rem 0.5rem;
}

/* end of toggle map */

/* Results page */
.abe-results>div {
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.abe-results {
    justify-content: center;
    padding: 0 1rem;

}

.abe-results.map-active {
    padding: 0;
}

.abe-results:not(.map-active) #map-container {
    display: none;
}

#abe-map-results {
    background: #19334626;
}

.abe-row .abe-column-50 {
    padding: 0 0.5rem;
}

.abe-row .abe-column-50.unit-list {
    flex: 0 0 100%;
    max-width: 100%;
}

.abe-row .abe-column.abe-column-50#abe-map-results {
    flex: 0 0 58.33%;
    max-width: 58.33%;
    margin-left: 0;
}

.abesearcher .only-result {
    max-width: 105px;
}

/*.abe .button#abe-filters-activator { line-height: 2.5rem; margin-bottom: 0.5rem; background:  #f4f9fb !important; }
.abe .button#abe-filters-activator:hover { color: #002c2f !important; background: #eef4f7 !important; border-color: #eef4f7 !important; }*/
.abe .button#abe-filters-activator {
    width: 100%;
    padding: 0 1.5rem;
    background-color: #FFF;
    color: var(--abe-global-color-accent);
    border: 1px solid var(--abe-global-color-accent);
    border-radius: 0;
}

.abe .button#abe-filters-activator .fas {
    color: var(--abe-global-color-accent);
}

.abe .button#abe-filters-activator:hover,
.abe .button#abe-filters-activator:focus,
.abe .button#abe-filters-activator:active {
    background-color: var(--abe-global-color-accent) !important;
    color: #FFF !important
}

.abe .button#abe-filters-activator:hover .fas,
.abe .button#abe-filters-activator:focus .fas,
.abe .button#abe-filters-activator:active .fas {
    color: #FFF
}

.abe .button#abe-filters-activator img {
    width: auto;
    height: 100%;
}

.hasDatepicker {
    background: #fff url(../images/calendar.svg) 92% no-repeat;
}

.abe-results.map-active .abe-item {
    position: relative;
    flex-basis: 48%;
}

.abe-item {
    position: relative;
    flex-basis: 100%;
    align-self: flex-start;
    width: 100%;
    padding: 0.3rem 0.15rem 0;
    margin: 0 0 1.5%;
    border-bottom: 1.5px solid var(--abe-global-color-accent);
    border-radius: 0;
    transition: border 0.7s;
    transition: all 0.4s;
}

.abe-item .star-rating {
    justify-content: right;
}

/*
.abe-item .abe-row {
    display: flex;
    flex-direction: row;
}

.abe-item .unit-info {
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
}

.abe-item .rate-container {
    height: 100%;
    align-items: flex-end;
}*/

.abe-item .abe-row {
    display: flex;
    flex-direction: column;
}

.abe-item .unit-info {
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
}

.abe-item .rate-container {
    height: auto;
    align-items: flex-end;
    flex-direction: row;
    margin-top: 1rem;
}

.abe-item .rate-container .abe-column {
    width: 100%;
}

.unit-button a.button {
    font-size: 0.75rem;
    height: 2.5rem;
    line-height: 2.5rem;
    margin-bottom: 0;
    border-radius: 0;
}

.unit-location p {
    color: #0A0A0Aab;
    margin-bottom: 1.25rem;
}

.abe-fixed-w-500-700 {
    min-width: 500px;
    max-width: 700px;
}

.abe-image-container .abe-favorite {
    transition: 0.3s;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 10px;
    padding: 13px 5px 0 5px;
    z-index: 1;
}

.abe-image-container .abe-favorite i {
    color: #f5eded;
    font-size: 2rem;
}

.abe-favorite.active i,
.abe-favorite.active:hover .fa-heart {
    color: #f50000 !important;
}

.abe-item h2 {
   	margin: 2px 0 1.25rem 4px;
    line-height: 1;
    letter-spacing: -1px;
}

.abe-item h2 a {
    font-weight: 500;
    color: var(--abe-global-color-accent);
}

.abe-item strong {
    color: var(--abe-global-color-accent);
}

.gallery-wrapper .fa-chevron-right,
.gallery-wrapper .fa-chevron-left {
    color: #fff;
    font-size: 1.6rem;
}

.gallery-wrapper .lSPrev,
.gallery-wrapper .lSNext {
    opacity: 1;
    cursor: pointer;
}

.abe-item .abe-row.above-unit-title {
    flex-direction: row;
}

.icons-info {
    font-size: 16px;
    margin-left: 6px
}

.icons-info span {
    display: inline-block;
    line-height: 1.4rem;
    color: var(--abe-global-color-accent);
    padding: 0 6px 0 2px;
    margin-right: 1px;
    border-right: 1px solid #98a6ad;
}

.icons-info span:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
}

.icons-info span .fas {
    font-size: 1rem;
}

.abe-item .abe-rate {
    font-size: 16px;
    color: #757575;
    padding-left: 1px;
    margin: 0 0 2px 5px;
}

.abe-item .stars {
    margin-left: 5px;
}

.abe-row .abe-column.stars-column {
    width: auto;
}

.fa-star.checked {
    color: orange;
}

.star-rating,
.back-stars,
.front-stars {
    display: flex;
}

#featured-units .star-rating,
#featured-units .back-stars,
#featured-units .front-stars {
    justify-content: center;
}

.star-rating {
    font-size: 1em;
    height: 18px;
}

.back-stars {
    color: #DFE7EF;
    position: relative;
}

.front-stars {
    color: #ffb200;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all 0.5s;
}

.abe-cd-pagination {
    text-align: center;
    margin: 3% auto 0 !important;
    display: block;
}

.abe-cd-pagination li {
    display: inline-block;
    margin: 0 4px 8px;
}

.abe-cd-pagination li a {
    display: inline-block;
    font-weight: 400;
    color: var(--abe-global-color-accent);
    padding: 0.25rem 1rem 0.2rem;
    background: #fff;
    border: 1px solid var(--abe-global-color-primary);
    border-radius: 7px;
}

.abe-cd-pagination li a:hover {
    color: #000;
    background: #fff;
}

.abe-cd-pagination li a.current {
    font-weight: 700;
    color: #fff;
    background: var(--abe-global-color-accent);
}

.abe-pagination-btn a.disabled {
    color: #99a2a9;
    pointer-events: none;
    background: #f4f6f7;
}

.abe-pagination-btn:hover a,
.abe-cd-pagination li:hover a {
    background: var(--abe-global-color-accent);
    color: #fff;
}

/* .marker-infobox img { max-width: 160px; } */
.marker-infobox h5 {
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1rem;
    letter-spacing: 0;
    margin-top: 2px;
    margin-bottom: 5px;
}

.icons-map {
    margin-left: 1px;
}

.icons-map span {
    display: inline-block;
    padding-right: 6px;
    margin-right: 5px;
    border-right: 1px solid #98a6ad;
}

.icons-map span:nth-of-type(3) {
    padding-right: 0;
    margin-right: 0;
    border: none;
}

.icons-map .fas {
    font-size: 13px;
}

#abe-map-results .gm-ui-hover-effect {
    top: 2px !important;
    right: 9px !important;
    width: 18px !important;
    height: 28px !important;
    background: #fff !important;
    opacity: 1 !important;
}

#abe-map-results .gm-ui-hover-effect:focus {
    outline: none
}

#abe-map-results .gm-ui-hover-effect img,
.gm-ui-hover-effect span {
    margin: 0 !important;
}

.abe-results .abe-row.abe-column-50 .abe-image {
    position: relative;
}

.abe-results .abe-row.abe-column-50 .lSSlideOuter .lSPager,
.abe-results .abe-row.abe-column-50 .lSSlideOuter .lightSlider {
    margin: 0 !important;
}

.abe-results .abe-row.abe-column-50 .abe-image ul li {
    list-style-type: none !important;
}

.abe-results .abe-row.abe-column-50 .lSAction>a {
    background-image: url(../images/controls.png);
}

/* end of Results page */

/* Unit page */
.abe-row .abe-column.abe-unit-info {
    padding: 0;
}

.abe-unit .abe-container {
    padding: 0.8rem;
}

.abe-unit-twosides-wrapper {
    width: 100%;
    /* justify-content: center; */
    justify-content: space-between;
}

.unit-details {
    padding: 0 2rem;
}
#tour3d {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
#tour3d a {
    display: block;
    margin-bottom: 5px;
}

#tour3d a i {
    font-size: 1.5rem;
}

.unit-section-container {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.unit-section-container .abe-container {
    padding: 0;
}

.unit-section-container h2 {
    font-size: 2rem;
    font-weight: 600 !important;
}

.amenities-preview {
    height: 625px;
    overflow: hidden;
    --mask: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%, rgba(0, 0, 0, 0) 0) 100% 50% / 100% 100% repeat-x;
    -webkit-mask: var(--mask);
    mask: var(--mask);
}

.amenities-full {
    height: unset;
    overflow: unset;
    mask: unset;
}

.section-separator {
    height: 1.5px;
    background-color: #0A0A0A1f;
    border-radius: 12px;
    margin-bottom: 2rem;
}

.abe-title-wrapper span,
.abe-title-wrapper .fas {
    color: #0A0A0Aab;
    font-size: 18px;
}

.abe i.fas.slick-arrow {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    border: 1.5px solid #ffffff00;
    border-radius: 7px;
    z-index: 10;
    font-size: 2.25rem;
    cursor: pointer;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    transition: all 0.4s;
}

.abe i.fas.slick-arrow:hover,
.abe i.fas.slick-arrow:focus,
.abe i.fas.slick-arrow:active {
    color: #fff;
    border-color: #ffffff;
    background-color: #ffffff10;
    box-shadow: 0 0 3px #002c2f;
}

i.fas.fa-chevron-left.slick-arrow {
    left: 20px;
}

i.fas.fa-chevron-right.slick-arrow {
    right: 20px;
}

.unit-section-container .slick-arrow {
    position: absolute;
    top: 16px;
    border: none !important;
    padding: 0.25rem 0.5rem;
    z-index: 8;
}

.unit-section-container .slick-arrow .fas {
    font-size: 1.3rem;
    color: var(--abe-global-color-accent);
}

.unit-section-container .slick-arrow:hover,
.unit-section-container .slick-arrow:active,
.unit-section-container .slick-arrow:focus {
    background-color: #fbfbfb26;
    border: none !important;
}

.unit-section-container .slick-arrow:hover .fas,
.unit-section-container .slick-arrow:active .fas,
.unit-section-container .slick-arrow:focus .fas {
    background-color: #fbfbfb;
    color: var(--abe-global-color-accent);
    border: none !important;
}

.unit-section-container .slick-prev {
    left: 22%;
}

.unit-section-container .slick-next {
    right: 22%;
}

.gallery-wrapper {
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    /* max-width: 1500px; */
    max-width: 1657px;
    padding: 2rem 0rem;
    margin: 0 auto;
}

#abe-gallery-preview {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(24%, 1fr));
    grid-gap: 12px;
    grid-auto-rows: minmax(auto, auto);
    /* height: 60vh;
    max-height: 750px; */
    grid-auto-flow: dense;
    border-radius: 12px;
}

#abe-gallery-preview .grid-item-1 {
    grid-column-end: span 2;
    grid-row-end: span 2;
}

#abe-gallery-preview .grid-item img {
    height: 100%;
    object-fit: cover;
}

#abe-gallery-preview .grid-item-1 img,
#abe-gallery-preview .grid-item-1 .img-overlay {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

#abe-gallery-preview .grid-item-3 img,
#abe-gallery-preview .grid-item-3 .img-overlay {
    border-top-right-radius: 12px;
}

#abe-gallery-preview .grid-item-5 img,
#abe-gallery-preview .grid-item-5 .img-overlay {
    border-bottom-right-radius: 12px;
}

#open-gallery-btn,
#open-mobile-gallery-btn {
    position: absolute;
    width: auto;
    text-transform: capitalize;
}

#open-gallery-btn i,
#open-mobile-gallery-btn i {
    color: #fff;
    margin-right: 8px;
}

/* #open-gallery-btn:hover i,
#open-mobile-gallery-btn:hover i {
    color: var(--abe-global-color-accent);
    margin-right: 8px;
} */

#open-gallery-btn {
    right: 3.5rem;
    bottom: 2.5rem;
}

#open-mobile-gallery-btn {
    right: 0.25rem;
    bottom: 20px;
    width: 200px;
    background-color: var(--abe-global-color-accent);
    border: 1px solid var(--abe-global-color-accent);
    color: #fff
}

#abe-gallery-modal {
    display: none;
    top: 0px;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    position: fixed;
    overflow: overlay;
    min-height: 100%;
}

#abe-gallery-modal .modal-img-container {
    position: relative;
    background-color: #fff;
    color: var(--abe-global-color-primary);
    width: 100%;
    min-height: 100%;
    transition: all .3s ease-out;
    bottom: 0;
    overflow: hidden;
}

.define-gallery-spacing {
    max-width: 1440px;
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 4rem 0;
}

.modal-header .gallery-unit-title {
    text-align: center;
    font-weight: 600 !important;
    clear: both;
}

.modal-header .gallery-close-btn {
    width: fit-content;
    position: fixed;
    top: 3rem;
    right: 1.25rem;
    padding: 5px 20px;
    margin-right: 2rem;
    background-color: #FFF;
    border: 2px solid var(--abe-global-color-accent);
    color: var(--abe-global-color-accent);
    font-weight: 600;
    border-radius: 7px;
    z-index: 100;
}

.modal-header .gallery-close-btn span {
    margin: 0 3px;
}

.modal-header .gallery-close-btn:hover {
    background-color: var(--abe-global-color-accent);
    cursor: pointer;
    color: #fff;
}

#abe-gallery-modal .modal-img-grid {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.75rem;
    column-gap: 4%;
}

#abe-gallery-modal .img-grid-item {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
}

#abe-gallery-modal .img-grid-item img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgb(61 82 97 / 50%);
}

#abe-gallery-modal .img-grid-item .img-overlay,
#abe-gallery-preview .grid-item .img-overlay {
    display: inline-block;
    /* Image darkening overlay = structural → charcoal, not gold. */
    background: var(--brand-inverse-bg, #1C1917);
    padding: 0;
    width: 100%;
    height: 100%;
}

#abe-gallery-modal .img-grid-item .img-overlay {
    border-radius: 12px;
}

.img-overlay img {
    display: block;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

.img-overlay:hover img {
    opacity: 0.5;
}

.no-scroll {
    height: 100%;
    overflow: hidden
}

#abe-mobile-slider {
    margin-left: 0;
    margin-bottom: 0;
    padding: 0 !important;
}

#abe-mobile-slider li {
    list-style: none;
    margin: 0;
}

#abe-mobile-slider,
#abe-mobile-slider li,
#abe-mobile-slider img {
    min-height: 45vh;
}

.lSSlideWrapper {
    height: 81%;
}

.lSPager.lSGallery {
    margin-top: 0 !important;
}

.lSPager.lSGallery li {
    list-style-type: none;
    height: 84px;
    margin-bottom: 0;
}

.abe-image-container ul {
    margin-bottom: 0;
}

.abe-image-container ul li {
    margin-bottom: 0;
    display: flex;
    width: 100%;
}

.abe-image-container ul li a {
    width: 100%;
}

.abe-unit .slick-track {
    display: flex;
    height: 100%;
}

#abe-mobile-slider li {
    list-style: none;
    margin-bottom: 0;
    position: relative;
    display: flex;
    height: 100%;
}

#abe-mobile-slider li a {
    width: 100%;
    height: 100%;
}

#abe-mobile-slider img {
    width: 100%;
    /*height: 100%;
    min-height: 750px;*/
    object-fit: cover;
    border-radius: 0;
}

ul#abe-mobile-slider-thumb {
    margin-bottom: 0;
}

ul#abe-mobile-slider-thumb li {
    margin: 6px 3px !important;
    height: 110px;
    border: 1px solid var(--abe-global-color-primary);
    border-radius: 7px;
    box-shadow: 0 2px 5px rgb(61 82 97 / 30%);
}

ul#abe-mobile-slider-thumb li img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    cursor: pointer;
    border-radius: 7px;
}

.caption {
    position: absolute;
    bottom: 0;
    padding: 2px 20px 2px 20px;
    color: #fff;
    font-size: 14px;
    background-color: var(--abe-global-color-accent);
    font-weight: 500;
    border-radius: 0 12px 0 12px;
    max-width: 90%;
}

#abe-mobile-slider li.slick-slide {
    opacity: 1;
    transition: all 0.4s ease-out;
}

#abe-mobile-slider li.slick-slide.slick-current.slick-active.slick-center {
    opacity: 1;
}

#abe-tabs .ui-widget-header {
    border: none;
    background: initial;
    padding: 0;
}

.abe-unit #abe-tabs .ui-widget-header {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    border: 0;
    justify-content: center;
}

.abe-unit #abe-tabs .ui-helper-clearfix:before,
.abe-unit #abe-tabs .ui-helper-clearfix:after {
    display: none;
}

.unit-nav {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    column-gap: 0;
    row-gap: 0.5rem;
    margin: 1.5rem 0 0.25rem !important;
    position: sticky;
    top: 81px;
    background-color: #fff;
    border-radius: 7px;
    z-index: 111;
}

#abe-tabs .ui-state-default,
.unit-nav li {
    width: 32%;
    font-size: 12px;
    text-align: center;
    margin: 0;
    padding-top: 2px;
    padding-bottom: 2px;
    border-radius: 7px;
    list-style-type: none;
}

.unit-nav li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 2px 0;
    color: var(--abe-global-color-primary);
}

#abe-tabs {
    padding: 0;
    border: none;
}

#abe-tabs .ui-widget.ui-widget-content {
    border: none;
    padding: 0;
}

#abe-tabs .ui-tabs,
#abe-tabs .ui-tabs-nav{
    border: 1px solid #0A0A0A57;
    padding: 0.5rem 0.25rem !important;
    box-shadow: 0 4px 20px rgb(61 82 97 / 25%);
}

#abe-tabs .ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
    border: 1px solid var(--abe-global-color-accent);
    background: #fff;
    font-weight: 500;
}
.unit-nav li {
    border: none;
    background: #d3dee4;
    font-weight: 500;
}
#abe-tabs .ui-state-default:hover,
.unit-nav li:hover {
    background: var(--abe-global-color-accent);
}

#abe-tabs .ui-state-default:hover a,
.unit-nav li:hover a {
    color: #fff;
}

#abe-tabs ul li:focus,
#abe-tabs ul li a:focus,
.unit-nav.ul li:focus,
.unit-nav.ul li a:focus {
    outline: none;
}

#abe-tabs .ui-state-active.ui-state-default,
.unit-nav li.active {
    background: var(--abe-global-color-accent);
    border: 2px solid var(--abe-global-color-accent);
    border-bottom: none;
}

#abe-tabs .ui-state-active a,
.unit-nav li.active a {
    color: #fff;
}

.abe h1 {
    font-size: 2.625rem;
    line-height: 1;
    margin-bottom: 8px;
}

#rates {
    max-width: 900px;
}

#rates tbody tr:nth-child(even) {
    background: #f3f7fa;
}

#rates tr th:nth-child(3),
#rates tr td:nth-child(3) {
    text-align: right;
}

#rates tr th:nth-child(4),
#rates tr td:nth-child(4) {
    text-align: center;
}

#rates th,
#rates td {
    border-bottom: none;
}

#rates td {
    font-size: 16px;
}

.abe-icons {
    margin: 0 0 1rem;
}

.abe-icons span {
    margin: 0 6px 2px 0;
    padding-right: 10px;
    display: inline-block;
    line-height: 1.4;
    border-right: 2px solid #0A0A0Aab;
    font-size: 18px;
}

.abe-icons span:last-of-type {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
}

.abe-checkavail .buttons-wrap .abe-column {
    padding: 0;
}

.abe-unit .container.range-plugin {
    left: -400px !important;
}

.abe-unit h1 {
    font-size: 2.15rem;
    text-align: left;
    color: var(--abe-global-color-text);
}

.abe-unit .abe-share,
.abe-unit .abe-favorite,
.abe-print,
.abe-inquiry {
    padding: 0.4rem 0.5rem;
    cursor: pointer;
}

#learn-more-inquiry{
    margin-top: 20px;
    text-align: center;
    display: block;
    margin-bottom: 20px;
}

#learn-more-inquiry a {
    text-decoration: underline;
    display: block;
}

.abe-favorite-show a {
    display: block;
	padding: 0;
}

.abe-favorite .fas.fa-plus {
    font-size: 0.6rem;
}

.abe-favorite.active .fas.fa-plus {
    display: none;
}

.abe-unit .abe-share,
.abe-unit .abe-favorite,
.abe-unit .abe-favorite-show,
.abe-sort-wrapper .abe-favorite-show,
.abe-sort-wrapper .abe-share,
.abe-inquiry,
.abe-print {
    background: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: var(--abe-global-color-primary);
    border: 1px solid var(--abe-global-color-accent);
    border-radius: 7px;
  	padding: 1rem;
}

.first-filter-ac-wrapper,
.second-filter-ac-wrapper {
    display: flex;
}

.type-checkboxes .abe-column {
    /*grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));*/
    display: flex;
    flex-basis: 32.5%;
    max-width: 32.5%;
}

.amenities-checkboxes .abe-column {
    display: flex;
    flex-direction: column;
}

.abe-unit .abe-share:hover,
.abe-unit .abe-favorite:hover,
.abe-unit .abe-favorite-show:hover,
.abe-unit .abe-favorite-show:hover a,
.abe-sort-wrapper .abe-favorite-show a:hover,
.abe-sort-wrapper .abe-share:hover,
.abe-print:hover,
.abe-inquiry:hover {
    background: var(--abe-global-color-accent);
    color: #fff;
    transition: all 0.2s ease-in-out;
}

.abe-unit .abe-share:hover .fas,
.abe-unit .abe-favorite:hover .fas,
.abe-unit .abe-favorite-show:hover .fas,
.abe-sort-wrapper .abe-favorite-show:hover .fas,
.abe-sort-wrapper .abe-share:hover .fas,
.abe-print:hover .fas,
.abe-inquiry:hover .fas {
    color: #ffffff;
}

.abe-unit .abe-share:active,
.abe-unit .abe-favorite:active,
.abe-unit .abe-favorite-show:active,
.abe-sort-wrapper .abe-favorite-show:active,
.abe-sort-wrapper .abe-share:active,
.abe-print:active,
.abe-inquiry:active {
    border-color: var(--abe-global-color-primary) !important;
}

.abe-sort-wrapper .abe-share,
.abe-print,
.abe-inquiry {
  	padding: 1rem;
    cursor: pointer;
    display: block;
    text-align: center;
    color: var(--abe-global-color-primary);
    font-size: 16px;
    border: 1px solid var(--abe-global-color-accent);
}

.abe-inquiry {
	background-color: var(--e-global-color-accent);
	font-weight: 600;
	fill: var(--e-global-color-2b35b52);
	color: var(--e-global-color-2b35b52);
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	padding: 0 1.5rem;
	height: 3rem;
	line-height: 3rem;
}

.abe-sort-wrapper .abe-favorite-show {
    display: block;
    font-size: 16px;
    text-align: center;
}

.abe-sort-wrapper .abe-favorite-show a {
    color: var(--abe-global-color-primary);
    padding: 0.5rem;
    border-radius: 7px;
}

.abe-unit #description {
    text-align: justify;
}

.abe-amen-group h3 {
    margin: 0 0 5px 0;
    border-bottom: 1px solid #54595F;
    color: #54595F;
    font-size: 24px;
    font-weight: 800;
}

li.abe-amen-name {
    font-size: 16px;
    margin: 0 10px 10px 0;
    padding: 5px 15px;
    color: #54595F;
    list-style-type: none !important;
}

ul.abe-amen-list {
    display: flex;
    flex-wrap: wrap;
}

#abe-review-activator {
    width: auto;
    padding: 1.5rem 2rem 1.5rem 2rem;
}

#abe-review {
    display: none;
}

/* Review form styling block */
#abe-tabs #reviews .review.abe-container {
    width: 100%;
    margin: 0 0 20px;
}

#rating {
    float: left;
    padding: 0.5rem 2rem;
}

.rating {
    /*width:100%;
    display: inline-block;
    height: 50px;
    padding: 5px;
    margin: 0px 0px 0px 0px;*/
    left: 0px;
    margin-left: 0px;
    margin: 0;
    position: relative;
}

.rating span {
    float: right;
    right: 80% !important;
    position: relative;
    padding-left: 2px;
}

.rating span input {
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
}

.rating span label {
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    color: #bdbdbd;
    /* background:#999999; */
    font-size: 30px;
    margin-right: 2px;
    line-height: 30px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
}

.rating span:hover~span label,
.rating span:hover label,
.rating span.checked label,
.rating span.checked~span label {
    color: #F90;
}

#reviews label.fa {
    font-size: 30px !important;
}

.checked {
    color: #F90;
}



#abeSubmitReviewForm {
    padding: 10px;
    background: #002c2f05;
}

.review.abe-container {
    padding: 1rem;
    background: #fbfbfb;
    border-radius: 12px;
    margin: 3.5rem 1rem 1rem 1rem;
    box-shadow: 0 4px 20px rgb(61 82 97 / 20%);
}

.review-title h3 {
    display: inline-block;
    font-weight: 500 !important;
    margin: 10px 0 20px;
}

.review-date {
    color: #002c2f;
    font-size: 16px;
}

.review-response {
    margin-left: 30px;
    padding: 20px;
    background: #fdfdfd;
    margin-top: 20px;
    border-radius: 0.2rem;
    border-left: 2px solid #002c2f;
}

.review .star-rating {
    margin-top: 12px;
}

#availability-calendars {
    width: 100%;
}

.calendars-container {
    margin-bottom: 1rem !important;
    display: flex !important;
    padding: 0 !important;
    column-gap: 2rem;
    row-gap: 1rem;
    flex-wrap: wrap;
    max-width: 100%;
}

.single-cal-container {
    margin: 1rem;
}

.abe #calendar .abe-container {
    width: 100%;
    margin: 0;
}

.abe #calendar table {
    width: 100%;
    float: left;
    height: 320px;
    text-align: center;
    margin: 0 2% 2% 0;
    order: 1 !important;
}

#calendar table td {
    font-size: 16px;
    font-weight: 500;
    color: #002c2f;
    border: 1px solid #0A0A0Ac9 !important;
}

#calendar table td .cal-rate {
    color: #333;
    font-size: 12px;
    font-weight: 400;
}

#calendar table thead {
    background: #f5fafc;
    border-bottom: 4px solid #002c2f;
    font-size: 14px;
}

.calkey {
    display: none;
}

.abe-calendar .dDate,
.abe-calendar .highlighted.dDate,
.calkey .isavailable.dDate {
    background: #fff0f5;
    background: -moz-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -webkit-gradient(linear, left bottom, color-stop(50%, #fff), color-stop(50%, #d6d6d6));
    background: -webkit-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -o-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -ms-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0f5', endColorstr='#7fffd4', GradientType=1);
}

.abe-calendar .aDate,
.abe-calendar .highlighted.aDate,
.calkey .isavailable.aDate {
    background: #7fffd4;
    background: -moz-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -webkit-gradient(linear, right top, color-stop(50%, #fff), color-stop(50%, #d6d6d6));
    background: -webkit-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -o-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -ms-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7fffd4', endColorstr='#fff0f5', GradientType=1);
}

.calendar>.days-grid>.day.dDate {
    background: #fff0f5;
    background: -moz-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -webkit-gradient(linear, left bottom, color-stop(50%, #fff), color-stop(50%, #d6d6d6));
    background: -webkit-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -o-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: -ms-linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    background: linear-gradient(to left bottom, #fff 50%, #d6d6d6 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0f5', endColorstr='#7fffd4', GradientType=1);
}

.calendar>.days-grid>.day.aDate {
    background: #7fffd4;
    background: -moz-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -webkit-gradient(linear, right top, color-stop(50%, #fff), color-stop(50%, #d6d6d6));
    background: -webkit-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -o-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: -ms-linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    background: linear-gradient(to right top, #fff 50%, #d6d6d6 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7fffd4', endColorstr='#fff0f5', GradientType=1);
}

/* #calendar .calendar .highlighted, #calendar .calendar .aDate.dDate, #calendar .calkey .highlighted {
  background: rgb(155 77 202);
  color: rgb(255 255 255 / 25%);
} */

.abe-calendar .highlighted,
.abe-calendar .aDate.dDate,
.calkey .highlighted {
    background: #d6d6d6;
    color: #838383;
}

#calendar td.passed,
#calendar td.today.highlighted.aDate {
    background: #DADADA;
    color: #ABABAB;
}

#calendar td.today {
    -webkit-box-shadow: inset 0 0 0 2px rgba(30, 100, 110, 1);
    -moz-box-shadow: inset 0 0 0 2px rgba(30, 100, 110, 1);
    box-shadow: inset 0 0 0 2px rgba(30, 100, 110, 1);
}

.abe #calendar td,
.abe #calendar th {
    border: none;
    padding: 0;
    vertical-align: middle;
    height: 65px;
}

.abe #calendar th {
    height: 40px;
    background-color: var(--abe-global-color-accent);
    color: #fff;
}

.abe #calendar .calendar {
    width: 32%;
    display: inline-block;
    vertical-align: text-top;
}

.abe-calendar caption {
    margin: 2.5rem 0 0.5rem;
    color: #0A0A0Aab;
    font-weight: 600;
    font-size: 20px;
}

.calkey {
    clear: both;
    order: 0 !important;
    font-size: 16px;
    padding-top: 0;
    width: 100%;
    text-align: center;
}

.calkey .key-item,
.calkey .key,
.calkey span {
    display: inline-block;
}

.calkey .key-item {
    margin: 0 16px 2px 0;
}

.calkey .key {
    width: 15px;
    height: 15px;
    border: 1px solid #404040;
}

.abe #calendar table {
    order: 1 !important;
    box-shadow: 0 4px 20px rgb(61 82 97 / 30%);
}

.abe-column.custom-calendar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#bookingform {
    display: block;
    background: #fbfbfb;
    border-radius: 12px;
    padding: 0.8em 0.8em 0.6em;
    margin: 0 auto 1em;
    box-shadow: 0 4px 20px rgb(61 82 97 / 50%);
}

#bookingform .abe-row {
    flex-direction: row;
    border-bottom: 1px solid #0c1d3f33;
}

#bookingform .abe-column {
    padding: 0.35rem 0.5rem;
    margin: 0.75rem 0;
}

#bookingform .checkin-col {
    border-right: 1px solid #0c1d3f33;
}

#bookingform input,
#bookingform select {
    border: none;
    line-height: 40px;
    background-color: #fbfbfb;
}

#bookingform input[type="submit"] {
    background-color: var(--abe-global-color-accent);
    width: auto;
}

#bookingform h3 {
    text-align: center;
    margin-bottom: 10px;
    font-size: 1.65rem;
    color: var(--abe-global-color-accent);
    color: var(--abe-global-color-accent);
    font-weight: 600 !important;
}

#bookingform .abe-column.no-margin {
    margin-bottom: 0;
}

.abe-checkavail-wrapper.fixed {
    position: sticky;
    top: 60px;
    z-index: 100;
}

div#featured-units .slick-prev.slick-arrow {
    left: 5px !important;
    z-index: 2;
}

div#featured-units .slick-next.slick-arrow {
    right: 5px !important;
    z-index: 2;
}

.abe-row.abe-confirmation-page b {
    color: var(--abe-global-color-accent);
    font-weight: 700;
}

.confirmation-bold-text {
    color: var(--abe-global-color-accent);
    font-weight: 600;
}

input.payment-proceed-btn {
    margin-bottom: 0.5rem !important;
    background-color: #002c2f !important;
    color: #fff !important;
    border: 2px solid #002c2f !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    height: 2.6rem !important;
    line-height: 2.5rem !important;
    padding: 0 1rem !important;
    border-radius: 0 !important;
}

input.payment-proceed-btn:hover {
    background-color: #4f6169 !important;
    color: #fff !important;
    border: 2px solid #4f6169 !important;
}

span#countdown {
    color: var(--abe-global-color-accent);
    font-weight: 800;
}

.abe-confirmation-page {
    margin: 0 auto 40px auto;
    padding: 5px;
    max-width: 1440px;
    flex-direction: column !important;
}

.abe-confirmation-page .abe-booking-details {
    order: 0;
}

.abe-booking-details .night-details {
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}

.abe-booking-details .night-details .abe-column {
    display: flex;
    flex-direction: column;
}

.abe-confirmation-page .payment-column {
    padding-top: 3rem;
    order: 1;
}

#confirmation-message {
    display: none;
    flex-direction: column;
    justify-content: center;
    border: 1.5px solid var(--abe-global-color-primary);
    border-radius: 12px;
    align-items: center;
    text-align: center;
    padding: 1rem 2rem;
    min-height: 350px;
    box-shadow: 0 4px 20px rgb(61 82 97 / 50%);
}

#confirmation-message p {
    font-size: 1.2rem;
}

.cart {
    visibility: hidden;
}

#track-payment-container {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 550px;
    padding-bottom: 100%;
    overflow: hidden;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

#track-payment-container iframe {
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

#track-payment-container::-webkit-scrollbar {
    display: none;
}

.abe-unit-features span {
    display: inline-block;
    width: 100%;
    margin-top: 0.4rem;
    margin-right: 2%;
}

#bookingform input#checkbutton {
    float: none !important;
    line-height: 1.5;
}

.abe-checkavail form label {
    font-family: var(--abe-global-typography-primary-font-family);
    font-size: 15px;
    color: #0c1d3f;
}

.guests-container {
    border-radius: 7px;
}

#checkavailbox input,
#checkavailbox select,
.guests-container {
    background-color: #fbfbfb;
    border: 1px solid #fbfbfb;
    transition: all 0.4s;
}

#checkavailbox input:hover,
#checkavailbox select:hover,
.guests-container:hover {
    cursor: pointer;
    background-color: #f3f3f3;
    border: 1px solid #e5e5e5;
}

.lSAction>a {
    background-image: none;
    cursor: pointer;
    color: #fff;
    font-size: 3rem;
}

#vrpinquire {
    margin-bottom: 0;
}

#vrpinquire label {
    font-size: 1rem;
    color: #7a7a7a;
}

#vrpinquire h2 {
    margin: 30px 0px;
}

#vrpinquire input[type="submit"] {
    width: auto;
}

#rates thead {
    border-bottom: 2px solid var(--abe-global-color-accent);
    background: #0A0A0A29;
    font-size: 14px;
}

.ui-datepicker .ui-datepicker-header {
    background-color: #fff;
    color: var(--abe-global-color-primary);
}

.ui-widget-header {
    border: none;
    border-radius: 0;
}

.ui-widget.ui-widget-content {
    border: 1px solid var(--abe-global-color-primary);
    border-radius: 7px;
}

.ui-datepicker-calendar td a,
.ui-datepicker-calendar td .ui-state-default {
    font-family: var(--abe-global-typography-primary-font-family);
    border: 2px solid #002c2fa1 !important;
    border-radius: 7px;
    padding: 7px 5px 0 5px;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    background-color: var(--abe-global-color-accent)91 !important;
    color: #fff;
}

.ui-datepicker:not(.gform-legacy-datepicker) a.ui-state-default {
    border-radius: 7px !important;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    cursor: pointer;
}

.ui-datepicker-calendar td a:hover {
    background: var(--abe-global-color-accent);
    color: #fff;
}

.ui-datepicker-calendar .ui-state-active {
    color: #000 !important;
    background: #c5d4dd !important;
}

#learn-more-inquiry-modal .abe-row {
    padding-bottom: 20px;
} 

[aria-describedby="learn-more-inquiry-modal"].ui-widget.ui-widget-content{
    border: none;
    padding: 0;
}

[aria-describedby="learn-more-inquiry-modal"] .ui-widget-header {
    color: #fff;
    text-transform: uppercase;
    background: var(--abe-global-color-accent);
    border: none;
}

[aria-describedby="learn-more-inquiry-modal"]  .ui-button,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:hover,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:active,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:focus,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:focus-visible {
    color: #FFF;
    border: none; 
    background: transparent;
}
[aria-describedby="learn-more-inquiry-modal"]  .ui-button .ui-icon,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:hover .ui-icon,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:active .ui-icon,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:focus .ui-icon,
[aria-describedby="learn-more-inquiry-modal"]  .ui-button:focus-visible .ui-icon {
    background-image: url(jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png);
}
#ratebreakdown {
    display: none;
    margin-bottom: 16px;
}

#ratebreakdown th,
#ratebreakdown td {
    border: none;
}

#ratebreakdown td {
    padding: 2px;
}

#ratebreakdown td:last-child {
    text-align: right;
}

#booklink {
    display: none;
    width: 131px;
    margin: 0 auto !important;
    display: block;
}

/* When #booklink uses the .lpjh-btn system, restore flex layout */
#booklink.lpjh-btn {
    display: inline-flex;
    width: auto;
    margin: 0 !important;
}

#booklink.lpjh-btn.lpjh-btn--full {
    width: 100%;
}

/* End of review styling block */
#errormsg {
    transition: 0.3s;
    display: none;
    padding: 8px 12px;
    font-size: 18px;
    line-height: 1.4em;
    background: #fff9c9;
    margin-bottom: 10px;
}

/* Loading circle */
.loader {
    width: 100px;
    height: 100px;
    transform: rotate(0deg);
    stroke-linecap: round;
    stroke-width: 4;
    fill: none;
}

div#loadingicons p {
    margin: 0;
}

.loader .internal-circle {
    stroke: #002c2f;
    stroke-dashoffset: 0;
    transform-origin: center;
}

.loader .internal-circle {
    stroke-dasharray: 187;
    -webkit-animation: internal 1s ease-in-out infinite;
    animation: internal 1s ease-in-out infinite;
    opacity: 0.6;
}

@-webkit-keyframes internal {
    0% {
        stroke-dashoffset: 187;
    }

    25% {
        stroke-dashoffset: 80;
    }

    100% {
        stroke-dashoffset: 187;
        transform: rotate(360deg);
    }
}

@keyframes internal {
    0% {
        stroke-dashoffset: 187;
    }

    25% {
        stroke-dashoffset: 80;
    }

    100% {
        stroke-dashoffset: 187;
        transform: rotate(360deg);
    }
}

#loadingicons {
    display: none;
    text-align: center;
}

#bookingform #loadingicons {
    margin-top: 1rem;
}

/* End of loading circle */

.abe-filters-wrapper,
.share-form-wrapper,
.inquiry-form-wrapper,
.abe-guests-select {
    display: none;
    top: 68px;
    left: 0;
    right: 0;
    margin: 0 auto;
    box-shadow: 0 0 20px rgba(25, 51, 70, 0.3);
    z-index: 99999;
    background: #fff;
    padding: 40px 40px 36px;
}

.abe-filters-wrapper {
    position: fixed;
    max-width: 960px;
    bottom: 0;
    top: 68px;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
}

.abe-row.type-checkboxes {
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.share-form-wrapper,
.inquiry-form-wrapper {
    position: fixed;
    bottom: 0;
    top: initial;
    z-index: 100;
}

.abe-share-heading h3,
.abe-inquiry-heading h3 {
    margin: 0;
}

.abe-share-close,
.abe-inquiry-close,
.abe-quote-close,
.abe-filter-close,
.abe-guests-close {
    cursor: pointer;
    display: inline-block;
    float: right;
    color: #fff;
    background: #bd0707;
    font-size: 14px;
    margin: -40px -40px 20px 0;
    padding: 4px 8px 0;
    border-radius: 7px;
}

.abe-share-close:hover,
.abe-inquiry-close:hover,
.abe-quote-close:hover,
.abe-filter-close:hover,
.abe-guests-close:hover {
    background: #a40505;
}

.abe-share-close .fas,
.abe-inquiry-close .fas,
.abe-quote-close .fas,
.abe-filter-close .fas,
.abe-guests-close .fas {
    color: #fff;
}

#bookingform .abe-row.close-container {
    flex-direction: column;
    align-items: flex-end;
}

.abe-guests-close.okay-btn {
    background: var(--abe-global-color-accent);
    margin: 1rem !important;
    padding: 8px 20px;
}

.abe-guests-close.okay-btn:hover {
    background: var(--abe-global-color-accent) !important;
}

.abe-guests-close p {
    margin: 0;
}

.abe-unit-features a {
    color: var(--abe-global-color-primary);
}

/*.abe-detailed-quote,
#abe-quote-activator {
    display: none;
}*/

#abe-quote-activator {
    margin-bottom: 0.5rem;
    display: none;
}

.abe-detailed-quote {
    /*position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 96%;
    background: rgb(255, 255, 255);
    padding: 20px;
    box-shadow: 0 0 20px rgba(25,51,70,0.3);
    border-radius: 0.2rem;
    margin: 0 auto;
    left: 0;
    right: 0;*/
    z-index: 99;
}

.abe-guests-select {
    display: none;
}

#bookingform .abe-guests-select {
    left: unset;
    right: unset;
    z-index: 101;
}

table#ratebreakdown tr td:first-of-type {
    width: 70%;
    word-break: break-word;
}

table#ratebreakdown {
    font-size: 16px;
}

.abe-quote-info {
    text-align: center;
    margin-bottom: 6px;
}

.abe-quote-info span {
    font-weight: 500;
}

.share-form-wrapper #shareForm {
    margin-bottom: 0;
}

.share-form-wrapper label {
    font-size: 1rem;
    text-align: left;
    display: none;
}

#share-response p {
    padding: 10px !important;
    text-align: left;
    margin: 0;
}

.share-form-wrapper .disclaimer span {
    width: 100%;
    display: block;
    font-size: 14px;
    text-align: left;
    line-height: 1;
    margin: 0 0 22px 4px;
}

#share-response.alert.alert-danger {
    background: #ff00000a;
    border-radius: 0.2rem;
    margin-bottom: 20px;
}

/* end of unit page */

/* Booking Page */
#vrpbookform h3 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

#vrpbookform .abe-terms-input {
    font-size: 16px;
    padding-left: 8px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: left;
}

#vrpbookform .abe-terms-input input[type='checkbox'] {
    margin-bottom: 0;
    margin-right: 5px;
}

#vrpbookform label {
    margin-top: 4px;
    margin-bottom: 0;
}

.abe-card-wrapper {
    position: relative;
    min-height: 300px;
}

.abe-booking-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    background-position: 50% 62% !important;
    background-size: cover !important;
    position: relative;
    margin-bottom: 1.5rem;
    text-shadow: 1px 1px 6px #000;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

.abe-booking-hero h1 {
    color: #fff;
}

.abe-card {
    position: absolute;
    width: 60%;
    margin-left: 20%;
    padding: 20px;
    border-radius: 0.5rem;
    background: rgb(135, 0, 218);
    background: linear-gradient(313deg, rgba(135, 0, 218, 1) 0%, rgba(75, 0, 83, 1) 37%, rgba(217, 128, 255, 0.9668242296918768) 100%);
    color: #fff;
    box-shadow: 0px 0px 2px 2px #b1b1b159;
}

.abe-card-number {
    padding: 40px 40px 10px 40px;
    text-shadow: 0px 2px 2px black;
    letter-spacing: 0.3rem;
}

.abe-card-dates {
    padding: 0px 40px 0px 70px;
    text-shadow: 0px 2px 2px black;
    letter-spacing: 0.2rem;
}

.abe-card-holder {
    padding: 0px 40px 10px 40px;
    text-shadow: 0px 2px 2px black;
    letter-spacing: 0.2rem;
}

.abe-card-logo {
    text-align: right;
}

.abe-card-logo img {
    width: 150px;
}
/*
.abe-travel-ins {
    text-align: center;
    padding: 20px;
    background: #002c2f0d;
    margin-bottom: 20px;
    border-radius: 0.2rem;
}*/
/* TI css new */
.abe-travel-ins {
    text-align: center;
    padding: 20px;
    background: #002c2f0d;
    margin-bottom: 20px;
    border-radius: 0.2rem;
    position: relative;
    width: 100%;
}
.abe-travel-ins-product-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    position: relative;
    width: 100%;
    gap: 0.5em;
    padding: 0 25px;
}

.abe-travel-ins-product {
    display: inline-flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    position: relative;
    width: 100%;
    gap: 1em;
}

.abe-travel-ins-product > div {
    display: inline-flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 0;
}

.abe-travel-ins-product > div:first-of-type {
    flex: 0;
}

.abe-travel-ins-product > div:last-of-type {
    margin-left: auto;
    align-items: flex-end;
}

.abe-travel-ins-product p {
    font-size: 0.85em;
}

.abe-travel-ins-product input[type="radio"] {
    margin: 5px 0 0 0;
}

.abe-travel-ins-product-details, .abe-travel-ins-product-decline-message {
    display: inline-flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    position: relative;
    width: 100%;
    text-align: left;
}

#travel-insurance-section {
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;

}

#travel-insurance-loader {
    position: absolute;
    width: 100%;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    height: 100%;
    top: 0;
}

#travel-insurance-loader > div {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.most-popular {
    color: var(--e-global-color-accent);
}
.first-details span {
    display: inline-block;
}
.abe-travel-ins-product-details small a {
    color: #182730;
    text-decoration: underline;
}
/* TI css new end */

.abe-travel-ins p {
    margin-bottom: 8px;
}

.abe-travel-ins span {
    font-weight: 500;
}

.abe-travel-ins input[type='radio'] {
    margin-bottom: 0;
}

.abe .abe-booking-details {
    padding: 0;
}

.abe .extra-info .abe-column {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.abe .extra-info .abe-column label {
    font-size: 16px;
    margin-top: 0 !important;
    margin-left: 5px;
}
.abe .extra-info .abe-column input[type='checkbox'] {
    margin-bottom: 0;
}
.dep-text-wrapper i {
    transform: matrix(-1, 0, 0, 1, 0, 0);
}

.abe-reservation-label-wrapper h3 {
    font-size: 1.1rem;
    margin-bottom: 0px;
}

.abe-reservation-label-wrapper h2 {
    margin-bottom: 1rem;
}

.first-details span:after {
    content: '';
    margin: 0 10px;
}

.first-details span:last-child:after {
    content: '';
}

.abe-ratebreakdown table tr td:first-of-type {
    width: 70%;
    word-break: break-word;
}

.abe-booking-details p {
    margin-bottom: 2px;
}

.abe-booking-background {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    height: 350px;
    width: 100%;
    text-align: center;
    color: #e0e0db;
    text-shadow: 1px 1px 1px #050b3080;
    border-radius: 12px;
    margin-top: 15px;
    box-shadow: inset 0 0 0 2000px rgba(10, 10, 10, 0.4);
}

.abe-booking-background h1 {
    color: #fff !important;
    font-size: 2rem !important;
    padding: 0 10px;
    font-weight: 600;
}

.abe-booking-background p {
    font-weight: 300;
    color: #fff;
    font-size: 1rem;
    text-shadow: 1px 1px 1px #050b3080;
}

#abe-province-wrapper,
#abe-othercountry-wrapper,
#abe-region-wrapper {
    display: none;
}

.abe-ratebreakdown {
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-top: 40px;
    font-size: 16px;
}

.abe-ratebreakdown table {
    margin-top: 30px;
}

.abe #vrpbookform .flexed-fields {
    flex-direction: row;
}

.abe-ratebreakdown thead {
    background: #002c2f0d;
}

.abe-ratebreakdown tr th,
.abe-ratebreakdown tr td {
    padding: 4px 8px;
}

.abe-ratebreakdown tr th:last-child,
.abe-ratebreakdown tr td:last-child {
    text-align: right;
}

.abe-booking-details .fixed {
    position: sticky;
    top: 112px;
}

.abe-bold {
    font-weight: 700;
}

.abe-book-info i {
    margin-right: 10px;
}

.abe-terms {
    cursor: pointer;
    display: none;
    position: fixed;
    top: 10%;
    width: 50%;
    left: 25%;
    background: white;
    bottom: 10%;
    padding: 10px;
    border-radius: 0.2rem;
    box-shadow: 0px 0px 3px 3px #94949414;
    z-index: 101;
}

/* End of Booking page */

/* Favorites page */
.abe-row.abe-favorites {
    flex-wrap: wrap;
}

.abe-favorites .abe-item {
    flex-basis: 100%;
    width: 100%;
}

.abe-favorites .abe-item li {
    list-style-type: none;
    margin-bottom: 0;
}

.abe-favorites .unit-image {
    padding-bottom: 0 !important;
}

.favorite-units {
    margin-top: 4rem;
}

/* End of Favorites page */

/* Multi range slider */
[slider] {
    position: relative;
    height: 14px;
    border-radius: 10px;
    text-align: left;
    margin: 15px 10px 10px;
}

[slider]>div {
    position: absolute;
    left: 13px;
    right: 15px;
    height: 16px;
    border: 1px solid #eee;
    border-radius: 6px;
}

[slider]>div>[inverse-left] {
    position: absolute;
    left: 0;
    height: 14px;
    border-radius: 10px;
    background-color: #fff;
    margin: 0 7px;
}

[slider]>div>[inverse-right] {
    position: absolute;
    right: 0;
    height: 14px;
    border-radius: 10px;
    background-color: #fff;
    margin: 0 7px;
}

[slider]>div>[range] {
    position: absolute;
    left: 0;
    height: 14px;
    border-radius: 14px;
    background-color: var(--abe-global-color-accent);
}

[slider]>div>[thumb] {
    position: absolute;
    top: -7px;
    z-index: 2;
    height: 28px;
    width: 28px;
    text-align: left;
    margin-left: -11px;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
    background-color: #fff;
    border-radius: 50%;
    outline: none;
}

[slider]>input[type="range"] {
    position: absolute;
    pointer-events: none;
    -webkit-appearance: none;
    z-index: 3;
    height: 14px;
    top: -2px;
    width: 100%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    cursor: pointer;
}

div[slider]>input[type="range"]::-ms-track {
    -webkit-appearance: none;
    background: transparent;
    color: transparent;
}

div[slider]>input[type="range"]::-moz-range-track {
    -moz-appearance: none;
    background: transparent;
    color: transparent;
}

div[slider]>input[type="range"]:focus::-webkit-slider-runnable-track {
    background: transparent;
    border: transparent;
}

div[slider]>input[type="range"]:focus {
    outline: none;
}

div[slider]>input[type="range"]::-ms-thumb {
    pointer-events: all;
    width: 28px;
    height: 28px;
    border-radius: 0px;
    border: 0 none;
    background: red;
}

div[slider]>input[type="range"]::-moz-range-thumb {
    pointer-events: all;
    width: 28px;
    height: 28px;
    border-radius: 0px;
    border: 0 none;
    background: red;
}

div[slider]>input[type="range"]::-webkit-slider-thumb {
    pointer-events: all;
    width: 28px;
    height: 28px;
    border-radius: 0px;
    border: 0 none;
    background: red;
    -webkit-appearance: none;
}

div[slider]>input[type="range"]::-ms-fill-lower {
    background: transparent;
    border: 0 none;
}

div[slider]>input[type="range"]::-ms-fill-upper {
    background: transparent;
    border: 0 none;
}

div[slider]>input[type="range"]::-ms-tooltip {
    display: none;
}

[slider]>div>[sign] {
    opacity: 0;
    position: absolute;
    margin-left: -11px;
    top: -39px;
    z-index: 3;
    background-color: #54B3EB;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 28px;
    -webkit-border-radius: 28px;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    text-align: center;
}

[slider]>div>[sign]:after {
    position: absolute;
    content: "";
    left: 0;
    border-radius: 16px;
    top: 19px;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top-width: 16px;
    border-top-style: solid;
    border-top-color: #54B3EB;
}

[slider]>div>[sign]>span {
    font-size: 12px;
    font-weight: 700;
    line-height: 28px;
}

[slider]:hover>div>[sign] {
    opacity: 1;
}

.price-range-wrapper {
    font-weight: 700;
    padding: 10px 0;
}

.price-range-wrapper span {
    color: #002c2f;
}

.price-range-wrapper p {
    font-size: 18px;
    margin-bottom: 8px;
}

/* end of multi range slider */

.abesearcher {
    position: sticky;
    top: 50px;
    z-index: 100;
    width: auto;
}

#abe-results-search .button,
#abe-results-search .abe-button,
#abe-results-search input,
#abe-results-search select {
    margin-bottom: 0;
}

.abesearcher .button,
.abesearcher input,
.abesearcher select {
    margin: 0.3rem 0 !important;
}

.abe-jumbo,
.abe-sort-wrapper {
    width: 100%;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
}

.abe-jumbo .abe-form-wrapper,
.abe-sort-wrapper>.abe-row {
    /* max-width: 1440px; */
    max-width: 100%;
    margin: 0 auto;
}

.abe-sort-wrapper>.abe-row {
    padding: 0 0.2em;
}

.abe-sort-wrapper {
    padding-top: 1em;
    margin-bottom: 1.5em;
}

.abe-sort-wrapper .abe-column.no-padding {
    padding: 0;
}

.abe-form-wrapper form {
    width: 100%;
    padding: 0.8em 0.7em 0.4em;
    margin-bottom: 0;
    flex-direction: row;
    flex-wrap: wrap;
}

.abe-jumbo form {
    padding: 0.5rem;
}

.abe-jumbo .abe-button {
    min-width: 75px;
    /* padding: 0.25rem; */
    font-size: 1.2rem;
}

.vrps-sorter-wrapper {
    display: flex;
}

.abe-form-wrapper .abe-column.group {
    display: flex;
    padding: 0;
    flex-direction: row;
}

.abe-sort select {
    font-size: 14px;
    height: auto;
    border: 1px solid var(--abe-global-color-accent);
}

.abe-sort select:hover {
    border-color: var(--abe-global-color-primary);
}

.abe-sort select:active,
.abe-sort select:focus {
    border-color: #002c2f;
}

.abe-sort option {
    font-size: 14px;
}

/* .abe-sort .abe-column:last-child {
  padding-right: 0px;
} */

.abe-flex-form {
    background-color: #fff;
    border-radius: 7px;
    padding: 1.2rem;
    border: 1px solid #44444470;
    ;
}

.abe-flex-form .abe-column,
.results-add-filters-wrapper .abe-column {
    margin: 0 0.15rem;
  	align-items: center;
}

.abe-form-wrapper .abe-column.group.date-search-container {
    padding: 0 0.25rem;
}

.date-search-container .abe-column {
    padding: 0;
    margin: 0 !important;
    position: relative;
}

.date-search-container .abe-column:first-child:after {
    content: "";
    background-color: #44444470;
    position: absolute;
    width: 1px;
    height: 20px;
    top: 12px;
    right: 0;
    display: block;
}

.date-search-container #search-arrival {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding: 10px 35px 10px 15px;
}

.date-search-container #search-departure {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: 10px 35px 10px 15px;
}

.abe-flex-form .abe-column.abe-filters-activator,
.results-add-filters-wrapper .abe-column.abe-filters-activator {
    order: 1;
    margin-top: 0.5rem;
}

.abe-jumbo .abe-button-res-wrapper {
    order: 2;
    margin-top: 0.5rem;
}

.date-search-container {
    width: 100%;
}

.abe-filters-activator,
.abe-button-res-wrapper {
    flex: 1 !important;
}

#bookingform input[type="text"]:focus,
#bookingform select:focus {
    border-color: #002c2f;
}

.abe-filters-wrapper select {
    border-color: #a5bac5;
}

.abe-results-info {
    text-align: center;
    line-height: 1em;
    margin-bottom: 0.5rem;
    padding: 4px 6px 10px;
    font-size: 16px;
}

.abe-sort-wrapper .abe-row.flex-switch {
    flex-direction: row;
  	align-items: center;
}

span.abe-favorite {
    width: 100%;
    display: block;
}

.abe-title-wrapper {
    text-align: left;
    margin-top: 1.5rem;
}

.full-width .fusion-row {
    max-width: 1920px !important;
    margin: 0 auto;
}

.abe-row.abe-wrap-apply-promo {
    justify-content: center;
    align-items: end;
}

.button.abe-apply-promo,
.abe-wrap-apply-promo input[type="text"] {
    margin-bottom: 0px !important;
}

.lSSlideOuter {
    margin-bottom: 1em;
}



.gallery-wrapper .lSPager.lSGallery li {
    height: 70px;
}

.gallery-wrapper ul.lSPager.lSGallery li a {
    height: inherit;
}

.gallery-wrapper ul.lSPager.lSGallery li a img {
    height: inherit;
    width: 100%;
    object-fit: cover;
}

.abe-amen-name {
    min-width: 100%;
}

.abe-checkavail .flex-switch.promo-pets {
    flex-direction: column;
}


.rating span {
    float: right;
    right: 20% !important;
    position: relative;
    padding-left: 2px;
}

/* #bookingbuttonvrp {
    padding: 0 1rem;
} */

.abe-book {
    flex-direction: column-reverse;
}

.abe-booking-details h1 {
    margin-bottom: 22px;
    font-size: 1.7rem;
    font-weight: 500 !important;
}

.abe-booking-details p {
    margin-bottom: .5rem;
}

.abe-terms-input {
    text-align: center;
    margin-bottom: 30px;
}

.abe-travel-ins {
    padding: 20px 0px;
}

.abe-sort-wrapper .flex-switch .abe-column:nth-of-type(3) {
    display: none;
}

.abe-sort {
    flex-direction: column;
}

.abe-sort-wrapper .abe-favorite-show {
    margin-bottom: 0;
  	padding: 0;
    border: 0;
}

#abe-map-results {
    flex: none;
    max-width: 100%;
    height: 500px;
    border-radius: 0;
}

.abe-map-activator {
    display: none;
}

.abe-image-container img {
    height: 300px;
    border-radius: 0;
}

#rates table th,
#rates table td {
    font-size: 14px;
}

#vrpbookform .abe-row {
    flex-direction: column;
}

.abe-item h2 {
    margin: 0 0 1.25rem 4px;
}

#abe-tabs .ui-tabs-panel {
    padding: 1em 0 1em;
}

.abe td,
.abe th {
    padding: 0.3rem;
}

#vrpinquire .abe-row {
    flex-direction: column;
}

#shareForm .abe-row {
    flex-direction: column;
}


/* #abe-tabs .ui-tabs-panel { padding: 1.5em 2.1em; } */
.abe-filters-wrapper,
.share-form-wrapper,
.inquiry-form-wrapper,
.abe-guests-select {
    left: 0;
    right: 0;
    width: 100%;
    padding: 15px 15px 20px;
    border: 1px solid var(--abe-global-color-primary);
    border-radius: 12px;
}

.abe-share-close,
.abe-inquiry-close,
.abe-quote-close,
.abe-filter-close,
.abe-guests-close {
    margin: 0 0 10px 0;
}

.vrp-amen-group h3 {
    margin: 0 0 5px 0;
}

.abe-filters-wrapper .abe-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

.abe-filters-wrapper .abe-column {
    display: block !important;
}

.filter-header-wrapper h3 {
    margin: 0;
}

.note {
    font-family: sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #9f9f9f;
}

div#calendar .calkey {
    order: 0;
}

div#calendar .abe-calendar {
    order: 1;
}

div#calendar>.abe-container>.abe-row>.abe-column {
    display: flex;
    flex-direction: column;
}

.abe-row.abe-unit-features.flex-switch {
    display: flex;
    flex-direction: row;
    column-gap: 0.4rem;
}

.date-range-checkavail {
    font-size: 16px;
}

#bookingform .detailed-quote-heading h3 {
    margin: 0;
    font-size: 1.25rem;
    margin-bottom: 4px;
}

#card-element {
    height: 40px;
    width: 100%;
}

#card-element {
    -webkit-appearance: none;
    border: 1px solid #a5bac5;
    box-shadow: none;
    box-sizing: inherit;
    height: 40px;
    font-size: 17px;
    padding: 0.2rem 0.5rem;
    width: 100%;
    background-color: #fff;
    padding-top: 8px
}

.abesearcher-flex-wrapper {
    display: flex;
    border: 1px solid #44444470;
    border-radius: 7px;
    padding: 0;
    width: 100%;
    margin: 0.4rem 0;
}

.abesearcher input[type='text']:hover,
.abesearcher select:hover {
    cursor: pointer;
}

.abesearcher form,
.abesearcher fieldset,
.abesearcher input {
    margin: 0.3rem 0;
}

.abesearcher select {
    margin: 0.3rem 0;
}

.abesearcher .searcher-button-wrap {
    width: 15%;
    margin: 0.4rem 0;
}

#abe-results-search .abe-button[type="submit"] {
    line-height: 1;
}

.abesearcher button {
    /* line-height: 1; */
    width: 100%;
    height: 100%;
    padding: 10px 15px 10px 15px;
    margin: 0 !important;
}

/* .vrp_main {padding-top: 8rem;} */
.vrp_main.resultspage {
    position: relative;
    z-index: 100;
}

.isPetFriendly {
    margin: 1.25rem 0.25rem;
    color: #0A0A0Aab;
}

.isPetFriendly .fas {
    color: #0A0A0Aab;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    right: 0 !important;
    width: auto !important;
    padding: 0 0.5rem !important;
}

.mfp-arrow {
    width: 75px !important;
    height: 75px !important;
}

.mfp-arrow:before,
.mfp-arrow:after {
    top: -8px !important;

}

.mfp-arrow:before {
    margin-top: 26px !important;
}

.mfp-arrow:after {
    margin-left: 25px !important;
}

.mfp-arrow-left:before,
.mfp-arrow-right:before {
    margin-left: 20px !important;
}

.loader {
    width: 90px;
    height: 90px;
    stroke-linecap: round;
    stroke-width: 4;
    fill: none;
    border: 4px solid var(--abe-global-color-accent);
    border-radius: 2000px;
    animation: internal 1s linear infinite;
    -webkit-animation: internal 1s linear infinite;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
}

.abe-jumbo .loader,
.searcher-button-wrap .loader {
    width: 25px !important;
    height: 25px !important;
    margin-top: 4px;
    border: 4px solid #ffffff;
    transform: rotate(0deg);
}

.searcher-button-wrap .loader {
    margin-top: 0;
}

.room-type-container {
    margin-bottom: 1rem !important;
    display: flex !important;
    padding: 0 !important;
    column-gap: 2rem;
    row-gap: 1rem;
    flex-wrap: wrap;
}

.room-type.slick-slide {
    margin: 1rem;
}

.room-type-inner {
    padding: 0.3rem;
    margin-top: 3rem;
    width: auto;
    min-width: 14vw;
    min-height: 12vw;
    border: 1.5px solid #0A0A0A26;
    display: flex;
    background-color: #fbfbfb;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgb(61 82 97 / 20%);
}

.room-type svg {
    width: 20vw;
    height: auto;
}

.room-type-txt {
    text-align: center;
    font-size: 18px;
}

.room-type-txt p {
    margin: 0 !important;
}

.abe-item .rate-container {
    position: relative;
    bottom: unset;
    width: 100%;
    right: unset;
}

.abe-results-page {
    display: flex;
    flex-direction: column;
    position: relative;
}

#loadingicons.results-loader {
    display: block;
    position: fixed;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    padding: 2.5rem;
    background: #ffffff;
    border: 2px solid var(--abe-global-color-accent);
    border-radius: 12px;
    box-shadow: 4px 6px 9px 4px rgb(0 0 0 / 15%);
    z-index: 9999;
}

.results-loader .loader {
    width: 145px;
    height: 145px;
    margin: 1rem;
    stroke-linecap: round;
    stroke-width: 8;
    fill: none;
    border: 8px solid var(--abe-global-color-accent);
    border-radius: 2000px;
    animation: internal 1.5s linear infinite;
    -webkit-animation: internal 1.5s linear infinite;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
}

.no-map-results.abe-item {
    padding: 6rem 2rem;
}

.no-map-results h2 {
    font-size: 1.7rem;
}

.no-map-results .abe-row,
.no-map-results .abe-column,
.no-map-results h2,
.no-map-results h3 {
    align-items: center;
    justify-content: center;
    text-align: center;
}

#abe-result-container,
#map-container {
    opacity: 0;
}

.abe-results-page .unit-list {
    order: 1;
}

.abe-results-page .abe-row.abe-results.map-active .abe-column.abe-column-50 {
    flex: 0 0 100%;
    order: 0;
    max-width: 100%;
    margin-bottom: 2rem;
}

.abe-results {
    /* max-width: 1440px; */
    max-width: 100%;
    margin: 0 auto;
}

.unit-mobile-scroll-avail {
    position: fixed;
  	padding: 1rem 1rem 2rem 1rem;
    width: 100%;
    left: 0;
    bottom: -200px;
    z-index: 999;
    background-color: var(--abe-global-color-accent);
    transition: all .8s ease-out;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cal-icon {
    width: 20px;
    height: 20px;
}

.unit-mobile-scroll-avail-btn.abe-button {
    background: none;
    color: #fff;
    border: none;
    font: inherit;
    cursor: pointer;
    outline: inherit;
    padding: 10px 0 0 10px;
    border-radius: 0 !important;
    margin: 0 !important;
}

#mobile-checkavail {
    margin-bottom: 6rem;
}

.abe-booking-details .first-details br {
    display: block;
}

@media all and (min-width: 410px) {
    .abesearcher .guest-column {
        width: 80%;
    }
}

/* Everything higher then -> Mobile */
@media all and (min-width: 480px) {
    .abe-amen-name {
        min-width: 48%;
    }

    .abe-filters-wrapper .attr-item,
    .abe-filters-wrapper .type-item {
        width: unset;
    }

    .abe-sort-wrapper .flex-switch {
        margin-bottom: 0.2rem;
    }

    .abe-sort-wrapper .flex-switch,
    .abe-sort {
        flex-direction: row;
    }

    .abe-sort .wrap {
        width: 100%;
    }

    .abe-results.map-active {
        padding: 0;
    }

    .abe-results.map-active .abe-item,
    .abe-item {
        margin-bottom: 2rem;
    }

    .abe-row .abe-column.abe-column-50#abe-map-results {
        /*flex: 1 1 auto;*/
        max-width: 100%;
        height: 400px;
        margin: 0;
    }

    /*.abe-row .abe-column {
        margin-bottom: inherit;
    }*/
    .abe-row.amenities-checkboxes {
        flex-direction: row;
    }

    .abe-favorites .abe-item {
        flex-basis: 100%;
        width: 100%;
    }

    .unit-nav {
        top: 121px;
        column-gap: 0.25rem;
        z-index: 101;
    }

    #abe-tabs .ui-state-default,
    .unit-nav li a {
        padding: 1rem 1.5rem 1rem 1.5rem;
    }

    .abe-booking-details .night-details {
        flex-direction: row;
    }

    .abe-booking-details .first-details span:after {
        content: '|';
    }


}

@media all and (min-width: 540px) {
    .abe-booking-details .first-details br {
        display: none;
    }

    .abe-column.unit-image {
        width: 100%;
        padding-bottom: 0.3rem;
    }

    .abe-item .abe-row {
        display: flex;
        flex-direction: row;
    }

    .abe-item .unit-info {
        display: flex;
        flex-direction: column;
        padding: 0.75rem;
    }

    .abe-item .rate-container {
        height: auto;
        align-items: flex-end;
    }
}

@media all and (min-width: 600px) {

    #abe-tabs .ui-state-default,
    .unit-nav li {
        font-size: 16px;
        width: 16%;
    }

    .room-type svg {
        width: 8vw;
        height: auto;
    }

    #abe-gallery-modal .img-grid-item {
        width: 48%;
    }
}

@media all and (min-width: 768px) {
    .room-type svg {
        width: 12vw;
        height: auto;
    }

    .calkey {
        display: block;
    }

    .abesearcher .guest-column {
        width: 90%;
    }

    .abesearcher .searcher-button-wrap {
        width: 8%;
    }

    .abe-checkavail {
        max-width: 460px !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .date-search-container .hasDatepicker {
        background-position: 96% center;
    }

    .abe-results .lSSlideOuter {
        max-height: 275px;
    }

    .buttons-wrap .abe-row,
    .abe-results>div:first-child,
    .abe-form-wrapper .abe-column.group {
        flex-direction: row;
    }

    .abe-sort-wrapper span.abe-favorite-show,
    .abe-sort-wrapper .abe-share {
        height: auto;
    }

    .results-add-filters-wrapper {
        display: flex;
    }

    .abe-form-wrapper form {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .featured-units-wrapper .slick-list.draggable {
        margin: 0 40px;
    }

    .featured-units-wrapper .abe-item {
        margin: 0 10px !important;
    }

    .abe-image-container .abe-favorite {
        width: auto;
    }

    .abe-terms {
        width: 90%;
        left: 5%;
    }

    .abe-fixed-w-500-700 {
        min-width: auto;
        /*max-width: auto;*/
    }

    .abe input[type='color'],
    .abe input[type='date'],
    .abe input[type='datetime'],
    .abe input[type='datetime-local'],
    .abe input[type='email'],
    .abe input[type='month'],
    .abe input[type='number'],
    .abe input[type='password'],
    .abe input[type='search'],
    .abe input[type='tel'],
    .abe input[type='text'],
    .abe input[type='url'],
    .abe input[type='week'],
    .abe input:not([type]),
    .abe textarea,
    .abe select {
        font-size: 0.9rem;
    }

    .gallery-wrapper .fa-chevron-right,
    .gallery-wrapper .fa-chevron-left {
        font-size: 2.2rem;
    }

    .share-form-wrapper,
    .inquiry-form-wrapper {
        position: fixed;
        bottom: initial;
        top: 20%;
        z-index: 100;
        transform: translateY(-20%);
        width: 90%;
        left: 5%;
        right: 5%;
        z-index: 999;
    }

    /*.abe-detailed-quote {
        position: fixed;
        top: 20%;
        transform: translateY(-20%);
        width: 90%;
    }*/
    .abe-guests-select {
        position: fixed;
        top: 20%;
        transform: translateY(-20%);
        width: 90%;
    }

    .abe-book-info {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        align-items: center;
    }

    .abe-reservation-label-wrapper {
        text-align: center;
    }

    #add-ons>.abe-column {
        width: 50%;
    }

    #add-ons {
        flex-wrap: wrap;
    }

    #abe-tabs {
        margin-bottom: 2em;
        border-bottom: 2px solid #758d98;
    }

    .abe-image-container img {
        height: 275px;
    }

    .abe-payment .abe-book {
        flex-direction: column-reverse;
    }

    .abe-booking-details {
        padding: 0 !important;
        margin-bottom: 2%;
        border-left: none;
        border-bottom: 2px solid #002c2f;
    }

    #vrpbookform .abe-row {
        flex-direction: row;
    }

    .abe-share-close,
    .abe-inquiry-close,
    .abe-quote-close,
    .abe-filter-close,
    .abe-guests-close {
        margin: 0 5px 10px 0;
    }

    .abe-icons {
        font-size: 16px;
    }

    .abe-flex-form {
        flex-direction: row;
    }

    .abe table {
        display: table;
        overflow-x: initial;
    }

    .abe-amen-name {
        margin-bottom: 3px !important;
        padding-bottom: 3px;
    }

    /*.abe-filters-wrapper {
        left: 2%;
        right: 2%;
        width: 96%;
        top: 50%;
        bottom: initial;
        transform: translateY(-50%);
        height: auto;
    }*/
    .gallery-wrapper .lSSlideOuter .lSPager.lSGallery {
        display: block;
    }

    .gallery-wrapper #fullscreen-cta,
    .mobile-gallery-wrapper #fullscreen-cta {
        bottom: 10%;
    }

    .ui-tabs .ui-tabs-nav li {
        width: fit-content;
    }

    .abe-row.abe-favorites {
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: center;
        column-gap: 2rem;
        max-width: 1440px;
        margin: 0 auto;
    }

    .abe-favorites .abe-item {
        width: 100%;
        max-width: 100%;
    }

    .abe-item {
        position: relative;
        flex-basis: 100%;
        align-self: flex-start;
        width: 100%;
        padding: 0;
        margin: 0 0 2.5rem;
        border: none;
        border-radius: 0;
        transition: none;
    }

    .abe-item:hover {
        border: none;
        box-shadow: none;
    }
}

@media all and (max-width: 1024px) {
    .abe-inner-container, .abe-unit-container {
        padding-top: 2rem;
      	padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media all and (min-width: 986px) {

    /* .gallery-wrapper {
        display: flex;
    }

    .gallery-wrapper {
        display: none;
    } */

    .abe-unit .abe-container {
        max-width: 1500px;
        padding: 2rem;
    }
}

@media all and (min-width: 1024px) {
    #open-mobile-gallery-btn {
        left: 120px;
        bottom: 28px;
    }

    .abe-checkavail-wrapper {
        margin-top: -40%;
    }

    #abe-gallery-modal .modal-img-grid {
        column-gap: 2%;
    }

    #abe-gallery-modal .img-grid-item {
        width: 32%;
        height: 300px;
    }

    .abe-jumbo,
    .abe-sort-wrapper {
        width: 100%;
        /* padding: 0 1rem 1rem 1rem; */
        margin-left: auto;
        margin-right: auto;
    }

    .abe-jumbo {
        padding-top: 60px;
    }

    .abe-flex-form .abe-column.abe-filters-activator,
    .results-add-filters-wrapper .abe-column.abe-filters-activator,
    .abe-jumbo .abe-button-res-wrapper {
        order: unset;
        margin: unset;
    }

    .abesearcher>.abe-container>form>.abe-row {
        flex-direction: row;
        flex-wrap: unset;
    }

    .abesearcher-flex-wrapper {
        width: 100%;
        margin: 0;
    }

    .abesearcher .abe-container {
        margin: 0;
        padding: 0;
        position: relative;
        width: 100%;
        max-width: 1440px;
    }

    .abesearcher .searcher-button-wrap {
        width: auto;
        margin: 0;
    }

    .abesearcher .searcher-button-wrap button {
        margin: 0;
        height: 100%;
    }

    .abesearcher form,
    .abesearcher fieldset,
    .abesearcher input,
    .abesearcher select,
    .abesearcher button {
        margin: 0;
    }

    .abesearcher .button,
    .abesearcher .abe-button,
    .abesearcher input,
    .abesearcher select {
        margin: 0 !important;
    }

    .abesearcher-flex-wrapper {
        margin: 0 0.25rem !important;
        padding: 0.25rem;
    }

    .gallery-wrapper .lSSlideOuter .lSPager.lSGallery {
        display: block;
    }

    .abe .button#abe-filters-activator {
        width: auto;
        /* max-width: 75px; */
    }

    .abe .button#abe-filters-activator img {
        max-width: unset;
    }

    .abe-row .abe-column-50.unit-list {
        flex: 0 0 48%;
        max-width: 48%;
    }

    .abe-row .abe-column-50 {
        padding: 0 0.25rem;
        position: relative;
    }

    .abe-row .abe-column.abe-column-50#abe-map-results {
        flex: 0 0 48%;
        max-width: 48%;
        margin-left: 0;
    }

    .abe-item {
        flex-basis: 48%;
    }

    .abe-results>div {
        justify-content: space-between;
    }

    .abe-sort-wrapper {
        margin-bottom: 0.3em;
    }

    div#calendar .calkey {
        width: 100%;
    }

    /*.abe-detailed-quote {
        max-width:50%;
    }*/
    .abe-guests-select {
        max-width: 50%;
    }

    .abe-quote-info {
        font-size: 18px;
    }

    /*.abe-detailed-quote {
        top: 50%;
        transform: translateY(-50%);
    }*/
    .abe-guests-select {
        top: 50%;
        transform: translateY(-50%);
    }

    .abe-reservation-label-wrapper h2 {
        font-size: 2rem;
    }

    #bookingform {
        margin-top: 25px;
    }

    #abe-mobile-slider li {
        height: 75vh;
    }

    .abe-title-wrapper {
        text-align: left;
    }

    .abe-unit-twosides-wrapper {
        display: flex;
    }

    .abe-unit-twosides-wrapper .abe-unit-infocol {
        width: 70%;
    }

    .abe-unit-twosides-wrapper #abe-tabs {
        border: 0;
        margin: 0;
    }

    .abe-unit-twosides-wrapper .abe-checkavail {
        width: 30%;
        padding: 0 0 0 2% !important;
    }

    .abe-checkavail-wrapper.fixed {
        top: 121px;
    }

    .abe-unit-info>.abe-container {
        width: 96%;
        margin: 0 auto;
    }

    .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
        font-size: 17px;
    }

    .abe-unit #abe-tabs .ui-widget-header {
        gap: 0.7%;
        border-bottom: 1px solid var(--abe-global-color-primary);
        box-shadow: 0 15px 25px -19px var(--abe-global-color-primary);
        justify-content: left;
    }

    .amenities-checkboxes .abe-column,
    .type-checkboxes .abe-column {
        grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
    }

    .abe-results.map-active>div {
        /* justify-content: space-evenly; */
        justify-content: space-between;
    }

    .first-filter-ac-wrapper,
    .second-filter-ac-wrapper {
        width: 100%;
    }

    .abe-filters-wrapper>.abe-row {
        flex-direction: row;
    }

    .abe #description-body {
        font-size: 16px;
        line-height: 26px;
    }

    .abe #description .preview {
        --mask: linear-gradient(to bottom,
                rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 1) 90%,
                rgba(0, 0, 0, 0) 100%, rgba(0, 0, 0, 0) 0) 100% 50% / 100% 100% repeat-x;

        -webkit-mask: var(--mask);
        mask: var(--mask);
    }

    .read-more-link.button,
    .read-less-link.button,
    #amenities-view-toggle {
        width: auto;
        color: #fff !important;
        text-transform: uppercase;
    }

    .unit-mobile-scroll-avail {
        bottom: -200px !important;
    }

    #mobile-checkavail {
        margin-bottom: unset;
    }

    .abe-icons {
        margin: 0 0 20px;
    }

    .abe .abe-icons i {
        font-size: .9em;
    }

    div#calendar>.abe-container>.abe-row>.abe-column {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .abe #calendar table {
        width: 48%;
    }

    .ui-tabs .ui-tabs-nav li {
        margin: 0;
    }

    .abe-filters-wrapper {
        left: 10%;
        right: 10%;
        width: 90%;
        top: 15%;
        bottom: auto;
        height: auto;
        max-width: 900px;
        overflow-x: hidden;
        overflow-y: hidden;
    }

    .abe-results.map-active .abe-item {
        position: relative;
        flex-basis: 92%;
    }

    .share-form-wrapper,
    .inquiry-form-wrapper {
        top: 50%;
        transform: translateY(-50%);
        max-width: 560px;
    }

    #map-container,
    #abe-map-results {
        position: sticky !important;
        top: 214px !important;
        height: calc(99.25vh - 214px) !important;
        z-index: 9;
        padding: 0;
    }

    /*#abe-map-results {
        position: sticky !important;
        top: 156px !important;
        height: calc(99.25vh - 156px) !important;
        z-index: 9;
    }*/
    .abe-sort-wrapper .flex-switch .abe-column:nth-of-type(3) {
        display: block;
        width: 60%;
    }

    .abe-map-activator {
        display: flex;
        align-items: center;
        justify-content: center;
        float: none !important;
    }

    .abe-results-info {
        text-align: center;
        line-height: 1em;
        margin-bottom: 0.5rem;
        padding: 4px 0 10px;
        color: var(--abe-global-color-accent);
        font-size: 16px;
        font-weight: 600;
    }

    .abe-sort-wrapper>.abe-row {
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
    }

    .abe-sort-wrapper>.abe-row>.abe-column:first-child {
        width: 15%;
        display: flex;
        justify-content: center;
    }

    .results-add-filters-wrapper .abe-column.no-padding:not(:first-child) {
        width: 50%;
    }

    .abe-row.abe-results.map-active {
        flex-direction: row;
        padding: 0;
        margin: 0 auto;
        column-gap: 1.5rem;
        /* max-width: 1440px; */
        max-width: 100%;
        justify-content: space-between;
    }

    .results-add-filters-wrapper {
        width: 100%;
    }

    .results-add-filters-wrapper .abe-column.no-padding:first-child {
        width: 100%;
    }

    .abe-form-wrapper form {
        flex-direction: row;
        flex-wrap: nowrap;
      	align-items: center;
    }

    .abe-jumbo .abe-button-res-wrapper,
    .abe-jumbo .abe-filters-activator {
        width: auto;
    }

    .abe-item .rate-container {
        position: absolute;
        bottom: 20px;
        width: 45%;
        right: 20px;
    }

    .abe-results-page .unit-list {
        order: 0;
    }

    .abe-results-page .abe-row.abe-results.map-active .abe-column.abe-column-50 {
        flex: 0 0 50%;
        order: 1;
        max-width: 50%;
    }

    .room-type svg {
        width: 4vw;
        height: auto;
    }

    .abe-confirmation-page {
        flex-direction: row !important;
        padding: 20px;
    }

    .abe-confirmation-page .abe-booking-details {
        order: 1;
    }

    .abe-confirmation-page .payment-column {
        order: 0;
        padding-top: 1rem;
    }

    #track-payment-container {
        min-height: unset;
    }
}

@media all and (min-width: 1280px) {
    .abe-checkavail .flex-switch {
        flex-direction: column;
    }

    .abe-container {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .abe #calendar table {
        float: none;
        width: 100%;
        margin: 0;
    }

    .abe-results .abe-item {
        flex-basis: 48%;
        width: 48%;
    }

    .abe-results.map-active .abe-item {
        flex-basis: 100%;
        width: 100%;
        margin: 0 0 1.25rem;
    }

    .abe-payment .abe-book {
        flex-direction: row;
    }

    .abe-row.abe-book>div:first-of-type {
        padding-top: 1rem;
        padding-right: 5px;
    }

    .abe-row.abe-book>div:last-child {
        padding-left: 20px !important;
        border-left: 1px solid #dfe9ef;
        border-bottom: 0;
    }

    .abe.abe-payment {
        margin-top: 20px;
    }

    .abe-book-info {
        flex-direction: column;
        align-items: flex-start;
    }

    .abe-reservation-label-wrapper {
        text-align: left;
    }

    .abe-ratebreakdown {
        margin-top: 20px;
    }

    .abe-reservation-label-wrapper h3 {
        font-size: 1.4rem;
    }

    .abe-reservation-label-wrapper h2 {
        font-size: 2.2rem;
    }

    .abe-results {
        padding: 0;
    }

    .abe-row.abe-column-50 {
        /* justify-content: space-evenly; */
        justify-content: space-between;
    }
}

@media all and (min-width: 1440px) {


    .abe-row .abe-column-50.unit-list {
        flex: 0 0 48%;
        max-width: 48%;
    }

    .abe-row .abe-column.abe-column-50#abe-map-results {
        flex: 0 0 48%;
        max-width: 48%;
    }

    .abe-amen-name {
        min-width: 31.3%;
    }

    .abe-item {
        flex-basis: 100%;
    }

    .abe-favorites .abe-item {
        flex-basis: 48%;
        width: 48%;
    }

    .featured-units-wrapper .slick-list.draggable {
        margin: 0 10%;
    }

    div#featured-units .slick-prev.slick-arrow {
        left: 31.5vw !important;
        z-index: 2;
    }

    div#featured-units .slick-next.slick-arrow {
        right: 31.25vw !important;
        z-index: 2;
    }

    .abe-unit-info>.abe-container {
        width: 98%;
    }

    .abe-unit-twosides-wrapper .abe-checkavail {
        width: 33%;
        margin: 0 !important;
    }

    .abe-unit-twosides-wrapper .abe-unit-infocol {
        width: 67%;
    }

    .abe h1 {
        font-size: 2.625rem;
        font-weight: 600 !important;
    }

    .abe #description p {
        font-size: 18px;
    }

    .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
        font-size: 18px;
    }

    /*.abe-detailed-quote {
        max-width: 40%;
    }*/

    .abe-guests-select {
        max-width: 24%;
    }

    /* #abe-mobile-slider li.slick-slide {
        opacity: 0.4;
    }

    #abe-mobile-slider img {
        width: 100%;
        height: 100%;
        min-height: 750px;
        object-fit: cover;
        border-radius: 12px;
    }

    .abe i.fas.slick-arrow {
        position: absolute;
        top: 50%;
        width: 50px;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #ffffffd4;
        border: 2px solid #ffffffd4;
        border-radius: 7px;
        z-index: 10;
        font-size: 2.5rem;
        cursor: pointer;
        box-shadow: 0 0 5px #081010d4;
    } */
}

div#abe-map-results {
    max-width: 100%;
    width: 100%;
    min-height: 60vh;
}

.abe-container.abe-sort-wrapper>div.abe-row {
    padding-bottom: 0.5rem;
}

.abe-results-view-changer {
    display: flex;
    flex-direction: row;
}

.abe-results-view-changer input {
    opacity: 0;
    visibility: hidden;
    width: 0;
}

.abe-results.map-full-active>div:first-of-type {
    display: none;
}

.abe-results.map-full-active div#abe-map-results {
    min-height: 85vh;
}

form.abe-results-view-changer svg {
    height: 25px;
    width: 35px;
}

form.abe-results-view-changer input.selected-view+label {
    background: #54b9e0;
    transition: all 0.5s ease-in-out;
}

#fullscreen-swiper .swiper-pagination-bullets {
    bottom: -2px;
}

#fullscreen-swiper .swiper-pagination-bullet {
    background: #fff;
    opacity: .5;
}

.abe-sort-wrapper>.abe-row>div:first-of-type {
    display: none;
}

#fullscreen-swiper .swiper-pagination-bullet-active {
    background: #007aff;
}

#fullscreen-swiper {
    display: none;
    height: calc(100% - 110px);
    overflow: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.abe-unit-info .gallery-thumbs {
    display: none;
    bottom: 10px;
    padding: 0 10px;
    position: fixed;
    left: 0;
    width: 100%;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.gallery-thumbs .swiper-arrow-nav,
.main-thumbs .swiper-arrow-nav {
    display: none;
}

#fullscreen-swiper .swiper-slide {
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

#fullscreen-swiper .swiper-slide img {
    height: auto;
    max-width: 95%;
    width: auto;
    max-height: 95%;
    object-fit: contain;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.gallery-thumbs img,
.main-thumbs img {
    height: 100px !important;
}

.gallery-thumbs a,
.main-thumbs a {
    height: 100px !important;
}

.swiper-slide {
    transition: all 0.4s ease-in-out;
}

.swiper-slide.slider-active {
    opacity: 0.5;
    transition: all 0.4s ease-in-out;
}

.gallery-thumbs .caption,
.main-thumbs .caption {
    display: none;
}

#fullscreen-swiper .caption {
    position: absolute;
    left: 50%;
    border-radius: 5px;
    transform: translateX(-50%);
    max-width: 80vw;
    width: fit-content;
}

.abe-unit-info .swiper-button-next:after,
.abe-unit-info .swiper-button-prev:after {
    font-weight: 600;
    color: #fff;
    font-size: 1.4rem;
}

#fullscreen-swiper-backdrop {
    background: #000000f2;
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}

.mySwiper-results-page .swiper-button-next,
.mySwiper-results-page .swiper-button-prev {
    display: block;
    height: 35px;
    width: 35px;
    background: #174A7C;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 3;
}

.abe-row.amenities-checkboxes {
    margin-bottom: 10px;
}

.mySwiper-results-page .swiper-button-next::after,
.mySwiper-results-page .swiper-button-prev::after {
    font-size: 1.4rem;
    color: #fff;
    z-index: 3;
}

.mySwiper-results-page .swiper-button-next::after {
    margin-right: -3px;
}

.mySwiper-results-page .swiper-button-prev::after {
    margin-left: -3px;
}

#fullscreen-swiper-close {
    color: #fff;
    cursor: pointer;
    font-size: 24px;
    padding: 1px 6px 0;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10000;
}

.slider-counter {
    color: #fff;
    font-size: 20px;
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 10000;
}

#fullscreen-swiper-close i {
    color: #fff;
    font-size: 1.6rem;
}

.no-scroll {
    height: 100%;
    overflow: hidden
}

.abe-gallery-modal-open .section {
    z-index: 1000;
}

form.abe-results-view-changer label svg path,
form.abe-results-view-changer label svg polygon {
    fill: #174A7C;
}

form.abe-results-view-changer input.selected-view+label svg path,
form.abe-results-view-changer input.selected-view+label svg polygon {
    fill: #fff;
}

.unitpage-swiper-slide img {
    height: 53vh;
    width: 100%;
    object-fit: cover;
    cursor: pointer;
}

.abe-info-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}

.abe-info-modal .popup-info-imgholder {
    display: flex;
    justify-content: center;
}

.abe-info-modal .popup-info-imgholder img {
    height: 40px;
    margin-bottom: 20px;
}

.abe-info-modal-content p {
    font-size: 20px;
    margin: 0;
    text-align: center;
}

.abe-info-modal-content {
    background-color: white;
    padding: 20px;
    border-radius: 5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
}

.abe-info-close {
    float: right;
    font-size: 25px;
    font-weight: bold;
    cursor: pointer;
}

.abe-info-close:hover {
    color: red;
}

.unit-pages .inner-container {
    margin-top: 0;
}

.unitpage-swiper-slide .caption {
    position: absolute;
    bottom: 26px;
    left: 0;
    background: #fff;
    padding: 5px 15px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.unitpage-swiper-slide {
    position: relative;
}

form.abe-results-view-changer label {
    margin: 0;
    display: flex;
    background: #fff;
    padding: 5px;
    border: 1px solid #174A7C;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
}

form.abe-results-view-changer label:nth-child(5) {
    border: none;
    border-top: 1px solid #174A7C;
    border-bottom: 1px solid #174A7C;
}

form.abe-results-view-changer label:nth-child(2) {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

form.abe-results-view-changer label:nth-child(8) {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.abe-row.abe-favorites .abe-item {
    margin-bottom: 30px;
    position: relative;
}

.featured-amenities img {
    height: 50px;
    width: 50px;
}

i.fa-solid.fa-circle-info {
    color: #0d3562;
    position: relative;
}

i.fa-solid.fa-circle-info .tooltiptext {
    visibility: hidden;
    width: 200px;
    background-color: #54b9e0;
    color: #fff;
    box-shadow: 0 2pt 7pt #00000080;
    text-align: center;
    border-radius: 6px;
    padding: 10px;
    position: absolute;
    z-index: 1;
    bottom: 50%;
    left: 150%;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    font-size: 14px;
}

@media all and (max-width: 1024px) {

    .abe-row {
        flex-direction: column;
    }

    .elementor-261 .elementor-element.elementor-element-4416d185:not(.elementor-motion-effects-element-type-background),
    .elementor-261 .elementor-element.elementor-element-4416d185>.elementor-motion-effects-container>.elementor-motion-effects-layer,
    .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-wrapper {
        background-color: #ffffff !important;
    }

    #atlas-main-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text,
    .elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current),
    .elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) a {
        color: var(--abe-global-color-primary) !important;
    }

    .elementor-261 .elementor-element.elementor-element-93be2dc>.elementor-widget-container>.e-n-menu>.e-n-menu-wrapper>.e-n-menu-heading>.e-n-menu-title:hover:not(.e-current) {
        border-color: var(--abe-global-color-primary) !important;
    }

    .elementor-261 .elementor-element.elementor-element-93be2dc>.elementor-widget-container>.e-n-menu>.e-n-menu-wrapper>.e-n-menu-heading>.e-n-menu-title,
    .elementor-261 .elementor-element.elementor-element-93be2dc>.elementor-widget-container>.e-n-menu>.e-n-menu-wrapper>.e-n-menu-heading>.e-n-menu-title>.e-n-menu-title-text,
    .elementor-261 .elementor-element.elementor-element-93be2dc>.elementor-widget-container>.e-n-menu>.e-n-menu-wrapper>.e-n-menu-heading>.e-n-menu-title>a.e-n-menu-title-link>.e-n-menu-title-text {
        background-color: transparent;
        color: var(--abe-global-color-primary);
        margin: 12px;
        padding: 0.15rem;
        justify-content: center;
    }
}

@media screen and (min-width: 769px) {
    .abe-form-wrapper form .container.lock-plugin.range-plugin.show {
        transform: translateX(0) !important;
        left: 0 !important;
    }
}

@media screen and (min-width:1024px) {
    .abe-form-wrapper form .container.lock-plugin.range-plugin.show {
        transform: translateX(0) !important;
        left: 0 !important;
    }
}

/* Mobile Units Results */
@media screen and (max-width: 767px) {
  .abe-inner-container {
    padding: 1rem;
  }
  .abe-results-page .unit-list {
    padding: 0;
    gap: 1rem;
  }
  .abe-item .rate-container {
    flex-direction: column;
  }
  .abe-item .unit-info {
    padding: 0.5rem 0;
  }
  .abe-column .unit-button {
    padding-left: 0 !important;
    padding-bottom: 1rem;
  }
  .unit-button a.button {
    width: 100%;
  }
}

/* Mobile Search Results Bar — not sticky, scrolls with page */
@media screen and (max-width: 767px) {
    .abe-jumbo,
    .abesearcher {
        position: static !important;
    }
    .abe-jumbo form,
    .abesearcher form {
        margin: 0;
    }
}

/* Mobile Unit page */
@media screen and (max-width: 767px) {
  .vrp-unit-hero {
    height: 40vh;
  }
  .abe-unit-container {
    padding: 1rem;
  }
  .unit-nav {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    padding: 1rem 0 1rem 0;
    column-gap: 0.5rem;
    row-gap: 0.5rem;
    top: 65px;
    align-content: center;
    justify-content: space-between;
  }
  .unit-nav li {
    width: 31%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .abe .button {
    width: 100%;
    background-color: var(--e-global-color-accent);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    fill: var(--e-global-color-2b35b52);
    color: var(--e-global-color-2b35b52);
    transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
    border-style: solid;
    border-width: 1px;
    border-radius: 0;
    padding: 0 1.5rem;
    height: 3rem;
    line-height: 3rem;
  }
  #abe-review-activator {
    width: 100%;
  }
  .abe-icons {
    display: flex;
    flex-direction: row;
  }
  .abe-icons span {
    margin: 0;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .abe-unit-features span {
    padding: 1.5rem 1rem 1.5rem 1rem;
  }
  .abe-unit .abe-favorite-show {
    padding: 1.5rem 1rem 1.5rem 1rem;
  }
  .abe-unit .abe-share {
    padding: 1.5rem 1rem 1.5rem 1rem;
  }
  .abe-inquiry {
    padding: 1.5rem 1rem 1.5rem 1rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   SEARCH RESULTS — SEARCH BAR & SORT BAR LUXURY RESTYLE
   ═══════════════════════════════════════════════════════════════════════ */

/* --- Search Bar (abe-jumbo) --- */
.abe-jumbo {
	background: transparent;
	padding-top: 2rem;
	padding-bottom: 0;
}

.abe-jumbo .abe-form-wrapper {
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
	padding-bottom: 1.5rem;
}

.abe-form-wrapper form {
	gap: 0.5rem;
	padding: 0.5rem;
	align-items: center;
}

/* Search inputs — clean, minimal */
.abe-form-wrapper form input[type="text"],
.abe-form-wrapper form select {
	border: 1px solid rgba(10, 10, 10, 0.12);
	border-radius: 0;
	padding: 0.75rem 1rem;
	font-size: 0.88rem;
	font-weight: 400;
	color: var(--abe-global-color-primary, #1E646E);
	background: #fff;
	transition: border-color 0.4s ease;
	-webkit-appearance: none;
	appearance: none;
}

.abe-form-wrapper form input[type="text"]:focus,
.abe-form-wrapper form select:focus {
	border-color: var(--abe-global-color-accent, #A16207);
	outline: none;
}

.abe-form-wrapper form input[type="text"]::placeholder {
	color: rgba(10, 10, 10, 0.4);
	font-weight: 400;
}

/* Search button — minimal square */
.abe-jumbo .abe-button,
.abe-form-wrapper .abe-button {
	background: var(--abe-global-color-accent, #A16207);
	border: 1px solid var(--abe-global-color-accent, #A16207);
	border-radius: 0;
	color: #fff;
	min-width: auto;
	padding: 0.75rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background-color 0.4s ease, color 0.4s ease;
}

.abe-jumbo .abe-button:hover,
.abe-form-wrapper .abe-button:hover {
	background: #fff;
	color: var(--abe-global-color-accent, #A16207);
}

/* Filters activator button */
#abe-filters-activator {
	border-radius: 0;
	border: 1px solid rgba(10, 10, 10, 0.12);
	background: transparent;
	padding: 0.75rem 1rem;
	transition: border-color 0.4s ease;
}

#abe-filters-activator:hover {
	border-color: var(--abe-global-color-accent, #A16207);
}

/* Clear dates / Reset filters — subtle text links */
.abe-jumbo .abe-button#clear-dates,
.abe-jumbo .abe-button#reset-filters {
	background: none;
	border: none;
	color: rgba(10, 10, 10, 0.5);
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0;
	text-decoration: none;
	transition: color 0.3s ease;
}

.abe-jumbo .abe-button#clear-dates:hover,
.abe-jumbo .abe-button#reset-filters:hover {
	color: var(--abe-global-color-primary, #1E646E);
}

/* --- Sort / Toolbar Bar (abe-sort-wrapper) --- */
.abe-sort-wrapper {
	padding-top: 1rem;
	padding-bottom: 0;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.abe-container.abe-sort-wrapper > div.abe-row {
	padding-bottom: 1rem;
}

/* Results count — refined */
.num-results-container {
	padding: 0 0.5rem 0;
}

.num-results-container p {
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(10, 10, 10, 0.5);
	margin: 0;
	line-height: 1.4;
}

#num-results {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--abe-global-color-primary, #1E646E);
}

/* Sort dropdown — clean */
.abe-sort select {
	border: 1px solid rgba(10, 10, 10, 0.12);
	border-radius: 0;
	font-size: 0.82rem;
	font-weight: 400;
	color: var(--abe-global-color-primary, #1E646E);
	padding: 0.5rem 0.75rem;
	background: transparent;
	transition: border-color 0.4s ease;
	-webkit-appearance: none;
	appearance: none;
}

.abe-sort select:hover,
.abe-sort select:focus {
	border-color: var(--abe-global-color-accent, #A16207);
	outline: none;
}

/* Favorites / Share — subtle text links, no boxes */
.abe-sort-wrapper .abe-favorite-show,
.abe-sort-wrapper .abe-share {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(10, 10, 10, 0.5);
	transition: color 0.3s ease;
}

.abe-sort-wrapper .abe-favorite-show a {
	color: rgba(10, 10, 10, 0.5);
	border-radius: 0;
	padding: 0;
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: color 0.3s ease;
}

.abe-sort-wrapper .abe-favorite-show:hover,
.abe-sort-wrapper .abe-favorite-show a:hover,
.abe-sort-wrapper .abe-share:hover {
	background: transparent;
	color: var(--abe-global-color-primary, #1E646E);
}

.abe-sort-wrapper .abe-favorite-show:hover a {
	color: var(--abe-global-color-primary, #1E646E);
}

.abe-sort-wrapper .abe-share .fas,
.abe-sort-wrapper .abe-favorite-show .fas {
	font-size: 0.75rem;
	color: inherit;
}

/* MAP toggle — refined */
.abe-map-activator .heading {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0 0.5rem 0 0;
	color: var(--abe-global-color-primary, #1E646E);
}

.switch {
	border-radius: 0;
}

.slider.round {
	border-radius: 34px;
	border: 1px solid rgba(10, 10, 10, 0.2);
}

input:checked + .slider {
	background-color: var(--abe-global-color-accent, #A16207);
}

/* --- Kill all border-radius on search bar & sort bar elements --- */
.abe-jumbo *,
.abe-sort-wrapper *,
.abe-form-wrapper *,
.abe-flex-form *,
.abe-sort *,
.abe-filters-wrapper *,
#abe-filters-activator,
.abe-sort-wrapper .abe-favorite-show a,
.abe-sort-wrapper .abe-share {
	border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   SEARCH RESULTS — SIMILAR-CARD STYLE RESTYLE
   Emulates the lpjh-similar-card editorial look from the luxury template.
   ═══════════════════════════════════════════════════════════════════════ */

/* --- Card Layout — horizontal: image left, content right --- */
.abe-item {
	border-bottom: none;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0 0 2.5rem;
	transition: none;
}

.abe-item > .abe-row {
	flex-direction: row;
}

/* --- Image: left column, fixed width --- */
.abe-column.unit-image {
	width: 45%;
	max-width: 45%;
	flex: 0 0 45%;
	padding-bottom: 0;
}

.abe-image-container {
	position: relative;
	overflow: hidden;
	border-radius: 0;
}

.abe-image-container img {
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.abe-item:hover .abe-image-container img {
	transform: scale(1.04);
}

/* --- Content Area — right column --- */
.abe-item .unit-info {
	flex: 1;
	padding: 0.5rem 0 0.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Location — subtle kicker */
.abe-item .above-unit-title {
	flex-direction: row;
	align-items: center;
	margin-bottom: 0.2rem;
}

.unit-location p {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(10, 10, 10, 0.5);
	margin-bottom: 0;
	line-height: 1.4;
}

/* Property name — editorial */
.abe-item h2 {
	font-family: var(--font-secondary, Georgia, serif);
	font-size: 1.5rem;
	font-weight: 400;
	margin: 0 0 0.4rem 0;
	line-height: 1.3;
	letter-spacing: 0;
}

.abe-item h2 a {
	color: var(--abe-global-color-primary, #1E646E);
	font-weight: 400;
	text-decoration: none;
}

/* Meta: beds / baths / guests — muted with middot separators */
.icons-info {
	font-size: 0.82rem;
	margin: 0 0 0.5rem 0;
}

.icons-info span {
	display: inline;
	line-height: 1.5;
	color: rgba(10, 10, 10, 0.55);
	padding: 0;
	margin: 0;
	border-right: none;
}

.icons-info span + span::before {
	content: "\00b7";
	margin: 0 0.35rem;
}

.icons-info span .fas {
	display: none;
}

/* Rate — subtle, muted */
.abe-item .abe-rate {
	font-size: 0.82rem;
	color: rgba(10, 10, 10, 0.55);
	padding: 0;
	margin: 0;
}

.abe-item .abe-rate strong {
	color: rgba(10, 10, 10, 0.7);
}

/* Stars — compact inline */
.abe-item .stars-column {
	flex: 0 0 auto;
}

.abe-item .star-rating {
	margin: 0;
}

/* Rate + Button row — horizontal, aligned */
.abe-item .rate-container {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.75rem;
	height: auto;
}

.abe-item .rate-container .abe-column {
	width: auto;
	flex: none;
}

/* --- "Explore" Button as Animated Underline Link --- */
.unit-button a.button {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	height: auto !important;
	line-height: 1 !important;
	min-height: auto !important;
	font-size: 0.85rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	text-transform: none;
	color: var(--abe-global-color-primary, #1E646E);
	position: relative;
	display: inline-block;
	border-radius: 0;
	margin: 0;
}

.unit-button a.button::before,
.unit-button a.button::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.unit-button a.button::before {
	transform: scaleX(0);
	transform-origin: left;
	transition-delay: 0s;
}

.unit-button a.button::after {
	transform-origin: right;
	transition-delay: 0.25s;
}

.abe-item:hover .unit-button a.button::before {
	transform: scaleX(1);
	transition-delay: 0.25s;
}

.abe-item:hover .unit-button a.button::after {
	transform: scaleX(0);
	transition-delay: 0s;
}

.unit-button a.button:hover {
	background: none !important;
	color: var(--abe-global-color-primary, #1E646E) !important;
}

/* --- Pet Friendly Badge — subtle --- */
.isPetFriendly {
	margin: 0.5rem 0 0;
}

.isPetFriendly span {
	font-size: 0.75rem;
	color: rgba(10, 10, 10, 0.45);
	border: none;
}

.isPetFriendly .fas {
	color: rgba(10, 10, 10, 0.45);
}

/* --- Favorite Heart — refine --- */
.abe-image-container .abe-favorite i {
	font-size: 1.5rem;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* --- Kill all border-radius on card elements --- */
.abe-item,
.abe-item *,
.abe-image-container,
.abe-image-container img,
.lSSlideOuter,
.lSSlideWrapper,
.lightSlider,
.thumb-slider,
.thumb-slider li,
.thumb-slider li a,
.thumb-slider li img {
	border-radius: 0 !important;
}

/* --- Mobile: stack vertically --- */
@media (max-width: 767px) {
	.abe-item > .abe-row {
		flex-direction: column;
	}

	.abe-column.unit-image {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.abe-item .unit-info {
		padding: 1rem 0 0;
	}
}

/* ═══════════════════════════════════════════════════════════════════════
   SEARCH RESULTS — MAP LUXURY RESTYLE
   Clean, editorial map container with refined controls.
   ═══════════════════════════════════════════════════════════════════════ */

/* --- Map Container --- */
#map-container {
	position: relative;
	border-radius: 0 !important;
}

/* --- Map Canvas --- */
#abe-map-results {
	width: 100%;
	max-width: 100%;
	height: 500px;
	min-height: 60vh;
	border-radius: 0 !important;
	background: #f5f3ef;
}

#abe-map-results *,
#abe-map-results .gm-style *,
#abe-map-results iframe {
	border-radius: 0 !important;
}

/* --- Reset Map Button --- */
#map-reset-container {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 15;
	background: transparent;
	padding: 0;
	border-radius: 0;
}

#reset-map {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	padding: 0.55rem 1.25rem;
	line-height: 1;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abe-global-color-primary, #1E646E);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(10, 10, 10, 0.1);
	border-radius: 0 !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

#reset-map:hover {
	background: var(--abe-global-color-primary, #1E646E);
	color: #fff;
	border-color: var(--abe-global-color-primary, #1E646E);
}

/* --- Search While Moving Controls --- */
#map-controls {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: auto;
	z-index: 15;
	padding: 0;
}

#map-controls label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 1rem;
	height: auto;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abe-global-color-primary, #1E646E);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(10, 10, 10, 0.1);
	border-radius: 0 !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

#map-controls label:hover {
	background: rgba(255, 255, 255, 1);
	border-color: rgba(10, 10, 10, 0.2);
}

#map-controls span {
	display: inline;
	padding: 0;
	font-weight: 600;
	font-size: 0.72rem;
	text-shadow: none;
	color: inherit;
	position: static;
}

#moving-search {
	width: 14px;
	height: 14px;
	margin: 0;
	accent-color: var(--abe-global-color-primary, #1E646E);
	box-shadow: none;
	border-radius: 0 !important;
	cursor: pointer;
}

/* --- Map Info Window (marker popups) --- */

/* Google-injected info window wrapper */
.gm-style-iw-c {
	border-radius: 2px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.06) !important;
	padding: 0 !important;
	max-width: 240px !important;
	background: #fff !important;
}

.gm-style-iw-d {
	overflow: hidden !important;
	padding: 0 !important;
}

/* Tail / arrow */
.gm-style-iw-tc::after {
	background: #fff !important;
}

.marker-infobox {
	border-radius: 0 !important;
	box-shadow: none;
	padding: 0;
}

.marker-infobox .col-12:first-child {
	padding: 0;
}

.marker-infobox img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
}

.marker-infobox h5 {
	font-family: var(--font-secondary, Georgia, serif);
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.01em;
	margin: 0;
	padding: 0.6rem 0.75rem 0.2rem;
	color: var(--abe-global-color-primary, #1E646E);
}

.marker-infobox h5 a {
	color: inherit;
	text-decoration: none;
}

.marker-infobox h5 a:hover {
	text-decoration: underline;
}

.icons-map {
	margin: 0;
	padding: 0 0.75rem 0.6rem;
}

.icons-map span {
	display: inline;
	font-size: 0.78rem;
	color: rgba(10, 10, 10, 0.55);
	padding: 0;
	margin: 0;
	border-right: none;
}

.icons-map span + span::before {
	content: "\00b7";
	margin: 0 0.3rem;
}

.icons-map span:nth-of-type(3) {
	padding-right: 0;
	margin-right: 0;
	border: none;
}

.icons-map .fas {
	display: none;
}

/* Info window star rating */
.marker-infobox .star-rating {
	padding: 0 0.75rem;
}

.marker-infobox .star-rating .fa-star {
	font-size: 0.65rem;
	color: #C4B48A;
}

.marker-infobox .back-stars .fa-star {
	color: rgba(10, 10, 10, 0.12);
}

/* --- Google Maps UI overrides --- */
.gm-ui-hover-effect {
	top: 4px !important;
	right: 4px !important;
	width: 26px !important;
	height: 26px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	border-radius: 2px !important;
	opacity: 1 !important;
	transition: background 0.2s ease;
}

.gm-ui-hover-effect:hover {
	background: #fff !important;
}

.gm-ui-hover-effect:focus {
	outline: none;
}

/* Google Maps zoom controls, street view, fullscreen — remove rounding */
#abe-map-results .gm-style .gm-control-active,
#abe-map-results .gm-style button,
#abe-map-results .gm-style .gm-bundled-control > div > div,
#abe-map-results .gm-style .gm-fullscreen-control,
#abe-map-results .gm-style .gm-svpc {
	border-radius: 0 !important;
}

/* Full-map mode: taller */
.abe-results.map-full-active div#abe-map-results {
	min-height: 85vh;
}

/* --- Map Active layout: kill radius on column wrappers --- */
.abe-results.map-active #map-container,
.abe-results.map-active #abe-map-results,
.abe-results-page .abe-row.abe-results.map-active .abe-column.abe-column-50 {
	border-radius: 0 !important;
}

/* --- Mobile: full-width map with adjusted controls --- */
@media (max-width: 767px) {
	#map-container {
		margin-bottom: 1.5rem;
	}

	#map-reset-container {
		top: 0.75rem;
		left: 0.75rem;
	}

	#map-controls {
		top: 0.75rem;
		right: 0.75rem;
	}

	#reset-map,
	#map-controls label {
		padding: 0.45rem 0.85rem;
		font-size: 0.65rem;
	}
}

/* =========================================================
   LPJH BUTTON SYSTEM — Yellowstone Club–inspired
   Animated per-character text swap + arrow slide on hover
   ========================================================= */

/* ── Base ── */
.lpjh-btn {
	--lpjh-btn-height: 3rem;
	--lpjh-btn-padding: 1.5rem;
	--lpjh-btn-bg: var(--e-global-color-accent, #A16207);
	--lpjh-btn-text: var(--e-global-color-2b35b52, #FAFAF8);
	--lpjh-btn-border: var(--e-global-color-accent, #A16207);

	display: inline-flex;
	align-items: center;
	position: relative;
	background-color: var(--lpjh-btn-bg);
	border: 1px solid var(--lpjh-btn-border);
	color: var(--lpjh-btn-text);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	overflow: visible;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
}

.lpjh-btn:hover {
	text-decoration: none;
	color: var(--lpjh-btn-text);
}

/* ── Inner (text container with overflow clip for slide) ── */
.lpjh-btn__inner {
	position: relative;
	overflow: hidden;
	height: var(--lpjh-btn-height);
	flex: 1;
	min-width: 0;
}

/* ── Text rows ── */
.lpjh-btn__text {
	display: flex;
	align-items: center;
	padding: 0 var(--lpjh-btn-padding);
	height: var(--lpjh-btn-height);
	white-space: nowrap;
	color: inherit;
}

.lpjh-btn__text--top {
	position: relative;
}

.lpjh-btn__text--bottom {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
}

/* ── Per-character spans (created by JS) ── */
.lpjh-btn__text .lpjh-char {
	display: inline-block;
	transition: transform 0.6s cubic-bezier(.19, 1, .22, 1), opacity 0.6s cubic-bezier(.19, 1, .22, 1);
	transition-delay: calc(var(--char-i, 0) * 12ms);
}

/* Resting: top visible, bottom hidden below */
.lpjh-btn__text--top .lpjh-char {
	transform: translateY(0);
	opacity: 1;
}

.lpjh-btn__text--bottom .lpjh-char {
	transform: translateY(100%);
	opacity: 0;
}

/* Hover: top slides up & fades, bottom slides into place */
.lpjh-btn:hover .lpjh-btn__text--top .lpjh-char,
.lpjh-btn:focus-visible .lpjh-btn__text--top .lpjh-char {
	transform: translateY(-100%);
	opacity: 0;
}

.lpjh-btn:hover .lpjh-btn__text--bottom .lpjh-char,
.lpjh-btn:focus-visible .lpjh-btn__text--bottom .lpjh-char {
	transform: translateY(0);
	opacity: 1;
}

/* ── Arrow container ── */
.lpjh-btn__arrow {
	position: relative;
	width: 1.25rem;
	height: var(--lpjh-btn-height);
	margin-right: var(--lpjh-btn-padding);
	overflow: hidden;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.lpjh-btn__arrow svg {
	width: 100%;
	fill: currentColor;
}

.lpjh-btn__arrow span {
	display: flex;
	align-items: center;
	position: absolute;
	width: 1.25rem;
	height: 100%;
	left: 0;
	top: 0;
	transition: transform 0.6s cubic-bezier(.19, 1, .22, 1);
}

.lpjh-btn__arrow-1 {
	transform: translateX(0);
}

.lpjh-btn__arrow-2 {
	transform: translateX(-100%);
}

/* Hover: arrow-1 exits right, arrow-2 enters from left */
.lpjh-btn:hover .lpjh-btn__arrow-1,
.lpjh-btn:focus-visible .lpjh-btn__arrow-1 {
	transform: translateX(100%);
}

.lpjh-btn:hover .lpjh-btn__arrow-2,
.lpjh-btn:focus-visible .lpjh-btn__arrow-2 {
	transform: translateX(0);
}

/* ── Variant: Light (for dark backgrounds) ── */
.lpjh-btn--light {
	--lpjh-btn-bg: var(--e-global-color-2b35b52, #FAFAF8);
	--lpjh-btn-text: var(--e-global-color-accent, #A16207);
	--lpjh-btn-border: var(--e-global-color-2b35b52, #FAFAF8);
}

/* ── Variant: Outline / Ghost ── */
.lpjh-btn--outline {
	--lpjh-btn-bg: transparent;
	--lpjh-btn-text: var(--e-global-color-accent, #A16207);
	--lpjh-btn-border: var(--e-global-color-accent, #A16207);
}

/* ── Variant: No arrow ── */
.lpjh-btn--no-arrow .lpjh-btn__arrow {
	display: none;
}

/* ── Variant: Small ── */
.lpjh-btn--sm {
	--lpjh-btn-height: 2.5rem;
	--lpjh-btn-padding: 1.25rem;
	font-size: 0.7rem;
}

/* ── Variant: Full width ── */
.lpjh-btn--full {
	width: 100%;
	justify-content: space-between;
}

/* ── Focus state ── */
.lpjh-btn:focus-visible {
	outline: 2px solid var(--lpjh-gold, #b28a4a);
	outline-offset: 2px;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
	.lpjh-btn__text .lpjh-char {
		transition: none !important;
	}
	.lpjh-btn__arrow span {
		transition: none !important;
	}
}

/* ── Mobile ── */
@media (max-width: 767px) {
	.lpjh-btn {
		--lpjh-btn-height: 2.75rem;
		--lpjh-btn-padding: 1.25rem;
	}
}

/* =========================================================
   LPJH Luxury Unit Template (clean current pass)
   Single-column content + sticky bottom booking
   ========================================================= */

.lpjh-luxury-unit {
	--lpjh-ink: #3D3D3D;
	--lpjh-bg: var(--brand-bg, #FAFAF8);
	--lpjh-soft: var(--e-global-color-secondary);
	--lpjh-line: rgba(10, 10, 10, 0.08);
	--lpjh-gold: var(--brand-accent, #A16207);
	--lpjh-radius: 12px;
	--lpjh-ease: cubic-bezier(.19, 1, .22, 1);
	color: var(--lpjh-ink);
	background: var(--lpjh-bg);
	padding-bottom: 0;
}

/* Remove blue focus outline on mouse click; preserve for keyboard nav */
.lpjh-luxury-unit button:focus:not(:focus-visible),
.lpjh-luxury-unit a:focus:not(:focus-visible),
.lpjh-luxury-unit [tabindex]:focus:not(:focus-visible) {
	outline: none;
}

/* ── Heading hierarchy — match site-wide Cassio defaults ──
   Overrides .abe-unit h1-h6 so the luxury template uses the same
   font-size / font-weight / line-height as the rest of the site. */
.lpjh-luxury-unit h1 {
	font-weight: var(--h1-font-weight) !important;
	line-height: var(--h1-line-height);
	font-size: calc(var(--h1-min-font-size) * 1px);
}
.lpjh-luxury-unit h2 {
	font-weight: var(--h2-font-weight) !important;
	line-height: var(--h2-line-height);
	font-size: calc(var(--h2-min-font-size) * 1px);
}
.lpjh-luxury-unit h3 {
	font-weight: var(--h3-font-weight) !important;
	line-height: var(--h3-line-height);
	font-size: calc(var(--h3-min-font-size) * 1px);
}
.lpjh-luxury-unit h4 {
	font-weight: var(--h4-font-weight) !important;
	line-height: var(--h4-line-height);
	font-size: calc(var(--h4-min-font-size) * 1px);
}
.lpjh-luxury-unit h5 {
	font-weight: var(--h5-font-weight) !important;
	line-height: var(--h5-line-height);
	font-size: calc(var(--h5-min-font-size) * 1px);
}
.lpjh-luxury-unit h6 {
	font-weight: var(--subheading-font-weight) !important;
	line-height: var(--subheading-line-height);
	font-size: calc(var(--subheading-min-font-size) * 1px);
}
@media screen and (min-width: 320px) {
	.lpjh-luxury-unit h1 { font-size: calc(var(--h1-min-font-size) * 1px + (var(--h1-max-font-size) - var(--h1-min-font-size)) * (100vw - 320px) / 1600); }
	.lpjh-luxury-unit h2 { font-size: calc(var(--h2-min-font-size) * 1px + (var(--h2-max-font-size) - var(--h2-min-font-size)) * (100vw - 320px) / 1600); }
	.lpjh-luxury-unit h3 { font-size: calc(var(--h3-min-font-size) * 1px + (var(--h3-max-font-size) - var(--h3-min-font-size)) * (100vw - 320px) / 1600); }
	.lpjh-luxury-unit h4 { font-size: calc(var(--h4-min-font-size) * 1px + (var(--h4-max-font-size) - var(--h4-min-font-size)) * (100vw - 320px) / 1600); }
	.lpjh-luxury-unit h5 { font-size: calc(var(--h5-min-font-size) * 1px + (var(--h5-max-font-size) - var(--h5-min-font-size)) * (100vw - 320px) / 1600); }
	.lpjh-luxury-unit h6 { font-size: calc(var(--subheading-min-font-size) * 1px + (var(--subheading-max-font-size) - var(--subheading-min-font-size)) * (100vw - 320px) / 1600); }
}
@media screen and (min-width: 1920px) {
	.lpjh-luxury-unit h1 { font-size: calc(var(--h1-max-font-size) * 1px); }
	.lpjh-luxury-unit h2 { font-size: calc(var(--h2-max-font-size) * 1px); }
	.lpjh-luxury-unit h3 { font-size: calc(var(--h3-max-font-size) * 1px); }
	.lpjh-luxury-unit h4 { font-size: calc(var(--h4-max-font-size) * 1px); }
	.lpjh-luxury-unit h5 { font-size: calc(var(--h5-max-font-size) * 1px); }
	.lpjh-luxury-unit h6 { font-size: calc(var(--subheading-max-font-size) * 1px); }
}

.lpjh-luxury-unit .lpjh-page-wrapper {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.lpjh-luxury-unit .lpjh-page-section {
	--container-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
	--container-widget-flex-grow: 1;
	--container-flex-grow: 1;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0rem;
	--padding-bottom: 0rem;
	--padding-left: 8rem;
	--padding-right: 8rem;
	margin-top: var(--margin-top);
	margin-bottom: var(--margin-bottom);
	margin-left: var(--margin-left);
	margin-right: var(--margin-right);
	padding-top: var(--padding-top);
	padding-bottom: var(--padding-bottom);
	padding-left: var(--padding-left);
	padding-right: var(--padding-right);
	width: 100%;
	min-width: 0;
}

/* Global container inside luxury template */
.lpjh-luxury-unit .lpjh-site-width {
	width: 100%;
	margin: 0;
	padding-left: 8rem;
	padding-right: 8rem;
}

@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-site-width {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-site-width {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* ═══ FULL-BLEED HERO ═══ */
.lpjh-luxury-unit .lpjh-luxury-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	height: 90vh;
	min-height: 600px;
	max-height: 1100px;
	background-size: cover;
	background-position: center;
	border-radius: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.lpjh-luxury-unit .lpjh-luxury-hero::before {
	content: "";
	position: absolute;
	inset: -15%;
	background: inherit;
	background-size: cover;
	background-position: center;
	animation: lpjh-ken-burns 12s ease-out forwards;
	transform: translateY(var(--lpjh-parallax-y, 0));
	will-change: transform;
}

@keyframes lpjh-ken-burns {
	from { transform: scale(1.0) translateY(var(--lpjh-parallax-y, 0)); }
	to   { transform: scale(1.05) translateY(var(--lpjh-parallax-y, 0)); }
}

.lpjh-luxury-unit .lpjh-luxury-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.1) 40%, transparent 60%);
	pointer-events: none;
	z-index: 1;
}

/* Breadcrumbs — hidden visually, kept in DOM for SEO */
.lpjh-luxury-unit .lpjh-hero-breadcrumbs {
	font-size: 0.78rem;
	opacity: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
	margin: 0;
}

.lpjh-luxury-unit .lpjh-hero-breadcrumbs,
.lpjh-luxury-unit .lpjh-hero-breadcrumbs a,
.lpjh-luxury-unit .lpjh-hero-breadcrumbs .aioseo-breadcrumb-sep {
	color: transparent;
}

.lpjh-luxury-unit .lpjh-hero-breadcrumbs .aioseo-breadcrumb-current {
	opacity: 0;
}

/* Hero content — bottom overlay */
.lpjh-luxury-unit .lpjh-hero-content {
	position: relative;
	z-index: 2;
	padding: 0 8rem 4rem;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

/* Scroll-down indicator — white for hero context */
.lpjh-luxury-unit .lpjh-hero-content .scroll-down__circle-1 {
	background-color: #fff;
}
.lpjh-luxury-unit .lpjh-hero-content .scroll-down__line {
	background-color: #fff;
}
.lpjh-luxury-unit .lpjh-hero-content .scroll-down__circle-2 {
	border-color: rgba(255, 255, 255, 0.5);
}

.lpjh-luxury-unit .lpjh-hero-content h1 {
	margin: 0 0 0.5rem;
	color: #fff;
}

.lpjh-luxury-unit .lpjh-hero-location {
	font-size: 1.05rem;
	margin: 0 0 1rem;
	opacity: 0.85;
	letter-spacing: 0.03em;
}

.lpjh-luxury-unit .lpjh-hero-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.92rem;
	opacity: 0.9;
	letter-spacing: 0.02em;
}

.lpjh-luxury-unit .lpjh-stat-divider {
	opacity: 0.5;
}

/* ═══ STICKY SECTION NAV ═══ */
.lpjh-luxury-unit .lpjh-sticky-nav {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 250, 240, 0.92);
	border-bottom: 1px solid var(--lpjh-line);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	margin-top: 0;
}

.lpjh-luxury-unit .lpjh-sticky-nav-inner {
	margin: 0 auto;
	padding: 0.6rem 8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.85rem;
}

.lpjh-luxury-unit .lpjh-sticky-nav a {
	font-size: 0.8rem;
	text-decoration: none;
	color: var(--lpjh-ink);
	opacity: 0.6;
	transition: color 0.3s var(--lpjh-ease), opacity 0.3s var(--lpjh-ease);
	padding: 0.35rem 0.6rem;
	letter-spacing: 0.02em;
}

.lpjh-luxury-unit .lpjh-sticky-nav a:hover {
	color: var(--abe-global-color-primary);
	opacity: 1;
}

.lpjh-luxury-unit .lpjh-sticky-nav .lpjh-nav-inquire-trigger {
	color: var(--lpjh-gold);
	font-weight: 600;
	opacity: 1;
}

/* Force single-column layout */
body .lpjh-luxury-unit .abe-row,
body .lpjh-luxury-unit .abe-column.abe-unit-info,
body .lpjh-luxury-unit .lpjh-content-grid {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

body .lpjh-luxury-unit .lpjh-content-grid {
	grid-template-columns: 1fr !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
}

body .lpjh-luxury-unit .lpjh-main {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

body .lpjh-luxury-unit .lpjh-side,
body .lpjh-luxury-unit aside.lpjh-side {
	display: none !important;
}

/* ═══ SECTIONS — GLOBAL ═══ */
.lpjh-luxury-unit .unit-section-container {
	padding: 7rem 0;
	border-bottom: none;
	scroll-margin-top: 100px;
}

.lpjh-luxury-unit .lpjh-section-header {
	margin-bottom: 2.5rem;
}

.lpjh-luxury-unit .lpjh-section-kicker {
	margin: 0 0 0.6rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	opacity: 0.55;
	color: var(--lpjh-gold);
}

.lpjh-luxury-unit .lpjh-section-header h2 {
	margin: 0;
	color: var(--abe-global-color-primary);
}

/* ── Overview Specs Bar ── */
.lpjh-luxury-unit .lpjh-overview-specs {
	display: flex;
	gap: 12px;
	margin-bottom: 2rem;
}
.lpjh-luxury-unit .lpjh-overview-spec {
	flex: 1;
	padding: 1rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 8px;
	text-align: center;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-spec-num {
	font-size: 1.75rem;
	font-weight: 500;
	color: var(--abe-global-color-primary, #1E646E);
	line-height: 1.2;
}
.lpjh-luxury-unit .lpjh-spec-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.55;
	margin-top: 0.25rem;
}

.lpjh-luxury-unit .lpjh-address {
	font-size: 0.9rem;
	opacity: 0.55;
	margin-top: 2rem;
}

/* ═══ 1. GALLERY — FULL-BLEED ═══ */
.lpjh-luxury-unit .lpjh-section-gallery-fullbleed {
	padding-left: 0;
	padding-right: 0;
}

.lpjh-luxury-unit .lpjh-gallery-fullbleed {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	position: relative;
}

.lpjh-luxury-unit .lpjh-gallery-fullbleed .lpjh-gallery-reveal-btn {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	z-index: 3;
	margin: 0;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
}

@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-gallery-fullbleed .lpjh-gallery-reveal-btn {
		bottom: 1rem;
		left: 1rem;
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-gallery-fullbleed .lpjh-gallery-reveal-btn {
		bottom: 0.75rem;
		left: 0.75rem;
	}
}

/* ═══ 2. THE ESTATE — 2-COLUMN GRID ═══ */
.lpjh-luxury-unit .lpjh-estate-grid {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 4rem;
	align-items: start;
}

.lpjh-luxury-unit .lpjh-estate-text {
	min-width: 0;
}

.lpjh-luxury-unit .lpjh-estate-features {
	padding-top: 4.5rem;
}

.lpjh-luxury-unit .lpjh-estate-features .lpjh-signature-list {
	grid-template-columns: 1fr;
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-estate-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.lpjh-luxury-unit .lpjh-estate-features {
		padding-top: 0;
	}

	.lpjh-luxury-unit .lpjh-overview-specs {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

/* ═══ OVERVIEW TEXT — PROGRESSIVE DISCLOSURE ═══ */
.lpjh-luxury-unit .lpjh-overview-text {
	max-height: 12em;
	overflow: hidden;
	position: relative;
	transition: max-height 0.8s var(--lpjh-ease);
	line-height: 1.85;
	font-size: 1.02rem;
}

.lpjh-luxury-unit .lpjh-overview-text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 4em;
	background: linear-gradient(to top, var(--lpjh-bg), transparent);
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.lpjh-luxury-unit .lpjh-overview-text.is-expanded {
	max-height: 200em;
}

.lpjh-luxury-unit .lpjh-overview-text.is-expanded::after {
	opacity: 0;
}

.lpjh-luxury-unit .lpjh-read-more-toggle {
	display: inline-block;
	margin-top: 1rem;
	padding: 0;
	background: none;
	border: none;
	border-bottom: 1px solid var(--lpjh-ink);
	font-size: 0.88rem;
	color: var(--lpjh-ink);
	cursor: pointer;
	letter-spacing: 0.02em;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.lpjh-luxury-unit .lpjh-read-more-toggle:hover {
	color: var(--lpjh-gold);
	border-color: var(--lpjh-gold);
}

.lpjh-luxury-unit .lpjh-read-more-toggle.is-hidden {
	display: none;
}

/* ═══ 2. CURATED GALLERY ═══ */

/* 3-image preview — capped at ~90vh so tall images can't blow out the section */
.lpjh-luxury-unit .lpjh-gallery-preview {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.6rem;
	height: 90vh;
}

.lpjh-luxury-unit .lpjh-gallery-preview-item {
	margin: 0;
	overflow: hidden;
	background: #eee;
}

.lpjh-luxury-unit .lpjh-gallery-preview-item.is-primary {
	grid-row: span 2;
}

.lpjh-luxury-unit .lpjh-gallery-preview-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-gallery-preview-item:hover img {
	transform: scale(1.03);
}

/* View Full Gallery button — now .lpjh-btn--outline via PHP helper */
.lpjh-luxury-unit .lpjh-gallery-reveal-btn {
	margin-top: 2rem;
}

/* Full gallery — hidden by default */
.lpjh-luxury-unit .lpjh-gallery-full {
	max-height: 0;
	overflow: hidden;
	transition: max-height 1s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-gallery-full.is-revealed {
	max-height: 8000px;
	margin-top: 1.5rem;
}

/* Asymmetric grid */
.lpjh-luxury-unit .lpjh-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
}

.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-item {
	margin: 0;
	overflow: hidden;
	background: #eee;
	border-radius: 0;
}

.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-span-2 {
	grid-column: span 2;
}

.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4/3;
	transition: transform 0.6s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-span-2 img {
	aspect-ratio: 16/9;
}

.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-item:hover img {
	transform: scale(1.03);
}

/* ═══ 3. SIGNATURE FEATURES ═══ */
.lpjh-luxury-unit .lpjh-signature-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem 3.5rem;
}

.lpjh-luxury-unit .lpjh-signature-list li {
	position: relative;
	padding-left: 1.25rem;
	font-size: 1rem;
	line-height: 1.7;
}

.lpjh-luxury-unit .lpjh-signature-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 6px;
	height: 1px;
	background: var(--lpjh-gold);
}

/* ═══ 4. BED CONFIGURATION ═══ */
.lpjh-luxury-unit .lpjh-bed-summary {
	font-family: var(--font-secondary);
	font-size: 1.15rem;
	margin: 0 0 2.5rem;
	letter-spacing: 0.02em;
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-bed-levels {
	display: flex;
	flex-direction: column;
}

.lpjh-luxury-unit .lpjh-bed-level {
	border-top: 1px solid var(--lpjh-line);
}

.lpjh-luxury-unit .lpjh-bed-level:last-child {
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-luxury-unit .lpjh-bed-level-toggle {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 1.25rem 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
}

.lpjh-luxury-unit .lpjh-bed-level-toggle h3 {
	margin: 0;
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-accordion-icon {
	font-size: 1.4rem;
	line-height: 1;
	opacity: 0.5;
	transition: transform 0.3s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-bed-level-content {
	padding: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	transition: max-height 0.5s var(--lpjh-ease), padding 0.5s var(--lpjh-ease), opacity 0.4s ease;
}

.lpjh-luxury-unit .lpjh-bed-level.is-collapsed .lpjh-bed-level-content {
	max-height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

.lpjh-luxury-unit .lpjh-bed-room strong {
	font-weight: 600;
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-bed-room-detail {
	display: block;
	font-size: 0.9rem;
	opacity: 0.7;
	margin-top: 0.15rem;
}

.lpjh-luxury-unit .lpjh-floorplan-card {
	margin-top: 2rem;
}

.lpjh-luxury-unit .lpjh-floorplan-card img {
	display: block;
	width: 100%;
	height: auto;
}

/* .lpjh-floor-plan-link — now .lpjh-btn--outline via PHP helper, no extra styles needed */

/* Floor text inside accordion (merged Residence section) */
.lpjh-luxury-unit .lpjh-section-residence .lpjh-floor-body .lpjh-floor-text {
	line-height: 1.75;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-luxury-unit .lpjh-section-residence .lpjh-floor-body .lpjh-floor-text:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

/* ═══ 6. AMENITIES — LIFESTYLE CATEGORIES ═══ */
.lpjh-luxury-unit .lpjh-amenity-categories {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.lpjh-luxury-unit .lpjh-amenity-category h3 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 1.25rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--lpjh-line);
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-amenity-category ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lpjh-luxury-unit .lpjh-amenity-category li {
	font-size: 0.92rem;
	line-height: 1.8;
	padding-left: 1rem;
	position: relative;
}

.lpjh-luxury-unit .lpjh-amenity-category li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 4px;
	height: 1px;
	background: var(--lpjh-gold);
}

/* ═══ 5. LOCATION (+ 3D Tour) ═══ */
.lpjh-luxury-unit .lpjh-section-location .lpjh-address {
	margin-top: 0;
	margin-bottom: 2rem;
}

.lpjh-luxury-unit .lpjh-location-map {
	width: 100%;
	min-height: 480px;
	height: 480px;
}

.lpjh-luxury-unit .lpjh-location-grid {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 1.5rem;
}

.lpjh-luxury-unit .lpjh-location-grid .lpjh-location-map {
	height: 100%;
}

.lpjh-luxury-unit .lpjh-location-grid .lpjh-location-tour {
	min-height: 480px;
	height: 100%;
	border: 1px solid var(--lpjh-line);
}

@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-location-grid {
		grid-template-columns: 1fr;
	}

	.lpjh-luxury-unit .lpjh-location-grid .lpjh-location-tour {
		min-height: 360px;
	}
}

/* ═══ 6. REVIEWS — COUNT-ADAPTIVE LAYOUT ═══ */
/* Base: centered flex so any count stays balanced rather than left-jammed.
 * align-items:start keeps short reviews from stretching into empty voids. */
.lpjh-luxury-unit .lpjh-reviews-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: start;
	gap: 1.5rem;
}

/* 3+ reviews → 3-across grid flow (original behavior). */
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="many"] {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.lpjh-luxury-unit .lpjh-review-card {
	position: relative;
	padding: 2.75rem 2.9rem 2.5rem;
	background: #fff;
	border: 1px solid var(--lpjh-line);
	flex: 0 1 340px;
}

/* 2 reviews → two balanced centered cards. */
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="2"] .lpjh-review-card {
	flex: 0 1 420px;
}

/* 1 review → single centered editorial pull-quote, larger and airier. */
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] {
	max-width: 760px;
	margin: 0 auto;
}
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] .lpjh-review-card {
	flex: 1 1 100%;
	text-align: center;
	padding: 3.25rem 3rem 2.75rem;
	border: none;
	background: transparent;
}
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] .lpjh-review-mark {
	margin: 0 auto 0.5rem;
}
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] .lpjh-review-quote {
	font-size: 1.2rem;
	line-height: 1.8;
	-webkit-line-clamp: 10;
}
.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] .lpjh-review-attribution {
	justify-content: center;
}

.lpjh-luxury-unit .lpjh-review-card.lpjh-review-hidden {
	display: none;
}

.lpjh-luxury-unit .lpjh-reviews-grid.is-revealed .lpjh-review-card.lpjh-review-hidden {
	display: block;
}

.lpjh-luxury-unit .lpjh-reviews-reveal-btn {
	margin-top: 2rem;
}

/* Decorative opening quote mark — luxury anchor. */
.lpjh-luxury-unit .lpjh-review-mark {
	display: block;
	font-family: var(--font-secondary);
	font-size: 3rem;
	line-height: 0.6;
	color: var(--lpjh-gold);
	opacity: 0.55;
	margin-bottom: 0.75rem;
	height: 1.4rem;
}

.lpjh-luxury-unit .lpjh-review-quote {
	margin: 0 0 1.5rem;
	padding: 0.8rem;
	font-family: var(--font-secondary);
	font-size: 0.95rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.85;
	color: var(--abe-global-color-primary);
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lpjh-luxury-unit .lpjh-review-attribution {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 1.25rem;
	font-size: 0.82rem;
}

.lpjh-luxury-unit .lpjh-review-author {
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-review-date {
	opacity: 0.55;
}

/* Gold star rating. */
.lpjh-luxury-unit .lpjh-review-rating {
	display: inline-flex;
	gap: 0.1rem;
	line-height: 1;
}
.lpjh-luxury-unit .lpjh-review-star {
	font-size: 0.9rem;
	color: rgba(10, 10, 10, 0.18);
}
.lpjh-luxury-unit .lpjh-review-star.is-filled {
	color: var(--lpjh-gold);
}

@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="many"] {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="many"] {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-review-card {
		flex-basis: 100%;
	}
	.lpjh-luxury-unit .lpjh-reviews-grid[data-review-count="1"] .lpjh-review-quote {
		font-size: 1.08rem;
	}
}

/* ═══ SIMILAR PROPERTIES — YC-INSPIRED DRAG SLIDER ═══ */
.lpjh-luxury-unit .lpjh-similar-section {
	--lpjh-slide-gap: 1.5rem;
	background: var(--e-global-color-secondary);
	padding: 7rem 0;
	margin-top: 0 !important;
	overflow: hidden;
}

.lpjh-luxury-unit .lpjh-similar-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 3rem;
}

.lpjh-luxury-unit .lpjh-similar-section .lpjh-section-header {
	margin-bottom: 3rem;
}

.lpjh-luxury-unit .lpjh-similar-section .lpjh-section-kicker {
	color: var(--lpjh-gold);
}

.lpjh-luxury-unit .lpjh-similar-section .lpjh-section-header h2 {
	color: var(--abe-global-color-primary);
}

/* Slides container */
.lpjh-luxury-unit .lpjh-similar-slides {
	display: flex;
	position: relative;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.lpjh-luxury-unit .lpjh-similar-slides:active {
	cursor: grabbing;
}

/* Individual card */
.lpjh-luxury-unit .lpjh-similar-card {
	flex: 0 0 calc((100% - var(--lpjh-slide-gap) * 2) / 3);
	margin-right: var(--lpjh-slide-gap);
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.lpjh-luxury-unit .lpjh-similar-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.lpjh-luxury-unit .lpjh-similar-card-inner {
	position: relative;
}

/* Image — 85% padding-top ratio like YC */
.lpjh-luxury-unit .lpjh-similar-card-image {
	position: relative;
	padding-top: 85%;
	margin: 0;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.05);
}

.lpjh-luxury-unit .lpjh-similar-card-image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.lpjh-luxury-unit .lpjh-similar-card:hover .lpjh-similar-card-image img {
	transform: scale(1.04);
}

/* Content below image */
.lpjh-luxury-unit .lpjh-similar-card-content {
	padding: 1.5rem 0;
}

.lpjh-luxury-unit .lpjh-similar-card-title {
	font-family: var(--font-secondary);
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--abe-global-color-primary);
	margin: 0 0 0.4rem;
	line-height: 1.3;
}

.lpjh-luxury-unit .lpjh-similar-card-meta {
	display: block;
	font-size: 0.82rem;
	color: rgba(10, 10, 10, 0.55);
	margin-bottom: 1rem;
}

/* Animated underline "Explore" link — matches YC */
.lpjh-luxury-unit .lpjh-similar-card-explore {
	position: relative;
	display: inline-block;
	color: var(--abe-global-color-primary);
	font-size: 0.85rem;
	letter-spacing: 0.03em;
}

.lpjh-luxury-unit .lpjh-similar-card-explore::before,
.lpjh-luxury-unit .lpjh-similar-card-explore::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.lpjh-luxury-unit .lpjh-similar-card-explore::before {
	transform: scaleX(0);
	transform-origin: left;
	transition-delay: 0s;
}

.lpjh-luxury-unit .lpjh-similar-card-explore::after {
	transform-origin: right;
	transition-delay: 0.25s;
}

.lpjh-luxury-unit .lpjh-similar-card:hover .lpjh-similar-card-explore::before {
	transform: scaleX(1);
	transition-delay: 0.25s;
}

.lpjh-luxury-unit .lpjh-similar-card:hover .lpjh-similar-card-explore::after {
	transform: scaleX(0);
	transition-delay: 0s;
}

/* Footer: nav arrows + pips */
.lpjh-luxury-unit .lpjh-similar-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 2rem;
}

.lpjh-luxury-unit .lpjh-similar-nav-wrap {
	display: flex;
	align-items: center;
}

.lpjh-luxury-unit .lpjh-similar-btn {
	position: relative;
	padding: 0 1.25rem;
	background: none;
	border: none;
	cursor: pointer;
	transition: opacity 0.5s ease;
}

.lpjh-luxury-unit .lpjh-similar-btn:first-child {
	padding-left: 0;
}

.lpjh-luxury-unit .lpjh-similar-btn svg {
	height: 0.9rem;
	width: auto;
	fill: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-similar-btn.is-disabled {
	opacity: 0.25;
	pointer-events: none;
}

/* Pips */
.lpjh-luxury-unit .lpjh-similar-pips {
	--pip-size: 6px;
	--pip-active: calc(var(--pip-size) * 4);
	display: flex;
}

.lpjh-luxury-unit .lpjh-pip {
	height: var(--pip-size);
	width: var(--pip-size);
	border: 1px solid var(--abe-global-color-primary);
	border-radius: calc(var(--pip-size) / 2);
	margin-left: 0.75rem;
	cursor: pointer;
	transition: width 0.35s ease;
}

.lpjh-luxury-unit .lpjh-pip.is-active {
	width: var(--pip-active);
	pointer-events: none;
}

.lpjh-luxury-unit .lpjh-hidden {
	display: none !important;
}

/* ═══ PREVIOUS / NEXT NAVIGATION ═══ */
.lpjh-luxury-unit .lpjh-prev-next {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	background: var(--lpjh-bg);
	border-top: 1px solid var(--lpjh-line);
}

.lpjh-luxury-unit .lpjh-prev-next-link {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 2.5rem 4rem;
	text-decoration: none;
	color: var(--lpjh-ink);
	flex: 1;
	transition: background 0.4s var(--lpjh-ease), color 0.3s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-prev-next-link:hover {
	background: rgba(10, 10, 10, 0.03);
}

.lpjh-luxury-unit .lpjh-prev-next-link--next {
	justify-content: flex-end;
	text-align: right;
	border-left: 1px solid var(--lpjh-line);
}

.lpjh-luxury-unit .lpjh-prev-next-arrow {
	width: 1.1rem;
	height: auto;
	fill: currentColor;
	opacity: 0.4;
	flex-shrink: 0;
	transition: opacity 0.3s ease, transform 0.4s var(--lpjh-ease);
}

.lpjh-luxury-unit .lpjh-prev-next-link:hover .lpjh-prev-next-arrow {
	opacity: 0.8;
}

.lpjh-luxury-unit .lpjh-prev-next-link--prev:hover .lpjh-prev-next-arrow {
	transform: translateX(-4px);
}

.lpjh-luxury-unit .lpjh-prev-next-link--next:hover .lpjh-prev-next-arrow {
	transform: translateX(4px);
}

.lpjh-luxury-unit .lpjh-prev-next-text {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.lpjh-luxury-unit .lpjh-prev-next-label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	opacity: 0.5;
}

.lpjh-luxury-unit .lpjh-prev-next-name {
	font-family: var(--font-secondary);
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--abe-global-color-primary);
	line-height: 1.3;
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-prev-next {
		flex-direction: column;
	}

	.lpjh-luxury-unit .lpjh-prev-next-link {
		padding: 1.5rem 1.25rem;
		gap: 1rem;
	}

	.lpjh-luxury-unit .lpjh-prev-next-link--next {
		border-left: none;
		border-top: 1px solid var(--lpjh-line);
	}

	.lpjh-luxury-unit .lpjh-prev-next-name {
		font-size: 1rem;
	}
}

/* ═══ SLIDE-OUT INQUIRY PANEL ═══ */

/* Persistent trigger button — positioned fixed, visual styling from .lpjh-btn */
.lpjh-inquire-trigger {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 9998;
	box-shadow: 0 4px 24px rgba(0,0,0,0.15);
}

/* Slide-out overlay */
.lpjh-slideout-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, 0);
	pointer-events: none;
	transition: background 0.6s cubic-bezier(.19,1,.22,1);
}

.lpjh-slideout-overlay.is-active {
	background: rgba(0, 0, 0, 0.45);
	pointer-events: auto;
}

/* Force header behind the slideout overlay + panel when open */
body.page-noscroll #page-header,
body.page-noscroll #page-header.header_sticky,
body.page-noscroll #page-header.header_absolute,
body.page-noscroll #page-header.header_fixed {
	z-index: 0 !important;
	pointer-events: none !important;
}

/* Panel */
.lpjh-slideout-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 10001;
	width: 440px;
	max-width: 100%;
	background: #fff;
	transform: translateX(100%);
	transition: transform 0.6s cubic-bezier(.19,1,.22,1);
	overflow-y: auto;
	box-shadow: -8px 0 40px rgba(0,0,0,0.1);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.lpjh-slideout-panel.is-open {
	transform: translateX(0);
}

.lpjh-slideout-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 1.75rem 1.5rem 1.25rem;
}

.lpjh-slideout-kicker {
	margin: 0 0 0.5rem !important;
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
}

.lpjh-slideout-property-name {
	margin: 0 !important;
	padding-bottom: 0;
	font-family: var(--abe-global-typography-secondary-font-family, serif);
	font-size: 1.375rem;
	font-weight: 400;
	color: var(--abe-global-color-primary);
	line-height: 1.2;
}

/* ── Meta strip (bordered card row) ── */
.lpjh-slideout-meta-strip {
	display: flex;
	gap: 0;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 8px;
	overflow: hidden;
	margin: 0 1.5rem 0;
}
.lpjh-slideout-meta-item {
	flex: 1;
	padding: 8px 6px;
	text-align: center;
	border-right: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
}
.lpjh-slideout-meta-item:last-child {
	border-right: none;
}
.lpjh-slideout-meta-val {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--abe-global-color-primary);
	line-height: 1;
}
.lpjh-slideout-meta-lbl {
	display: block;
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abe-global-color-text, #606060);
	margin-top: 2px;
}

/* ── Highlights band ── */
.lpjh-slideout-highlights {
	margin: 0 1.5rem 0;
	padding: 1.1rem 1.2rem;
	background: var(--abe-global-color-secondary, #F5F5F0);
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 8px;
}
.lpjh-slideout-highlights-label {
	margin: 0 0 10px;
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
}
.lpjh-slideout-highlight-row {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-bottom: 8px;
}
.lpjh-slideout-highlight-row:last-child {
	margin-bottom: 0;
}
.lpjh-slideout-h-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--abe-global-color-text, #606060);
	margin-top: 6px;
	flex-shrink: 0;
}
.lpjh-slideout-h-text {
	font-size: 0.75rem;
	color: var(--abe-global-color-primary);
	line-height: 1.5;
}

/* ── Post-inquiry steps ── */
.lpjh-slideout-steps {
	margin: 0 1.5rem;
	padding: 1.1rem 1.2rem;
	background: var(--abe-global-color-secondary, #F5F5F0);
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 8px;
}
.lpjh-slideout-steps-label {
	margin: 0 0 12px;
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
}
.lpjh-slideout-step {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}
.lpjh-slideout-step:last-child {
	margin-bottom: 0;
}
.lpjh-slideout-step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--abe-global-color-accent, #A16207);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.lpjh-slideout-step-title {
	margin: 0 !important;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--abe-global-color-primary, #1E646E);
	line-height: 1.3;
}
.lpjh-slideout-step-desc {
	margin: 2px 0 0;
	font-size: 0.72rem;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.6;
	line-height: 1.5;
}

.lpjh-slideout-close {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.25rem;
	color: var(--abe-global-color-primary);
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

.lpjh-slideout-close:hover {
	opacity: 1;
}

.lpjh-slideout-body {
	flex: none;
	padding: 1.5rem;
	overflow-y: auto;
}

/* Booking form inside slideout — vertical layout */
.lpjh-slideout-panel #checkavailbox {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.lpjh-slideout-panel #bookingform {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.lpjh-slideout-panel #bookingform > .abe-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
}

.lpjh-slideout-panel #bookingform .checkin-col,
.lpjh-slideout-panel #bookingform .checkout-col,
.lpjh-slideout-panel #bookingform .guests-container {
	flex: none !important;
	max-width: none !important;
	width: 100% !important;
}

.lpjh-slideout-panel #bookingform label {
	display: block !important;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.3rem;
	opacity: 0.65;
}

.lpjh-slideout-panel #bookingform input[type="text"],
.lpjh-slideout-panel #bookingform select {
	width: 100% !important;
	border-radius: 0 !important;
	border: 1px solid rgba(10,10,10,0.12) !important;
	padding: 0.85rem 1rem !important;
	font-size: 0.9rem !important;
}

.lpjh-slideout-panel #bookingform .warp-checkavailFormAction {
	flex-direction: column !important;
	gap: 0.75rem !important;
}

/* #booklink as .lpjh-btn inside slideout — full-width with correct flex layout */
.lpjh-slideout-panel #bookingform #booklink {
	display: inline-flex !important;
	width: 100% !important;
	margin: 0 !important;
	background-color: var(--e-global-color-accent, #A16207) !important;
	border: 1px solid var(--e-global-color-accent, #A16207) !important;
	color: var(--e-global-color-2b35b52, #FAFAF8) !important;
	border-radius: 0 !important;
	padding: 0 !important;
	height: auto !important;
	line-height: 1 !important;
}

.lpjh-slideout-panel #bookingform .abe-inquiry {
	width: 100% !important;
	padding: 0 1.5rem !important;
	height: 3rem !important;
	line-height: 3rem !important;
	border-radius: 0 !important;
	letter-spacing: 0.08em !important;
}

.lpjh-slideout-panel #bookingform .abe-detailed-quote {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.lpjh-slideout-panel #bookingform .abe-quote-info,
.lpjh-slideout-panel #bookingform .detailed-quote-header,
.lpjh-slideout-panel #bookingform #ratebreakdown,
.lpjh-slideout-panel #bookingform #learn-more-inquiry {
	display: none !important;
}

.lpjh-slideout-panel #bookingform .abe-row,
.lpjh-slideout-panel #bookingform .abe-column,
.lpjh-slideout-panel #bookingform p,
.lpjh-slideout-panel #bookingform h3 {
	margin: 0 !important;
}

.lpjh-slideout-panel #bookingform #abe-guests-activator {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	border: 1px solid rgba(10,10,10,0.12) !important;
	border-radius: 0 !important;
	padding: 0.85rem 1rem !important;
}

.lpjh-slideout-panel #bookingform .abe-guests-select {
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	z-index: 10 !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	padding: 0.75rem 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Guest panel hidden by default — JS slideDown/slideUp toggles it */
.lpjh-slideout-panel .abe-guests-select[aria-hidden="true"] {
	display: none;
}

/* Loading spinner not needed in inquiry-only slideout */
.lpjh-slideout-panel #loadingicons {
	display: none !important;
}

/* Error message wrapper — collapse when empty; JS populates #errormsg on errors */
.lpjh-slideout-panel #bookingform > .abe-column.no-margin {
	display: none;
}
.lpjh-slideout-panel #bookingform > .abe-column.no-margin:has(#errormsg:not(:empty)) {
	display: block;
}

/* Collapse #isTrack span from flex flow (visibility:hidden still takes gap space) */
.lpjh-slideout-panel #isTrack {
	display: none !important;
}

/* Empty promo-pets row: collapse when no pets content */
.lpjh-slideout-panel .abe-guests-select .promo-pets:empty {
	display: none;
}

.lpjh-slideout-panel #bookingform #errormsg {
	position: static !important;
	margin-top: 0.5rem !important;
	font-size: 0.8rem !important;
}

/* ═══ BUTTONS — luxury template generic .button inherits .lpjh-btn system ═══ */
.lpjh-luxury-unit .button:not(.lpjh-btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0 1.5rem;
	border: 1px solid var(--e-global-color-accent, #A16207);
	background: var(--e-global-color-accent, #A16207);
	color: var(--e-global-color-2b35b52, #FAFAF8);
	text-decoration: none;
	border-radius: 0;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}

.lpjh-luxury-unit .button:not(.lpjh-btn):hover {
	background: #fff;
	border-color: var(--e-global-color-accent, #A16207);
	color: var(--e-global-color-accent, #A16207);
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1280px) {
	.lpjh-luxury-unit .lpjh-sticky-nav-inner {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-hero-content {
		padding: 0 2rem 3rem;
	}

	.lpjh-luxury-unit .lpjh-amenity-categories {
		grid-template-columns: repeat(2, 1fr);
	}

	.lpjh-luxury-unit .lpjh-similar-card {
		flex: 0 0 calc((100% - var(--lpjh-slide-gap)) / 2);
	}

	.lpjh-luxury-unit .lpjh-similar-inner {
		padding: 0 2rem;
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-luxury-hero {
		height: 75vh;
		min-height: 480px;
	}

	.lpjh-luxury-unit .lpjh-hero-content {
		padding: 0 1rem 2rem;
	}

	.lpjh-luxury-unit .lpjh-hero-content .scroll-down {
		display: none;
	}

	.lpjh-luxury-unit .lpjh-sticky-nav-inner {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.lpjh-luxury-unit .unit-section-container {
		padding: 5rem 0;
	}

	.lpjh-luxury-unit .lpjh-gallery-preview {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		height: auto;
	}

	.lpjh-luxury-unit .lpjh-gallery-preview-item.is-primary {
		grid-row: auto;
	}

	.lpjh-luxury-unit .lpjh-gallery-grid {
		grid-template-columns: 1fr;
	}

	.lpjh-luxury-unit .lpjh-gallery-grid .lpjh-gallery-span-2 {
		grid-column: auto;
	}

	.lpjh-luxury-unit .lpjh-signature-list {
		grid-template-columns: 1fr;
	}

	.lpjh-luxury-unit .lpjh-amenity-categories {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.lpjh-luxury-unit .lpjh-location-map {
		min-height: 320px;
		height: 320px;
	}

	.lpjh-luxury-unit .lpjh-similar-section {
		padding: 5rem 0;
	}

	.lpjh-luxury-unit .lpjh-similar-card {
		flex: 0 0 100%;
	}

	.lpjh-luxury-unit .lpjh-similar-inner {
		padding: 0 1.25rem;
	}

	.lpjh-slideout-panel {
		width: 100%;
	}

	.lpjh-inquire-trigger {
		bottom: 1rem;
		right: 1rem;
		left: auto;
		text-align: center;
	}
}

/* Guests select inside slideout */
.lpjh-slideout-panel #bookingform #searchadults,
.lpjh-slideout-panel #bookingform #searchchildren {
	height: auto !important;
	min-height: 0 !important;
	line-height: normal !important;
	padding-top: 0.45rem !important;
	padding-bottom: 0.45rem !important;
}

/* Prevent the abe-pop-up-overlay (appended by guest-selector) from blocking
   clicks when the slideout panel is open */
.lpjh-slideout-panel.is-open ~ .abe-pop-up-overlay,
body > .abe-pop-up-overlay {
	pointer-events: none;
}

/* Easepick calendar must float above the slideout panel */
.easepick-wrapper {
	z-index: 100001 !important;
}

/* ═══ SCROLL-TRIGGERED FADE-IN ANIMATIONS ═══ */
.lpjh-luxury-unit .lpjh-animate {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(.19, 1, .22, 1), transform 0.8s cubic-bezier(.19, 1, .22, 1);
	will-change: opacity, transform;
}

.lpjh-luxury-unit .lpjh-animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Stagger child elements in gallery and amenities */
.lpjh-luxury-unit .lpjh-gallery-preview .lpjh-animate { transition-delay: 0s; }
.lpjh-luxury-unit .lpjh-gallery-preview .lpjh-animate:nth-child(2) { transition-delay: 0.1s; }
.lpjh-luxury-unit .lpjh-gallery-preview .lpjh-animate:nth-child(3) { transition-delay: 0.2s; }

/* ═══ STICKY NAV — ACTIVE STATE ═══ */
.lpjh-luxury-unit .lpjh-sticky-nav a {
	position: relative;
}

.lpjh-luxury-unit .lpjh-sticky-nav a::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0.5rem;
	right: 0.5rem;
	height: 1.5px;
	background: var(--abe-global-color-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(.19, 1, .22, 1);
}

.lpjh-luxury-unit .lpjh-sticky-nav a.is-active {
	opacity: 1;
	color: var(--abe-global-color-primary);
}

.lpjh-luxury-unit .lpjh-sticky-nav a.is-active::after {
	transform: scaleX(1);
}

.lpjh-luxury-unit .lpjh-sticky-nav .lpjh-nav-inquire-trigger::after {
	display: none;
}


/* ═══ HERO CONTENT ENTRANCE ANIMATION ═══ */
.lpjh-luxury-unit .lpjh-hero-content {
	animation: lpjh-hero-fade-up 1s cubic-bezier(.19, 1, .22, 1) 0.3s both;
}

@keyframes lpjh-hero-fade-up {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ═══ DISCLAIMER — SUBTLE ═══ */
.lpjh-luxury-unit .lpjh-disclaimer {
	padding: 4rem 0 !important;
}

.lpjh-luxury-unit .lpjh-disclaimer p {
	margin: 0;
	font-size: 0.78rem;
	opacity: 0.45;
	text-align: center;
}

/* ═══ SECTION PADDING — DESKTOP SIDE PADDING ═══ */
@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-page-section {
		--padding-left: 2rem;
		--padding-right: 2rem;
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-page-section {
		--padding-left: 1rem;
		--padding-right: 1rem;
	}

	/* Disable fade-in animation on mobile for performance */
	.lpjh-luxury-unit .lpjh-animate {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════
   LPJH Luxury Unit — Design Direction V2 (Pull Quote, Tags, Sig-Stack,
   Wellness Band, Structure Toggle, Floor Blocks, Room Cards, Guest House)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Pull Quote ── */
.lpjh-luxury-unit .lpjh-pull-quote {
	border-left: 3px solid var(--lpjh-gold, #b28a4a);
	padding: 1rem 0 1rem 1.5rem;
	margin: 2rem 0;
}
.lpjh-luxury-unit .lpjh-pull-quote p {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 1.1rem;
	line-height: 1.75;
	color: var(--lpjh-ink, #0a0a0a);
	margin: 0;
}

/* ── Tag Row (pills) ── */
.lpjh-luxury-unit .lpjh-tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0;
}
.lpjh-luxury-unit .lpjh-tag {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 999px;
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.7;
	background: transparent;
}

/* ── Sig-Stack (box card grid) ── */
.lpjh-luxury-unit .lpjh-sig-stack {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.lpjh-luxury-unit .lpjh-sig-item {
	padding: 1rem 1.1rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-sig-item:last-child:nth-child(odd) {
	grid-column: span 2;
}
.lpjh-luxury-unit .lpjh-sig-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--abe-global-color-primary, #1E646E);
	margin: 0 0 0.2rem;
}
.lpjh-luxury-unit .lpjh-sig-desc {
	font-size: 0.85rem;
	line-height: 1.6;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.65;
	margin: 0;
}

/* ── Section Rule (decorative) ── */
.lpjh-luxury-unit .lpjh-section-rule {
	width: 40px;
	height: 1.5px;
	background: var(--lpjh-gold, #b28a4a);
	margin-bottom: 1.75rem;
}

/* ── Wellness Callout Band ── */
.lpjh-luxury-unit .lpjh-wellness-band {
	background: rgba(245, 245, 240, 0.6);
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 12px;
	padding: 3rem 2.75rem;
}
.lpjh-luxury-unit .lpjh-wellness-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 3rem;
	align-items: start;
}
.lpjh-luxury-unit .lpjh-wellness-text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.lpjh-luxury-unit .lpjh-wellness-body {
	font-size: 0.95rem;
	line-height: 1.85;
	opacity: 0.75;
	margin: 0 0 1.5rem;
}
.lpjh-luxury-unit .lpjh-wellness-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	margin-top: 1.5rem;
}
.lpjh-luxury-unit .lpjh-w-stat {
	text-align: center;
	padding: 1rem 0.75rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 8px;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-w-stat-value {
	display: block;
	font-family: 'Playfair Display', serif;
	font-size: 1.35rem;
	font-weight: 400;
	color: var(--abe-global-color-primary, #1E646E);
	line-height: 1.1;
}
.lpjh-luxury-unit .lpjh-w-stat-label {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.55;
	margin-top: 0.3rem;
}
.lpjh-luxury-unit .lpjh-wellness-image {
	width: 100%;
	margin-bottom: 1.5rem;
	border-radius: 10px;
	overflow: hidden;
}
.lpjh-luxury-unit .lpjh-wellness-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 400px;
}
.lpjh-luxury-unit .lpjh-wellness-gallery {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	margin-bottom: 1.5rem;
	border-radius: 10px;
	-webkit-overflow-scrolling: touch;
}
.lpjh-luxury-unit .lpjh-wellness-gallery-item {
	flex: 0 0 85%;
	scroll-snap-align: center;
	border-radius: 10px;
	overflow: hidden;
}
.lpjh-luxury-unit .lpjh-wellness-gallery-item img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 400px;
}
.lpjh-luxury-unit .lpjh-wellness-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.lpjh-luxury-unit .lpjh-wellness-list li {
	position: relative;
	padding-left: 1.1rem;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--lpjh-ink, #0a0a0a);
}
.lpjh-luxury-unit .lpjh-wellness-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--lpjh-gold, #b28a4a);
}

/* ── Structure Toggle (Main Residence / Guest House) ── */
.lpjh-luxury-unit .lpjh-structure-toggle {
	display: inline-flex;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 2.5rem;
}
.lpjh-luxury-unit .lpjh-structure-btn {
	padding: 0.6rem 1.5rem;
	border: none;
	border-right: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	background: transparent;
	font-size: 0.85rem;
	letter-spacing: 0.03em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.6;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
.lpjh-luxury-unit .lpjh-structure-btn:last-child {
	border-right: none;
}
.lpjh-luxury-unit .lpjh-structure-btn.is-active {
	background: var(--abe-global-color-accent, #A16207);
	color: #fff;
	opacity: 1;
	font-weight: 500;
}

/* ── Virtual Walkthrough Embed ── */
.lpjh-luxury-unit .lpjh-tour-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
}
.lpjh-luxury-unit .lpjh-tour-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* ── Floor Blocks (accordion) ── */
.lpjh-luxury-unit .lpjh-floor-block {
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 1.25rem;
}
.lpjh-luxury-unit .lpjh-floor-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 1rem 1.25rem;
	background: rgba(245, 245, 240, 0.5);
	border: none;
	cursor: pointer;
	user-select: none;
}
.lpjh-luxury-unit .lpjh-floor-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--abe-global-color-primary, #1E646E);
}
.lpjh-luxury-unit .lpjh-floor-meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.lpjh-luxury-unit .lpjh-floor-count {
	font-size: 0.82rem;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.5;
}
.lpjh-luxury-unit .lpjh-floor-chevron {
	display: flex;
	transition: transform 0.3s ease;
}
.lpjh-luxury-unit .lpjh-floor-chevron svg {
	width: 12px;
	height: auto;
}
.lpjh-luxury-unit .lpjh-floor-block.is-collapsed .lpjh-floor-chevron {
	transform: rotate(-90deg);
}
.lpjh-luxury-unit .lpjh-floor-body {
	border-top: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
}

/* ── Room Grid + Room Cards ── */
.lpjh-luxury-unit .lpjh-room-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}
.lpjh-luxury-unit .lpjh-room-card {
	padding: 1.15rem 1.25rem;
	border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-right: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
}
.lpjh-luxury-unit .lpjh-room-card:nth-child(2n) {
	border-right: none;
}
.lpjh-luxury-unit .lpjh-room-card:nth-last-child(-n+2) {
	border-bottom: none;
}
.lpjh-luxury-unit .lpjh-room-card:last-child:nth-child(odd) {
	border-bottom: none;
	grid-column: span 2;
	border-right: none;
}
.lpjh-luxury-unit .lpjh-room-card.lpjh-room-featured {
	background: rgba(245, 245, 240, 0.5);
}
.lpjh-luxury-unit .lpjh-room-card:nth-child(4n+2),
.lpjh-luxury-unit .lpjh-room-card:nth-child(4n+3) {
	background: rgba(245, 245, 240, 0.5);
}
.lpjh-luxury-unit .lpjh-room-card-img {
	width: 100%;
	border-radius: 6px;
	margin-bottom: 0.75rem;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* Two-column card layout — applied only when an image is rendered.
 * The card becomes a flexbox with exactly two children: a single text container
 * (heading + description + badges, stacked naturally) and the image. Image
 * stretches to match the text container's natural height, capped at 40vh,
 * so it reads as a "filler" rather than a hero. Text-only cards keep the
 * original block layout untouched. */
.lpjh-luxury-unit .lpjh-room-card:has(.lpjh-room-card-img) {
	display: flex;
	gap: 1.25rem;
	align-items: stretch;
}
.lpjh-luxury-unit .lpjh-room-card-text {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.lpjh-luxury-unit .lpjh-room-card-text > *:last-child {
	margin-bottom: 0;
}
.lpjh-luxury-unit .lpjh-room-card:has(.lpjh-room-card-img) .lpjh-room-card-img {
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
	width: 100%;
	height: auto;
	max-height: 18vh;
	margin: 0;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center center;
}
.lpjh-luxury-unit .lpjh-room-name {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--abe-global-color-primary, #1E646E);
	margin: 0 0 0.35rem;
}
.lpjh-luxury-unit .lpjh-room-detail {
	font-size: 0.85rem;
	line-height: 1.65;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.7;
	margin: 0 0 0.65rem;
}
.lpjh-luxury-unit .lpjh-room-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.lpjh-luxury-unit .lpjh-room-badge {
	display: inline-block;
	font-size: 0.72rem;
	padding: 0.2rem 0.6rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 999px;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.6;
	background: #fff;
}

/* ── Main House Intro ── */
.lpjh-luxury-unit .lpjh-main-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
	margin-bottom: 2.5rem;
}
.lpjh-luxury-unit .lpjh-main-body {
	font-size: 0.95rem;
	line-height: 1.85;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.75;
	margin: 0 0 1rem;
}
.lpjh-luxury-unit .lpjh-main-stats {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.lpjh-luxury-unit .lpjh-main-stat {
	flex: 1;
	text-align: center;
	padding: 0.75rem 0.5rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 8px;
}
.lpjh-luxury-unit .lpjh-main-stat-val {
	display: block;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--abe-global-color-primary, #1E646E);
}
.lpjh-luxury-unit .lpjh-main-stat-lbl {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.55;
	margin-top: 0.15rem;
}
.lpjh-luxury-unit .lpjh-main-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.lpjh-luxury-unit .lpjh-main-intro-image {
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
	max-height: 50vh;
}
.lpjh-luxury-unit .lpjh-main-intro-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

/* ── Guest House Intro ── */
.lpjh-luxury-unit .lpjh-guest-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
	margin-bottom: 2.5rem;
}
.lpjh-luxury-unit .lpjh-guest-body {
	font-size: 0.95rem;
	line-height: 1.85;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.75;
	margin: 0 0 1rem;
}
.lpjh-luxury-unit .lpjh-guest-stats {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.lpjh-luxury-unit .lpjh-guest-stat {
	flex: 1;
	text-align: center;
	padding: 0.75rem 0.5rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 8px;
}
.lpjh-luxury-unit .lpjh-guest-stat-val {
	display: block;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--abe-global-color-primary, #1E646E);
}
.lpjh-luxury-unit .lpjh-guest-stat-lbl {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.55;
	margin-top: 0.15rem;
}

/* ── Guest House Right Column ── */
.lpjh-luxury-unit .lpjh-guest-right {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.lpjh-luxury-unit .lpjh-guest-right .lpjh-guest-house-image {
	margin-bottom: 0;
}

/* ── Guest House Image ── */
.lpjh-luxury-unit .lpjh-guest-house-image {
	width: 100%;
	margin-bottom: 1.5rem;
	border-radius: 10px;
	overflow: hidden;
}
.lpjh-luxury-unit .lpjh-guest-house-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 400px;
}

/* ── Guest House Compound Visual ── */
.lpjh-luxury-unit .lpjh-guest-compound {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-radius: 12px;
	overflow: hidden;
}
.lpjh-luxury-unit .lpjh-compound-cell {
	padding: 1rem 1.15rem;
	border-right: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
}
.lpjh-luxury-unit .lpjh-compound-cell:nth-child(2n) {
	border-right: none;
}
.lpjh-luxury-unit .lpjh-compound-cell:nth-last-child(-n+2) {
	border-bottom: none;
}
.lpjh-luxury-unit .lpjh-compound-label {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--lpjh-ink, #0a0a0a);
	opacity: 0.5;
	margin-bottom: 0.25rem;
}
.lpjh-luxury-unit .lpjh-compound-value {
	display: block;
	font-size: 0.92rem;
	color: var(--abe-global-color-primary, #1E646E);
	font-weight: 500;
	line-height: 1.5;
}

/* ── Design Direction V2 — Responsive ── */
@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-wellness-grid {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-wellness-band {
		padding: 2rem 1.75rem;
	}
	.lpjh-luxury-unit .lpjh-guest-intro,
	.lpjh-luxury-unit .lpjh-main-intro {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-sig-stack {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-sig-item:last-child:nth-child(odd) {
		grid-column: span 1;
	}
	.lpjh-luxury-unit .lpjh-room-grid {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-room-card {
		border-right: none;
	}
	.lpjh-luxury-unit .lpjh-room-card:nth-last-child(-n+2) {
		border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	}
	.lpjh-luxury-unit .lpjh-room-card:last-child {
		border-bottom: none;
		grid-column: span 1;
	}
	/* Revert to vertical stacking on mobile — not enough horizontal space
	 * to read text next to a 50%-wide image. Keep flex so the gap value
	 * still applies between the (now stacked) text and image. */
	.lpjh-luxury-unit .lpjh-room-card:has(.lpjh-room-card-img) {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
	}
	.lpjh-luxury-unit .lpjh-room-card:has(.lpjh-room-card-img) .lpjh-room-card-img {
		max-height: 20vh;
		margin: 0;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		object-position: center center;
	}
	.lpjh-luxury-unit .lpjh-guest-compound {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-compound-cell {
		border-right: none;
	}
	.lpjh-luxury-unit .lpjh-compound-cell:nth-last-child(-n+2) {
		border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.12));
	}
	.lpjh-luxury-unit .lpjh-compound-cell:last-child {
		border-bottom: none;
	}
	.lpjh-luxury-unit .lpjh-structure-toggle {
		width: 100%;
	}
	.lpjh-luxury-unit .lpjh-structure-btn {
		flex: 1;
		text-align: center;
	}
	.lpjh-luxury-unit .lpjh-wellness-band {
		padding: 1.5rem 1.25rem;
	}
	.lpjh-luxury-unit .lpjh-pull-quote {
		margin: 1.5rem 0;
	}
}

/* ── Stat Strip ── */
.lpjh-luxury-unit .lpjh-stat-strip {
	display: flex;
	gap: 0;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 2.5rem;
}
.lpjh-luxury-unit .lpjh-stat-strip-item {
	flex: 1;
	padding: 1rem 0.75rem;
	text-align: center;
	border-right: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
}
.lpjh-luxury-unit .lpjh-stat-strip-item:last-child {
	border-right: none;
}
.lpjh-luxury-unit .lpjh-stat-strip-val {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--abe-global-color-primary);
	line-height: 1.1;
}
.lpjh-luxury-unit .lpjh-stat-strip-lbl {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abe-global-color-text, #606060);
	margin-top: 3px;
}

/* ── Bed Row Badges ── */
.lpjh-luxury-unit .lpjh-bed-row {
	display: flex;
	gap: 12px;
	margin-bottom: 2rem;
}
.lpjh-luxury-unit .lpjh-bed-badge {
	flex: 1;
	padding: 1rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 8px;
	text-align: center;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-bed-num {
	font-size: 1.75rem;
	font-weight: 500;
	color: var(--abe-global-color-primary);
	line-height: 1;
}
.lpjh-luxury-unit .lpjh-bed-type {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--abe-global-color-text, #606060);
	margin-top: 4px;
}

/* ── Location: Views Band ── */
.lpjh-luxury-unit .lpjh-views-band {
	background: var(--abe-global-color-secondary, #F5F5F0);
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
	margin-top: 2.5rem;
	margin-bottom: 1.5rem;
}
.lpjh-luxury-unit .lpjh-views-label {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
	margin-bottom: 10px;
}
.lpjh-luxury-unit .lpjh-views-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.lpjh-luxury-unit .lpjh-view-pill {
	padding: 6px 14px;
	background: #fff;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 20px;
	font-size: 0.8125rem;
	color: var(--abe-global-color-primary);
}

/* ── Location: Cards Grid ── */
.lpjh-luxury-unit .lpjh-location-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 1.5rem;
}
.lpjh-luxury-unit .lpjh-loc-card {
	padding: 1rem 1.1rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-loc-card-label {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
	margin-bottom: 6px;
}
.lpjh-luxury-unit .lpjh-loc-card-val {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--abe-global-color-primary);
	margin-bottom: 3px;
}
.lpjh-luxury-unit .lpjh-loc-card-sub {
	font-size: 0.75rem;
	color: var(--abe-global-color-text, #606060);
	line-height: 1.5;
}

/* ── Notes & Disclosures ── */
.lpjh-luxury-unit .lpjh-notes-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.lpjh-luxury-unit .lpjh-note-card {
	padding: 1rem 1.1rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-note-icon-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.lpjh-luxury-unit .lpjh-note-icon {
	width: 24px;
	height: 24px;
	border-radius: 6px;
	background: var(--abe-global-color-secondary, #F5F5F0);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.lpjh-luxury-unit .lpjh-note-title {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--abe-global-color-primary);
}
.lpjh-luxury-unit .lpjh-note-body {
	font-size: 0.75rem;
	color: var(--abe-global-color-text, #606060);
	line-height: 1.6;
}
.lpjh-luxury-unit .lpjh-disclosure-strip {
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 8px;
	background: var(--abe-global-color-secondary, #F5F5F0);
}
.lpjh-luxury-unit .lpjh-disclosure-text {
	font-size: 0.75rem;
	color: var(--abe-global-color-text, #606060);
	line-height: 1.7;
}

/* ── Amenity Cards (refined) ── */
.lpjh-luxury-unit .lpjh-amenity-card {
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
	border-radius: 10px;
	background: #fff;
}
.lpjh-luxury-unit .lpjh-amenity-card h3 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--abe-global-color-text, #606060);
	font-weight: 500;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
}
.lpjh-luxury-unit .lpjh-amenity-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.8125rem;
	color: var(--abe-global-color-primary);
	line-height: 1;
}
.lpjh-luxury-unit .lpjh-amenity-card li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 5px 0;
	border-bottom: 1px solid var(--lpjh-line, rgba(10,10,10,0.10));
  	margin: .5rem;
}
.lpjh-luxury-unit .lpjh-amenity-card li:last-child {
	border-bottom: none;
}
.lpjh-luxury-unit .lpjh-amenity-card li::before {
	content: "—";
	color: var(--abe-global-color-text, #606060);
	font-size: 0.6875rem;
	flex-shrink: 0;
}

/* ── Responsive: new sections ── */
@media (max-width: 1024px) {
	.lpjh-luxury-unit .lpjh-notes-grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 767px) {
	.lpjh-luxury-unit .lpjh-stat-strip {
		flex-wrap: wrap;
	}
	.lpjh-luxury-unit .lpjh-stat-strip-item {
		flex: 1 1 33%;
		min-width: 0;
	}
	.lpjh-luxury-unit .lpjh-bed-row {
		flex-wrap: wrap;
	}
	.lpjh-luxury-unit .lpjh-bed-badge {
		flex: 1 1 calc(50% - 6px);
		min-width: 0;
	}
	.lpjh-luxury-unit .lpjh-location-cards {
		grid-template-columns: 1fr;
	}
	.lpjh-luxury-unit .lpjh-notes-grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   LPJH Booking Page — Luxury Redesign
   All rules scoped under .lpjh-booking to isolate changes
   ========================================================= */

/* ─── Design Tokens ─── */
.lpjh-booking {
	--lpjh-ink: #3D3D3D;
	--lpjh-bg: var(--brand-bg, #FAFAF8);
	--lpjh-line: rgba(10, 10, 10, 0.08);
	--lpjh-gold: var(--brand-accent, #A16207);
	--lpjh-ease: cubic-bezier(.19, 1, .22, 1);
	background: var(--lpjh-bg);
}

/* ─── Grid Layout: 3fr / 2fr at desktop ─── */
.lpjh-booking .abe-book {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

/* Mobile: details first (reverse visual order) */
.lpjh-booking .abe-book > .abe-column:first-child {
	order: 2;
}

.lpjh-booking .abe-book > .abe-column.abe-booking-details {
	order: 1;
}

@media (min-width: 1024px) {
	.lpjh-booking .abe-book {
		grid-template-columns: 3fr 2fr;
		gap: 3rem;
	}

	.lpjh-booking .abe-book > .abe-column:first-child {
		order: 1;
	}

	.lpjh-booking .abe-book > .abe-column.abe-booking-details {
		order: 2;
	}
}

/* Remove old flex-based overrides */
.lpjh-booking .abe-row.abe-book > div:first-of-type {
	padding-top: 0;
	padding-right: 0;
}

.lpjh-booking .abe-row.abe-book > div:last-child {
	padding-left: 0 !important;
	border-left: none;
	border-bottom: none;
}

/* ─── Container refinement ─── */
.lpjh-booking .abe-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 1.5rem;
}

@media (min-width: 1024px) {
	.lpjh-booking .abe-container {
		padding: 3rem 2rem;
	}
}

/* ─── Property Card: Sharp edges, refined overlay ─── */
.lpjh-booking .abe-booking-background {
	border-radius: 0;
	height: 300px;
	margin-top: 0;
	box-shadow: inset 0 0 0 2000px rgba(10, 10, 10, 0.45);
}

.lpjh-booking .abe-booking-background h1 {
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-weight: 400 !important;
	font-size: 1.75rem !important;
	letter-spacing: 0.01em;
}

.lpjh-booking .abe-booking-background p {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	opacity: 0.7;
	margin-bottom: 0.5rem;
	font-weight: 400;
}

/* ─── Sidebar Stats — pipe dividers ─── */
.lpjh-booking .first-details.lpjh-hero-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	padding: 1rem 0;
	border-bottom: 1px solid var(--lpjh-line);
}

/* Remove old :after separators */
.lpjh-booking .first-details.lpjh-hero-stats span:after {
	content: none;
	margin: 0;
}

.lpjh-booking .lpjh-stat-divider {
	opacity: 0.35;
	font-size: 0.8rem;
}

/* ─── Night Details — clean layout ─── */
.lpjh-booking .night-details {
	padding: 1rem 0;
	border-bottom: 1px solid var(--lpjh-line);
	font-size: 0.9rem;
}

.lpjh-booking .night-details .dep-text-wrapper {
	margin-bottom: 0;
}

/* Hide all FA icons from sidebar */
.lpjh-booking .abe-book-info i {
	display: none;
}

.lpjh-booking .guests-count-book {
	display: flex;
	gap: 1rem;
	margin-top: 0.25rem;
}

.lpjh-booking .guests-count-book div:not(:last-of-type)::after {
	content: '|';
	margin: 0 0.25rem;
	opacity: 0.35;
}

/* ─── Rate Breakdown Table — refined ─── */
.lpjh-booking .abe-ratebreakdown {
	margin-top: 1.5rem;
	font-size: 0.9rem;
}

.lpjh-booking .abe-ratebreakdown table {
	margin-top: 0.75rem;
	width: 100%;
	border-collapse: collapse;
}

.lpjh-booking .abe-ratebreakdown thead {
	background: transparent;
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-booking .abe-ratebreakdown tr th,
.lpjh-booking .abe-ratebreakdown tr td {
	padding: 0.5rem 0;
	font-size: 0.88rem;
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-booking .abe-ratebreakdown tr th {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.6;
	font-weight: 600;
}

/* Prominent total rows */
.lpjh-booking .abe-ratebreakdown tbody tr:nth-last-child(1) td,
.lpjh-booking .abe-ratebreakdown tbody tr:nth-last-child(2) td {
	font-weight: 700;
	padding-top: 0.75rem;
}

.lpjh-booking .abe-ratebreakdown tbody tr:last-child td {
	font-size: 1.05rem;
	border-bottom: none;
}

/* ─── Sticky sidebar ─── */
.lpjh-booking .abe-booking-details .fixed {
	position: sticky;
	top: 100px;
}

.lpjh-booking .abe-booking-details {
	padding: 0;
}

/* ─── Section Headers — kicker + heading ─── */
.lpjh-booking .lpjh-section-header {
	margin-bottom: 1.5rem;
	margin-top: 2.5rem;
}

.lpjh-booking .lpjh-section-header:first-child,
.lpjh-booking #vrpbookform > div:first-child .lpjh-section-header {
	margin-top: 0;
}

.lpjh-booking .lpjh-section-kicker {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	opacity: 0.55;
	color: var(--lpjh-gold);
	font-weight: 400;
}

.lpjh-booking .lpjh-section-header h3 {
	margin: 0;
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-weight: 400 !important;
	font-size: 1.35rem !important;
	color: var(--abe-global-color-primary);
}

/* Sub-headers (smaller, less spacing) */
.lpjh-booking .lpjh-section-header--sub {
	margin-top: 1.75rem;
	margin-bottom: 1rem;
}

.lpjh-booking .lpjh-section-header--sub h3 {
	font-size: 1.1rem !important;
}

/* ─── Form Inputs — bottom-border-only ─── */
.lpjh-booking #vrpbookform input[type='text'],
.lpjh-booking #vrpbookform input[type='email'],
.lpjh-booking #vrpbookform input[type='tel'],
.lpjh-booking #vrpbookform input[type='number'] {
	border: none;
	border-bottom: 1px solid var(--lpjh-ink);
	border-radius: 0;
	background: transparent;
	padding: 0.75rem 0;
	font-size: 0.92rem;
	color: var(--lpjh-ink);
	transition: border-color 0.3s var(--lpjh-ease);
}

.lpjh-booking #vrpbookform input[type='text']:focus,
.lpjh-booking #vrpbookform input[type='email']:focus,
.lpjh-booking #vrpbookform input[type='tel']:focus,
.lpjh-booking #vrpbookform input[type='number']:focus {
	border-bottom-color: var(--lpjh-gold);
	outline: none;
}

.lpjh-booking #vrpbookform input::placeholder {
	color: var(--lpjh-ink);
	opacity: 0.45;
}

/* Remove asterisk background on required fields */
.lpjh-booking #vrpbookform input:required,
.lpjh-booking #vrpbookform textarea:required,
.lpjh-booking #vrpbookform select:required {
	background-image: none;
}

/* ─── Selects — bottom-border with custom arrow ─── */
.lpjh-booking #vrpbookform select {
	border: none;
	border-bottom: 1px solid var(--lpjh-ink);
	border-radius: 0;
	background-color: transparent;
	padding: 0.75rem 1.5rem 0.75rem 0;
	font-size: 0.92rem;
	color: var(--lpjh-ink);
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 7" width="12"><path fill="%233D3D3D" d="M0,0l6,7l6-7"/></svg>');
	background-position: right 0 center;
	background-repeat: no-repeat;
	background-size: 10px;
}

.lpjh-booking #vrpbookform select:focus {
	border-bottom-color: var(--lpjh-gold);
	outline: none;
}

/* ─── Labels — uppercase micro text ─── */
.lpjh-booking #vrpbookform label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.6;
	margin-bottom: 0.2rem;
	font-weight: 600;
}

/* Remove the empty spacer labels */
.lpjh-booking #vrpbookform label:empty {
	display: none;
}

/* ─── Textarea — refined ─── */
.lpjh-booking #vrpbookform textarea {
	border: 1px solid var(--lpjh-line);
	border-radius: 0;
	padding: 1rem;
	min-height: 8rem;
	resize: vertical;
	background: transparent;
	font-size: 0.92rem;
	color: var(--lpjh-ink);
	transition: border-color 0.3s var(--lpjh-ease);
}

.lpjh-booking #vrpbookform textarea:focus {
	border-color: var(--lpjh-gold);
	outline: none;
}

/* ─── Row spacing — generous gaps ─── */
.lpjh-booking #vrpbookform .abe-row {
	margin-bottom: 0.5rem;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.lpjh-booking #vrpbookform .abe-row {
		flex-direction: row;
	}
}

/* ─── Extra Info — Custom Checkboxes ─── */
.lpjh-booking .extra-info .abe-column {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.lpjh-booking .extra-info input[type='checkbox'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.25rem;
	height: 1.25rem;
	min-width: 1.25rem;
	border: 1.5px solid var(--lpjh-ink);
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	transition: background-color 0.2s ease, border-color 0.2s ease;
	margin: 0;
}

.lpjh-booking .extra-info input[type='checkbox']:checked {
	background-color: var(--abe-global-color-accent, #A16207);
	border-color: var(--abe-global-color-accent, #A16207);
}

.lpjh-booking .extra-info input[type='checkbox']:checked::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 6px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.lpjh-booking .extra-info label {
	font-size: 0.92rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	opacity: 1 !important;
	font-weight: 400 !important;
	cursor: pointer;
	margin: 0 !important;
}

/* ─── Terms Checkbox — same luxury style ─── */
.lpjh-booking .abe-terms-input {
	text-align: left;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 1.5rem 0;
	justify-content: flex-start;
}

.lpjh-booking .abe-terms-input input[type='checkbox'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.25rem;
	height: 1.25rem;
	min-width: 1.25rem;
	border: 1.5px solid var(--lpjh-ink);
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	margin-top: 2px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lpjh-booking .abe-terms-input input[type='checkbox']:checked {
	background-color: var(--abe-global-color-accent, #A16207);
	border-color: var(--abe-global-color-accent, #A16207);
}

.lpjh-booking .abe-terms-input input[type='checkbox']:checked::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 6px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.lpjh-booking .abe-terms-input span {
	font-size: 0.88rem;
	line-height: 1.5;
}

/* ─── Submit Button — match lpjh-btn visual system ─── */
.lpjh-booking #bookingbuttonvrp {
	display: block;
	width: 100%;
	height: 3.5rem;
	line-height: 3.5rem;
	background-color: var(--abe-global-color-accent, #A16207);
	border: 1px solid var(--abe-global-color-accent, #A16207);
	color: var(--abe-global-color-2b35b52, #FAFAF8);
	font-family: var(--abe-global-typography-primary-font-family, 'Lato');
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	border-radius: 0;
	cursor: pointer;
	transition: background-color 0.4s var(--lpjh-ease),
	            color 0.4s var(--lpjh-ease),
	            border-color 0.4s var(--lpjh-ease);
	margin-top: 1rem;
}

.lpjh-booking #bookingbuttonvrp:hover {
	background-color: transparent;
	color: var(--abe-global-color-accent, #A16207);
	border-color: var(--abe-global-color-accent, #A16207);
}

/* ─── Loading spinner spacing ─── */
.lpjh-booking #loadingicons {
	text-align: center;
	margin: 1rem 0;
}

/* ─── Insurance / Add-ons — refined ─── */
.lpjh-booking .abe-travel-ins {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-booking .abe-travel-ins p {
	font-size: 0.9rem;
	opacity: 0.8;
}

.lpjh-booking .abe-travel-ins-product-wrapper {
	border: 1px solid var(--lpjh-line);
	border-radius: 0;
}

.lpjh-booking .abe-travel-ins-product {
	border-bottom: 1px solid var(--lpjh-line);
}

.lpjh-booking .abe-travel-ins-product:last-child {
	border-bottom: none;
}

/* ─── Stripe Card Element ─── */
.lpjh-booking #card-element {
	border: none;
	border-bottom: 1px solid var(--lpjh-ink);
	padding: 0.75rem 0;
	background: transparent;
}

/* ─── Error messages ─── */
.lpjh-booking .errormsg {
	color: #c0392b;
	font-size: 0.78rem;
}

/* ─── Mobile-specific ─── */
@media (max-width: 1023px) {
	.lpjh-booking .abe-booking-details {
		padding: 0 !important;
		margin-bottom: 2rem;
		border-left: none;
		border-bottom: none;
	}

	.lpjh-booking .abe-booking-background {
		height: 220px;
	}

	.lpjh-booking .abe-booking-details .fixed {
		position: static;
	}
}

/* =========================================================
   LPJH Confirmation Page — Luxury Design
   ========================================================= */

.lpjh-confirm {
	max-width: 860px;
	margin: 0 auto;
	padding: 3rem 1.5rem 4rem;
}

/* ─── Confirmation Message ─── */
.lpjh-confirm-message {
	text-align: center;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
	margin-bottom: 2.5rem;
}

.lpjh-confirm-icon {
	color: var(--abe-global-color-accent, #A16207);
	margin-bottom: 1.25rem;
}

.lpjh-confirm-kicker {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--lpjh-gold, #C4B48A);
	margin: 0 0 0.5rem;
	font-weight: 400;
}

.lpjh-confirm-heading {
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-size: 2.25rem;
	font-weight: 400;
	color: var(--abe-global-color-primary, #1E646E) !important;
	margin: 0 0 1.25rem;
	letter-spacing: 0.01em;
}

.lpjh-confirm-body {
	font-size: 1.05rem;
	line-height: 1.7;
	max-width: 540px;
	margin: 0 auto 0.75rem;
	color: #3D3D3D;
}

.lpjh-confirm-sub {
	font-size: 0.88rem;
	opacity: 0.6;
	margin: 0;
}

/* Track payment: hide confirmation until success callback */
#confirmation-message {
	display: none;
	flex-direction: column;
	align-items: center;
}

/* ─── Property Details Card ─── */
.lpjh-confirm-details {
	border: 1px solid rgba(10, 10, 10, 0.08);
	overflow: hidden;
}

.lpjh-confirm-photo {
	height: 280px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.lpjh-confirm-photo-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 10, 0.4);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.5rem;
}

.lpjh-confirm-photo-kicker {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 0.35rem;
	font-weight: 300;
}

.lpjh-confirm-photo-title {
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-size: 1.75rem;
	font-weight: 400;
	color: #fff;
	margin: 0;
	letter-spacing: 0.01em;
}

.lpjh-confirm-info {
	padding: 1.75rem 2rem;
}

/* ─── Specs Row ─── */
.lpjh-confirm-specs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.lpjh-confirm-specs span + span::before {
	content: '|';
	margin-right: 0.4rem;
	opacity: 0.3;
}

/* ─── Stay Details ─── */
.lpjh-confirm-stay {
	padding: 1.25rem 0;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.lpjh-confirm-stay-row {
	display: flex;
	gap: 2rem;
	margin-bottom: 0.75rem;
}

.lpjh-confirm-stay-row:last-child {
	margin-bottom: 0;
}

.lpjh-confirm-stay-item {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.lpjh-confirm-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.5;
	font-weight: 600;
}

.lpjh-confirm-value {
	font-size: 0.92rem;
}

/* ─── Rate Breakdown ─── */
.lpjh-confirm-rates {
	margin-top: 1.25rem;
}

.lpjh-confirm-rates table {
	width: 100%;
	border-collapse: collapse;
}

.lpjh-confirm-rates th {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.5;
	font-weight: 600;
	padding: 0 0 0.5rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
	text-align: left;
}

.lpjh-confirm-rates th:last-child {
	text-align: right;
}

.lpjh-confirm-rates td {
	padding: 0.5rem 0;
	font-size: 0.88rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.05);
}

.lpjh-confirm-rates td:last-child {
	text-align: right;
}

.lpjh-confirm-rates .lpjh-confirm-total td,
.lpjh-confirm-rates .lpjh-confirm-due td {
	font-weight: 700;
	font-size: 0.95rem;
	padding-top: 0.75rem;
	border-bottom: none;
}

.lpjh-confirm-rates .lpjh-confirm-due td {
	font-size: 1.05rem;
	color: var(--abe-global-color-primary, #1E646E);
}

/* ─── Advisor Note (inquiry-only) ─── */
.lpjh-confirm-advisor-note {
	margin-top: 1.25rem;
	padding: 1rem 0;
	text-align: center;
}

.lpjh-confirm-advisor-note p {
	font-size: 0.88rem;
	opacity: 0.55;
	margin: 0;
	font-style: italic;
}

/* ─── What Happens Next ─── */
.lpjh-confirm-next {
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(10, 10, 10, 0.08);
}

.lpjh-confirm-next h3 {
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-weight: 400;
	font-size: 1.35rem;
	color: var(--abe-global-color-primary, #1E646E);
	margin: 0 0 1.5rem;
	text-align: center;
}

.lpjh-confirm-steps {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lpjh-confirm-step {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.lpjh-confirm-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	border-radius: 50%;
	background: var(--abe-global-color-accent, #A16207);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 600;
}

.lpjh-confirm-step strong {
	display: block;
	font-size: 0.92rem;
	margin-bottom: 0.15rem;
}

.lpjh-confirm-step p {
	font-size: 0.85rem;
	opacity: 0.65;
	margin: 0;
	line-height: 1.5;
}

/* ─── Back Link ─── */
.lpjh-confirm-back {
	text-align: center;
	margin-top: 2.5rem;
}

.lpjh-confirm-back a {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--abe-global-color-accent, #A16207);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s ease;
}

.lpjh-confirm-back a:hover {
	border-bottom-color: currentColor;
}

/* ─── Need Assistance ─── */
.lpjh-confirm-assist {
	text-align: center;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(10, 10, 10, 0.08);
}

.lpjh-confirm-assist-heading {
	font-family: var(--abe-global-typography-secondary-font-family, 'Playfair Display');
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--abe-global-color-primary, #1E646E) !important;
	margin: 0 0 0.5rem;
}

.lpjh-confirm-assist-body {
	font-size: 0.88rem;
	color: #6B6B6B;
	margin: 0 0 1.25rem;
	line-height: 1.6;
}

.lpjh-confirm-assist-contacts {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	flex-wrap: wrap;
}

.lpjh-confirm-assist-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	color: var(--abe-global-color-accent, #A16207);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.lpjh-confirm-assist-link:hover {
	opacity: 0.7;
}

.lpjh-confirm-assist-link svg {
	flex-shrink: 0;
	opacity: 0.6;
}

/* ─── Override old confirmation-page styles ─── */
.lpjh-booking .abe-confirmation-page {
	display: none;
}

/* ─── Mobile ─── */
@media (max-width: 767px) {
	.lpjh-confirm {
		padding: 2rem 1rem 3rem;
	}

	.lpjh-confirm-heading {
		font-size: 1.75rem;
	}

	.lpjh-confirm-photo {
		height: 200px;
	}

	.lpjh-confirm-info {
		padding: 1.25rem 1rem;
	}

	.lpjh-confirm-stay-row {
		flex-direction: column;
		gap: 0.75rem;
	}

	.lpjh-confirm-steps {
		gap: 1rem;
	}

	.lpjh-confirm-assist-contacts {
		flex-direction: column;
		gap: 0.75rem;
	}
}
