.wax-tickets { color:#fff; text-align:left; width:100%; min-width:0; border-top:3px solid var(--ticket-accent); }
.wax-tickets * { box-sizing:border-box; }
.wax-tickets .wax-tickets__intro { margin:20px 0; font-size:16px; color:#ccc; }
.wax-tickets .wax-tickets__group { font-size:22px; font-weight:700; line-height:1.25; margin:30px 0 8px; }
.wax-tickets__row { display:grid; grid-template-columns:minmax(0,1fr) 170px 132px; align-items:center; gap:24px; padding:25px 0; border-bottom:1px solid #555; }
.wax-tickets .wax-tickets__description h4 { margin:0; color:#fff; font-size:21px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.wax-tickets__details { font-size:15px; line-height:1.5; color:#ccc; margin-top:8px; }
.wax-tickets .wax-tickets__details p { margin:0 0 6px; font-size:inherit; line-height:inherit; color:inherit; }
.wax-tickets__price { font-size:22px; font-weight:700; }
.wax-tickets .wax-tickets__price del { display:block; color:#bbb; font-size:16px; font-weight:400; line-height:1.4; }
.wax-tickets .wax-tickets__price ins { background:transparent; color:inherit; text-decoration:none; }
.wax-tickets__price small { display:block; font-size:13px; font-weight:400; line-height:1.4; color:#ccc; margin-top:5px; }
.wax-tickets__quantity label { display:block; font-size:13px; margin-bottom:6px; }
.wax-tickets__stepper { display:flex; align-items:stretch; border:1px solid #aaa; }
.wax-tickets .wax-tickets__stepper button { border:0; border-radius:0; background:transparent; color:#fff; width:40px; height:44px; padding:0; font-size:23px; flex-shrink:0; }
.wax-tickets .wax-tickets__stepper input { appearance:textfield; border:0; border-radius:0; background:transparent; color:#fff; padding:0; width:50px; min-width:0; text-align:center; height:44px; font-size:17px; }
.wax-tickets__stepper input::-webkit-inner-spin-button { appearance:none; }
.wax-tickets .wax-tickets__stepper button:hover { background:var(--ticket-accent); color:var(--ticket-ink); }
.wax-tickets__state { font-size:14px; font-weight:700; text-transform:uppercase; color:#bbb; }
.wax-tickets__summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-top:2px solid var(--ticket-accent); margin-top:24px; }
.wax-tickets__summary > div { min-width:0; }
.wax-tickets__summary strong { display:block; font-size:30px; line-height:1.3; margin:4px 0; }
.wax-tickets__summary small { display:block; max-width:48ch; color:#bbb; font-size:12px; line-height:1.5; }
.wax-tickets .wax-tickets__checkout { border:0; border-radius:0; background:var(--ticket-accent); color:var(--ticket-ink); padding:18px 24px; font-size:16px; font-weight:700; line-height:1.3; cursor:pointer; white-space:nowrap; }
.wax-tickets .wax-tickets__checkout:disabled { background:#333; color:#aaa; cursor:default; }
.wax-tickets :is(button,input,select):focus-visible { outline:2px solid #fff; outline-offset:4px; }
.wax-tickets__option { display:block; font-size:14px; margin-top:12px; }
.wax-tickets__option select { display:block; width:100%; max-width:300px; border-radius:0; padding:8px; margin-top:4px; }
/* The existing event template applies !important Woo button/input rules. */
body.single-tc_events .elementor .wax-tickets .wax-tickets__stepper button { display:flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px !important; min-width:40px !important; max-width:40px !important; height:44px !important; min-height:44px !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:var(--ticket-accent) !important; color:var(--ticket-ink) !important; font-size:23px; line-height:1; }
body.single-tc_events .elementor .wax-tickets .wax-tickets__stepper button:disabled { background:transparent !important; color:#777 !important; cursor:default; }
body.single-tc_events .elementor .wax-tickets .wax-tickets__stepper input[type="number"] { flex:0 0 50px; width:50px !important; min-width:0 !important; max-width:50px !important; height:44px !important; min-height:44px !important; padding:0 !important; margin:0 !important; background:#fff !important; color:#000 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; line-height:44px; }
/* Only the redundant front-end ticket-display reminder, not admin notices generally. */
body.single-tc_events .tc_warning_ticket_types_needed { display:none !important; }
body.single-tc_events .elementor .wax-tickets button.wax-tickets__checkout { width:auto !important; min-width:0 !important; background:var(--ticket-accent) !important; color:var(--ticket-ink) !important; padding:18px 24px !important; border:0 !important; }
body.single-tc_events .elementor .wax-tickets button.wax-tickets__checkout:disabled { background:#333 !important; color:#aaa !important; }
@media(max-width:767px) {
 .wax-tickets__row { grid-template-columns:minmax(0,1fr) 132px; gap:16px; }
 .wax-tickets__description { grid-column:1/-1; }
 .wax-tickets .wax-tickets__description h4 { font-size:19px; }
 .wax-tickets__summary { flex-direction:column; align-items:stretch; gap:18px; }
 body.single-tc_events .elementor .wax-tickets button.wax-tickets__checkout { width:100% !important; white-space:normal; }
}
