/* =========================================================
GOL RESORTS & HOTELS
HOTELS PAGE
========================================================= */

/* =========================================================
HERO
========================================================= */

.hotel-hero {


position: relative;

height: 440px;

overflow: hidden;

color: #fff;


}

.hotel-hero-image {


position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;

object-position: center 55%;


}

.hotel-hero-overlay {


position: absolute;

inset: 0;

background:
    linear-gradient(
        to top,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.35) 45%,
        rgba(0,0,0,.08) 100%
    );


}

.hotel-hero-content {


position: absolute;

left: 50px;

bottom: 55px;

max-width: 650px;

z-index: 2;


}

.hotel-hero-label {


font-size: 10px;

letter-spacing: 3px;

color: #d4b77a;

margin-bottom: 12px;

font-weight: 500;


}

.hotel-hero-content h1 {


font-family: var(--serif);

font-size: clamp(42px, 5vw, 68px);

font-weight: 400;

line-height: 1;

letter-spacing: -.5px;

margin: 0 0 15px;


}

.hotel-hero-content p {


margin: 0;

font-size: 14px;

line-height: 1.6;

font-weight: 300;

color: rgba(255,255,255,.9);

max-width: 450px;


}

/* =========================================================
INTRO
========================================================= */

.hotel-intro {


padding: 110px 0;

background: #fff;


}

.hotel-intro .gol-description {


max-width: 550px;


}

/* =========================================================
SEARCH
========================================================= */

.hotel-search-section {


padding: 0 0 35px;

background: #fff;


}

.hotel-search-box {


display: flex;

align-items: flex-end;

background: #f8f7f3;

padding: 27px;

gap: 25px;


}

.hotel-search-field {


flex: 1;


}

.hotel-search-field label {


display: block;

font-size: 9px;

letter-spacing: 2px;

font-weight: 500;

color: #777;

margin-bottom: 9px;


}

.search-input {


display: flex;

align-items: center;

gap: 10px;

border-bottom: 1px solid #aaa;

padding: 10px 2px;


}

.search-input i {


color: #a18450;


}

.search-input input,
.search-input select {


width: 100%;

border: 0;

outline: none;

background: transparent;

font-family: var(--sans);

font-size: 13px;

color: #222;


}

.search-input select {


cursor: pointer;


}

.hotel-search-button {


min-width: 165px;

height: 48px;

border: 1px solid #111;

background: #111;

color: #fff;

font-size: 9px;

letter-spacing: 2px;

cursor: pointer;

transition: .3s;


}

.hotel-search-button i {


margin-left: 10px;


}

.hotel-search-button:hover {


background: #a1834c;

border-color: #a1834c;


}

/* =========================================================
CATEGORIES
========================================================= */

.hotel-categories {


background: #fff;

padding-bottom: 80px;


}

.hotel-category-scroll {


display: flex;

justify-content: center;

border-top: 1px solid rgba(0,0,0,.1);

border-bottom: 1px solid rgba(0,0,0,.1);


}

.hotel-category {


min-width: 140px;

padding: 20px 22px;

border: 0;

border-right: 1px solid rgba(0,0,0,.08);

background: transparent;

cursor: pointer;

color: #777;

transition: .3s;


}

.hotel-category:first-child {


border-left: 1px solid rgba(0,0,0,.08);


}

.category-icon {


display: block;

font-size: 18px;

margin-bottom: 7px;

color: #a1834c;


}

.hotel-category > span:last-child {


display: block;

font-size: 9px;

text-transform: uppercase;

letter-spacing: 1.5px;


}

.hotel-category:hover,
.hotel-category.active {


background: #f8f7f3;

color: #111;


}

/* =========================================================
FEATURED HOTELS
========================================================= */

.featured-hotels {


padding: 105px 0 115px;

background: #f8f7f3;


}

.hotel-section-heading {


display: flex;

align-items: flex-end;

justify-content: space-between;

margin-bottom: 50px;


}

.featured-hotel-card {


position: relative;

height: 540px;

overflow: hidden;

color: #fff;


}

.featured-hotel-small {


height: 540px;


}

.featured-hotel-image {


position: absolute;

inset: 0;


}

.featured-hotel-image img {


width: 100%;

height: 100%;

object-fit: cover;

transition: transform 1s ease;


}

