/* Scoped to this directory; shared typography, header and footer stay intact. */
.accommodation-page .content-main{max-width:960px;width:100%}
.accommodation-page .page-hero{padding-bottom:12px}
.accommodation-page .accommodation-hostels{padding-top:18px}
.accommodation-hostels>h2{margin-bottom:26px}
.hostel-city+.hostel-city{margin-top:30px}
.hostel-city>h3{font-size:1.2rem;margin-bottom:12px;padding:11px 16px;background:#e8f1f7;border:1px solid #d7e5ee;border-radius:9px;color:var(--navy)}
.hostel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hostel-card{display:block;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--navy);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.hostel-card:hover{border-color:var(--navy-2);box-shadow:0 4px 16px #10263812}
.hostel-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.hostel-media{aspect-ratio:2/1;overflow:hidden;background:#eaf0f3}
.hostel-media picture,.hostel-media img{display:block;width:100%;height:100%;object-fit:cover}
.hostel-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at 80% 0%,#f5ece4 0,transparent 60%),linear-gradient(150deg,#e6eef2,#d4e1e7);color:#465e6b}
.hostel-placeholder span{font-size:.8rem;letter-spacing:.02em}
.hostel-name{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;min-height:64px;background:#f0f6fa;border-top:1px solid #d7e5ee}
.hostel-name h4{font-size:1rem;line-height:1.4;margin:0;color:inherit}
.hostel-name>span{flex-shrink:0;color:var(--orange-text);font-size:1.2rem}
.accommodation-page .accommodation-rooms{margin-top:28px;padding:28px;border-radius:14px;background:#eef4f7;border:0}
.accommodation-rooms>p{max-width:75ch}
.room-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.room-links>a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 15px;border:1px solid #a9bdc8;border-radius:8px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none}
.room-links>a:hover{border-color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.accommodation-rooms .room-warning{margin:18px 0 0;font-size:.875rem;line-height:1.6;color:var(--navy-2)}
@media(max-width:540px){.hostel-grid{grid-template-columns:1fr;gap:12px}.hostel-city+.hostel-city{margin-top:24px}.hostel-media{aspect-ratio:2.2/1}.hostel-name{padding:13px 15px;min-height:54px}.accommodation-page .accommodation-rooms{padding:20px}.room-links{display:grid}.room-links>a{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.hostel-card{transition:none}}
