@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#15333f;--muted:#647680;--line:#dce3e6;--teal:#146477;--nav:#102d37;--paper:#fff;--surface:#f0f4f5;--accent:#aee5ed;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--surface)}button,input,select{font:inherit}button,select,input[type=checkbox],input[type=color],summary,.file-button{cursor:pointer}button{transition:background .15s,border-color .15s;white-space:nowrap}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #4bafc2;outline-offset:3px}button,input,select{border-radius:6px}button{border:1px solid transparent;padding:10px 14px;font-size:.875rem;font-weight:600}h1,h2,h3,p{margin:0}button:hover:not(:disabled){filter:brightness(.96)}.topbar{min-height:82px;padding:18px 32px;background:var(--nav);display:flex;align-items:center;justify-content:space-between;gap:24px;color:white}.identity,.top-actions{display:flex;align-items:center;gap:14px}.company-logo{display:block;flex-shrink:0;background:#fff;padding:8px 12px;border-radius:3px}.company-logo img{display:block;width:218px;height:auto}.identity h1{white-space:nowrap}.divider{height:24px;width:1px;background:#49616b;margin:0 7px}.identity h1{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:1.05rem;letter-spacing:-.025em}.badge{color:var(--accent);background:#244752;border:1px solid #406572;padding:4px 8px;border-radius:4px;font-size:.75rem}.ghost{color:#e8f1f3;background:transparent;border-color:#48616b}.primary{background:var(--accent);color:#113b47}.primary span{margin-left:12px}.top-actions{gap:9px}main{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:calc(100vh - 82px)}.controls{background:var(--paper);border-right:1px solid var(--line);padding:8px 24px 26px;min-width:0}.controls section{padding:23px 0;border-bottom:1px solid var(--line)}.controls section:last-child{border-bottom:0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.number{font-size:.75rem;color:var(--teal);border:1px solid #c9dde3;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.section-title h2{font-family:Manrope,Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.015em}label{display:block;font-size:.875rem;font-weight:500;margin:14px 0 7px}label span{color:var(--muted);font-weight:400}input[type=number],select{width:100%;height:40px;border:1px solid #cbd5db;background:#fff;color:var(--ink);padding:8px 10px;font-size:.9rem}select{padding-right:25px}input[type=color]{width:100%;height:40px;padding:4px;background:#fff;border:1px solid #cbd5db}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:flex;border:1px solid #cbd5db;border-radius:6px;overflow:hidden}.segmented button{flex:1;border:0;border-radius:0;background:white;padding:9px}.segmented button+button{border-left:1px solid #e0e6e8}.segmented button[aria-pressed=true]{background:var(--nav);color:white}.hint{font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:12px}details{margin-top:18px}summary{font-size:.875rem;font-weight:600}.check{display:flex;gap:7px;align-items:center;font-size:.875rem;margin:0;font-weight:400}.check input{accent-color:var(--teal);width:15px;height:15px;margin:0}.palette-heading{display:flex;justify-content:space-between;align-items:baseline}.palette-heading label{margin-top:0}.tiny{color:var(--muted);font-size:.75rem}.color-rows{margin-top:15px;display:grid;gap:8px}.color-row{display:grid;grid-template-columns:34px minmax(0,1fr) 49px 12px;align-items:center;gap:7px;padding:7px;border:1px solid var(--line);border-radius:6px}.color-row.selected{border-color:var(--teal);background:#f0f7f8;box-shadow:0 0 0 1px var(--teal)}.color-row .swatch{width:29px;height:29px;border:1px solid #0001;border-radius:4px;padding:0;position:relative}.color-row.selected .swatch:after{content:'✓';display:block;color:white;text-shadow:0 1px 4px black}.color-name{width:100%;border:0;background:transparent;color:var(--ink);font-size:.82rem;padding:4px 0;min-width:0}.color-row input[type=number]{height:30px;padding:4px;font-size:.8rem;appearance:textfield;-moz-appearance:textfield}.color-row input::-webkit-inner-spin-button{appearance:none}.color-row span{font-size:.75rem;color:var(--muted)}.outline{background:white;border-color:#bacbd1;color:var(--ink)}.full{width:100%;margin-top:12px;display:flex;justify-content:space-between}.workspace{padding:32px 40px 26px;max-width:1500px;width:100%;margin:auto;align-self:start;min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;color:var(--teal);margin-bottom:7px}.workspace-heading h2{font-family:Manrope,Arial,sans-serif;font-size:1.7rem;line-height:1.3;font-weight:600;letter-spacing:-.055em}.view-label{font-size:.8rem;color:var(--muted);padding-bottom:4px}.board-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:26px 0 6px}.toolgroup{display:flex;gap:3px;background:#e1e9ec;padding:3px;border-radius:7px}.toolgroup button{padding:7px 12px;background:transparent;font-size:.82rem;color:#50646e}.toolgroup button.active{background:white;color:var(--ink);box-shadow:0 1px 4px #152a3815}.secondary-tools{display:flex;align-items:center;gap:16px}.secondary-tools button{background:none;padding:6px 0;color:var(--muted);font-size:.8rem}.secondary-tools .check{font-size:.8rem}.stage{position:relative;max-width:654px;margin:14px auto 0;padding:28px 10px 12px 38px}.canvas-wrap{width:100%;aspect-ratio:1;position:relative;background:#dcdcd6;box-shadow:0 8px 28px #12293618,0 0 0 1px #0002}.canvas-wrap canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:manipulation}.dimension{position:absolute;color:#657984;font-size:.75rem;text-align:center;display:flex;align-items:center;gap:12px}.dimension:before,.dimension:after{content:'';height:1px;flex:1;background:#b8c6cc}.top-dimension{left:38px;right:10px;top:0;height:20px}.left-dimension{top:28px;bottom:12px;left:0;width:20px;writing-mode:vertical-rl;transform:rotate(180deg)}.left-dimension:before,.left-dimension:after{width:1px;height:auto}.canvas-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;max-width:900px;margin:9px auto 22px;padding-left:16px;font-size:.78rem;color:var(--muted)}.canvas-caption button{color:var(--teal);font-size:.75rem;background:transparent;padding:5px}.stats{display:grid;grid-template-columns:.85fr 1fr 1fr 1.55fr;border:1px solid #d3dfe4;border-radius:8px;background:#fff;padding:20px 0}.stats>div{padding:0 21px;min-width:0}.stats>div+div{border-left:1px solid var(--line)}.stats span{display:block;color:var(--muted);font-size:.75rem;line-height:1.4}.stats strong{font-family:Manrope,Arial,sans-serif;font-size:1.55rem;font-weight:600;display:block;margin-top:5px}.stats small{font-size:.8rem;font-weight:400}.mix-bar{height:7px;display:flex;overflow:hidden;border-radius:10px;margin:12px 0 9px;background:#e3e9eb}.mix-bar i{height:100%}.mix-legend{display:flex;gap:10px;flex-wrap:wrap}.mix-legend span{font-size:.75rem;display:flex;gap:4px;align-items:center}.mix-legend b{width:7px;height:7px;border-radius:50%;display:inline-block}.footnote{font-size:.75rem;color:var(--muted);line-height:1.55;margin-top:12px}.technical-note{font-size:.78rem;color:#4b6672;border-top:1px solid #d8e2e6;margin-top:17px;padding-top:13px;line-height:1.55}.file-button{display:block;border:1px dashed #98b5c0;padding:12px;border-radius:6px;text-align:center;color:var(--teal);margin-top:15px;background:#f5fafb}.file-button span{font-size:1rem}.asset-info{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.78rem;overflow-wrap:anywhere}.asset-info img{width:35px;height:45px;object-fit:contain;background:#e6ecee}.asset-info span{min-width:0}#customPanel .check{margin-top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center;background:#e5ecef}#empty h3{font-size:1.1rem;font-weight:500}#empty p{font-size:.875rem;color:var(--muted);max-width:300px;line-height:1.6}.empty-icon{font-size:3rem;color:#5d93a2}#empty .primary{margin-top:8px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:var(--nav);color:white;padding:14px 22px;border-radius:8px;box-shadow:0 5px 30px #0003;font-size:.9rem;z-index:20}[hidden]{display:none!important}
@media(min-width:1450px){.stage{max-width:740px}.workspace{padding-top:36px}.controls{padding-left:26px;padding-right:26px}main{grid-template-columns:324px minmax(0,1fr)}}
@media(max-width:1100px){.company-logo img{width:190px}.identity .badge{display:none}.topbar{padding:17px 22px}.workspace{padding:25px 24px}.workspace-heading{align-items:start;flex-direction:column;gap:7px}.workspace-heading h2{font-size:1.5rem}.board-tools{flex-wrap:wrap;margin-top:18px}.stats{grid-template-columns:1fr 1fr;gap:18px}.stats>div{padding:0 16px}.stats>div:nth-child(3){border-left:0}.canvas-caption{flex-wrap:wrap;gap:4px}.view-label{font-size:.75rem}.top-actions{gap:6px}.top-actions button{font-size:.78rem;padding:9px}.identity{gap:10px}.divider{margin:0 2px}}
@media(max-width:760px){.topbar{flex-wrap:wrap;padding:18px 18px 15px;gap:17px}.identity{width:100%}.company-logo img{width:180px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.top-actions button{font-size:.75rem}.top-actions .primary span{display:none}main{display:flex;flex-direction:column}.workspace{order:0;padding:24px 16px}.controls{order:1;border-right:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:4px 22px 25px}.controls section{min-width:0}.controls section:last-child{grid-column:1/-1;max-width:480px;width:100%}.workspace-heading{flex-direction:row;align-items:center}.workspace-heading h2{font-size:1.3rem}.view-label{font-size:.75rem;max-width:105px;text-align:right}.board-tools{gap:12px}.secondary-tools{gap:15px}.stage{padding-left:28px;padding-right:0}.top-dimension{left:28px;right:0}.left-dimension{left:-3px}.canvas-caption{padding-left:28px}.stats{padding:16px 0}.stats strong{font-size:1.3rem}.technical-note{margin-top:12px}.footnote{font-size:.75rem}}
@media(max-width:430px){.company-logo{padding:8px}.company-logo img{width:160px}.controls{display:block;padding:4px 22px 24px}.workspace-heading h2{font-size:1.16rem}.view-label{font-size:.75rem}.toolgroup button{font-size:.78rem;padding:7px 9px}.secondary-tools{justify-content:space-between;width:100%;padding:0 1px}.canvas-caption{padding-left:0}.stats span{font-size:.75rem}.stats>div{padding:0 13px}}
.color-info{min-width:0}.edit-color{font-size:.75rem;color:var(--teal);margin:1px 0 0;position:relative;width:max-content;text-decoration:underline;cursor:pointer}.edit-color input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;padding:0;cursor:pointer}

