/*
 * Ficha de propiedad: pestaña "Disponibilidad" — calendario de solo lectura
 * (3 meses), server-rendered, sin JS. Vive sobre el panel oscuro de la ficha,
 * igual que .pd-sec / .pd-amen (ver pages.css).
 */

#disponibilidad { scroll-margin-top:52px; } /* + scroll-padding-top global (--nav-h) = nav + barra .pd-tabs */

.pd-av-legend { display:flex; flex-wrap:wrap; gap:18px; margin:0 0 20px; padding:0; list-style:none; font-size:13px; font-weight:600; color:var(--ink-2); }
.pd-av-lg-item { display:inline-flex; align-items:center; gap:8px; }
.pd-av-dot { display:inline-block; width:10px; height:10px; border-radius:999px; flex:none; }
.pd-av-dot-free { background:transparent; border:1.5px solid rgba(243,177,59,.55); }
.pd-av-dot-booked { background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.28); }

.pd-av-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:26px 28px; }

.pd-av-month { padding:18px 16px 20px; border-radius:16px; background:var(--navy-2); border:1px solid rgba(243,177,59,.18); }
.pd-av-month-t { font-family:var(--font-display); font-weight:500; font-size:15px; color:var(--ink); letter-spacing:-.01em; text-transform:capitalize; margin:0 0 14px; text-align:center; }

.pd-av-dow { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; margin:0 0 6px; }
.pd-av-dow span { text-align:center; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); opacity:.85; }

.pd-av-days { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; }

.pd-av-day { aspect-ratio:1; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; font-size:12.5px; font-weight:500; color:var(--ink-2); font-variant-numeric:tabular-nums; background:transparent; }

.pd-av-day.is-blank { visibility:hidden; }

.pd-av-day.is-past { color:var(--ink-2); opacity:.28; }

.pd-av-day.is-booked { color:rgba(255,255,255,.4); background:rgba(255,255,255,.06); text-decoration:line-through; text-decoration-color:rgba(255,255,255,.3); text-decoration-thickness:1.5px; }

@media (max-width:600px) {
	.pd-av-grid { grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:20px; }
	.pd-av-month { padding:16px 12px 18px; }
	.pd-av-day { font-size:12px; }
}

/* /disponibilidad/ — one calendar block per property, anchor-linkable. */
.av-list { display:flex; flex-direction:column; gap:clamp(34px,5vw,54px); }
.av-prop { scroll-margin-top:12px; padding-top:clamp(22px,3vw,34px); border-top:1px solid rgba(243,177,59,.22); } /* página /disponibilidad/ sin sub-barra: el nav ya lo cubre el scroll-padding-top global */
.av-prop:first-child { border-top:0; padding-top:0; }
.av-prop-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.av-prop-t { font-family:var(--font-display); font-weight:500; font-size:clamp(1.25rem,2.2vw,1.7rem); letter-spacing:-.01em; color:var(--ink); margin:6px 0 0; }
