/* THE MELTING LAB — Calendar (público).
   Misma estética que el formulario de reserva: mismas variables (--tml-*), mismo color principal
   para todo (salvo que se active «Un color distinto por taller») y botón «Reservar» igual que el
   botón principal del formulario. Editable en Ajustes → Apariencia o en la pestaña Estilo. */
.tml-pcal{
	--tml-accent:#8a6a3a;--tml-accent-contrast:#fff;--tml-ink:#221f1c;--tml-muted:#6f6a64;--tml-line:#e4ded6;
	--tml-soft:#f7f4ef;--tml-card:#fff;--tml-field:#fff;--tml-focus:#8a6a3a;
	--tml-busy:#8b8680;--tml-closed:#b3261e;
	--tml-bw:1px;--tml-radius:12px;--tml-radius-sm:10px;--tml-radius-btn:26px;
	--tml-font:inherit;--tml-font-size:16px;
	color:var(--tml-ink);font-family:var(--tml-font);font-size:var(--tml-font-size);line-height:1.45;margin:1.5em 0
}
.tml-pcal *,.tml-pcal *::before,.tml-pcal *::after{box-sizing:border-box}
.tml-pcal button{font:inherit;color:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none}
.tml-pcal :focus{outline:none}
.tml-pcal :focus-visible{outline:2px solid var(--tml-focus);outline-offset:2px}
.tml-pcal__heading{margin:0 0 .75em}
.tml-pcal.is-ready .tml-pcal__loading{display:none}
.tml-pcal.is-loading .tml-pcal__grid,.tml-pcal.is-loading .tml-pcal__agenda{opacity:.5;transition:opacity .2s}

/* Cabecera del mes (como el calendario del formulario) */
.tml-pcal__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.tml-pcal__title{font-size:1.1em;font-weight:600;text-align:center}
.tml-pcal .tml-pcal__nav,
.tml-pcal .tml-pcal__nav:is(:hover,:focus,:active){width:40px;height:40px;border-radius:50%;border-style:solid;border-width:var(--tml-bw);border-color:var(--tml-line);background:var(--tml-field);color:var(--tml-ink);font-size:1.3em;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center}
.tml-pcal .tml-pcal__nav:hover:not(:disabled){border-color:var(--tml-accent);color:var(--tml-accent)}
.tml-pcal .tml-pcal__nav:disabled{opacity:.3;cursor:default}