.featured-hotel-card:hover
.featured-hotel-image img {


transform: scale(1.06);


}

.featured-hotel-overlay {


position: absolute;

inset: 0;

background:
    linear-gradient(
        to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.05) 68%
    );


}

.featured-hotel-content {


position: absolute;

left: 38px;

right: 38px;

bottom: 38px;

z-index: 2;


}

.featured-hotel-content > span {


font-size: 9px;

letter-spacing: 2px;


}

.featured-hotel-content h3 {


font-family: var(--serif);

font-size: 52px;

font-weight: 400;

line-height: .95;

max-width: 550px;

margin: 10px 0 15px;


}

.featured-hotel-small
.featured-hotel-content h3 {


font-size: 44px;


}

.featured-hotel-content p {


max-width: 430px;

font-size: 13px;

line-height: 1.7;

font-weight: 300;

color: rgba(255,255,255,.85);


}

.light-link {


display: inline-flex;

align-items: center;

gap: 10px;

color: #fff;

text-transform: uppercase;

font-size: 9px;

letter-spacing: 1.7px;

margin-top: 8px;


}

.light-link i {


transition: transform .3s ease;


}

.light-link:hover {


color: #d1b273;


}

.light-link:hover i {


transform: translateX(6px);


}

/* =========================================================
HOTEL COLLECTION
========================================================= */

.hotel-list-section {


padding: 55px 0;

background: #fff;


}

.hotel-list-heading {


display: flex;

align-items: flex-end;

justify-content: space-between;

margin-bottom: 38px;


}

.hotel-result-count {


font-size: 10px;

letter-spacing: 1.5px;

text-transform: uppercase;

color: #777;


}

/* =========================================
   GOL RESORTS & HOTELS
   LUXURY 3D HOTEL CARD
   ========================================= */

.hotel-item {
    perspective: 1400px;
}


/* =========================================
   CARD
   ========================================= */

.hotel-card {
    position: relative;
    background: #ffffff;

    border: 1px solid #e8e5df;

    overflow: hidden;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.04),
        0 18px 40px rgba(0, 0, 0, 0.07);

    transform: translateZ(0);

    transition:
        transform 0.55s cubic-bezier(.2,.7,.2,1),
        box-shadow 0.55s ease,
        border-color 0.4s ease;
}

.hotel-card:hover {
    transform:
        translateY(-8px)
        rotateX(1deg);

    box-shadow:
        0 10px 20px rgba(0, 0, 0, 0.05),
        0 28px 60px rgba(0, 0, 0, 0.13);

    border-color: #ddd6ca;
}


/* =========================================
   IMAGE
   ========================================= */

.hotel-card-image {
    position: relative;

    height: 360px;

    overflow: hidden;
}

.hotel-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;

    transition:
        transform 0.9s cubic-bezier(.2,.7,.2,1),
        filter 0.6s ease;
}

.hotel-card:hover .hotel-card-image img {
    transform: scale(1.055);
}


/* =========================================
   IMAGE OVERLAY
   ========================================= */

.hotel-card-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.02) 0%,
            transparent 60%,
            rgba(0,0,0,0.12) 100%
        );

    pointer-events: none;
}


/* =========================================
   TAG
   ========================================= */

.hotel-tag {
    position: absolute;

    top: 16px;
    left: 17px;

    z-index: 5;

    padding: 9px 14px;

    background: rgba(255,255,255,0.94);

    color: #554b3e;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2px;

    box-shadow:
        0 5px 15px rgba(0,0,0,0.08);

    transition: transform .4s ease;
}

.hotel-card:hover .hotel-tag {
    transform: translateY(-2px);
}


/* =========================================
   FAVOURITE
   ========================================= */

