.ui-datepicker-calendar .ui-state-default {
        background: #ffffff;
    }
    /* only apply this css for property-detail */
#footer {
    display:none;
}

.top-cart-filter-fvh {
    overflow-y: auto;
    min-height: unset;
    height: calc(100vh - 250px);
}

.map-width {
    height: calc(100vh - 300px);
    display: block;
}
/* end  css for property-detail */


div#price-range {
    position: absolute;
    width: 93%;
    top: 0px;
    right: 0px;
}    

.stay-errors-wrapper {
    display: flex;
    justify-content: center;  /* horizontal */
    align-items: flex-start;      
    min-height: 300px;        /* or 100vh if you want full viewport height */
    padding: 20px;
}

.stay-errors {
    max-width: 500px;
    padding: 20px;
    text-align: left;
}
.stay-errors ul {
    padding-left: 0.1rem;
}

h5.card-unit-title {
    color: #000000;
}
.card-unit-title a {
    color: #000000;
    text-decoration: none;
}
/* new for labels resort and price */
/* Ribbon row – cancels card-body horizontal padding so it touches edges */
.property-label-row {
    display: flex;
         /* match your .card-body horizontal padding */
    margin-top: -1.4rem;
    margin-right: -1.30rem;
    margin-left: -1.30rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
    height: 2rem;            /* keeps the ribbon narrow & consistent */
}

/* Base style for each feature segment */
.property-feature {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;

    font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    /* Make sure numbers behave like the letters */
    font-feature-settings: "lnum" 1, "tnum" 1;

    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff;

    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* When there is only one feature it still fills 100%,
   when there are two they each share 50%. No extra rules needed. */
   /* Reunion + Recommended: weight 2 */
.feature-reunion,
.feature-recommended {
    flex: 2 1 0;                 /* 2 parts of the space */
}

/* Flex30: weight 1 */
.feature-flex30 {
    flex: 1 1 0;                 /* 1 part of the space */
}

/* Colors for each feature (two close variants of orange) */
.feature-reunion {
    background: var(--reunion-membership-bg);
    color: var(--reunion-membership-text);
}

.feature-recommended {
    background: var(--recommended-rental-bg);
    color: var(--recommended-rental-text);           
}
.feature-flex30 {
    background: var(--flex30-bg);       /* blue/teal to tie into Flex 30 branding */
    color: var(--flex30-text);
}

/* Optional: soften the outer corners when both present */
.property-label-row .property-feature:first-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.property-label-row .property-feature:last-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Small-screen tweak if the text is long */
@media (max-width: 480px) {
    .property-feature {
        font-size: 0.65rem;
        letter-spacing: 0.05em;
    }
}


/* end labels resort and price */
/* Keiths Fix */
.slick-slide img {display: block;width: 100%; height: auto;}
.banner-images {max-width: 1600px;margin: auto;}
@media screen and (max-width: 1200px) {.scroll-card {overflow-y: auto;height: fit-content!important;}
	.top-cart-md5-filter-fvh {display: none;}
}

/* card footer */
/* Footer container */
.card-footer {
    background: none !important;
}
.booking-footer {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid rgba(0,0,0,0.06);
    column-gap: 1rem;
}

/* Fixed-size “Book Now” button */
.btn-book-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /*width: 9.5rem; */         /* fixed width  */
    max-width: 140px;
    height: 3rem;           /* fixed height */

    border-radius: 999px;
    background-color: var(--primery-beg);
    color: var(--primery-text);
    font-weight: 700;
    letter-spacing: 0.08em;
    font-size: 0.85rem;
    border: 2px solid var(--primery-btn-border);
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    white-space: nowrap;
}

.btn-book-now:hover,
.btn-book-now:focus {
    background-color: var(--primery-hover); 
    color: var(--primery-hover-txt);
    border: 2px solid var(--primery-hover-border);
}


/* Right side prices – same “visual height” for all states */
.booking-prices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    min-height: 3.3rem;      /* keeps footer height stable across states */
    white-space: nowrap;     /* prevent wrapping that would grow height */
}

/* Shared text styles */
.bp-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #888;
    margin-bottom: 0.15rem;
}

.bp-main {
    font-size: 1.1rem;
    font-weight: 700;
    color: #444;
}

.bp-suffix {
    font-size: 0.85rem;
    font-weight: 500;
    color: #777;
}

.bp-note {
    font-size: 0.78rem;
    color: #999;
    margin-top: 0.1rem;
}

/* Promo state: original price */
.bp-original {
    font-size: 0.9rem;
    color: #ff0000 !important;
    text-decoration: line-through;
    margin-bottom: 0.1rem;
}

/* Responsive tweak: stack on very small screens */
@media (max-width: 575.98px) {
    .btn-book-now {
        width: 90%;
        min-width: 300px;
    }
    .booking-footer {
        flex-direction: column;
        align-items: stretch;
        row-gap: 0.75rem;
    }

    .booking-prices {
        align-items: center;
        text-align: center;
        white-space: normal; /* allow wrap on tiny screens */
    }
}


/* end card footer */

/* loader default hidden */
.calc-sep.is-hidden{
  display:none;
}

/* loader shown */
.calc-sep.is-visible{
  display:block;
}

/* calculating price */
/* animated thin line */
.calc-sep__line{
  display:block;
  height:1px;
  width:100%;
  background: linear-gradient(
    90deg,
    rgba(26, 115, 232, 0),
    rgba(26, 115, 232, .9),
    rgba(26, 115, 232, 0)
  );
  background-size: 220% 100%;
  animation: calcLine 1.25s ease-in-out infinite;
}

/* text */
.calc-sep__text{
  display:block;
  margin-top: 6px;
  font-size:12px;
  letter-spacing:.02em;
  color: rgba(26,115,232,.75);
}

@keyframes calcLine{
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* accessibility */
@media (prefers-reduced-motion: reduce){
  .calc-sep__line{ animation:none; opacity:.5; }
}
