.vortex-booking-wrap { max-width:760px; margin: 20px auto; padding: 18px; font-family: Arial, sans-serif; background:#fff; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); }
.vortex-booking-form label { display:block; margin-bottom:12px; color:#333; font-weight:600; }
.vortex-booking-form input[type="text"], .vortex-booking-form input[type="email"], .vortex-booking-form input[type="tel"], .vortex-booking-form textarea, .vortex-booking-form select { width:100%; padding:10px; border:1px solid #e6e6e6; border-radius:8px; font-size:15px; }
.vb-total { margin: 16px 0; font-weight:700; font-size:1.05rem; }
.vb-submit { display:inline-block; background:#0dbfba; color:#fff; padding:12px 22px; border:0; border-radius:10px; cursor:pointer; font-weight:700; box-shadow:0 6px 18px rgba(13,191,186,0.18); }
.vb-cta { background: linear-gradient(90deg,#07bfae,#00a3a0); padding:14px 26px; font-size:16px; }
#vb-card-element { padding: 12px; border: 1px solid #ddd; border-radius:8px; background:#fff; }
.vb-message { margin-top:12px; padding:10px; display:none; }
.vb-message.success { background:#e6fffa; color:#006b5c; display:block; padding:12px; border-radius:6px; }
.vb-message.error { background:#ffeceb; color:#823232; display:block; padding:12px; border-radius:6px; }
@media (max-width:720px) {
  .vb-row { flex-direction:column; }
  .vb-row label { width:100%; }
  .vb-submit { width:100%; text-align:center; }
  .vortex-booking-wrap { padding:14px; margin:12px; }
}

/* Styling for custom service checkboxes (new) */
#vb-services-list {
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    padding: 10px;
    background: #fdfdfd;
}

.vb-service-item {
    display: flex;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}

.vb-service-item:last-child {
    border-bottom: none;
}

.vb-service-item input[type="checkbox"] {
    /* Style the checkbox itself */
    width: 20px;
    height: 20px;
    margin-right: 12px;
    cursor: pointer;
    flex-shrink: 0; /* Prevent it from shrinking */
}

.vb-service-item label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 0; /* Override default label margin */
    cursor: pointer;
    font-weight: 400; /* Make label lighter */
}

.vb-service-price {
    font-size: 0.9em;
    font-weight: 600;
    color: #0dbfba; /* Highlight price/status */
}


/* Styling for Form Messages */
#vb-message {
    padding: 15px 20px;
    margin-top: 20px !important;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    border: 1px solid transparent;
}

#vb-message.success {
    background-color: #d4edda;
    color: #155724;
    border-color: #c3e6cb;
}

#vb-message.error {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}
