.rd-tool { color: #20231f; }
.rd-tool__form, .rd-upload__form, .rd-contact-form { display: grid; gap: 20px; }
.rd-tool__form { grid-template-columns: .9fr 1.1fr; }
.rd-tool__form > * { grid-column: 1; }
.rd-visualizer__result { grid-column: 2; grid-row: 1 / span 8; }
.rd-field { display: grid; gap: 7px; }
.rd-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rd-tool__form .rd-field-row:has(> :nth-child(3)) { grid-template-columns: 1fr 1fr .8fr; }
.rd-field label, .rd-field > label, .rd-contact-form label { font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.rd-field input, .rd-field select, .rd-field textarea, .rd-contact-form input, .rd-contact-form select, .rd-contact-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid rgba(32,35,31,.2);
  border-radius: 0;
  outline: none;
  background: #fbf9f5;
  color: #20231f;
}
.rd-field textarea, .rd-contact-form textarea { min-height: 120px; resize: vertical; }
.rd-field input:focus, .rd-field select:focus, .rd-field textarea:focus, .rd-contact-form input:focus, .rd-contact-form select:focus, .rd-contact-form textarea:focus { border-color: #9b6d45; box-shadow: 0 0 0 2px rgba(155,109,69,.12); }
.rd-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-swatches label { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(32,35,31,.15); cursor: pointer; font-size: .67rem; }
.rd-swatches input { position: absolute; width: 1px !important; height: 1px; min-height: 0; opacity: 0; pointer-events: none; }
.rd-swatches span { width: 19px; height: 19px; border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.rd-swatches label:has(input:checked) { border-color: #9b6d45; background: #f2ece3; }
.rd-visualizer__result { display: grid; gap: 24px; align-content: start; }
.rd-room { --accent: #d5c5ae; position: relative; min-height: 290px; overflow: hidden; border: 9px solid #ddd6ca; background: #eee8df; box-shadow: inset 0 0 50px rgba(69,55,39,.08); transition: aspect-ratio .25s ease; }
.rd-room[data-palette="olive"] { --accent: #68705b; background: #e3e1d8; }
.rd-room[data-palette="clay"] { --accent: #aa735b; background: #eaded6; }
.rd-room::before, .rd-room::after { content: ""; position: absolute; background: #c7b59e; }
.rd-room::before { width: 30%; height: 8px; inset: -9px 12% auto auto; }
.rd-room::after { width: 8px; height: 30%; inset: auto -9px 15% auto; }
.rd-furniture { position: absolute; display: block; background: #765844; border: 3px solid rgba(255,255,255,.75); box-shadow: 0 7px 12px rgba(61,45,32,.15); }
.rd-furniture--rug { z-index: 0; width: 56%; height: 55%; inset: 24% auto auto 22%; border: 0; background: var(--accent); opacity: .42; box-shadow: none; }
.rd-furniture--main { z-index: 2; width: 18%; height: 67%; inset: 16% auto auto 5%; border-radius: 5px; }
.rd-furniture--secondary { z-index: 2; width: 36%; height: 19%; inset: auto 14% 7% auto; border-radius: 5px; }
.rd-furniture--table { z-index: 2; width: 23%; aspect-ratio: 1; inset: 38% auto auto 48%; border-radius: 50%; background: #9a7d60; }
.rd-room[data-room-type="bedroom"] .rd-furniture--main, .rd-room[data-room-type="hotel"] .rd-furniture--main { width: 42%; height: 50%; inset: 23% auto auto 8%; }
.rd-room[data-room-type="office"] .rd-furniture--main { width: 48%; height: 18%; inset: 38% auto auto 20%; }
.rd-room[data-room-type="dining"] .rd-furniture--table { width: 44%; border-radius: 45%; inset: 28% auto auto 28%; }
.rd-result-copy { padding: 24px; background: #f5f1e9; }
.rd-kicker { color: #9b6d45; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rd-result-copy strong { display: block; margin-block: 4px 12px; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; line-height: 1; }
.rd-result-copy small { display: block; margin-block: 18px; color: #6d6f68; }
.rd-upload { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 7vw, 90px); }
.rd-upload__intro h3 { font-size: clamp(2rem, 3.4vw, 3.3rem); }
.rd-credit-badge { display: inline-flex; align-items: center; gap: 5px; padding: 9px 12px; background: #f0e7da; color: #805a3a; font-size: .72rem; font-weight: 700; }
.rd-credit-badge span { font-size: 1rem; }
.rd-dropzone { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 25px; border: 1px dashed #9b6d45; background: #fbf9f5; cursor: pointer; text-align: center; }
.rd-dropzone.has-file { background: #edf0e9; border-style: solid; }
.rd-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rd-dropzone strong { font-size: .9rem; }
.rd-dropzone span { color: #777970; font-size: .68rem; }
.rd-policy-note { margin: 0; padding: 10px 13px; border-inline-start: 3px solid #9b6d45; background: #f5f1e9; font-size: .72rem; }
.rd-contact-form { padding: clamp(24px, 4vw, 48px); background: #f5f1e9; color: #20231f; }
.rd-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .72rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.rd-consent input { width: auto; min-height: auto; margin-block-start: 4px; }
.rd-consent a { text-decoration: underline; }
.rd-honeypot { position: absolute !important; inset-inline-start: -9999px !important; }
.rd-status { min-height: 24px; color: #5d5f59; font-size: .78rem; }
.rd-status.is-success { color: #3e694a; }
.rd-status.is-error { color: #a34035; }
.rd-dashboard__summary { display: flex; align-items: center; gap: 20px; padding: 30px; background: #ded2c1; }
.rd-dashboard__summary strong { margin-inline-start: auto; font-family: "Cormorant Garamond", Georgia, serif; font-size: 3rem; }
.rd-project-list { border-block-start: 1px solid rgba(32,35,31,.15); }
.rd-project-list article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 18px; border-block-end: 1px solid rgba(32,35,31,.15); }
.rd-project-list article div { display: grid; }
.rd-project-list small { color: #777970; }
.rd-status-pill { padding: 5px 9px; background: #e8e4db; font-size: .66rem; text-transform: uppercase; }
.rd-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rd-pricing-grid article { padding: 30px; background: #fff; box-shadow: 0 18px 50px rgba(30,28,24,.08); }
.rd-pricing-grid article > span { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.rd-pricing-grid strong { display: block; margin-block: 20px 10px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 3.5rem; font-weight: 500; }
.rd-affiliate-disclosure, .rd-legal-notice { margin-block: 20px; padding: 18px; border-inline-start: 3px solid #9b6d45; background: #eee7dc; font-size: .82rem; }
.rd-affiliate-disclosure p, .rd-legal-notice p { margin: 0; }

[dir="rtl"] .rd-kicker, [dir="rtl"] .rd-field label, [dir="rtl"] .rd-pricing-grid article > span { letter-spacing: 0; }

@media (max-width: 850px) {
  .rd-tool__form, .rd-upload { grid-template-columns: 1fr; }
  .rd-visualizer__result { grid-column: 1; grid-row: auto; }
  .rd-pricing-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .rd-field-row, .rd-tool__form .rd-field-row:has(> :nth-child(3)) { grid-template-columns: 1fr; }
  .rd-room { min-height: 250px; }
  .rd-dashboard__summary { align-items: flex-start; flex-wrap: wrap; }
  .rd-dashboard__summary strong { margin-inline-start: 0; }
}
