/* ==========================================================
   Velmont Hospitality
   Light Luxury Guest Website Theme
========================================================== */

:root{
    --gold:#b89452;
    --gold-dark:#98743a;
    --gold-light:#e8dcc4;

    --ivory:#f8f5ef;
    --ivory-dark:#eee8de;
    --cream:#fcfaf6;

    --white:#ffffff;
    --charcoal:#242424;
    --heading:#1f1f1f;
    --text:#56514a;
    --muted:#777168;

    --border:#e6ded2;
    --border-dark:#d6cbbb;

    --success:#198754;
    --danger:#c73c3c;

    --shadow-sm:0 8px 24px rgba(52,43,31,.07);
    --shadow:0 18px 48px rgba(52,43,31,.10);
    --shadow-lg:0 28px 70px rgba(52,43,31,.14);

    --radius:18px;
    --transition:.35s ease;
}

/* ==========================================================
   Reset and Global Styles
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:var(--ivory);
    color:var(--text);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.7;
}

body,
input,
textarea,
select,
button{
    font-family:'Inter',sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6{
    margin-top:0;
    color:var(--heading);
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
}

p{
    color:var(--text);
}

a{
    color:inherit;
    text-decoration:none;
    transition:var(--transition);
}

a:hover{
    color:var(--gold-dark);
}

img{
    max-width:100%;
    display:block;
}

section{
    position:relative;
}

::selection{
    background:var(--gold);
    color:var(--white);
}

/* ==========================================================
   Reusable Typography
========================================================== */

.section-subtitle{
    display:inline-block;
    margin-bottom:14px;
    color:var(--gold-dark);
    font-size:13px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.section-title{
    color:var(--heading);
    font-size:clamp(42px,5vw,64px);
    line-height:1.08;
}

.text-gold{
    color:var(--gold-dark);
}

/* ==========================================================
   Buttons
========================================================== */

.btn{
    border-radius:40px;
    font-weight:600;
    transition:var(--transition);
}

.btn-gold{
    padding:13px 29px;
    border:1px solid var(--gold);
    background:var(--gold);
    color:var(--white);
    box-shadow:0 8px 22px rgba(184,148,82,.22);
}

.btn-gold:hover,
.btn-gold:focus{
    border-color:var(--gold-dark);
    background:var(--gold-dark);
    color:var(--white);
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(152,116,58,.28);
}

.btn-outline-dark{
    border-color:var(--charcoal);
    color:var(--charcoal);
}

.btn-outline-dark:hover{
    border-color:var(--charcoal);
    background:var(--charcoal);
    color:var(--white);
}

.btn-outline-light{
    border-color:rgba(255,255,255,.75);
    color:var(--white);
}

.btn-outline-light:hover{
    border-color:var(--white);
    background:var(--white);
    color:var(--charcoal);
}

/* ==========================================================
   Header and Navigation
========================================================== */

.luxury-navbar{
    padding:15px 0;
    border-bottom:1px solid rgba(184,148,82,.17);
    background:rgba(252,250,246,.94);
    box-shadow:0 8px 30px rgba(52,43,31,.06);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transition:var(--transition);
}

.luxury-navbar.scrolled{
    padding:9px 0;
    background:rgba(255,255,255,.98);
    box-shadow:0 10px 35px rgba(52,43,31,.10);
}

.brand-icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-right:14px;
    border:2px solid var(--gold);
    border-radius:50%;
    background:var(--white);
    color:var(--gold-dark);
    font-family:'Cormorant Garamond',serif;
    font-size:30px;
    font-weight:700;
    box-shadow:0 7px 20px rgba(184,148,82,.12);
}

.brand-text h4{
    margin:0;
    color:var(--heading);
    font-size:27px;
    line-height:1;
    letter-spacing:3px;
}

.brand-text span{
    display:block;
    margin-top:5px;
    color:var(--gold-dark);
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.luxury-navbar .navbar-nav .nav-link{
    position:relative;
    margin:0 10px;
    padding:12px 5px;
    color:var(--charcoal)!important;
    font-size:14px;
    font-weight:600;
}

.luxury-navbar .navbar-nav .nav-link::after{
    position:absolute;
    right:50%;
    bottom:4px;
    left:50%;
    height:1px;
    content:"";
    background:var(--gold);
    transition:var(--transition);
}

.luxury-navbar .navbar-nav .nav-link:hover{
    color:var(--gold-dark)!important;
}

.luxury-navbar .navbar-nav .nav-link:hover::after{
    right:5px;
    left:5px;
}

.luxury-navbar .navbar-toggler{
    border:1px solid var(--border-dark);
    box-shadow:none;
}

.luxury-navbar .navbar-toggler-icon{
    filter:invert(1);
}

/* ==========================================================
   Homepage Hero
========================================================== */

.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        url("../images/hero.jpg")
        center center/cover no-repeat;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(36,31,25,.76) 0%,
            rgba(36,31,25,.48) 52%,
            rgba(36,31,25,.20) 100%
        );
}

