/* Styles for Summer Beach Trip Comparator */
.calcufacil-summer_beach_trip_comparator.calcufacil-container.enhanced-beachtrip-comp {
    max-width: 1000px;
    margin: 25px auto;
    background: #fff; /* Cleaner base */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    font-family: 'Arial', sans-serif; /* Using Arial as per other examples */
}

/* Left Column: Form */
.calcufacil-summer_beach_trip_comparator .calcufacil-left.calculator-form {
    flex: 1 1 380px; /* Slightly less for form */
    min-width: 300px;
    padding: 20px;
    background-color: #f9fcff; /* Light blue tint */
    border-radius: 8px;
    border: 1px solid #e4edf7;
    box-sizing: border-box;
}

/* Right Column: Results */
.calcufacil-summer_beach_trip_comparator .calcufacil-right.results.enhanced-beachtrip-results {
    flex: 1 1 550px; /* More space for cards */
    min-width: 320px;
    background: #f0f8ff; /* AliceBlue for results area */
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #d6eaf8;
    box-sizing: border-box;
}

.calcufacil-summer_beach_trip_comparator .calculator-form h2 {
    font-size: 22px; color: #0077c2; margin-bottom: 10px; font-weight: 600;
}
.calcufacil-summer_beach_trip_comparator .calculator-form .description {
    font-size: 14px; color: #335d80; margin-bottom: 20px; line-height: 1.5;
}
.calcufacil-summer_beach_trip_comparator .calculator-form h3 {
    font-size: 17px; color: #005a8e; margin-top: 20px; margin-bottom: 15px;
    padding-bottom: 8px; border-bottom: 1px solid #cce7ff; display: flex; align-items: center; gap: 8px;
}
.calcufacil-summer_beach_trip_comparator .calculator-form h3:first-of-type { margin-top: 0; }
.calcufacil-summer_beach_trip_comparator .calculator-form h3 i { color: #0077c2; font-size: 1.1em; }

.calcufacil-summer_beach_trip_comparator .form-grid {
    display: grid;
    grid-template-columns: 1fr; /* Single column for inputs in this form */
    gap: 15px;
    margin-bottom: 20px;
}

.calcufacil-summer_beach_trip_comparator .input-group { display: flex; flex-direction: column; }
.calcufacil-summer_beach_trip_comparator .input-group label {
    font-weight: 600; color: #004c80; margin-bottom: 5px; font-size: 13px;
}
.calcufacil-summer_beach_trip_comparator .input-group input[type="number"],
.calcufacil-summer_beach_trip_comparator .input-group select {
    width: 100%; padding: 10px; border: 1px solid #80bfff; border-radius: 4px;
    font-size: 14px; background: #fdfdff; box-sizing: border-box;
}
.calcufacil-summer_beach_trip_comparator .input-group-slider input[type="range"] {
    width: 100%; margin-top: 6px; accent-color: #0077c2;
}

.calcufacil-summer_beach_trip_comparator button[type="submit"] {
    background: #0077c2; /* Blue */
    color: #fff; padding: 11px 22px; border: none; border-radius: 5px; cursor: pointer;
    font-size: 16px; width: 100%; margin-top: 15px; font-weight: bold;
    transition: background 0.2s ease-in-out;
}
.calcufacil-summer_beach_trip_comparator button[type="submit"]:hover { background: #005a8e; }

/* Results Area Styling */
.calcufacil-summer_beach_trip_comparator .results.enhanced-beachtrip-results h2 {
    font-size: 20px; color: #005a8e; text-align: center; margin-top:0; margin-bottom: 15px; font-weight: 600;
}
.calcufacil-summer_beach_trip_comparator .results.enhanced-beachtrip-results .summary {
 text-align: center; font-size: 0.9em; color: #335d80; margin-bottom: 20px;
 padding: 10px; background-color: #e6f2ff; border-radius:4px; border: 1px solid #d1e0ff; line-height: 1.5;
}
.calcufacil-summer_beach_trip_comparator .results.enhanced-beachtrip-results .summary strong { color: #004c80; }

.calcufacil-summer_beach_trip_comparator .destination-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Responsive cards */
    gap: 20px;
    margin-top: 10px;
}

.calcufacil-summer_beach_trip_comparator .destination-card {
    background: #fff;
    border: 1px solid #d6eaf8;
    border-radius: 6px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
}
.calcufacil-summer_beach_trip_comparator .destination-card h3 {
    font-size: 17px;
    color: #005a8e;
    margin-top: 0;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e6f2ff;
}
.calcufacil-summer_beach_trip_comparator .destination-card .dest-type {
    font-size: 13px;
    color: #5499c7;
    margin-bottom: 12px;
    font-style: italic;
}
.calcufacil-summer_beach_trip_comparator .destination-card .dest-type i {
    margin-right: 5px;
}

.calcufacil-summer_beach_trip_comparator .destination-card .cost-section,
.calcufacil-summer_beach_trip_comparator .destination-card .time-section {
    margin-bottom: 15px;
}
.calcufacil-summer_beach_trip_comparator .destination-card h4 {
    font-size: 14px;
    color: #0077c2;
    margin-top: 0;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.calcufacil-summer_beach_trip_comparator .destination-card h4 i { font-size: 0.9em; }

.calcufacil-summer_beach_trip_comparator .destination-card .total-pp-cost {
    font-size: 1.5em;
    font-weight: bold;
    color: #004c80;
}
.calcufacil-summer_beach_trip_comparator .destination-card .total-group-cost {
    font-size: 0.9em;
    color: #555;
    margin-top: -5px;
    margin-bottom: 10px;
}

.calcufacil-summer_beach_trip_comparator .destination-card ul {
    list-style: none;
    padding-left: 15px;
    margin: 5px 0 0 0;
    font-size: 13px;
}
.calcufacil-summer_beach_trip_comparator .destination-card li {
    color: #335d80;
    margin-bottom: 4px;
}
.calcufacil-summer_beach_trip_comparator .destination-card .travel-time {
    font-weight: bold;
    color: #005a8e;
}

.calcufacil-summer_beach_trip_comparator .disclaimer-box.beachtrip-disclaimer {
    margin-top: 25px; padding: 15px; background-color: #fff9e6; /* Light yellow */
    border: 1px solid #ffecb3; border-left: 4px solid #fbc02d; /* Yellow */
    border-radius: 4px;
}
.calcufacil-summer_beach_trip_comparator .disclaimer-box.beachtrip-disclaimer h4 {
    margin-top: 0; margin-bottom: 8px; color: #b7950b; font-size: 15px;
}
.calcufacil-summer_beach_trip_comparator .disclaimer-box.beachtrip-disclaimer ul {
    list-style: disc; margin-left: 18px; padding-left: 0;
}
.calcufacil-summer_beach_trip_comparator .disclaimer-box.beachtrip-disclaimer li {
    margin-bottom: 6px; font-size: 12px; color: #555; line-height: 1.4;
}
.calcufacil-summer_beach_trip_comparator .disclaimer-box.beachtrip-disclaimer strong {
    color: #000;
}

.calcufacil-summer_beach_trip_comparator .initial-message {
    color: #005a8e; text-align: center; padding: 20px; background-color: #e6f2ff;
    border: 1px dashed #cce7ff; border-radius: 5px; margin-top: 15px; line-height: 1.5; font-size: 14px;
}

@media (max-width: 768px) {
    .calcufacil-summer_beach_trip_comparator.calcufacil-container.enhanced-beachtrip-comp {
        flex-direction: column; padding: 15px;
    }
    .calcufacil-summer_beach_trip_comparator .calcufacil-left.calculator-form,
    .calcufacil-summer_beach_trip_comparator .calcufacil-right.results.enhanced-beachtrip-results {
        flex-basis: 100%; min-width: 100%; margin-bottom: 20px;
    }
     .calcufacil-summer_beach_trip_comparator .calcufacil-right.results.enhanced-beachtrip-results { margin-bottom: 0;}
}