:root{--fg:#1c2530;--muted:#5a6672;--bg:#f4f6f8;--card:#fff;--accent:#1f5f3d;--accent-soft:#eef5f0;--err:#b3261e;--line:#d5dbe1;--dur-fast:.12s;--dur:.2s;--ease-out:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}.wrap{max-width:36rem;margin:0 auto;padding:1rem}h1{margin:.5rem 0 1rem;font-size:1.4rem}h2{margin:0 0 .75rem;font-size:1.15rem}h2:focus{outline:none}:focus-visible{outline-offset:2px;outline:3px solid #2b7de9}section[data-step],.voucher,#closed{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;box-shadow:0 2px 10px #1c25300f}.steps{color:var(--muted);gap:.5rem;margin:0 0 1rem;padding:0;font-size:.8rem;list-style:none;display:flex}.steps li{border-bottom:3px solid var(--line);transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);flex:1;padding:.3rem 0}.steps li.done{color:var(--accent);border-color:#8fb7a0}.steps li.on{color:var(--accent);border-color:var(--accent);font-weight:600}label,legend{margin:.9rem 0 .3rem;font-weight:600;display:block}fieldset{border:0;min-width:0;margin:0;padding:0}input:not([type=checkbox]):not([type=radio]),select{width:100%;font:inherit;border:1px solid var(--line);min-height:48px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:#fff;border-radius:8px;padding:.7rem}input:not([type=checkbox]):not([type=radio]):focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f5f3d2e}input[aria-invalid=true]{border-color:var(--err)}.opt{border:1px solid var(--line);cursor:pointer;min-height:56px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff;border-radius:10px;align-items:center;gap:.75rem;margin:.5rem 0;padding:.75rem .9rem;font-weight:400;display:flex}.opt:active{transform:scale(.985)}.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.opt:has(input:focus-visible){outline-offset:2px;outline:3px solid #2b7de9}.opt input{width:1.3rem;height:1.3rem;accent-color:var(--accent);flex:none;margin:0}.opt-text{display:block}.opt-text small{color:var(--muted);font-size:.85rem;display:block}.check{cursor:pointer;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:.5rem 0;font-size:.9rem;font-weight:400;display:flex}.check input{width:1.4rem;height:1.4rem;accent-color:var(--accent);flex:none;margin-top:.2rem}.product{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,1fr) auto;align-items:center;gap:.5rem;padding:.5rem 0;display:grid}.product-info{overflow-wrap:break-word;margin:0;font-weight:400}@media (width<=400px){.product{grid-template-columns:1fr}}.product small{color:var(--muted);display:block}.qty{align-items:center;gap:.25rem;display:flex}.qty input{text-align:center;-moz-appearance:textfield;appearance:textfield;width:4rem;padding:.5rem}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.step-btn{width:44px;height:44px;padding:0;font-size:1.3rem;line-height:1}.totals{grid-template-columns:1fr auto;gap:.25rem 1rem;margin:1rem 0 .5rem;font-weight:600;display:grid}.totals dt,.totals dd{margin:0}.totals dd{text-align:right}.error{color:var(--err);margin:.4rem 0;font-size:.9rem}.shake{animation:shake var(--dur) var(--ease-out) 1}.hint{color:var(--muted);font-size:.9rem}.notice{background:var(--accent-soft);border:1px solid #c5dccb;border-radius:8px;padding:.8rem}.nav{justify-content:flex-end;gap:.6rem;margin-top:1.2rem;display:flex}button{font:inherit;border:1px solid var(--line);cursor:pointer;min-width:44px;min-height:44px;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);background:#fff;border-radius:8px;padding:.75rem 1.1rem}button:hover:not(:disabled){border-color:#aab4be}button:active:not(:disabled){transform:scale(.96)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:#18502f;border-color:#18502f}button:disabled{opacity:.5;cursor:not-allowed}button.busy:disabled{opacity:.85;cursor:progress}.spinner{vertical-align:-.15em;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}[hidden]{display:none!important}#wizard[data-dir=fwd] section[data-step]:not([hidden]){animation:slide-fwd var(--dur) var(--ease-out) both}#wizard[data-dir=back] section[data-step]:not([hidden]){animation:slide-back var(--dur) var(--ease-out) both}#fisico:not([hidden]),#virtual:not([hidden]),#unit-wrap:not([hidden]),#detail-wrap:not([hidden]){animation:rise var(--dur) var(--ease-out) both}.voucher{overflow-wrap:anywhere;animation:rise var(--dur) var(--ease-out) both}.voucher dl{grid-template-columns:auto 1fr;gap:.3rem 1rem;display:grid}.voucher dt{color:var(--muted)}.voucher dd{overflow-wrap:anywhere;min-width:0;margin:0}.voucher table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}.voucher th,.voucher td{text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:.3rem .2rem}.voucher th:nth-child(n+2),.voucher td:nth-child(n+2){text-align:right}.legal{border-top:1px solid var(--line);padding-top:.8rem;font-size:.9rem}.check-anim{margin:0 auto .5rem;display:block}.check-circle,.check-mark{stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px}.check-circle{animation:draw .35s var(--ease-out) both}.check-mark{animation:draw .25s var(--ease-out) .25s both}.check-anim{animation:pop .3s var(--ease-out) .45s both;transform-origin:50%}#voucher .nav{animation:rise var(--dur) var(--ease-out) .6s both}#voucher h2,.folio{text-align:center}@keyframes slide-fwd{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes slide-back{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{transform:scale(1)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (width<=600px){.nav{flex-direction:column-reverse}.nav button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media print{body{background:#fff}body *{visibility:hidden}.voucher,.voucher *{visibility:visible}.voucher{width:100%;box-shadow:none;border:0;position:absolute;top:0;left:0}.no-print{display:none!important}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}
