[hidden] { display: none !important; }
.bed-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.bed-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.bed-choice { position: relative; cursor: pointer; }
.bed-choice > span { display: block; height: 100%; padding: 12px 10px 12px 32px; margin: 0; color: var(--text); font-size: .875rem; line-height: 1.7; }
.bed-choice input { position: absolute; top: 18px; left: 10px; margin: 0; accent-color: var(--accent); }
.bed-choice input:checked + span { border-color: var(--accent); background: #e5f4ef; box-shadow: inset 0 0 0 1px var(--accent); }
.bed-choice input:focus-visible + span { outline: 3px solid #cc7d14; outline-offset: 3px; }
.bed-choice small { display: block; color: var(--muted); font-size: .875rem; }
.bed-error { color: #a02724; line-height: 1.8; }
.bed-error:empty { margin: 0; }
.bed-result { border-top: 4px solid var(--accent); }
.bed-result .recommended { margin: 16px 0; }
.bed-name { font-size: clamp(1.7rem,4vw,2.3rem); font-weight: 800; color: var(--accent); margin: 4px 0; line-height: 1.5; }
.bed-summary { margin: 8px 0; }
.bed-size-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.bed-size-choices button { width: auto; padding: 12px; min-height: 46px; font-size: .875rem; background: white; border: 1px solid #aabfc4; color: var(--text); justify-content: center; }
.bed-size-choices button[aria-pressed=true] { background: var(--accent); color: white; border-color: var(--accent); }
.bed-plan { margin: 16px 0; padding: 12px; background: #f7f9fa; border: 1px solid var(--border); border-radius: 10px; }
.bed-plan svg { display: block; width: 100%; height: 300px; }
.bed-plan figcaption { font-size: .875rem; line-height: 1.8; color: var(--muted); margin-top: 10px; }
.bed-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 14px 0; }
.bed-metrics div { padding: 10px 6px; background: #f0f8f6; border-radius: 8px; text-align: center; }
.bed-metrics dt { font-size: .875rem; color: var(--muted); }
.bed-metrics dd { font-size: 1.1rem; font-weight: 750; margin: 6px 0 0; overflow-wrap: anywhere; }
.bed-status { display: inline-block; padding: 6px 10px; border-radius: 6px; background: #e5f4ef; color: #075b4d; font-weight: 700; font-size: .875rem; }
.bed-status[data-status=narrow],.bed-status[data-status=tight] { background: #fff0d4; color: #77450b; }
.bed-status[data-status=overflow] { background: #fce8e6; color: #922924; }
.bed-compare { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr)); gap: 12px; margin-top: 20px; }
.bed-compare button { display: block; text-align: left; color: var(--text); background: white; border: 1px solid var(--border); padding: 18px; font-weight: 400; line-height: 1.8; }
.bed-compare button:hover { border-color: var(--accent); background: #f0f8f6; }
.bed-compare button[aria-pressed=true] { border: 2px solid var(--accent); padding: 17px; background: #f0f8f6; }
.bed-compare strong,.bed-compare small { display: block; }
.bed-compare small { font-size: .875rem; color: var(--muted); }
.bed-compare .bed-status { margin: 10px 0; }
.bed-content { max-width: 850px; }
.bed-content section { margin-block: 32px; }
.bed-content li { line-height: 1.85; margin-block: 8px; }
.bed-content ul { padding-left: 24px; }
.bed-shopping a { display: block; text-align: center; }
.bed-example { font-size: .875rem; color: var(--accent); }
@media(max-width:380px) { .bed-choices { grid-template-columns: 1fr; } .bed-metrics { grid-template-columns: 1fr; } .bed-metrics div { display: flex; justify-content: space-between; gap: 8px; text-align: left; } .bed-metrics dd { margin: 0; } }
@media(min-width:900px) { .bed-result { position: sticky; top: 16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
