/* LIMB · Horario semanal */
.lki-week { --lki-gold: #ca9b37; --lki-champ: #f1dfb0; --lki-line: rgba(202, 155, 55, .3); --lki-muted: rgba(236, 228, 216, .6); color: #ece4d8; max-width: 1100px; margin: 0 auto; }
.lki-week__eyebrow { margin: 0 0 .6rem; font-size: .72rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--lki-gold); }
.lki-week__title { margin: 0 0 2rem; color: var(--lki-champ); }

.lki-week__tabs { display: grid; grid-template-columns: repeat(7, 1fr); gap: .5rem; margin-bottom: 1.5rem; }
.lki-day {
	position: relative; display: grid; justify-items: center; gap: .55rem; padding: 1rem .4rem .9rem; cursor: pointer;
	background: rgba(255, 255, 255, .03); color: inherit; border: 1px solid var(--lki-line); border-radius: 12px !important; font: inherit; line-height: 1.2; box-shadow: none;
	transition: background .3s, border-color .3s, transform .3s;
}
.lki-day:hover { border-color: var(--lki-gold); transform: translateY(-2px); }
.lki-day[aria-selected="true"] { background: var(--lki-gold); border-color: var(--lki-gold); color: #070506; }
.lki-day.is-closed .lki-day__name { opacity: .45; text-decoration: line-through; }
.lki-day__name { font-weight: 600; font-size: .95rem; }
.lki-day__short { display: none; }
.lki-day__dots { display: flex; gap: .35rem; }
.lki-day__dots i { width: 8px; height: 8px; border-radius: 50%; border: 1px solid currentColor; opacity: .5; }
.lki-day__dots i.is-open { background: currentColor; opacity: 1; }
.lki-day__today { position: absolute; top: -.6rem; left: 50%; translate: -50% 0; padding: .1rem .5rem; border-radius: 99px; background: #ff2a3d; color: #fff; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.lki-week__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lki-week__panel[hidden] { display: none; }
.lki-week__panel:focus-visible { outline: 2px solid var(--lki-gold); outline-offset: 4px; }
.lki-session { padding: 1.6rem; border: 1px solid var(--lki-line); border-radius: 16px; background: linear-gradient(150deg, rgba(122, 10, 20, .25), rgba(0, 0, 0, .2)); }
.lki-session header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .8rem; }
.lki-session__label { font-size: .7rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--lki-gold); }
.lki-session__status { font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: .25rem .6rem; border-radius: 99px; background: rgba(46, 204, 113, .15); color: #6fe0a0; }
.lki-session.is-closed { opacity: .55; background: rgba(255, 255, 255, .02); }
.lki-session.is-closed .lki-session__status { background: rgba(255, 42, 61, .15); color: #ff7b88; }
.lki-session h3 { margin: 0 0 .3rem; color: var(--lki-champ); }
.lki-session__hours { margin: 0 0 1rem; color: var(--lki-muted); font-variant-numeric: tabular-nums; }
.lki-prices { margin: 0; }
.lki-prices div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--lki-line); }
.lki-week .lki-prices dt { font-weight: 600; color: #ece4d8; }
.lki-prices dd { margin: 0; color: var(--lki-champ); text-align: right; }

@media (max-width: 760px) {
	.lki-week__tabs { gap: .3rem; }
	.lki-day { padding: .8rem .1rem .7rem; }
	.lki-day__long { display: none; }
	.lki-day__short { display: inline; }
	.lki-week__panel { grid-template-columns: 1fr; }
}