.hero .container{
    position:relative;
    z-index:2;
}

.hero .row{
    padding-top:90px;
    padding-bottom:150px;
}

.hero-subtitle{
    display:inline-block;
    color:#ead8b3;
    font-size:13px;
    font-weight:700;
    letter-spacing:6px;
}

.hero h1{
    max-width:900px;
    margin:18px 0 25px;
    color:var(--white);
    font-size:clamp(54px,7vw,90px);
    line-height:1.02;
    text-shadow:0 4px 28px rgba(0,0,0,.18);
}

.hero p{
    max-width:680px;
    margin-bottom:38px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.85;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.booking-strip{
    position:absolute;
    right:0;
    bottom:32px;
    left:0;
    z-index:3;
    width:calc(100% - 80px);
    max-width:1320px;
    margin:auto;
    padding:24px;
    border:1px solid rgba(255,255,255,.65);
    border-radius:20px;
    background:rgba(255,255,255,.95);
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(15px);
}

.booking-strip .form-control,
.booking-strip .form-select{
    min-height:56px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--cream);
    color:var(--charcoal);
    box-shadow:none;
}

.booking-strip .form-control:focus,
.booking-strip .form-select:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(184,148,82,.14);
}

.scroll-down{
    position:absolute;
    bottom:5px;
    left:50%;
    z-index:4;
    color:var(--white);
    font-size:19px;
    animation:bounce 2s infinite;
}

@keyframes bounce{
    0%,
    20%,
    50%,
    80%,
    100%{
        transform:translate(-50%,0);
    }

    40%{
        transform:translate(-50%,-10px);
    }

    60%{
        transform:translate(-50%,-5px);
    }
}

/* ==========================================================
   Homepage About
========================================================== */

.about-home{
    padding:120px 0;
    background:var(--cream);
}

.about-home h2{
    margin-bottom:25px;
    color:var(--heading);
    font-size:clamp(44px,5vw,64px);
    line-height:1.08;
}

.about-home > .container > .row > div:last-child > p{
    color:var(--text);
    font-size:17px;
    line-height:1.95;
}

.about-images{
    position:relative;
    padding-right:70px;
    padding-bottom:45px;
}

.img-large img{
    width:100%;
    min-height:560px;
    object-fit:cover;
    border-radius:24px;
    box-shadow:var(--shadow-lg);
}

.img-small{
    position:absolute;
    right:0;
    bottom:0;
    width:255px;
}

.img-small img{
    width:100%;
    height:290px;
    object-fit:cover;
    border:9px solid var(--cream);
    border-radius:22px;
    box-shadow:var(--shadow);
}

.stat-box{
    height:100%;
    padding:24px 18px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--white);
    text-align:center;
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}

.stat-box:hover{
    border-color:var(--gold-light);
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}

.stat-box h3{
    margin-bottom:3px;
    color:var(--gold-dark);
    font-size:42px;
}

.stat-box p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

/* ==========================================================
   Homepage Featured Hotels
========================================================== */

.featured-hotels{
    padding:115px 0;
    background:var(--ivory);
}

.featured-hotels h2{
    margin-bottom:15px;
    font-size:clamp(44px,5vw,64px);
}

.featured-hotels .text-center > p{
    max-width:720px;
    margin:0 auto;
    color:var(--muted);
    font-size:17px;
}

.hotel-card{
    height:100%;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--white);
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}

.hotel-card:hover{
    border-color:var(--gold-light);
    transform:translateY(-9px);
    box-shadow:var(--shadow-lg);
}

.hotel-image{
    position:relative;
    height:290px;
    overflow:hidden;
}

.hotel-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;
}

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

.hotel-rating{
    position:absolute;
    top:18px;
    right:18px;
    padding:8px 14px;
    border-radius:30px;
    background:rgba(255,255,255,.93);
    color:var(--gold-dark);
    font-size:14px;
    font-weight:700;
    box-shadow:var(--shadow-sm);
}

.hotel-content{
    padding:29px;
}