/* Leyenda (solo «Ocupado» / «Cerrado», o talleres si se activan colores por taller) */
.tml-pcal__legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;font-size:.85em;color:var(--tml-muted)}
.tml-pcal .tml-pcal__key{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.tml-pcal__key i{width:12px;height:12px;border-radius:3px;display:inline-block}
.tml-pcal__key i.is-busy{background:var(--tml-busy)}
.tml-pcal__key i.is-closed{background:repeating-linear-gradient(45deg,var(--tml-closed) 0 3px,color-mix(in srgb,var(--tml-closed) 15%,#fff) 3px 6px)}
.tml-pcal__muted{color:var(--tml-muted);margin:.5em 0}

/* Filas de opciones (detalle del día y lista en móvil): texto + botón Reservar */
.tml-pcal .tml-pcal__chip{text-decoration:none;color:var(--tml-ink)}
.tml-pcal .tml-pcal__chip *{text-decoration:none}
.tml-pcal .tml-pcal__chip.is-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:var(--tml-bw) solid var(--tml-line);border-left:3px solid var(--c,var(--tml-accent));border-radius:var(--tml-radius-sm);background:var(--tml-field)}
.tml-pcal__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.tml-pcal__chip-main{font-weight:600}
.tml-pcal__chip-sub{font-size:.88em;color:var(--tml-muted)}
.tml-pcal .tml-pcal__chip.is-row.is-busy{border-left-color:var(--tml-busy);background:color-mix(in srgb,var(--tml-busy) 8%,var(--tml-field))}
.tml-pcal .tml-pcal__chip.is-row.is-busy .tml-pcal__chip-main{color:color-mix(in srgb,var(--tml-busy) 75%,var(--tml-ink))}
.tml-pcal .tml-pcal__chip.is-row.is-closed{border-left-color:var(--tml-closed);background:repeating-linear-gradient(45deg,var(--tml-field) 0 6px,color-mix(in srgb,var(--tml-closed) 7%,var(--tml-field)) 6px 12px)}
.tml-pcal .tml-pcal__chip.is-row.is-closed .tml-pcal__chip-main{color:var(--tml-closed)}
.tml-pcal .tml-pcal__chip.is-full{opacity:.55}

/* Botón «Reservar»: mismo aspecto que el botón principal del formulario */
.tml-pcal .tml-pcal__btn,
.tml-pcal .tml-pcal__btn:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:8px 18px;box-shadow:none;border-style:solid;border-width:var(--tml-bw);border-color:var(--tml-accent);border-radius:var(--tml-radius-btn);background:var(--tml-accent);color:var(--tml-accent-contrast);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap}
.tml-pcal .tml-pcal__btn:hover{background:color-mix(in srgb,var(--tml-accent) 85%,#000);border-color:color-mix(in srgb,var(--tml-accent) 85%,#000)}

/* Lista por días (huecos estrechos / móvil) */
.tml-pcal__grid,.tml-pcal__detail{display:none}
.tml-pcal__aday{border:var(--tml-bw) solid var(--tml-line);border-radius:var(--tml-radius);padding:14px;margin:0 0 12px;background:var(--tml-card)}
.tml-pcal__aday:last-child{margin-bottom:0}
.tml-pcal__aday h4{margin:0 0 10px;font-size:1em;font-weight:600;font-family:inherit;color:var(--tml-ink)}
.tml-pcal__aday .tml-pcal__chip{margin:0 0 8px}
.tml-pcal__aday .tml-pcal__chip:last-child{margin-bottom:0}

/* Cuadrícula mensual (clase is-wide según el ancho real del widget) */
.tml-pcal.is-wide .tml-pcal__agenda{display:none}
.tml-pcal.is-wide .tml-pcal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:14px;border:var(--tml-bw) solid var(--tml-line);border-radius:var(--tml-radius);background:var(--tml-card)}
.tml-pcal.is-wide .tml-pcal__wd{padding:4px 0 6px;font-size:.75em;color:var(--tml-muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}
.tml-pcal.is-wide .tml-pcal__empty{min-height:96px}
.tml-pcal.is-wide .tml-pcal__day,
.tml-pcal.is-wide .tml-pcal__day:is(:hover,:focus,:active){all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;min-height:96px;padding:6px;border-radius:var(--tml-radius-sm);background:transparent;color:color-mix(in srgb,var(--tml-muted) 55%,transparent);cursor:pointer;min-width:0;overflow:hidden;box-shadow:none}
.tml-pcal.is-wide .tml-pcal__day.has-options{background:var(--tml-soft);color:var(--tml-ink);box-shadow:inset 0 0 0 var(--tml-bw) var(--tml-line)}
.tml-pcal.is-wide .tml-pcal__day.has-options:hover{box-shadow:inset 0 0 0 2px var(--tml-accent)}
.tml-pcal.is-wide .tml-pcal__day.is-selected,
.tml-pcal.is-wide .tml-pcal__day.is-selected:is(:hover,:focus,:active){box-shadow:inset 0 0 0 2px var(--tml-accent)}
.tml-pcal.is-wide .tml-pcal__day.is-past{opacity:.55}
.tml-pcal.is-wide .tml-pcal__day:focus-visible{outline:2px solid var(--tml-focus);outline-offset:1px}
.tml-pcal.is-wide .tml-pcal__num{font-size:.85em;font-weight:600}
.tml-pcal.is-wide .tml-pcal__day.is-today .tml-pcal__num{background:var(--tml-accent);color:var(--tml-accent-contrast);border-radius:10px;padding:0 7px;align-self:flex-start}
.tml-pcal.is-wide .tml-pcal__chips{display:flex;flex-direction:column;gap:3px;min-width:0}
.tml-pcal.is-wide .tml-pcal__chips .tml-pcal__chip{display:block;font-size:.72em;line-height:1.35;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;background:color-mix(in srgb,var(--c,var(--tml-accent)) 12%,var(--tml-card));border-left:3px solid var(--c,var(--tml-accent));color:var(--tml-ink)}
.tml-pcal.is-wide .tml-pcal__chips .tml-pcal__chip.is-busy{background:color-mix(in srgb,var(--tml-busy) 14%,var(--tml-card));border-left-color:var(--tml-busy)}
.tml-pcal.is-wide .tml-pcal__chips .tml-pcal__chip.is-closed{background:color-mix(in srgb,var(--tml-closed) 10%,var(--tml-card));border-left-color:var(--tml-closed);color:var(--tml-closed)}
.tml-pcal.is-wide .tml-pcal__more{font-size:.72em;color:var(--tml-muted)}
.tml-pcal.is-wide .tml-pcal__detail{display:block;margin-top:14px;border:var(--tml-bw) solid var(--tml-line);border-radius:var(--tml-radius);padding:14px 16px;background:var(--tml-card)}
.tml-pcal.is-wide .tml-pcal__detail h4{margin:0 0 10px;font-family:inherit;font-weight:600;font-size:1em;color:var(--tml-ink)}
.tml-pcal.is-wide .tml-pcal__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}

/* Algunos temas subrayan todos los enlaces del contenido: los botones y filas nunca van subrayados. */
.tml-pcal a.tml-pcal__btn,.tml-pcal a.tml-pcal__btn *,.tml-pcal a.tml-pcal__key,.tml-pcal .tml-pcal__chip,.tml-pcal .tml-pcal__chip *{text-decoration:none!important;box-shadow:none}
