/* Informational hotel pages reuse the existing travel palette and chrome. */
.hotel-intro,.hotel-directory { max-width:var(--container-max); margin-inline:auto; padding:56px 24px; }
.hotel-intro p { max-width:65ch; line-height:1.9; margin-block:16px; }
.hotel-distance { border-inline-start:3px solid var(--ramadan-gold); padding:16px 24px; margin-block:28px; background:#fff; }
.hotel-distance strong { display:block; color:var(--primary-dark); font-size:clamp(1.5rem,4vw,2.4rem); }
.hotel-distance span { display:block; margin-block-start:8px; color:#536168; }
.hotel-photos { display:flex; overflow-x:auto; gap:20px; scroll-snap-type:x mandatory; padding-block-end:16px; }
.hotel-photos figure { flex:0 0 75%; margin:0; scroll-snap-align:center; }
.hotel-photos img { display:block; width:100%; height:420px; object-fit:cover; border-radius:var(--radius-card); }
.hotel-photos figcaption { margin-block-start:12px; }
.hotel-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hotel-directory-card { background:#fff; border-radius:var(--radius-card); overflow:hidden; border:1px solid #dce2df; }
.hotel-directory-card img { display:block; width:100%; height:220px; object-fit:cover; }
.hotel-directory-card div { padding:24px; }
.hotel-directory-card h2 { font-size:1.3rem; line-height:1.5; overflow-wrap:anywhere; }
.hotel-directory-card strong { display:block; color:#76552d; margin-block:16px; }
.hotel-directory-card a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; }
.hotel-links { display:flex; flex-wrap:wrap; gap:20px; margin-block:28px; }
.hotel-links a { display:inline-flex; align-items:center; padding:12px 24px; border:1px solid #829095; border-radius:100px; min-height:48px; }
@media(max-width:1024px) { .hotel-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .hotel-directory-grid { grid-template-columns:minmax(0,1fr); }.hotel-photos figure { flex-basis:90%; }.hotel-photos img { height:280px; } }
