/* NBA EventPrime Ticket Options - checkout UI */
.nba-epto-attendee-options,
.nba-epto-attendee-options *{
    box-sizing:border-box !important;
}

/* The hook is printed in EventPrime's left ticket-info column.
   JS moves this block into the right attendee form column; keep it safe even before JS runs. */
.nba-epto-attendee-options{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:16px 0 0 0 !important;
    padding:14px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-radius:10px !important;
    background:rgba(0,0,0,.18) !important;
    color:#fff !important;
    clear:both !important;
}

/* Hide only for the split-second before JS moves it, prevents the old narrow-column flash. */
.ep-box-col-3 .nba-epto-attendee-options:not(.nba-epto-positioned){
    display:none !important;
}

.nba-epto-attendee-options.nba-epto-positioned{
    display:block !important;
}

.nba-epto-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin:0 0 10px 0 !important;
    padding:0 0 8px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-weight:700 !important;
    font-size:14px !important;
    line-height:1.3 !important;
}

.nba-epto-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    column-gap:14px !important;
    row-gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:10px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    background:transparent !important;
    color:#fff !important;
}

.nba-epto-row:last-of-type{
    border-bottom:0 !important;
}

.nba-epto-label{
    display:block !important;
    min-width:0 !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.35 !important;
}

.nba-epto-label-main{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
}

.nba-epto-label strong{
    display:inline-block !important;
    min-width:0 !important;
    color:#fff !important;
    font-weight:700 !important;
    overflow-wrap:anywhere !important;
}

.nba-epto-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px 12px !important;
    margin-top:3px !important;
}

.nba-epto-meta span{
    display:inline-block !important;
    color:rgba(255,255,255,.76) !important;
    font-size:12px !important;
    line-height:1.35 !important;
}

.nba-epto-info-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    min-height:20px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,156,0,.95) !important;
    border-radius:999px !important;
    background:transparent !important;
    color:#ff9c00 !important;
    box-shadow:none !important;
    text-shadow:none !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
    cursor:help !important;
}

.nba-epto-info-btn:hover,
.nba-epto-info-btn:focus{
    background:rgba(255,156,0,.14) !important;
    color:#ffb33d !important;
    outline:none !important;
}

.nba-epto-qty{
    display:inline-grid !important;
    grid-template-columns:32px 44px 32px !important;
    align-items:center !important;
    gap:6px !important;
    width:auto !important;
    min-width:120px !important;
    justify-self:end !important;
}

.nba-epto-qty button,
.nba-epto-qty .nba-epto-minus,
.nba-epto-qty .nba-epto-plus{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,156,0,.85) !important;
    border-radius:7px !important;
    background:#242424 !important;
    color:#fff !important;
    box-shadow:none !important;
    text-shadow:none !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    overflow:hidden !important;
}

.nba-epto-qty button:hover,
.nba-epto-qty .nba-epto-minus:hover,
.nba-epto-qty .nba-epto-plus:hover{
    background:#343434 !important;
    color:#fff !important;
}

.nba-epto-qty button:disabled,
.nba-epto-qty .nba-epto-minus:disabled,
.nba-epto-qty .nba-epto-plus:disabled{
    opacity:.45 !important;
    cursor:not-allowed !important;
}

.nba-epto-input,
.nba-epto-qty input.nba-epto-input{
    display:inline-block !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:7px !important;
    background:#101010 !important;
    color:#fff !important;
    box-shadow:none !important;
    text-shadow:none !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:32px !important;
    appearance:textfield !important;
}

.nba-epto-input::-webkit-outer-spin-button,
.nba-epto-input::-webkit-inner-spin-button{
    -webkit-appearance:none !important;
    margin:0 !important;
}

.nba-epto-attendee-total{
    display:block !important;
    margin:10px 0 0 0 !important;
    padding-top:10px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-weight:700 !important;
    font-size:13px !important;
    line-height:1.3 !important;
    text-align:right !important;
}

.nba-epto-attendee-total span{
    color:#fff !important;
}

.nba-epto-tooltip{
    position:absolute !important;
    z-index:999999 !important;
    max-width:320px !important;
    padding:10px 12px !important;
    border:1px solid rgba(255,156,0,.45) !important;
    border-radius:10px !important;
    background:#111 !important;
    color:#fff !important;
    box-shadow:0 10px 30px rgba(0,0,0,.35) !important;
    font-size:13px !important;
    line-height:1.4 !important;
    text-align:left !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(4px) !important;
    transition:opacity .12s ease, transform .12s ease !important;
}

.nba-epto-tooltip.is-open{
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
}

@media (max-width:720px){
    .nba-epto-row{
        grid-template-columns:1fr !important;
    }
    .nba-epto-qty{
        justify-self:start !important;
    }
    .nba-epto-attendee-total{
        text-align:left !important;
    }
    .nba-epto-info-btn{
        cursor:pointer !important;
    }
}

/* Warenkorb-Zwischensumme für gewählte Optionsbuchungen */
#nba-epto-cart-options-summary,
#nba-epto-cart-options-summary *{
    box-sizing:border-box !important;
}

#nba-epto-cart-options-summary{
    background:rgba(255,255,255,.035) !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    color:#fff !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-options-title{
    margin:0 0 8px 0 !important;
    padding:0 0 6px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-weight:700 !important;
    font-size:13px !important;
    line-height:1.25 !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-option-line{
    padding:3px 0 !important;
    color:rgba(255,255,255,.88) !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-option-label,
#nba-epto-cart-options-summary .nba-epto-cart-option-price{
    color:rgba(255,255,255,.88) !important;
    font-size:12px !important;
    line-height:1.35 !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-option-label span{
    color:rgba(255,255,255,.70) !important;
    font-weight:400 !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-option-subtotal{
    margin-top:7px !important;
    padding-top:8px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
}

#nba-epto-cart-options-summary .nba-epto-cart-option-subtotal *{
    color:#fff !important;
    font-size:12px !important;
    line-height:1.35 !important;
}

/* Booking details: option totals + per-attendee option column */
.nba-epto-booking-detail-option-line,
.nba-epto-booking-detail-options-subtotal,
.nba-epto-booking-detail-summary{
    color:#fff !important;
}
.nba-epto-booking-detail-option-line span,
.nba-epto-booking-detail-options-subtotal span,
.nba-epto-booking-detail-summary span{
    color:#fff !important;
}
.nba-epto-booking-detail-options-subtotal{
    margin-top:4px;
    padding-top:4px;
    border-top:1px solid rgba(255,255,255,.15);
}
#ep_booking_detail_attendees_container .nba-epto-booking-detail-attendee-options{
    color:#fff !important;
    font-weight:600;
    white-space:normal;
}