.hotel-favourite {
    position: absolute;

    top: 14px;
    right: 16px;

    z-index: 5;

    width: 42px;
    height: 42px;

    border: none;
    border-radius: 50%;

    background: rgba(255,255,255,0.94);

    display: flex;
    align-items: center;
    justify-content: center;

    color: #37332d;

    box-shadow:
        0 6px 18px rgba(0,0,0,0.10);

    cursor: pointer;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.hotel-favourite:hover {
    transform: scale(1.08);

    box-shadow:
        0 10px 25px rgba(0,0,0,0.15);
}


/* =========================================
   CONTENT
   ========================================= */

.hotel-card-content {
    position: relative;

    /*
       IMPORTANT:
       More left/right spacing
    */
    padding: 28px 30px 25px;

    background: #ffffff;
}


/* =========================================
   LOCATION
   ========================================= */

.hotel-location {
    margin-bottom: 11px;

    color: #9b7950;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2.1px;

    line-height: 1.4;
}


/* =========================================
   TITLE
   ========================================= */

.hotel-card-content h3 {
    margin: 0;

    color: #1d1b18;

    font-family:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;

    font-weight: 500;

    line-height: 1.18;

    letter-spacing: -0.2px;

    white-space: normal;

    transition:
        color .3s ease,
        transform .35s ease;
}

.hotel-card:hover .hotel-card-content h3 {
    color: #5d4c38;

    transform: translateX(2px);
}


/* =========================================
   DESCRIPTION
   ========================================= */

.hotel-card-content p {
    margin: 12px 0 0;

    max-width: 95%;

    color: #77736d;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    font-weight: 400;

    line-height: 1.65;

    letter-spacing: 0.05px;
}


/* =========================================
   BOTTOM AREA
   ========================================= */

.hotel-card-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: 24px;
    padding-top: 18px;

    border-top: 1px solid #e8e5df;
}


/* =========================================
   PRICE
   ========================================= */

.hotel-card-bottom span {
    color: #77736d;

    font-size: 11px;

    line-height: 1.5;
}

.hotel-card-bottom strong {
    color: #27231d;

    font-weight: 600;
}


/* =========================================
   EXPLORE LINK
   ========================================= */

.hotel-card-bottom a {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #27231d;

    text-decoration: none;

    font-size: 9px;

    font-weight: 500;

    letter-spacing: 2px;

    text-transform: uppercase;

    transition:
        color .3s ease,
        gap .3s ease;
}

.hotel-card-bottom a i {
    font-size: 12px;

    transition:
        transform .3s ease;
}

.hotel-card-bottom a:hover {
    color: #9b7950;

    gap: 11px;
}

.hotel-card-bottom a:hover i {
    transform: translateX(3px);
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 991px) {

    .hotel-card-image {
        height: 330px;
    }

    .hotel-card-content {
        padding: 26px 26px 23px;
    }

    .hotel-card-content h3 {
        font-size: 25px;
    }
}


@media (max-width: 575px) {

    .hotel-card-image {
        height: 300px;
    }

    .hotel-card-content {
        padding: 24px 22px 22px;
    }

    .hotel-card-content h3 {
        font-size: 24px;
    }

    .hotel-card-content p {
        font-size: 13px;
    }

    .hotel-card-bottom {
        margin-top: 20px;
        padding-top: 16px;
    }
}
.hotel-tag {


position: absolute;

top: 17px;

left: 17px;

padding: 8px 11px;

background: rgba(255,255,255,.94);

color: #222;

font-size: 8px;

letter-spacing: 1.5px;


}

.hotel-favourite {


position: absolute;

top: 14px;

right: 14px;

width: 38px;

height: 38px;

border: 0;

border-radius: 50%;

background: rgba(255,255,255,.9);

color: #333;

cursor: pointer;

transition: .3s;


}

.hotel-favourite:hover,
.hotel-favourite.selected {


background: #111;

color: #fff;


}

.hotel-card-content {


padding: 23px 2px 28px;


}

.hotel-location {


font-size: 9px;

letter-spacing: 1.7px;

color: #a1834c;

margin-bottom: 9px;


}

.hotel-card-content h3 {


font-family: var(--serif);

font-size: 32px;

line-height: .98;

font-weight: 400;

color: #111;

margin: 0 0 12px;


}

.hotel-card-content p {


font-size: 13px;

line-height: 1.7;

color: #777;

margin-bottom: 20px;

max-width: 390px;


}

.hotel-card-bottom {


display: flex;

justify-content: space-between;

align-items: center;

padding-top: 17px;

border-top: 1px solid rgba(0,0,0,.1);


}

.hotel-card-bottom span {


font-size: 10px;

color: #888;


}

.hotel-card-bottom strong {


color: #222;

font-weight: 500;


}

.hotel-card-bottom a {


color: #222;

font-size: 9px;

text-transform: uppercase;

letter-spacing: 1.5px;


}

