/* Scoped to the estimation calculator. Site-wide components remain unchanged. */
.tp-estimator{background:var(--paper);scroll-margin-top:130px}
.tp-estimator .te-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.tp-estimator .section-head{margin-bottom:25px}
.tp-estimator .te-points{list-style:none;padding:0;margin:28px 0;display:grid;gap:15px}
.tp-estimator .te-points li{padding-left:22px;position:relative;color:var(--muted)}
.tp-estimator .te-points li:before{content:'';position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.tp-estimator .te-panel{background:#fff;padding:36px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.tp-estimator .te-panel h3{margin-bottom:8px}
.tp-estimator .te-small{font-size:13px;line-height:1.6;margin:12px 0;color:var(--muted)}
.tp-estimator .te-form{margin-top:24px}
.tp-estimator label{display:grid;gap:7px;font-size:14px;font-weight:600;min-width:0}
.tp-estimator input,.tp-estimator select{width:100%;min-width:0;padding:13px 12px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;line-height:1.4;font-size:15px}
.tp-estimator input:focus,.tp-estimator select:focus{outline:2px solid var(--gold);outline-offset:2px}
.tp-estimator .wide{grid-column:1/-1}
.tp-estimator .te-address{position:relative;min-width:0}
.tp-estimator .te-suggestions{position:relative;z-index:5;border:1px solid var(--line);border-top:0;background:#fff;max-height:255px;overflow:auto;border-radius:0 0 var(--radius) var(--radius)}
.tp-estimator .te-suggestions[hidden],.tp-estimator [hidden]{display:none!important}
.tp-estimator .te-option{display:block;text-align:left;border:0;background:#fff;color:var(--ink);padding:12px;width:100%;font-size:14px;line-height:1.5;border-bottom:1px solid var(--line)}
.tp-estimator .te-option:hover,.tp-estimator .te-option[aria-selected=true]{background:var(--paper)}
.tp-estimator .te-option small{display:block;color:var(--muted);font-size:12px}
.tp-estimator .te-help{font-weight:400;font-size:12px;color:var(--muted);line-height:1.5}
.tp-estimator .te-details{margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}
.tp-estimator .te-details summary{font-size:14px;font-weight:600;color:var(--ink)}
.tp-estimator .te-details .form-grid{margin-top:18px}
.tp-estimator .te-submit{width:100%;justify-content:center}
.tp-estimator button:disabled{cursor:wait;opacity:.7}
.tp-estimator .te-status{font-size:14px;margin-top:14px;line-height:1.5;color:var(--ink)}
.tp-estimator .te-status[data-error=true]{color:#942b2b}
.tp-estimator .te-result{margin-top:28px;padding-top:28px;border-top:1px solid var(--gold);outline:none}
.tp-estimator .te-price{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4vw,54px);color:var(--navy);line-height:1.15;margin:10px 0}
.tp-estimator .te-metrics{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;margin:18px 0;color:var(--ink)}
.tp-estimator .te-route{padding:15px;background:var(--paper);border-radius:var(--radius);margin:18px 0;overflow-wrap:anywhere;font-size:14px}
.tp-estimator .te-route p{margin:4px 0}
.tp-estimator .te-route strong{color:var(--ink)}
.tp-estimator .te-breakdown{font-size:14px;margin:18px 0}
.tp-estimator .te-breakdown div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--line)}
.tp-estimator .te-breakdown dt{color:var(--muted)}
.tp-estimator .te-breakdown dd{margin:0;color:var(--ink);flex-shrink:0}
.tp-estimator .te-result .actions{gap:10px;flex-wrap:wrap}
.tp-estimator .te-result .button{font-size:14px;padding:13px 17px}
.tp-estimator .te-source a{text-decoration:underline;text-underline-offset:3px}
.tp-estimator .te-source{font-size:12px;line-height:1.6}
@media(max-width:900px){.tp-estimator .te-layout{grid-template-columns:minmax(0,1fr);gap:28px}.tp-estimator .te-panel{padding:28px}}
@media(max-width:500px){.tp-estimator .te-panel{padding:20px}.tp-estimator .form-grid{grid-template-columns:minmax(0,1fr)}.tp-estimator .te-result .actions .button{width:100%;justify-content:center}.tp-estimator .te-breakdown div{font-size:13px}}

#contact .estimation-contact{max-width:760px}

.tp-estimator #fare-return-fields{margin-top:20px}
