:root{--ink:#23482c;--muted:#657267;--line:#dce5dc;--accent:#367343;--tint:#edf4ec;--paper:#f7f9f5}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e5a82f;outline-offset:4px}[hidden]{display:none!important}.demo-banner{padding:9px 24px;text-align:center;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em}.demo-banner span{font-size:13px;font-weight:400;letter-spacing:0;margin-left:15px;color:#d5e4ec}header{max-width:1200px;margin:auto;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--ink);font-weight:800;font-size:30px;letter-spacing:-1.4px;line-height:1.05}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px}.header-note{font-size:14px;color:var(--muted)}main{max-width:1200px;margin:0 auto;padding:40px 32px 0}.heading .eyebrow{margin:0 0 12px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.8px;color:var(--accent)}h1{font-size:42px;line-height:1.15;letter-spacing:-1.6px;margin:0 0 12px}.heading>p:last-child{color:var(--muted);margin:0}.steps{display:flex;padding:0;list-style:none;gap:32px;margin:34px 0 27px}.steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.steps li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #c4d1d9;font-size:12px}.steps .active{font-weight:700;color:var(--ink)}.steps .active span{background:var(--ink);color:white;border-color:var(--ink)}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:26px;align-items:start}.workspace,.summary-inner{border:1px solid var(--line);border-radius:14px;background:white}.workspace{padding:30px;min-height:545px}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 23px}h3{font-size:18px;margin:16px 0}.source-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:25px}.source{text-align:left;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:9px;padding:17px;color:var(--ink);transition:.15s}.source:hover{border-color:var(--accent)}.source.selected{border:2px solid var(--accent);padding:16px;background:#f4f8f1}.source strong{font-size:16px}.source>span:last-child{font-size:13px;color:var(--muted)}.option-icon{font-size:21px;margin-bottom:10px;font-weight:600}label{display:block;font-size:14px;font-weight:650;margin-bottom:10px}textarea{width:100%;resize:vertical;border:1px solid #cbd8df;border-radius:8px;padding:14px;min-height:128px;color:var(--ink);font-size:15px;line-height:1.5}textarea::placeholder{color:#81909a}.field-hint{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:5px}.sample{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--paper);border-radius:8px;padding:15px;margin-top:23px}.sample strong{font-size:14px}.sample p{font-size:13px;margin:3px 0 0;color:var(--muted)}.secondary{background:white;border:1px solid #c6d3db;border-radius:7px;color:var(--ink);padding:10px 14px;font-size:13px;font-weight:650;white-space:normal}.secondary:hover{background:var(--tint)}.primary{display:flex;justify-content:space-between;align-items:center;gap:20px;border:0;background:var(--accent);color:white;border-radius:8px;width:100%;font-size:15px;font-weight:650;padding:15px 19px;margin-top:20px}.primary:hover:not(:disabled){background:#285934}.note{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}.error{font-size:14px;color:#a33c29;margin:8px 0}.error:empty{display:none}.summary-inner{padding:23px}.summary-inner>.eyebrow{margin:0 0 18px}.summary-picture{width:100%;aspect-ratio:1;background:var(--paper);border-radius:9px;overflow:hidden}.empty-preview{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.empty-preview>span{font-family:Georgia,serif;font-size:25px;line-height:1.3}.empty-preview p{font-size:13px;color:var(--muted)}.summary-line{display:flex;justify-content:space-between;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:17px}.price-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0 0}.price-row>div>span{display:block;font-size:13px;color:var(--muted)}.price-row strong{font-size:30px;letter-spacing:-1px}.price-tag{border:1px solid var(--line);border-radius:4px;padding:3px 7px;font-size:10px;font-weight:700;letter-spacing:1px}.promise{margin-top:23px;border-top:1px solid var(--line);padding-top:17px}.promise strong{font-size:13px}.promise p{font-size:13px;color:var(--muted);margin:7px 0 0}.back{padding:0;border:0;background:none;color:var(--accent);font-size:13px;margin-bottom:22px}.muted{color:var(--muted);font-size:14px}.variants{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:22px 0 28px}.variant{padding:0;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;color:var(--ink)}.variant.selected{outline:2px solid var(--accent);outline-offset:2px}.cat-art{display:block;aspect-ratio:1;background-image:url('/apps/stampi-personalizzati/assets/cat-variants.png');background-size:300% 100%;background-repeat:no-repeat;width:100%}.cat-0{background-position:0% 50%}.cat-1{background-position:50% 50%}.cat-2{background-position:100% 50%}.variant strong{display:block;font-size:13px;padding:10px}.variant img,.summary-picture img,.review-picture img{width:100%;height:100%;object-fit:contain}.variant img{aspect-ratio:1;height:auto}.measure{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:24px}.measure label{margin:0}.measure p{font-size:12px;color:var(--muted);margin:5px 0}.number-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding-right:10px;gap:3px}.number-field input{width:62px;padding:11px 6px 11px 11px;border:0;background:transparent;font-weight:650;color:var(--ink)}.number-field span{font-size:14px}input[type=range]{width:100%;accent-color:var(--accent);margin:22px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:40px 0 45px;padding:24px 0;border-top:1px solid var(--line)}.process>div>span{font-size:12px;color:var(--accent);font-weight:700}.process h3{margin:6px 0;font-size:16px}.process p{font-size:13px;color:var(--muted);margin:0}footer{max-width:1200px;margin:auto;padding:24px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}footer>span:first-child{font-weight:800;color:var(--ink);font-size:18px;letter-spacing:-.5px}.upload{border:1px dashed #abc0ce;background:#f6fafb;border-radius:10px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-symbol{font-size:26px}.upload>span:not(.upload-symbol){font-size:12px;color:var(--muted)}.upload input{max-width:100%;font-size:13px;margin:12px 0}.photo-grid{display:flex;gap:9px;flex-wrap:wrap}.photo-grid img{width:80px;height:80px;border-radius:6px;object-fit:cover}.review-picture{width:180px;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--paper);margin-bottom:18px}.details{font-size:14px}.details>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}.details dt{color:var(--muted)}.details dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere}.checkout-note{padding:15px;background:var(--tint);border-radius:8px;font-size:14px;margin-top:22px}.checkout-note p{margin:7px 0 0;font-size:13px}.full{width:100%;margin-top:10px}@media(min-width:900px){.summary{position:sticky;top:25px}}@media(max-width:800px){header,main{padding-left:20px;padding-right:20px}.header-note{display:none}.layout{grid-template-columns:1fr}.summary{order:2}.summary-picture{display:none}.summary-inner{padding:20px}.heading h1{font-size:33px}.workspace{padding:23px}.steps{gap:19px}.demo-banner span{display:block;margin:3px 0 0}.process{gap:16px}.process p{font-size:12px}footer{padding:20px}.summary h3{margin-top:4px}}@media(max-width:440px){main{padding-top:30px}.steps{gap:12px}.steps li{font-size:12px;gap:6px}.steps li span{width:23px;height:23px}.workspace{padding:18px}.source{padding:13px}.source.selected{padding:12px}.source>span:last-child{font-size:12px}.sample{align-items:flex-start;flex-direction:column}.variants{gap:8px}.variant strong{font-size:12px;padding:8px 6px}.process{grid-template-columns:1fr;gap:20px}.measure{align-items:flex-start}.demo-banner{padding:9px 12px}footer{flex-direction:column}}

.brand img{display:block;width:170px;height:auto}.brand span{font-size:9px;letter-spacing:1.2px;margin-left:29px}.demo-banner{background:#23482c}
select{font:inherit;color:var(--ink);background:white;border:1px solid #cbd8df;border-radius:8px;padding:12px;width:100%;margin-bottom:12px}#style{margin-bottom:0}#photo-input{margin:22px 0}#project-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin-bottom:25px;padding-bottom:12px;font-size:12px;font-weight:650;letter-spacing:.6px}#project-strip .back{margin:0}#height{width:110px;flex-shrink:0;margin:0}.variants .variant img{width:100%;aspect-ratio:1;object-fit:contain}.review-picture>img{width:100%;height:100%;object-fit:contain}.primary{text-decoration:none}#generation-progress{display:flex;gap:15px;align-items:center;padding:25px 0;font-size:14px;color:var(--muted)}.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}#photo-grid{margin-top:12px}#style+ .note{margin-top:12px}.field-hint{margin-bottom:20px}.admin-layout{max-width:1050px;margin:auto;padding:30px 24px}.admin-layout input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px}.admin-card{padding:22px;background:white;border:1px solid var(--line);border-radius:10px;margin:18px 0}.admin-card .admin-images{display:flex;gap:10px;flex-wrap:wrap}.admin-images img{width:110px;height:110px;object-fit:contain;background:var(--paper);border:1px solid var(--line)}.admin-images .chosen{outline:3px solid var(--accent)}.admin-card p{overflow-wrap:anywhere}.admin-row{display:flex;gap:10px;align-items:center}.admin-status{font-size:13px;background:var(--tint);border-radius:4px;padding:4px 8px}.admin-card h3{margin-top:0}

.model-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-views img{width:100%;border-radius:12px}.model-views figure{margin:0}.model-views figcaption{text-align:center;padding:6px}

#my-projects{margin-bottom:28px;min-height:0}#customer-gate{min-height:0;margin-bottom:24px}.customer-project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0}.customer-project-card{border:1px solid var(--line);border-radius:10px;padding:18px;overflow-wrap:anywhere}.customer-project-card h3{margin-top:0}.customer-project-card p{font-size:13px;color:var(--muted)}

.variants>div{min-width:0}.variants>div>.variant{width:100%}.variants>div>.secondary{width:100%;margin-top:8px}#preview-editor textarea{width:100%;box-sizing:border-box}#preview-history{margin:20px 0}#preview-history summary{cursor:pointer;font-weight:600}#preview-history-list>div{margin:16px 0;padding:12px;border:1px solid #dce5dc;border-radius:12px}

.project-group{margin:18px 0;border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.project-group>summary{padding:18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--tint)}.project-group>summary::before{content:'▸';flex-shrink:0}.project-group[open]>summary::before{content:'▾'}.group-count{font-size:13px;color:var(--muted);white-space:nowrap}.admin-project{border-top:1px solid var(--line)}.admin-project>summary{padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.admin-project>summary::before{content:'Apri progetto ▾';font-size:12px;color:var(--muted)}.admin-project[open]>summary::before{content:'Chiudi progetto ▴'}.project-title,.customer-project-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-project .admin-card{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.customer-group>.customer-project-list{margin:0;padding:16px}.admin-card button{margin:6px 8px 6px 0}.admin-project[hidden],.project-group[hidden]{display:none}#project-status{max-width:380px}#admin-toolbar button{margin:6px 8px 6px 0}

.admin-images>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:180px;margin-bottom:12px}.admin-images>div a{font-size:12px;padding:8px}

.form-type-fieldset{border:0;padding:0;margin:24px 0}.form-type-fieldset legend{font-size:14px;font-weight:650;padding:0;margin-bottom:10px}.form-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-type-option{display:flex;gap:10px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:9px;margin:0;cursor:pointer;font-weight:400;background:white}.form-type-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f4f8f1}.form-type-option input{flex-shrink:0;margin:4px 0 0;width:17px;height:17px;accent-color:var(--accent)}.form-type-option strong,.form-type-option span>span{display:block}.form-type-option strong{font-size:14px;line-height:1.4}.form-type-option span>span{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.form-type-fieldset>.note{margin:10px 0 0}.summary-form-type{gap:16px;margin-bottom:15px}.summary-form-type strong{max-width:65%;text-align:right}@media(max-width:540px){.form-type-options{grid-template-columns:1fr}.form-type-option{padding:14px}}

.casting-preference-field{margin:20px 0}.casting-preference-field .note{margin:0 0 10px}.summary-preference{gap:16px;margin-top:15px}.summary-preference strong{max-width:65%;text-align:right}

.silicone-field,.purchase-options{margin:24px 0;padding-top:20px;border-top:1px solid var(--line,#dce5db)}.quantity-presets{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.quantity-option{flex:1;min-width:72px;min-height:44px}.quantity-option.selected{border-color:#367343;background:#eff5ec;box-shadow:inset 0 0 0 1px #367343}.purchase-total{font-weight:700}.order-summary{padding:12px 0;border-bottom:1px solid #dce5db}.customer-project-card>button{margin:4px 8px 4px 0}#reorder{margin:20px 0}#copy-entry{margin-bottom:24px}

.quantity-picker{display:flex;align-items:center;gap:10px}.quantity-step{width:48px;height:48px;padding:0;font-size:25px}.quantity-picker input{width:88px;height:48px;border:1px solid #c6d3db;border-radius:8px;text-align:center;font-size:20px;font-weight:700;color:var(--ink);background:white;appearance:textfield;-moz-appearance:textfield}.quantity-picker input::-webkit-inner-spin-button,.quantity-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-picker input[aria-invalid=true]{border-color:#a33c29}.quantity-picker>span{font-size:14px;color:var(--muted)}#quantity-hint{margin:8px 0 12px}#quantity-status:empty{display:none}.quantity-discount{padding:12px;background:var(--tint);border-radius:8px;color:var(--ink)}.purchase-saving{color:var(--accent)}

@media(max-width:600px){.quantity-presets button{flex-basis:90px}}

.billing-dialog{border:1px solid #dce6dd;border-radius:18px;padding:28px;width:min(520px,calc(100% - 32px));max-height:90vh;overflow:auto;color:#264c32;background:white;box-shadow:0 24px 80px #0003}
.billing-dialog::backdrop{background:#18251ecc}.billing-dialog h2{margin-top:0}.billing-dialog button{margin-top:12px}.billing-dialog input,.billing-dialog select{width:100%;box-sizing:border-box;min-height:44px;margin:6px 0 12px;padding:10px;border:1px solid #cbd8ce;border-radius:6px;font:inherit}.billing-dialog label{display:block}.billing-dialog .secondary{width:100%}

.source-options{grid-template-columns:repeat(3,minmax(0,1fr))}
#model-stl{max-width:100%}
@media(max-width:600px){.source-options{grid-template-columns:1fr}}
