@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--primary:#1a2e4a;--primary-hover:#15253b;--bg-page:#f8f9fa;--bg-card:#fff;--border-color:#e2e8f0;--text-main:#334155;--text-muted:#64748b;--success-bg:#e6f4ea;--success-text:#166534;--best-value-bg:#6366f1;--best-value-text:#fff;--bonus-text:#db2777;--error-text:#ef4444;--selected-tint:#f0f4f8}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,sans-serif;line-height:1.5}.brand-logo{object-fit:contain;width:auto;height:80px;margin:1rem auto 1.5rem;display:block}.app-container{justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem 1rem;display:flex}.form-wrapper{width:100%;max-width:580px;position:relative}.progress-container{align-items:center;gap:.5rem;margin-bottom:2rem;padding:0 .5rem;display:flex}.progress-segment{background-color:var(--border-color);border-radius:9999px;flex:1;height:6px;transition:background-color .3s}.progress-segment.active{background-color:var(--primary)}.progress-label{color:var(--text-muted);text-align:right;width:100px;font-size:.875rem;font-weight:500}.back-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-bottom:1rem;font-size:.875rem;font-weight:500;transition:color .15s;display:flex}.back-button:hover{color:var(--primary)}.step-question{color:var(--primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.step-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9375rem}.step-container{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.card-grid{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.card-option{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:16px;align-items:center;padding:1.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.card-option:hover{border-color:var(--primary);box-shadow:0 4px 12px #1a2e4a0d}.card-option.selected{border-color:var(--primary);background-color:var(--selected-tint);box-shadow:0 4px 12px #1a2e4a14}.card-option-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.card-title{color:var(--primary);font-size:1rem;font-weight:500}.card-description{color:var(--text-muted);font-size:.875rem}.badge-success{background-color:var(--success-bg);color:var(--success-text);border-radius:6px;margin-top:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-best-value{background-color:var(--best-value-bg);color:var(--best-value-text);border-radius:0 16px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:0;right:0}.bonus-text{color:var(--bonus-text);margin-top:.25rem;font-size:.8125rem;font-weight:600}.card-icon{color:var(--primary);background:var(--selected-tint);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-right:1rem;display:flex}.checkbox-circle{border:2px solid var(--border-color);border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;margin-right:1rem;transition:all .2s;display:flex}.card-option.selected .checkbox-circle{border-color:var(--primary);background-color:var(--primary)}.checkbox-circle.radio{border-radius:50%}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.input-label{color:var(--primary);font-size:.875rem;font-weight:500}.input-field{border:1px solid var(--border-color);width:100%;color:var(--text-main);background:var(--bg-card);border-radius:12px;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1a2e4a1a}.input-field.error{border-color:var(--error-text)}.input-field.error:focus{box-shadow:0 0 0 3px #ef44441a}.btn-primary{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fullscreen-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;padding:3rem 1rem;animation:.4s slideIn;display:flex}.celebration-icon{margin-bottom:1.5rem;font-size:4rem}.state-heading{color:var(--primary);margin-bottom:1rem;font-size:2rem;font-weight:700}.state-body{color:var(--text-muted);max-width:400px;font-size:1.125rem}.address-chip{background:var(--selected-tint);border:1px solid var(--primary);color:var(--primary);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:background .2s;display:inline-flex}.address-chip:hover{background:#e2e8f0}.error-message{color:var(--error-text);text-align:center;margin-top:.5rem;font-size:.875rem}.validation-error{color:var(--error-text);margin-top:.25rem;font-size:.75rem}.pac-container{border:1px solid var(--border-color);border-top:none;border-radius:12px;margin-top:4px;padding:.5rem 0;font-family:inherit;box-shadow:0 4px 12px #1a2e4a1a}.pac-item{color:var(--text-main);border-top:1px solid var(--border-color);cursor:pointer;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;line-height:1.5;transition:background-color .2s}.pac-item:first-child{border-top:none}.pac-item:hover,.pac-item.pac-item-selected{background-color:var(--selected-tint)}.pac-item-query{color:var(--text-main);font-size:1rem;font-weight:600}.pac-matched{color:var(--text-main);font-weight:700}.pac-icon{display:none}.reviews-section{opacity:0;width:100%;margin:3rem auto 0;animation:.6s .2s forwards slideIn}.reviews-title{color:var(--primary);text-align:center;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.review-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;border-radius:16px;padding:1.5rem;transition:all .3s;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.review-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.stars{gap:.25rem;margin-bottom:.75rem;display:flex}.review-comment{color:var(--text-main);margin-bottom:1rem;font-size:.9375rem;font-style:italic;line-height:1.6}.review-name{color:var(--primary);align-items:center;font-size:.875rem;font-weight:600;display:flex}.review-name:before{content:"";background:var(--primary);opacity:.5;width:16px;height:2px;margin-right:8px;display:block}
