#tmb-booking-form-wrapper { max-width: 600px; margin: 20px auto; padding: 20px; border: 1px solid #ddd; border-radius: 8px; font-family: sans-serif; }
.tmb-form-group { margin-bottom: 15px; } .tmb-form-group label { display: block; margin-bottom: 5px; }
.tmb-form-group input[type="text"], .tmb-form-group input[type="email"], .tmb-form-group input[type="tel"], .tmb-form-group input[type="number"], .tmb-form-group select, .tmb-form-group textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.tmb-form-step h2 { margin-top: 0; }
button, .tmb-next-btn, .tmb-prev-btn { padding: 10px 15px; border: none; background-color: #0073aa; color: white; border-radius: 4px; cursor: pointer; }
.tmb-prev-btn { background-color: #777; margin-right: 10px; } button:hover, .tmb-next-btn:hover, .tmb-prev-btn:hover { opacity: 0.9; }
#tmb-response-message { padding: 10px; margin-bottom: 15px; border-radius: 4px; display: none; }
#tmb-response-message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
#tmb-response-message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
#date { background: #fff; cursor: pointer; }
#tmb-submit-btn.loading {
    position: relative;
    pointer-events: none;
    /* Hide original text without leaving space for it */
    color: transparent;
    visibility: hidden;
}

/* Spinner */
#tmb-submit-btn.loading::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    border: 3px solid #EC1E24;
    border-top: 3px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* "Processing..." text */
#tmb-submit-btn.loading::after {
    content: "Processing...";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    color: #151C2B;
}

/* Spinner animation */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