.hotel-content h3{
    margin-bottom:9px;
    font-size:33px;
    line-height:1.12;
}

.hotel-location{
    margin-bottom:14px;
    color:var(--gold-dark)!important;
    font-weight:600;
}

.hotel-content > p{
    color:var(--muted);
    line-height:1.75;
}

.hotel-buttons{
    display:flex;
    gap:11px;
    margin-top:24px;
}

.hotel-buttons .btn{
    flex:1;
    padding:11px 12px;
}

/* ==========================================================
   Hotels Listing Page
========================================================== */

.hotels-page-hero{
    position:relative;
    min-height:58vh;
    display:flex;
    align-items:center;
    padding:165px 0 90px;
    color:var(--white);
    background:
        url("../images/hero.jpg")
        center center/cover no-repeat;
}

.hotels-page-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(41,34,27,.74),
            rgba(41,34,27,.31)
        );
}

.hotels-page-heading{
    max-width:780px;
}

.hotels-page-heading .section-subtitle{
    color:#ead8b3;
}

.hotels-page-heading h1{
    margin:16px 0 20px;
    color:var(--white);
    font-size:clamp(58px,8vw,96px);
    line-height:1;
}

.hotels-page-heading p{
    max-width:680px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.85;
}

.hotels-listing-section{
    padding:110px 0;
    background:var(--ivory);
}

.hotels-intro{
    max-width:860px;
    margin:0 auto 58px;
}

.hotels-intro h2{
    margin-bottom:17px;
    font-size:clamp(43px,5vw,62px);
}

.hotels-intro p{
    color:var(--muted);
    font-size:17px;
    line-height:1.8;
}

.hotel-list-card{
    height:100%;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--white);
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}

.hotel-list-card:hover{
    border-color:var(--gold-light);
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

.hotel-list-image{
    position:relative;
    display:block;
    height:300px;
    overflow:hidden;
}

.hotel-list-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;
}

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

.hotel-list-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to top,
            rgba(30,24,18,.42),
            transparent 55%
        );
}

.hotel-list-rating{
    position:absolute;
    top:18px;
    right:18px;
    padding:8px 13px;
    border-radius:30px;
    background:rgba(255,255,255,.94);
    color:var(--gold-dark);
    font-weight:700;
    box-shadow:var(--shadow-sm);
}

.hotel-featured-label{
    position:absolute;
    top:18px;
    left:18px;
    padding:8px 14px;
    border-radius:30px;
    background:var(--gold);
    color:var(--white);
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hotel-list-content{
    padding:29px;
}

.hotel-list-content h3{
    margin-bottom:10px;
    font-size:34px;
    line-height:1.12;
}

.hotel-list-content h3 a{
    color:var(--heading);
}

.hotel-list-content h3 a:hover{
    color:var(--gold-dark);
}

.hotel-list-location{
    margin-bottom:16px;
    color:var(--muted);
    font-size:14px;
}

.hotel-list-location i{
    margin-right:7px;
    color:var(--gold-dark);
}

.hotel-list-content > p{
    min-height:88px;
    color:var(--muted);
    line-height:1.8;
}

.hotel-list-actions{
    display:flex;
    gap:11px;
    margin-top:24px;
}

.hotel-list-actions .btn{
    flex:1;
    padding:11px 12px;
}

.empty-hotels{
    max-width:650px;
    margin:auto;
    padding:68px 30px;
    border:1px solid var(--border);
    border-radius:24px;
    background:var(--white);
    text-align:center;
    box-shadow:var(--shadow);
}

.empty-hotels i{
    margin-bottom:20px;
    color:var(--gold-dark);
    font-size:58px;
}

.empty-hotels h3{
    margin-bottom:10px;
    font-size:40px;
}

.empty-hotels p{
    margin-bottom:25px;
    color:var(--muted);
}

.hotels-direct-booking{
    padding:85px 0;
    border-top:1px solid var(--border);
    background:var(--cream);
    color:var(--charcoal);
}

.hotels-direct-booking .section-subtitle{
    color:var(--gold-dark);
}

.hotels-direct-booking h2{
    margin-bottom:14px;
    color:var(--heading);
    font-size:clamp(40px,5vw,58px);
}

.hotels-direct-booking p{
    margin-bottom:0;
    color:var(--muted);
    font-size:17px;
}

.hotels-direct-booking .btn-outline-light{
    border-color:var(--charcoal);
    color:var(--charcoal);
}

.hotels-direct-booking .btn-outline-light:hover{
    background:var(--charcoal);
    color:var(--white);
}

/* ==========================================================
   Booking Page
========================================================== */

.booking-page-hero{
    position:relative;
    min-height:52vh;
    display:flex;
    align-items:center;
    padding:165px 0 88px;
    color:var(--white);
    background:
        url("../images/hero.jpg")
        center center/cover no-repeat;
}

.booking-page-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(41,34,27,.76),
            rgba(41,34,27,.32)
        );
}

