/* Readable customer controls, with one decision group at a time. */
[hidden]{display:none!important}
aside{padding:28px;background:#fffef9;color:#182b24}
aside h1{font-size:34px;line-height:1.12;letter-spacing:-1px;margin:12px 0}
aside h1 br{display:initial}
aside h2{font-size:23px;line-height:1.25;font-weight:600;margin:0 0 12px;letter-spacing:-.4px}
aside h3{font:600 17px/1.3 'Work Sans',sans-serif;margin:0 0 10px}
aside p,.step-intro{font-size:15px;line-height:1.55;color:#44564d}
aside .intro{margin-bottom:20px;font-size:16px;color:#44564d}
.step-nav{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid #d7ded5;padding:0 0 20px;margin-bottom:24px}
.step-nav button{font:600 14px/1.2 Lato,sans-serif;min-height:42px;padding:10px 13px;background:#fffef9;color:#334e40;border:1px solid #becbbc;border-radius:7px;cursor:pointer}
.step-nav button[aria-current=step]{background:#294d3a;color:#fff;border-color:#294d3a}
.flow-panel{min-height:270px;padding:0;border:0}
.flow-panel>h2:focus{outline:none}
.step-intro{margin:8px 0 18px}
.option-cards{display:grid;gap:12px}
.option-cards button{padding:18px;text-align:left;border:1px solid #a7b7aa;border-radius:10px;background:#fffef9;color:#203b2d;font:16px/1.5 Lato,sans-serif;cursor:pointer;position:relative}
.option-cards strong{font-size:18px;padding-right:30px}
.option-cards span,.option-cards small{display:block;margin-top:5px;font-size:15px;color:#44564d}
.option-cards small{font-weight:700;color:#294d3a}
.option-cards button[aria-pressed=true]{background:#edf3e9;border:2px solid #294d3a;padding:17px;box-shadow:0 0 0 2px #edf3e9}
.option-cards button[aria-pressed=true]:after{content:'✓';position:absolute;right:17px;top:16px;font-size:22px;color:#294d3a}
.flow-panel select{width:100%;padding:12px 10px;min-height:48px;border:1px solid #98aa9c;border-radius:7px;background:#fff;color:#182b24;font:16px/1.35 Lato,sans-serif}
.field-label{display:block;font-size:16px;font-weight:700;margin:18px 0 8px;color:#203b2d}
.color-group{padding:17px 0 12px}.color-group h3{margin:0}.group-title{gap:0}
.palette-label{font-size:14px;line-height:1.5;color:#44564d}.chosen{font-size:15px;line-height:1.5;color:#203b2d;font-weight:700}
.material-switch button{min-height:44px;font-size:14px;padding:9px 12px}
.swatches{gap:6px}.swatch-option{min-height:48px}.swatch-option span{font-size:12px}.custom-swatch{min-width:124px;min-height:44px}.custom-swatch span{font-size:14px}
.flow-panel .pairings{border:0;padding:8px 0 16px}.pairings summary,.share-tools summary{font-size:15px;font-weight:700;color:#294d3a;cursor:pointer;min-height:40px;padding:8px 0}.pairing-buttons{margin-top:9px}.pairing-buttons button{font-size:14px;line-height:1.35}
.filament-note,.sourcing-notice{font-size:15px;line-height:1.5;padding:12px;background:#f5ede1;color:#533e24;border:0;border-radius:8px}.sourcing-notice p{font-size:14px;margin:7px 0 0;color:#533e24}
.reset{font-size:15px;min-height:44px}.logo-controls{border-top:1px solid #d7ded5;padding-top:22px;margin-top:24px}.logo-controls p{font-size:14px;line-height:1.5;color:#44564d}
.upload-label{font-size:16px;font-weight:700;display:block;margin:15px 0 8px}.logo-controls input[type=file]{font-size:14px;width:100%;color:#203b2d}input::file-selector-button{padding:12px;border:1px solid #829a88;border-radius:6px;background:#edf3e9;color:#203b2d;font:600 15px Lato,sans-serif;margin-right:8px}
.flow-footer{position:sticky;bottom:0;z-index:6;margin:24px -4px -4px;padding:16px 4px 8px;background:#fffef9;border-top:1px solid #c9d4c8;display:flex;justify-content:space-between;align-items:center;gap:14px}
.flow-footer>div:first-child{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.flow-footer span{font-size:13px;color:#44564d}.flow-footer strong{font-size:23px;color:#182b24}.flow-navigation{display:flex;gap:7px}
.flow-navigation button,.order-actions button{min-height:46px;border:1px solid #294d3a;border-radius:7px;padding:12px 16px;font:600 16px/1.25 Lato,sans-serif;background:#294d3a;color:#fff;cursor:pointer}
.flow-navigation .secondary-action,.order-actions .secondary-action{background:#fffef9;color:#294d3a}
.order-actions h2{margin-bottom:16px}.order-actions #checkout{background:#294d3a;border-color:#294d3a;color:#fff;font-size:17px;padding:15px}.order-actions #checkout:disabled{opacity:1;background:#e3e8df;color:#596858;border-color:#d3dbcf;cursor:not-allowed}
.order-actions #retry-prices{font-size:14px}.order-actions .share-tools button{font-size:14px;background:#fffef9;color:#294d3a;border-color:#b7c6b8}
.order-actions #checkout-status{font-size:14px;color:#533e24;background:#f5ede1;padding:12px}.order-actions #order-feedback{font-size:15px;color:#294d3a}
#review-choices>div{display:flex;gap:15px;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e5dc;padding:11px 0}
#review-choices>div>span{display:grid;gap:4px;font-size:15px;line-height:1.4}#review-choices strong{font-size:13px;color:#44564d}#review-choices button{width:auto;margin:0;background:none;color:#294d3a;border:0;text-decoration:underline;font-size:14px;padding:10px}
.selection{margin:18px 0}.selection code{font-size:14px;color:#294d3a}.selection>span{font-size:12px;color:#44564d}
#price-lines{margin-top:20px}#price-lines>div{padding:10px 0;font-size:16px;line-height:1.4}#price-lines small{display:block;font-size:13px;color:#44564d;margin-top:3px}.price-total{font-size:21px;padding:15px 0}.order-help,.note{font-size:14px;color:#44564d}
.view-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(min-width:851px){main{grid-template-columns:minmax(0,1fr) 470px}.stage{position:sticky;top:0;height:calc(100svh - 90px);min-height:550px;align-self:start}aside{min-height:calc(100svh - 140px)}}
@media(max-width:850px){aside{padding:24px 20px}.step-nav{gap:6px}.step-nav button{flex:1 0 auto;padding:9px 10px}.flow-footer{bottom:0;padding-bottom:max(10px,env(safe-area-inset-bottom))}.flow-navigation button{padding:12px;font-size:15px}.flow-footer strong{font-size:21px}.flow-panel{min-height:250px}.flow-panel h2{font-size:22px}.stage{height:clamp(250px,38svh,350px)}}
@media(hover:hover){.step-nav button:hover{border-color:#294d3a;background:#edf3e9;color:#203b2d}.step-nav button[aria-current=step]:hover,.flow-navigation button:not(.secondary-action):hover{background:#1c3b2a;color:#fff}.option-cards button:hover{border-color:#294d3a;background:#f1f5ed}}

.flow-panel>h2{scroll-margin-top:20px}@media(max-width:850px){.flow-panel>h2{scroll-margin-top:calc(clamp(250px,38svh,350px) + 16px)}}

#back-artwork-panel>summary{font-size:15px;font-weight:700;color:#294d3a;cursor:pointer;min-height:44px;padding:10px 0}#back-artwork-panel input[type=file]{width:100%;font-size:14px}#edit-token-artwork{font-size:15px}

@media(min-width:851px){#viewer{inset:0 0 168px}#measure-note{bottom:180px}}

.token-price{font-size:18px!important;font-weight:700;color:#203b2d!important}.token-view-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.token-view-buttons button{padding:12px 16px;min-height:44px;border:1px solid #294d3a;border-radius:7px;background:#fffef9;color:#294d3a;font:600 15px Lato,sans-serif}.token-view-buttons button[aria-pressed=true]{background:#294d3a;color:white}
.sign-text-entry textarea{display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #aab5aa;border-radius:7px;background:#fff;color:#17271e;font:16px/1.4 Lato,sans-serif;resize:vertical}.sign-text-entry textarea:focus{outline:2px solid #294d3a;outline-offset:2px}.sign-text-entry{margin:16px 0}
.compact-sign h3{margin:0 0 10px}.sign-entry-modes{display:flex;gap:4px;background:#e8ece5;border-radius:8px;padding:4px;margin-bottom:12px}.sign-entry-modes button{flex:1;border:0;border-radius:6px;padding:10px 8px;background:transparent;color:#294d3a;font:600 14px Lato,sans-serif;cursor:pointer}.sign-entry-modes button[aria-pressed=true]{background:#294d3a;color:#fff}.sign-entry-modes button:hover{box-shadow:inset 0 0 0 1px #294d3a}.compact-sign .sign-text-entry{margin:0}.sign-text-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:8px}.sign-text-footer small{font-size:13px;line-height:1.4;color:#526053}.sign-text-footer .secondary-action{width:auto;white-space:nowrap;margin:0;padding:10px 14px;font-size:14px}.compact-sign p:empty{display:none}.compact-sign .reset{margin-top:6px}.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:380px){.sign-text-footer{align-items:flex-start;flex-direction:column}}
#expand-preview{display:none}
@media(max-width:850px){
 .stage{height:clamp(360px,58svh,600px);position:relative;top:auto;min-height:0}
 #viewer{inset:48px 0 70px}
 .stage-label{display:none}
 .scene-picker{top:8px;left:10px;padding:0 7px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 154px)}
 .scene-picker label{font-size:13px;white-space:nowrap}.scene-picker select{font-size:14px;min-height:40px;min-width:0;width:100%}
 #expand-preview{display:block;position:absolute;right:10px;top:8px;z-index:6;min-height:44px;padding:8px 12px;border:1px solid #b7c2b5;border-radius:8px;background:#fffffb;color:#203b32;font:600 14px Lato,Arial,sans-serif}
 .view-actions{bottom:8px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:7px;padding:5px 12px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .view-actions button{flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:14px;white-space:nowrap}
 #measure-note{bottom:78px;font-size:12px;max-width:95%;white-space:normal;text-align:center}
 .flow-panel>h2{scroll-margin-top:16px}
 .stage.preview-expanded{position:fixed;inset:0;height:100dvh;width:100%;z-index:1000;padding-top:env(safe-area-inset-top);border:0}
 .preview-expanded #viewer{inset:calc(54px + env(safe-area-inset-top)) 0 calc(72px + env(safe-area-inset-bottom))}
 .preview-expanded .view-actions{bottom:env(safe-area-inset-bottom)}
 .preview-expanded #expand-preview,.preview-expanded .scene-picker{top:calc(8px + env(safe-area-inset-top))}
 body.preview-is-expanded{overflow:hidden}
}
@media(max-width:850px) and (orientation:landscape){.stage{height:85svh;min-height:300px}}
