.etk-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:20px 0}.etk-event-card,.etk-ticket-card,.etk-attendee-card{border:1px solid #ddd;border-radius:10px;padding:20px;background:#fff}.etk-button{display:inline-block;padding:11px 17px;border-radius:6px;background:#111;color:#fff;text-decoration:none;border:0;cursor:pointer;font-size:15px}.etk-button:hover{opacity:.9;color:#fff}.etk-ticket-list{display:grid;gap:16px}.etk-ticket-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.etk-ticket-info{flex:1}.etk-price{font-size:20px;font-weight:600;margin:8px 0}.etk-price-note{font-size:13px;font-weight:400;opacity:.75}.etk-group-selector{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-width:260px}.etk-group-selector select,.etk-attendee-form input,.etk-attendee-form select{padding:10px;border:1px solid #bbb;border-radius:6px;width:100%;box-sizing:border-box}.etk-group-selector small{opacity:.7}.etk-attendee-fixed{margin:8px 0}.etk-total{margin-top:12px;font-weight:700}.etk-event-single h1,.etk-booking-page h1{margin-bottom:12px}.etk-event-single h2{margin-top:32px}.etk-booking-summary{padding:16px;background:#f6f7f7;border-left:4px solid #2271b1;margin:20px 0}.etk-booking-message{margin:20px 0;padding:12px 16px}.etk-booking-message.error{background:#fef2f2;border-left:4px solid #dc2626}.etk-attendee-form{max-width:900px}.etk-attendee-card{margin:18px 0}.etk-attendee-card legend{font-weight:700;padding:0 8px}.etk-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.etk-form-grid label{display:flex;flex-direction:column;gap:6px}.etk-form-actions{margin-top:20px}.etk-form-note{opacity:.75;margin-top:12px}.etk-note{margin-top:20px;padding:12px 16px;background:#f6f7f7;border-left:4px solid #2271b1}@media(max-width:600px){.etk-ticket-card{flex-direction:column}.etk-ticket-card .etk-button{width:100%;text-align:center}.etk-form-grid{grid-template-columns:1fr}}


.etk-fixed-cart-quantity { display: inline-block; min-width: 2.25rem; text-align: center; }


/* Event ticket bookings are fixed cart items. WooCommerce Blocks can render
 * their own quantity controls, so hide those controls when an event booking
 * is present. The booking form is the only place where ticket quantity/count
 * may be changed. */
body.etk-ticket-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
body.etk-ticket-cart .wc-block-cart-item__quantity .wc-block-components-quantity-input,
body.etk-ticket-cart .wc-block-cart-item__quantity .wc-block-cart-item__quantity-input,
body.etk-ticket-cart .wc-block-cart-item__quantity input[type="number"],
body.etk-ticket-cart .wc-block-cart-item__quantity button {
  display: none !important;
}
body.etk-ticket-cart .wc-block-cart-item__quantity::after {
  content: "1";
  display: inline-block;
  min-width: 2rem;
  text-align: center;
  font-weight: 600;
}

/* Ticket-only checkout: the custom attendee form already collected contact data. */
.etk-ticket-checkout .etk-checkout-note {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-left: 4px solid #111;
  background: #f6f7f7;
}


/* Strong fallback for classic themes/custom WooCommerce cart markup. */
body.etk-ticket-cart .cart_item .quantity,
body.etk-ticket-cart .wc-block-cart-item .quantity,
body.etk-ticket-cart .wc-block-cart-item__quantity .quantity,
body.etk-ticket-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
  display: none !important;
}
body.etk-ticket-cart .etk-fixed-cart-quantity {
  display: inline-block !important;
  min-width: 2.25rem;
  text-align: center;
  font-weight: 600;
}

.etk-live-users{font-weight:700}.etk-login-gate input:focus{outline:2px solid #111;outline-offset:2px}