.hotel-card-bottom a i {


margin-left: 5px;

transition: .3s;


}

.hotel-card-bottom a:hover {


color: #a1834c;


}

.hotel-card-bottom a:hover i {


transform: translateX(5px);


}

/* =========================================================
NO RESULTS
========================================================= */

.hotel-no-results {


display: none;

text-align: center;

padding: 70px 20px;


}

.hotel-no-results.show {


display: block;


}

.hotel-no-results i {


font-size: 32px;

color: #b3945d;


}

.hotel-no-results h3 {


font-family: var(--serif);

font-size: 38px;

font-weight: 400;

margin: 15px 0 5px;


}

.hotel-no-results p {


color: #777;


}

/* =========================================================
LOAD MORE
========================================================= */

.load-more-wrapper {


display: flex;

justify-content: center;

padding-top: 50px;


}

.load-more-button {


background: transparent;

border: 1px solid #222;

padding: 14px 30px;

font-size: 9px;

letter-spacing: 2px;

cursor: pointer;

transition: .3s;


}

.load-more-button i {


margin-left: 10px;


}

.load-more-button:hover {


background: #111;

color: #fff;


}

/* =========================================================
WHY GOL
========================================================= */

.why-gol-section {


padding: 115px 0;

background: #f8f7f3;


}

.why-gol-item {


position: relative;

min-height: 200px;

padding: 23px 0 23px 48px;

border-top: 1px solid rgba(0,0,0,.15);


}

.why-gol-item > span {


position: absolute;

left: 0;

top: 25px;

font-size: 10px;

color: #a1834c;


}

.why-gol-item i {


display: block;

font-size: 22px;

color: #a1834c;

margin-bottom: 14px;


}

.why-gol-item h3 {


font-family: var(--serif);

font-size: 29px;

line-height: 1;

font-weight: 400;

margin: 0 0 11px;


}

.why-gol-item p {


max-width: 300px;

color: #777;

font-size: 13px;

line-height: 1.7;


}

/* =========================================================
CTA
========================================================= */

.hotel-cta {


position: relative;

height: 570px;

overflow: hidden;

color: #fff;


}

.hotel-cta-image {


position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;


}

.hotel-cta-overlay {


position: absolute;

inset: 0;

background: rgba(0,0,0,.48);


}

.hotel-cta-content {


position: absolute;

left: 50%;

top: 50%;

transform: translate(-50%,-50%);

width: 90%;

max-width: 750px;

text-align: center;


}

.hotel-cta-content .gol-eyebrow {


color: #d0b477;


}

.hotel-cta-content h2 {


font-family: var(--serif);

font-size: clamp(50px,6vw,80px);

line-height: .92;

font-weight: 400;

margin: 0 0 22px;


}

.hotel-cta-content p {


font-size: 15px;

font-weight: 300;

margin-bottom: 28px;

color: rgba(255,255,255,.88);


}

/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 991px) {


.hotel-hero {

    height: 400px;

}


.hotel-hero-content {

    left: 30px;

    bottom: 40px;

    right: 30px;

}


.hotel-hero-content h1 {

    font-size: 52px;

}


.hotel-intro {

    padding: 90px 0;

}


.hotel-search-box {

    flex-direction: column;

    align-items: stretch;

}


.hotel-search-button {

    width: 100%;

}


.hotel-category-scroll {

    justify-content: flex-start;

    overflow-x: auto;

}


.hotel-category {

    min-width: 125px;

}


.featured-hotels {

    padding: 85px 0 95px;

}


.featured-hotel-card,
.featured-hotel-small {

    height: 500px;

}


.hotel-list-section {

    padding: 90px 0;

}


.hotel-card-image {

    height: 330px;

}


}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {


.hotel-hero {

    height: 360px;

}


.hotel-hero-content {

    left: 20px;

    right: 20px;

    bottom: 28px;

}


.hotel-hero-label {

    font-size: 8px;

    letter-spacing: 2px;

    margin-bottom: 9px;

}


.hotel-hero-content h1 {

    font-size: 39px;

    line-height: 1;

    margin-bottom: 10px;

}


.hotel-hero-content p {

    font-size: 12px;

    line-height: 1.5;

}


.hotel-intro {

    padding: 70px 0;

}


.hotel-search-section {

    padding-bottom: 45px;

}


.hotel-search-box {

    padding: 21px;

}


.hotel-category-scroll {

    scrollbar-width: none;

}


.hotel-category-scroll::-webkit-scrollbar {

    display: none;

}


.hotel-category {

    min-width: 108px;

    padding: 17px 13px;

}


.hotel-section-heading,
.hotel-list-heading {

    display: block;

}


.hotel-section-heading .gol-link {

    display: inline-block;

    margin-top: 18px;

}


.hotel-result-count {

    margin-top: 18px;

}


.featured-hotel-card,
.featured-hotel-small {

    height: 430px;

}


.featured-hotel-content {

    left: 24px;

    right: 24px;

    bottom: 24px;

}


.featured-hotel-content h3 {

    font-size: 42px;

}


.featured-hotel-small
.featured-hotel-content h3 {

    font-size: 37px;

}


.hotel-list-section {

    padding: 70px 0;

}


.hotel-card-image {

    height: 300px;

}


.hotel-card-content h3 {

    font-size: 31px;

}


.why-gol-section {

    padding: 75px 0;

}


.why-gol-item {

    min-height: auto;

}


.hotel-cta {

    height: 480px;

}


.hotel-cta-content h2 {

    font-size: 48px;

}


}

