/* Scoped shared Sofre surface: safe beside other Hero models. */
.cp-rimmed-preview{color-scheme:light;--ink:#15384c;--muted:#526879;--paper:#f8f7f3;--blue:#153f59;--accent:#bc5e2d;--line:#d5dedf}
.cp-rimmed-preview *{box-sizing:border-box}
.cp-rimmed-preview{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 Tahoma,Arial,sans-serif}
.cp-rimmed-preview button,.cp-rimmed-preview input,.cp-rimmed-preview select{font:inherit}
.cp-rimmed-preview button,.cp-rimmed-preview summary,.cp-rimmed-preview select{cursor:pointer}
.cp-rimmed-preview button{min-height:44px;padding:8px 15px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}
.cp-rimmed-preview button:hover{border-color:var(--blue)}
.cp-rimmed-preview button:disabled{opacity:.45;cursor:default}
.cp-rimmed-preview button[aria-pressed=true],.cp-rimmed-preview .primary{color:#fff;background:var(--blue);border-color:var(--blue)}
.cp-rimmed-preview :focus-visible{outline:3px solid #d88a4d;outline-offset:3px}
.cp-rimmed-preview [hidden]{display:none!important}
.rimmed-review-page > header{max-width:1320px;margin:auto;padding:24px 30px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}
.rimmed-review-page > header .brand{font:500 28px Georgia,serif;letter-spacing:-1px}
.rimmed-review-page > header .brand span{color:var(--accent)}
.rimmed-review-page > header .eyebrow{color:var(--muted);font-size:12px}
.rimmed-review-page > header h1{font-size:25px;margin:5px 0 0;font-weight:500}
.cp-rimmed-preview{max-width:1320px;margin:0 auto;padding:24px 30px 40px}
.cp-rimmed-preview .workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.cp-rimmed-preview .visual{min-width:0;overflow:hidden;border:1px solid #d9e1e1;border-radius:22px;background:linear-gradient(150deg,#eef3f2,#fffdf7 65%)}
.cp-rimmed-preview .scene-top{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;color:var(--muted);font-size:13px}
.cp-rimmed-preview .cp-state{margin:0;color:var(--ink)}
.cp-rimmed-preview .cp-scene{height:485px;position:relative}
.cp-rimmed-preview .cp-scene>canvas{display:block;width:100%;height:100%;touch-action:none}
.cp-rimmed-preview .cp-fallback{position:absolute;inset:35% 12%;text-align:center}
.cp-rimmed-preview .cp-size-steps{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;padding:12px 12px 20px}
.cp-rimmed-preview .cp-size-steps button{min-width:70px;font-size:13px}
.cp-rimmed-preview .gesture{text-align:center;color:var(--muted);font-size:12px;margin:0 0 14px}
.cp-rimmed-preview .print-themes{min-width:0;border:0;border-top:1px solid var(--line);padding:9px 0 0;margin:0 14px 12px}
.cp-rimmed-preview .print-themes legend{padding:0 6px;font-size:12px;color:var(--muted)}
.cp-rimmed-preview .theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cp-rimmed-preview .theme-choices button{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 5px;font-size:12px;line-height:1.5;min-width:0;min-height:49px}
.cp-rimmed-preview .theme-choices button[aria-pressed=true]{color:var(--ink);background:#fff;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.cp-rimmed-preview .theme-swatch{display:block;flex:0 0 24px;height:29px;border:1px solid #0002;border-radius:4px;box-shadow:0 2px 4px #0001}
.cp-rimmed-preview .theme-classic{background:linear-gradient(155deg,#fff7e9 0 58%,#bd312f 59% 83%,#d48c50 84%)}
.cp-rimmed-preview .theme-midnight{background:linear-gradient(155deg,#173647 0 58%,#ce9a69 59% 83%,#faf0df 84%)}
.cp-rimmed-preview .theme-sage{background:linear-gradient(155deg,#365f4e 0 58%,#f7f2e6 59% 83%,#afc19b 84%)}
.cp-rimmed-preview .print-themes p{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.7}
.cp-rimmed-preview .controls{padding:5px 0}
.cp-rimmed-preview .controls h2{font-size:17px;font-weight:500;margin:0 0 14px}
.cp-rimmed-preview .controls label{display:block}
.cp-rimmed-preview .cp-size-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0;border:0;margin:0 0 18px}
.cp-rimmed-preview .cp-size-fields legend{font-size:13px;color:var(--muted);margin:14px 0 8px}
.cp-rimmed-preview .cp-size-fields input{min-width:0;width:100%;text-align:center;direction:ltr;font-size:18px;padding:10px 5px}
.cp-rimmed-preview .controls input,.cp-rimmed-preview .controls select{max-width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);min-height:44px}
.cp-rimmed-preview .controls select{width:100%;padding:7px 10px}
.cp-rimmed-preview .field-label{font-size:13px;color:var(--muted);margin-bottom:5px}
.cp-rimmed-preview .row{display:flex;flex-wrap:wrap;gap:8px}
.cp-rimmed-preview .row>*{flex:1}
.cp-rimmed-preview .small{font-size:12px;color:var(--muted)}
.cp-rimmed-preview .error{color:#9e251b;background:#fff0ed;padding:10px;border-radius:8px}
.cp-rimmed-preview .cp-artwork{margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cp-rimmed-preview .cp-artwork>summary{padding:14px 0;color:var(--blue);font-weight:500}
.cp-rimmed-preview .cp-artwork-body{padding-bottom:18px}
.cp-rimmed-preview .cp-art-select input{width:100%;padding:8px;font-size:12px}
.cp-rimmed-preview .cp-art-hint,.cp-rimmed-preview .cp-art-name{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:7px 0}
.cp-rimmed-preview .cp-artwork fieldset{margin:12px 0 0;padding:0;border:0;min-width:0}
.cp-rimmed-preview .cp-artwork canvas{width:100%;height:auto;background:#e5ebe8;touch-action:none;border-radius:8px}
.cp-rimmed-preview .cp-art-scale{font-size:13px;margin:10px 0}
.cp-rimmed-preview .cp-art-scale output{float:left}
.cp-rimmed-preview .cp-art-scale input{display:block;width:100%;padding:0;min-height:28px}
.cp-rimmed-preview .cp-art-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.cp-rimmed-preview .cp-art-actions button{font-size:12px;flex:1;padding:6px}
.cp-rimmed-preview .cp-art-build{width:100%;background:var(--blue);color:white}
.cp-rimmed-preview .downloads{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.cp-rimmed-preview .downloads .row{margin-top:10px}
.cp-rimmed-preview .net-section{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.cp-rimmed-preview .net-heading{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.cp-rimmed-preview .net-heading h2{margin:0;font-size:18px;font-weight:500}
.cp-rimmed-preview .net-body{display:flex;justify-content:center;background:#fff;margin-top:15px;border:1px solid var(--line);border-radius:14px;padding:20px}
.cp-rimmed-preview .net-body svg{max-width:100%;width:auto;height:auto;max-height:650px;overflow:visible}
.cp-rimmed-preview .note{border-right:3px solid var(--accent);padding-right:12px;margin-top:20px}
.cp-rimmed-preview .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.cp-rimmed-preview .workbench{grid-template-columns:minmax(0,1fr) 290px;gap:20px}
.cp-rimmed-preview .cp-scene{height:440px}}
@media(max-width:700px){.rimmed-review-page > header{padding:17px 16px}
.rimmed-review-page > header .brand{font-size:23px}
.rimmed-review-page > header h1{font-size:20px}
.rimmed-review-page > header .eyebrow{font-size:11px}
.cp-rimmed-preview{padding:16px}
.cp-rimmed-preview .workbench{grid-template-columns:1fr;gap:20px}
.cp-rimmed-preview .cp-scene{height:360px}
.cp-rimmed-preview .scene-top{padding:12px 14px;font-size:12px}
.cp-rimmed-preview .cp-size-steps{gap:6px;padding:8px 10px 14px}
.cp-rimmed-preview .cp-size-steps button{min-width:0;flex:1 0 27%;padding:6px 10px}
.cp-rimmed-preview .controls{padding:0 2px}
.cp-rimmed-preview .cp-size-fields input{font-size:18px}
.cp-rimmed-preview .cp-artwork canvas{max-height:480px;object-fit:contain}
.cp-rimmed-preview .net-body{padding:14px}
.cp-rimmed-preview .net-body svg{max-height:480px}}
@media(prefers-reduced-motion:reduce){.cp-rimmed-preview *{scroll-behavior:auto!important}}
.cp-rimmed-preview .stage-note{min-height:3.1em;margin:4px 18px 12px;color:#59656a;font-size:14px;line-height:1.7;text-wrap:pretty}
.cp-rimmed-preview .sequence-play{width:calc(100% - 28px);margin:0 14px 18px;min-height:48px;background:#ae432b;color:#fff;border:1px solid #ae432b;border-radius:14px;font:inherit;font-weight:600;cursor:pointer}
.cp-rimmed-preview .sequence-play:hover{background:#933823}
.cp-rimmed-preview .sequence-play:focus-visible{outline:3px solid #234c43;outline-offset:3px}
.cp-rimmed-preview .sequence-play[aria-pressed="true"]{background:#164159;border-color:#164159}
@media(max-width:720px){.cp-rimmed-preview .stage-note{font-size:13px}}

.cp-rimmed-preview[hidden]{display:none!important}
.rimmed-review-page{margin:0;background:#f8f7f3;color:#15384c;font:15px/1.8 Tahoma,Arial,sans-serif}
.rimmed-review-page > header{--line:#d5dedf;--muted:#526879;--accent:#bc5e2d}
.cp-rimmed-preview .dimension-apply{width:100%}
.cp-rimmed-preview .stock-field{margin-top:18px}

.cp-rimmed-preview .cp-size-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cp-rimmed-preview .dimension-help{margin:0 0 12px;font-size:12px;color:var(--muted)}
.cp-rimmed-preview .opening-size{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#eef1ec;font-size:13px}
.cp-rimmed-preview .part-sheets{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.cp-rimmed-preview .part-sheet{min-width:0}
.cp-rimmed-preview .part-sheet h3{font-weight:500;font-size:16px;margin:0 0 5px}
.cp-rimmed-preview .part-sheet .net-body{padding:12px;min-height:260px;align-items:center}
.cp-rimmed-preview .part-sheet .net-body svg{max-height:440px;width:100%}
.cp-rimmed-preview .part-sheet .sheet-caption{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:12px}
.cp-rimmed-preview .part-sheet .sheet-caption button{font-size:12px}
.cp-rimmed-preview [aria-invalid=true]{border-color:#a23825;box-shadow:0 0 0 1px #a23825}
.cp-rimmed-preview .cp-ar-launch{margin-top:20px}
.cp-rimmed-preview .reference-note{margin:14px 0 0;font-size:12px;color:var(--muted)}
.cp-rimmed-preview .download-select{margin-bottom:10px}
@media(max-width:700px){.cp-rimmed-preview .part-sheets{grid-template-columns:1fr}.cp-rimmed-preview .part-sheet .net-body{min-height:180px}}