.booking-page-hero .section-subtitle{
    color:#ead8b3;
}

.booking-page-hero h1{
    margin:17px 0;
    color:var(--white);
    font-size:clamp(58px,8vw,92px);
    line-height:1;
}

.booking-page-hero p{
    max-width:650px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.8;
}

.booking-page-section{
    padding:100px 0;
    background:var(--ivory);
}

.booking-form-card,
.booking-help-card,
.booking-success-card{
    border:1px solid var(--border);
    border-radius:23px;
    background:var(--white);
    box-shadow:var(--shadow);
}

.booking-form-card{
    padding:44px;
}

.booking-form-heading{
    margin-bottom:34px;
}

.booking-form-heading h2{
    margin-bottom:12px;
    font-size:clamp(41px,5vw,58px);
}

.booking-form-heading p{
    color:var(--muted);
}

.form-label{
    margin-bottom:8px;
    color:var(--charcoal);
    font-weight:600;
}

.form-control,
.form-select{
    min-height:53px;
    border:1px solid var(--border-dark);
    border-radius:11px;
    background:var(--cream);
    color:var(--charcoal);
    box-shadow:none;
}

textarea.form-control{
    min-height:130px;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--gold);
    background:var(--white);
    box-shadow:0 0 0 3px rgba(184,148,82,.14);
}

.form-text{
    color:var(--muted);
}

.booking-divider{
    border-color:var(--border);
}

.booking-subheading{
    font-size:31px;
}

.booking-submit-btn{
    width:100%;
    min-height:58px;
}

.booking-disclaimer{
    margin:13px 0 0;
    color:var(--muted);
    font-size:13px;
    text-align:center;
}

.booking-help-card{
    position:sticky;
    top:120px;
    padding:38px;
}

.booking-help-card h3{
    margin-bottom:22px;
    font-size:38px;
}

.booking-help-card ul{
    margin:0 0 32px;
    padding:0;
    list-style:none;
}

.booking-help-card li{
    display:flex;
    gap:12px;
    margin-bottom:17px;
    color:var(--text);
}

.booking-help-card li i{
    margin-top:5px;
    color:var(--gold-dark);
}

.booking-contact-box{
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--ivory);
}

.booking-contact-box > i{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border-radius:50%;
    background:var(--gold);
    color:var(--white);
}

.booking-contact-box span{
    display:block;
    color:var(--muted);
    font-size:12px;
}

.booking-contact-box a{
    color:var(--charcoal);
    font-size:13px;
    font-weight:600;
    word-break:break-word;
}

.booking-success-card{
    max-width:780px;
    margin:auto;
    padding:65px 45px;
    text-align:center;
}

.booking-success-icon,
.contact-success-icon{
    width:88px;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    border-radius:50%;
    background:#edf7f0;
    color:var(--success);
    font-size:36px;
}

.booking-success-card h2{
    margin-bottom:17px;
    font-size:clamp(42px,5vw,60px);
}

.booking-success-card > p{
    color:var(--muted);
    font-size:17px;
}

.booking-reference{
    max-width:430px;
    margin:28px auto;
    padding:21px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--ivory);
}

.booking-reference span{
    display:block;
    margin-bottom:6px;
    color:var(--muted);
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.booking-reference strong{
    color:var(--gold-dark);
    font-size:28px;
    letter-spacing:2px;
}

/* ==========================================================
   Contact Page
========================================================== */

.contact-page-hero{
    position:relative;
    min-height:52vh;
    display:flex;
    align-items:center;
    padding:165px 0 88px;
    color:var(--white);
    background:
        url("../images/hero.jpg")
        center center/cover no-repeat;
}

.contact-page-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(41,34,27,.76),
            rgba(41,34,27,.32)
        );
}

.contact-page-hero .section-subtitle{
    color:#ead8b3;
}

.contact-page-hero h1{
    margin:17px 0;
    color:var(--white);
    font-size:clamp(58px,8vw,92px);
    line-height:1;
}

.contact-page-hero p{
    max-width:680px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.8;
}