/* =========================================================
SMALL MOBILE
========================================================= */

@media (max-width: 480px) {


.hotel-hero {

    height: 325px;

}


.hotel-hero-content h1 {

    font-size: 34px;

}


.hotel-hero-content p {

    font-size: 11px;

}


.featured-hotel-card,
.featured-hotel-small {

    height: 390px;

}


.featured-hotel-content h3 {

    font-size: 37px;

}


.hotel-card-image {

    height: 280px;

}


.hotel-cta {

    height: 450px;

}


.hotel-cta-content h2 {

    font-size: 42px;

}


}


/* =========================================================
   GOL RESORTS & HOTELS — WHITE / SOFT IVORY SECTION PALETTE
   ========================================================= */
.intro-section,
.section-white {
    background: #ffffff !important;
}

.gol-section:nth-of-type(odd),
.section-ivory,
.gol-section-cream {
    background: #f8f7f3 !important;
}

.gol-section:nth-of-type(even) {
    background: #ffffff !important;
}

.newsletter {
    background: #f8f7f3 !important;
}

/* Keep visual separation subtle and luxurious */
.intro-section,
.gol-section,
.newsletter {
    border-bottom: 1px solid rgba(80, 70, 55, 0.06);
}


/* =========================================================
   HOTELS PAGE — LUXURY CARD SYSTEM
   Keeps the shared header/footer untouched.
   ========================================================= */

body.hotels-page {
    background: #fbfaf6;
}

body.hotels-page .hotel-card,
body.hotels-page .hotel-item .card,
body.hotels-page .hotel-listing-card,
body.hotels-page .hotel-card-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
    background: #fff !important;
    border: 1px solid rgba(177,138,74,.18) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(35,35,30,.07) !important;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

body.hotels-page .hotel-card:hover,
body.hotels-page .hotel-item .card:hover,
body.hotels-page .hotel-listing-card:hover,
body.hotels-page .hotel-card-wrapper:hover {
    transform: translateY(-7px);
    border-color: rgba(177,138,74,.38) !important;
    box-shadow: 0 18px 42px rgba(35,35,30,.13) !important;
}

/* Image area */
body.hotels-page .hotel-card-image,
body.hotels-page .card-img-top,
body.hotels-page .hotel-image,
body.hotels-page .hotel-listing-image {
    position: relative;
    overflow: hidden;
    background: #eee9df;
}

body.hotels-page .hotel-card-image img,
body.hotels-page .card-img-top,
body.hotels-page .hotel-image img,
body.hotels-page .hotel-listing-image img {
    display: block;
    width: 100%;
    height: 270px;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.65,.2,1);
}

body.hotels-page .hotel-card:hover .hotel-card-image img,
body.hotels-page .hotel-item .card:hover .card-img-top,
body.hotels-page .hotel-card:hover .hotel-image img,
body.hotels-page .hotel-listing-card:hover .hotel-listing-image img {
    transform: scale(1.055);
}

/* Image fade for readability */
body.hotels-page .hotel-card-image::after,
body.hotels-page .hotel-image::after,
body.hotels-page .hotel-listing-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(25,25,20,.24), transparent 45%);
    pointer-events: none;
}

