/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-wfwlxdjt09] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-wfwlxdjt09] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/Navbar/Navbar.razor.rz.scp.css */
/* =========================================================
   NAVBAR
   ========================================================= */

.navbar[b-nt9ti4obcz] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4000;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    background: rgba(7, 7, 9, 0.7);
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
}

.navbar__container[b-nt9ti4obcz] {
    min-height: 4.4rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
}


/* =========================================================
   MARCA
   ========================================================= */

.navbar__brand[b-nt9ti4obcz] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #ffffff;
    text-decoration: none;
}

.navbar__brand-icon[b-nt9ti4obcz] {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, 0.23);
    border-radius: 50%;
    color: #f5d76e;
    background: linear-gradient( 145deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.03) );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.navbar__brand-text[b-nt9ti4obcz] {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

    .navbar__brand-text strong[b-nt9ti4obcz] {
        color: #ffffff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.18rem;
    }

    .navbar__brand-text small[b-nt9ti4obcz] {
        margin-top: 0.2rem;
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        text-transform: uppercase;
    }


/* =========================================================
   NAVEGACIÓN DE ESCRITORIO
   ========================================================= */

.navbar__desktop[b-nt9ti4obcz] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.4rem, 3vw, 2.8rem);
}

    .navbar__desktop a[b-nt9ti4obcz] {
        position: relative;
        padding: 0.6rem 0;
        color: rgba(255, 255, 255, 0.76);
        font-size: 0.84rem;
        font-weight: 650;
        text-decoration: none;
        transition: color 0.25s ease;
    }

        .navbar__desktop a[b-nt9ti4obcz]::after {
            content: "";
            position: absolute;
            left: 50%;
            bottom: 0;
            width: 0;
            height: 2px;
            border-radius: 999px;
            background: linear-gradient( 90deg, #b8861f, #f5d76e );
            transform: translateX(-50%);
            transition: width 0.25s ease;
        }

        .navbar__desktop a:hover[b-nt9ti4obcz] {
            color: #ffffff;
        }

            .navbar__desktop a:hover[b-nt9ti4obcz]::after {
                width: 100%;
            }


/* =========================================================
   BOTÓN DE COTIZACIÓN
   ========================================================= */

.navbar__cta[b-nt9ti4obcz] {
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.78rem 1.45rem;
    border-radius: 999px;
    color: #111111;
    background: linear-gradient( 135deg, #d4af37, #f5d76e );
    box-shadow: 0 14px 34px rgba(212, 175, 55, 0.2);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .navbar__cta:hover[b-nt9ti4obcz] {
        transform: translateY(-2px);
        box-shadow: 0 20px 44px rgba(212, 175, 55, 0.3);
    }


/* =========================================================
   BOTÓN HAMBURGUESA
   ========================================================= */

.navbar__toggle[b-nt9ti4obcz] {
    width: 3rem;
    height: 3rem;
    display: none;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 50%;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.045);
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

    .navbar__toggle:hover[b-nt9ti4obcz] {
        border-color: rgba(212, 175, 55, 0.38);
        background: rgba(212, 175, 55, 0.09);
    }

    .navbar__toggle:active[b-nt9ti4obcz] {
        transform: scale(0.94);
    }

.navbar__toggle-lines[b-nt9ti4obcz] {
    position: relative;
    width: 1.25rem;
    height: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .navbar__toggle-lines > span[b-nt9ti4obcz] {
        width: 100%;
        height: 2px;
        display: block;
        border-radius: 999px;
        background: currentColor;
        transform-origin: center;
        transition: transform 0.3s ease, opacity 0.2s ease, width 0.3s ease;
    }

.navbar--menu-open
.navbar__toggle-lines > span:nth-child(1)[b-nt9ti4obcz] {
    transform: translateY(7px) rotate(45deg);
}

.navbar--menu-open
.navbar__toggle-lines > span:nth-child(2)[b-nt9ti4obcz] {
    opacity: 0;
    transform: scaleX(0);
}

.navbar--menu-open
.navbar__toggle-lines > span:nth-child(3)[b-nt9ti4obcz] {
    transform: translateY(-7px) rotate(-45deg);
}

/* =========================================================
   CAPA MÓVIL
   ========================================================= */

.navbar__mobile-layer[b-nt9ti4obcz] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: visibility 0s linear 0.4s, opacity 0.3s ease;
}

.navbar__mobile-layer--open[b-nt9ti4obcz] {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}


/* =========================================================
   FONDO OSCURO DETRÁS DEL PANEL
   ========================================================= */

.navbar__mobile-backdrop[b-nt9ti4obcz] {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    border: 0;
    background: rgba(2, 2, 4, 0.82);
    backdrop-filter: blur(10px) saturate(0.85);
    -webkit-backdrop-filter: blur(10px) saturate(0.85);
    cursor: default;
}


/* =========================================================
   PANEL DEL MENÚ
   Fondo completamente sólido.
   ========================================================= */

.navbar__mobile-panel[b-nt9ti4obcz] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: min(88vw, 24rem);
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1.25rem 1.25rem 1.5rem;
    border-left: 1px solid rgba(255, 255, 255, 0.09);
    /*
     * Fondo sólido. No debe llevar opacidad.
     */
    background-color: #0b0910;
    background-image: radial-gradient( circle at 85% 12%, rgba(101, 42, 143, 0.22), transparent 36% ), radial-gradient( circle at 10% 88%, rgba(212, 175, 55, 0.11), transparent 40% ), linear-gradient( 160deg, #151119 0%, #0b0910 45%, #070709 100% );
    box-shadow: -35px 0 100px rgba(0, 0, 0, 0.72);
    opacity: 1;
    transform: translate3d(105%, 0, 0);
    transition: transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1);
    -webkit-overflow-scrolling: touch;
}

.navbar__mobile-layer--open
.navbar__mobile-panel[b-nt9ti4obcz] {
    transform: translate3d(0, 0, 0);
}


/* =========================================================
   CABECERA DEL PANEL
   ========================================================= */

.navbar__mobile-header[b-nt9ti4obcz] {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 1.15rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

    .navbar__mobile-header > span[b-nt9ti4obcz] {
        color: rgba(255, 255, 255, 0.52);
        font-size: 0.68rem;
        font-weight: 800;
        line-height: 1;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

.navbar__mobile-close[b-nt9ti4obcz] {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.055);
    font: inherit;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

    .navbar__mobile-close:hover[b-nt9ti4obcz] {
        color: #111111;
        border-color: #d4af37;
        background: #d4af37;
        transform: rotate(7deg);
    }


/* =========================================================
   ENLACES DEL MENÚ
   ========================================================= */

.navbar__mobile-links[b-nt9ti4obcz] {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: 0.35rem;
    margin-top: 1.35rem;
}

    .navbar__mobile-links a[b-nt9ti4obcz] {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.95rem 0.9rem;
        border: 1px solid transparent;
        border-radius: 1rem;
        color: rgba(255, 255, 255, 0.78);
        background: transparent;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.15rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: left;
        text-decoration: none;
        transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
    }

        .navbar__mobile-links a > span:first-child[b-nt9ti4obcz] {
            min-width: 0;
            text-align: left;
        }

        .navbar__mobile-links a > span:last-child[b-nt9ti4obcz] {
            flex: 0 0 auto;
            color: #d4af37;
            font-family: Arial, sans-serif;
            font-size: 1.25rem;
            font-weight: 400;
        }

        .navbar__mobile-links a:hover[b-nt9ti4obcz],
        .navbar__mobile-links a:focus-visible[b-nt9ti4obcz] {
            color: #ffffff;
            border-color: rgba(212, 175, 55, 0.24);
            background: rgba(212, 175, 55, 0.075);
            transform: translateX(4px);
        }


/* =========================================================
   BOTÓN PRINCIPAL DEL MENÚ
   ========================================================= */

.navbar__mobile-cta[b-nt9ti4obcz] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex: 0 0 auto;
    margin-top: 1.2rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
    color: #111111;
    background: linear-gradient( 135deg, #d4af37 0%, #f5d76e 100% );
    box-shadow: 0 18px 45px rgba(212, 175, 55, 0.2);
    font-size: 0.84rem;
    font-weight: 850;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .navbar__mobile-cta:hover[b-nt9ti4obcz] {
        transform: translateY(-2px);
        box-shadow: 0 24px 55px rgba(212, 175, 55, 0.3);
    }


/* =========================================================
   PIE DEL MENÚ
   ========================================================= */

.navbar__mobile-footer[b-nt9ti4obcz] {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: 0.35rem;
    margin-top: auto;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: left;
}

    .navbar__mobile-footer a[b-nt9ti4obcz] {
        color: #f5d76e;
        font-size: 0.75rem;
        font-weight: 700;
        text-decoration: none;
    }

    .navbar__mobile-footer span[b-nt9ti4obcz] {
        color: rgba(255, 255, 255, 0.34);
        font-size: 0.64rem;
        line-height: 1.5;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {
    .navbar[b-nt9ti4obcz] {
        padding: 0.65rem 0;
    }

    .navbar__container[b-nt9ti4obcz] {
        min-height: 3.8rem;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 1rem;
    }

    .navbar__desktop[b-nt9ti4obcz],
    .navbar__cta[b-nt9ti4obcz] {
        display: none;
    }

    .navbar__toggle[b-nt9ti4obcz] {
        display: grid;
    }
}

/*
 * En teléfonos hacemos que el panel ocupe toda la pantalla.
 * La captura tiene aproximadamente 600 px de ancho,
 * por eso el breakpoint debe ser mayor que 480 px.
 */
@media (max-width: 700px) {
    .navbar__mobile-panel[b-nt9ti4obcz] {
        width: 100%;
        border-left: 0;
    }
}

@media (max-width: 480px) {
    .navbar__brand-icon[b-nt9ti4obcz] {
        width: 2.55rem;
        height: 2.55rem;
    }

    .navbar__brand-text strong[b-nt9ti4obcz] {
        font-size: 1.05rem;
    }

    .navbar__mobile-panel[b-nt9ti4obcz] {
        padding: 1.1rem 1rem 1.25rem;
    }

    .navbar__mobile-links a[b-nt9ti4obcz] {
        padding: 0.9rem 0.75rem;
        font-size: 1.08rem;
    }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .navbar__mobile-layer[b-nt9ti4obcz],
    .navbar__mobile-panel[b-nt9ti4obcz],
    .navbar__mobile-close[b-nt9ti4obcz],
    .navbar__mobile-links a[b-nt9ti4obcz],
    .navbar__mobile-cta[b-nt9ti4obcz] {
        transition: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-r4w3j5t72r],
.components-reconnect-repeated-attempt-visible[b-r4w3j5t72r],
.components-reconnect-failed-visible[b-r4w3j5t72r],
.components-pause-visible[b-r4w3j5t72r],
.components-resume-failed-visible[b-r4w3j5t72r],
.components-rejoining-animation[b-r4w3j5t72r] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-retrying[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-failed[b-r4w3j5t72r],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-r4w3j5t72r] {
    display: block;
}


#components-reconnect-modal[b-r4w3j5t72r] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-r4w3j5t72r 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-r4w3j5t72r 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-r4w3j5t72r 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-r4w3j5t72r]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-r4w3j5t72r 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-r4w3j5t72r {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-r4w3j5t72r {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-r4w3j5t72r {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-r4w3j5t72r] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-r4w3j5t72r] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-r4w3j5t72r] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-r4w3j5t72r] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-r4w3j5t72r] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-r4w3j5t72r] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-r4w3j5t72r] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-r4w3j5t72r 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-r4w3j5t72r] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-r4w3j5t72r {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Section/Contact/Contact.razor.rz.scp.css */
/* =========================================================
   SECCIÓN CONTACTO
   ========================================================= */

.contact[b-tcz8z8ii2a] {
    position: relative;
    isolation: isolate;
    scroll-margin-top: 6rem;
    overflow: hidden;
    padding: clamp(7rem, 10vw, 10rem) 0;
    background: linear-gradient( 180deg, #08080a 0%, #0b0710 50%, #08080a 100% );
}

    .contact[b-tcz8z8ii2a]::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -3;
        background: linear-gradient( rgba(5, 5, 7, 0.76), rgba(5, 5, 7, 0.92) ), url("/images/backgrounds/hero-royal-purple.webp") center / cover no-repeat;
        opacity: 0.72;
        pointer-events: none;
    }

.contact__decoration[b-tcz8z8ii2a] {
    position: absolute;
    z-index: -1;
    width: 30rem;
    height: 30rem;
    border-radius: 50%;
    filter: blur(75px);
    pointer-events: none;
}

.contact__decoration--left[b-tcz8z8ii2a] {
    left: -15rem;
    bottom: -12rem;
    background: rgba(212, 175, 55, 0.16);
}

.contact__decoration--right[b-tcz8z8ii2a] {
    top: -14rem;
    right: -12rem;
    background: rgba(104, 43, 151, 0.22);
}

.contact .container[b-tcz8z8ii2a] {
    position: relative;
    z-index: 2;
}

.contact__grid[b-tcz8z8ii2a] {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(32rem, 1.12fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7.5rem);
}


/* =========================================================
   INFORMACIÓN IZQUIERDA
   ========================================================= */

.contact__content[b-tcz8z8ii2a] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contact__badge[b-tcz8z8ii2a] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.6rem;
    padding: 0.65rem 1.05rem;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 999px;
    color: #e9c957;
    background: rgba(212, 175, 55, 0.09);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.contact__title[b-tcz8z8ii2a] {
    margin: 0 0 1.6rem;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.2rem, 6vw, 5.5rem);
    font-weight: 700;
    line-height: 1.01;
    letter-spacing: -0.045em;
}

    .contact__title span[b-tcz8z8ii2a] {
        display: block;
        color: #d4af37;
    }

.contact__description[b-tcz8z8ii2a] {
    max-width: 38rem;
    margin: 0 0 2.4rem;
    color: rgba(255, 255, 255, 0.66);
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    line-height: 1.85;
}

.contact__methods[b-tcz8z8ii2a] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.contact-method[b-tcz8z8ii2a] {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 1.25rem;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    text-decoration: none;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

    .contact-method:hover[b-tcz8z8ii2a] {
        transform: translateX(7px);
        border-color: rgba(212, 175, 55, 0.38);
        background: rgba(212, 175, 55, 0.075);
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
    }

.contact-method__icon[b-tcz8z8ii2a] {
    width: 3.2rem;
    height: 3.2rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 1rem;
    color: #f5d76e;
    background: linear-gradient( 145deg, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0.05) );
}

.contact-method__content[b-tcz8z8ii2a] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

    .contact-method__content small[b-tcz8z8ii2a] {
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.7rem;
    }

    .contact-method__content strong[b-tcz8z8ii2a] {
        overflow: hidden;
        color: #ffffff;
        font-size: 0.92rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.contact__note[b-tcz8z8ii2a] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.3rem;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.77rem;
}

    .contact__note[b-tcz8z8ii2a]  .mm-icon {
        color: #d4af37;
    }


/* =========================================================
   CONTENEDOR DEL FORMULARIO
   ========================================================= */

.contact__form-wrapper[b-tcz8z8ii2a] {
    position: relative;
}

.contact__form-glow[b-tcz8z8ii2a] {
    position: absolute;
    inset: 12% 8%;
    z-index: -1;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    filter: blur(85px);
    pointer-events: none;
}

.contact-form-shell[b-tcz8z8ii2a] {
    position: relative;
    border-radius: 2rem;
}


    /*
 * EditForm y los controles son componentes Blazor.
 * ::deep permite que el CSS aislado llegue al HTML generado.
 */

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form {
        position: relative;
        isolation: isolate;
        display: flex;
        flex-direction: column;
        gap: 1.3rem;
        overflow: hidden;
        padding: clamp(1.7rem, 4vw, 2.65rem);
        border: 1px solid rgba(255, 255, 255, 0.11);
        border-radius: 2rem;
        background: linear-gradient( 145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.028) );
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), 0 38px 95px rgba(0, 0, 0, 0.38);
        backdrop-filter: blur(28px);
        -webkit-backdrop-filter: blur(28px);
    }

        .contact-form-shell[b-tcz8z8ii2a]  .contact-form::before {
            content: "";
            position: absolute;
            top: 0;
            left: 12%;
            right: 12%;
            height: 1px;
            background: linear-gradient( 90deg, transparent, rgba(245, 215, 110, 0.85), transparent );
            pointer-events: none;
        }

        .contact-form-shell[b-tcz8z8ii2a]  .contact-form::after {
            content: "";
            position: absolute;
            top: -8rem;
            right: -7rem;
            z-index: -1;
            width: 17rem;
            height: 17rem;
            border-radius: 50%;
            background: radial-gradient( circle, rgba(212, 175, 55, 0.13), transparent 68% );
            pointer-events: none;
        }


    /* =========================================================
   CABECERA DEL FORMULARIO
   ========================================================= */

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__header {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 1rem;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__header-icon {
        width: 3.65rem;
        height: 3.65rem;
        display: grid;
        place-items: center;
        border: 1px solid rgba(212, 175, 55, 0.26);
        border-radius: 1.15rem;
        color: #f5d76e;
        background: linear-gradient( 145deg, rgba(212, 175, 55, 0.2), rgba(212, 175, 55, 0.055) );
        box-shadow: 0 14px 35px rgba(212, 175, 55, 0.1);
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__header-content {
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__eyebrow {
        color: #d4af37;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.095em;
        text-transform: uppercase;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__header h3 {
        margin: 0;
        color: #ffffff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(1.6rem, 3vw, 2.15rem);
        line-height: 1.12;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__header p {
        margin: 0.15rem 0 0;
        color: rgba(255, 255, 255, 0.48);
        font-size: 0.78rem;
        line-height: 1.55;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__separator {
        width: 100%;
        height: 1px;
        background: linear-gradient( 90deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.04) );
    }


    /* =========================================================
   CAMPOS
   ========================================================= */

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__group {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }

        .contact-form-shell[b-tcz8z8ii2a]  .contact-form__group label {
            display: flex;
            align-items: center;
            gap: 0.45rem;
            color: rgba(255, 255, 255, 0.82);
            font-size: 0.77rem;
            font-weight: 750;
        }

            .contact-form-shell[b-tcz8z8ii2a]
            
            .contact-form__group label .mm-icon {
                color: #d4af37;
            }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__optional {
        margin-left: auto;
        color: rgba(255, 255, 255, 0.34);
        font-size: 0.66rem;
        font-weight: 500;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__control-wrapper {
        position: relative;
    }

    .contact-form-shell[b-tcz8z8ii2a]  .contact-form__control {
        width: 100%;
        min-width: 0;
        min-height: 3.55rem;
        display: block;
        padding: 0.9rem 1rem;
        border: 1px solid rgba(255, 255, 255, 0.11);
        border-radius: 1rem;
        outline: none;
        color: #ffffff;
        background: rgba(5, 5, 8, 0.72);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
        font: inherit;
        font-size: 0.88rem;
        transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__control:hover {
            border-color: rgba(255, 255, 255, 0.18);
            background: rgba(7, 7, 10, 0.82);
        }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__control:focus {
            border-color: rgba(212, 175, 55, 0.68);
            background: rgba(5, 5, 8, 0.92);
            box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1), 0 14px 35px rgba(0, 0, 0, 0.18);
            transform: translateY(-1px);
        }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__control::placeholder {
            color: rgba(255, 255, 255, 0.3);
        }

    .contact-form-shell[b-tcz8z8ii2a]
    
    select.contact-form__control {
        color-scheme: dark;
        cursor: pointer;
    }

        .contact-form-shell[b-tcz8z8ii2a]
        
        select.contact-form__control option {
            color: #ffffff;
            background: #101014;
        }

    .contact-form-shell[b-tcz8z8ii2a]
    
    input[type="date"].contact-form__control {
        color-scheme: dark;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__control--textarea {
        min-height: 8.5rem;
        line-height: 1.65;
        resize: vertical;
    }


    /* =========================================================
   VALIDACIÓN
   ========================================================= */

    .contact-form-shell[b-tcz8z8ii2a]
    
    .validation-message {
        margin-top: -0.1rem;
        color: #ff9999;
        font-size: 0.7rem;
        font-weight: 600;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__control.invalid {
        border-color: rgba(255, 105, 105, 0.65);
        box-shadow: 0 0 0 3px rgba(255, 105, 105, 0.08);
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__control.valid.modified {
        border-color: rgba(112, 217, 154, 0.48);
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__message-footer {
        min-height: 1rem;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
    }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__message-footer > span {
            margin-left: auto;
            color: rgba(255, 255, 255, 0.32);
            font-size: 0.66rem;
        }


    /* =========================================================
   BOTÓN
   ========================================================= */

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__submit {
        position: relative;
        width: 100%;
        min-height: 3.8rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.7rem;
        overflow: hidden;
        margin-top: 0.25rem;
        padding: 0.95rem 1.35rem;
        border: 0;
        border-radius: 999px;
        color: #111111;
        background: linear-gradient( 135deg, #d4af37 0%, #f6dc78 52%, #d4af37 100% );
        background-size: 200% 100%;
        box-shadow: 0 18px 45px rgba(212, 175, 55, 0.22);
        font: inherit;
        font-size: 0.88rem;
        font-weight: 850;
        cursor: pointer;
        transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease, background-position 0.35s ease;
    }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__submit:hover:not(:disabled) {
            transform: translateY(-3px);
            filter: brightness(1.035);
            background-position: 100% 0;
            box-shadow: 0 24px 60px rgba(212, 175, 55, 0.32);
        }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__submit:active:not(:disabled) {
            transform: translateY(-1px);
        }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__submit:focus-visible {
            outline: 2px solid #f5d76e;
            outline-offset: 4px;
        }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__submit:disabled {
            cursor: not-allowed;
            opacity: 0.68;
        }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__submit-arrow {
        transition: transform 0.25s ease;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__submit:hover
    .contact-form__submit-arrow {
        transform: translateX(4px);
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__spinner {
        width: 1.1rem;
        height: 1.1rem;
        border: 2px solid rgba(17, 17, 17, 0.25);
        border-top-color: #111111;
        border-radius: 50%;
        animation: contactSpinner-b-tcz8z8ii2a 0.75s linear infinite;
    }


    /* =========================================================
   PRIVACIDAD
   ========================================================= */

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__privacy {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        margin: 0;
        color: rgba(255, 255, 255, 0.4);
        font-size: 0.67rem;
        line-height: 1.5;
        text-align: center;
    }

        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__privacy .mm-icon {
            flex: 0 0 auto;
            color: rgba(212, 175, 55, 0.78);
        }


/* =========================================================
   ANIMACIÓN
   ========================================================= */

@keyframes contactSpinner-b-tcz8z8ii2a {
    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {
    .contact__grid[b-tcz8z8ii2a] {
        grid-template-columns: 1fr;
    }

    .contact__content[b-tcz8z8ii2a] {
        align-items: center;
        text-align: center;
    }

    .contact__description[b-tcz8z8ii2a] {
        margin-left: auto;
        margin-right: auto;
    }

    .contact__methods[b-tcz8z8ii2a] {
        max-width: 38rem;
    }

    .contact__note[b-tcz8z8ii2a] {
        justify-content: center;
    }

    .contact__form-wrapper[b-tcz8z8ii2a] {
        width: min(100%, 48rem);
        margin: 0 auto;
    }
}

@media (max-width: 650px) {
    .contact[b-tcz8z8ii2a] {
        padding: 6rem 0;
    }

    .contact__title[b-tcz8z8ii2a] {
        font-size: clamp(2.8rem, 13vw, 3.9rem);
    }

    .contact-method[b-tcz8z8ii2a] {
        padding: 0.85rem;
    }

    .contact-method__icon[b-tcz8z8ii2a] {
        width: 2.85rem;
        height: 2.85rem;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form {
        padding: 1.35rem;
        border-radius: 1.5rem;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__header {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__header-icon {
        margin: 0 auto;
    }

    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__row {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .contact-method[b-tcz8z8ii2a],
    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__control,
    .contact-form-shell[b-tcz8z8ii2a]
    
    .contact-form__submit {
        transition: none;
    }

        .contact-method:hover[b-tcz8z8ii2a],
        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__control:focus,
        .contact-form-shell[b-tcz8z8ii2a]
        
        .contact-form__submit:hover:not(:disabled) {
            transform: none;
        }
}
/* /Components/Section/Footer/Footer.razor.rz.scp.css */
/* =========================================================
   FOOTER
   ========================================================= */

.footer[b-svla6fniy0] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(5rem, 8vw, 7rem) 0 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    background: linear-gradient( 180deg, #08080a 0%, #050506 100% );
}

    .footer[b-svla6fniy0]::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -2;
        background: url("/images/patterns/pattern-art-deco.webp") center / 34rem auto repeat;
        opacity: 0.025;
        pointer-events: none;
    }

.footer__glow[b-svla6fniy0] {
    position: absolute;
    top: -18rem;
    left: 50%;
    z-index: -1;
    width: min(65rem, 95vw);
    height: 32rem;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.14), transparent 70% );
    filter: blur(55px);
    transform: translateX(-50%);
    pointer-events: none;
}

.footer .container[b-svla6fniy0] {
    position: relative;
    z-index: 2;
}


/* =========================================================
   CONTENIDO SUPERIOR
   ========================================================= */

.footer__top[b-svla6fniy0] {
    display: grid;
    grid-template-columns: minmax(17rem, 1.45fr) repeat(2, minmax(9rem, 0.7fr)) minmax(17rem, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
}

.footer__brand[b-svla6fniy0] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer__logo[b-svla6fniy0] {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: #ffffff;
    text-decoration: none;
}

.footer__logo-icon[b-svla6fniy0] {
    width: 3.4rem;
    height: 3.4rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 50%;
    color: #f5d76e;
    background: rgba(212, 175, 55, 0.09);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.footer__logo-text[b-svla6fniy0] {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

    .footer__logo-text strong[b-svla6fniy0] {
        color: #ffffff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.35rem;
    }

    .footer__logo-text small[b-svla6fniy0] {
        margin-top: 0.22rem;
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.67rem;
        font-weight: 700;
        letter-spacing: 0.24em;
        text-transform: uppercase;
    }

.footer__brand > p[b-svla6fniy0] {
    max-width: 26rem;
    margin: 1.4rem 0 1.7rem;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.9rem;
    line-height: 1.8;
}


/* =========================================================
   REDES SOCIALES
   ========================================================= */

.footer__social[b-svla6fniy0] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

    .footer__social a[b-svla6fniy0] {
        width: 2.8rem;
        height: 2.8rem;
        display: grid;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, 0.09);
        border-radius: 50%;
        color: rgba(255, 255, 255, 0.66);
        background: rgba(255, 255, 255, 0.035);
        text-decoration: none;
        transition: transform 0.25s ease, color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
    }

        .footer__social a:hover[b-svla6fniy0] {
            transform: translateY(-4px);
            color: #f5d76e;
            border-color: rgba(212, 175, 55, 0.4);
            background: rgba(212, 175, 55, 0.09);
        }


/* =========================================================
   COLUMNAS
   ========================================================= */

.footer__column[b-svla6fniy0] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

    .footer__column h3[b-svla6fniy0] {
        margin: 0 0 1.35rem;
        color: #ffffff;
        font-size: 0.84rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .footer__column > nav[b-svla6fniy0] {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
    }

        .footer__column > nav a[b-svla6fniy0] {
            position: relative;
            color: rgba(255, 255, 255, 0.52);
            font-size: 0.84rem;
            text-decoration: none;
            transition: color 0.25s ease, transform 0.25s ease;
        }

            .footer__column > nav a[b-svla6fniy0]::before {
                content: "";
                position: absolute;
                top: 50%;
                left: -0.9rem;
                width: 0.3rem;
                height: 0.3rem;
                border-radius: 50%;
                background: #d4af37;
                opacity: 0;
                transform: translateY(-50%) scale(0);
                transition: opacity 0.25s ease, transform 0.25s ease;
            }

            .footer__column > nav a:hover[b-svla6fniy0] {
                color: #f5d76e;
                transform: translateX(0.6rem);
            }

                .footer__column > nav a:hover[b-svla6fniy0]::before {
                    opacity: 1;
                    transform: translateY(-50%) scale(1);
                }


/* =========================================================
   CONTACTO DEL FOOTER
   ========================================================= */

.footer__column--contact[b-svla6fniy0] {
    gap: 0.7rem;
}

.footer-contact[b-svla6fniy0] {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 1rem;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.025);
    text-decoration: none;
    transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

    .footer-contact:hover[b-svla6fniy0] {
        transform: translateX(4px);
        border-color: rgba(212, 175, 55, 0.3);
        background: rgba(212, 175, 55, 0.06);
    }

.footer-contact__icon[b-svla6fniy0] {
    width: 2.55rem;
    height: 2.55rem;
    display: grid;
    place-items: center;
    border-radius: 0.8rem;
    color: #f5d76e;
    background: rgba(212, 175, 55, 0.1);
}

.footer-contact > span:last-child[b-svla6fniy0] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
}

.footer-contact small[b-svla6fniy0] {
    color: rgba(255, 255, 255, 0.38);
    font-size: 0.65rem;
}

.footer-contact strong[b-svla6fniy0] {
    overflow: hidden;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.footer__cta[b-svla6fniy0] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.35rem;
    padding: 0.85rem 1rem;
    border-radius: 999px;
    color: #111111;
    background: linear-gradient( 135deg, #d4af37, #f5d76e );
    box-shadow: 0 16px 36px rgba(212, 175, 55, 0.16);
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .footer__cta:hover[b-svla6fniy0] {
        transform: translateY(-3px);
        box-shadow: 0 22px 50px rgba(212, 175, 55, 0.26);
    }


/* =========================================================
   PARTE INFERIOR
   ========================================================= */

.footer__divider[b-svla6fniy0] {
    width: 100%;
    height: 1px;
    margin: clamp(3rem, 6vw, 5rem) 0 1.5rem;
    background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.1), transparent );
}

.footer__bottom[b-svla6fniy0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1.5rem;
}

    .footer__bottom > p[b-svla6fniy0] {
        margin: 0;
        color: rgba(255, 255, 255, 0.35);
        font-size: 0.7rem;
    }

.footer__legal[b-svla6fniy0] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

    .footer__legal a[b-svla6fniy0] {
        color: rgba(255, 255, 255, 0.35);
        font-size: 0.7rem;
        text-decoration: none;
        transition: color 0.25s ease;
    }

        .footer__legal a:hover[b-svla6fniy0] {
            color: #f5d76e;
        }

.footer__back-to-top[b-svla6fniy0] {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.035);
    text-decoration: none;
    transition: transform 0.25s ease, color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

    .footer__back-to-top:hover[b-svla6fniy0] {
        transform: translateY(-4px);
        color: #111111;
        border-color: #d4af37;
        background: #d4af37;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {
    .footer__top[b-svla6fniy0] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .footer[b-svla6fniy0] {
        padding-top: 4.5rem;
    }

    .footer__top[b-svla6fniy0] {
        grid-template-columns: 1fr;
        gap: 2.75rem;
    }

    .footer__brand[b-svla6fniy0],
    .footer__column[b-svla6fniy0] {
        align-items: center;
        text-align: center;
    }

        .footer__column > nav[b-svla6fniy0] {
            align-items: center;
        }

    .footer__column--contact[b-svla6fniy0] {
        width: 100%;
    }

    .footer-contact[b-svla6fniy0],
    .footer__cta[b-svla6fniy0] {
        width: min(100%, 24rem);
    }

    .footer__bottom[b-svla6fniy0] {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .footer__legal[b-svla6fniy0] {
        flex-direction: column;
        gap: 0.65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer__social a[b-svla6fniy0],
    .footer__column > nav a[b-svla6fniy0],
    .footer-contact[b-svla6fniy0],
    .footer__cta[b-svla6fniy0],
    .footer__back-to-top[b-svla6fniy0] {
        transition: none;
    }

        .footer__social a:hover[b-svla6fniy0],
        .footer__column > nav a:hover[b-svla6fniy0],
        .footer-contact:hover[b-svla6fniy0],
        .footer__cta:hover[b-svla6fniy0],
        .footer__back-to-top:hover[b-svla6fniy0] {
            transform: none;
        }
}
/* /Components/Section/Gallery/Gallery.razor.rz.scp.css */
/* =========================================================
   GALERÍA
   ========================================================= */

.gallery[b-vgha5da6k2] {
    position: relative;
    isolation: isolate;
    scroll-margin-top: 6rem;
    overflow: hidden;
    padding: clamp(7rem, 10vw, 10rem) 0;
    background: linear-gradient( 180deg, #08080a 0%, #0b0a0d 50%, #08080a 100% );
}

.gallery__background[b-vgha5da6k2] {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient( rgba(5, 5, 7, 0.86), rgba(5, 5, 7, 0.94) ), url("/images/backgrounds/hero-black-marble.webp") center / cover no-repeat;
    opacity: 0.7;
    pointer-events: none;
}

.gallery[b-vgha5da6k2]::before {
    content: "";
    position: absolute;
    top: 10%;
    left: 50%;
    z-index: -1;
    width: min(65rem, 95vw);
    height: 32rem;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.13), transparent 68% );
    filter: blur(55px);
    transform: translateX(-50%);
    pointer-events: none;
}

.gallery .container[b-vgha5da6k2] {
    position: relative;
    z-index: 2;
}


/* =========================================================
   CABECERA
   ========================================================= */

.gallery__header[b-vgha5da6k2] {
    max-width: 54rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin: 0 auto clamp(3.5rem, 7vw, 5.5rem);
    text-align: center;
}

.gallery__badge[b-vgha5da6k2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.62rem 1.05rem;
    border: 1px solid rgba(212, 175, 55, 0.34);
    border-radius: 999px;
    color: #e9c957;
    background: rgba(212, 175, 55, 0.085);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.gallery__title[b-vgha5da6k2] {
    max-width: 50rem;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.04em;
}

    .gallery__title span[b-vgha5da6k2] {
        display: block;
        color: #d4af37;
    }

.gallery__description[b-vgha5da6k2] {
    max-width: 44rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    line-height: 1.85;
}


/* =========================================================
   MOSAICO
   ========================================================= */

.gallery__grid[b-vgha5da6k2] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 13rem;
    gap: clamp(0.85rem, 1.5vw, 1.25rem);
}

.gallery-card[b-vgha5da6k2] {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 1.5rem;
    outline: none;
    color: inherit;
    background: #101013;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 20px 55px rgba(0, 0, 0, 0.25);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.35s ease, box-shadow 0.35s ease;
}

.gallery-card--standard[b-vgha5da6k2] {
    grid-row: span 2;
}

.gallery-card--tall[b-vgha5da6k2] {
    grid-row: span 3;
}

.gallery-card--large[b-vgha5da6k2] {
    grid-column: span 2;
    grid-row: span 3;
}

.gallery-card > img[b-vgha5da6k2] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.45s ease;
}

.gallery-card__overlay[b-vgha5da6k2] {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient( 180deg, rgba(5, 5, 7, 0.02) 25%, rgba(5, 5, 7, 0.18) 55%, rgba(5, 5, 7, 0.94) 100% );
    transition: background 0.35s ease;
}

.gallery-card__content[b-vgha5da6k2] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    padding: clamp(1rem, 2vw, 1.45rem);
    text-align: left;
    transform: translateY(2rem);
    transition: transform 0.4s ease;
}

.gallery-card__category[b-vgha5da6k2] {
    display: inline-flex;
    padding: 0.32rem 0.7rem;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 999px;
    color: #f5d76e;
    background: rgba(8, 8, 10, 0.7);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.gallery-card__title[b-vgha5da6k2] {
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    line-height: 1.1;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.82);
}

.gallery-card__action[b-vgha5da6k2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0;
    transform: translateY(0.6rem);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.gallery-card__shine[b-vgha5da6k2] {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -65%;
    z-index: 2;
    width: 40%;
    background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.16), transparent );
    transform: rotate(18deg);
    transition: left 0.7s ease;
    pointer-events: none;
}

.gallery-card:hover[b-vgha5da6k2] {
    transform: translateY(-8px) scale(1.012);
    border-color: rgba(212, 175, 55, 0.52);
    box-shadow: 0 30px 75px rgba(0, 0, 0, 0.38), 0 16px 45px rgba(212, 175, 55, 0.11);
}

    .gallery-card:hover > img[b-vgha5da6k2] {
        transform: scale(1.065);
        filter: saturate(1.08) brightness(1.03);
    }

    .gallery-card:hover .gallery-card__overlay[b-vgha5da6k2] {
        background: linear-gradient( 180deg, rgba(5, 5, 7, 0.02) 20%, rgba(5, 5, 7, 0.1) 48%, rgba(5, 5, 7, 0.96) 100% );
    }

    .gallery-card:hover .gallery-card__content[b-vgha5da6k2] {
        transform: translateY(0);
    }

    .gallery-card:hover .gallery-card__action[b-vgha5da6k2] {
        opacity: 1;
        transform: translateY(0);
    }

    .gallery-card:hover .gallery-card__shine[b-vgha5da6k2] {
        left: 130%;
    }

.gallery-card:focus-visible[b-vgha5da6k2] {
    outline: 2px solid #f5d76e;
    outline-offset: 4px;
}


/* =========================================================
   CTA
   ========================================================= */

.gallery__footer[b-vgha5da6k2] {
    display: flex;
    justify-content: center;
    margin-top: clamp(3rem, 6vw, 4.5rem);
}

.gallery__cta[b-vgha5da6k2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 3.75rem;
    padding: 0.95rem 1.6rem;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 999px;
    color: #f6dc78;
    background: rgba(212, 175, 55, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
    font-size: 0.87rem;
    font-weight: 800;
    text-decoration: none;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: transform 0.25s ease, color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

    .gallery__cta:hover[b-vgha5da6k2] {
        transform: translateY(-3px);
        color: #111111;
        background: linear-gradient( 135deg, #d4af37, #f5d76e );
        box-shadow: 0 20px 50px rgba(212, 175, 55, 0.24);
    }

    .gallery__cta[b-vgha5da6k2]  .gallery__cta-arrow {
        transition: transform 0.25s ease;
    }

    .gallery__cta:hover[b-vgha5da6k2]  .gallery__cta-arrow {
        transform: translateX(4px);
    }


/* =========================================================
   LIGHTBOX
   ========================================================= */

.gallery-lightbox[b-vgha5da6k2] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 4vw, 3rem);
    background: rgba(3, 3, 5, 0.86);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    animation: galleryLightboxFade-b-vgha5da6k2 0.3s ease both;
}

.gallery-lightbox__backdrop[b-vgha5da6k2] {
    position: absolute;
    inset: 0;
    background: radial-gradient( circle at 50% 40%, rgba(212, 175, 55, 0.12), transparent 55% );
    pointer-events: none;
}

.gallery-lightbox__content[b-vgha5da6k2] {
    position: relative;
    z-index: 2;
    width: min(100%, 64rem);
    max-height: calc(100vh - 4rem);
    display: grid;
    grid-template-columns: minmax(18rem, 0.82fr) minmax(18rem, 0.55fr);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 2rem;
    background: rgba(14, 14, 17, 0.94);
    box-shadow: 0 45px 120px rgba(0, 0, 0, 0.62);
    animation: galleryLightboxContent-b-vgha5da6k2 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.gallery-lightbox__image-wrapper[b-vgha5da6k2] {
    position: relative;
    min-height: 35rem;
    overflow: hidden;
    background: #08080a;
}

.gallery-lightbox__image[b-vgha5da6k2] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.08), #08080a 70% );
    animation: galleryImageReveal-b-vgha5da6k2 0.4s ease both;
}

.gallery-lightbox__information[b-vgha5da6k2] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.1rem;
    padding: clamp(2rem, 5vw, 3.5rem);
}

.gallery-lightbox__category[b-vgha5da6k2] {
    display: inline-flex;
    padding: 0.4rem 0.8rem;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 999px;
    color: #f5d76e;
    background: rgba(212, 175, 55, 0.08);
    font-size: 0.7rem;
    font-weight: 800;
}

.gallery-lightbox__information h3[b-vgha5da6k2] {
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.05;
}

.gallery-lightbox__information p[b-vgha5da6k2] {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.75;
}

.gallery-lightbox__counter[b-vgha5da6k2] {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.76rem;
    letter-spacing: 0.12em;
}

.gallery-lightbox__close[b-vgha5da6k2],
.gallery-lightbox__navigation[b-vgha5da6k2] {
    position: fixed;
    z-index: 5;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.07);
    cursor: pointer;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: transform 0.25s ease, color 0.25s ease, background 0.25s ease;
}

.gallery-lightbox__close[b-vgha5da6k2] {
    top: 1.5rem;
    right: 1.5rem;
    width: 3.2rem;
    height: 3.2rem;
}

.gallery-lightbox__navigation[b-vgha5da6k2] {
    top: 50%;
    width: 3.5rem;
    height: 3.5rem;
    transform: translateY(-50%);
}

.gallery-lightbox__navigation--previous[b-vgha5da6k2] {
    left: 1.5rem;
}

.gallery-lightbox__navigation--next[b-vgha5da6k2] {
    right: 1.5rem;
}

.gallery-lightbox__close:hover[b-vgha5da6k2] {
    color: #111111;
    background: #d4af37;
    transform: rotate(8deg);
}

.gallery-lightbox__navigation:hover[b-vgha5da6k2] {
    color: #111111;
    background: #d4af37;
}

.gallery-lightbox__navigation--previous:hover[b-vgha5da6k2] {
    transform: translateY(-50%) translateX(-3px);
}

.gallery-lightbox__navigation--next:hover[b-vgha5da6k2] {
    transform: translateY(-50%) translateX(3px);
}


/* =========================================================
   ANIMACIONES
   ========================================================= */

@keyframes galleryLightboxFade-b-vgha5da6k2 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes galleryLightboxContent-b-vgha5da6k2 {
    from {
        opacity: 0;
        transform: translateY(1.5rem) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes galleryImageReveal-b-vgha5da6k2 {
    from {
        opacity: 0;
        transform: scale(0.98);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {
    .gallery__grid[b-vgha5da6k2] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-card--large[b-vgha5da6k2] {
        grid-column: span 1;
    }

    .gallery-lightbox__content[b-vgha5da6k2] {
        grid-template-columns: 1fr;
        overflow-y: auto;
    }

    .gallery-lightbox__image-wrapper[b-vgha5da6k2] {
        min-height: 55vh;
    }

    .gallery-lightbox__information[b-vgha5da6k2] {
        padding: 1.75rem;
    }
}

@media (max-width: 650px) {
    .gallery[b-vgha5da6k2] {
        padding: 6rem 0;
    }

    .gallery__grid[b-vgha5da6k2] {
        grid-template-columns: 1fr;
        grid-auto-rows: 12rem;
    }

    .gallery-card--standard[b-vgha5da6k2],
    .gallery-card--tall[b-vgha5da6k2],
    .gallery-card--large[b-vgha5da6k2] {
        grid-column: span 1;
        grid-row: span 3;
    }

    .gallery__title[b-vgha5da6k2] {
        font-size: clamp(2.65rem, 13vw, 3.8rem);
    }

    .gallery-lightbox[b-vgha5da6k2] {
        padding: 0.75rem;
    }

    .gallery-lightbox__content[b-vgha5da6k2] {
        max-height: calc(100vh - 1.5rem);
        border-radius: 1.4rem;
    }

    .gallery-lightbox__image-wrapper[b-vgha5da6k2] {
        min-height: 62vh;
    }

    .gallery-lightbox__information[b-vgha5da6k2] {
        padding: 1.3rem;
    }

    .gallery-lightbox__navigation[b-vgha5da6k2] {
        top: auto;
        bottom: 1.4rem;
    }

    .gallery-lightbox__navigation--previous[b-vgha5da6k2] {
        left: 1.4rem;
    }

    .gallery-lightbox__navigation--next[b-vgha5da6k2] {
        right: 1.4rem;
    }

    .gallery-lightbox__close[b-vgha5da6k2] {
        top: 1rem;
        right: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-card[b-vgha5da6k2],
    .gallery-card > img[b-vgha5da6k2],
    .gallery-card__content[b-vgha5da6k2],
    .gallery-card__action[b-vgha5da6k2],
    .gallery-card__shine[b-vgha5da6k2],
    .gallery__cta[b-vgha5da6k2],
    .gallery-lightbox[b-vgha5da6k2],
    .gallery-lightbox__content[b-vgha5da6k2],
    .gallery-lightbox__image[b-vgha5da6k2] {
        animation: none;
        transition: none;
    }

        .gallery-card:hover[b-vgha5da6k2] {
            transform: none;
        }
}
/* /Components/Section/Hero/Hero.razor.rz.scp.css */
.hero[b-ng94iu6dsx] {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    isolation: isolate;
    background: #050507;
}

.hero__background[b-ng94iu6dsx] {
    position: absolute;
    inset: 0;
    z-index: -3;
    overflow: hidden;
    background: url("/videos/posters/hero-royal-aurora.webp") center / cover no-repeat;
}

.hero__video[b-ng94iu6dsx] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: .68;
}

.hero__overlay[b-ng94iu6dsx] {
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(3, 3, 5, .94) 0%, rgba(3, 3, 5, .76) 42%, rgba(3, 3, 5, .40) 75%, rgba(3, 3, 5, .68) 100% ), linear-gradient( 180deg, rgba(3, 3, 5, .38) 0%, rgba(3, 3, 5, .08) 45%, rgba(3, 3, 5, .88) 100% );
    pointer-events: none;
}

.hero .container[b-ng94iu6dsx] {
    position: relative;
    z-index: 2;
}

.hero__grid[b-ng94iu6dsx] {
    min-height: 100svh;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 7rem);
    padding-top: 8rem;
    padding-bottom: 5rem;
}

@media (max-width: 1000px) {
    .hero__grid[b-ng94iu6dsx] {
        grid-template-columns: 1fr;
        text-align: center;
        padding-top: 9rem;
        padding-bottom: 6rem;
    }

    .hero__overlay[b-ng94iu6dsx] {
        background: linear-gradient( 180deg, rgba(3, 3, 5, .78) 0%, rgba(3, 3, 5, .45) 45%, rgba(3, 3, 5, .92) 100% );
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero__video[b-ng94iu6dsx] {
        display: none;
    }
}
/* /Components/Section/Hero/HeroButtons.razor.rz.scp.css */
.hero-buttons[b-lp01l7hmk1] {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 45px;
    flex-wrap: wrap;
}

.mm-btn[b-lp01l7hmk1] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 60px;
    padding: 0 34px;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: .35s;
    overflow: hidden;
}

    .mm-btn svg[b-lp01l7hmk1] {
        transition: .35s;
    }

    .mm-btn:hover svg[b-lp01l7hmk1] {
        transform: translateX(5px);
    }

/*============================*/

.mm-btn--primary[b-lp01l7hmk1] {
    color: #111;
    background: linear-gradient( 135deg, var(--primary), var(--primary-light));
    box-shadow: 0 20px 45px rgba(212,175,55,.30);
}

    .mm-btn--primary:hover[b-lp01l7hmk1] {
        transform: translateY(-5px);
        box-shadow: 0 28px 60px rgba(212,175,55,.50);
    }

/*============================*/

.mm-btn--outline[b-lp01l7hmk1] {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
    color: #fff;
}

    .mm-btn--outline:hover[b-lp01l7hmk1] {
        background: rgba(255,255,255,.10);
        transform: translateY(-5px);
        border-color: var(--primary);
        color: var(--primary);
    }

/*============================*/

.mm-btn[b-lp01l7hmk1]::before {
    content: "";
    position: absolute;
    left: -120%;
    top: 0;
    width: 80px;
    height: 100%;
    background: linear-gradient( rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0) );
    transform: skewX(-25deg);
}

.mm-btn:hover[b-lp01l7hmk1]::before {
    animation: buttonShine-b-lp01l7hmk1 .9s linear;
}

@keyframes buttonShine-b-lp01l7hmk1 {

    from {
        left: -120%;
    }

    to {
        left: 140%;
    }
}

@media(max-width:768px) {

    .hero-buttons[b-lp01l7hmk1] {
        justify-content: center;
    }

    .mm-btn[b-lp01l7hmk1] {
        width: 100%;
    }
}
.hero-buttons__button[b-lp01l7hmk1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
}

    .hero-buttons__button[b-lp01l7hmk1]  .mm-icon {
        transition: transform 0.25s ease;
    }

.hero-buttons__button--primary:hover[b-lp01l7hmk1]
 .hero-buttons__arrow {
    transform: translateX(4px);
}
/* /Components/Section/Hero/HeroContent.razor.rz.scp.css */
.hero-content[b-yxyfp82ovx] {
    max-width: 700px;
}

.hero-content__badge[b-yxyfp82ovx] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    margin-bottom: 30px;
    border-radius: 999px;
    background: rgba(212,175,55,.12);
    border: 1px solid rgba(212,175,55,.30);
    color: var(--primary);
    font-size: .95rem;
    font-weight: 600;
}

.hero-content__title[b-yxyfp82ovx] {
    margin: 0;
    font-family: "Cinzel",serif;
    font-size: clamp(3rem,6vw,5.5rem);
    line-height: 1.08;
    color: #fff;
}

.hero-content__description[b-yxyfp82ovx] {
    margin: 35px 0;
    color: var(--text-light);
    font-size: 1.15rem;
    line-height: 2;
    max-width: 620px;
}

.hero-content__stats[b-yxyfp82ovx] {
    display: flex;
    gap: 60px;
    margin-top: 70px;
}

.hero-stat[b-yxyfp82ovx] {
    display: flex;
    flex-direction: column;
}

    .hero-stat h3[b-yxyfp82ovx] {
        margin: 0;
        font-size: 2.4rem;
        color: var(--primary);
    }

    .hero-stat span[b-yxyfp82ovx] {
        margin-top: 8px;
        color: var(--text-gray);
    }

@media(max-width:992px) {

    .hero-content[b-yxyfp82ovx] {
        margin: auto;
    }

    .hero-content__stats[b-yxyfp82ovx] {
        justify-content: center;
        flex-wrap: wrap;
        gap: 35px;
    }
}
/* /Components/Section/Hero/HeroParticles.razor.rz.scp.css */
.hero-particles[b-i38vveeyqw] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 3;
}

.particle[b-i38vveeyqw] {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
    opacity: .20;
    box-shadow: 0 0 12px rgba(212,175,55,.8), 0 0 30px rgba(212,175,55,.4);
    animation: particleFloat-b-i38vveeyqw linear infinite;
}

@keyframes particleFloat-b-i38vveeyqw {

    0% {
        transform: translateY(120vh) scale(.2);
        opacity: 0;
    }

    15% {
        opacity: .45;
    }

    80% {
        opacity: .25;
    }

    100% {
        transform: translateY(-20vh) scale(1);
        opacity: 0;
    }
}

/* POSICIONES */

.p-1[b-i38vveeyqw] {
    left: 3%;
    animation-duration: 14s;
    animation-delay: -2s;
}

.p-2[b-i38vveeyqw] {
    left: 8%;
    animation-duration: 17s;
    animation-delay: -5s;
}

.p-3[b-i38vveeyqw] {
    left: 12%;
    animation-duration: 20s;
    animation-delay: -1s;
}

.p-4[b-i38vveeyqw] {
    left: 16%;
    animation-duration: 16s;
    animation-delay: -8s;
}

.p-5[b-i38vveeyqw] {
    left: 20%;
    animation-duration: 18s;
    animation-delay: -3s;
}

.p-6[b-i38vveeyqw] {
    left: 25%;
    animation-duration: 13s;
    animation-delay: -4s;
}

.p-7[b-i38vveeyqw] {
    left: 30%;
    animation-duration: 21s;
    animation-delay: -7s;
}

.p-8[b-i38vveeyqw] {
    left: 34%;
    animation-duration: 15s;
    animation-delay: -6s;
}

.p-9[b-i38vveeyqw] {
    left: 38%;
    animation-duration: 19s;
    animation-delay: -2s;
}

.p-10[b-i38vveeyqw] {
    left: 42%;
    animation-duration: 14s;
    animation-delay: -9s;
}

.p-11[b-i38vveeyqw] {
    left: 46%;
    animation-duration: 18s;
    animation-delay: -5s;
}

.p-12[b-i38vveeyqw] {
    left: 50%;
    animation-duration: 22s;
    animation-delay: -1s;
}

.p-13[b-i38vveeyqw] {
    left: 54%;
    animation-duration: 16s;
    animation-delay: -8s;
}

.p-14[b-i38vveeyqw] {
    left: 58%;
    animation-duration: 20s;
    animation-delay: -3s;
}

.p-15[b-i38vveeyqw] {
    left: 62%;
    animation-duration: 17s;
    animation-delay: -7s;
}

.p-16[b-i38vveeyqw] {
    left: 66%;
    animation-duration: 15s;
    animation-delay: -4s;
}

.p-17[b-i38vveeyqw] {
    left: 70%;
    animation-duration: 18s;
    animation-delay: -10s;
}

.p-18[b-i38vveeyqw] {
    left: 74%;
    animation-duration: 23s;
    animation-delay: -2s;
}

.p-19[b-i38vveeyqw] {
    left: 78%;
    animation-duration: 16s;
    animation-delay: -6s;
}

.p-20[b-i38vveeyqw] {
    left: 82%;
    animation-duration: 19s;
    animation-delay: -5s;
}

.p-21[b-i38vveeyqw] {
    left: 84%;
    animation-duration: 14s;
    animation-delay: -9s;
}

.p-22[b-i38vveeyqw] {
    left: 86%;
    animation-duration: 20s;
    animation-delay: -4s;
}

.p-23[b-i38vveeyqw] {
    left: 88%;
    animation-duration: 17s;
    animation-delay: -8s;
}

.p-24[b-i38vveeyqw] {
    left: 90%;
    animation-duration: 22s;
    animation-delay: -2s;
}

.p-25[b-i38vveeyqw] {
    left: 92%;
    animation-duration: 18s;
    animation-delay: -7s;
}

.p-26[b-i38vveeyqw] {
    left: 94%;
    animation-duration: 15s;
    animation-delay: -1s;
}

.p-27[b-i38vveeyqw] {
    left: 96%;
    animation-duration: 19s;
    animation-delay: -6s;
}

.p-28[b-i38vveeyqw] {
    left: 97%;
    animation-duration: 16s;
    animation-delay: -5s;
}

.p-29[b-i38vveeyqw] {
    left: 98%;
    animation-duration: 21s;
    animation-delay: -3s;
}

.p-30[b-i38vveeyqw] {
    left: 99%;
    animation-duration: 24s;
    animation-delay: -8s;
}

@media(max-width:768px) {

    .particle[b-i38vveeyqw] {
        width: 4px;
        height: 4px;
    }
}
/* /Components/Section/Hero/HeroPhone.razor.rz.scp.css */
/* =========================================================
   TELÉFONO DEL HERO
   ========================================================= */

.hero-phone[b-ga2yop2r0n] {
    position: relative;
    isolation: isolate;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   RESPLANDOR EXTERIOR
   ========================================================= */

.hero-phone__glow[b-ga2yop2r0n] {
    position: absolute;
    width: min(440px, 90vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.24), rgba(212, 175, 55, 0.08) 44%, transparent 72% );
    filter: blur(42px);
    z-index: -1;
    pointer-events: none;
}


/* =========================================================
   PANTALLA
   ========================================================= */

.hero-phone__preview[b-ga2yop2r0n] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #08080a;
}


/* =========================================================
   FONDO AMPLIADO
   ========================================================= */

.hero-phone__backdrop[b-ga2yop2r0n] {
    position: absolute;
    inset: -12%;
    width: 124%;
    height: 124%;
    display: block;
    object-fit: cover;
    object-position: 31% center;
    filter: blur(25px) brightness(0.5) saturate(1.1);
    transform: scale(1.08);
    opacity: 0.95;
    pointer-events: none;
}


/* =========================================================
   IMAGEN PRINCIPAL COMPLETA
   ========================================================= */

.hero-phone__image[b-ga2yop2r0n] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    pointer-events: none;
}


/* =========================================================
   REFLEJO INTERIOR
   ========================================================= */

.hero-phone__overlay[b-ga2yop2r0n] {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient( 180deg, rgba(255, 255, 255, 0.05), transparent 30%, rgba(5, 5, 7, 0.17) );
    pointer-events: none;
}


/* =========================================================
   MOCKUP
   ========================================================= */

.hero-phone :deep(.mm-device--iphone)[b-ga2yop2r0n] {
    width: min(100%, 350px);
    animation: heroPhoneFloat-b-ga2yop2r0n 6s ease-in-out infinite;
}


/* =========================================================
   ANIMACIÓN
   ========================================================= */

@keyframes heroPhoneFloat-b-ga2yop2r0n {
    0%, 100% {
        transform: translateY(0) rotate(0.25deg);
    }

    50% {
        transform: translateY(-14px) rotate(-0.25deg);
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {
    .hero-phone :deep(.mm-device--iphone)[b-ga2yop2r0n] {
        width: min(100%, 300px);
    }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .hero-phone :deep(.mm-device--iphone)[b-ga2yop2r0n] {
        animation: none;
    }
}
/* /Components/Section/Hero/HeroScrollIndicator.razor.rz.scp.css */
.hero-scroll[b-gu58c8fxm5] {
    position: absolute;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    z-index: 20;
}

.hero-scroll__text[b-gu58c8fxm5] {
    font-size: .85rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--text-gray);
}

.hero-scroll__mouse[b-gu58c8fxm5] {
    width: 32px;
    height: 54px;
    border: 2px solid rgba(255,255,255,.4);
    border-radius: 30px;
    display: flex;
    justify-content: center;
    padding-top: 8px;
}

.hero-scroll__wheel[b-gu58c8fxm5] {
    width: 5px;
    height: 10px;
    border-radius: 10px;
    background: var(--primary);
    animation: wheel-b-gu58c8fxm5 1.8s infinite;
}

@keyframes wheel-b-gu58c8fxm5 {

    0% {
        transform: translateY(0);
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    100% {
        transform: translateY(18px);
        opacity: 0;
    }
}
/* /Components/Section/Services/ServiceCard.razor.rz.scp.css */
.service-card[b-1jmpj7rfi6] {
    position: relative;
    isolation: isolate;
    min-height: 17rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2rem);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 1.75rem;
    background: linear-gradient( 145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018) );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 25px 65px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.35s ease, box-shadow 0.35s ease;
}

    .service-card:hover[b-1jmpj7rfi6] {
        transform: translateY(-10px);
        border-color: rgba(212, 175, 55, 0.42);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 32px 85px rgba(0, 0, 0, 0.36), 0 18px 48px rgba(212, 175, 55, 0.1);
    }

.service-card__icon[b-1jmpj7rfi6] {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, 0.28);
    border-radius: 1.25rem;
    color: #f5d76e;
    background: linear-gradient( 145deg, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0.045) );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 14px 35px rgba(212, 175, 55, 0.1);
    transition: transform 0.35s ease, color 0.35s ease, background 0.35s ease;
}

.service-card:hover .service-card__icon[b-1jmpj7rfi6] {
    transform: translateY(-3px) rotate(-3deg) scale(1.04);
    color: #fff1ad;
    background: linear-gradient( 145deg, rgba(212, 175, 55, 0.28), rgba(212, 175, 55, 0.08) );
}

.service-card__content[b-1jmpj7rfi6] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.service-card__title[b-1jmpj7rfi6] {
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    font-weight: 700;
    line-height: 1.15;
}

.service-card__description[b-1jmpj7rfi6] {
    margin: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.98rem;
    line-height: 1.75;
}

.service-card__decoration[b-1jmpj7rfi6] {
    position: absolute;
    right: -4rem;
    bottom: -4rem;
    z-index: -1;
    width: 11rem;
    height: 11rem;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.15), transparent 68% );
    filter: blur(8px);
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .service-card[b-1jmpj7rfi6],
    .service-card__icon[b-1jmpj7rfi6] {
        transition: none;
    }

        .service-card:hover[b-1jmpj7rfi6],
        .service-card:hover .service-card__icon[b-1jmpj7rfi6] {
            transform: none;
        }
}
/* /Components/Section/Services/Services.razor.rz.scp.css */
.services[b-z7hxnfsk91] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(6rem, 10vw, 9rem) 0;
    background: linear-gradient( 180deg, #08080a 0%, #0c0b0e 50%, #08080a 100% );
}

.services__background[b-z7hxnfsk91] {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient( rgba(8, 8, 10, 0.82), rgba(8, 8, 10, 0.92) ), url("/images/backgrounds/hero-midnight-orbs.webp") center / cover no-repeat;
    opacity: 0.7;
    pointer-events: none;
}

.services[b-z7hxnfsk91]::before {
    content: "";
    position: absolute;
    top: 8%;
    left: 50%;
    z-index: -1;
    width: min(60rem, 90vw);
    height: 30rem;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(212, 175, 55, 0.12), transparent 68% );
    filter: blur(45px);
    transform: translateX(-50%);
    pointer-events: none;
}

.services .container[b-z7hxnfsk91] {
    position: relative;
    z-index: 2;
}

.services__header[b-z7hxnfsk91] {
    max-width: 52rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin: 0 auto clamp(3.5rem, 7vw, 5.5rem);
    text-align: center;
}

.services__badge[b-z7hxnfsk91] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.62rem 1.1rem;
    border: 1px solid rgba(212, 175, 55, 0.32);
    border-radius: 999px;
    color: #e8c654;
    background: rgba(212, 175, 55, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.services__title[b-z7hxnfsk91] {
    max-width: 48rem;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.7rem, 6vw, 5rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.035em;
}

    .services__title span[b-z7hxnfsk91] {
        display: block;
        color: #d4af37;
    }

.services__description[b-z7hxnfsk91] {
    max-width: 42rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.66);
    font-size: clamp(1rem, 1.6vw, 1.12rem);
    line-height: 1.85;
}

.services__grid[b-z7hxnfsk91] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.1rem, 2vw, 1.6rem);
}

.services__footer[b-z7hxnfsk91] {
    display: flex;
    justify-content: center;
    margin-top: clamp(3rem, 6vw, 4.5rem);
}

.services__cta[b-z7hxnfsk91] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 3.75rem;
    padding: 0.95rem 1.65rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #111111;
    background: linear-gradient( 135deg, #d4af37, #f5d76e );
    box-shadow: 0 18px 45px rgba(212, 175, 55, 0.19);
    font-size: 0.92rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

    .services__cta:hover[b-z7hxnfsk91] {
        transform: translateY(-3px);
        filter: brightness(1.04);
        box-shadow: 0 24px 58px rgba(212, 175, 55, 0.28);
    }

    .services__cta[b-z7hxnfsk91]  .mm-icon {
        transition: transform 0.25s ease;
    }

    .services__cta:hover[b-z7hxnfsk91]  .mm-icon {
        transform: translateX(4px);
    }

@media (max-width: 1000px) {
    .services__grid[b-z7hxnfsk91] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .services[b-z7hxnfsk91] {
        padding: 5.5rem 0;
    }

    .services__grid[b-z7hxnfsk91] {
        grid-template-columns: 1fr;
    }

    .services__title[b-z7hxnfsk91] {
        font-size: clamp(2.55rem, 13vw, 3.65rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .services__cta[b-z7hxnfsk91] {
        transition: none;
    }

        .services__cta:hover[b-z7hxnfsk91] {
            transform: none;
        }
}
/* /Components/Section/Showroom/Showroom.razor.rz.scp.css */
.showroom[b-j8wi845n16] {
    position: relative;
    padding: 140px 0;
    background: linear-gradient( 180deg, #090909, #111, #090909);
    overflow: hidden;
}

    .showroom[b-j8wi845n16]::before {
        content: "";
        position: absolute;
        width: 700px;
        height: 700px;
        border-radius: 50%;
        background: radial-gradient( rgba(212,175,55,.10), transparent 70%);
        left: -250px;
        top: -250px;
        pointer-events: none;
    }

.showroom__header[b-j8wi845n16] {
    max-width: 850px;
    margin: auto;
    text-align: center;
}

.showroom__badge[b-j8wi845n16] {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    background: rgba(212,175,55,.12);
    border: 1px solid rgba(212,175,55,.25);
    color: var(--primary);
    margin-bottom: 30px;
}

.showroom__title[b-j8wi845n16] {
    color: #fff;
    font-size: clamp(2.7rem,5vw,4.7rem);
    font-family: "Cinzel",serif;
    line-height: 1.15;
}

.showroom__description[b-j8wi845n16] {
    margin: 35px auto 60px;
    max-width: 650px;
    color: var(--text-light);
    font-size: 1.15rem;
    line-height: 1.9;
}

.showroom__content[b-j8wi845n16] {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 80px;
    align-items: center;
    margin-top: 70px;
}

@media(max-width:1100px) {

    .showroom__content[b-j8wi845n16] {
        grid-template-columns: 1fr;
    }
}
.showroom[b-j8wi845n16] {
    perspective: 1800px;
}
/* /Components/Section/Showroom/ShowroomCard.razor.rz.scp.css */


    .showroom-card:hover[b-ftnrtsfi3b] {
        transform: translateY(-12px) rotateX(4deg) rotateY(-4deg);
        box-shadow: 0 40px 70px rgba(0,0,0,.45);
    }



.showroom-card[b-ftnrtsfi3b] {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 1.5rem;
    background: rgba(18, 18, 20, .88);
    cursor: pointer;
    transition: transform .45s cubic-bezier(.22, .61, .36, 1), border-color .35s ease, box-shadow .35s ease, opacity .35s ease;
}

.showroom-card__image-container[b-ftnrtsfi3b] {
    position: relative;
    width: 100%;
    /*
     * Coincide con las imágenes 1200 × 800.
     */
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #0b0b0d;
}

.showroom-card__image[b-ftnrtsfi3b] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform .65s cubic-bezier(.22, .61, .36, 1), filter .45s ease;
}

.showroom-card__overlay[b-ftnrtsfi3b] {
    position: absolute;
    inset: 0;
    background: linear-gradient( 180deg, transparent 50%, rgba(5, 5, 7, .42) 100% );
    pointer-events: none;
}

.showroom-card:hover .showroom-card__image[b-ftnrtsfi3b] {
    transform: scale(1.045);
}

.showroom-card.active[b-ftnrtsfi3b] {
    border-color: rgba(212, 175, 55, .7);
    transform: translateY(-10px) scale(1.025);
    box-shadow: 0 0 0 1px rgba(212, 175, 55, .22), 0 28px 70px rgba(0, 0, 0, .42), 0 14px 45px rgba(212, 175, 55, .15);
}





.showroom-card__shine[b-ftnrtsfi3b] {
    position: absolute;
    top: 0;
    left: -150%;
    width: 45%;
    height: 100%;
    transform: skewX(-22deg);
    background: linear-gradient( rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0));
}

.showroom-card:hover .showroom-card__shine[b-ftnrtsfi3b] {
    animation: cardShine-b-ftnrtsfi3b .9s linear;
}

@keyframes cardShine-b-ftnrtsfi3b {

    from {
        left: -150%;
    }

    to {
        left: 180%;
    }
}

.showroom-card__content[b-ftnrtsfi3b] {
    padding: 28px;
}

.showroom-card__category[b-ftnrtsfi3b] {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(212,175,55,.15);
    color: var(--primary);
    font-size: .82rem;
    font-weight: 600;
    margin-bottom: 18px;
}

.showroom-card__content h3[b-ftnrtsfi3b] {
    margin: 0 0 24px;
    color: #fff;
    font-size: 1.45rem;
    font-family: "Cinzel",serif;
}

.showroom-card__button[b-ftnrtsfi3b] {
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    color: #111;
    font-weight: 700;
    background: linear-gradient( 135deg, var(--primary), var(--primary-light));
    transition: .35s;
}

    .showroom-card__button:hover[b-ftnrtsfi3b] {
        transform: translateY(-3px);
        box-shadow: 0 18px 40px rgba(212,175,55,.35);
    }

@media(max-width:992px) {

    .showroom-card[b-ftnrtsfi3b] {
        width: 100%;
    }
}

.showroom-card.active[b-ftnrtsfi3b] {
    transform: translateY(-14px) scale(1.03);
    border-color: rgba(212,175,55,.65);
    box-shadow: 0 0 0 1px rgba(212,175,55,.35), 0 35px 80px rgba(212,175,55,.28);
}

.showroom-card__featured[b-ftnrtsfi3b] {
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient( 135deg, #D4AF37, #F5D76E);
    color: #111;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    z-index: 3;
}
.showroom-card[b-ftnrtsfi3b] {
    transition: transform .55s, opacity .55s, filter .55s, box-shadow .55s;
}
.showroom-card__button[b-ftnrtsfi3b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

    .showroom-card__button[b-ftnrtsfi3b]  .mm-icon {
        transition: transform 0.25s ease;
    }

    .showroom-card__button:hover[b-ftnrtsfi3b]
     .mm-icon {
        transform: translateX(3px);
    }
/* /Components/Section/Showroom/ShowroomCarousel.razor.rz.scp.css */
.showroom-carousel[b-g984q1hd2n] {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(.65rem, 1.5vw, 1.25rem);
}

.showroom-carousel__viewport[b-g984q1hd2n] {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

    .showroom-carousel__viewport[b-g984q1hd2n]::-webkit-scrollbar {
        display: none;
    }

.showroom-carousel__track[b-g984q1hd2n] {
    width: max-content;
    display: flex;
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.75rem);
    /*
       Permite centrar correctamente la primera
       y la última tarjeta.
    */
    padding: 2.5rem max(1rem, calc(50% - 165px));
    /*
       Importante:
       ya no usamos transform para mover el carrusel.
    */
    transform: none !important;
    transition: none;
}

.showroom-carousel :deep(.showroom-card)[b-g984q1hd2n] {
    flex: 0 0 clamp(270px, 28vw, 330px);
}

.showroom-carousel__arrow[b-g984q1hd2n] {
    width: 3.25rem;
    height: 3.25rem;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .055);
    cursor: pointer;
    backdrop-filter: blur(15px);
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

    .showroom-carousel__arrow svg[b-g984q1hd2n] {
        width: 1.35rem;
        height: 1.35rem;
    }

    .showroom-carousel__arrow:hover[b-g984q1hd2n] {
        color: #111;
        background: #d4af37;
        border-color: #d4af37;
        transform: scale(1.06);
        box-shadow: 0 12px 30px rgba(212, 175, 55, .24);
    }

    .showroom-carousel__arrow:active[b-g984q1hd2n] {
        transform: scale(.96);
    }

@media (max-width: 700px) {
    .showroom-carousel[b-g984q1hd2n] {
        grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
        gap: .4rem;
    }

    .showroom-carousel__arrow[b-g984q1hd2n] {
        width: 2.75rem;
        height: 2.75rem;
    }

    .showroom-carousel__track[b-g984q1hd2n] {
        padding: 2rem max(.75rem, calc(50% - 138px));
    }

    .showroom-carousel :deep(.showroom-card)[b-g984q1hd2n] {
        flex-basis: 276px;
    }
}
/* /Components/Section/Showroom/ShowroomFilters.razor.rz.scp.css */
.showroom-filters[b-y4y2a9uvsy] {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 30px;
    margin-bottom: 70px;
}

.showroom-filter[b-y4y2a9uvsy] {
    position: relative;
    padding: 14px 28px;
    border: none;
    outline: none;
    border-radius: 999px;
    cursor: pointer;
    font-size: .95rem;
    font-weight: 600;
    color: #fff;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    transition: .35s;
    overflow: hidden;
}

    .showroom-filter[b-y4y2a9uvsy]::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        transition: .35s;
        background: linear-gradient( 135deg, rgba(212,175,55,.18), rgba(212,175,55,.05));
    }

    .showroom-filter:hover[b-y4y2a9uvsy] {
        color: var(--primary);
        border-color: rgba(212,175,55,.40);
        transform: translateY(-4px);
        box-shadow: 0 18px 35px rgba(212,175,55,.18);
    }

        .showroom-filter:hover[b-y4y2a9uvsy]::before {
            opacity: 1;
        }

    .showroom-filter.active[b-y4y2a9uvsy] {
        color: #111;
        background: linear-gradient( 135deg, var(--primary), var(--primary-light));
        border-color: transparent;
        box-shadow: 0 18px 40px rgba(212,175,55,.35);
    }

        .showroom-filter.active[b-y4y2a9uvsy]::before {
            display: none;
        }

@media(max-width:768px) {

    .showroom-filters[b-y4y2a9uvsy] {
        gap: 12px;
    }

    .showroom-filter[b-y4y2a9uvsy] {
        padding: 12px 22px;
        font-size: .9rem;
    }
}
/* /Components/Section/Showroom/ShowroomPhone.razor.rz.scp.css */
.showroom-phone[b-bj4sfmkj7e] {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.showroom-phone__shadow[b-bj4sfmkj7e] {
    position: absolute;
    width: 320px;
    height: 55px;
    bottom: -30px;
    border-radius: 50%;
    background: rgba(0,0,0,.45);
    filter: blur(18px);
    animation: phoneShadow-b-bj4sfmkj7e 5s ease-in-out infinite;
}

.showroom-device[b-bj4sfmkj7e] {
    animation: phoneFloat-b-bj4sfmkj7e 5s ease-in-out infinite;
}

.showroom-device__frame[b-bj4sfmkj7e] {
    position: relative;
    width: 350px;
    height: 710px;
    padding: 12px;
    border-radius: 52px;
    overflow: hidden;
    background: linear-gradient( 145deg, #5d5d5d, #222);
    box-shadow: 0 60px 120px rgba(0,0,0,.45), inset 0 1px 1px rgba(255,255,255,.25), inset 0 -2px 2px rgba(0,0,0,.45);
}

.showroom-device__screen[b-bj4sfmkj7e] {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 42px;
    background: #000;
}

.showroom-device__viewer[b-bj4sfmkj7e] {
    width: 100%;
    height: 100%;
}

.showroom-device__image[b-bj4sfmkj7e] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .45s, transform .45s;
}

.showroom-device:hover .showroom-device__image[b-bj4sfmkj7e] {
    transform: scale(1.03);
}

.showroom-device__reflection[b-bj4sfmkj7e] {
    position: absolute;
    inset: 0;
    border-radius: 52px;
    overflow: hidden;
    pointer-events: none;
}

    .showroom-device__reflection[b-bj4sfmkj7e]::before {
        content: "";
        position: absolute;
        top: -30%;
        left: -45%;
        width: 45%;
        height: 170%;
        transform: rotate(24deg);
        background: linear-gradient( rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,0));
        animation: deviceReflection-b-bj4sfmkj7e 7s linear infinite;
    }

.showroom-device__island[b-bj4sfmkj7e] {
    position: absolute;
    left: 50%;
    top: 18px;
    transform: translateX(-50%);
    width: 122px;
    height: 34px;
    background: #000;
    border-radius: 40px;
    z-index: 50;
}

@keyframes deviceReflection-b-bj4sfmkj7e {

    from {
        left: -45%;
    }

    to {
        left: 150%;
    }
}

@keyframes phoneFloat-b-bj4sfmkj7e {

    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-18px);
    }
}

@keyframes phoneShadow-b-bj4sfmkj7e {

    0%,100% {
        transform: scale(1);
        opacity: .35;
    }

    50% {
        transform: scale(.88);
        opacity: .15;
    }
}

@media(max-width:1200px) {

    .showroom-device__frame[b-bj4sfmkj7e] {
        width: 310px;
        height: 630px;
    }
}

@media(max-width:768px) {

    .showroom-device__frame[b-bj4sfmkj7e] {
        width: 260px;
        height: 530px;
    }
}
/* /Components/Section/Showroom/ShowroomViewer.razor.rz.scp.css */
/* =========================================================
   SHOWROOM VIEWER
   Vista previa dentro del teléfono
   ========================================================= */

.showroom-viewer[b-dgu6doo5h9] {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #08080a;
}


/* =========================================================
   CONTENEDOR PRINCIPAL
   ========================================================= */

.showroom-viewer__preview[b-dgu6doo5h9] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #08080a;
    animation: showroomViewerReveal-b-dgu6doo5h9 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}


/* =========================================================
   FONDO DESENFOCADO
   Llena la pantalla vertical sin dejar espacios vacíos.
   ========================================================= */

.showroom-viewer__backdrop[b-dgu6doo5h9] {
    position: absolute;
    inset: -12%;
    z-index: 0;
    width: 124%;
    height: 124%;
    display: block;
    object-fit: cover;
    object-position: center;
    filter: blur(25px) brightness(0.48) saturate(1.12);
    transform: scale(1.08);
    opacity: 0.95;
    user-select: none;
    pointer-events: none;
}


/* =========================================================
   IMAGEN PRINCIPAL
   contain evita que se recorten textos o personas.
   ========================================================= */

.showroom-viewer__image[b-dgu6doo5h9] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    user-select: none;
    pointer-events: none;
}


/* =========================================================
   SOMBRA INFERIOR
   ========================================================= */

.showroom-viewer__shade[b-dgu6doo5h9] {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient( 180deg, rgba(5, 5, 7, 0.02) 0%, rgba(5, 5, 7, 0.02) 45%, rgba(5, 5, 7, 0.18) 62%, rgba(5, 5, 7, 0.76) 82%, rgba(5, 5, 7, 0.97) 100% );
    pointer-events: none;
}


/* =========================================================
   INFORMACIÓN
   ========================================================= */

.showroom-viewer__information[b-dgu6doo5h9] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.48rem;
    padding: 1rem 1rem 1.15rem;
}


/* =========================================================
   CATEGORÍA
   ========================================================= */

.showroom-viewer__category[b-dgu6doo5h9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 0.3rem 0.65rem;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.38);
    border-radius: 999px;
    color: #f5d76e;
    background: rgba(8, 8, 10, 0.76);
    font-size: 0.63rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


/* =========================================================
   TÍTULO
   ========================================================= */

.showroom-viewer__title[b-dgu6doo5h9] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.85);
}


/* =========================================================
   BOTÓN
   ========================================================= */

.showroom-viewer__button[b-dgu6doo5h9] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.2rem;
    padding: 0.68rem 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #111111;
    background: linear-gradient( 135deg, #d4af37 0%, #f5d76e 100% );
    box-shadow: 0 10px 24px rgba(212, 175, 55, 0.2);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

    .showroom-viewer__button:hover[b-dgu6doo5h9] {
        transform: translateY(-2px);
        filter: brightness(1.04);
        box-shadow: 0 14px 30px rgba(212, 175, 55, 0.3);
    }

    .showroom-viewer__button:active[b-dgu6doo5h9] {
        transform: translateY(0);
    }

    .showroom-viewer__button:focus-visible[b-dgu6doo5h9] {
        outline: 2px solid #f5d76e;
        outline-offset: 3px;
    }


/* =========================================================
   ESTADO VACÍO
   ========================================================= */

.showroom-viewer__empty[b-dgu6doo5h9] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 2rem;
    color: rgba(255, 255, 255, 0.68);
    text-align: center;
    background: radial-gradient( circle at 50% 35%, rgba(212, 175, 55, 0.14), transparent 58% ), #08080a;
}


/* =========================================================
   ANIMACIÓN
   ========================================================= */

@keyframes showroomViewerReveal-b-dgu6doo5h9 {
    from {
        opacity: 0;
        transform: scale(0.975);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .showroom-viewer__preview[b-dgu6doo5h9] {
        animation: none;
    }

    .showroom-viewer__button[b-dgu6doo5h9] {
        transition: none;
    }
}
/* /Components/Shared/MmIcon.razor.rz.scp.css */
.mm-icon[b-9qndug0cf8] {
    width: var(--mm-icon-size, 1.25rem);
    height: var(--mm-icon-size, 1.25rem);
    display: inline-block;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask-image: var(--mm-icon-url);
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-image: var(--mm-icon-url);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    vertical-align: middle;
}
