/* Opt-in room presentation. Approved pages and the shared header/footer are untouched. */
.room-page { padding-top: 113px; color: var(--comfy-ink); font-family: "Inter", sans-serif; }
.room-page section { padding: 68px 0; scroll-margin-top: 125px; }
.room-page h1, .room-page h2, .room-page h3 { color: var(--comfy-ink); font-family: "Barlow", sans-serif; font-weight: 700; letter-spacing: -.035em; }
.room-page h1 { font-size: clamp(2.6rem, 3.75vw, 3.75rem); line-height: 1.08; margin: 18px 0 24px; max-width: 18ch; }
.room-page h2 { font-size: clamp(2rem, 2.8vw, 2.7rem); line-height: 1.13; margin: 12px 0 0; max-width: 23ch; }
.room-page h3 { font-size: 1.5rem; line-height: 1.2; }
.room-page p { color: var(--comfy-muted); font-size: .92rem; line-height: 1.8; }
.room-page a:focus-visible, .room-page summary:focus-visible { outline: 3px solid var(--comfy-red); outline-offset: 5px; }
.room-page .room-hero { padding: 0 0 50px; background: var(--comfy-paper); }
.room-breadcrumbs { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; padding: 24px 0 30px; color: var(--comfy-muted); font-size: .72rem; }
.room-breadcrumbs a { color: inherit; }
.room-breadcrumbs a:hover { color: var(--comfy-red); }
.room-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 60px; align-items: center; }
.room-hero-grid > *, .room-section-heading > *, .room-faq-grid > * { min-width: 0; }
.room-hero-copy { padding: 16px 0; }
.room-hero-copy > p { max-width: 49ch; margin: 0 0 28px; }
.room-hero-photo { margin: 0; border-radius: var(--comfy-radius); overflow: hidden; background: #ded7cc; }
.room-hero-photo img { display: block; width: 100%; height: 510px; object-fit: cover; }
.room-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; }
.room-actions .comfy-inline-link { font-size: .84rem; }
.room-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; margin-bottom: 34px; }
.room-section-heading > p { max-width: 46ch; margin: 0; font-size: .87rem; }
.room-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 26px; }
.room-solution { min-width: 0; scroll-margin-top: 135px; }
.room-solution a { color: var(--comfy-ink); }
.room-solution-photo { aspect-ratio: 1.35; overflow: hidden; border-radius: 8px; background: var(--comfy-paper); }
.room-solution-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.room-solution a:hover img { transform: scale(1.025); }
.room-solution-title { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin: 17px 0 10px; }
.room-solution-title h3 { margin: 0; font-size: 1.4rem; }
.room-solution-title i { color: var(--comfy-red); flex-shrink: 0; font-size: .95rem; }
.room-solution p { font-size: .82rem; margin: 0; }
.room-parent-link { margin-top: 26px; font-size: .84rem; }
.room-page .room-benefits { background: var(--comfy-paper); }
.room-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; }
.room-benefit { border-top: 1px solid var(--comfy-line); padding-top: 25px; }
.room-benefit > i { display: block; color: var(--comfy-red); font-size: 1.4rem; margin-bottom: 18px; }
.room-benefit h3 { margin-bottom: 12px; }
.room-benefit p { font-size: .87rem; margin: 0; }
.room-page .room-consultation { padding: 52px 0; }
.room-consultation-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 45px; border: 1px solid var(--comfy-line); border-radius: var(--comfy-radius); padding: 34px 38px; }
.room-consultation-panel h2 { max-width: none; font-size: clamp(1.8rem, 2.5vw, 2.4rem); margin: 10px 0 14px; }
.room-consultation-panel p { font-size: .86rem; max-width: 58ch; margin: 0; }
.room-consultation-panel .room-actions { flex-direction: column; align-items: stretch; gap: 17px; }
.room-consultation-panel .comfy-inline-link { justify-content: center; }
.room-page .room-faq { padding-top: 12px; }
.room-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.room-faq h2 { margin-bottom: 22px; }
.room-faq-grid > div > p { max-width: 37ch; font-size: .87rem; }
.room-faq .comfy-inline-link { font-size: .84rem; }
.room-questions details { border-bottom: 1px solid var(--comfy-line); scroll-margin-top: 135px; }
.room-questions details:first-child { border-top: 1px solid var(--comfy-line); }
.room-questions summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0; cursor: pointer; list-style: none; font-size: .9rem; font-weight: 600; line-height: 1.6; }
.room-questions summary::-webkit-details-marker { display: none; }
.room-questions summary i { flex-shrink: 0; color: var(--comfy-red); }
.room-questions details[open] summary i { transform: rotate(45deg); }
.room-questions p { font-size: .85rem; margin: 0 0 20px; }
.room-question-links { display: flex; gap: 8px 18px; flex-wrap: wrap; padding-bottom: 22px; font-size: .8rem; }
.room-question-links a { color: var(--comfy-ink); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1199px) { .room-hero-grid { gap: 32px; } .room-hero-photo img { height: 470px; } .room-faq-grid { gap: 45px; } }
@media (max-width: 991px) {
    .room-page section { padding: 50px 0; }
    .room-hero-grid { grid-template-columns: 1fr; gap: 28px; }
    .room-page h1 { max-width: 23ch; font-size: 2.8rem; }
    .room-hero-copy { padding: 0; }
    .room-hero-copy > p { max-width: 60ch; }
    .room-hero-photo img { height: auto; aspect-ratio: 1.65; }
    .room-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .room-section-heading { flex-direction: column; align-items: flex-start; gap: 20px; }
    .room-section-heading > p { max-width: 60ch; }
    .room-benefit-grid { gap: 25px; }
    .room-consultation-panel { grid-template-columns: 1fr; gap: 26px; }
    .room-consultation-panel .room-actions { align-items: center; flex-direction: row; }
    .room-faq-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 575px) {
    .room-page { padding-top: 101px; }
    .room-page section { padding: 40px 0; scroll-margin-top: 112px; }
    .room-page .room-hero { padding-bottom: 30px; }
    .room-breadcrumbs { padding: 20px 0 26px; font-size: .68rem; }
    .room-page h1 { font-size: clamp(2.15rem, 9.5vw, 2.5rem); margin: 14px 0 20px; }
    .room-page h2 { font-size: 2rem; }
    .room-hero-copy > p { font-size: .86rem; margin-bottom: 22px; }
    .room-hero-photo img { aspect-ratio: 1.18; }
    .room-actions { gap: 16px 22px; }
    .room-actions .comfy-button { padding: 13px 18px; }
    .room-gallery { grid-template-columns: 1fr; gap: 28px; }
    .room-solution-photo { aspect-ratio: 1.45; }
    .room-solution-title h3 { font-size: 1.4rem; }
    .room-benefit-grid { grid-template-columns: 1fr; gap: 24px; }
    .room-benefit { padding-top: 21px; }
    .room-benefit > i { margin-bottom: 12px; }
    .room-consultation-panel { padding: 25px; }
    .room-consultation-panel .room-actions { flex-direction: column; align-items: stretch; }
    .room-questions summary { font-size: .86rem; }
}
@media (prefers-reduced-motion: reduce) { .room-solution-photo img { transition: none; } }

/* New renders keep the complete furniture composition at every breakpoint. */
.room-page .room-hero-photo > img[data-public-render] { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.room-page .room-solution-photo { aspect-ratio: 16 / 9; }
.room-page .room-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.room-page .room-actions > .comfy-button { background: var(--comfy-ink); border-color: var(--comfy-ink); }
.room-page .room-actions > .comfy-button:hover { background: #464139; border-color: #464139; }
@media (max-width: 991px) { .room-page .room-hero-grid { grid-template-columns: minmax(0, 1fr); } }
