@import '_content/Crm.UI/Crm.UI.tnw3ajtnn9.bundle.scp.css';

/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Marco público y de cuenta: logo arriba, contenido centrado, pie sencillo */

.sitio[b-hxz7ceikvc] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ---------- Encabezado con el logo ---------- */
.encabezado[b-hxz7ceikvc] {
    display: flex;
    justify-content: center;
    padding: calc(1.25rem + env(safe-area-inset-top)) 16px 1rem;
    border-bottom: 1px solid var(--borde);
}

.marca[b-hxz7ceikvc] {
    display: inline-flex;
    line-height: 0;
}

    .marca img[b-hxz7ceikvc] {
        width: min(260px, 70vw);
        height: auto;
    }

/* ---------- Contenido ---------- */
.cuerpo[b-hxz7ceikvc] {
    flex: 1;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem 16px 2.5rem;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
}

/* ---------- Pie ---------- */
.pie[b-hxz7ceikvc] {
    text-align: center;
    padding: 1rem 16px calc(1rem + env(safe-area-inset-bottom));
    color: var(--texto-tenue);
    font-size: .9rem;
    border-top: 1px solid var(--borde);
}

/* ---------- Aviso de error de Blazor (oculto hasta que algo falla) ---------- */
#blazor-error-ui[b-hxz7ceikvc] {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    padding: .8rem 3rem .8rem 1.25rem;
    padding-bottom: calc(.8rem + env(safe-area-inset-bottom));
    background: var(--primario);
    color: var(--sobre-primario);
    box-shadow: var(--sombra);
    font-weight: 500;
}

    #blazor-error-ui .reload[b-hxz7ceikvc] {
        color: inherit;
        font-weight: 600;
        margin-left: .5rem;
    }

    #blazor-error-ui .dismiss[b-hxz7ceikvc] {
        cursor: pointer;
        position: absolute;
        right: 1rem;
        top: .7rem;
    }


/* /Components/Layout/PanelLayout.razor.rz.scp.css */
/* ---------- Estructura: celular primero ---------- */
.panel[b-in049efw4l] {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
    /* espacio para que el menú de abajo no tape el contenido */
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
}

/* ---------- Barra superior ---------- */
.barra[b-in049efw4l] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    padding-top: calc(10px + env(safe-area-inset-top));
    background: color-mix(in srgb, var(--fondo) 88%, transparent);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--borde);
}

.logo[b-in049efw4l] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--texto);
    text-decoration: none;
}

.logo-icono[b-in049efw4l] {
    font-size: 1.6rem;
    line-height: 1;
}

.logo-texto[b-in049efw4l] {
    font-family: var(--fuente-logo);
    font-size: 1.35rem;
    color: var(--oro);
}

.barra-acciones[b-in049efw4l] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-tema[b-in049efw4l], .btn-salir[b-in049efw4l] {
    min-height: 40px;
    min-width: 40px;
    border-radius: 999px;
    border: 1px solid var(--borde);
    background: transparent;
    color: var(--texto);
    font: 500 .9rem var(--fuente);
    cursor: pointer;
}

.btn-tema[b-in049efw4l] {
    font-size: 1.1rem;
    padding: 0;
}

.btn-salir[b-in049efw4l] {
    padding: 0 14px;
}

/* Muestra el ícono del tema que está activo */
.tema-dia[b-in049efw4l], .tema-noche[b-in049efw4l] {
    display: none;
}

html:not([data-tema="dia"]) .tema-noche[b-in049efw4l] {
    display: inline;
}

html[data-tema="dia"] .tema-dia[b-in049efw4l] {
    display: inline;
}

.usuario[b-in049efw4l] {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--coral);
    color: var(--sobre-acento);
    font-weight: 700;
}

.salir[b-in049efw4l] {
    margin: 0;
}

/* ---------- Menú: abajo en el celular ---------- */
.menu[b-in049efw4l] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom));
    background: var(--superficie);
    border-top: 1px solid var(--borde);
    box-shadow: 0 -8px 24px -16px rgba(0, 0, 0, .5);
}

    .menu[b-in049efw4l]  .menu-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 56px;
        border-radius: 12px;
        color: var(--texto-tenue);
        text-decoration: none;
        font-size: .78rem;
        font-weight: 500;
    }

        .menu[b-in049efw4l]  .menu-item svg {
            width: 24px;
            height: 24px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .menu[b-in049efw4l]  .menu-item.active {
            color: var(--coral);
            background: color-mix(in srgb, var(--coral) 12%, transparent);
        }

/* ---------- Contenido ---------- */
.contenido[b-in049efw4l] {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 16px 32px;
}

.solo-lector[b-in049efw4l] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* ---------- Computadora: menú a la izquierda ---------- */
@media (min-width: 900px) {
    .panel[b-in049efw4l] {
        grid-template-columns: 220px 1fr;
        grid-template-rows: auto 1fr;
        padding-bottom: 0;
    }

    .barra[b-in049efw4l] {
        grid-column: 1 / -1;
        padding: 12px 24px;
    }

    .menu[b-in049efw4l] {
        position: sticky;
        top: 64px;
        align-self: start;
        display: flex;
        flex-direction: column;
        gap: 4px;
        height: calc(100vh - 64px);
        padding: 16px 12px;
        border-top: 0;
        border-right: 1px solid var(--borde);
        box-shadow: none;
    }

        .menu[b-in049efw4l]  .menu-item {
            flex-direction: row;
            justify-content: flex-start;
            gap: 12px;
            min-height: 48px;
            padding: 0 14px;
            font-size: 1rem;
        }

    .contenido[b-in049efw4l] {
        padding: 28px 32px 48px;
    }
}



/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-m8gxkictwb],
.components-reconnect-repeated-attempt-visible[b-m8gxkictwb],
.components-reconnect-failed-visible[b-m8gxkictwb],
.components-pause-visible[b-m8gxkictwb],
.components-resume-failed-visible[b-m8gxkictwb],
.components-rejoining-animation[b-m8gxkictwb] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-retrying[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-failed[b-m8gxkictwb],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-m8gxkictwb] {
    display: block;
}


