:root{--primary-blue:#2e3192;--primary-dark:#2c5670;--bg-light:#f8fafc;--text-main:#334155;--text-light:#64748b;--border-color:#e2e8f0;--white:#fff;--error:#ef4444;--radius-capsule:50px;--radius-card:24px;--shadow-soft:0 10px 30px -5px #0000000d}.apoio-wrapper,.apoio-wrapper *{box-sizing:border-box}.apoio-wrapper{background-color:var(--bg-light);width:100%;max-width:100vw;min-height:100vh;margin-top:calc(var(--header-height)*-1);padding-top:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;overflow-x:clip}.item-referencia,.cart-item-card,.success-message{word-wrap:break-word;word-break:break-word;min-width:0}.apoio-visual{background:linear-gradient(135deg,var(--primary-blue)0%,var(--primary-dark)100%);width:35%;color:var(--white);z-index:10;flex-direction:column;padding:220px 40px 40px;display:flex;position:relative;box-shadow:10px 0 30px #0000001a}.cart-summary-fixed{flex-direction:column;height:calc(100vh - 190px);display:flex;position:sticky;top:150px}.summary-title{letter-spacing:-.5px;border-bottom:1px solid #fff3;margin-bottom:25px;padding-bottom:20px;font-size:1.8rem;font-weight:700}.cart-items-list{flex:1;margin-bottom:20px;padding-right:10px;overflow-y:auto}.cart-items-list::-webkit-scrollbar{width:5px}.cart-items-list::-webkit-scrollbar-track{background:#ffffff0d}.cart-items-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.cart-item-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;align-items:center;gap:15px;margin-bottom:15px;padding:15px;transition:transform .2s,background .2s;display:flex}.cart-item-card:hover{background:#fff3;transform:translate(5px)}.item-img-box{background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden;box-shadow:0 4px 10px #0000001a}.item-img-box img{object-fit:contain;width:90%;height:90%}.item-info h4{margin:0 0 4px;font-size:1rem;font-weight:700;line-height:1.2}.item-referencia{opacity:.8;margin-bottom:5px;font-size:.85rem;font-weight:300;display:block}.item-variants-list{flex-direction:column;gap:2px;display:flex}.item-variant-row{color:#fffc;font-size:.75rem;font-weight:500}.item-qty{color:var(--primary-blue);background:#fff;border-radius:30px;margin-left:auto;padding:6px 14px;font-size:.9rem;font-weight:800;box-shadow:0 2px 5px #0000001a}.cart-total-row{text-align:right;border-top:1px solid #fff3;margin-top:auto;padding-top:20px;font-size:1.2rem;font-weight:300}.cart-total-row strong{font-weight:800}.apoio-form-container{background-color:var(--bg-light);width:65%;padding:230px 8% 60px;overflow-y:auto}.progress-bar-container{justify-content:center;margin-bottom:50px;display:flex}.progress-steps{align-items:center;width:100%;max-width:700px;display:flex}.step{z-index:2;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step:after{content:"";z-index:-1;background-color:#e2e8f0;border-radius:4px;width:100%;height:4px;position:absolute;top:22px;left:50%}.step:last-child:after{display:none}.step-circle{background-color:var(--white);color:#cbd5e1;border:4px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:10px;font-weight:700;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 10px #0000000d}.step-label{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:700}.step.completed .step-circle{background-color:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.step.completed:after{background-color:var(--primary-blue)}.step.completed .step-label{color:var(--primary-blue)}.step.active .step-circle{border-color:var(--primary-blue);color:var(--primary-blue);background-color:#fff;transform:scale(1.1);box-shadow:0 0 0 6px #3f7b9e26}.step.active .step-label{color:var(--primary-dark);font-weight:800}.form-section{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);border:1px solid #fff;margin-bottom:30px;padding:40px;transition:transform .2s}.section-title{color:var(--primary-blue);border-bottom:2px solid #f1f5f9;align-items:center;gap:10px;margin-bottom:25px;padding-bottom:15px;font-size:1.2rem;font-weight:800;display:flex}.section-header{border-bottom:2px solid #f1f5f9;margin-bottom:20px;padding-bottom:10px}.form-grid-2{grid-template-columns:1fr 1fr;gap:25px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.form-group{margin-bottom:25px}.form-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;margin-left:10px;font-size:.85rem;font-weight:700;display:block}.form-input,.form-select,.form-textarea{box-sizing:border-box;border-radius:var(--radius-capsule);width:100%;max-width:100%;color:var(--text-main);-webkit-appearance:none;background-color:#f1f5f9;border:2px solid #0000;padding:14px 20px;font-family:inherit;transition:all .3s;font-size:16px!important}.form-textarea{resize:vertical;border-radius:20px;min-height:120px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-blue);background-color:#fff;outline:none;box-shadow:0 5px 15px #3f7b9e1a}.form-input[readonly]{color:#94a3b8;cursor:not-allowed;opacity:.8;background-color:#e2e8f0}.map-input-group{gap:10px;width:100%;display:flex}.measures-box{border:1px dashed var(--primary-blue);background-color:#f0f9ff;border-radius:20px;margin-bottom:20px;padding:20px}.measure-unit span{color:var(--primary-blue);font-size:.85rem;font-weight:700;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.btn-map-trigger{white-space:nowrap;color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:var(--radius-capsule);cursor:pointer;background-color:#fff;justify-content:center;align-items:center;height:100%;padding:0 25px;font-weight:700;transition:all .3s;display:flex}.btn-map-trigger:hover{background-color:var(--primary-blue);color:#fff;box-shadow:0 5px 15px #3f7b9e4d}.upload-group{margin-top:15px}.file-input-wrapper{width:100%;position:relative;overflow:hidden}.file-input-trigger{color:#64748b;cursor:pointer;text-align:center;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:20px;justify-content:center;align-items:center;gap:12px;padding:30px;font-weight:600;transition:all .3s;display:flex}.file-input-trigger:hover{border-color:var(--primary-blue);color:var(--primary-blue);background-color:#e0f2fe;transform:translateY(-2px)}.map-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.map-modal-content{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:900px;height:80vh;animation:.3s ease-out scaleUp;display:flex;overflow:hidden;box-shadow:0 25px 50px #0000004d}.map-header{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.map-header h3{color:var(--primary-dark);margin:0;font-size:1.2rem;font-weight:700}.close-btn{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:background .2s;display:flex}.close-btn:hover{color:#ef4444;background:#e2e8f0}.map-body{background-color:#eee;flex:1;position:relative}.map-footer{background:#fff;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.btn-confirm-map{background-color:var(--primary-blue);color:#fff;border-radius:var(--radius-capsule);cursor:pointer;border:none;padding:12px 30px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #3f7b9e4d}.btn-confirm-map:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.btn-confirm-map:disabled{cursor:not-allowed;box-shadow:none;background-color:#cbd5e1;transform:none}.btn-submit{background:linear-gradient(135deg,var(--primary-blue)0%,var(--primary-dark)100%);color:#fff;border-radius:var(--radius-capsule);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;width:100%;margin-top:30px;padding:20px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.2rem;font-weight:800;transition:all .3s;box-shadow:0 10px 30px #3f7b9e66}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 15px 40px #3f7b9e80}.success-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.success-box{text-align:center;background:#fff;border-radius:30px;width:90%;max-width:450px;padding:50px 30px;animation:.3s cubic-bezier(.175,.885,.32,1.275) scaleUp;box-shadow:0 30px 60px #0000004d}.success-icon{color:#10b981;background-color:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 25px;font-size:40px;display:flex;box-shadow:0 0 0 15px #d1fae566}.success-title{color:var(--text-main);margin-bottom:10px;font-size:1.6rem;font-weight:800}.success-message{color:var(--text-light);margin-bottom:35px;font-size:1rem;line-height:1.6}.btn-home{background:linear-gradient(135deg,var(--primary-blue)0%,var(--primary-dark)100%);color:#fff;border-radius:var(--radius-capsule);cursor:pointer;border:none;width:100%;padding:15px 40px;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 10px 25px #3f7b9e4d}.btn-home:hover{transform:translateY(-3px);box-shadow:0 15px 35px #3f7b9e66}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.item-badges-grid{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.badge-info{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-block}.service-install{color:#1e40af;background-color:#dbeafe;border:1px solid #bfdbfe}.service-supply{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.fix-type{color:#9a3412;background-color:#ffedd5;border:1px solid #fed7aa}.obs-row{margin-top:5px}.badge-obs{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:4px;padding:3px 6px;font-size:.7rem;font-weight:700;line-height:1.3;display:inline-block}@media (max-width:1024px){.apoio-wrapper{flex-direction:column}.apoio-visual{border-radius:0 0 30px 30px;order:1;width:100%;height:auto;margin-bottom:-20px;padding:150px 30px 40px}.cart-summary-fixed{height:auto;position:static}.cart-items-list{max-height:300px;margin-bottom:20px}.apoio-form-container{order:2;width:100%;padding:60px 20px}}@media (max-width:768px){.form-grid-2,.form-grid-3{grid-template-columns:1fr;gap:20px}.progress-bar-container{margin-bottom:30px}.step-label{display:none}.step:after{top:22px}.form-section{border-radius:20px;padding:25px 20px}.section-title{font-size:1.1rem}.map-input-group{flex-direction:column}.btn-map-trigger{justify-content:center;width:100%;padding:14px}.file-input-wrapper[style]{flex-direction:column!important;align-items:stretch!important}.file-input-trigger{padding:20px;font-size:.9rem}.btn-submit{z-index:100;width:calc(100% - 40px);position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 -10px 30px #00000026}.apoio-form-container{padding-bottom:120px}.success-box{padding:40px 20px}}@media (max-width:400px){.cart-item-card{flex-direction:column;align-items:flex-start}.item-img-box{width:100%;height:120px}.item-qty{text-align:center;width:100%;margin-top:10px;margin-left:0}}.spinner-large{border:5px solid #2e31921a;border-left-color:var(--primary-blue);border-radius:50%;width:60px;height:60px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-content-state{text-align:center;flex-direction:column;align-items:center;width:100%;animation:.5s ease-out fadeIn;display:flex}.loading-text{color:var(--primary-blue);margin-bottom:5px;font-size:1.2rem;font-weight:600}.loading-subtext{color:var(--text-light);font-size:.9rem}.error-message{color:var(--error);margin-top:6px;margin-left:15px;font-size:.75rem;font-weight:700;animation:.3s ease-in-out errorFadeIn;display:block}.input-error{border-color:var(--error)!important;background-color:#fef2f2!important}.file-input-trigger.input-error{color:var(--error);border-color:var(--error)!important;background-color:#fef2f2!important}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
