/* Each family keeps its own reading rhythm on category pages. */
.page-rooms .room-card{min-width:0}.page-rooms .room-copy{overflow-wrap:anywhere}
.family-dahotel.page-rooms .room-grid{display:block}
.family-dahotel.page-rooms .room-card{display:grid;grid-template-columns:40px minmax(0,.8fr) minmax(0,1.2fr);gap:24px;padding:30px 0;border:0;border-top:1px solid var(--line);background:transparent}
.family-dahotel.page-rooms .room-number{position:static;font-size:13px;color:var(--accent)}
.family-dahotel.page-rooms .room-card>figure{margin:0}.family-dahotel.page-rooms .room-card>figure img{aspect-ratio:1;object-fit:cover}
.family-dahotel.page-rooms .room-copy{padding:0}.family-dahotel.page-rooms .room-without-photo .room-copy{grid-column:2/-1}
.family-hoteler.page-rooms .room-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;border:0;background:var(--soft);margin-bottom:48px}
.family-hoteler.page-rooms .room-number{padding:16px 28px 0;margin:0;font:italic 26px Georgia,serif}
.family-hoteler.page-rooms .room-copy{padding:30px}.family-hoteler.page-rooms .room-copy h3{font-size:clamp(30px,3vw,48px);line-height:1.08}
.family-hoteler.page-rooms .room-card>figure img{height:380px;object-fit:cover}
.family-hoteler.page-rooms .room-card:nth-child(even)>figure{grid-column:2;grid-row:2}.family-hoteler.page-rooms .room-card:nth-child(even)>.room-copy{grid-column:1;grid-row:2}
.family-hoteler.page-rooms .room-without-photo .room-copy{grid-column:1/-1;grid-row:auto;max-width:850px}
.family-moonlit.page-rooms .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.family-moonlit.page-rooms .room-card{position:relative;border:0;border-bottom:2px solid var(--ink);background:transparent;padding-bottom:20px}
.family-moonlit.page-rooms .room-number{display:inline-block;padding:8px 12px;margin-bottom:16px;background:var(--ink);color:var(--paper)}
.family-moonlit.page-rooms .room-copy{padding:18px 0}.family-moonlit.page-rooms .room-card>figure img{aspect-ratio:1.4;object-fit:cover}
.family-ombara.page-rooms .narrative-row{border-top:1px solid var(--line);padding-top:32px;padding-bottom:32px}
.family-ombara.page-rooms .narrative-row:nth-child(odd):not(.text-chapter){direction:rtl}
.family-ombara.page-rooms .narrative-row>*{direction:ltr}
.family-ombara.page-rooms .text-chapter .narrow-copy{max-width:900px;padding:10px 0}
.family-ombara.page-rooms .narrative-row.text-chapter{display:block;min-height:0}
.family-bloggypress.page-rooms .room-grid{display:block}
.family-bloggypress.page-rooms .room-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;padding:24px 0;margin:0;border:0;border-top:1px solid var(--ink);background:transparent}
.family-bloggypress.page-rooms .room-number{grid-column:1/-1;letter-spacing:.12em;font:12px system-ui,sans-serif}
.family-bloggypress.page-rooms .room-copy{padding:0}.family-bloggypress.page-rooms .room-copy h3{font:700 28px/1.2 Georgia,serif}
.family-bloggypress.page-rooms .room-card>figure img{aspect-ratio:1.3;object-fit:cover}
.family-bloggypress.page-rooms .room-without-photo .room-copy{grid-column:1/-1}
.family-hotale.page-rooms .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.family-hotale.page-rooms .room-card{display:flex;flex-direction:column;padding:18px;background:#fff;border:1px solid var(--line)}
.family-hotale.page-rooms .room-number{align-self:flex-start;border:1px solid var(--line);padding:4px 9px;font:12px system-ui,sans-serif;margin-bottom:16px}
.family-hotale.page-rooms .room-card>figure img{height:210px;object-fit:cover}.family-hotale.page-rooms .room-copy{padding:20px 0 0}
.family-hotale.page-rooms .room-copy h3{font-size:24px}.family-hotale.page-rooms .room-specs{display:block}
.family-hotale.page-rooms .room-specs li{border-top:1px solid var(--line);padding:10px 0}
.family-travelu.page-rooms .room-grid{display:block;counter-reset:room}
.family-travelu.page-rooms .room-card{display:block;overflow:auto;background:#fffdf3;border:0;border-left:4px solid #d5b64d;padding:24px;margin-bottom:22px}
.family-travelu.page-rooms .room-number{display:inline-block;background:#f3dc75;color:#252a31;padding:6px 10px;margin:0 0 16px;font:700 12px system-ui,sans-serif}
.family-travelu.page-rooms .room-card>figure{float:right;width:34%;max-width:220px;margin:0 0 18px 24px}
.family-travelu.page-rooms .room-copy{padding:0}.family-travelu.page-rooms .room-copy h3{font:700 26px/1.2 system-ui,sans-serif}
.family-travelu.page-rooms .room-specs{display:block}.family-travelu.page-rooms .room-specs li{padding:6px 0}
/* A cinema cover can lead into a light notebook. Missing images never create
   empty full-screen chapters or pretend to illustrate a room category. */
.family-paradise{background:#f4eddf;color:#19272b;--muted:#596362;--line:#d5d2c9}
.family-paradise .dark-section{color:#19272b}.family-paradise .dark-section .story-section h2{color:#333b37}
.family-paradise .room-card{background:#fff;color:#19272b}.family-paradise .nearby-grid article{background:#ebe6db}
.family-paradise main>.section-heading .eyebrow,.family-paradise .dark-section .eyebrow{color:#725521}
.family-paradise .signature{color:#f4eddf}.family-paradise .signature .author-card .eyebrow{color:#e1c68f}
.family-paradise .booking-actions a{background:#233438;border-color:#233438;color:#fff}
.family-paradise .cinema-stage .booking-actions a{background:#17252ca6;border-color:#e1c68f;color:#f4e0b5}
.family-paradise .cinema-stage:after{background:linear-gradient(0deg,#10191dcf 0%,#10191d59 65%,#10191d20)}
.family-paradise .room-slide{color:#f4eddf}.family-paradise .room-slide .eyebrow{color:#e1c68f}
.family-paradise .room-text-chapter{background:#fff;color:#19272b;border-left:4px solid #ad915c;margin:0 4vw 22px;padding:28px 34px;scroll-margin-top:25px}
.family-paradise .room-text-chapter h2{font-size:clamp(26px,3vw,38px);margin:0 0 14px;max-width:900px}
.family-paradise .room-text-chapter p{max-width:900px}.family-paradise .room-text-chapter .eyebrow{color:#725521;margin:0 0 12px}
.family-paradise .room-strip a{background:#fff;color:#19272b;border-color:#d5d2c9;backdrop-filter:none}
.family-paradise .room-strip a span{color:#725521}
.family-paradise.page-rooms .room-strip{display:flex;flex-wrap:wrap;gap:8px}
.family-paradise.page-rooms .room-strip a{max-width:300px;padding:10px 14px;font-size:15px;line-height:1.4}
.family-paradise.page-rooms .room-strip a span{display:inline-block;margin:0 10px 0 0}
.family-paradise.page-home .room-strip a{background:#273032ed;color:#f4eddf}
.family-paradise.page-home .room-strip a span{color:#e1c68f}
@media(max-width:760px){
 .family-dahotel.page-rooms .room-card{grid-template-columns:28px minmax(0,1fr);gap:14px}
 .family-dahotel.page-rooms .room-card>figure{grid-column:2}.family-dahotel.page-rooms .room-copy{grid-column:2}
 .family-hoteler.page-rooms .room-card{display:block}.family-hoteler.page-rooms .room-card>figure img{height:270px}
 .family-hoteler.page-rooms .room-copy{padding:24px}.family-hoteler.page-rooms .room-number{padding:18px 24px}
 .family-moonlit.page-rooms .room-grid,.family-hotale.page-rooms .room-grid{grid-template-columns:1fr}
 .family-bloggypress.page-rooms .room-card{display:block}.family-bloggypress.page-rooms .room-number{display:block;margin-bottom:15px}
 .family-bloggypress.page-rooms .room-copy{padding-top:20px}.family-bloggypress.page-rooms .room-without-photo .room-copy{padding:0}
 .family-travelu.page-rooms .room-card{padding:20px}.family-travelu.page-rooms .room-card>figure{float:none;width:100%;max-width:none;margin:0 0 20px}
 .family-paradise .room-text-chapter{margin:0 22px 18px;padding:22px}
 .family-paradise.page-rooms .room-strip{flex-wrap:nowrap}
 .family-paradise.page-rooms .room-strip a{flex:0 0 180px}
}
