﻿:root {
    --Spacing-Desktop-LR-Padding: 200px;
    --Spacing-Desktop-TB-Padding: 80px;
    --Spacing-Tablet-LR-Padding: 32px;
    --Spacing-Tablet-TB-Padding: 48px;
    --Spacing-Mobile-TB-Padding: 24px;
    --Spacing-Mobile-LF-Padding: 16px;
    --Spacing-Gap-Large: 64px;
    --Spacing-Gap-X-Medium: 40px;
    --Spacing-Gap-Medium: 24px;
    --Spacing-Gap-Small: 16px;
    --Spacing-Gap-X-Small: 12px;
    --Spacing-Gap-XX-Small: 12px;
}

.rz-dropdown-label{
    color: black !important;
}

.rz-inputtext:disabled {
    color: black !important;
}




.main-container-content {
    padding-top: 84px;
}




.user-menu {
    display: flex;
    padding: 4px 12px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: #fdfbf8 !important;
}





.rz-navigation-item-link {
    color: black !important;
    font-size: 18px;
    font-family: Inter;
    font-weight: 500;
}

body {
    display: flex;
    flex-direction: column;
 
    background-color: #fbf8f3;
}

.rz-state-disabled{
    color: black !important;
}

a {
    color: black;
    text-decoration: none;
}

    a:hover {
        color: inherit;
    }

.category-content {
    display: flex;
    padding: 4px 8px;
    justify-content: center;
    align-items: center;
    border-radius: 22px;
    
}

.img-logo-kumara {
    width: 47px;
    height: 40px;
    flex-shrink: 0;
    aspect-ratio: 47/40;
}

