.estimate-page { background: #f7faf7; color: #33483a; }
.estimate-hero { padding: 80px 0 105px; background: linear-gradient(90deg, rgba(17,61,34,.97), rgba(23,79,44,.78)), url('../img/section-1bg.png') center/cover; color: #fff; }
.estimate-eyebrow { color: #bcf0c8; font-size: .8rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.estimate-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.8rem); margin: 16px 0; }
.estimate-hero p { max-width: 660px; color: #fff; font-size: 1.1rem; font-weight: 700; line-height: 1.8; }
.estimate-content { position: relative; margin-top: -40px; padding-bottom: 85px; }
.est-intro, .estimate-page .est-box { padding: 28px; margin-bottom: 22px; border: 1px solid #deeadf; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(23,79,44,.04); }
.est-intro { border-top: 4px solid var(--color-primary); }
.est-intro strong { font-size: 1.25rem; color: #174f2c; }
.est-intro p { margin: 10px 0 0; line-height: 1.8; }
.estimate-page .est-section-title { font-size: 1.2rem; font-weight: 700; color: #174f2c; margin: 0 0 18px; }
.estimate-page .est-label { display: block; font-size: .85rem; font-weight: 600; margin: 8px 0; }
.estimate-page .form-control { min-height: 46px; border-color: #d5e1d7; border-radius: 8px; }
.estimate-page .form-control:focus { border-color: #4a8558; box-shadow: 0 0 0 3px rgba(74,133,88,.15); }
.estimate-page .est-muted { color: #617165; font-size: .85rem; line-height: 1.7; }
.estimate-page .est-option { padding: 20px; margin-top: 16px; border: 1px solid #dbe6dc; background: #f8fbf8; border-radius: 12px; }
.estimate-page .est-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.estimate-page .btn { border-radius: 8px; padding: 10px 16px; font-weight: 600; }
.estimate-page .btn-primary, .estimate-page .btn-success { background: #216337; border-color: #216337; color: #fff; }
.estimate-page .btn-primary:hover, .estimate-page .btn-success:hover { background: #174f2c; }
.estimate-page .btn-info { background: #edf6ee; border-color: #c8dfcc; color: #174f2c; }
.estimate-page .btn-danger { background: #fff3f0; border-color: #e9c5bc; color: #913e2d; }
.estimate-page .est-output { white-space: pre-wrap; overflow-wrap: anywhere; padding: 28px; border: 1px solid #cbded0; border-top: 4px solid var(--color-primary); border-radius: 16px; background: #fff; line-height: 1.9; min-height: 120px; }
.estimate-page .est-output:empty::before { content: 'Your estimate will appear here. Enter your rates above, then select Generate.'; color: #617165; }
.estimate-page .est-history-item { padding: 16px; margin-bottom: 12px; border: 1px solid #deeadf; border-radius: 10px; }
.estimate-page .est-history-item .btn { margin-right: 8px; }
@media (max-width: 575px) { .estimate-hero { padding: 55px 0 75px; } .est-intro, .estimate-page .est-box, .estimate-page .est-output { padding: 18px; } .estimate-page .est-option { padding: 14px; } .estimate-page .est-actions .btn { flex: 1 1 150px; } }