#components-reconnect-modal[b-m8gxkictwb] {
    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-m8gxkictwb 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-m8gxkictwb 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-m8gxkictwb 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-m8gxkictwb]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-m8gxkictwb 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-m8gxkictwb {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-m8gxkictwb {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-m8gxkictwb {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-m8gxkictwb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-m8gxkictwb] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-m8gxkictwb] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-m8gxkictwb] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-m8gxkictwb] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-m8gxkictwb] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-m8gxkictwb] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-m8gxkictwb 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-m8gxkictwb] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-m8gxkictwb {
    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/Layout/SitioLayout.razor.rz.scp.css */
/* Marco de la página pública: encabezado, pie y botón flotante de WhatsApp */

.sitio[b-fjpx14om30] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Ancho de lectura para todo el sitio */
.contenedor[b-fjpx14om30] {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
}

.solo-lector[b-fjpx14om30] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* ---------- Encabezado fijo ---------- */
.encabezado[b-fjpx14om30] {
    position: sticky;
    top: 0;
    z-index: 20;
    padding-top: env(safe-area-inset-top);
    background: color-mix(in srgb, var(--fondo) 88%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--borde);
}

.barra[b-fjpx14om30] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 64px;
}

.marca[b-fjpx14om30] {
    display: inline-flex;
    line-height: 0;
    margin-right: auto;
}

    .marca img[b-fjpx14om30] {
        width: clamp(150px, 40vw, 200px);
        height: auto;
    }

/* Menú de secciones: solo en pantallas medianas y grandes */
.menu[b-fjpx14om30] {
    display: none;
    gap: 1.5rem;
}

    .menu a[b-fjpx14om30] {
        color: var(--texto);
        text-decoration: none;
        font-weight: 500;
    }

        .menu a:hover[b-fjpx14om30] {
            color: var(--acento);
        }

.acciones[b-fjpx14om30] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.cta[b-fjpx14om30] {
    min-height: 42px;
    padding: .45rem 1.1rem;
}

/* Botón día/noche */
.btn-tema[b-fjpx14om30] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--borde);
    background: transparent;
    font-size: 1.15rem;
    cursor: pointer;
    line-height: 1;
}

.tema-dia[b-fjpx14om30],
.tema-noche[b-fjpx14om30] {
    display: none;
}

html:not([data-tema="dia"]) .tema-noche[b-fjpx14om30] {
    display: inline;
}

html[data-tema="dia"] .tema-dia[b-fjpx14om30] {
    display: inline;
}

@media (min-width: 900px) {
    .menu[b-fjpx14om30] {
        display: flex;
    }

    .marca[b-fjpx14om30] {
        margin-right: 0;
    }

    .menu[b-fjpx14om30] {
        margin: 0 auto;
    }
}

/* ---------- Contenido ---------- */
.cuerpo[b-fjpx14om30] {
    flex: 1;
}

/* ---------- Pie de página ---------- */
.pie[b-fjpx14om30] {
    margin-top: 3rem;
    padding: 2.5rem 0 calc(1.25rem + env(safe-area-inset-bottom));
    background: var(--superficie);
    border-top: 1px solid var(--borde);
    font-size: .95rem;
}

.pie-grid[b-fjpx14om30] {
    display: grid;
    gap: 1.75rem;
}

@media (min-width: 760px) {
    .pie-grid[b-fjpx14om30] {
        grid-template-columns: 1.4fr 1fr 1fr;
    }
}

.pie p[b-fjpx14om30] {
    margin: 0 0 .35rem;
}

.pie a[b-fjpx14om30] {
    color: var(--texto);
}

    .pie a:hover[b-fjpx14om30] {
        color: var(--acento);
    }

.pie-marca[b-fjpx14om30] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

    .pie-marca img[b-fjpx14om30] {
        width: 64px;
        height: auto;
        flex-shrink: 0;
    }

.pie-nombre[b-fjpx14om30] {
    font-weight: 600;
    font-size: 1.1rem;
}

.pie-titulo[b-fjpx14om30] {
    font-weight: 600;
    color: var(--dorado);
    margin-bottom: .5rem !important;
}

.pie-final[b-fjpx14om30] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem 1rem;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--borde);
    color: var(--texto-tenue);
    font-size: .85rem;
}

.acceso[b-fjpx14om30] {
    color: var(--texto-tenue) !important;
    text-decoration: none;
}

/* ---------- Botón flotante de WhatsApp ---------- */
.whatsapp-flotante[b-fjpx14om30] {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 30;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #25D366; /* verde de WhatsApp: la gente lo reconoce al instante */
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    transition: transform .15s;
}

    .whatsapp-flotante:hover[b-fjpx14om30] {
        transform: scale(1.06);
    }

    .whatsapp-flotante svg[b-fjpx14om30] {
        width: 32px;
        height: 32px;
        fill: none;
        stroke: #fff;
        stroke-width: 1.6;
        stroke-linejoin: round;
    }

        .whatsapp-flotante svg .relleno[b-fjpx14om30] {
            fill: #fff;
            stroke: none;
        }

/* ---------- Aviso de error de Blazor (oculto hasta que algo falla) ---------- */
#blazor-error-ui[b-fjpx14om30] {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    padding: .8rem 3rem .8rem 1.25rem;
    padding-bottom: calc(.8rem + env(safe-area-inset-bottom));
    background: var(--primario);
    color: var(--sobre-primario);
    box-shadow: var(--sombra);
    font-weight: 500;
}

    #blazor-error-ui .reload[b-fjpx14om30] {
        color: inherit;
        font-weight: 600;
        margin-left: .5rem;
    }

    #blazor-error-ui .dismiss[b-fjpx14om30] {
        cursor: pointer;
        position: absolute;
        right: 1rem;
        top: .7rem;
    }


