:root {
    --brand: #c99a5a;
    --brand-dark: #b28345;
    --txt: #f2f2f2;
    --muted: #bdbdbd;
    --bg: #111111;
    --bg-2: #181818;
    --card: #202020;
    --ring: rgba(201,154,90,.25);
    --ok: #16a34a;
    --warn: #f59e0b;
    --err: #ef4444;
}

html, body {
    height: 100%;
    background: var(--bg);
    color: var(--txt);
}

body {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
}

h1, h2, h3, .brand {
    font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
}

/* NAVBAR */
.navbar {
    background: #0b0b0b !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: .3px;
    color: var(--txt) !important
}

.nav-link {
    color: #d9d9d9 !important
}

    .nav-link:hover {
        color: var(--brand) !important
    }

.navbar-toggler {
    border-color: rgba(255,255,255,.2)
}

.navbar-toggler-icon {
    filter: invert(1) contrast(1.2);
}

/* HERO */
.hero {
    position: relative;
    min-height: 88vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #f4f4f4;
    background: radial-gradient(60% 60% at 80% 0%, rgba(201,154,90,.12), transparent 60%), radial-gradient(40% 40% at 0% 100%, rgba(201,154,90,.10), transparent 60%), #0d0d0d;
}

    .hero:before {
        content: "";
        position: absolute;
        inset: 0;
        background: url('https://images.unsplash.com/photo-1621600411685-8ac6b5519ac9?q=80&w=1600&auto=format&fit=crop') center no-repeat;
        opacity: .22;
        filter: saturate(1.15) contrast(1.1);
    }

.hero-inner {
    position: relative;
    z-index: 2;
}

.glass {
    backdrop-filter: blur(10px);
    background: rgba(24,24,24,.75);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 20px;
    box-shadow: 0 30px 70px rgba(0,0,0,.45);
}

/* BUTTONS */
.btn-brand {
    background: var(--brand);
    color: #0d0d0d;
    border: none;
    padding: .9rem 1.2rem;
    border-radius: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
    box-shadow: 0 10px 30px rgba(201,154,90,.25);
}

    .btn-brand:hover {
        background: var(--brand-dark);
        transform: translateY(-1px);
        box-shadow: 0 14px 34px rgba(201,154,90,.4);
    }

.btn-ghost {
    color: var(--txt);
    border: 1px solid rgba(255,255,255,.15)
}

    .btn-ghost:hover {
        border-color: var(--brand);
        color: var(--brand)
    }

section {
    padding: clamp(48px, 6vw, 88px) 0;
    background: var(--bg);
}

    section.alt {
        background: var(--bg-2);
    }

.card-service {
    background: var(--card);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
    transition: transform .15s ease, box-shadow .2s ease;
    overflow: hidden
}

    .card-service:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 36px rgba(0,0,0,.55);
    }

.price {
    color: var(--brand);
    font-weight: 800;
}

.schedule li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(255,255,255,.08);
    padding: .5rem 0;
    color: #e6e6e6
}

.map {
    border: 0;
    width: 100%;
    min-height: 320px;
    border-radius: 16px;
    filter: grayscale(.2) contrast(1.05);
}

.form-control, .form-select {
    color: #eee;
    background: #151515;
    border: 1px solid rgba(255,255,255,.12)
}

    .form-control::placeholder {
        color: #8e8e8e
    }

    .form-control:focus, .form-select:focus {
        color: #fff;
        border-color: var(--brand);
        box-shadow: 0 0 0 .25rem rgba(201,154,90,.15)
    }

footer {
    background: #0a0a0a;
    color: #c9c9c9;
}

    footer a {
        color: var(--brand);
        text-decoration: none
    }

        footer a:hover {
            text-decoration: underline
        }

.wa-float {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: .6rem;
    background: #25D366;
    color: #0b0b0b;
    border-radius: 999px;
    padding: .8rem 1rem;
    box-shadow: 0 14px 34px rgba(37,211,102,.35);
    font-weight: 700;
}

    .wa-float img {
        width: 24px;
        height: 24px
    }

    .wa-float:hover {
        filter: brightness(.95)
    }

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: all .6s ease
}

    .reveal.show {
        opacity: 1;
        transform: none
    }

.badge-soft {
    background: rgba(201,154,90,.15);
    color: var(--brand);
    border: 1px solid rgba(201,154,90,.3);
    border-radius: 999px;
    padding: .35rem .6rem;
    font-weight: 600
}

.alert-inline {
    display: none
}
/* GALERÍA */
.gallery-card .thumb {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #151515;
    border: 1px solid rgba(255,255,255,.06);
}

.gallery-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 1/1;
    transition: transform .35s ease;
}

.gallery-card:hover img {
    transform: scale(1.05);
}

.gallery-chip {
    position: absolute;
    left: 10px;
    bottom: 10px;
    background: rgba(0,0,0,.55);
    color: #eee;
    border: 1px solid rgba(255,255,255,.12);
    padding: .25rem .5rem;
    border-radius: 999px;
    font-size: .8rem;
    backdrop-filter: blur(4px);
}
.text-muted {
    color: rgba(255, 255, 255, 0.65) !important; /* Más claro para mayor contraste */
}
