/* Bootstrap luxury hotel overrides & variables */
body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    background: #f5f5f2;
    color: #231f20;
}
a {
    color: #ad9546;
    text-decoration: none;
    transition: color 0.18s;
}
a:hover, .navbar-brand:hover {
    color: #946718;
}

/* Header/Navbar */
.luxury-navbar {
    background: #fffbea;
    border-bottom: 2px solid #eddcae;
    box-shadow: 0 2px 14px rgba(173,149,70,0.05);
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    min-height: 72px;
    letter-spacing: 0.02em;
}
.luxury-navbar .navbar-brand {
    font-family: 'Georgia', serif;
    font-size: 1.6em;
    color: #ad9546;
    font-weight: 700;
}
.luxury-navbar .logo {
    border-radius: 12px;
    box-shadow: 0 1px 8px rgba(173,149,70,0.07);
    background: #fff4dc;
    padding: 3px;
}
.luxury-navbar .brand-title {
    color: #89795b;
    letter-spacing: 0.03em;
    font-size: 1.18em;
    font-weight: 700;
}
.luxury-navbar .navbar-nav .nav-link {
    color: #401f0f;
    font-size: 1.12em;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 500;
    padding: 9px 18px;
    margin-right: 2px;
    border-radius: 9px;
    transition: background .13s, color .18s;
}
.luxury-navbar .navbar-nav .nav-link.active,
.luxury-navbar .navbar-nav .nav-link:hover {
    background: #eddcae;
    color: #ad9546;
}
.luxury-navbar .navbar-toggler {
    border: none;
    background: none;
}
@media (max-width: 900px) {
    .luxury-navbar .navbar-nav .nav-link {
        font-size: 1em;
        padding: 8px 14px;
    }
    .luxury-navbar .navbar-brand {
        font-size: 1.15em;
    }
}

/* Main Content */
main {
    max-width: 1160px;
    margin: 0 auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    padding: 40px 20px 30px 20px;
}
h1, h2 {
    font-family: 'Georgia', serif;
    color: #89795b;
    margin-bottom: 24px;
    font-weight: 700;
}
h1 {
    font-size: 2.7em;
}
h2 {
    font-size: 2em;
}
.lead {
    font-size: 1.2em;
    margin-bottom: 18px;
    color: #231f20;
}

/* Hero Image */
.hero img {
    width: 100%;
    max-height: 340px;
    object-fit: cover;
    border-radius: 15px;
    box-shadow: 0 2px 8px rgba(173, 149, 70, 0.12);
}
.hero h1 {
    margin-top: 24px;
}

section {
    margin-bottom: 34px;
}
section.contact address {
    font-style: normal;
    margin-bottom: 14px;
}
.form-label {
    font-weight: 500;
    color: #946718;
}
.form-control, textarea {
    border-radius: 8px;
    border: 1px solid #e6e2d3;
    font-size: 1em;
}
.btn-primary {
    background: #ad9546;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    padding: 10px 32px;
    box-shadow: 0 2px 4px rgba(173, 149, 70, 0.08);
}
.btn-primary:hover {
    background: #946718;
}

/* Cards, Images, Icon Blocks */
.img-fluid {
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(173, 149, 70, 0.07);
}

/* Footer */
footer {
    background: #f4f2e4;
    color: #231f20;
    border-top: 1px solid #edead7;
}
footer nav a {
    color: #ad9546;
    margin-right: 8px;
    font-weight: 500;
}
footer nav a:last-child {
    margin-right: 0;
}
footer span {
    font-size: 1em;
    margin-right: 12px;
}
@media (max-width: 900px) {
    main, .container {
        padding: 16px 5px 22px 5px;
    }
    h1 {
        font-size: 2em;
    }
    h2 {
        font-size: 1.4em;
    }
    .hero img {
        max-height: 190px;
    }
}

/* Utility classes */
.highlight {
    background: #ffeecc;
    border-radius: 5px;
    padding: 2px 8px;
    color: #ad9546;
}
