.accommodation-page{max-width:1100px;margin:auto;padding:28px 5% 64px}
.accommodation-page .bank-payment{grid-template-columns:minmax(0,290px) minmax(0,1fr)}
.accommodation-page .bank-qr-wrap{width:100%;padding:clamp(12px,3vw,24px)}
.accommodation-page .bank-qr{width:100%;max-width:240px;height:auto;aspect-ratio:1}
.accommodation-page .bank-qr img,.accommodation-page .bank-qr canvas{width:100%;height:auto}
.accommodation-page dd{overflow-wrap:anywhere}
@media(max-width:700px){.accommodation-page .bank-payment{grid-template-columns:minmax(0,1fr)}}
.accommodation-heading{max-width:760px;margin:28px 0 36px}.accommodation-heading h1{font-size:clamp(34px,4vw,54px)}.accommodation-heading p{line-height:1.8;color:var(--muted)}.accommodation-heading strong{color:var(--ink)}
.accommodation-calendar{border:1px solid var(--line);border-radius:20px;padding:28px}
.accommodation-calendar-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.accommodation-calendar-heading h2{font-size:24px}.accommodation-calendar-heading p{font-size:14px;color:var(--muted);margin:10px 0 0}.accommodation-calendar-heading nav{display:flex;flex-wrap:wrap;gap:8px 20px}.accommodation-calendar-heading nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.accommodation-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.accommodation-month{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:3px}.accommodation-month caption{text-align:left;font-size:20px;font-weight:600;padding:0 0 16px}.accommodation-month th{font-size:12px;font-weight:400;color:var(--muted);padding:6px 0}.accommodation-month td{padding:0;text-align:center}
.calendar-day{border-radius:8px;min-height:44px;width:100%;padding:6px 0;font-size:14px;font-weight:600;border:1px solid transparent;transition:none}.calendar-day.night-available{background:var(--brand-soft);color:var(--brand)}.calendar-day.night-unavailable{background:var(--canvas);color:var(--muted)}.calendar-day:disabled{opacity:.45;cursor:default}.calendar-day:hover:not(:disabled){border-color:var(--brand)}.calendar-day.in-range{background:var(--lime);color:var(--ink)}.calendar-day[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}
.calendar-key{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;margin:24px 0 10px}.calendar-key span:first-child{color:var(--brand)}.calendar-key span:last-child{color:var(--muted)}.calendar-selection{padding:12px 16px;background:var(--canvas);border-radius:10px;min-height:48px;margin:16px 0 0;font-size:14px;line-height:1.7}
.calendar-day.night-unavailable{border-style:dashed;border-color:var(--line)}.calendar-day[aria-pressed=true]{border-style:solid}
@media(max-width:767px){.accommodation-month:nth-child(2){display:none}}
.accommodation-search{padding:28px 0 36px}.accommodation-search .form-stack{margin:0}.accommodation-fields{display:grid;grid-template-columns:1fr 1fr .65fr;gap:20px}.accommodation-fields input{min-width:0;width:100%;max-width:100%}.accommodation-search button{justify-self:start}.accommodation-result h2{font-size:26px}.accommodation-result{scroll-margin-top:24px}.accommodation-practical{border-top:1px solid var(--line);margin-top:40px;padding-top:32px;line-height:1.8}.accommodation-practical h2{font-size:26px;margin-bottom:20px}
@media(max-width:767px){.accommodation-page{padding-top:16px}.accommodation-heading{margin:20px 0 28px}.accommodation-calendar{padding:20px 12px}.accommodation-calendar-heading{display:block}.accommodation-calendar-heading nav{margin-top:8px}.accommodation-months{grid-template-columns:minmax(0,1fr);gap:28px}.accommodation-fields{grid-template-columns:minmax(0,1fr);gap:16px}.accommodation-search button{width:100%}.accommodation-month{border-spacing:2px}.calendar-day{font-size:13px;min-height:40px}}
