.furniture-studio { margin: 5rem 0; border-top: 1px solid #cfcac1; padding-top: 3rem; }
.furniture-studio-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3rem; align-items: end; }
.furniture-studio-intro .eyebrow { grid-column: 1 / -1; }
.furniture-studio-intro h2 { font-size: clamp(2.6rem, 6vw, 6rem); line-height: .98; letter-spacing: -.06em; margin: 0; font-weight: 400; }
.furniture-studio-intro h2 em { color: #98624f; font-weight: 400; }
.furniture-studio-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 3rem 0; }
.furniture-studio-facts > div { border-top: 1px solid #cfcac1; padding-top: 1rem; }
.furniture-studio-facts dt { text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; margin-bottom: .6rem; }
.furniture-studio-facts dd { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.furniture-studio-config { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: 2rem; }
.furniture-studio fieldset { border: 1px solid #cfcac1; padding: 1rem; margin: 1.2rem 0; min-width: 0; }
.furniture-studio legend { max-width: 100%; }
.furniture-studio button, .furniture-studio select { font: inherit; color: #1f1512; background: #f6f0ea; border: 1px solid #cfcac1; padding: .7rem .9rem; cursor: pointer; max-width: 100%; }
.furniture-studio legend button { border: 0; border-bottom: 2px solid transparent; padding: .3rem .4rem; overflow-wrap: anywhere; text-align: left; }
.furniture-studio legend button[aria-pressed="true"] { border-bottom-color: #98624f; color: #98624f; }
.furniture-studio-part-nav { display: flex; flex-wrap: wrap; align-content: start; gap: .4rem; max-height: 220px; overflow: auto; padding: .4rem; margin: 1rem -.4rem; }
.furniture-studio-part-nav button { font-size: .75rem; padding: .45rem .65rem; border-radius: 2px; }
.furniture-studio-part-nav button[aria-pressed="true"] { background: #98624f; color: #fffaf2; border-color: #98624f; }
.furniture-studio.is-enhanced fieldset[data-studio-part]:not(.is-active) { display: none; }
.furniture-studio label { display: grid; gap: .5rem; font-size: .85rem; margin-bottom: .9rem; }
.furniture-studio select { width: 100%; }
.furniture-studio-material, .furniture-studio-finish { padding-top: .8rem; border-top: 1px solid var(--line, #cfcac1); }
.furniture-studio input[type="color"] { width: 100%; height: 40px; border: 0; padding: 0; cursor: pointer; }
.furniture-studio :focus-visible, .furniture-admin-studio :focus-visible { outline: 2px solid #98624f; outline-offset: 3px; }
.furniture-studio-viewport { position: relative; height: clamp(300px, 45vw, 650px); background: #e7e4dd; overflow: hidden; border-radius: 3px; }
.furniture-studio-viewport canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.furniture-studio-idle { display: grid; place-content: center; text-align: center; height: 100%; gap: 1rem; background: radial-gradient(ellipse at 65% 20%, #e3c6b7, transparent 70%); }
.furniture-studio-idle > span { font-size: 6rem; font-weight: 300; letter-spacing: -.07em; color: #996e5c; }
.furniture-studio-tools { display: flex; gap: .5rem; flex-wrap: wrap; }
.furniture-studio-disclaimer, .furniture-studio details { font-size: .8rem; line-height: 1.6; color: #5b554e; }
.furniture-studio details li { margin-bottom: .6rem; overflow-wrap: anywhere; }
.furniture-studio pre, .furniture-admin-studio pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .85rem; padding: 1rem; background: #e7e4dd; }
.furniture-studio .furniture-studio-selection { margin: 1.5rem 0; border-top: 1px solid var(--line, #cfcac1); border-bottom: 1px solid var(--line, #cfcac1); color: var(--ink, #1f1512); }
.furniture-studio-selection summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; }
.furniture-studio-selection summary::-webkit-details-marker { display: none; }
.furniture-studio-selection summary h3 { font-size: 1rem; margin: 0; }
.furniture-studio-selection summary span { font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; }
.furniture-studio-selection:not([open]) .selection-hide, .furniture-studio-selection[open] .selection-show { display: none; }
.furniture-studio-selection pre { margin: 0 0 1rem; }
.furniture-studio-dimensions { margin: 2rem 0; }
.furniture-studio-dimensions dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1rem; }
.furniture-studio-dimensions dl > div { border-top: 1px solid var(--line, #cfcac1); padding-top: .8rem; }
.furniture-studio-dimensions dd { margin: .4rem 0 0; }
.furniture-studio-dimensions p { font-size: .8rem; }
.furniture-studio .furniture-studio-keywords { border-block: 1px solid var(--line, #cfcac1); margin: 1.5rem 0; color: var(--ink, #1f1512); }
.furniture-studio-keywords summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; font-weight: 500; }
.furniture-studio-keywords summary::-webkit-details-marker { display: none; }
.furniture-studio-keywords summary span { font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; }
.furniture-studio-keywords:not([open]) .selection-hide, .furniture-studio-keywords[open] .selection-show { display: none; }
.furniture-keyword-chips { display: flex; gap: .6rem; flex-wrap: wrap; list-style: none; padding: 0; margin: 1rem 0; }
.furniture-studio .furniture-keyword-chips li, .furniture-admin-keywords .furniture-keyword-chips button { border: 1px solid var(--line, #cfcac1); border-radius: 999px; padding: .5rem .9rem; background: rgba(31, 21, 18,.035); overflow-wrap: anywhere; max-width: 100%; margin: 0; font-size: .85rem; }
.furniture-related { border-top: 1px solid var(--line, #cfcac1); padding-top: 2rem; margin-top: 3rem; }
.furniture-related-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.furniture-related-heading h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.6rem); }
.furniture-related-heading a, .furniture-related-list a > span { font-size: .8rem; }
.furniture-related-list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 27%); gap: 1.5rem; overflow-x: auto; padding: 0 0 1rem; list-style: none; scroll-snap-type: x proximity; }
.furniture-related-list li { min-width: 0; scroll-snap-align: start; }
.furniture-related-list a { display: block; }
.furniture-related-list img, .furniture-related-no-photo { display: grid; place-items: center; width: 100%; height: 220px; object-fit: contain; background: rgba(255,255,255,.36); padding: 1rem; }
.furniture-related-list h3 { font-size: 1rem; font-weight: 500; overflow-wrap: anywhere; margin: 1rem 0 .5rem; }
.furniture-related-list p { font-size: .8rem; }
.furniture-related-list a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.furniture-related-list a:focus-visible { outline: 2px solid var(--accent, #a9573f); outline-offset: -2px; }
.furniture-finish-swatches { display: flex; flex-wrap: wrap; gap: .4rem; }
.furniture-studio .furniture-finish-swatch { display: inline-grid; place-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid #b8b2a8; border-radius: 50%; font-size: 0; }
.furniture-studio .furniture-finish-swatch[aria-pressed="true"] { outline: 2px solid #1f1512; outline-offset: 3px; }
.furniture-studio .furniture-finish-swatch:focus-visible { outline: 3px solid #98624f; outline-offset: 4px; }
.furniture-studio .furniture-finish-swatch:disabled { cursor: default; }
.furniture-admin-studio { min-width: 0; padding: 1.5rem; border: 1px solid #cfcac1; }
.furniture-admin-studio[hidden] { display: none; }
.furniture-admin-studio h3 { margin-top: .5rem; }
.furniture-admin-studio details { border-top: 1px solid #cfcac1; margin: 1.5rem 0; padding-top: 1rem; }
.furniture-admin-studio details summary { cursor: pointer; }
.furniture-admin-studio button { margin: .5rem 0; }
.furniture-admin-facts, .furniture-admin-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.furniture-admin-parts fieldset { min-width: 0; border: 1px solid #cfcac1; padding: 1rem; }
.furniture-admin-parts legend { max-width: 100%; overflow-wrap: anywhere; }
.furniture-admin-parts .furniture-finish-choices { display: grid; gap: .6rem; }
.furniture-finish-choices label { display: flex; align-items: flex-start; gap: .6rem; overflow-wrap: anywhere; }
.furniture-finish-choices input[type="checkbox"] { width: auto; flex: 0 0 auto; margin-top: .2rem; }
.furniture-admin-studio label { margin: .5rem 0; }
.furniture-admin-studio select, .furniture-admin-studio input { max-width: 100%; }
.furniture-admin-studio .is-error { color: #9f3027; }
@media (max-width: 760px) {
  .furniture-studio-intro, .furniture-studio-config { grid-template-columns: 1fr; }
  .furniture-studio-preview { grid-row: 1; }
  .furniture-studio-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .furniture-admin-facts, .furniture-admin-parts { grid-template-columns: 1fr; }
  .furniture-admin-studio { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .furniture-studio * { scroll-behavior: auto; transition: none; } }
