
/* ===========================================
Travel Time Estimator - Tool Specific Styles
=========================================== */

/* Tool Layout */
.tte-box {
 max-width: 900px;
 margin: 0 auto;
}

/* Controls Layout */
.tte-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.tte-section {
 padding: 25px;
 border-radius: 12px;
}

/* Specific Section Styling */
.route-data {
 background: #f0fdf4; /* Light Green */
 border: 1px solid #d1fae5;
}

.duration-factors {
 background: #f0f9ff; /* Light Blue */
 border: 1px solid #bae6fd;
}

.tte-section-title {
 font-size: 1.1rem;
 font-weight: 700;
 color: #065f46; /* Dark Green Title */
 margin-bottom: 20px;
 padding-bottom: 8px;
 border-bottom: 2px solid #a7f3d0;
}
.duration-factors .tte-section-title {
    color: #1e40af; /* Dark Blue Title */
    border-bottom-color: #93c5fd;
}

/* Input Rows and Groups */
.tte-input-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.tte-input-group {
    flex: 1 1 45%; /* Two inputs per row */
    display: flex;
    flex-direction: column;
}
.tte-input-group.full-width {
    flex-basis: 100%;
}

.tte-label {
 font-size: 0.95rem;
 font-weight: 600;
 color: #1f2937;
 margin-bottom: 6px;
}

.tte-input, .tte-select {
 padding: 10px;
 border: 1px solid #93c5fd;
 border-radius: 6px;
 font-size: 1.1rem;
 color: #1f2937;
 width: 100%;
 background-color: white;
}
.tte-help-text {
 font-size: 0.8rem;
 color: #4b5563;
 margin-top: 10px;
}

/* Duration Grid Styling */
.tte-duration-grid {
    display: grid;
    grid-template-columns: 2fr 1fr; /* Label (2/3) | Input (1/3) */
    gap: 15px 10px;
    align-items: center;
}

.tte-duration-grid .tte-label {
    margin-bottom: 0;
    font-weight: 500;
}

.tte-time-input {
    display: flex;
    align-items: center;
    gap: 5px;
}
.tte-time-input input {
    width: 60px;
    padding: 8px;
    text-align: center;
    border: 1px solid #93c5fd;
    border-radius: 4px;
}

/* Calculate Button */
.tte-btn-calc {
 width: 100%;
 padding: 15px 20px;
 font-size: 1.2rem;
 font-weight: 700;
 border: none;
 border-radius: 8px;
 cursor: pointer;
 background: #f97316; /* Primary Orange Button */
 color: white;
 transition: background 0.2s;
 margin-top: 10px;
}
.tte-btn-calc:hover {
 background: #ea580c;
}

/* --- Results Section --- */

.tte-results-section {
 margin-top: 30px;
 text-align: center;
}

.tte-result-box {
 background: #ffffff;
 padding: 30px;
 border-radius: 10px;
 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
 border: 2px solid #f97316;
}

.tte-card-title {
 font-size: 1.1rem;
 text-transform: uppercase;
 color: #c2410c;
 margin-bottom: 10px;
 font-weight: 700;
}

/* Main Arrival Time Display */
.tte-value-main {
 font-size: 3rem;
 font-weight: 800;
 color: #f97316;
 line-height: 1.1;
 margin-bottom: 5px;
}
.tte-unit {
    font-size: 1rem;
    color: #4b5563;
    margin-bottom: 25px;
}

/* Breakdown Display */
.tte-breakdown {
 display: flex;
 justify-content: center;
 gap: 25px;
 flex-wrap: wrap;
 padding-top: 20px;
 border-top: 1px dashed #fdba74;
}

.tte-breakdown-item {
 text-align: center;
 flex: 1 1 200px;
 padding: 15px;
    border-radius: 8px;
    background: #fff7ed;
}

.tte-breakdown-number {
 font-size: 1.8rem;
 font-weight: 700;
 color: #c2410c;
 line-height: 1.2;
}

.tte-breakdown-unit {
 font-size: 0.9rem;
 color: #4b5563;
 text-transform: uppercase;
 margin-top: 5px;
}

/* Responsive Styling */
@media (max-width: 768px) {
    .tte-input-row {
        flex-direction: column;
    }
    .tte-input-group {
        flex-basis: 100%;
    }
    .tte-duration-grid {
        grid-template-columns: 1fr;
    }
    .tte-value-main {
  font-size: 2.2rem;
 }
 .tte-breakdown {
  flex-direction: column;
 }
}