/* /Components/Pages/AvisoPrivacidad.razor.rz.scp.css */
/* Aviso de privacidad: texto largo, cómodo de leer en celular */

.aviso-doc[b-mtc4an45j7] {
    max-width: 760px;
    margin: 0 auto;
    padding: 2.5rem max(16px, env(safe-area-inset-left)) 1rem;
    line-height: 1.65;
}

    .aviso-doc h1[b-mtc4an45j7] {
        font-size: clamp(1.7rem, 5vw, 2.3rem);
        margin-bottom: .25rem;
    }

    .aviso-doc h2[b-mtc4an45j7] {
        font-size: 1.2rem;
        color: var(--dorado);
        margin: 2rem 0 .6rem;
    }

    .aviso-doc ul[b-mtc4an45j7] {
        padding-left: 1.25rem;
        margin: 0 0 1rem;
    }

    .aviso-doc li + li[b-mtc4an45j7] {
        margin-top: .4rem;
    }

    .aviso-doc a[b-mtc4an45j7] {
        word-break: break-word;
    }

.volver[b-mtc4an45j7] {
    margin-top: 2.5rem;
}



/* /Components/Pages/Home.razor.rz.scp.css */
/* Página pública del salón. Solo aplica a Home. */

.contenedor[b-3pjoocszdt] {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
}

.seccion[b-3pjoocszdt] {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.fondo-suave[b-3pjoocszdt] {
    background: var(--superficie-2);
}

.titulo[b-3pjoocszdt] {
    text-align: center;
    font-size: clamp(1.6rem, 5vw, 2.2rem);
    margin-bottom: 1.75rem;
}

.grande[b-3pjoocszdt] {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: .5rem;
}

.nota[b-3pjoocszdt] {
    margin: 1.5rem auto 0;
    max-width: 640px;
}

/* ---------- Portada: siempre en teal profundo, como los posts de la marca ---------- */
.portada[b-3pjoocszdt] {
    position: relative;
    overflow: hidden;
    background: #14444A;
    color: #FFFFFF;
    padding: 3rem 0 3.5rem;
}

.portada-grid[b-3pjoocszdt] {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 2rem;
    text-align: center;
}

@media (min-width: 860px) {
    .portada[b-3pjoocszdt] {
        padding: 5rem 0;
    }

    .portada-grid[b-3pjoocszdt] {
        grid-template-columns: auto 1fr;
        align-items: center;
        justify-items: start;
        text-align: left;
        gap: 3.5rem;
    }
}

.logo-circulo[b-3pjoocszdt] {
    width: clamp(230px, 60vw, 340px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #FFFFFF;
    display: grid;
    place-items: center;
    box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6);
}

    .logo-circulo img[b-3pjoocszdt] {
        width: 78%;
        height: auto;
    }

.portada h1[b-3pjoocszdt] {
    color: #FFFFFF;
    font-size: clamp(2.2rem, 8vw, 3.6rem);
    line-height: 1.05;
    margin-bottom: .75rem;
}

.sub[b-3pjoocszdt] {
    color: #E2C27A;
    font-size: clamp(1.1rem, 3.5vw, 1.4rem);
    margin-bottom: 1rem;
}

/* Promoción en la portada */
.precio-chip[b-3pjoocszdt] {
    display: inline-block;
    padding: .5rem 1.1rem;
    border-radius: 999px;
    border: 2px solid #E2C27A;
    background: rgba(226, 194, 122, .14);
    margin-bottom: 1.5rem;
}

    .precio-chip strong[b-3pjoocszdt] {
        color: #E2C27A;
    }

.portada-botones[b-3pjoocszdt] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: center;
}

@media (min-width: 860px) {
    .portada-botones[b-3pjoocszdt] {
        justify-content: flex-start;
    }
}

/* Dentro de la portada el dorado siempre es el claro, y el botón secundario es blanco */
.portada .btn-primary[b-3pjoocszdt] {
    background: #E2C27A;
    color: #14444A;
}

.btn-claro[b-3pjoocszdt] {
    background: transparent;
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, .5);
}

    .btn-claro:hover[b-3pjoocszdt] {
        border-color: #FFFFFF;
    }

.ubicacion-corta[b-3pjoocszdt] {
    margin: 1.25rem 0 0;
    color: #A9C9C5;
}

/* Serpentinas y confeti: en las esquinas, nunca encima del texto (guía de marca) */
.serpentina[b-3pjoocszdt] {
    position: absolute;
    width: 300px;
    height: auto;
    pointer-events: none;
}

    .serpentina path[b-3pjoocszdt] {
        fill: none;
        stroke-width: 14;
        stroke-linecap: round;
    }

.s1[b-3pjoocszdt] {
    top: -30px;
    right: -60px;
}

    .s1 path[b-3pjoocszdt] {
        stroke: #C49A3A;
    }

.s2[b-3pjoocszdt] {
    top: 40px;
    right: -110px;
}

    .s2 path[b-3pjoocszdt] {
        stroke: #23807A;
    }

.s3[b-3pjoocszdt] {
    bottom: -40px;
    left: -90px;
    transform: rotate(180deg);
}

    .s3 path[b-3pjoocszdt] {
        stroke: #C49A3A;
    }

