/* /Layout/AssistantWidget.razor.rz.scp.css */
/* The FAB floats over page content, so it has to clear two things a desktop layout never has:
   the iPhone home-indicator strip (safe-area-inset-bottom), and the sticky confirm bars the
   booking grid and the class list pin to the bottom of the viewport. Sitting a full bar-height
   above the inset keeps it from covering "Confirmar turno". */
.aq-assistant[b-ks6wmikgwu] {
    position: fixed;
    right: calc(1rem + var(--aq-safe-right, 0px));
    bottom: calc(1.25rem + var(--aq-safe-bottom, 0px));
    z-index: 1050;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
}

.aq-assistant-fab[b-ks6wmikgwu] {
    width: 3.25rem;
    height: 3.25rem;
    border: none;
    border-radius: 50%;
    background-color: var(--aq-primary, #0d6efd);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    cursor: pointer;
}

    .aq-assistant-fab:hover[b-ks6wmikgwu] {
        filter: brightness(1.1);
    }

/* 100vh on a phone is the viewport *without* the collapsible browser chrome, so the panel used
   to run off the bottom of the screen until the toolbar hid itself. dvh tracks the real box, and
   the insets keep the panel off the notch and the home indicator. */
.aq-assistant-panel[b-ks6wmikgwu] {
    width: min(22rem, calc(100vw - 2rem - var(--aq-safe-left, 0px) - var(--aq-safe-right, 0px)));
    height: min(28rem, calc(100dvh - 8rem - var(--aq-safe-top, 0px) - var(--aq-safe-bottom, 0px)));
    display: flex;
    flex-direction: column;
    background-color: var(--aq-surface, #fff);
    border: 1px solid var(--aq-border, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.aq-assistant-header[b-ks6wmikgwu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.9rem;
    background-color: var(--aq-primary, #0d6efd);
    color: #fff;
    font-weight: 600;
}

.aq-assistant-icon-btn[b-ks6wmikgwu] {
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.95rem;
    margin-left: 0.4rem;
    cursor: pointer;
    opacity: 0.85;
}

    .aq-assistant-icon-btn:hover[b-ks6wmikgwu] {
        opacity: 1;
    }

.aq-assistant-body[b-ks6wmikgwu] {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.aq-assistant-hint[b-ks6wmikgwu] {
    color: #6c757d;
    font-size: 0.85rem;
    text-align: center;
    margin-top: 1rem;
}

.aq-assistant-msg[b-ks6wmikgwu] {
    max-width: 85%;
    padding: 0.45rem 0.7rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    white-space: pre-wrap;
    overflow-wrap: break-word;
}

    .aq-assistant-msg.from-user[b-ks6wmikgwu] {
        align-self: flex-end;
        background-color: var(--aq-primary, #0d6efd);
        color: #fff;
        border-bottom-right-radius: 0.2rem;
    }

    .aq-assistant-msg.from-assistant[b-ks6wmikgwu] {
        align-self: flex-start;
        background-color: var(--aq-primary-soft, #e9ecef);
        color: inherit;
        border-bottom-left-radius: 0.2rem;
    }

.aq-assistant-typing[b-ks6wmikgwu] {
    color: #6c757d;
    font-style: italic;
}

.aq-assistant-error[b-ks6wmikgwu] {
    font-size: 0.8rem;
    color: #dc3545;
    text-align: center;
}

.aq-assistant-input[b-ks6wmikgwu] {
    display: flex;
    gap: 0.4rem;
    padding: 0.6rem;
    border-top: 1px solid var(--aq-border, #dee2e6);
}

    .aq-assistant-input input[b-ks6wmikgwu] {
        flex: 1;
        font-size: 0.875rem;
    }

    .aq-assistant-input .btn[b-ks6wmikgwu] {
        font-size: 0.875rem;
    }
/* /Layout/LanguageSelector.razor.rz.scp.css */
.aq-lang-selector[b-mdrq53qnyu] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.aq-lang-icon[b-mdrq53qnyu] {
    font-size: 0.9rem;
    line-height: 1;
    opacity: 0.75;
}

.aq-lang-select[b-mdrq53qnyu] {
    width: auto;
    min-width: 6.5rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-evuxew39cr] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    padding-left: var(--aq-safe-left, 0px);
    padding-right: var(--aq-safe-right, 0px);
}

main[b-evuxew39cr] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.sidebar[b-evuxew39cr] {
    background-image: var(--aq-sidebar-gradient, linear-gradient(180deg, #1b0a4d 0%, #3812a5 100%));
}

.top-row[b-evuxew39cr] {
    background-color: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--aq-border, #e6e5f0);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-chip[b-evuxew39cr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.user-avatar[b-evuxew39cr] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--aq-primary, #4f2ed9) 0%, var(--aq-primary-dark, #3812a5) 100%);
}

.user-name[b-evuxew39cr] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--aq-text, #1f2937);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-row[b-evuxew39cr]  a, .top-row[b-evuxew39cr]  .btn-link {
    white-space: nowrap;
    text-decoration: none;
}

    .top-row[b-evuxew39cr]  a:hover, .top-row[b-evuxew39cr]  .btn-link:hover {
        text-decoration: underline;
    }

.top-row[b-evuxew39cr]  .logout-btn {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}

article.content[b-evuxew39cr] {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: calc(1.5rem + var(--aq-safe-bottom, 0px));
}

@media (max-width: 640.98px) {
    .top-row[b-evuxew39cr] {
        justify-content: space-between;
    }

    .user-name[b-evuxew39cr] {
        max-width: 40vw;
    }
}

@media (min-width: 641px) {
    .page[b-evuxew39cr] {
        flex-direction: row;
    }

    .sidebar[b-evuxew39cr] {
        width: 260px;
        flex-shrink: 0;
        height: 100vh;
        height: 100dvh;
        position: sticky;
        top: 0;
    }

    .top-row[b-evuxew39cr] {
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .top-row[b-evuxew39cr], article[b-evuxew39cr] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-bz8zezme66] {
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
}

.top-row[b-bz8zezme66] {
    min-height: 3.5rem;
    background-color: rgba(0, 0, 0, 0.35);
    padding-top: var(--aq-safe-top, 0px);
}

.navbar-brand[b-bz8zezme66] {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    gap: 0.55rem;
}

.brand-logo[b-bz8zezme66] {
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.nav-section[b-bz8zezme66] {
    padding: 1.125rem 1rem 0.3rem 1.7rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    user-select: none;
}

/* Monochrome icons: each SVG is a mask filled with the link's currentColor,
   so they dim/brighten together with the label. */
.rt-ico[b-bz8zezme66] {
    display: inline-block;
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.8rem;
    background-color: currentColor;
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

.rt-ico-panel[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.rt-ico-reservas[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zM3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v1H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm6.854 8.854a.5.5 0 0 0-.708-.708L7.5 10.293 6.354 9.146a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z'/%3E%3C/svg%3E");
}

.rt-ico-clases[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917l-7.5-3.5Z'/%3E%3Cpath d='M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466 4.176 9.032Z'/%3E%3C/svg%3E");
}

.rt-ico-calendario[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zM3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v1H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-6 3h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.rt-ico-horarios[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3C/svg%3E");
}

.rt-ico-clientes[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7Zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216ZM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
}

.rt-ico-servicios[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z'/%3E%3C/svg%3E");
}

.rt-ico-recursos[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z'/%3E%3C/svg%3E");
}

.rt-ico-membresias[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.rt-ico-novedades[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-.214c-2.162-1.241-4.49-1.843-6.912-2.083l.405 2.712A1 1 0 0 1 5.51 15.1h-.548a1 1 0 0 1-.916-.599l-1.85-3.49a68.14 68.14 0 0 0-.202-.003A2.014 2.014 0 0 1 0 9V7a2.02 2.02 0 0 1 1.992-2.013 74.663 74.663 0 0 0 2.483-.075c3.043-.154 6.148-.849 8.525-2.199V2.5z'/%3E%3C/svg%3E");
}

.rt-ico-configuracion[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z'/%3E%3C/svg%3E");
}

.rt-ico-ayuda[b-bz8zezme66] {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z'/%3E%3C/svg%3E");
}

.nav-item[b-bz8zezme66] {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
}

    .nav-item:last-of-type[b-bz8zezme66] {
        padding-bottom: 1.25rem;
    }

    .nav-item[b-bz8zezme66]  a {
        color: rgba(255, 255, 255, 0.72);
        border-radius: 0.5rem;
        height: 2.65rem;
        display: flex;
        align-items: center;
        line-height: 2.65rem;
        transition: background-color 0.12s ease, color 0.12s ease;
    }

.nav-item[b-bz8zezme66]  a.active {
    background-color: rgba(255, 255, 255, 0.16);
    color: white;
    font-weight: 600;
    box-shadow: inset 3px 0 0 #71f8fd;
}

.nav-item[b-bz8zezme66]  a:hover {
    background-color: rgba(255, 255, 255, 0.09);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-bz8zezme66] {
        display: none;
    }

    .collapse[b-bz8zezme66] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-bz8zezme66] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
    }
}

@media (max-width: 640.98px) {
    /* Mobile drawer: darker panel under the brand bar with its own scroll cap */
    .nav-scrollable[b-bz8zezme66] {
        max-height: calc(100dvh - 3.5rem - var(--aq-safe-top, 0px));
        overflow-y: auto;
        background-color: rgba(0, 0, 0, 0.25);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
    }
}
/* /Pages/Precios.razor.rz.scp.css */
/* Página de precios. Estilos aislados: son de esta página y no tienen por qué engordar app.css.
   Toda la paleta sale de los tokens --aq-* del design system. */

/* PublicLayout encierra todo en un contenedor de 720 px, que alcanza para dos planes y deja tres
   apretados en ~226 px cada uno. En vez de tocar el layout —que comparten todas las páginas
   públicas— esta página sola se sale del contenedor, centrada y con un margen que deja lugar a la
   barra de scroll (de ahí el 3rem, no 0: con 100vw pelado el ancho la incluye y aparece scroll
   horizontal). Debajo de 768 px las tarjetas se apilan y no hace falta. */
@media (min-width: 768px) {
    .rt-pricing[b-w4u36xwll1] {
        width: min(calc(100vw - 3rem), 1040px);
        margin-left: 50%;
        transform: translateX(-50%);
    }
}

.rt-pricing-eyebrow[b-w4u36xwll1] {
    color: var(--aq-accent-dark);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.rt-pricing-save[b-w4u36xwll1] {
    font-size: 0.68rem;
    font-weight: 700;
    opacity: 0.85;
    margin-left: 0.3rem;
}

/* ---------- Planes ---------- */

.rt-plan[b-w4u36xwll1] {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--aq-surface);
    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius);
    box-shadow: var(--aq-shadow);
    padding: 1.5rem 1.25rem;
}

.rt-plan.is-featured[b-w4u36xwll1] {
    border-color: var(--aq-primary);
    box-shadow: var(--aq-shadow-lg);
}

.rt-plan-badge[b-w4u36xwll1] {
    position: absolute;
    top: -0.7rem;
    left: 1.25rem;
    background: var(--aq-primary);
    color: #fff;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
}

.rt-plan-who[b-w4u36xwll1] {
    color: var(--aq-muted);
    font-size: 0.88rem;
    /* Fija la altura para que los tres importes queden alineados aunque los textos midan distinto.
       Con tres columnas los textos envuelven en más líneas, de ahí el salto a 4.5em en escritorio. */
    min-height: 3.4em;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .rt-plan[b-w4u36xwll1] {
        padding: 1.35rem 1.1rem;
    }

    .rt-plan-who[b-w4u36xwll1] {
        min-height: 4.5em;
    }

    .rt-plan-amount[b-w4u36xwll1] {
        font-size: 1.85rem;
    }
}

.rt-plan-price[b-w4u36xwll1] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.rt-plan-amount[b-w4u36xwll1] {
    font-size: 2.1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.rt-plan-per[b-w4u36xwll1] {
    color: var(--aq-muted);
    font-size: 0.9rem;
}

.rt-plan-note[b-w4u36xwll1] {
    color: var(--aq-muted);
    font-size: 0.8rem;
    /* El texto cambia al alternar mensual/anual: sin altura fija, las tarjetas saltan al togglear. */
    min-height: 2.4em;
    margin-bottom: 1.1rem;
}

.rt-plan-features[b-w4u36xwll1] {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    /* Empuja el botón al pie de la tarjeta para que ambos planes lo alineen. */
    flex: 1 1 auto;
}

.rt-plan-features li[b-w4u36xwll1] {
    position: relative;
    padding-left: 1.35rem;
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
}

.rt-plan-features li[b-w4u36xwll1]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.52em;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--aq-accent-dark);
}

.rt-plan-features li.rt-plan-features-head[b-w4u36xwll1] {
    padding-left: 0;
    margin-bottom: 0.7rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--aq-muted);
}

.rt-plan-features li.rt-plan-features-head[b-w4u36xwll1]::before {
    display: none;
}

.rt-plan-undercta[b-w4u36xwll1] {
    text-align: center;
    color: var(--aq-muted);
    font-size: 0.76rem;
    margin: 0.55rem 0 0;
}

/* ---------- Bloques de "por qué" ---------- */

.rt-pricing-box[b-w4u36xwll1] {
    background: var(--aq-surface);
    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius);
    box-shadow: var(--aq-shadow);
    padding: 1.15rem;
}

.rt-pricing-ico[b-w4u36xwll1] {
    display: block;
    font-size: 1.35rem;
    margin-bottom: 0.5rem;
}

/* ---------- FAQ ---------- */

.rt-faq[b-w4u36xwll1] {
    background: var(--aq-surface);
    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius-sm);
    padding: 0 1rem;
    margin-bottom: 0.55rem;
}

.rt-faq[open][b-w4u36xwll1] {
    border-color: var(--aq-primary);
}

.rt-faq summary[b-w4u36xwll1] {
    cursor: pointer;
    font-weight: 600;
    font-size: 0.94rem;
    padding: 0.85rem 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.rt-faq summary[b-w4u36xwll1]::-webkit-details-marker {
    display: none;
}

.rt-faq summary[b-w4u36xwll1]::after {
    content: "+";
    color: var(--aq-primary);
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
}

.rt-faq[open] summary[b-w4u36xwll1]::after {
    content: "−";
}

.rt-faq p[b-w4u36xwll1] {
    margin: 0 0 0.95rem;
    color: var(--aq-muted);
    font-size: 0.88rem;
}

/* ---------- Cierre ---------- */

.rt-pricing-final[b-w4u36xwll1] {
    background: var(--aq-primary-soft);
    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius);
    padding: 2rem 1.25rem;
}
/* /Shared/TurnoGrid.razor.rz.scp.css */
.turno-grid[b-dsgprmroyh] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tg-field .form-label[b-dsgprmroyh] {
    font-weight: 500;
    margin-bottom: 0.25rem;
}

.tg-datebar[b-dsgprmroyh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.tg-date[b-dsgprmroyh] {
    font-weight: 500;
    color: var(--aq-primary-deep);
    text-transform: capitalize;
    min-width: 0;
    text-align: center;
    overflow-wrap: anywhere;
}

/* 44px square: these two arrows are the only way to change day, and at 34px they were the
   smallest targets in the member flow. */
.tg-nav[b-dsgprmroyh] {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: var(--aq-radius-sm);
    border: 0.5px solid var(--aq-border);
    background: var(--aq-surface);
    color: var(--aq-muted);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.tg-nav:disabled[b-dsgprmroyh] {
    opacity: 0.4;
    cursor: default;
}

.tg-anon[b-dsgprmroyh] {
    background: var(--aq-primary-soft);
    color: var(--aq-primary-deep);
    border-radius: var(--aq-radius-sm);
    padding: 8px 12px;
    font-size: 0.9rem;
}

/* Horizontal scroll for clubs with many courts; the page body itself never scrolls sideways. */
.tg-scroll[b-dsgprmroyh] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.tg-table[b-dsgprmroyh] {
    display: grid;
    gap: 6px;
    min-width: max-content;
}

.tg-corner[b-dsgprmroyh] {
    /* empty top-left cell */
}

.tg-colhead[b-dsgprmroyh] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--aq-text);
    text-align: center;
    padding: 4px 2px;
    white-space: nowrap;
}

.tg-time[b-dsgprmroyh] {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    color: var(--aq-muted);
}

/* 44px minimum: one column of cells is already a slim target, and a mis-tap here books the
   wrong court. */
.tg-cell[b-dsgprmroyh] {
    border: none;
    border-radius: var(--aq-radius-sm);
    padding: 10px 0;
    min-height: 44px;
    font-size: 0.8rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.1;
}

.tg-free[b-dsgprmroyh] {
    background: var(--aq-primary-soft);
    color: var(--aq-primary-dark);
    border: 0.5px solid var(--aq-primary);
    cursor: pointer;
}

.tg-hot[b-dsgprmroyh] {
    background: var(--aq-slot-hot, #d6f84b);
    color: var(--aq-slot-hot-text, #3f4d05);
    cursor: pointer;
}

.tg-sel[b-dsgprmroyh] {
    background: var(--aq-primary);
    color: #fff;
    cursor: pointer;
}

.tg-taken[b-dsgprmroyh] {
    background: var(--aq-bg);
    color: var(--aq-muted);
    text-decoration: line-through;
}

/* Pinned so the selection can be confirmed without scrolling back down a long day. The bottom
   inset keeps it off the iPhone home indicator, and the right inset keeps the button from
   running under the assistant FAB, which occupies that corner. */
.tg-confirm[b-dsgprmroyh] {
    position: sticky;
    bottom: 0;
    background: var(--aq-surface);
    padding-top: 0.5rem;
    padding-bottom: calc(0.5rem + var(--aq-safe-bottom, 0px));
    padding-right: 4.5rem;
}

.tg-payhint[b-dsgprmroyh] {
    margin-top: 6px;
    font-size: 0.8rem;
    color: var(--aq-muted);
    text-align: center;
}