/* Premium tag */
body.hotels-page .hotel-badge,
body.hotels-page .badge,
body.hotels-page .hotel-category {
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .68rem;
    font-weight: 600;
}

/* Content */
body.hotels-page .hotel-card-body,
body.hotels-page .hotel-item .card-body,
body.hotels-page .hotel-listing-body,
body.hotels-page .hotel-card .card-body {
    padding: 25px 25px 24px !important;
    background: #fff !important;
}

body.hotels-page .hotel-card h3,
body.hotels-page .hotel-card h4,
body.hotels-page .hotel-item .card-title,
body.hotels-page .hotel-listing-card h3,
body.hotels-page .hotel-listing-card h4 {
    margin-bottom: 8px;
    color: #292a26;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    line-height: 1.2;
}

body.hotels-page .hotel-card p,
body.hotels-page .hotel-item .card-text,
body.hotels-page .hotel-listing-card p {
    color: #77766e;
    line-height: 1.7;
}

/* Location / meta row */
body.hotels-page .hotel-location,
body.hotels-page .hotel-meta,
body.hotels-page .hotel-details {
    color: #817d73;
    font-size: .88rem;
}

body.hotels-page .hotel-location i,
body.hotels-page .hotel-meta i {
    color: #b18a4a;
}

/* Gold divider */
body.hotels-page .hotel-card-body::before,
body.hotels-page .hotel-item .card-body::before,
body.hotels-page .hotel-listing-body::before {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    margin-bottom: 16px;
    background: #b18a4a;
}

/* Price */
body.hotels-page .hotel-price,
body.hotels-page .price {
    color: #a27b3e !important;
    font-weight: 600;
}

body.hotels-page .hotel-price small,
body.hotels-page .price small {
    color: #89877f !important;
    font-weight: 400;
}

/* CTA */
body.hotels-page .hotel-card a.btn,
body.hotels-page .hotel-item .card a.btn,
body.hotels-page .hotel-listing-card a.btn {
    border-radius: 999px !important;
    padding: 10px 20px;
    border: 1px solid rgba(177,138,74,.55) !important;
    color: #8f6b37 !important;
    background: transparent !important;
    font-size: .76rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: all .3s ease;
}

body.hotels-page .hotel-card a.btn:hover,
body.hotels-page .hotel-item .card a.btn:hover,
body.hotels-page .hotel-listing-card a.btn:hover {
    background: #b18a4a !important;
    color: #fff !important;
    border-color: #b18a4a !important;
}

/* Equal-height Bootstrap grid cards */
body.hotels-page .hotel-item {
    display: flex;
}

body.hotels-page .hotel-item > * {
    width: 100%;
}

/* Shared luxury page controls */
body.hotels-page .form-control,
body.hotels-page .form-select {
    border: 1px solid rgba(177,138,74,.22);
    border-radius: 10px;
    background: #fffdf9;
}

body.hotels-page .form-control:focus,
body.hotels-page .form-select:focus {
    border-color: rgba(177,138,74,.55);
    box-shadow: 0 0 0 .2rem rgba(177,138,74,.10);
}

/* Mobile */
@media (max-width: 767.98px) {
    body.hotels-page .hotel-card-image img,
    body.hotels-page .card-img-top,
    body.hotels-page .hotel-image img,
    body.hotels-page .hotel-listing-image img {
        height: 225px;
    }

    body.hotels-page .hotel-card-body,
    body.hotels-page .hotel-item .card-body,
    body.hotels-page .hotel-listing-body,
    body.hotels-page .hotel-card .card-body {
        padding: 20px !important;
    }
}


/* =========================================================
   FINAL HOTEL LISTING CARD DESIGN
   Matches the approved luxury reference: image-first,
   clean content, amenity row, gold accents.
   ========================================================= */