.confeti[b-3pjoocszdt] {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.c1[b-3pjoocszdt] {
    width: 14px;
    height: 14px;
    background: #C49A3A;
    top: 28%;
    left: 6%;
}

.c2[b-3pjoocszdt] {
    width: 10px;
    height: 10px;
    background: #5FC3BA;
    top: 12%;
    left: 22%;
}

.c3[b-3pjoocszdt] {
    width: 12px;
    height: 12px;
    background: #FFFFFF;
    bottom: 18%;
    right: 10%;
    opacity: .7;
}

@media (max-width: 520px) {
    .s2[b-3pjoocszdt] {
        display: none;
    }

    .serpentina[b-3pjoocszdt] {
        width: 220px;
    }
}

/* ---------- ¿Por qué El Caracol? ---------- */
.razones[b-3pjoocszdt] {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .razones[b-3pjoocszdt] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1000px) {
    .razones[b-3pjoocszdt] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.razon[b-3pjoocszdt] {
    padding: 1.25rem;
    border-radius: var(--radio);
    background: var(--superficie);
    border: 1px solid var(--borde);
}

    .razon h3[b-3pjoocszdt] {
        margin: .5rem 0 .4rem;
    }

    .razon p[b-3pjoocszdt] {
        margin: 0;
        color: var(--texto-tenue);
    }

.razon-icono[b-3pjoocszdt] {
    font-size: 2rem;
}

/* ---------- Paquetes ---------- */
.paquetes[b-3pjoocszdt] {
    display: grid;
    gap: 1.75rem 1.25rem;
    max-width: 860px;
    margin: 0 auto;
}

@media (min-width: 720px) {
    .paquetes[b-3pjoocszdt] {
        grid-template-columns: 1fr 1fr;
    }
}

.paquete[b-3pjoocszdt] {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border-radius: var(--radio);
    background: var(--superficie);
    border: 1px solid var(--borde);
    box-shadow: var(--sombra);
}

    .paquete h3[b-3pjoocszdt] {
        font-size: 1.35rem;
        margin: 0 0 .25rem;
    }

    .paquete ul[b-3pjoocszdt] {
        flex: 1;
        margin: 1rem 0 1.5rem;
        padding-left: 1.2rem;
    }

    .paquete li + li[b-3pjoocszdt] {
        margin-top: .35rem;
    }

    /* 🔥 Promoción: borde y brillo dorado, cinta en la esquina */
    .paquete.promo[b-3pjoocszdt] {
        border: 2px solid var(--dorado);
        background: color-mix(in srgb, var(--dorado) 10%, var(--superficie));
        box-shadow: 0 18px 40px -18px color-mix(in srgb, var(--dorado) 70%, transparent);
    }

.cinta[b-3pjoocszdt] {
    position: absolute;
    top: -15px;
    right: 18px;
    padding: .35rem 1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #E2C27A, #C49A3A);
    color: #14444A;
    font-weight: 700;
    font-size: .95rem;
    box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .4);
}

/* Paquete completo: borde teal, para no competir con la promoción */
.paquete.completo[b-3pjoocszdt] {
    border: 2px solid color-mix(in srgb, var(--acento) 60%, transparent);
}

.paquete-etiqueta[b-3pjoocszdt] {
    margin: 0 0 .5rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--acento);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.paquete-precio[b-3pjoocszdt] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--dorado);
}

    .paquete-precio.chico[b-3pjoocszdt] {
        font-size: 1.35rem;
    }

.precio-nota[b-3pjoocszdt] {
    margin: .2rem 0 0;
    font-size: .95rem;
    color: var(--texto-tenue);
}

/* ---------- Celebramos ---------- */
.eventos[b-3pjoocszdt] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
}

@media (min-width: 640px) {
    .eventos[b-3pjoocszdt] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1000px) {
    .eventos[b-3pjoocszdt] {
        grid-template-columns: repeat(6, 1fr);
    }
}

.evento[b-3pjoocszdt] {
    padding: 1.25rem .75rem;
    border-radius: var(--radio);
    background: var(--superficie);
    border: 1px solid var(--borde);
    text-align: center;
}

    .evento span[b-3pjoocszdt] {
        font-size: 2.2rem;
    }

    .evento p[b-3pjoocszdt] {
        margin: .4rem 0 0;
        font-weight: 600;
    }

.redes[b-3pjoocszdt] {
    margin-top: 2rem;
}

.redes-botones[b-3pjoocszdt] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: center;
}

/* ---------- Ubicación ---------- */
.ubicacion-grid[b-3pjoocszdt] {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 860px) {
    .ubicacion-grid[b-3pjoocszdt] {
        grid-template-columns: 1.5fr 1fr;
        align-items: stretch;
    }
}

.mapa[b-3pjoocszdt] {
    min-height: 320px;
    border-radius: var(--radio);
    overflow: hidden;
    border: 1px solid var(--borde);
    background: var(--superficie-2);
}

    .mapa iframe[b-3pjoocszdt] {
        width: 100%;
        height: 100%;
        min-height: 320px;
        border: 0;
        display: block;
    }

.direccion p[b-3pjoocszdt] {
    margin-bottom: 1rem;
}

/* ---------- Cierre ---------- */
.cierre[b-3pjoocszdt] {
    padding: 3.5rem 0 4.5rem;
    background: #14444A;
    color: #FFFFFF;
}

    .cierre h2[b-3pjoocszdt] {
        color: #FFFFFF;
        font-size: clamp(1.6rem, 5vw, 2.2rem);
    }

    .cierre p[b-3pjoocszdt] {
        color: #A9C9C5;
        margin-bottom: 1.5rem;
    }

    .cierre .btn-primary[b-3pjoocszdt] {
        background: #E2C27A;
        color: #14444A;
    }



/* /Components/Pages/Panel/Agenda.razor.rz.scp.css */
/* Agenda del panel (/panel/agenda). Solo aplica a esta página. */