.contact-page-section{
    padding:100px 0;
    background:var(--ivory);
}

.contact-form-card,
.contact-information-card,
.contact-success-card{
    border:1px solid var(--border);
    border-radius:23px;
    background:var(--white);
    box-shadow:var(--shadow);
}

.contact-form-card{
    padding:44px;
}

.contact-form-card h2{
    margin-bottom:13px;
    font-size:clamp(42px,5vw,60px);
}

.contact-form-intro{
    margin-bottom:33px;
    color:var(--muted);
}

.contact-submit-btn{
    width:100%;
    min-height:58px;
}

.contact-information-card{
    position:sticky;
    top:120px;
    padding:39px;
}

.contact-information-card h3{
    margin-bottom:17px;
    font-size:41px;
}

.contact-information-card > p{
    margin-bottom:29px;
    color:var(--muted);
}

.contact-information-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:20px 0;
    border-bottom:1px solid var(--border);
}

.contact-information-icon{
    width:47px;
    height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border-radius:50%;
    background:var(--gold);
    color:var(--white);
}

.contact-information-item span{
    display:block;
    color:var(--muted);
    font-size:12px;
}

.contact-information-item a{
    color:var(--charcoal);
    font-weight:600;
    word-break:break-word;
}

.contact-hours{
    margin-top:27px;
    padding:22px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--ivory);
}

.contact-hours h4{
    margin-bottom:8px;
    font-size:27px;
}

.contact-hours p{
    margin:0;
    color:var(--muted);
}

.contact-success-card{
    max-width:760px;
    margin:auto;
    padding:65px 45px;
    text-align:center;
}

.contact-success-card h2{
    margin-bottom:16px;
    font-size:clamp(42px,5vw,60px);
}

.contact-success-card p{
    max-width:590px;
    margin:0 auto 29px;
    color:var(--muted);
    font-size:17px;
}

.contact-cta-section{
    padding:88px 0;
    border-top:1px solid var(--border);
    background:var(--cream);
    color:var(--charcoal);
}

.contact-cta-section h2{
    margin-bottom:15px;
    font-size:clamp(42px,5vw,62px);
}

.contact-cta-section p{
    max-width:650px;
    margin:0 auto 30px;
    color:var(--muted);
    font-size:17px;
}

.contact-cta-section .btn-outline-light{
    border-color:var(--charcoal);
    color:var(--charcoal);
}

.contact-cta-section .btn-outline-light:hover{
    background:var(--charcoal);
    color:var(--white);
}

/* ==========================================================
   Hotel Details Helpers
========================================================== */

.hotel-detail-hero{
    color:var(--white);
}

.hotel-detail-hero h1{
    color:var(--white);
}

.hotel-detail-hero .section-subtitle{
    color:#ead8b3;
}

iframe{
    max-width:100%;
}

/* ==========================================================
   Footer
========================================================== */

.footer-section{
    padding:75px 0 28px;
    border-top:1px solid var(--border);
    background:#eee7dc;
    color:var(--text);
}

.footer-logo{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--gold);
    border-radius:50%;
    background:var(--white);
    color:var(--gold-dark);
    font-family:'Cormorant Garamond',serif;
    font-size:30px;
    font-weight:700;
}

.footer-brand h3{
    margin:0;
    color:var(--heading);
    font-size:31px;
    letter-spacing:3px;
}

