/* ============================= */
/* COLORES ACTIVIDADES */
/* ============================= */

.Agua{ --class-color:#7abdea; }
.Amarillo{ --class-color:#f1c40f; }
.Azul{ --class-color:#2980b9; }
.Fucsia{ --class-color:#e63662; }
.Lima{ --class-color:#b8cc2e; }
.Oliva{ --class-color:#16a085; }
.Plata{ --class-color:#c0c2c2; }
.Rojo{ --class-color:#e74c3c; }
.Verde{ --class-color:#27ae60; }
.Rosa{ --class-color:#f17288; }
.Blanco{ --class-color:#fdffff; }
.Marron{ --class-color:#ad7b32; }
.Melocoton{ --class-color:#ff8001; }
.Naranja{ --class-color:#ff9801; }
.Purpura{ --class-color:#b557a5; }
.Salmon{ --class-color:#ffa366; }
.Turquesa{ --class-color:#00ede5; }
.Violeta{ --class-color:#fa61df; }
.Khaki{ --class-color:#bcac00; }
.Lavanda{ --class-color:#c1c1e7; }

/* ============================= */
/* CONTROLES SUPERIORES */
/* ============================= */

.clases-sc-controls{
    display:flex;
    flex-direction:row;
    align-items:stretch;
    gap:10px;
    margin-bottom:15px;
}

/* ============================= */
/* FILTRO ACTIVIDAD */
/* ============================= */

.clases-sc-carousel-filter{
    position:relative;
    width:50%;
	display:flex;
    align-items:center;
    justify-content:space-between;
    background:#1a1a1a;
    border-radius:10px;
    padding:4px;
    gap:6px;
    height:42px;
	color:#fff;
}

.clases-sc-carousel-filter-select{
	background:#2a2a2a;
    border:none;
	width: 100%;
	height: 34px;
    border-radius:8px;
    cursor:pointer;
    font-size:18px;
	font-weight:600;
    transition:border-color .2s;
	margin-bottom:0px;
	border-left:8px solid var(--class-color, transparent);
	line-height:1;
	appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
}

.clases-sc-carousel-filter-select:hover{
    background:#3a3a3a;
}

.clases-sc-carousel-filter-select-icon{
    position:absolute;
    right:19px;
    top:50%;

    transform:translateY(-50%);
	font-size: 18px;
	font-weight:600!important;

    pointer-events:none;
}

.clases-sc-carousel-filter-select option{
    background:#111;
}

.clases-sc-carousel-filter-select:focus,
.clases-sc-carousel-filter-select:focus-visible,
.clases-sc-carousel-filter-select:active{
    outline:none;
    box-shadow:none;
}

/* ============================= */
/* NAVEGADOR */
/* ============================= */

.clases-sc-carousel-nav{
    width:50%;
	display:flex;
    align-items:center;
    justify-content:space-between;
    background:#1a1a1a;
    border-radius:10px;
    padding:4px;
    gap:6px;
    height:42px;
	color:#fff;
}

.clases-sc-carousel-nav-prev,
.clases-sc-carousel-nav-next{
    position:relative;
	display:flex;
    align-items:center;
    justify-content:center;
	background:#2a2a2a;
    border:none;
	width: 50%;
	height: 34px;
    border-radius:8px;
    cursor:pointer;
    font-size:18px;
	font-weight:600;
    transition:background .2s;
}

.clases-sc-carousel-nav-prev:hover,
.clases-sc-carousel-nav-next:hover{
    background:#3a3a3a;
}

.clases-sc-carousel-nav-prev:active,
.clases-sc-carousel-nav-next:active{
    transform:scale(.92);
}

.clases-sc-carousel-nav-prev:disabled,
.clases-sc-carousel-nav-next:disabled{
    opacity:0.4;
    cursor:not-allowed;
}

.clases-sc-carousel-nav-prev:disabled .clases-sc-carousel-nav-prev-icon,
.clases-sc-carousel-nav-next:disabled .clases-sc-carousel-nav-next-icon{
    opacity:0;
}

.clases-sc-carousel-nav-prev-label,
.clases-sc-carousel-nav-next-label {
	line-height:1;
}

.clases-sc-carousel-nav-prev-icon,
.clases-sc-carousel-nav-next-icon {
	position:absolute;
    top:50%;

    transform:translateY(-50%);
	font-size: 18px;
    font-weight:600!important;

    pointer-events:none;
}

.clases-sc-carousel-nav-prev-icon{
	left: 15px;
}

.clases-sc-carousel-nav-next-icon{
	right: 15px;
}

/* ============================= */
/* SCHEDULE */
/* ============================= */

.clases-sc-schedule-skeleton{
    display:flex;
    gap:14px;
}

.clases-sc-skeleton-day{
    flex:0 0 calc(25% - 10px);
    background:#1a1a1a;
    border-radius:10px;
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.clases-sc-skeleton-header{
    height:18px;
    border-radius:6px;
    background:linear-gradient(
        90deg,
        #2a2a2a 0%,
        #3a3a3a 50%,
        #2a2a2a 100%
    );
    background-size:200% 100%;
    animation:clasesSkeleton 1.2s infinite;
}

.clases-sc-skeleton-class{
    height:42px;
    border-radius:8px;
    background:linear-gradient(
        90deg,
        #2a2a2a 0%,
        #3a3a3a 50%,
        #2a2a2a 100%
    );
    background-size:200% 100%;
    animation:clasesSkeleton 1.2s infinite;
}

@keyframes clasesSkeleton{

    0%{ background-position:200% 0 }
    100%{ background-position:-200% 0 }

}

.clases-sc-schedule-container{
    position:relative;
	overflow:hidden;
}

.clases-sc-carousel{
    overflow:hidden;
    width:100%;
}

.clases-sc-schedule{
    display:flex;
    gap:14px;
    transition:transform .5s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
    scroll-behavior:smooth;
	transform:translateZ(0);
}

.clases-sc-day{
    flex:0 0 calc(25% - 10px);
    background:#1a1a1a;
    border-radius:10px;
    display:flex;
    flex-direction:column;
}

.clases-sc-day-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#1a1a1a;
    border-radius:10px;
    padding:4px;
    gap:6px;
    height:42px;
}

.clases-sc-day-title{
    flex-grow:1;
    text-align:center;
	margin-bottom: 0px;
	color: #FFFFFF;
}

.clases-sc-day-classes{
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:10px;
	border-top:1px solid #333;
}

/* ============================= */
/* TARJETA CLASE */
/* ============================= */

.clases-sc-class{
    position:relative;
    background:#1b1b1b;
    border-radius:8px;
    padding:10px 10px 10px 14px;
    display:flex;
    flex-direction:column;
    gap:4px;
    /*font-size:14px;*/
    border:2px solid var(--class-color,transparent);
	cursor: pointer;
	transition:transform .15s ease;
	transform-origin: top left;
}

.clases-sc-class:hover{
    transform:translateY(-2px);
}

.clases-sc-class::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    border-radius:8px 0 0 8px;
    background:var(--class-color,transparent);
}

.clases-sc-class-activity{
    /*font-weight:600;*/
    /*line-height:1.2;*/
	color:var(--class-color);
	margin-bottom: 0px;
}

.clases-sc-class-meta{
    display:flex;
    flex-direction:column;
    /*font-size:12px;*/
    opacity:.8;
    gap:2px;
}

.clases-sc-class-time,
.clases-sc-zone,
.clases-sc-monitor,
.clases-sc-places{
    display:grid;
    grid-template-columns:18px 1fr;
    align-items:center;
    column-gap:8px;
}

.clases-sc-icon{
    fill:currentColor;
	font-size:14px;
    width:18px;
    text-align:center;
}

.clases-sc-empty{
    /*font-size:13px;*/
    opacity:.6;
    text-align:center;
    padding:20px 10px;
    border:1px dashed #333;
    border-radius:8px;
}

.clases-sc-no-click {
	cursor: default;
    pointer-events: none;
}

/* =================================
MODAL OVERLAY
================================= */

.clases-sc-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;

    opacity:0;
    pointer-events:none;
}

.clases-sc-modal.active{
    opacity:1;
    pointer-events:auto;
    transition:opacity .2s ease;
}

.clases-sc-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.75);
    backdrop-filter:blur(4px);
}

/* =================================
MODAL CARD
================================= */

.clases-sc-modal-content{
    position:relative;
    width:92%;
    max-width:420px;
    background:#111;
    border-radius:12px;
    overflow:hidden;
    color:#fff;
    box-shadow:0 20px 50px rgba(0,0,0,0.6);
	border:2px solid var(--class-color);
    will-change: transform, opacity;
    transform-origin: top left;
}

/* =================================
BARRA SUPERIOR COLOR ACTIVIDAD
================================= */

.clases-sc-modal-title{
    position:relative;
    /*font-size:20px;
    font-weight:700;*/
    margin:15px 20px 10px;
	color:var(--class-color);
}

/* barra superior */

.clases-sc-modal-image + .clases-sc-modal-title::before{
    content:"";
    position:absolute;
    top:-15px;
    left:-20px;
    width:calc(100% + 40px);
    height:4px;
    background:currentColor;
}

/* =================================
IMAGEN HERO
================================= */

.clases-sc-modal-image-wrapper{
    position:relative;
    width:100%;
    height:180px;
    overflow:hidden;
    transition:height .25s ease;
}

.clases-sc-modal-image-skeleton{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        #2a2a2a 0%,
        #3a3a3a 50%,
        #2a2a2a 100%
    );
    background-size:200% 100%;
    animation:clasesSkeleton 1.2s infinite;
}

.clases-sc-modal-image{
    width:100%;
    height:auto;
    display:block;
    opacity:0;
    transition:opacity .25s ease;
}

/* =================================
BODY
================================= */

.clases-sc-modal-time,
.clases-sc-modal-zone,
.clases-sc-modal-monitor,
.clases-sc-modal-places{
    margin:6px 20px;
    /*font-size:14px;*/
    opacity:.9;

    display:grid;
    grid-template-columns:20px 1fr;
    align-items:center;
    column-gap:10px;
}

/* =================================
BOTONES
================================= */

.clases-sc-modal-actions{
    display:flex;
    gap:10px;
    margin:20px;
}

.clases-sc-modal-actions button{
    flex:1;
    border-radius:6px;
    padding:10px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}

.clases-sc-modal-book-btn{
    border: none;
	background:var(--class-color);
    color:#000000;
}

.clases-sc-modal-book-btn:hover{
    background:#eaeaea;
}

.clases-sc-modal-signup-btn{
    background:transparent;
    border:2px solid var(--class-color);
    color:#fff;
}

.clases-sc-modal-signup-btn:hover{
    background:#fff;
    color:#000;
}

/* =================================
BOTÓN CERRAR
================================= */

.clases-sc-modal-close{
    position:absolute;
    right:12px;
    top:10px;
    border:none;
    background:rgba(0,0,0,0.6);
    color:#fff;
    font-size:20px;
    width:32px;
    height:32px;
    border-radius:50%;
    cursor:pointer;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
}

.clases-sc-modal-close:hover{
    background:rgba(0,0,0,0.8);
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

/* ===== Tablet ===== */

@media (max-width:1024px){

    .clases-sc-carousel-filter-select, .clases-sc-carousel-filter-select-icon, .clases-sc-carousel-nav-prev, .clases-sc-carousel-nav-next, .clases-sc-carousel-nav-prev-icon, .clases-sc-carousel-nav-next-icon{
        font-size:16px;
    }
	
	.clases-sc-skeleton-day{
        flex:0 0 calc(50% - 7px);
    }

	.clases-sc-day{
		flex:0 0 calc(50% - 7px);
	}
}


/* ===== Mobile ===== */

@media (max-width:767px){

    .clases-sc-controls{
        flex-direction:column;
    }

    .clases-sc-carousel-filter, .clases-sc-carousel-nav{
        width:100%;
    }
	
	.clases-sc-carousel-filter-select, .clases-sc-carousel-filter-select-icon, .clases-sc-carousel-nav-prev, .clases-sc-carousel-nav-next, .clases-sc-carousel-nav-prev-icon, .clases-sc-carousel-nav-next-icon{
		font-size:16px;
	}
	
	.clases-sc-skeleton-day{
        flex:0 0 100%;
    }

	.clases-sc-day{
		flex: 0 0 100%;
	}

}