/* ---------- Ancho máximo en computadora (igual que Nueva fiesta) ---------- */
.encabezado[b-phory5ctoj],
.tarjeta[b-phory5ctoj] {
    max-width: 760px;
}

/* ---------- Título + botón Nueva fiesta ---------- */
.encabezado[b-phory5ctoj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

    .encabezado p[b-phory5ctoj] {
        margin: 0;
    }

.nueva[b-phory5ctoj] {
    flex-shrink: 0;
    box-shadow: var(--sombra);
}

/* ---------- Encabezado del día elegido ---------- */
.dia-encabezado[b-phory5ctoj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

    .dia-encabezado h2[b-phory5ctoj] {
        margin: 0;
    }

.conteo[b-phory5ctoj] {
    margin: .2rem 0 0;
    font-size: .95rem;
}

/* 🔥 Alta demanda: 2+ interesados y nadie ha apartado */
.alta-demanda[b-phory5ctoj] {
    margin: 0 0 1rem;
    padding: .65rem .9rem;
    border-radius: var(--radio-chico);
    background: color-mix(in srgb, var(--dorado) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--dorado) 60%, transparent);
    font-size: .95rem;
}

/* ---------- Lista de fiestas del día ---------- */
.lista[b-phory5ctoj] {
    display: grid;
    gap: .85rem;
}

.fiesta[b-phory5ctoj] {
    --etapa: #6C757D; /* el color real llega desde la etapa (style en el HTML) */
    padding: 1rem 1rem .9rem;
    border-radius: var(--radio-chico);
}

    /* 📌 Fecha apartada: dorado, borde sólido, "esto ya es un hecho" */
    .fiesta.apartada[b-phory5ctoj] {
        background: color-mix(in srgb, var(--dorado) 14%, var(--superficie));
        border: 2px solid var(--dorado);
    }

    /* 👀 Interesado: borde punteado, "esto todavía puede cambiar" */
    .fiesta.interesado[b-phory5ctoj] {
        background: transparent;
        border: 2px dashed color-mix(in srgb, var(--acento) 55%, transparent);
    }

/* ---------- Primera línea: sello, etapa y folio ---------- */
.fiesta-arriba[b-phory5ctoj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem .5rem;
    margin-bottom: .5rem;
}

.sello[b-phory5ctoj] {
    padding: .2rem .7rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 700;
}

.apartada .sello[b-phory5ctoj] {
    background: var(--primario);
    color: var(--sobre-primario);
}

.interesado .sello[b-phory5ctoj] {
    background: color-mix(in srgb, var(--acento) 16%, transparent);
    color: var(--acento);
}

.etapa[b-phory5ctoj] {
    padding: .15rem .6rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: color-mix(in srgb, var(--etapa) 20%, transparent);
    border: 1px solid color-mix(in srgb, var(--etapa) 55%, transparent);
}

.folio[b-phory5ctoj] {
    margin-left: auto;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--dorado);
    font-size: .9rem;
}

/* ---------- Datos ---------- */
.fiesta h3[b-phory5ctoj] {
    margin: 0 0 .4rem;
    font-size: 1.1rem;
}

.detalle[b-phory5ctoj] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
    margin: 0 0 .35rem;
    font-size: .95rem;
}

/* ---------- Dinero de la fiesta apartada: pagado, saldo, fecha límite ---------- */
.cifras[b-phory5ctoj] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: .5rem;
    margin: .6rem 0 0;
}

    .cifras div[b-phory5ctoj] {
        padding: .5rem .7rem;
        border-radius: 8px;
        background: var(--superficie);
        border: 1px solid var(--borde);
    }

    .cifras dt[b-phory5ctoj] {
        font-size: .8rem;
        color: var(--texto-tenue);
    }

    .cifras dd[b-phory5ctoj] {
        margin: 0;
        font-size: 1.05rem;
        font-weight: 700;
    }

        .cifras dd.debe[b-phory5ctoj] {
            color: var(--dorado);
        }

/* Avisos cortos: falta comprobante, anticipo corto con banquete */
.aviso-chico[b-phory5ctoj] {
    margin: .5rem 0 0;
    font-size: .9rem;
    font-weight: 500;
}

/* ---------- Pendientes del contrato ---------- */
.pendientes[b-phory5ctoj],
.completo[b-phory5ctoj] {
    margin: .5rem 0 0;
    padding: .45rem .7rem;
    border-radius: 8px;
    font-size: .9rem;
}

.pendientes[b-phory5ctoj] {
    background: color-mix(in srgb, var(--peligro) 10%, transparent);
    border-left: 3px solid var(--peligro);
}

.completo[b-phory5ctoj] {
    background: color-mix(in srgb, var(--exito) 12%, transparent);
    border-left: 3px solid var(--exito);
}

/* ---------- Abajo: qué hacer + botones ---------- */
.accion[b-phory5ctoj] {
    margin: .8rem 0 0;
    font-weight: 600;
    font-size: .95rem;
}

.botones[b-phory5ctoj] {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
    margin-top: .6rem;
}

    .botones .btn[b-phory5ctoj] {
        min-height: 44px;
    }

/* En pantallas medianas y grandes, los botones van lado a lado, a la derecha */
@media (min-width: 560px) {
    .botones[b-phory5ctoj] {
        display: flex;
        justify-content: flex-end;
    }
}



/* /Components/Pages/Panel/Fiesta.razor.rz.scp.css */
/* Ficha de la fiesta (/panel/fiesta/{id}). Solo aplica a esta página. */

/* ---------- Ancho máximo en computadora (igual que el resto del panel) ---------- */
.volver[b-469ekaix2k],
.tarjeta[b-469ekaix2k],
.aviso.ok[b-469ekaix2k] {
    max-width: 760px;
}

