/* Furniture catalogue and guided assembly requests. */
[hidden] { display: none !important; }
button:disabled { cursor: not-allowed; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #b9471d; outline-offset: 4px; }
body.dialog-open { overflow: hidden; }
.hero { min-height: 520px; padding-top: 4.5rem; padding-bottom: 4.5rem; }
.hero h1 { font-size: clamp(3.5rem,6.3vw,6rem); }
.hero-visual { max-width: 470px; justify-self: center; }
.hero-lede { font-size: 1.1rem; }
.hero-actions .button { gap: 1.4rem; }
.catalogue-section { padding: 5.5rem clamp(1.25rem,4vw,5rem) 3rem; background: #f9f8f3; scroll-margin-top: 94px; }
.catalogue-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; max-width: 1440px; margin: 0 auto 2.2rem; }
.catalogue-heading h2 { font-size: clamp(2.5rem,4.5vw,4.7rem); margin: 0; }
.catalogue-heading > p { max-width: 430px; margin-bottom: .25rem; color: var(--ink-soft); font-size: .98rem; }
.flow-steps { display: grid; grid-template-columns: repeat(3,1fr); max-width: 1440px; margin: 0 auto 2.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.flow-steps button { display: flex; align-items: center; gap: .85rem; min-height: 70px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #697269; text-align: left; padding: .9rem 1.2rem; cursor: pointer; font-size: .95rem; font-weight: 750; }
.flow-steps button:first-child { padding-left: 0; }
.flow-steps button span { display: grid; place-items: center; min-width: 29px; height: 29px; border: 1px solid #cbd1c7; border-radius: 50%; font-size: .65rem; font-weight: 800; }
.flow-steps button[aria-current] { color: var(--ink); border-bottom-color: var(--orange); }
.flow-steps button[aria-current] span { color: white; border-color: var(--ink); background: var(--ink); }
.flow-steps .step-complete { color: var(--green); }
.flow-steps .step-complete span { background: #e4ebdf; border-color: #e4ebdf; }
.booking-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 2.2rem; max-width: 1440px; margin: 0 auto; }
.flow-main { min-width: 0; }
.panel-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: 1.4rem; }
.panel-heading h3 { font-size: 1.5rem; letter-spacing: -.035em; margin-bottom: .35rem; }
.panel-heading p { font-size: .83rem; color: var(--ink-soft); margin: 0; }
.assembly-only { flex-shrink: 0; background: #e8eddf; border-radius: 6px; color: #3d5542; padding: .35rem .55rem; margin-top: .15rem; font-size: .63rem; font-weight: 800; letter-spacing: .02em; }
.category-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.5rem 0 1.7rem; }
.category-filters button { border: 1px solid #d8ddd2; background: transparent; color: #54604f; padding: .65rem .85rem; border-radius: 999px; font-size: .73rem; font-weight: 700; cursor: pointer; }
.category-filters button[aria-pressed="true"] { color: white; border-color: var(--ink); background: var(--ink); }
.category-filters button:hover { border-color: var(--ink); }
.furniture-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.furniture-card { min-width: 0; overflow: hidden; border: 1px solid #e0e4da; border-radius: 14px; background: white; transition: border-color .2s,box-shadow .2s; }
.furniture-card:hover { border-color: #a5b49b; box-shadow: 0 8px 24px #1e30230b; }
.furniture-picture { position: relative; display: grid; place-items: center; aspect-ratio: 1.25; background: #edf0e8; overflow: hidden; }
.furniture-picture.tint-bedroom { background: #f4eee5; }
.furniture-picture.tint-office { background: #eceee9; }
.furniture-picture.tint-living { background: #efeee6; }
.furniture-picture.tint-extras { background: #eeefe9; }
.furniture-picture img { width: 94%; height: 96%; object-fit: contain; transition: transform .3s; }
.furniture-card:hover .furniture-picture img { transform: scale(1.035); }
.furniture-badge { position: absolute; z-index: 1; top: .65rem; left: .65rem; background: #fffaf0e6; border-radius: 4px; padding: .3rem .45rem; font-size: .57rem; font-weight: 800; color: #6d4e29; }
.furniture-card-copy { padding: 1rem; }
.furniture-card h4 { font-size: .98rem; letter-spacing: -.025em; margin: 0 0 .3rem; line-height: 1.25; }
.furniture-card-copy > p { min-height: 3.3em; margin-bottom: .9rem; font-size: .7rem; color: #65705f; line-height: 1.55; }
.furniture-card-bottom { display: flex; flex-direction: column; align-items: stretch; gap: .65rem; }
.furniture-card-bottom > span { font-size: .68rem; color: #52604f; }
.furniture-card-bottom > span b { font-size: .9rem; color: var(--ink); }
.furniture-card-bottom button { display: flex; align-items: center; justify-content: space-between; gap: .6rem; border: 1px solid #dce1d6; background: white; padding: .65rem .75rem; border-radius: 7px; font-size: .73rem; font-weight: 800; cursor: pointer; }
.furniture-card-bottom button:hover { color: white; background: var(--ink); border-color: var(--ink); }
.furniture-card-bottom button span { font-size: 1rem; }
.catalogue-help { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; border: 1px dashed #bfc9b5; border-radius: 12px; padding: 1rem; }
.catalogue-help > span { font-size: 1.6rem; color: #7c8e6d; }
.catalogue-help strong { font-size: .85rem; }
.catalogue-help p { font-size: .72rem; color: var(--ink-soft); margin: .2rem 0 0; }
.catalogue-help button { flex-shrink: 0; font-size: .73rem; border: 0; border-bottom: 1px solid #94a087; padding: 0 0 .15rem; background: none; font-weight: 800; cursor: pointer; }
.assembly-basket { position: sticky; top: 105px; border: 1px solid #d5ddcb; border-radius: 18px; padding: 1.25rem; background: #eef2e7; max-height: calc(100dvh - 125px); overflow: auto; }
.basket-header { display: flex; align-items: center; gap: .55rem; padding-bottom: 1.2rem; border-bottom: 1px solid #d5ddcb; }
.basket-header h3 { flex: 1; font-size: .98rem; margin: 0; letter-spacing: -.02em; }
.basket-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.basket-count { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: white; font-size: .68rem; font-weight: 800; }
.basket-empty { padding: 1rem .3rem 1.6rem; text-align: center; }
.basket-empty img { margin: 0 auto .4rem; }
.basket-empty strong { font-size: .88rem; }
.basket-empty p { font-size: .75rem; color: var(--ink-soft); max-width: 240px; margin: .5rem auto 0; }
.basket-item { display: flex; gap: .65rem; padding: 1.1rem 0; border-bottom: 1px solid #d5ddcb; }
.basket-item > img { flex: 0 0 58px; width: 58px; height: 58px; background: #f9fbf5; border-radius: 6px; }
.basket-item-copy { flex: 1; min-width: 0; }
.basket-item-copy > strong { display: block; font-size: .8rem; }
.basket-item-copy > small { display: block; margin-top: .2rem; font-size: .66rem; color: var(--ink-soft); overflow-wrap: anywhere; }
.basket-edit { display: flex; gap: .7rem; margin-top: .4rem; }
.basket-edit button { border: 0; padding: 0; color: #66745c; font-size: .65rem; background: none; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.basket-item-foot { display: flex; align-items: center; justify-content: space-between; gap: .3rem; margin-top: .7rem; font-size: .7rem; font-weight: 700; }
.mini-quantity { display: flex; align-items: center; gap: .3rem; }
.mini-quantity button { width: 27px; height: 27px; padding: 0; border: 1px solid #cbd5bf; border-radius: 5px; background: #fbfcf8; cursor: pointer; }
.mini-quantity button:disabled { opacity: .4; }
.mini-quantity span { width: 20px; text-align: center; }
.basket-totals { padding: 1.3rem 0; }
.basket-totals > div { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.basket-totals > div > span { font-size: .76rem; }
.basket-totals strong { font-size: 1.15rem; letter-spacing: -.04em; }
.basket-totals > p { font-size: .72rem; color: var(--ink-soft); margin: .5rem 0; }
.basket-totals > small { display: block; color: var(--ink-soft); font-size: .65rem; margin-top: .6rem; }
.basket-next { width: 100%; min-height: 47px; gap: 1rem; justify-content: space-between; background: var(--ink); color: white; border-radius: 9px; font-size: .78rem; padding: .75rem 1rem; }
.basket-next:disabled { background: #d7ddcf; color: #747e6c; transform: none; }
.basket-small { color: #65725b; text-align: center; font-size: .64rem; margin: .6rem 0 1.2rem; }
.basket-person { display: flex; align-items: center; gap: .7rem; padding-top: 1.1rem; border-top: 1px solid #d5ddcb; }
.person-avatar { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; flex-shrink: 0; background: #d8e1cc; font-family: Georgia,serif; font-size: 1.1rem; }
.basket-person strong { display: block; font-size: .71rem; }
.basket-person small { display: block; font-size: .61rem; color: var(--ink-soft); margin-top: .15rem; }
.basket-call { display: inline-block; margin-top: 1.1rem; font-size: .65rem; color: #54654a; text-underline-offset: 3px; }
.catalogue-assurances { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 2.5rem; margin: 2.3rem auto 0; max-width: 1440px; font-size: .74rem; color: #5d6e52; }
.request-message { color: #8e3a17; font-size: .85rem; font-weight: 700; margin: 0; }
.request-message:not(:empty) { padding: .85rem 1rem; background: #fbecdf; border-radius: 9px; margin: 0 0 1.5rem; }
.visit-panel,.contact-panel { border: 1px solid #e1e5da; background: white; border-radius: 18px; padding: clamp(1.25rem,3vw,2.8rem); }
.flow-title { font-family: Georgia,serif; font-size: clamp(2rem,3vw,3rem); line-height: 1.08; font-weight: 500; letter-spacing: -.04em; margin-bottom: 1rem; }
.flow-intro { color: var(--ink-soft); font-size: .9rem; margin-bottom: 2rem; max-width: 570px; }
.flow-panel legend { font-family: inherit; font-size: .88rem; font-weight: 800; margin-bottom: .9rem; }
.flow-panel label { font-size: .78rem; }
.flow-panel input,.flow-panel select,.flow-panel textarea { background: #fcfdf9; border-radius: 8px; padding: .85rem; font-weight: 500; font-size: .9rem; }
.flow-panel input:disabled { opacity: .45; }
.visit-block { margin-bottom: 1.7rem; padding-bottom: 1.7rem; }
.quick-dates { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; margin: 0 0 1rem; }
.quick-dates button { display: grid; gap: .25rem; border: 1px solid #d9dfd0; border-radius: 9px; background: white; padding: .7rem; cursor: pointer; text-align: left; }
.quick-dates b { font-size: .75rem; }
.quick-dates small { font-size: .7rem; color: var(--ink-soft); }
.quick-dates button[aria-pressed="true"] { border-color: var(--green); background: #f0f4e9; box-shadow: 0 0 0 1px var(--green); }
.flexible-check { margin-top: 1rem; }
.flexible-check input,.consent input { flex: 0 0 18px; padding: 0; }
.choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; }
.choice-tile { display: block; margin: 0; position: relative; cursor: pointer; }
.choice-tile input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice-tile > span { display: grid; align-content: center; gap: .2rem; min-height: 56px; padding: .7rem; border: 1px solid #d9dfd0; border-radius: 9px; font-size: .8rem; font-weight: 750; text-align: center; }
.choice-tile small { font-size: .65rem; font-weight: 500; color: var(--ink-soft); }
.choice-tile input:checked + span { border-color: var(--green); background: #f0f4e9; box-shadow: 0 0 0 1px var(--green); }
.choice-tile input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 3px; }
.panel-actions { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.panel-actions .button { border-radius: 9px; font-size: .8rem; }
.text-button { border: 0; padding: .5rem 0; background: none; font-size: .8rem; font-weight: 700; color: #586650; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.optional { color: #7a8275; font-size: .74rem; font-weight: 500; }
#email-label { display: block; }
#email-label input { display: block; margin-top: .4rem; }
.reply-choice { padding-bottom: 1.5rem; margin: 1.5rem 0; }
.visit-recap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; margin-bottom: 1.8rem; border-radius: 9px; background: #f1f4eb; }
.visit-recap span { display: block; font-size: .58rem; font-weight: 800; letter-spacing: .13em; color: #687a59; }
.visit-recap strong { display: block; font-size: .85rem; margin: .3rem 0; }
.visit-recap small { display: block; color: var(--ink-soft); font-size: .75rem; }
.visit-recap button { border: 0; background: none; font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.request-extras { border-top: 0; margin-bottom: 1.4rem; }
.request-extras summary { font-size: .8rem; padding-top: .5rem; }
.request-extras > div { padding-bottom: 1rem; }
.request-note { font-size: .75rem; color: #55684b; line-height: 1.65; text-align: center; margin: 1rem 0; }
.send-request { width: 100%; display: flex; justify-content: space-between; border-radius: 9px; font-size: .9rem; }
.contact-panel .privacy-note { font-size: .67rem; }
.back-contact { margin-top: 1.5rem; }
.how-new { background: #e5ebde; }
.how-new > h2 { font-size: clamp(2.8rem,4.5vw,4.5rem); }
.how-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; margin-top: 3rem; }
.how-cards article { border-top: 1px solid #bdcbb1; padding-top: 1.3rem; }
.how-cards span { color: #6b815b; font-size: .75rem; font-weight: 800; }
.how-cards h3 { margin: 1.8rem 0 .5rem; font-size: 1.1rem; }
.how-cards p { font-size: .9rem; color: var(--ink-soft); max-width: 340px; }
.furniture-dialog { width: min(940px,calc(100vw - 40px)); max-height: calc(100dvh - 48px); padding: 0; border: 0; border-radius: 20px; background: #fffefb; color: var(--ink); box-shadow: 0 30px 100px #0d1c1855; overflow: auto; }
.furniture-dialog[open] { display: grid; grid-template-columns: .8fr 1.2fr; }
.furniture-dialog::backdrop { background: #15251cc2; backdrop-filter: blur(4px); }
.dialog-close { position: absolute; z-index: 2; top: 12px; right: 14px; width: 36px; height: 36px; padding: 0; border: 1px solid #d8ded0; border-radius: 50%; background: #fffefbe8; color: #58664f; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.configure-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: stretch; padding: 2rem 1rem; background: #eaf0e2; }
.configure-visual img { width: 100%; max-width: 340px; height: auto; }
.configure-visual > span { margin-top: 2rem; text-align: center; font-size: .54rem; letter-spacing: .15em; color: #6e805e; font-weight: 800; }
.configure-content { padding: 2rem 2rem 1.5rem; min-width: 0; }
.configure-content .eyebrow { font-size: .62rem; margin-bottom: .5rem; }
.configure-content h2 { font-family: inherit; font-weight: 800; font-size: 1.75rem; line-height: 1.2; letter-spacing: -.05em; margin: 0 1rem .5rem 0; }
.configure-description { color: var(--ink-soft); font-size: .76rem; line-height: 1.6; margin-bottom: 1.3rem; }
.size-fieldset { border: 0; padding: 0; margin: 0 0 1.1rem; }
.size-fieldset legend { font-family: inherit; font-size: .78rem; font-weight: 800; margin-bottom: .2rem; }
.dimension-key { color: #76816c; font-size: .63rem; margin-bottom: .65rem; }
.size-options { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.size-choice { display: block; position: relative; margin: 0; cursor: pointer; }
.size-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.size-choice > span { display: grid; align-content: center; min-height: 62px; border: 1px solid #dce2d4; border-radius: 8px; padding: .65rem .7rem; background: white; }
.size-choice b { font-size: .7rem; }
.size-choice small { color: #6d7863; font-size: .63rem; margin-top: .2rem; font-weight: 500; }
.size-choice input:checked + span { background: #eef4e6; border-color: #46613a; box-shadow: 0 0 0 1px #46613a; }
.size-choice input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 3px; }
.size-unsure { grid-column: 1/-1; }
.custom-dimensions { margin: .8rem 0; }
.custom-dimensions > p { font-size: .72rem; font-weight: 750; margin-bottom: .5rem; }
.custom-dimensions > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.custom-dimensions label { font-size: .65rem; margin-bottom: 0; }
.custom-dimensions input { padding: .6rem; background: white; min-width: 0; }
#other-description-label { font-size: .75rem; }
#other-description-label textarea { font-weight: 400; font-size: .8rem; }
.config-extra { font-size: .72rem; margin: 1rem 0; }
.config-extra input { padding: 0; flex: 0 0 18px; }
.configure-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: .8rem; margin-top: .9rem; border-top: 1px solid var(--line); }
.configure-bottom > label { display: block; font-size: .68rem; margin-bottom: .8rem; }
.quantity-control { display: flex; align-items: center; margin-top: .4rem; border: 1px solid #d6ddce; border-radius: 7px; background: white; overflow: hidden; }
.quantity-control button { width: 32px; height: 36px; border: 0; background: none; cursor: pointer; }
.quantity-control button:disabled { opacity: .3; }
.quantity-control input { appearance: textfield; -moz-appearance: textfield; text-align: center; border: 0; border-radius: 0; width: 40px; padding: .3rem 0; background: white; font-size: .8rem; }
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button { -webkit-appearance: none; }
.configure-price { text-align: right; }
.configure-price small { display: block; font-size: .62rem; color: var(--ink-soft); }
.configure-price strong { display: block; font-size: 1.1rem; }
#add-furniture { width: 100%; min-height: 48px; justify-content: space-between; font-size: .8rem; border-radius: 8px; }
.configure-disclaimer { margin: .8rem 0 0; color: #78836f; text-align: center; font-size: .6rem; }
.flow-dock { display: none; }
@media(min-width:1440px) { .furniture-card-bottom { flex-direction: row; align-items: center; } .furniture-card-bottom > span { font-size: .62rem; } .furniture-card-bottom button { font-size: .66rem; padding: .6rem; } }
@media(max-width:1120px) { .booking-layout { grid-template-columns:minmax(0,1fr) 300px; gap: 1.4rem; } .furniture-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalogue-help { flex-wrap:wrap; } .catalogue-help > div { flex:1; } .catalogue-help button { margin-left:2.4rem; } .furniture-picture { aspect-ratio:1.4; } }
@media(max-width:800px) {
  .hero { grid-template-columns:1fr 0.7fr; min-height:0; gap:1rem; padding:3rem 1.5rem; }
  .hero h1 { font-size:3.4rem; } .hero-visual { padding:.5rem; } .hero-lede { font-size:.94rem; } .visual-note { display:none; }
  .catalogue-section { padding:3.5rem 1.25rem 2rem; }
  .catalogue-heading { display:block; } .catalogue-heading > p { max-width:560px; margin:1rem 0 0; }
  .booking-layout { grid-template-columns:minmax(0,1fr); }
  .assembly-basket { position:static; max-height:none; }
  .basket-empty { padding:.5rem; } .basket-empty img { width:100px; }
  .basket-item-copy { min-width:0; } .basket-item-foot { justify-content:flex-start; gap:2rem; }
  .flow-steps button { font-size:.8rem; padding:.9rem .5rem; gap:.5rem; }
  .flow-dock { position:fixed; z-index:65; bottom:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.75rem 1.1rem max(.75rem,env(safe-area-inset-bottom)); border-top:1px solid #d6decc; background:#fafcf5ed; backdrop-filter:blur(16px); box-shadow:0 -4px 25px #17221d0c; }
  .flow-dock strong { display:block; font-size:.75rem; } .flow-dock small { display:block; color:var(--ink-soft); font-size:.61rem; margin-top:.15rem; }
  .flow-dock button { min-height:42px; border:0; border-radius:7px; background:var(--ink); color:white; padding:.65rem 1.1rem; font-size:.75rem; font-weight:800; cursor:pointer; }
  .flow-dock button:disabled { opacity:.4; }
  .furniture-dialog { width:calc(100vw - 28px); } .furniture-dialog[open] { grid-template-columns:.65fr 1.35fr; }
  .configure-content { padding:2rem 1.25rem 1.25rem; }
}
@media(max-width:540px) {
  .hero { grid-template-columns:1fr; padding:2.8rem 1.25rem 2.5rem; }
  .hero h1 { font-size:3.4rem; } .hero-visual { display:none; }
  .hero-lede { font-size:1rem; } .hero-actions .button { width:100%; font-size:.85rem; }
  .trust-inline { font-size:.74rem; gap:.5rem 1rem; margin-top:1.5rem; }
  .proof-strip { grid-template-columns:1fr 1fr; } .proof-strip > div { padding:1rem; border-right:1px solid var(--line); }
  .proof-strip strong { font-size:1.2rem; } .proof-strip span { font-size:.65rem; }
  .catalogue-heading h2 { font-size:2.65rem; } .catalogue-heading > p { font-size:.84rem; }
  .flow-steps { margin-bottom:1.5rem; } .flow-steps button { flex-direction:column; justify-content:center; gap:.4rem; padding:.7rem .2rem; text-align:center; font-size:.7rem; } .flow-steps button:first-child { padding-left:.2rem; }
  .flow-steps button span { min-width:25px; height:25px; font-size:.57rem; }
  .panel-heading { display:block; } .panel-heading h3 { font-size:1.3rem; } .panel-heading p { font-size:.75rem; } .assembly-only { display:inline-block; margin-top:.7rem; }
  .category-filters { flex-wrap:nowrap; overflow:auto; max-width:100%; padding:2px 2px 8px; margin:1.1rem 0; scrollbar-width:thin; }
  .category-filters button { white-space:nowrap; flex-shrink:0; padding:.6rem .7rem; font-size:.67rem; }
  .furniture-grid { gap:.65rem; } .furniture-card { border-radius:10px; } .furniture-picture { aspect-ratio:1.05; }
  .furniture-picture img { width:100%; height:100%; } .furniture-badge { top:.4rem; left:.4rem; font-size:.45rem; padding:.2rem .3rem; }
  .furniture-card-copy { padding:.75rem .65rem; } .furniture-card h4 { font-size:.84rem; min-height:2.5em; }
  .furniture-card-copy > p { font-size:.62rem; min-height:4.7em; margin-bottom:.6rem; } .furniture-card-bottom { gap:.5rem; }
  .furniture-card-bottom > span { font-size:.58rem; } .furniture-card-bottom > span b { font-size:.74rem; }
  .furniture-card-bottom button { font-size:.65rem; padding:.6rem .55rem; }
  .catalogue-help { gap:.7rem; } .catalogue-help > span { font-size:1.3rem; } .catalogue-help p { font-size:.65rem; }
  .catalogue-assurances { justify-content:flex-start; gap:.6rem; font-size:.65rem; }
  .visit-panel,.contact-panel { padding:1.25rem 1rem; border-radius:12px; }
  .flow-title { font-size:2.1rem; } .flow-intro { font-size:.8rem; }
  .flow-panel input,.flow-panel select,.flow-panel textarea { font-size:16px; }
  .quick-dates { gap:.4rem; } .quick-dates button { padding:.7rem .5rem; } .quick-dates b { font-size:.65rem; } .quick-dates small { font-size:.63rem; }
  .choice-grid { gap:.4rem; } .choice-tile > span { padding:.6rem .35rem; font-size:.7rem; } .choice-tile small { font-size:.58rem; }
  .flow-panel .field-row { grid-template-columns:1fr; }
  .panel-actions { flex-direction:column-reverse; align-items:stretch; text-align:center; } .panel-actions .button { font-size:.75rem; }
  .visit-recap { padding:.8rem; } .visit-recap strong { font-size:.75rem; }
  .send-request { font-size:.75rem; padding:.8rem 1rem; } .email-fallback { font-size:.73rem; }
  .how-cards { grid-template-columns:1fr; gap:1.3rem; margin-top:2rem; } .how-cards h3 { margin-top:1rem; }
  .furniture-dialog { max-height:calc(100dvh - 24px); width:calc(100vw - 20px); border-radius:15px; }
  .furniture-dialog[open] { display:block; }
  .configure-visual { min-height:100px; height:120px; padding:0; }
  .configure-visual img { height:130px; width:165px; }
  .configure-visual > span { display:none; }
  .configure-content { padding:1.15rem 1rem; }
  .configure-content h2 { font-size:1.45rem; }
  .configure-description { font-size:.7rem; margin-bottom:1rem; }
  .size-choice > span { min-height:58px; padding:.6rem; } .size-choice b { font-size:.67rem; } .size-choice small { font-size:.58rem; }
  .custom-dimensions input { font-size:16px; }
  .dialog-close { top:10px; right:10px; background:#fffefb; }
  .configure-disclaimer { font-size:.58rem; }
}
@media(prefers-reduced-motion:reduce) { .furniture-picture img,.furniture-card { transition:none; } }
