:root{--primary:#2d5a27;--primary-light:#4a7c44;--primary-dark:#1e3d1a;--secondary:#f5f5f0;--accent:#f9a825;--text-primary:#1a1a1a;--text-secondary:#5a5a5a;--error:#d32f2f;--success:#388e3c;--background:#fafaf8;--font-heading:"Outfit", sans-serif;--font-body:"DM Sans", sans-serif;--shadow:0 4px 20px #2d5a2714;--shadow-hover:0 8px 30px #2d5a2726}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}.app{flex-direction:column;min-height:100vh;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);text-align:center;padding:24px 16px;position:relative;overflow:hidden}.header:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5c-2 8-8 14-16 16 8 2 14 8 16 16 2-8 8-14 16-16-8-2-14-8-16-16z' fill='%23ffffff' fill-opacity='0.03'/%3E%3C/svg%3E");background-size:30px 30px;position:absolute;inset:0}.logo{font-family:var(--font-heading);color:#fff;justify-content:center;align-items:center;gap:8px;font-size:2.5rem;font-weight:700;display:flex;position:relative}.logo-icon{font-size:2rem}.tagline{font-family:var(--font-body);color:#ffffffd9;margin-top:4px;font-size:1rem;position:relative}.tagline-sub{font-family:var(--font-body);color:#ffffffb3;margin-top:4px;font-size:.85rem;font-style:italic;position:relative}.main{flex:1;width:100%;max-width:800px;margin:0 auto;padding:32px 16px}.form{flex-direction:column;gap:32px;display:flex}.form-section{box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:24px;animation:.4s ease-out both slideUp}.form-section:first-child{animation-delay:.1s}.form-section:nth-child(2){animation-delay:.2s}.form-section:nth-child(3){animation-delay:.3s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-section h2{font-family:var(--font-heading);color:var(--primary);border-bottom:2px solid var(--secondary);margin-bottom:20px;padding-bottom:12px;font-size:1.5rem;font-weight:600}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-row{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.form-row{grid-template-columns:1fr 1fr}}label{color:var(--text-primary);margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.required{color:var(--error)}input[type=text],input[type=email],input[type=tel],input[type=number],textarea,select{width:100%;font-family:var(--font-body);color:var(--text-primary);background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:12px 16px;font-size:1rem;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2d5a271a}input.error,textarea.error{border-color:var(--error)}input.error:focus,textarea.error:focus{box-shadow:0 0 0 3px #d32f2f1a}.error-text{color:var(--error);margin-top:4px;font-size:.8rem;display:block}input::placeholder,textarea::placeholder{color:#999}textarea{resize:vertical;min-height:100px}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-group.horizontal{flex-flow:wrap;gap:16px}.radio-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;padding-left:28px;font-weight:400;display:flex;position:relative}.radio-label input[type=radio]{opacity:0;width:0;height:0;position:absolute}.radio-custom{background:#fff;border:2px solid #ccc;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;left:0}.radio-label input[type=radio]:checked+.radio-custom{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.radio-label:hover .radio-custom{border-color:var(--primary-light)}.checkbox-group{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=480px){.checkbox-group{grid-template-columns:repeat(4,1fr)}}.lot-checkboxes{grid-template-columns:1fr}@media (width>=640px){.lot-checkboxes{grid-template-columns:repeat(2,1fr)}}.checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;padding-left:28px;font-weight:400;display:flex;position:relative}.checkbox-label input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.checkbox-custom{background:#fff;border:2px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex;position:absolute;left:0}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{border-color:var(--primary);background:var(--primary)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.checkbox-label:hover .checkbox-custom{border-color:var(--primary-light)}.price-display{background:linear-gradient(135deg, var(--secondary) 0%, #e8f5e0 100%);border:2px solid var(--primary-light);border-radius:12px;justify-content:space-between;align-items:center;margin-top:20px;padding:20px;display:flex}.price-label{font-family:var(--font-heading);color:var(--primary-dark);font-size:1.1rem;font-weight:600}.price-value{font-family:var(--font-heading);color:var(--primary);font-size:2rem;font-weight:700}.btn{font-family:var(--font-heading);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1.1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-hover);transform:scale(1.02)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-submit{width:100%;padding:18px;font-size:1.25rem}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.submit-error{color:var(--error);text-align:center;border:1px solid var(--error);background:#ffebee;border-radius:10px;padding:16px}.success-card{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:16px;padding:40px 24px;animation:.4s ease-out slideUp}.success-icon{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;font-size:40px;display:flex}.success-card h2{font-family:var(--font-heading);color:var(--primary);margin-bottom:12px;font-size:1.75rem}.success-card p{color:var(--text-secondary);margin-bottom:24px}.success-summary{background:var(--secondary);border-radius:10px;margin-bottom:24px;padding:16px}.success-summary p{margin-bottom:8px}.success-summary p:last-child{margin-bottom:0}.estimate-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.85rem}.estimate-price{font-family:var(--font-heading);color:var(--primary);margin-bottom:8px;font-size:2.5rem;font-weight:700}.estimate-address{color:var(--text-primary);font-size:1rem;font-weight:500}.estimate-note{color:var(--primary-light);margin-top:8px;font-size:.85rem;font-weight:500}.estimate-disclaimer{color:#666;background:#fffde7;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem;font-style:italic}.price-breakdown{text-align:left;background:#f5f5f5;border-radius:10px;margin-bottom:20px;padding:16px}.price-breakdown h3{font-family:var(--font-heading);color:var(--primary);text-align:center;margin-bottom:12px;font-size:1rem}.breakdown-line{border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:6px 0;display:flex}.breakdown-line.subtotal{border-bottom:2px solid #ccc;padding-top:12px;font-weight:600}.breakdown-line.addon{color:#d35400;font-size:.9rem}.breakdown-line.total{color:var(--primary);border-bottom:none;padding-top:12px;font-size:1.1rem;font-weight:700}.breakdown-line.discount{color:var(--success);font-size:.9rem}.breakdown-line.final{color:var(--primary);border-bottom:none;border-top:2px solid var(--primary);margin-top:8px;padding-top:8px;font-size:1.3rem;font-weight:700}.breakdown-addon{color:#666;padding:4px 0;font-size:.85rem;font-style:italic}.min-note{color:#888;text-align:center;margin-top:8px;font-size:.75rem;font-style:italic}.footer p{font-size:.9rem}.footer .copyright{opacity:.6;margin-top:8px;font-size:.8rem}@media (width<=640px){.header{padding:20px 16px}.logo{font-size:2rem}.main{padding:20px 12px}.form-section{padding:20px 16px}.price-display{text-align:center;flex-direction:column;gap:8px}.price-value{font-size:1.75rem}}.map-stats{border:2px solid var(--primary-light);background:#e8f5e0;border-radius:10px;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding:16px;display:grid}.map-stat{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.stat-value{font-family:var(--font-heading);color:var(--primary);font-size:1.1rem;font-weight:600}@media (width<=640px){.map-stats{grid-template-columns:1fr}}.map-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #2d5a2714}.map-section h2{font-family:var(--font-heading);color:var(--primary);border-bottom:2px solid var(--secondary);margin-bottom:8px;padding-bottom:12px;font-size:1.5rem;font-weight:600}.map-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem}.map-controls{margin-bottom:16px}.btn-load-address{color:#fff;font-family:var(--font-heading);cursor:pointer;background:linear-gradient(135deg,#4a7c44 0%,#2d5a27 100%);border:none;border-radius:10px;padding:12px 20px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-load-address:hover{transform:scale(1.02);box-shadow:0 4px 12px #2d5a274d}.map-address-input{background:var(--secondary);border-radius:10px;gap:8px;margin-bottom:16px;padding:12px;display:flex}.map-address-input input{border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:10px 14px;font-size:14px}.map-address-input button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:500}.map-address-input .btn-cancel{background:#999}.map-view{border:2px solid #e0e0e0;border-radius:12px;width:100%;height:400px;margin-bottom:16px;overflow:hidden}.map-buttons{justify-content:center;gap:12px;margin-bottom:12px;display:flex}.btn-draw{color:#fff;font-family:var(--font-heading);cursor:pointer;background:linear-gradient(135deg,#2d5a27 0%,#1e3d1a 100%);border:none;border-radius:10px;padding:12px 24px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-draw:hover{transform:scale(1.02);box-shadow:0 4px 12px #2d5a274d}.btn-clear{color:#5a5a5a;font-family:var(--font-heading);cursor:pointer;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:10px;padding:12px 24px;font-weight:600;transition:all .2s}.btn-clear:hover{background:#e8e8e8;border-color:#ccc}.map-help{color:#666;text-align:center;font-size:.85rem}.map-help strong{color:var(--primary)}.map-usage-indicator{justify-content:center;margin-bottom:12px;display:flex}.usage-badge{background:var(--secondary);border:2px solid var(--primary);color:var(--primary);border-radius:20px;padding:6px 16px;font-size:.85rem;font-weight:600}.usage-badge.warning{color:#e65100;background:#fff3e0;border-color:#f57c00}.usage-badge.limited{border-color:var(--error);color:var(--error);background:#ffebee}.btn-draw:disabled{opacity:.5;cursor:not-allowed;transform:none}.polygon-warning{color:#e65100;text-align:center;background:#fff3e0;border:1px solid #f57c00;border-radius:8px;margin-bottom:12px;padding:10px 16px;font-size:.85rem}.honeypot-field{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.next-step-label{color:#f57c00;font-weight:600}
