/* Request-a-Quote form (Hostfully-mode chalets). Uses theme button classes;
   this only lays out the fields to match the booking widget look. */
.mlh-quote-form { font-family: inherit; }
.mlh-quote-title {
    font-size: 1.25rem;
    margin: 0 0 1rem;
    color: var(--yml-primary, #1e3a5f);
}
.mlh-quote-row {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.mlh-quote-row > label,
.mlh-quote-full {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 120px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--yml-gray-600, #555);
    gap: 4px;
}
.mlh-quote-full { width: 100%; }
.mlh-quote-form input,
.mlh-quote-form textarea {
    width: 100%;
    padding: 0.6rem 0.7rem;
    border: 1px solid #d8dde3;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 400;
    color: #222;
    background: #fff;
}
.mlh-quote-form input:focus,
.mlh-quote-form textarea:focus {
    outline: none;
    border-color: var(--yml-secondary, #EDA86A);
}
.mlh-quote-price {
    margin: 0.5rem 0 1rem;
    padding: 0.75rem 1rem;
    background: #f4f7fa;
    border-radius: 8px;
    font-weight: 600;
    color: var(--yml-primary, #1e3a5f);
}
.mlh-quote-contact { margin-top: 0.5rem; }
.mlh-quote-form .yml-btn { width: 100%; justify-content: center; }

/* Phone field: country-code dropdown + number */
.mlh-phone-group {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.mlh-phone-group .mlh-phone-cc {
    flex: 0 0 auto;
    width: auto;
    max-width: 48%;
    padding: 0.6rem 0.5rem;
    border: 1px solid #d8dde3;
    border-radius: 8px;
    background: #fff;
    font-size: 0.9rem;
    color: #222;
}
.mlh-phone-group .mlh-phone {
    flex: 1 1 auto;
    min-width: 0;
}
.mlh-quote-message { margin-top: 0.75rem; font-size: 0.9rem; }

/* Availability calendar (iCal-synced booked dates shown in red / crossed out) */
.mlh-quote-cal-wrap { margin-bottom: 1rem; }
.mlh-cal-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--yml-gray-600, #555);
    margin-bottom: 6px;
}
.mlh-quote-calendar .flatpickr-calendar {
    box-shadow: none;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    width: 100%;
    max-width: 340px;
}
.mlh-quote-calendar .flatpickr-calendar.inline { margin: 0; }
/* Booked / blocked days: red tint + strike-through, not selectable */
.mlh-quote-calendar .flatpickr-day.mlh-booked-day,
.mlh-quote-calendar .flatpickr-day.flatpickr-disabled.mlh-booked-day {
    background: #fff0f0;
    color: #e05252 !important;
    text-decoration: line-through;
    border-color: #f6d5d5;
    opacity: 1;
}
.mlh-quote-calendar .flatpickr-day.selected,
.mlh-quote-calendar .flatpickr-day.startRange,
.mlh-quote-calendar .flatpickr-day.endRange {
    background: var(--yml-secondary, #EDA86A);
    border-color: var(--yml-secondary, #EDA86A);
    color: #fff;
}
.mlh-quote-calendar .flatpickr-day.inRange {
    background: #fbeede;
    border-color: #fbeede;
    box-shadow: -5px 0 0 #fbeede, 5px 0 0 #fbeede;
}
.mlh-cal-legend {
    display: flex;
    gap: 1.25rem;
    margin-top: 0.6rem;
    font-size: 0.78rem;
    color: #555;
}
.mlh-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.mlh-legend-swatch {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    display: inline-block;
}
.mlh-legend-available { background: #fff; border: 1px solid #cdd5de; }
.mlh-legend-booked { background: #fff0f0; border: 1px solid #e05252; }
.mlh-cal-selected {
    margin: 0.6rem 0 0;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--yml-primary, #1e3a5f);
}
