/* Event session bookings: form + confirmation page. v1.0.0 */

.ws-eb-form { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.ws-eb-form .contact-form-grid { align-items: start; }
.ws-field-wrap { display: flex; flex-direction: column; width: 100%; }
.ws-field-wrap .text-field { margin-bottom: 0; }
.ws-hp-field { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; width: 0; overflow: hidden; }
.ws-error-msg { display: none; color: #d7403a; font-size: 0.85em; line-height: 1.4; margin-top: 4px; text-align: left; }
.ws-field-wrap.has-error .ws-error-msg { display: block; }
.ws-field-wrap.has-error .text-field { border-color: #d7403a; }
.ws-eb-form-error { color: #d7403a; background: #fdecec; border: 1px solid #f5c2c0; border-radius: 6px; padding: 10px 14px; font-size: 15px; line-height: 22px; text-align: left; }
.ws-eb-form .main-button.form[disabled] { opacity: 0.6; cursor: wait; }
.ws-eb-form select.text-field option[disabled] { color: #9aa0a6; }

.evx-register-item.ws-eb-session-closed { opacity: 0.55; }
/* Time zone pill (flag + BST/SGT/EDT) at the start of each session row */
.evx-register-main { display: flex; align-items: center; gap: 10px; min-width: 0; position: relative;}
.evx-register-text { flex: 1 1 auto; min-width: 0; }
.evx-tz { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px 2px 6px; border-radius: 6px; background: #eceefb; color: var(--brand-blue, #2b3bc9); font-size: 12px; font-weight: 600; letter-spacing: .04em; line-height: 18px;}
.evx-tz-flag { display: block; width: 18px; height: 12px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.ws-eb-closed-tag { display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 10px; font-size: 12px; line-height: 20px; background: var(--soft-grey, #e5e7eb); color: var(--brand-blue, #2b44ff); vertical-align: middle; }

.ws-eb-success p { text-align: left; }

/* Confirmation page */
.ws-eb-confirm { text-align: left; }
.ws-eb-confirm .ws-eb-confirm-intro { font-size: 20px; line-height: 32px; }
.ws-eb-confirm-card { border: 1px solid var(--soft-grey, #e5e7eb); background: var(--white, #fff); border-radius: 8px; padding: 24px 28px; margin: 24px 0; }
.ws-eb-confirm-card h2 { font-size: 22px; line-height: 30px; margin: 0 0 16px; }
.ws-eb-confirm-row { display: flex; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--soft-grey, #e5e7eb); font-size: 17px; line-height: 26px; }
.ws-eb-confirm-row:last-child { border-bottom: 0; }
.ws-eb-confirm-row > span:first-child { flex: 0 0 110px; color: #6b7280; }
.ws-eb-confirm-row a { word-break: break-all; }
.ws-eb-confirm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.ws-eb-confirm-actions .main-button { margin: 0; }
.ws-eb-confirm-actions .main-button.secondary { background: transparent; color: var(--brand-blue, #2b44ff); border: 1px solid var(--brand-blue, #2b44ff); }
.ws-eb-confirm-message { margin: 24px 0; padding: 18px 20px; border-left: 2px solid var(--brand-green, #00c48c); background: var(--light-grey, #f4f5f7); border-radius: 0 6px 6px 0; font-size: 16px; line-height: 26px; }
.ws-eb-confirm-message p:last-child { margin-bottom: 0; }
.ws-eb-confirm-note { color: #6b7280; font-size: 15px; }

@media screen and (max-width: 479px) {
  .ws-eb-confirm-row { flex-direction: column; gap: 2px; }
  .ws-eb-confirm-row > span:first-child { flex-basis: auto; }
}
