:root {
    --brand: #16a34a;
    /* verde */
    --brand-2: #0ea5e9;
    /* azul acento */
    --ink: #0b1220;
    --hero: #06141f;
}

html,
body {
    height: 100%;
}

body {
    padding-top: 71px;
}

/* navbar fixed */

.text-white-75 {
    color: rgba(255, 255, 255, .78) !important;
}

/* Brand */
.btn-brand {
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    border: 0;
    color: #fff;
}

.btn-brand:hover {
    filter: brightness(1.05);
    color: #fff;
}

.brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    display: inline-block;
}

/* Navbar glass */
.nav-glass {
    backdrop-filter: blur(12px);
    background: #000000;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.nav-link {
    color: #FFFFFF;
    font-weight: bold;
    text-transform: uppercase;
}

.nav-link:focus,
.nav-link:hover {
    color: #B5FF00;
    text-decoration: underline;
    text-underline-offset: 7px;
}

.nav-link-active {
    color: #B5FF00;
    text-decoration: underline;
    text-underline-offset: 7px;
}

/* Sections */
.section-pad {
    padding: 4rem 0;
}

@media (max-width: 576px) {
    .section-pad {
        padding: 3rem 0;
    }
}

/* Hero */
.hero {
    position: relative;
    padding: 12.5rem 0 10.5rem;
    background: radial-gradient(1200px 600px at 70% 20%, rgba(14, 165, 233, .25), transparent 60%),
        radial-gradient(900px 500px at 30% 70%, rgba(22, 163, 74, .25), transparent 60%),
        linear-gradient(180deg, #000000, #000000);
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(180deg, rgba(0, 0, 0, .0), rgba(0, 0, 0, .35)),
        url("../img/index/principal.jpg");
    background-size: cover;
    background-position: center;
    opacity: .55;
}

.hero .container {
    z-index: 1;
}

.hero-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    background: linear-gradient(180deg, transparent, #fff);
    opacity: .55;
}

/* Cards */
.card-hover {
    transition: transform .2s ease, box-shadow .2s ease;
}

.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .12) !important;
}

.img-cover {
    height: 210px;
    object-fit: cover;
}

@media (max-width: 576px) {
    .img-cover {
        height: 190px;
    }
}

.card-glass {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #fff;
}

.badge-soft {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    padding: .5rem .75rem;
    border-radius: 999px;
    font-weight: 600;
}

/* Page headers */
.page-hero {
    padding: 6.25rem 0 6.5rem;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .65)),
        url("../img/index/principal.jpg");
    background-size: cover;
    background-position: center;
    opacity: .99;
}

.page-hero--lodging {
    background-image:
        linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .65)),
        url("https://images.unsplash.com/photo-1445019980597-93fa8acb246c?auto=format&fit=crop&w=1800&q=70");
    background-size: cover;
    background-position: center;
}

.page-hero--contact {
    background-image:
        linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .65)),
        url("https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1800&q=70");
    background-size: cover;
    background-position: center;
}

/* Detail hero */
.detail-hero {
    position: relative;
    padding: 4.75rem 0 12.75rem;
    background: linear-gradient(180deg, #071827, #06141f);
    overflow: hidden;
}

.detail-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .55;
    filter: saturate(1.05);
}

.detail-hero .container {
    z-index: 1;
    position: relative;
}

.booking-sticky {
    top: 92px;
    /* keep below navbar */
}

.lead-text {
    font-weight: 600;
}

/* CTA band */
.cta-band {
    background: linear-gradient(135deg, rgba(22, 163, 74, .85), rgba(14, 165, 233, .75));
}

.cta-glow {
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .35), transparent 55%);
    transform: rotate(10deg);
    pointer-events: none;
}

/* Footer */
.footer-dark {
    /* background: #071827; */
    background: #B5FF00;
}

.footer-link {
    color: #000000;
    text-decoration: none;
}

.footer-link:hover {
    color: #fff;
}

/* Chips */
.search-chip {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .85);
    border-radius: 999px;
    padding: .6rem .9rem;
}

/* Check list */
.list-check {
    padding-left: 1rem;
}

.list-check li {
    margin: .35rem 0;
}

.list-check li::marker {
    content: "✓  ";
    color: var(--brand);
    font-weight: 700;
}