.volver[b-469ekaix2k] {
    display: inline-block;
    margin-bottom: .5rem;
    padding: .35rem 0;
    font-weight: 500;
    text-decoration: none;
}

h2[b-469ekaix2k] {
    font-size: 1.15rem;
    margin: 0 0 1rem;
    color: var(--dorado);
}

.titulo-seccion[b-469ekaix2k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
}

    .titulo-seccion h2[b-469ekaix2k] {
        margin: 0;
    }

.chico[b-469ekaix2k] {
    min-height: 40px;
    padding: .4rem 1rem;
    font-size: .9rem;
}

/* ---------- Cabecera: el estado se nota de un vistazo ---------- */
.cabecera h1[b-469ekaix2k] {
    margin: .5rem 0 .4rem;
    font-size: clamp(1.4rem, 4.5vw, 1.9rem);
}

.cabecera.apartada[b-469ekaix2k] {
    background: color-mix(in srgb, var(--dorado) 12%, var(--superficie));
    border: 2px solid var(--dorado);
}

.cabecera.interesado[b-469ekaix2k] {
    border: 2px dashed color-mix(in srgb, var(--acento) 55%, transparent);
}

.cabecera.perdida[b-469ekaix2k] {
    opacity: .85;
    border: 2px solid var(--borde);
}

.fila[b-469ekaix2k] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem .5rem;
}

.sello[b-469ekaix2k] {
    padding: .2rem .75rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 700;
    background: color-mix(in srgb, var(--acento) 16%, transparent);
    color: var(--acento);
}

.apartada .sello[b-469ekaix2k] {
    background: var(--primario);
    color: var(--sobre-primario);
}

.perdida .sello[b-469ekaix2k] {
    background: color-mix(in srgb, var(--peligro) 15%, transparent);
    color: var(--peligro);
}

.etapa[b-469ekaix2k] {
    --etapa: #6C757D;
    padding: .15rem .6rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    background: color-mix(in srgb, var(--etapa) 20%, transparent);
    border: 1px solid color-mix(in srgb, var(--etapa) 55%, transparent);
}

.folio[b-469ekaix2k] {
    margin-left: auto;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--dorado);
}

.dato-grande[b-469ekaix2k] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.25rem;
    margin: 0 0 .35rem;
    font-weight: 600;
    font-size: 1.05rem;
}

.texto-peligro[b-469ekaix2k] {
    color: var(--peligro);
}

/* ---------- Botones ---------- */
.botones[b-469ekaix2k] {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
    margin-top: 1rem;
}

    .botones .btn[b-469ekaix2k] {
        min-height: 44px;
    }

@media (min-width: 560px) {
    .botones[b-469ekaix2k] {
        display: flex;
        justify-content: flex-end;
    }
}

.btn-peligro[b-469ekaix2k] {
    background: var(--peligro);
    color: #fff;
}

/* ---------- Avisos ---------- */
.aviso[b-469ekaix2k] {
    margin: .6rem 0 0;
    padding: .6rem .85rem;
    border-radius: var(--radio-chico);
    background: color-mix(in srgb, var(--acento) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--acento) 40%, transparent);
    font-size: .95rem;
}

    .aviso.alerta[b-469ekaix2k] {
        background: color-mix(in srgb, var(--dorado) 14%, transparent);
        border-color: color-mix(in srgb, var(--dorado) 55%, transparent);
    }

    .aviso.ok[b-469ekaix2k] {
        background: color-mix(in srgb, var(--exito) 14%, transparent);
        border-color: color-mix(in srgb, var(--exito) 50%, transparent);
        font-weight: 600;
    }

/* ---------- Cifras: precio, pagado, saldo, fecha límite ---------- */
.cifras[b-469ekaix2k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: .5rem;
    margin: 0;
}

    .cifras div[b-469ekaix2k] {
        padding: .6rem .8rem;
        border-radius: var(--radio-chico);
        background: var(--superficie-2);
    }

    .cifras dt[b-469ekaix2k] {
        font-size: .82rem;
        color: var(--texto-tenue);
    }

    .cifras dd[b-469ekaix2k] {
        margin: 0;
        font-size: 1.15rem;
        font-weight: 700;
    }

        .cifras dd.debe[b-469ekaix2k] {
            color: var(--dorado);
        }

/* ---------- Lista de pagos ---------- */
.pagos[b-469ekaix2k] {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: .5rem;
}

    .pagos li[b-469ekaix2k] {
        padding: .65rem .85rem;
        border-radius: var(--radio-chico);
        border: 1px solid var(--borde);
        border-left: 4px solid var(--exito);
    }

        .pagos li.devolucion[b-469ekaix2k] {
            border-left-color: var(--peligro);
        }

.pago-arriba[b-469ekaix2k] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.monto[b-469ekaix2k] {
    white-space: nowrap;
}

.pago-abajo[b-469ekaix2k] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .25rem 1rem;
    margin-top: .2rem;
    font-size: .9rem;
}

    .pago-abajo a[b-469ekaix2k] {
        font-weight: 600;
    }

.falta[b-469ekaix2k] {
    color: var(--dorado);
    font-weight: 600;
}

/* ---------- Formularios dentro de la ficha ---------- */
.panel-form[b-469ekaix2k] {
    padding: 1rem;
    border-radius: var(--radio-chico);
    background: var(--superficie-2);
}

.dos-columnas[b-469ekaix2k] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1rem;
}

@media (min-width: 560px) {
    .dos-columnas[b-469ekaix2k] {
        grid-template-columns: 1fr 1fr;
    }
}

.etiqueta[b-469ekaix2k] {
    font-weight: 500;
    margin: 0 0 .35rem;
}

.nota-campo[b-469ekaix2k] {
    font-size: .9rem;
    margin: -.5rem 0 1rem;
}

