.gallery-invitation__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; }
.gallery-card .gallery-sim-link { display:inline-flex; gap:24px; align-items:center; aspect-ratio:auto; background:transparent; margin-top:12px; padding:6px 0; color:var(--c-gold); font-size:12px; border-bottom:1px solid var(--c-line); }
.gallery-sim-entry { margin:0 0 30px; display:inline-flex; gap:40px; align-items:center; color:var(--c-gold); border-bottom:1px solid var(--c-line); padding:10px 0; }
.simulator-page { letter-spacing:0; background:#0b0b0b; color:#eeeae1; }
.simulator-page * { box-sizing:border-box; letter-spacing:0; }
.simulator-page [hidden] { display:none !important; }
.simulator-page button, .simulator-page input { font:inherit; }
.simulator-page button { cursor:pointer; color:inherit; background:transparent; border:1px solid #44403a; padding:9px 12px; border-radius:2px; font-size:12px; }
.simulator-page button:disabled { opacity:.38; cursor:default; }
.simulator-page :focus-visible { outline:2px solid #c9aa77; outline-offset:4px; }
.simulator-page a { color:inherit; }
.sim-header { max-width:1480px; margin:auto; padding:25px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #302d29; }
.sim-header .brand__logo { width:160px; height:60px; object-fit:contain; }
.sim-header > a:last-child { font-size:12px; }
.sim-main { max-width:1480px; margin:auto; padding:35px 40px 60px; }
.sim-heading { display:flex; gap:24px; justify-content:space-between; align-items:end; }
.sim-heading h1 { font-size:28px; font-weight:400; line-height:1.7; margin:8px 0; }
.sim-heading > p { font-size:12px; color:#ada69a; margin:0 0 14px; }
.sim-eyebrow { color:#b89968; font-size:10px; margin:0; }
.sim-status { font-size:12px; color:#b6ad9f; min-height:24px; margin:12px 0 20px; }
.sim-status.is-error { color:#eeb6a4; }
.sim-layout { display:grid; grid-template-columns:minmax(0,1fr) 355px; gap:36px; align-items:start; }
.sim-preview { position:sticky; top:20px; min-width:0; }
.sim-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:45px; padding-bottom:12px; }
.sim-preview-bar h2 { font-size:17px; font-weight:400; margin:0; overflow-wrap:anywhere; }
.sim-segment { display:flex; flex-shrink:0; }
.sim-segment button { font-size:11px; border-radius:0; padding:8px 10px; }
.sim-segment button + button { border-left:0; }
.simulator-page button[aria-pressed="true"] { background:#c5ad82; border-color:#c5ad82; color:#191815; }
.sim-stage { background:#191919; min-height:400px; height:min(68vh,760px); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sim-stage canvas { display:block; max-width:100%; max-height:100%; width:auto; height:auto; }
.sim-stage.is-editing canvas { touch-action:none; cursor:crosshair; }
.sim-disclaimer { font-size:11px; line-height:1.9; color:#ada69a; margin-top:14px; }
.sim-controls { min-width:0; }
.sim-control-section { border-top:1px solid #38342e; padding:18px 0 22px; }
.sim-control-section h2 { font-size:15px; font-weight:400; margin:0 0 16px; }
.sim-control-section h2 span { color:#b89968; font-size:11px; margin-right:12px; }
.sim-filters { display:flex; gap:6px; margin-bottom:12px; }
.sim-filters button { flex:1; padding:7px 5px; font-size:11px; }
.sim-work-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.sim-work-choices button { padding:0; background:#eee; aspect-ratio:3/4; overflow:hidden; border:2px solid transparent; }
.sim-work-choices button[aria-pressed="true"] { border-color:#c5ad82; background:#eee; }
.sim-work-choices img { display:block; width:100%; height:100%; object-fit:contain; }
.sim-photo-choices { margin-top:16px; }
.sim-photo-choices button { flex:1; padding:10px 7px; }
.sim-shirt-area { margin-top:18px; }
.sim-shirt-area p { margin:0 0 8px; color:#ada69a; font-size:11px; }
.sim-shirt-area button { flex:1; min-width:0; padding:10px 6px; }
.sim-upload { display:flex; justify-content:space-between; align-items:center; gap:16px; border:1px solid #86704b; padding:14px 16px; font-size:12px; cursor:pointer; }
.sim-upload span { font-size:20px; }
.sim-file { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.sim-upload:has(+ .sim-file:focus-visible) { outline:2px solid #c9aa77; outline-offset:4px; }
.sim-note { color:#ada69a; font-size:10px; line-height:1.9; margin:12px 0; }
.sim-fabric-info { display:flex; align-items:center; gap:12px; margin:12px 0; }
.sim-fabric-info img { width:42px; height:42px; object-fit:cover; }
.sim-fabric-info span { font-size:11px; flex:1; min-width:0; overflow-wrap:anywhere; }
.simulator-page .sim-fabric-info button { font-size:20px; padding:4px 10px; }
.simulator-page .sim-text-button { border:0; padding:8px 0; font-size:11px; color:#c5ad82; text-align:left; }
.simulator-page fieldset { border:0; padding:0; margin:15px 0 0; min-width:0; }
.simulator-page fieldset:disabled { opacity:.35; }
.sim-slider { display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; font-size:11px; margin:14px 0; }
.sim-slider output { color:#c5ad82; font-variant-numeric:tabular-nums; }
.sim-slider input { grid-column:1/-1; width:100%; margin:0; accent-color:#c5ad82; cursor:pointer; }
.sim-edit-toggle { font-size:12px; display:flex; align-items:center; gap:8px; }
.sim-edit-toggle input { accent-color:#c5ad82; width:16px; height:16px; }
.sim-mask-toolbar { display:flex; gap:6px; margin-top:16px; }
.sim-mask-toolbar button { display:flex; align-items:center; justify-content:center; gap:7px; }
.sim-icon { width:16px; height:16px; flex-shrink:0; }
.sim-actions { display:grid; gap:10px; }
.simulator-page #saveImage { display:flex; justify-content:center; align-items:center; gap:10px; background:#c5ad82; color:#191815; border-color:#c5ad82; padding:14px; }
.sim-actions a { display:flex; align-items:center; justify-content:space-between; border:1px solid #86704b; padding:14px 16px; font-size:12px; }
.sim-footer { border-top:1px solid #302d29; text-align:center; padding:28px 20px; color:#ada69a; font-size:11px; }
.simulator-page .sim-fabric-info #editFabric { padding:11px; display:flex; align-items:center; }
.fabric-crop-dialog { position:fixed; inset:0; width:min(900px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:24px; border:1px solid #5a5042; border-radius:4px; background:#121212; color:#eeeae1; overflow:auto; }
.fabric-crop-dialog::backdrop { background:rgba(0,0,0,.82); }
.simulator-page:has(#fabricCropDialog[open]) { overflow:hidden; }
.fabric-crop-heading { margin-bottom:20px; }
.fabric-crop-heading h2 { font-weight:400; font-size:20px; }
.fabric-crop-heading p { font-size:11px; color:#ada69a; overflow-wrap:anywhere; }
.fabric-crop-layout { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:24px; align-items:start; }
.fabric-crop-stage { display:flex; justify-content:center; align-items:center; overflow:hidden; background:#202020; padding:14px; min-height:260px; }
.fabric-crop-image { position:relative; width:min(100%,calc(48vh * var(--crop-aspect,1))); line-height:0; }
.fabric-crop-image img { display:block; width:100%; height:auto; }
.fabric-crop-selection { position:absolute; border:2px solid #f5d492; box-shadow:0 0 0 2000px rgba(0,0,0,.54); touch-action:none; cursor:move; }
.simulator-page .fabric-crop-handle { position:absolute; width:28px; height:28px; padding:0; border:0; background:transparent; touch-action:none; }
.fabric-crop-handle::after { content:""; position:absolute; width:10px; height:10px; left:9px; top:9px; background:#f5d492; border:1px solid #161616; }
.fabric-crop-handle[data-crop-handle="nw"] { left:-15px; top:-15px; cursor:nwse-resize; }
.fabric-crop-handle[data-crop-handle="ne"] { right:-15px; top:-15px; cursor:nesw-resize; }
.fabric-crop-handle[data-crop-handle="sw"] { left:-15px; bottom:-15px; cursor:nesw-resize; }
.fabric-crop-handle[data-crop-handle="se"] { right:-15px; bottom:-15px; cursor:nwse-resize; }
.fabric-crop-swatch { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
.fabric-crop-swatch canvas { width:120px; height:120px; display:block; background:#202020; }
.fabric-crop-swatch p { font-size:11px; color:#c5ad82; }
.fabric-crop-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; border-top:1px solid #38342e; padding-top:18px; }
.simulator-page #confirmFabricCrop { background:#c5ad82; color:#191815; border-color:#c5ad82; padding-inline:20px; }
@media (max-width:900px) {
 .sim-layout { grid-template-columns:minmax(0,1fr) 300px; gap:24px; }
 .sim-main { padding-inline:24px; }
 .sim-header { padding-inline:24px; }
 .sim-heading h1 { font-size:23px; }
}
@media (max-width:700px) {
 .sim-header { padding:14px 20px; }
 .sim-header .brand__logo { width:126px; height:45px; }
 .sim-main { padding:25px 20px 40px; }
 .sim-heading { display:block; }
 .sim-heading h1 { font-size:21px; }
 .sim-heading > p { display:none; }
 .sim-layout { display:flex; flex-direction:column; gap:20px; }
 .sim-preview { position:sticky; top:0; z-index:2; width:100%; background:#0b0b0b; padding-top:8px; }
 .sim-controls { width:100%; }
 .sim-preview-bar { flex-wrap:wrap; }
 .sim-preview-bar h2 { font-size:15px; }
 .sim-stage { height:min(40vh,340px); min-height:0; }
 .sim-work-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .gallery-invitation__actions { gap:12px; }
 .fabric-crop-dialog { padding:18px; width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
 .fabric-crop-layout { display:block; }
 .fabric-crop-stage { min-height:180px; }
 .fabric-crop-image { width:min(100%,calc(30vh * var(--crop-aspect,1))); }
 .fabric-crop-controls { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; margin-top:18px; }
 .fabric-crop-swatch { margin:0; }
 .fabric-crop-swatch canvas { width:72px; height:72px; }
 .fabric-crop-sliders { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
 .fabric-crop-sliders .sim-slider { margin:0 0 12px; }
 .fabric-crop-actions { margin-top:12px; }
}
