:root{--hc-green:#526b43;--hc-green-dark:#263c31;--hc-cream:#f7f3eb;--hc-paper:#fffdfa;--hc-ink:#292c25;--hc-muted:#74766f;--hc-line:#e3ddd2;--hc-rose:#b68167}
*{box-sizing:border-box}
html,body{min-height:100%;background:var(--hc-cream)!important;color:var(--hc-ink)!important}
body{margin:0!important;padding:0 12px 45px!important;font-family:Arial,sans-serif!important}
body:before{content:"HERETAT DEL CASTELL";display:block;margin:0 -12px 28px;padding:24px 18px 62px;border-radius:0 0 34px 34px;background:linear-gradient(140deg,var(--hc-green-dark),#657b53);color:#fff;text-align:center;font:17px Georgia,serif;letter-spacing:.17em}
#divlogo{width:min(720px,100%)!important;margin:-66px auto 12px!important;padding:16px!important;border:1px solid var(--hc-line);border-radius:21px;background:var(--hc-paper);box-shadow:0 15px 40px #443d301c}
#divlogo img{display:block;width:210px!important;max-width:70%;height:auto;margin:auto;border-radius:10px}
#principal,#divselectcalendario,#formularioDatos,#formularioTransaccion{width:min(720px,100%)!important;margin:0 auto 16px!important;padding:24px!important;border:1px solid var(--hc-line);border-radius:22px;background:var(--hc-paper);box-shadow:0 12px 35px #443d3018}
#principal .abs-center,#divselectcalendario .abs-center{width:100%}
.display-5{margin:0 0 8px!important;color:var(--hc-ink);font:clamp(31px,7vw,47px)/1.05 Georgia,serif!important;text-align:center}
.display-6{font:25px Georgia,serif!important;text-align:center}
#principal:after{content:"Introduce el código recibido con tu cheque regalo para consultar el alojamiento y escoger la fecha de estancia.";display:block;max-width:540px;margin:0 auto;color:var(--hc-muted);font-size:13px;line-height:1.55;text-align:center}
#principal>div>div:nth-child(2){max-width:470px;margin:22px auto 12px!important}
.form-control,input[type=text],input[type=email],input[type=tel]{min-height:49px!important;padding:12px 14px!important;border:1px solid #d6d0c5!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;font-size:16px!important}
#codigo{text-align:center;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.btn,.btn-primary,input[type=submit],input[type=button]{min-height:48px!important;padding:12px 18px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#617c50,var(--hc-green))!important;color:#fff!important;box-shadow:0 7px 18px #526b4328!important;font-size:13px!important;font-weight:900!important;letter-spacing:.02em}
.btn:hover,input[type=submit]:hover,input[type=button]:hover{filter:brightness(.96)}
#resultado{margin:13px 0!important;padding:12px;border-radius:11px;text-align:center;font-size:15px!important}
#formularioDatos{display:none;align-items:stretch!important;justify-content:stretch!important}
#formularioDatos article{width:100%!important;margin:0!important;padding:0!important}
#formularioDatos h3{margin:0 0 18px;font:31px Georgia,serif;text-align:center}
.input-field{margin-bottom:15px!important}
.input-field label{display:block;margin:0 0 6px;color:var(--hc-muted);font-size:12px;font-weight:800}
.input-field .prefix{display:none}
#fechaFormEntrada,#fechaFormSalida,#precioForm{margin:5px 0;padding:10px 12px;border-radius:10px;background:#f2f3ec;font-weight:800}
#divselectcalendario{display:none;flex-direction:column!important;gap:0}
.calendar-eyebrow{margin-bottom:8px;color:var(--hc-rose);font-size:11px;font-weight:900;letter-spacing:.13em;text-align:center;text-transform:uppercase}
.calendar-stay{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;margin:18px auto 2px;padding:14px 16px;border:1px solid #dfe5da;border-radius:15px;background:#f4f6f1}
.calendar-stay span{color:var(--hc-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.calendar-stay strong{color:var(--hc-green-dark);font-size:17px;text-align:right}
.calendar-stay small{grid-column:1/-1;color:var(--hc-muted);font-size:12px;text-align:center}
#calendario{display:none!important;width:min(720px,100%)!important;height:auto!important;min-height:0!important;margin:0 auto 14px!important;padding:18px!important;border:1px solid var(--hc-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 30px #443d3015!important;overflow:hidden!important}
#calendario[style*="block"]{display:block!important}
.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;gap:10px;align-items:center;margin-bottom:12px}
#mesname{position:static!important;z-index:1!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;color:var(--hc-ink)!important;background:none!important;font:700 25px/1.2 Georgia,serif!important;text-align:center!important;text-transform:none!important}
.calendar-nav,#anterior,#posterior{position:static!important;display:grid!important;place-items:center;width:46px!important;height:46px!important;margin:0!important;padding:0!important;border:1px solid #dfe5da!important;border-radius:14px!important;background:#f2f5ee!important;color:var(--hc-green-dark)!important;box-shadow:none!important;font:32px/1 Arial,sans-serif!important;cursor:pointer}
.calendar-nav:disabled{opacity:.3;cursor:default}
#dianame,.calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;clear:both!important;gap:6px!important}
#dianame{margin-bottom:6px!important}
.semana{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:7px 0!important;border:0!important;background:none!important;color:#8a8c84!important;font-size:11px!important;font-weight:900!important;line-height:1!important;text-align:center!important}
.calendar-grid .dia,.calendar-grid .diahoy,.calendar-grid .pasado,.calendar-grid .ocupado,.calendar-grid .ocupadoEntrada,.calendar-grid .ocupadoSalida,.calendar-grid .ocupadoEntradaSalida,.calendar-grid .ocupadoEntradaServicio,.calendar-grid .ocupadoEntradaSalidaServicio{position:relative!important;float:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border:1px solid #e0e5dc!important;border-radius:13px!important;background:#f8faf6!important;color:var(--hc-ink)!important;box-shadow:none!important;font:800 clamp(13px,3.2vw,17px)/1 Arial,sans-serif!important;text-align:center!important;cursor:pointer!important;transition:transform .15s ease,background .15s ease,border-color .15s ease!important}
.calendar-grid .dia:hover{transform:translateY(-1px);border-color:#aeba9f!important;background:#f0f5eb!important}
.calendar-grid .off{visibility:hidden!important;pointer-events:none!important}
.calendar-grid .pasado{background:#f0f0ee!important;color:#b3b4af!important;border-color:#ecece9!important;cursor:not-allowed!important}
.calendar-grid .diahoy{border:2px solid var(--hc-green)!important;background:#eef4e9!important;color:var(--hc-green-dark)!important}
.today-label{position:absolute;bottom:4px;left:0;right:0;color:var(--hc-green);font-size:7px;font-weight:900;text-transform:uppercase}
.calendar-grid .ocupado,.calendar-grid .ocupadoEntrada,.calendar-grid .ocupadoSalida,.calendar-grid .ocupadoEntradaSalida,.calendar-grid .ocupadoEntradaServicio,.calendar-grid .ocupadoEntradaSalidaServicio{border-color:#e6d9d3!important;background:#eee7e3!important;color:#a1887c!important;cursor:not-allowed!important}
.calendar-grid .select,.calendar-grid .selectEntrada,.calendar-grid .selectSalida,.calendar-grid .selectEntradaOcupado,.calendar-grid .selectSalidaOcupado{border-color:var(--hc-green)!important;background:var(--hc-green)!important;color:#fff!important;box-shadow:0 5px 12px #526b4330!important}
.calendar-grid .select{border-radius:9px!important;background:#dfe9d9!important;color:var(--hc-green-dark)!important}
.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:15px;padding-top:13px;border-top:1px solid #ece8df;color:var(--hc-muted);font-size:11px}
.calendar-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{display:block;width:10px;height:10px;border:1px solid #dfe5da;border-radius:4px;background:#f8faf6}.legend-dot.unavailable{border-color:#e6d9d3;background:#eee7e3}.legend-dot.selected{border-color:var(--hc-green);background:var(--hc-green)}
#div01{width:min(720px,100%);margin:0 auto 16px;padding:18px;border:1px solid var(--hc-line);border-radius:18px;background:#fff;text-align:center}
.selection-title{margin-bottom:11px;color:var(--hc-muted);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.selection-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#fechaReserva1,#fechaReserva2{display:flex;flex-direction:column;gap:4px;margin:0!important;padding:12px;border-radius:12px;background:#eef1e9;font-weight:800}
#fechaReserva1 small,#fechaReserva2 small{color:var(--hc-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
#fechaReserva1 span,#fechaReserva2 span{font-size:15px}
#formularioTransaccion{align-items:center;justify-content:center;text-align:center}
#formularioTransaccion b{font:32px Georgia,serif}
#cargando{position:fixed!important;z-index:9999!important;inset:0!important;background:#f7f3ebcc!important;backdrop-filter:blur(3px)}
table{max-width:100%;border-collapse:separate!important;border-spacing:4px!important}
td,th{border-radius:8px!important}
@media(max-width:600px){body{padding:0 7px 30px!important}body:before{margin:0 -7px 22px;padding-bottom:55px}#divlogo{margin-top:-58px!important}#principal,#divselectcalendario,#formularioDatos,#formularioTransaccion{padding:14px!important;border-radius:18px}.display-5{font-size:30px!important}.display-6{font-size:20px!important}.btn,input[type=submit],input[type=button]{width:100%!important}#calendario{padding:12px 8px!important;border-radius:17px!important}.calendar-toolbar{grid-template-columns:42px 1fr 42px;gap:5px}.calendar-nav,#anterior,#posterior{width:42px!important;height:42px!important;border-radius:12px!important}#mesname{font-size:21px!important}#dianame,.calendar-grid{gap:4px!important}.calendar-grid .dia,.calendar-grid .diahoy,.calendar-grid .pasado,.calendar-grid .ocupado,.calendar-grid .ocupadoEntrada,.calendar-grid .ocupadoSalida,.calendar-grid .ocupadoEntradaSalida,.calendar-grid .ocupadoEntradaServicio,.calendar-grid .ocupadoEntradaSalidaServicio{border-radius:10px!important;font-size:14px!important}.calendar-legend{gap:7px 11px}.selection-dates{gap:7px}#div01{padding:13px}}