.sub[b-469ekaix2k] {
    margin: .75rem 0 0 .4rem;
    padding-left: 1rem;
    border-left: 3px solid var(--borde);
}

.fecha-elegida[b-469ekaix2k] {
    margin: .75rem 0 0;
    font-weight: 600;
    color: var(--acento);
}

/* ---------- Botones de opción ---------- */
.opciones[b-469ekaix2k] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
}

    .opciones.dos[b-469ekaix2k] {
        grid-template-columns: repeat(2, 1fr);
    }

    .opciones.cuatro[b-469ekaix2k] {
        grid-template-columns: repeat(2, 1fr);
    }

@media (min-width: 560px) {
    .opciones.cuatro[b-469ekaix2k] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.opcion[b-469ekaix2k] {
    min-height: 46px;
    padding: .5rem;
    border: 1.5px solid var(--borde);
    border-radius: var(--radio-chico);
    background: var(--superficie);
    color: var(--texto);
    font: 500 .95rem var(--fuente);
    line-height: 1.2;
    cursor: pointer;
}

    .opcion:hover[b-469ekaix2k] {
        border-color: var(--acento);
    }

    .opcion.activa[b-469ekaix2k] {
        background: var(--acento);
        border-color: var(--acento);
        color: var(--sobre-acento);
        font-weight: 600;
    }

/* ---------- Subir comprobante ---------- */
.subir[b-469ekaix2k] {
    position: relative;
    cursor: pointer;
    border-style: dashed;
}

    /* El selector de archivos del navegador se oculta; la etiqueta hace de botón */
    .subir[b-469ekaix2k]  input[type=file] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

    .subir:focus-within[b-469ekaix2k] {
        outline: 3px solid var(--dorado);
        outline-offset: 2px;
    }

.archivo[b-469ekaix2k] {
    margin: .6rem 0 0;
    word-break: break-all;
}

    .archivo .btn-link[b-469ekaix2k] {
        font-size: .9rem;
        color: var(--texto-tenue);
        margin-left: .5rem;
    }

/* ---------- Datos del evento (solo lectura) ---------- */
.datos[b-469ekaix2k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .5rem 1rem;
    margin: 0;
}

    .datos .ancho[b-469ekaix2k] {
        grid-column: 1 / -1;
    }

    .datos dt[b-469ekaix2k] {
        font-size: .82rem;
        color: var(--texto-tenue);
    }

    .datos dd[b-469ekaix2k] {
        margin: 0;
        font-weight: 600;
    }

.pendientes[b-469ekaix2k],
.completo[b-469ekaix2k] {
    padding: .45rem .7rem;
    border-radius: 8px;
    font-size: .9rem;
}

.pendientes[b-469ekaix2k] {
    background: color-mix(in srgb, var(--peligro) 10%, transparent);
    border-left: 3px solid var(--peligro);
}

.completo[b-469ekaix2k] {
    background: color-mix(in srgb, var(--exito) 12%, transparent);
    border-left: 3px solid var(--exito);
}

/* ---------- Bitácora ---------- */
.bitacora[b-469ekaix2k] {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .bitacora li[b-469ekaix2k] {
        display: grid;
        grid-template-columns: 2rem 1fr;
        gap: .5rem;
        padding: .6rem 0;
        border-bottom: 1px solid var(--borde);
    }

        .bitacora li:last-child[b-469ekaix2k] {
            border-bottom: 0;
        }

    .bitacora p[b-469ekaix2k] {
        margin: 0;
    }

.icono[b-469ekaix2k] {
    font-size: 1.2rem;
    line-height: 1.4;
}

.cuando[b-469ekaix2k] {
    font-size: .82rem;
    margin-top: .15rem !important;
}

/* ---------- Zona de cuidado: marcar como perdida ---------- */
.zona-cuidado[b-469ekaix2k] {
    background: transparent;
    box-shadow: none;
    border: 1px dashed var(--borde);
}

    .zona-cuidado .btn-link[b-469ekaix2k] {
        color: var(--texto-tenue);
        font-size: .95rem;
    }

    .zona-cuidado h2[b-469ekaix2k] {
        color: var(--peligro);
    }



/* /Components/Pages/Panel/NuevaFiesta.razor.rz.scp.css */
/* Captura rápida de fiestas (/panel/nueva). Solo aplica a esta página. */

/* ---------- Ancho máximo: en computadora el formulario no se estira de más ---------- */
.volver[b-s3buezk4p3],
h1[b-s3buezk4p3],
.tarjeta:not(.exito)[b-s3buezk4p3],
.alert[b-s3buezk4p3],
.guardar[b-s3buezk4p3] {
    max-width: 760px;
}

/* ---------- Encabezado ---------- */
.volver[b-s3buezk4p3] {
    display: inline-block;
    margin-bottom: .5rem;
    padding: .35rem 0;
    font-weight: 500;
    text-decoration: none;
}

h2[b-s3buezk4p3] {
    font-size: 1.15rem;
    margin-bottom: 1rem;
    color: var(--dorado);
}

/* ---------- Campos ---------- */
.dos-columnas[b-s3buezk4p3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1rem;
}

@media (min-width: 560px) {
    .dos-columnas[b-s3buezk4p3] {
        grid-template-columns: 1fr 1fr;
    }
}

.nota-campo[b-s3buezk4p3] {
    font-size: .9rem;
    margin: .35rem 0 0;
}

.etiqueta[b-s3buezk4p3] {
    font-weight: 500;
    margin: 0 0 .35rem;
}

/* Detalle que aparece al activar mantel o banquete */
.sub[b-s3buezk4p3] {
    margin: .75rem 0 0 .4rem;
    padding-left: 1rem;
    border-left: 3px solid var(--borde);
}

/* ---------- Avisos ---------- */
.aviso[b-s3buezk4p3] {
    margin: .5rem 0 0;
    padding: .6rem .85rem;
    border-radius: var(--radio-chico);
    background: color-mix(in srgb, var(--acento) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--acento) 45%, transparent);
    font-size: .95rem;
}

.fecha-elegida[b-s3buezk4p3] {
    margin: .75rem 0 0;
    font-weight: 600;
    color: var(--acento);
    display: flex;
    align-items: center;
    gap: .75rem;
}

    .fecha-elegida .btn-link[b-s3buezk4p3] {
        font-weight: 400;
        font-size: .9rem;
        color: var(--texto-tenue);
    }

.resumen-horas[b-s3buezk4p3] {
    margin: 0 0 1rem;
    padding: .6rem .85rem;
    border-radius: var(--radio-chico);
    background: var(--superficie-2);
    font-size: .95rem;
}

    .resumen-horas.con-extra[b-s3buezk4p3] {
        border: 1px solid var(--dorado);
    }

/* ---------- Mantel / Banquete: casilla grande y fácil de tocar ---------- */
.interruptor[b-s3buezk4p3] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 48px;
    margin: 0;
    font-weight: 600;
    cursor: pointer;
}

    .interruptor input[type=checkbox][b-s3buezk4p3] {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

/* ---------- Sonido: botones de opción ---------- */
.opciones[b-s3buezk4p3] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
}

