/* Rental Sync – Frontend Styles */

.rs-booking-wrap {
    max-width: 560px;
    font-family: inherit;
    padding: 24px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}

.rs-title {
    margin: 0 0 4px;
    font-size: 1.4em;
}

.rs-price-hint {
    margin: 0 0 20px;
    color: #555;
    font-size: 0.95em;
}

.rs-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}

.rs-field { display: flex; flex-direction: column; gap: 5px; }
.rs-full  { grid-column: 1 / -1; }

.rs-field label { font-weight: 600; font-size: 0.88em; color: #333; }
.rs-req { color: #d32; }

.rs-field input,
.rs-field textarea,
.rs-field select {
    padding: 9px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
    font-family: inherit;
    transition: border-color .2s;
}

.rs-field input:focus,
.rs-field textarea:focus {
    border-color: #4a90e2;
    outline: none;
    box-shadow: 0 0 0 3px rgba(74,144,226,.15);
}

.rs-booking-wrap hr {
    border: none;
    border-top: 1px solid #eee;
    margin: 8px 0 16px;
}

.rs-total-price {
    font-size: 1.3em;
    font-weight: 700;
    color: #2a7a2a;
}

.rs-submit-btn {
    margin-top: 12px;
    width: 100%;
    padding: 13px;
    background: #1a73e8;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}
.rs-submit-btn:hover  { background: #1558c0; }
.rs-submit-btn:active { background: #0e3f8e; }
.rs-submit-btn:disabled { background: #aaa; cursor: not-allowed; }

.rs-availability-msg {
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 0.93em;
}
.rs-availability-msg.rs-error {
    background: #fff0f0;
    border: 1px solid #f0bbbb;
    color: #b00;
}
.rs-availability-msg.rs-ok {
    background: #f0fff4;
    border: 1px solid #a8d5a2;
    color: #1a6a1a;
}

.rs-success-msg {
    margin-top: 14px;
    padding: 16px;
    background: #f0fff4;
    border: 1px solid #a8d5a2;
    border-radius: 8px;
    text-align: center;
    color: #1a6a1a;
}

/* Mini calendar */
.rs-calendar { max-width: 340px; margin: 16px 0; }
.rs-cal-header {
    display: flex; justify-content: space-between;
    align-items: center; margin-bottom: 10px;
}
.rs-cal-header button {
    background: none; border: 1px solid #ccc; border-radius: 4px;
    cursor: pointer; padding: 4px 10px; font-size: 1em;
}
.rs-cal-grid {
    display: grid; grid-template-columns: repeat(7, 1fr);
    gap: 3px; text-align: center; font-size: 0.85em;
}
.rs-cal-day-name { font-weight: 700; padding: 4px 0; color: #666; }
.rs-cal-day {
    padding: 7px 3px;
    border-radius: 4px;
    cursor: default;
}
.rs-cal-day.blocked { background: #ffe0e0; color: #a00; text-decoration: line-through; }
.rs-cal-day.today   { background: #e8f0fe; font-weight: 700; }
.rs-cal-day.empty   { background: none; }

@media (max-width: 500px) {
    .rs-form-grid { grid-template-columns: 1fr; }
    .rs-full { grid-column: 1; }
}