.footer-brand span{
    color:var(--gold-dark);
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.footer-text{
    max-width:430px;
    margin-top:19px;
    color:var(--muted);
    line-height:1.85;
}

.footer-section h5{
    margin-bottom:19px;
    color:var(--heading);
    font-size:23px;
}

.footer-links,
.footer-contact{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-links li,
.footer-contact li{
    margin-bottom:12px;
    color:var(--muted);
}

.footer-links a{
    color:var(--muted);
}

.footer-links a:hover{
    color:var(--gold-dark);
}

.footer-contact i{
    width:23px;
    color:var(--gold-dark);
}

.social-icons{
    margin-top:23px;
}

.social-icons a{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:8px;
    border:1px solid var(--border-dark);
    border-radius:50%;
    background:rgba(255,255,255,.48);
    color:var(--charcoal);
}

.social-icons a:hover{
    border-color:var(--gold);
    background:var(--gold);
    color:var(--white);
    transform:translateY(-2px);
}

.footer-section hr{
    margin:44px 0 22px;
    border-color:var(--border-dark);
    opacity:1;
}

.copyright{
    color:var(--muted);
    font-size:13px;
    text-align:center;
}

/* ==========================================================
   Alerts
========================================================== */

.alert{
    border:0;
    border-radius:13px;
    box-shadow:var(--shadow-sm);
}

.alert-danger{
    background:#fff0f0;
    color:#7b2626;
}

.alert-success{
    background:#edf8f1;
    color:#205b37;
}

/* ==========================================================
   Responsive
========================================================== */

@media(max-width:1199px){

    .booking-strip{
        width:calc(100% - 40px);
    }

    .luxury-navbar .navbar-nav .nav-link{
        margin:0 6px;
    }
}

@media(max-width:991px){

    .luxury-navbar{
        background:rgba(255,255,255,.98);
    }

    .luxury-navbar .navbar-collapse{
        margin-top:14px;
        padding:18px;
        border:1px solid var(--border);
        border-radius:16px;
        background:var(--white);
        box-shadow:var(--shadow);
    }

    .luxury-navbar .navbar-nav .nav-link{
        margin:0;
        padding:11px 3px;
    }

    .luxury-navbar .navbar-nav .nav-link::after{
        display:none;
    }

    .luxury-navbar .btn-gold{
        width:100%;
        margin-top:8px;
    }

    .hero{
        min-height:auto;
        text-align:center;
    }

    .hero .row{
        min-height:760px!important;
        padding-top:145px;
        padding-bottom:55px;
    }

    .hero p{
        margin-right:auto;
        margin-left:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .booking-strip{
        position:relative;
        right:auto;
        bottom:auto;
        left:auto;
        width:calc(100% - 30px);
        margin:-70px auto 50px;
        transform:none;
    }

    .scroll-down{
        display:none;
    }

    .about-home{
        padding:90px 0;
    }

    .about-images{
        margin-bottom:85px;
    }

    .hotels-page-hero,
    .booking-page-hero,
    .contact-page-hero{
        min-height:50vh;
        text-align:center;
    }

    .hotels-page-heading{
        margin:auto;
    }

    .hotels-direct-booking{
        text-align:center;
    }

    .hotels-direct-booking p{
        margin-bottom:24px;
    }

    .booking-help-card,
    .contact-information-card{
        position:static;
    }

    .footer-section{
        text-align:left;
    }
}

@media(max-width:767px){

    .brand-icon{
        width:46px;
        height:46px;
        font-size:25px;
    }

    .brand-text h4{
        font-size:21px;
        letter-spacing:2px;
    }

    .brand-text span{
        font-size:8px;
        letter-spacing:3px;
    }

    .hero .row{
        min-height:700px!important;
    }

    .hero h1{
        font-size:50px;
    }

    .hero p{
        font-size:16px;
    }

    .booking-strip{
        padding:19px;
    }

    .about-images{
        padding-right:30px;
    }

    .img-large img{
        min-height:430px;
    }

    .img-small{
        width:195px;
    }

    .img-small img{
        height:220px;
    }

    .hotel-list-image{
        height:265px;
    }

    .hotel-list-content > p{
        min-height:auto;
    }

    .hotel-list-actions,
    .hotel-buttons{
        flex-direction:column;
    }

    .booking-form-card,
    .contact-form-card{
        padding:30px 22px;
    }

    .booking-help-card,
    .contact-information-card{
        padding:30px 23px;
    }
}

@media(max-width:575px){

    .luxury-navbar{
        padding:10px 0;
    }

    .hero .row{
        min-height:640px!important;
        padding-top:130px;
    }

    .hero h1{
        font-size:42px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .hero-buttons .btn{
        width:100%;
        margin:0!important;
    }

    .about-home,
    .featured-hotels,
    .hotels-listing-section,
    .booking-page-section,
    .contact-page-section{
        padding:70px 0;
    }

    .about-images{
        padding-right:0;
        padding-bottom:0;
        margin-bottom:38px;
    }

    .img-large img{
        min-height:380px;
    }

    .img-small{
        display:none;
    }

    .stat-box h3{
        font-size:35px;
    }

    .hotel-image,
    .hotel-list-image{
        height:245px;
    }

    .hotels-page-hero,
    .booking-page-hero,
    .contact-page-hero{
        min-height:46vh;
        padding:140px 0 65px;
    }

    .booking-form-card,
    .contact-form-card,
    .booking-help-card,
    .contact-information-card,
    .booking-success-card,
    .contact-success-card{
        padding:28px 19px;
    }

    .footer-section{
        padding-top:60px;
    }
}