/**
 * Kreta Insider Booking Request
 */

.kib-booking-widget {
    width: 100%;
    box-sizing: border-box;
}

.kib-booking-widget *,
.kib-booking-widget *::before,
.kib-booking-widget *::after {
    box-sizing: border-box;
}

.kib-booking-widget-pending .kib-booking-form-container {
    display: none;
}

.kib-booking-widget-pending .kib-booking-status-loading {
    display: block;
    padding: 12px 0;
}

.kib-booking-widget-ready .kib-booking-status-loading,
.kib-booking-widget-locked .kib-booking-status-loading {
    display: none;
}

.kib-form-title {
    margin-top: 0;
    margin-bottom: 20px;
}

.kib-booking-form { width: 100%; }
.kib-form-field { width: 100%; margin-bottom: 12px; }
.kib-form-field label { display: block; margin-bottom: 6px; font-size: 14px; line-height: 1.4; }
.kib-form-field input,
.kib-form-field textarea {
    display: block; width: 100%; max-width: 100%; margin: 0; padding: 11px 12px;
    border: 1px solid #d7d7d7; border-radius: 4px; background: #fff; color: #222;
    font-family: inherit; font-size: 15px; line-height: 1.4; box-shadow: none; outline: none;
}
.kib-form-field textarea { min-height: 120px; resize: vertical; }
.kib-form-field input::placeholder,
.kib-form-field textarea::placeholder { color: #888; opacity: 1; }

.kib-form-row { display: flex; width: 100%; gap: 12px; }
.kib-form-row > .kib-form-field { flex: 1 1 0; min-width: 0; }

.kib-submit-wrap { width: 100%; margin-top: 18px; }
.kib-submit-button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 10px 20px; border: 0; border-radius: 4px; background: #222; color: #fff;
    font-family: inherit; font-size: 15px; line-height: 1.2; text-align: center; cursor: pointer;
}
.kib-submit-button:disabled { cursor: not-allowed; opacity: .6; }

.kib-form-message { display: none; width: 100%; margin-top: 15px; padding: 11px 13px; border-radius: 4px; font-size: 14px; line-height: 1.5; }
.kib-form-message.is-visible { display: block; }
.kib-form-message.is-success { border: 1px solid #b7d8bd; background: #edf8ef; color: #245b2d; }
.kib-form-message.is-error { border: 1px solid #e2b8b8; background: #fff0f0; color: #7a2020; }
.kib-booking-form.is-sending { opacity: .75; }

.kib-booking-lock-message { width: 100%; }
.kib-lock-text, .kib-next-request { line-height: 1.6; }
.kib-countdown { margin: 15px 0; font-size: 24px; font-weight: 700; letter-spacing: .04em; }

@media (max-width: 600px) {
    .kib-form-row { display: flex; flex-direction: row; gap: 8px; align-items: flex-start; }
    .kib-form-row > .kib-form-field { width: 50%; flex: 1 1 0; min-width: 0; flex-basis: 0; }
    .kib-form-row .kib-form-field label { font-size: 13px; }
    .kib-form-row .kib-form-field input { width: 100%; padding-left: 9px; padding-right: 9px; }
    .kib-submit-button { width: 100%; }
}


/* Account identity fields are displayed but cannot be edited. */
.kib-account-field input[readonly] {
    cursor: not-allowed;
    opacity: .85;
}


/* Logged-in account identity fields are visible but not editable. */
.kib-account-identity[readonly] {
    cursor: not-allowed;
    opacity: .85;
}

/* Premium booking request clarification – frontend form only. */
.kib-premium-request-note {
    margin: 4px 0 18px;
    font-size: 11px;
    line-height: 1.45;
    color: #666;
}
.kib-premium-request-note > span {
    display: inline-block;
    margin-top: 2px;
}
