/* BHY Reservation Form styles */
.bhy-form { }
.bhy-field { margin-bottom: 16px; }
.bhy-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.bhy-field input, .bhy-field select { width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; }
.bhy-field-checkbox label { display: flex; align-items: center; gap: 8px; font-weight: normal; }
.bhy-required { color: #e00; }

/* Slot cards */
.bhy-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 8px; }
.bhy-slot-card {
    border: 2px solid #ddd;
    border-radius: 8px;
    padding: 6px 12px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    line-height: 1.2;
    transition: border-color 0.15s, background 0.15s;
}
.bhy-slot-card:hover:not(.bhy-slot-disabled) { border-color: #2271b1; }
.bhy-slot-selected { border-color: #2271b1 !important; background: #e8f0fb; }
.bhy-slot-disabled { opacity: 0.45; cursor: not-allowed; border-color: #ddd; }
.bhy-slot-label { display: block; font-size: 17px; font-weight: 700; }
.bhy-slot-free  { display: block; font-size: 11px; color: #666; margin-top: 2px; }
.bhy-slot-scarce { color: #c0392b; font-weight: 600; }
.bhy-slot-selected .bhy-slot-free { color: #2271b1; }
.bhy-slot-selected .bhy-slot-scarce { color: #2271b1; }

/* Submit button — colour from WP theme via wp-element-button class */
.bhy-submit-btn {
    border: none;
    padding: 10px 28px; border-radius: 4px; font-size: 15px;
    cursor: pointer; margin-top: 8px;
    font-weight: 700;
    text-transform: uppercase;
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base, #fff);
}
.bhy-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Messages */
.bhy-form-error   { color: #c0392b; background: #fdecea; border: 1px solid #f5c6cb; padding: 10px 14px; border-radius: 4px; margin-bottom: 12px; }
.bhy-form-success { color: #155724; background: #d4edda; border: 1px solid #c3e6cb; padding: 10px 14px; border-radius: 4px; }
.bhy-unavailable  { color: #666; font-style: italic; }

/* Cancel link on reschedule page */
.bhy-cancel-link {
    background: none;
    border: none;
    color: #c0392b;
    cursor: pointer;
    font-size: 13px;
    padding: 0;
    text-decoration: underline;
}
.bhy-cancel-link:hover { color: #922b21; }

/* Mobile: manje slot kartice */
@media (max-width: 639px) {
    .bhy-slot-label { font-size: 14px; }
    .bhy-slot-card  { padding: 5px 8px; }
    .bhy-slot-free  { font-size: 10px; }
}

/* Desktop: email + mobitel u istom redu */
@media (min-width: 640px) {
    #bhy-reservation-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 16px;
    }
    .bhy-field { grid-column: 1 / -1; }
    .bhy-field-email,
    .bhy-field-mobitel { grid-column: span 1; }
    .bhy-field-ime_prezime,
    .bhy-field-broj_gostiju { grid-column: span 1; }
    .bhy-form-error,
    .bhy-submit-btn { grid-column: 1 / -1; }
}