.header-navbar-links {
    display: none;
    padding: 0 var(--Spacing-Desktop-LR-Padding);
    justify-content: space-between;
    align-items: center;
    height: 84px;
    align-self: stretch;
    border-bottom: 1px solid var(--Colors-Medium-Grey, #cecece);
    background: var(--Colors-Surface-1, #fdfbf8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 998;
    box-sizing: border-box;
}

.header-navbar-links-mobile {
    display: flex;
    height: 56px;
    min-width: 320px;
    padding: 0 16px;
    justify-content: space-between;
    align-items: center;
    z-index: 9999999;
    border-bottom: 1px solid var(--Colors-Medium-Grey, #cecece);
    background: var(--Colors-Surface-1, #fdfbf8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
}

.links-container {
    display: flex;
    align-items: center;
    gap: 32px;
}

.nav-link {
    display: flex;
    padding: 4px 12px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    border-radius: 4px;
}


.footer-kumara-mobile {
    display: flex;
    min-width: 320px;
    padding: var(--Spacing-Mobile-TB-Padding) var(--Spacing-Mobile-LF-Padding);
    flex-direction: column;
    align-items: flex-start;
    gap: var(--Spacing-Gap-Small);
    align-self: stretch;
    background: var(--Colors-Dark-Green, #27544f);
}

.footer-section-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}

.footer-section-mobile-header {
    display: flex;
    padding-bottom: var(--Spacing-Gap-XX-Small, 8px);
    justify-content: space-between;
    align-items: center;
    padding: 8px 16px;
    align-self: stretch;
   
}

.footer-section-mobile-contents {
    display: flex;

    padding-left: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
    will-change: max-height, opacity, transform;
}


    .footer-section-mobile-contents.open {
        max-height: 220px; /* ajusta según el contenido */
        opacity: 1;
        transform: translateY(0);
    }

.chevron {
    transition: transform 200ms ease;
}

    .chevron.rot {
        transform: rotate(180deg);
    }

.footer-content-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--Colors-Dark-Grey, #7D7D7D);
}

.footer-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-kumara-desktop {
    display: flex;
    padding: var(--Spacing-Desktop-TB-Padding) var(--Spacing-Desktop-LR-Padding);
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    align-self: stretch;
    background: var(--Colors-Dark-Green, #27544f);
}

.footer-kumara-content {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}

.footer-kumara-content-info {
    display: flex;
 
    align-items: flex-start;
    gap: 80px;
}

.footer-option {
    display: flex;
    width: 140px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.content-footer-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    align-self: stretch;
}

.rz-calendar-header {
    background: var(--Colors-Surface-1, #FDFBF8);
}

.footer-info-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.content-email-phone {
    display: flex;
    width: 220px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.footer-kumara-desktop {
    display: none;
}

@media (min-width: 480px) and (max-width: 1024px) {
    .footer-kumara-mobile {
        padding: var(--Spacing-Tablet-TB-Padding) var(--Spacing-Tablet-LR-Padding);
        gap: var(--Spacing-Gap-Small);
    }

    .footer-kumara-desktop {
        display: none;
    }

    
}

@media (min-width: 1024px) {
    .footer-kumara-desktop {
        display: flex;
    }

    .footer-kumara-mobile {
        display: none;
    }
}


@media (min-width: 1024px) {
    .header-navbar-links {
        display: flex;
    }

    .img-logo-kumara {
        width: 75px;
        height: 64px;
        flex-shrink: 0;
        aspect-ratio: 75/64;
    }

    .header-navbar-links-mobile {
        display: none;
    }
}


/* Oculta mes y año (dropdowns) */
.rz-datepicker-header .rz-dropdown,
.rz-datepicker-header select, .rz-calendar-year-dropdown {
    display: none !important;
}

.rz-scheduler{
    height: 100%;
}

.rz-datepicker-inline {
    border: 0;
}

.rz-calendar-view-container {
    padding-block: 0;
    padding-inline: 16px;
}

.rz-button{
    height:44px;
    border-radius: 8px !important; 
}

.rz-scheduler-nav-views .rz-button.rz-primary.rz-state-active {
    background: var(--Colors-Light-Green, #70D6AF);
    color: black;
}

.rz-out-month {
    opacity: .35;
}

.rz-slot-blocked {
    background: #f2f2f2 !important;
    opacity: .75;
    cursor: not-allowed !important;
}

.rz-slot-allowed {
    background: #fff !important;
}

/* ✅ Slot seleccionado (verde) */
.rz-slot-selected {
    background: #0a7a62 !important;
    border: 1px solid #0a7a62 !important;
    color: #ffffff !important;
    font-weight: 800;
}

    /* Para que el texto del slot (si se ve) herede blanco */
    .rz-slot-selected * {
        color: #ffffff !important;
    }


.rz-scheduler .rz-slot-selected {
    background: #0a7a62 !important;
    border: 1px solid #0a7a62 !important;
}


.rz-scheduler-nav-prev-next .rz-button.rz-today {
    border: 1px solid var(--Gren-Color);
}

.rz-appt-colored {
    border-left: 5px solid var(--appt-color, #9CA3AF) !important;
    height: 100% !important;
    overflow: hidden;
    background: color-mix(in srgb, var(--appt-color, #9CA3AF) 18%, transparent) !important;
}

.rz-button.rz-primary.rz-shade-default {
    background-color: var(--Gren-Color);
    color: white;
   
    height: 44px;
    min-height: 44px;
    padding: 0 var(--Spacing-8-Scale-Gap-X-Small, 12px);
    justify-content: center;
    align-items: center;
    gap: var(--Spacing-8-Scale-Gap-XX-Small, 8px);
    align-self: stretch;
}




.rz-link .rz-link-text {
    text-decoration: none;
    color: var(--Gren-Color);
}

.rz-scheduler-nav-views .rz-button.rz-primary {
    background: white;
    color: black;
}

.rz-selectbar .rz-button.rz-state-active {
    background-color: #b3d3ca;
    color: #016d4e;
}

/* Ocupado por cita existente */
.rz-scheduler .rz-slot-booked {
    background: #e9e9e9 !important;
    opacity: .85;
    pointer-events: none; /* no clic */
    border: 1px solid #d0d0d0 !important;
    cursor: not-allowed;
}


.rz-event-content {
    background: initial;
    color: gray;
}

/* anima el icono cuando el botón está en loading */
.login-btn.loading .rzi-autorenew {
    animation: rzspin 1s linear infinite;
}

@keyframes rzspin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.rz-button-md{
    text-transform: initial;
}

.rz-button.rz-light {
    border-radius: 8px;
    border: 1px solid var(--Colors-Medium-Grey, #CECECE);
    background: var(--Colors-White, #FFF);
}

.rz-button.rz-danger.rz-shade-default {
    border-radius: 8px;
    border: 1px solid #AC0407;
    background: var(--Controls-Destructive-Red, #FF383C);
}
.password-wrap {
    position: relative;
    width: 100%;
}

    .password-wrap .pwd-toggle {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
        padding: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: .75;
    }

        .password-wrap .pwd-toggle:hover {
            opacity: 1;
        }

    /* deja espacio para que el texto no choque con el icono */
    .password-wrap .login-input {
        padding-right: 44px !important;
    }


/* Quita la línea interna entre medias horas para que parezca 1 bloque */
.rz-scheduler td.rz-slot.slot-top {
    border-bottom: 0 !important;
}

.rz-scheduler td.rz-slot.slot-bottom {
    border-top: 0 !important;
}

/* Asegurar que el fondo cubra todo el td */
.rz-scheduler td.rz-slot.rz-slot-selected {
    background: #0a7a62 !important;
    border-color: #0a7a62 !important;
}


.main-container {
    padding-top: 84px;
}

@media (min-width: 320px) and (max-width: 590px) {
    .btn-header-appointment {
        width: 100%;
    }

    .att-search-input {
        width: 100%;
    }

    .btn-more {
        width: 100%;
    }

    .main-container {
        padding-top: 56px;
    }
}

.rz-textbox{
    height: 44px;
}


.rz-selectbar .rz-button{
    border-radius: 0 !important;
}

.rz-appt-colored {
    white-space: pre-line !important;
    line-height: 1.5 !important;
}








.appt-item-hover {
    width: 100%;
    height: 100%;
}

.appt-main-text {
    white-space: pre-line;
    line-height: 1.15;
}

.appointment-hover-global {
    position: fixed;
    width: 320px;
    background: #f3f3f3;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    z-index: 999999;
    pointer-events: none;
}

.appointment-hover-header {
    background: #b7b1ff;
    padding: 14px 16px;
}

.appointment-hover-name {
    font-weight: 700;
    font-size: 14px;
    color: #2d2538;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.appointment-hover-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
    color: #2d2538;
}

.appointment-hover-body {
    padding: 14px 16px;
    background: #f3f3f3;
}

.appointment-hover-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #2d2538;
    margin-bottom: 10px;
}

    .appointment-hover-row:last-child {
        margin-bottom: 0;
    }

.hover-specialty {
    
    font-weight: 500;
}

.appt-card-minimal {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: stretch;
    background: #EFE3A0;
    overflow: hidden;
    box-sizing: border-box;
}


.appt-card-content {
    padding: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 100%;
    overflow: hidden;
}

.appt-card-name {
    font-size: 17px;
    font-weight: 500;
    color: #2B2A35;
    line-height: 1.05;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.appt-card-specialty {
    font-size: 15px;
    font-weight: 400;
    color: #2B2A35;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modality-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.modality-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rz-appointment {
    pointer-events: auto;
}

    .rz-appointment[title] {
        pointer-events: auto;
    }


.rz-dialog-wrapper:has(.appointment-dialog-right) {
    justify-content: flex-end !important;
    align-items: stretch !important;
}

.rz-dialog.appointment-dialog-right {
    margin: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
}

@media (max-width: 1024px){
    .main-container-content {
        padding-top: 56px;
    }
}