.product-module{display:flex;gap:18px;align-items:center;margin:18px 0 2px;padding:15px;background:#f0f5f7;border:1px solid #dbe5e9;border-radius:6px}.product-module img{width:42px;height:84px;object-fit:contain}.product-module strong{display:block;font-size:1rem;font-weight:600}.product-module span{display:block;font-size:.875rem;color:var(--muted);margin-top:5px}.product-module p{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:8px}input:disabled,select:disabled{cursor:default;color:#405e6b;background:#f3f6f7;opacity:1}

.range-caption{font-size:.875rem;font-weight:600}.range-intro{margin-top:7px}.range-color-row{display:grid;grid-template-columns:42px minmax(0,1fr) 49px;gap:9px;padding:10px}.range-swatch{width:42px;height:65px;padding:0;overflow:hidden;position:relative;border-radius:4px;border:1px solid #cbd8dd;background:#fff}.range-swatch img{width:100%;height:100%;display:block;object-fit:cover;object-position:51% 50%}.range-color-row.selected .range-swatch{outline:2px solid var(--teal);outline-offset:1px}.range-color-info{min-width:0;align-self:center}.range-position{margin:0 0 4px;font-size:.875rem;font-weight:600}.range-color-row .range-finish{display:block;font-size:.75rem;color:var(--muted)}.range-color-row .range-active{display:block;font-size:.75rem;line-height:1.35;margin-top:5px;color:var(--muted)}.range-color-row.selected .range-active{color:var(--teal)}.range-weight{font-size:.75rem;text-align:center;margin:0;align-self:start;padding-top:2px;color:var(--muted)}.range-color-row .range-weight input[type=number]{margin-top:6px;height:33px;font-size:.875rem;text-align:center}.range-select{grid-column:1/-1;height:40px;font-size:.875rem}.range-select optgroup{font-weight:600}.range-color-row .range-select{padding-left:9px;padding-right:20px} .controls .color-rows{gap:12px}

/* Grout brand and colour selection */
.grout-preview{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#f7f9fa}.grout-preview>span{width:35px;height:42px;flex-shrink:0;border:1px solid #0002;border-radius:4px}.grout-preview strong{display:block;font-size:.8rem;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.grout-preview small{display:block;font-size:.72rem;color:var(--muted);line-height:1.4;margin-top:3px}.grout-disclaimer a{color:var(--teal);display:inline-block;margin-top:4px;text-underline-offset:3px}.grout-details{margin-top:10px}.grout-details summary{font-size:.78rem}.grout-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0 4px}.grout-swatch{padding:3px;background:white;border:1px solid var(--line);border-radius:4px;min-width:0;display:flex;align-items:stretch;flex-direction:column}.grout-swatch>span{display:block;height:26px;border:1px solid #0001;border-radius:2px}.grout-swatch small{display:block;font-size:.58rem;line-height:1.3;margin:4px 0 1px;overflow-wrap:anywhere;color:var(--ink)}.grout-swatch[aria-pressed=true]{outline:2px solid var(--teal);outline-offset:1px}.grout-swatch:focus-visible{outline:3px solid #17728b;outline-offset:2px}#groutColor{font-size:.8rem;padding-right:19px}#groutBrand{font-size:.8rem;padding-left:9px;padding-right:15px}

/* Official Diamantica layouts */
.pattern-gallery{margin-top:12px}.pattern-gallery summary{font-size:.8rem}.pattern-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.pattern-card{min-width:0;padding:0 0 9px;background:white;text-align:left;border:1px solid #cfdbdf;border-radius:6px;overflow:hidden;color:var(--ink)}.pattern-thumb{display:block;aspect-ratio:1.45;overflow:hidden;border-bottom:1px solid #e0e7ea;background:#fafafa}.pattern-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}.pattern-card strong{display:block;font-size:.8rem;margin:8px 8px 3px}.pattern-card small{display:block;margin:0 8px;font-size:.68rem;line-height:1.35;min-height:2.7em;color:var(--muted)}.pattern-card[aria-pressed=true]{border-color:var(--teal);outline:2px solid var(--teal);outline-offset:1px;background:#f0f7f8}.pattern-card[aria-pressed=true] strong{color:var(--teal)}.pattern-card:focus-visible{outline:3px solid #187d97;outline-offset:2px}.pattern-reference{font-size:.76rem;color:var(--teal);text-underline-offset:3px;display:inline-block;margin-top:5px}#pattern{font-size:.8rem;padding-left:9px;padding-right:20px}#columnShiftField{margin-top:13px;padding:0 11px 11px;border:1px solid var(--line);border-radius:6px;background:#f7f9fa}

/* Material loading feedback */
.render-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:24px;margin:0 0 8px;font-size:.75rem;color:var(--teal)}
.render-status button{padding:4px 8px;background:white;border-color:var(--line);color:var(--ink);font-size:.75rem}
#renderStatus[data-status=error]{color:#9d492d}
#renderStatus[data-status=loading],#renderStatus[data-status=technical]{color:var(--muted)}
@media(max-width:760px){.render-status{justify-content:flex-start;font-size:.72rem}.secondary-tools{flex-wrap:wrap}}

.stats strong .surface-value{display:inline;font:inherit;color:inherit}

/* Calathea photo framing: same camera crop as the placement renderer. */
.range-swatch img.calathea-sample{position:absolute;width:340.199%;height:123.688%;max-width:none;left:-130.565%;top:-6.518%;object-fit:fill}

/* Physical wall proportions and per-colour material takeoff. */
#resetWall{font-size:.76rem;justify-content:center;white-space:normal}
.quantities{margin-top:24px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px}
.quantity-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.quantity-heading h3{font-family:Manrope,Arial,sans-serif;font-size:1.15rem;letter-spacing:-.025em}
.quantity-heading .eyebrow{font-size:.68rem}
.quantity-heading button{font-size:.78rem}
.reserve-field{display:flex;gap:12px;align-items:center;margin:20px 0}
.reserve-field label{margin:0;white-space:nowrap}.reserve-field input{width:85px;flex-shrink:0}.reserve-field .hint{margin:0;max-width:400px}
.quantity-scroll{overflow-x:auto}.quantity-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.82rem;text-align:right;font-variant-numeric:tabular-nums}
.quantity-table th,.quantity-table td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.quantity-table th:first-child{text-align:left;min-width:180px;font-weight:500}
.quantity-table thead{color:var(--muted);font-size:.72rem}.quantity-table thead th{font-weight:500}
.quantity-table small{display:block;font-size:.69rem;line-height:1.45;color:var(--muted);font-weight:400;margin-top:4px}
.quantity-table tbody th small{margin-left:23px}.quantity-table td:nth-child(3){max-width:170px}
.quantity-chip{display:inline-block;width:13px;height:13px;border-radius:3px;border:1px solid #0002;margin-right:10px;vertical-align:-1px}
.quantity-table tfoot{background:#f1f7f8;font-weight:700}.quantity-table tfoot th,.quantity-table tfoot td{border-bottom:0}
.quantity-warning{margin-top:12px;color:#9d492d;font-size:.78rem;line-height:1.55}
@media(max-width:760px){.quantities{padding:18px 14px}.reserve-field{flex-wrap:wrap}.reserve-field .hint{flex-basis:100%}.quantity-heading{gap:12px}}

.range-swatch img.papillon-sample{position:absolute;width:356.794%;height:176.218%;max-width:none;left:-135.192%;top:-38.052%;object-fit:fill;transform:none}

.range-swatch.kuspis-swatch{width:26px;height:77px;justify-self:center}.range-swatch img.kuspis-sample{position:absolute;width:465.4545%;height:119.8767%;max-width:none;left:-191.5909%;top:-9.8613%;object-fit:fill;transform:none}

.range-swatch img.arabesco-sample{object-fit:contain;object-position:center}.range-swatch canvas.arabesco-sample{display:block;width:100%;height:100%;object-fit:contain}

.segmented.all-angles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.segmented.all-angles button:nth-child(n+5){border-top:1px solid #e0e6e8}

.pattern-card strong{white-space:normal;line-height:1.3}
/* Language selection stays readable with the longer translated labels. */
.topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap;margin-left:auto}.language-control{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#d7e4e7}.language-control select{width:132px;height:38px;margin:0;color:#fff;background:#23434d;border-color:#4b6770;padding:7px 26px 7px 10px}.language-control select option{color:#102d37;background:#fff}.board-tools,.secondary-tools,.quantity-heading{flex-wrap:wrap}.toolgroup button,.secondary-tools button{white-space:normal}
@media(max-width:760px){.top-actions{margin-left:0}.language-control{grid-column:1/-1;justify-content:space-between}.language-control select{width:160px}.top-actions button{padding-left:8px;padding-right:8px;white-space:normal}.workspace-heading{gap:12px}.workspace-heading h2{overflow-wrap:anywhere}}

#klimtControls{padding:12px;background:#f0f4f5;border:1px solid var(--line);border-radius:6px;margin:12px 0}

#standardPalette[hidden],#klimtControls[hidden]{display:none}.klimt-cards{display:grid;gap:12px;margin:14px 0}.klimt-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px;min-width:0}.klimt-card.selected{border-color:#285866}.klimt-card-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.klimt-card-head strong{font-size:14px;overflow-wrap:anywhere}.klimt-card-head .range-swatch{flex:0 0 64px;width:64px;height:64px}.klimt-fields{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.klimt-field{display:block;font-size:14px;min-width:0}.klimt-field select{width:100%;margin-bottom:0}.klimt-card-bottom{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:10px}.klimt-card-bottom label{width:85px;font-size:14px}.klimt-card-bottom input{width:100%;margin:6px 0 0}.klimt-card-bottom button{flex:1;white-space:normal;margin-bottom:0;min-height:40px}#klimtControls>.full{white-space:normal}

.listello-swatch{height:112px;width:28px;justify-self:center}.range-swatch img.listello-sample{width:100%;height:100%;object-fit:cover;object-position:center}

/* Keep a 28 × 112 content area. The rotated image rule must outrank the generic sample rule. */
.range-swatch.listello-swatch{box-sizing:content-box;position:relative;overflow:hidden;width:28px;height:112px;padding:0;flex-shrink:0}
.range-swatch img.listello-sample.listello-sample-landscape{position:absolute;width:112px;height:28px;max-width:none;max-height:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);object-fit:fill;object-position:center}

.range-swatch.opus-swatch{width:42px;height:42px}.range-swatch.opus-swatch img{object-fit:contain}

.position-centering button{min-width:0;white-space:normal;line-height:1.35;padding:10px 8px}

.precious-panel{border:1px solid #cbb891;border-radius:8px;background:#fcfaf5;padding:14px;margin:18px 0}.precious-panel h3{margin:0 0 8px}.precious-preview{display:flex;align-items:center;gap:12px;margin:12px 0}.precious-preview strong{font-size:.85rem;overflow-wrap:anywhere}.precious-preview .range-swatch{flex-shrink:0}.precious-actions{display:grid;gap:8px}.precious-actions button{white-space:normal;min-height:40px}.precious-actions button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:white}.canvas-wrap[data-tool=precious],.canvas-wrap[data-tool=remove-precious]{outline:3px solid #b4945b;outline-offset:4px}.canvas-wrap[data-tool=remove-precious] canvas{cursor:cell}

#patchControls .range-swatch canvas{display:block;width:100%;height:100%;object-fit:contain}#patchControls .klimt-card>small.hint{display:block;margin:5px 0 8px}
.range-swatch canvas.diamantica-sample{display:block;width:100%;height:100%;object-fit:contain}.range-swatch canvas[hidden],.range-swatch img[hidden]{display:none}
.range-swatch canvas.papillon-white-sample{display:block;width:100%;height:100%;object-fit:contain;background:#eeefed}

.range-swatch canvas.wadi-rum-sample{display:block;width:100%;height:100%;object-fit:contain;background:#eeefed}
.product-module img[src="wadi-rum.svg"]{width:72px}

/* Wonder’s Patch: rug zones and selectable photographed motifs. */
.rug-zone{margin:16px 0;padding:12px;border:1px solid #d7e1e5;border-radius:12px;background:#fff}.rug-zone h4{margin:0 0 10px;font-size:14px;color:#15333f}.rug-decors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.rug-decor{min-width:0;padding:4px;border:2px solid transparent;border-radius:8px;background:#f3f5f5;color:#15333f;cursor:pointer}.rug-decor[aria-pressed="true"]{border-color:#227c80;background:#dff0ed}.rug-decor canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:4px}.rug-decor span{display:block;font-size:11px;padding-top:3px}.rug-decor:focus-visible{outline:3px solid #a96f23;outline-offset:2px}.rug-status{font-size:12px;line-height:1.5;padding:10px;border-radius:8px;background:#edf4f5;color:#15333f}.rug-paint{display:flex;flex-wrap:wrap;gap:6px}.rug-paint .hint{width:100%}.rug-paint button{font-size:11px;padding:6px}.rug-paint [aria-pressed="true"]{border-color:#227c80;background:#dff0ed}

/* Native 1:3 sample, rotated into the vertical module without cropping. */
.range-swatch.listello1030-swatch{width:37.333333px}
.range-swatch.listello1030-swatch img.listello-sample-landscape{height:37.333333px}
