/* SCB frontend styles (override as needed) */

/* ------------------------------
   Skeleton loaders (frontend)
   ------------------------------ */

.scb-skeleton {
	position: relative;
	border-radius: 10px;
	background: rgba(0,0,0,.03);
	overflow: hidden;
	padding: 12px;
}

.scb-skeleton::after {
	content: "";
	position: absolute;
	top: 0;
	left: -40%;
	width: 40%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
	animation: scbShimmer 1.15s infinite;
}

@keyframes scbShimmer {
	0% { left: -40%; }
	100% { left: 110%; }
}

.scb-skel-line {
	height: 12px;
	border-radius: 6px;
	background: rgba(0,0,0,.08);
	margin: 10px 0;
}

.scb-skel-line.short {
	width: 55%;
}

.scb-skel-cal .scb-skel-grid {
	height: 180px;
	border-radius: 10px;
	background: rgba(0,0,0,.08);
}

/* reduce motion for users that prefer it */
@media (prefers-reduced-motion: reduce) {
	.scb-skeleton::after { animation: none; }
}



/* Studio Pass slot availability table */
.scb-slots-table{width:100%;border-collapse:collapse;}
.scb-slots-table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,0.08);}
.scb-slot-time{font-weight:600;white-space:nowrap;}
.scb-slot-seats{text-align:right;}
.scb-slot-row.is-full{opacity:.55;}
.scb-slot-row{cursor:pointer;}
.scb-slot-row.is-full{cursor:not-allowed;}
