/*
 * Pawnia Reservas — solo lo que el diseño original no trae (mensajes,
 * estado de carga, confirmación, página de cancelar). El calendario y el
 * formulario usan las clases pwn-calendario / pwn-form del tema.
 */

.pwnr [hidden] { display: none !important; }

.pwn-calendario[data-cargando] .pwn-calendario__dias { opacity: .45; transition: opacity .2s; }
.pwn-calendario__cabecera button:disabled { opacity: .3; cursor: default; }
.pwn-calendario__dias button:not(:disabled):hover { background: rgba(51, 91, 84, .18); }
.pwn-calendario__dias button[data-elegido]:hover { background: var(--pawnia-rosa, #DF3891); }
.pwn-calendario__horas button:hover { border-color: var(--pawnia-lima, #C7F964); }

.pwnr-vacio { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .75); }

.pwnr-error { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; background: var(--pawnia-rosa, #DF3891); color: var(--pawnia-blanco, #fff); }

.pwnr button[data-pwnr-enviar]:disabled { opacity: .6; cursor: wait; }

/* Honeypot: fuera de pantalla, no display:none (algunos bots lo detectan). */
.pwnr-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.pwnr-listo { align-self: stretch; justify-content: center; gap: 12px; }
.pwnr-listo .koi-pill { align-self: flex-start; background: var(--pawnia-lima, #C7F964); color: var(--pawnia-verde, #335B54); }
.pwnr-listo h3 { font-family: var(--koi-font-display); font-weight: 400; font-size: clamp(36px, 5vw, 58px); line-height: 1.05; margin: 0; text-transform: uppercase; }
.pwnr-listo__cuando { margin: 0; font-size: 18px; font-weight: 700; }

/* ---------- página de cancelar (/?pwnr_cancelar=…) ---------- */

.pwnr-cancelar { padding: clamp(120px, 16vw, 180px) 16px clamp(56px, 8vw, 104px); background: var(--pawnia-verde, #335B54); min-height: 70vh; }
.pwnr-cancelar__caja { max-width: 560px; margin: 0 auto; background: var(--pawnia-crema, #F3EACD); color: var(--pawnia-verde, #335B54); border-radius: 22px; padding: clamp(24px, 4vw, 44px); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pwnr-cancelar__caja h1 { font-family: var(--koi-font-display); font-weight: 400; font-size: clamp(32px, 5vw, 52px); line-height: 1.05; margin: 0; text-transform: uppercase; }
.pwnr-cancelar__caja p { margin: 0; font-size: 16px; line-height: 1.6; }
.pwnr-cancelar__caja a:not(.koi-btn) { color: var(--pawnia-magenta, #C42A78); font-weight: 600; }
.pwnr-cancelar__caja form { margin: 6px 0 0; }
.pwnr-cancelar__caja button { border: 0; cursor: pointer; font: inherit; }

/* ---------- página para reagendar / cancelar (/?pwnr_reagendar=…) ---------- */
.pwnr-gestion { background: var(--pawnia-verde, #335B54); }
.pwnr-gestion__agenda { padding-top: clamp(40px, 6vw, 72px); }
.pwnr-gestion__eyebrow { display: block; max-width: 1200px; margin: 0 auto 10px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pawnia-lima, #C7F964); }
.pwnr-gestion__agenda h1 { font-family: var(--koi-font-display); font-weight: 400; font-size: clamp(40px, 7vw, 92px); line-height: 1.04; margin: 0 auto; max-width: 1200px; text-transform: uppercase; color: #fff; }
.pwnr-gestion__agenda h1 .pwn-contacto__acento { color: var(--pawnia-lima, #C7F964); }
.pwnr-gestion__actual { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; max-width: 1200px; margin: 22px 0 0; padding: 12px 18px; border-radius: 16px; background: rgba(255, 255, 255, .08); border: 1.5px dashed rgba(199, 249, 100, .5); color: #fff; }
.pwnr-gestion__agenda > .pwnr-gestion__actual { margin-left: max(0px, calc((100% - 1200px) / 2)); }
.pwnr-gestion__actual span { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pawnia-lima, #C7F964); }
.pwnr-gestion__actual strong { font-size: 18px; }
.pwnr-gestion__actual small { font-size: 13px; opacity: .7; }
.pwnr-gestion .pwn-contacto__intro { margin-left: auto; margin-right: auto; max-width: 1200px; }
.pwnr-gestion__cancelar { padding: 0 16px clamp(48px, 7vw, 88px); }
.pwnr-gestion__cancelar details { max-width: 1200px; margin: 0 auto; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .78); }
.pwnr-gestion__cancelar summary { display: inline-block; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; color: rgba(255, 255, 255, .7); }
.pwnr-gestion__cancelar summary::-webkit-details-marker { display: none; }
.pwnr-gestion__cancelar summary:hover { color: #fff; }
.pwnr-gestion__cancelar p { max-width: 56ch; margin: 12px 0 14px; font-size: 14px; line-height: 1.6; }
.pwnr-gestion__boton-cancelar { padding: 11px 20px; border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, .5); background: transparent; color: #fff; font: 700 13px var(--koi-font-texto, sans-serif); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.pwnr-gestion__boton-cancelar:hover { background: #fff; color: var(--pawnia-verde, #335B54); }
.pwnr-gestion__estado { padding: clamp(80px, 12vw, 140px) 16px clamp(64px, 9vw, 110px); }
.pwnr-gestion__caja { max-width: 620px; margin: 0 auto; padding: clamp(26px, 4vw, 44px); border-radius: 26px; background: var(--pawnia-crema, #F3EACD); color: var(--pawnia-verde, #335B54); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pwnr-gestion__caja .pwnr-gestion__eyebrow { margin: 0; color: var(--pawnia-rosa, #DF3891); }
.pwnr-gestion__caja h1 { margin: 0; font-family: var(--koi-font-display); font-weight: 400; font-size: clamp(34px, 5vw, 56px); line-height: 1.04; text-transform: uppercase; }
.pwnr-gestion__caja p { margin: 0; font-size: 16px; line-height: 1.6; }
.pwnr-gestion__caja a:not(.koi-btn) { color: var(--pawnia-rosa, #DF3891); font-weight: 700; }
/* Modo reagendar del formulario: sin campos, la tarjeta más compacta. */
.pwnr--reagendar .pwn-form { align-self: start; }