.opcion[b-s3buezk4p3] {
    min-height: 48px;
    padding: .5rem;
    border: 1.5px solid var(--borde);
    border-radius: var(--radio-chico);
    background: transparent;
    color: var(--texto);
    font: 500 .95rem var(--fuente);
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}

    .opcion:hover:not(:disabled)[b-s3buezk4p3] {
        border-color: var(--acento);
    }

    .opcion.activa[b-s3buezk4p3] {
        background: var(--acento);
        border-color: var(--acento);
        color: var(--sobre-acento);
        font-weight: 600;
    }

    .opcion:disabled[b-s3buezk4p3] {
        opacity: .4;
        cursor: not-allowed;
    }

/* ---------- Errores ---------- */
.errores[b-s3buezk4p3] {
    margin: 0;
    padding-left: 1.2rem;
}

    .errores li + li[b-s3buezk4p3] {
        margin-top: .25rem;
    }

/* ---------- Botón Guardar: siempre a la mano ---------- */
.guardar[b-s3buezk4p3] {
    position: sticky;
    /* en celular queda justo arriba del menú de abajo */
    bottom: calc(72px + env(safe-area-inset-bottom) + .75rem);
    z-index: 5;
    box-shadow: var(--sombra);
}

@media (min-width: 900px) {
    .guardar[b-s3buezk4p3] {
        bottom: 1rem;
    }
}

/* ---------- Pantalla de éxito ---------- */
.exito[b-s3buezk4p3] {
    text-align: center;
    max-width: 480px;
    margin: 1rem auto 0;
}

    .exito h1[b-s3buezk4p3] {
        margin-bottom: .25rem;
    }

.folio[b-s3buezk4p3] {
    display: inline-block;
    margin: 0 0 .75rem;
    padding: .3rem 1rem;
    border-radius: 999px;
    background: var(--primario);
    color: var(--sobre-primario);
    font-weight: 700;
    letter-spacing: .05em;
}

.resumen[b-s3buezk4p3] {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: .25rem;
}



/* /Components/Publico/ConsultaFechas.razor.rz.scp.css */
/* Consulta de fechas (página pública): datos primero, calendario después */

.consulta[b-jwsdik3pj6] {
    margin-top: 1.5rem;
}

.paso-datos[b-jwsdik3pj6] {
    max-width: 640px;
    margin: 0 auto;
}

    .paso-datos h3[b-jwsdik3pj6] {
        font-size: 1.35rem;
        margin-bottom: .35rem;
    }

.dos-columnas[b-jwsdik3pj6] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1rem;
}

@media (min-width: 560px) {
    .dos-columnas[b-jwsdik3pj6] {
        grid-template-columns: 1fr 1fr;
    }
}

/* Trampa para robots: fuera de la pantalla (no display:none, que algunos bots detectan) */
.trampa[b-jwsdik3pj6] {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.aviso[b-jwsdik3pj6] {
    margin: .5rem 0 0;
    padding: .6rem .85rem;
    border-radius: var(--radio-chico);
    font-size: .95rem;
}

    .aviso.alerta[b-jwsdik3pj6] {
        background: color-mix(in srgb, var(--dorado) 14%, transparent);
        border: 1px solid color-mix(in srgb, var(--dorado) 55%, transparent);
    }

.aviso-privacidad[b-jwsdik3pj6] {
    margin: .85rem 0 0;
    font-size: .82rem;
    color: var(--texto-tenue);
    text-align: center;
}

/* ---------- Paso 2 ---------- */
.saludo[b-jwsdik3pj6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .25rem 1rem;
    margin-bottom: 1rem;
    text-align: center;
}

    .saludo p[b-jwsdik3pj6] {
        margin: 0;
        font-size: 1.1rem;
    }

    .saludo .btn-link[b-jwsdik3pj6] {
        font-size: .9rem;
        color: var(--texto-tenue);
    }

.fechas-grid[b-jwsdik3pj6] {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

@media (min-width: 860px) {
    .fechas-grid[b-jwsdik3pj6] {
        grid-template-columns: 1.1fr .9fr;
    }
}

.pista-mes[b-jwsdik3pj6] {
    margin: .75rem 0 0;
    font-size: .9rem;
}

.resultado .tarjeta[b-jwsdik3pj6] {
    text-align: center;
}

.disponible[b-jwsdik3pj6] {
    border: 2px solid var(--acento);
}

.grande[b-jwsdik3pj6] {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: .5rem;
}



