.preview-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5%;border-bottom:1px solid var(--line)}.preview-header nav{display:flex;gap:30px;font-size:13px}.preview-header nav a[aria-current]{border-bottom:2px solid var(--green);padding-bottom:8px}.preview-header>span{font-size:9px;letter-spacing:1.7px;color:#666}.customiser{max-width:1370px;margin:auto;padding:48px 5% 70px}.intro{margin-bottom:30px}.intro h1{font-size:clamp(42px,5vw,66px);line-height:1.1;margin:0 0 12px}.intro>p:last-child{font-size:14px;color:#62675e}.customiser-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:52px;align-items:start}.canvas-wrap{position:relative;overflow:hidden;border-radius:24px;background:#ebe9df;aspect-ratio:1}.canvas-wrap canvas{width:100%;height:100%;display:block}.angle-label{position:absolute;left:24px;bottom:20px;font-size:11px;background:#faf9f2e8;padding:8px 12px;border-radius:20px;color:#283d30}.customiser fieldset{border:0;padding:0;margin:28px 0}.customiser legend{font-size:15px;margin-bottom:14px;width:100%}.customiser legend>span{float:right;font-size:12px;color:#555}.customiser .angles{margin:16px 0 0}.angles legend{font-size:11px;color:#555}.angles>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.angles button{border:1px solid #c8cdbf;border-radius:9px;background:#ecece4;overflow:hidden;padding:0;cursor:pointer;min-height:44px}.angles button[aria-pressed=true]{outline:2px solid var(--green);outline-offset:2px}.angles canvas{width:100%;display:block}.image-note-custom{font-size:10px;color:#666;margin-top:14px}.controls{padding-top:5px}.control-label{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:10px}.controls select{width:100%;padding:14px;border:1px solid #b8beb0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:17px}.deck-note{font-size:11px;color:#666;margin-top:10px}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatches button{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 14px;border:1px solid #bec4b7;border-radius:24px;background:transparent;font:inherit;font-size:12px;cursor:pointer}.swatches button[aria-pressed=true]{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#e9eee3}.swatches i{display:block;width:21px;height:21px;border:1px solid #0003;border-radius:50%}.swatches .white i{background:#fff}.swatches .green i{background:#3f8e43}.swatches .brown i{background:#795438}.presets{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 30px}.presets button,.text-button{border:0;border-bottom:1px solid #8f9c83;padding:6px 0;background:transparent;font:inherit;font-size:11px;cursor:pointer}.controls textarea{width:100%;resize:none;padding:13px;font:inherit;font-size:12px;line-height:1.6;border:1px solid #cbd1c3;border-radius:8px;background:#eff1e9;color:var(--ink)}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:18px}.actions>.button{border:0;cursor:pointer;font-size:12px;padding:15px 21px}.controls #status{min-height:2.7em;font-size:11px;margin-top:12px;color:#3d573f}.preview-notice{font-size:11px;line-height:1.7;padding-top:16px;border-top:1px solid var(--line);color:#62665d}.preview-notice strong{display:block;font-weight:600}.listing-link{display:inline-block;font-size:12px;margin-top:18px;text-decoration:underline}.noscript{padding:30px}.customiser button:focus-visible,.customiser a:focus-visible,.controls select:focus-visible,.controls textarea:focus-visible{outline:3px solid #7d512d;outline-offset:4px}@media(max-width:850px){.customiser-grid{grid-template-columns:1fr;gap:25px}.customiser{padding-top:32px}.controls{max-width:620px}.preview-header{padding:17px 5%}.preview-header nav{gap:16px}.preview-header>span{font-size:7px;letter-spacing:.5px}.intro .eyebrow{font-size:8px}.customiser fieldset{margin-top:22px}.canvas-wrap{border-radius:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.reference,.pending{font-size:12px;line-height:1.6;margin-top:18px;color:#435442}.reference summary,.pending summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.reference img{max-width:100%;width:280px;height:auto;border-radius:12px;margin-top:14px}.reference p{font-size:11px;max-width:320px}.pending ul{padding-left:18px}.pending li{margin-top:8px}.canvas-wrap canvas[aria-busy=true]{opacity:.45}.swatches{gap:7px}.swatches button{padding:7px 10px;font-size:11px;min-height:42px}.swatches i{width:18px;height:18px}.controls select{font-size:15px}.presets[hidden],[hidden]{display:none!important}@media(min-width:851px){.visual{position:sticky;top:20px}}@media(max-width:500px){.swatches button{font-size:11px;min-height:44px}.customiser-grid{gap:18px}}
.swatch-group{display:flex;flex-wrap:wrap;gap:7px;width:100%}.swatch-group-label{flex-basis:100%;font-size:10px;letter-spacing:.5px;color:#62665d;margin:2px 0 3px}.swatch-group+.swatch-group{margin-top:8px}
.swatches button[data-finish=silk] i{background-image:linear-gradient(120deg,#0004 5%,#fff9 33%,transparent 54%,#fff5 72%,#0003)}
.customiser legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;align-items:baseline}
.customiser legend>span{float:none}
.colour-modes{display:flex;gap:8px;margin-top:24px}
.colour-modes button{flex:1;min-height:44px;padding:11px 15px;border:1px solid #bec4b7;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.colour-modes button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
#mode-help{font-size:12px;line-height:1.6;color:#526052;margin:10px 0 20px}
#detail-label{font:inherit;font-weight:400}
.controls #status:empty{display:none}
.colour-note{font-size:11px;color:#62665d;margin:20px 0}
.custom-request{font-size:12px;line-height:1.7;padding-top:18px;border-top:1px solid var(--line);color:#435442}
.custom-request a{text-decoration:underline;text-underline-offset:3px}
.presets button[aria-pressed=true]{font-weight:600;border-bottom:3px solid var(--green)}
.angles button[data-failed=true]::after{content:'↻';display:block;font-size:16px}
#order-dialog{max-width:480px;width:90%;padding:28px;border:1px solid #bbc3b0;border-radius:18px;background:#faf9f2;color:#283d30}
#order-dialog::backdrop{background:#18281e88}
#order-dialog h2{font-size:26px;margin-top:0}
#order-dialog p{font-size:14px;line-height:1.6}
#order-dialog label{display:block;font-size:12px;margin-bottom:8px}
#order-dialog textarea{width:100%;padding:12px;font:inherit;font-size:13px;resize:none;border-radius:8px;border:1px solid #bbc3b0;background:#eff1e9;color:#283d30}
#order-dialog button,#order-dialog a,#retry{min-height:44px;padding:10px 14px;border:1px solid #bbc3b0;border-radius:8px;background:#eff1e9;font:inherit;font-size:13px;cursor:pointer}
#order-dialog a{display:flex;align-items:center;background:var(--green);color:white}
#order-dialog :focus-visible{outline:3px solid #7d512d;outline-offset:3px}
#dialog-close{margin-top:14px}
.site-customiser{--site-header-height:90px}
.site-customiser .visual{top:calc(var(--site-header-height) + 8px)}
@media(max-width:760px){.site-customiser{--site-header-height:76px}}
@media(max-width:850px){
  .visual{position:sticky;top:0;z-index:2;background:#faf9f2;padding:8px 0 10px;box-shadow:0 8px 14px #283d3012}
  .canvas-wrap{aspect-ratio:auto;height:clamp(150px,27svh,240px);background:#f2f0e7}
  .canvas-wrap canvas{object-fit:contain}
  .angle-label{left:10px;bottom:8px;font-size:10px;padding:5px 9px}
  .customiser .angles{margin-top:8px}
  .angles canvas{height:44px;object-fit:contain}
  .controls{scroll-margin-top:330px}
  .controls button,.controls select{scroll-margin-top:330px}
  .site-customiser .controls button,.site-customiser .controls select{scroll-margin-top:calc(330px + var(--site-header-height))}
  .site-customiser .visual{top:var(--site-header-height)}
}
@media(max-width:850px) and (max-height:500px){
  .visual{position:relative;top:auto}
  .controls button,.controls select{scroll-margin-top:15px}
}
/* Separate mobile panes: controls never slide underneath the model or angles. */
@media(max-width:850px) and (min-height:501px){
  .customiser-grid{position:sticky;top:0;grid-template-rows:auto minmax(0,1fr);gap:12px;height:calc(100svh - 24px);min-height:0;background:var(--paper,#faf9f2)}
  .site-customiser .customiser-grid{top:var(--site-header-height);scroll-margin-top:var(--site-header-height);height:calc(100svh - var(--site-header-height) - 24px)}
  .customiser-grid .visual,.site-customiser .customiser-grid .visual{position:relative;top:auto;z-index:auto;padding:8px 0 10px;box-shadow:none;border-bottom:1px solid var(--line)}
  .customiser-grid .controls{align-self:stretch;height:100%;min-height:0;max-width:none;overflow-y:auto;overflow-x:hidden;padding:8px 5px 24px;scroll-padding-block:12px;scrollbar-width:thin;isolation:isolate}
  .customiser-grid .controls button,.customiser-grid .controls select,.site-customiser .customiser-grid .controls button,.site-customiser .customiser-grid .controls select{scroll-margin-top:12px;scroll-margin-bottom:12px}
  .customiser-grid .controls select{font-size:16px;background:var(--paper,#faf9f2)}
}
@media(max-width:850px) and (max-height:500px){
  .site-customiser .visual{position:relative;top:auto}
  .site-customiser .controls button,.site-customiser .controls select{scroll-margin-top:calc(var(--site-header-height) + 12px)}
}
