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

.cp-sofre-preview[hidden]{display:none!important}
.sofre-review-page{margin:0;background:#f8f7f3;color:#15384c;font:15px/1.8 Tahoma,Arial,sans-serif}
.sofre-review-page > header{--line:#d5dedf;--muted:#526879;--accent:#bc5e2d}
.cp-sofre-preview .dimension-apply{width:100%}
.cp-sofre-preview .stock-field{margin-top:18px}
.cp-sofre-preview--hero{max-width:100%;width:100%;padding:0;margin:0;background:transparent;font-size:14px}
.cp-sofre-preview--hero .workbench{grid-template-columns:minmax(0,1fr);gap:18px}
.cp-sofre-preview--hero .cp-scene{height:340px}
.cp-sofre-preview--hero .controls{padding:0 4px}
.cp-sofre-preview--hero .cp-size-steps button{flex:1 0 22%;min-width:0}
.cp-sofre-preview--hero .net-body svg{max-height:420px}
.cp-sofre-preview .cp-ar-launch{margin-top:18px}
.cp-sofre-preview .cp-ar-button{width:100%}
@media(max-width:700px){.cp-sofre-preview--hero .cp-scene{height:320px}.cp-sofre-preview--hero .cp-size-steps button{flex-basis:27%}}