body.hotels-page .hotel-list-section {
    background: #fbfaf6;
    padding: 78px 0 105px;
}
body.hotels-page .hotel-list-section .row { align-items: stretch; }
body.hotels-page .hotel-item { display:flex; }
body.hotels-page .hotel-card {
    width:100%;
    border-radius:18px !important;
    border:1px solid #e7dfd1 !important;
    background:#fff !important;
    box-shadow:0 12px 32px rgba(54,46,34,.075) !important;
    overflow:hidden !important;
    transform:none !important;
}
body.hotels-page .hotel-card:hover {
    transform:translateY(-7px) !important;
    border-color:#d9c39b !important;
    box-shadow:0 22px 48px rgba(54,46,34,.14) !important;
}
body.hotels-page .hotel-card-image {
    height:245px !important;
    aspect-ratio: 16 / 10;
    background:#eee8dd;
}
body.hotels-page .hotel-card-image img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center !important;
}
body.hotels-page .hotel-card-image::after {
    background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 58%,rgba(0,0,0,.18)) !important;
}
body.hotels-page .hotel-tag {
    top:17px !important; left:auto !important; right:17px !important;
    padding:9px 13px !important;
    border-radius:7px !important;
    background:rgba(255,255,255,.95) !important;
    color:#5c513f !important;
    border:1px solid rgba(177,138,74,.22) !important;
    box-shadow:0 5px 18px rgba(35,30,23,.10) !important;
    font-size:8px !important; letter-spacing:1.5px !important;
}
body.hotels-page .hotel-favourite {
    top:17px !important; left:17px !important; right:auto !important;
    width:38px !important; height:38px !important;
    border:1px solid rgba(177,138,74,.18) !important;
    background:rgba(255,255,255,.94) !important;
    color:#77684e !important;
}
body.hotels-page .hotel-card-content {
    padding:21px 20px 19px !important;
    min-height:330px;
    display:flex;
    flex-direction:column;
}
body.hotels-page .hotel-location {
    display:flex; align-items:center; gap:7px;
    margin:0 0 8px !important;
    color:#8d744d !important;
    font-size:9px !important;
    letter-spacing:1.8px !important;
}
body.hotels-page .hotel-location::before {
    content:'\\f3e8';
    font-family:'bootstrap-icons';
    font-size:11px;
    letter-spacing:0;
}
body.hotels-page .hotel-card-content h3 {
    font-family:'Cormorant Garamond',Georgia,serif !important;
    font-size:28px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    color:#24221e !important;
    margin:0 0 10px !important;
    letter-spacing:-.25px !important;
}
body.hotels-page .hotel-card-content p {
    color:#77736b !important;
    font-size:12.5px !important;
    line-height:1.55 !important;
    margin:0 !important;
    min-height:39px;
}
body.hotels-page .hotel-amenities {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin:18px 0 15px;
    padding:14px 0 13px;
    border-top:1px solid #eee7da;
    border-bottom:1px solid #eee7da;
}
body.hotels-page .hotel-amenity {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    min-width:0; text-align:center; gap:5px;
    color:#6f6b64;
    font-size:8.5px;
    line-height:1.25;
}
body.hotels-page .hotel-amenity i {
    color:#b18a4a;
    font-size:17px;
    line-height:1;
}
body.hotels-page .hotel-amenity span { white-space:normal; }
body.hotels-page .hotel-card-bottom {
    margin-top:auto !important;
    padding-top:0 !important;
    border-top:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    gap:12px;
}
body.hotels-page .hotel-card-bottom span {
    font-size:9px !important; color:#77736d !important;
}
body.hotels-page .hotel-card-bottom span strong {
    display:inline-block;
    color:#27231d !important;
    font-size:18px;
    font-weight:600;
    margin-left:2px;
}
body.hotels-page .hotel-card-bottom a {
    margin-left:auto;
    padding:10px 15px;
    border:1px solid #d7b77c;
    border-radius:6px;
    color:#9a7338 !important;
    background:#fffdf8;
    letter-spacing:1.5px;
    transition:.3s ease;
}
body.hotels-page .hotel-card-bottom a:hover {
    background:#b18a4a;
    border-color:#b18a4a;
    color:#fff !important;
    gap:11px;
}
@media (max-width:991.98px){
 body.hotels-page .hotel-card-image{height:230px !important}
 body.hotels-page .hotel-card-content{min-height:325px}
}
@media (max-width:575.98px){
 body.hotels-page .hotel-card-image{height:235px !important}
 body.hotels-page .hotel-card-content{padding:20px 18px 18px !important;min-height:0}
 body.hotels-page .hotel-card-content h3{font-size:27px !important}
 body.hotels-page .hotel-amenities{gap:3px}
}
