.bg_cart_wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background-color: #222222;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.bg_cart {
    margin: 0px auto;
    padding: 0 0;
    margin-top: 30px;
    width: 85%;
}

.bg_cart table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.bg_cart td, .bg_cart th {
    vertical-align: middle;
    padding: 15px;
    border-bottom: 1px solid #444;
}

.bg_cart th {
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
}

.bg_cart th[scope="row"] {
    text-align: left;
}

.bg_cart th .bg-datetime {
    font-weight: 400;
    display: block;
    margin-top: 5px;
    font-size: 14px;
    color: #aaa;
}

.bg-cart-modern {
    margin: 0 auto;
}

#bg-cart-submit-hint {
    display: none;
    text-align: center;
    margin: 35px 0px -25px 0px;
}

#bg-cart-submit-hint.is-visible {
    display: block;
}

.bg-cart-tickets-box {
    background: #333;
    border: 2px solid #444;
    border-radius: 10px;
    margin-bottom: 25px;
    overflow: hidden;
    transition: background-color 0.3s ease;
}

.bg-cart-event-header {
    align-items: center;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    gap: 15px;
    padding: 15px;
}

.bg-cart-event-image {
    height: 100px;
}

.bg-cart-event-info {
    flex: 1;
}

.bg-cart-event-title {
    color: #22b2ee;
    font-size: 1.15em;
    font-weight: bold;
}

.bg-cart-event-date {
    color: #c4c4c5;
    font-size: 0.9em;
}

.bg-cart-tickets-header {
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    font-size: 0.85em;
    font-weight: bold;
    grid-template-columns: 2fr 1fr 2fr;
    text-transform: uppercase;
    max-width: 100%;
    margin: 0 50px;
}

.bg-cart-tickets-header .bg-cart-col-label {
    background: transparent;
    color: #c4c4c5;
    padding: 0 25px 0 0;
    text-align: right;
    align-content: center;
}

.bg-cart-tickets-header .bg-cart-col-qty {
    color: #c4c4c5;
    padding: 8px;
    text-align: center;
}

.bg-cart-tickets-header .bg-cart-col-price {
    background: transparent;
    color: #c4c4c5;
    padding: 8px 56px;
    text-align: left;
}

.bg-cart-tickets-body {
    margin: 0;
    padding: 0;
}

.bg-cart-ticket-row {
    align-items: center;
    display: grid;
    grid-template-columns: 2fr 1fr 2fr;
    padding: 6px 0;
    transition: background 0.2s;
    max-width: 100%;
    margin: 0 50px;
}

.bg-cart-col-label {
    color: #fff;
    font-weight: 600;
    margin: 0;
    padding: 0 50px 0 0;
    text-align: right;
}

.bg-cart-col-qty {
    align-items: center;
    background: transparent;
    color: #c4c4c5;
    display: flex;
    gap: 5px;
    justify-content: center;
    margin: 0;
    padding: 8px 0;
}

.bg-cart-col-price {
    align-items: center;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    padding: 0 10px;
}

.bg-membership-fee-row .bg-price-display .price {
    margin: 0 2px;
}

.bg-membership-fee-row .bg-price-display {
	margin: 0 auto;
    align-items: center;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: right;
	padding: 0 0px;
}

.bg-membership-discount-row .bg-price-display .price {
	margin: 0 2px;
}

.bg-membership-discount-row .bg-price-display  {
	margin: 0 auto;
    align-items: center;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: right;
	padding: 0 0px;

}

.bg-cart-qty-btn {
    align-items: center;
    border: none;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: bold;
    height: 32px;
    justify-content: center;
    margin: 0;
    width: 32px;
}

.bg-cart-qty-btn.minus {
    background: #e53935;
}

.bg-cart-qty-btn.plus {
    background: #22b2ee;
}

.bg-cart-qty-input {
    background: #1a1a1a;
    border: 1px solid #555;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    height: 32px;
    margin: 0;
    text-align: center;
    width: 50px;
}

.bg-qty-display {
    font-size: 1.1em;
    font-weight: bold;
}

.bg-multiply {
    color: #888;
    font-size: 0.9em;
}

.bg-price-display {
    font-size: 1.1em;
    font-weight: bold;
}

.bg-price-original-strike {
    color: #888;
    font-weight: bold;
    margin: 0 0 0 10px;
    opacity: 0.6;
    text-decoration: line-through;
}

.bg-price-discounted {
    color: #ff6b35;
    font-weight: bold;
    margin: 0 0 0 10px;
}

.bg-price-new {
    color: #fff;
    font-weight: bold;
}

.bg-price-strike {
    color: #888;
    cursor: help;
    font-size: 0.85em;
    margin-right: 5px;
    opacity: 0.6;
    text-decoration: line-through;
}

.bg-price-final {
    color: #ff6b35;
    cursor: help;
    font-weight: bold;
}

.bg-info-icon {
    font-size: 0.75em;
    margin-left: 3px;
    opacity: 0.7;
    vertical-align: super;
}

.bg-time-badge {
    font-size: 0.85em;
    margin-left: 5px;
}

.bg-time-discount-notice {
    color: #10b981;
    font-size: 0.75em;
    font-style: italic;
    margin-top: 3px;
    text-align: center;
}

.bg-rounding-notice {
    color: #d9d9d9;
    font-size: 0.75em;
    font-style: italic;
    margin-top: 12px;
    opacity: 0.7;
    text-align: center;
}

.bg-membership-fee-row {
	background: linear-gradient(145deg, #1a1a1a 0%, #0a0a0a 50%, #151515 100%) !important;
	border: 2px solid transparent !important;
	border-image: linear-gradient(145deg, #d4af37, #f5d67a, #c9a227, #a8860a) 1 !important;
	box-shadow: 0 0 20px rgba(212, 175, 55, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	margin: 10px auto;
	padding: 5px 0;
	width: 600px;
	border-radius: 10px;
    grid-template-columns: 2fr 1fr 1fr;
}

.bg-membership-fee-row td {
    background: transparent !important;
    font-style: italic;
}

.bg-membership-fee-row .bg-cart-col-qty {
    background: linear-gradient(145deg, #d4af37, #c9a227, #b8960f) !important;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #1a1a1a !important;
    font-weight: bold;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
    width: 100%;
}

.bg-membership-discount-row .bg-cart-col-qty {
	background: linear-gradient(145deg, #3fbb3b, #2cc927, #649539) !important;
	border-radius: 5px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	color: #fff !important;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
    width: 100%;
}

.bg-membership-fee-row .bg-cart-col-label {
    color: #f5d67a !important;
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
}

.bg-membership-fee-row .bg-price-display {
    color: #f5d67a !important;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.4);
}

.bg-membership-discount-row {
	background: rgba(34, 139, 34, 0.15) !important;
	border: 1px solid rgba(34, 139, 34, 0.3);
	border-radius: 8px;
	margin: 10px auto;
	padding: 5px 0;
	width: 80%;
    grid-template-columns: 2fr 1fr 1fr;
	box-shadow: 0px 0px 15px rgba(67, 212, 55, 0.31), inset 0 0 5px rgba(255, 255, 255, 0.36);
}

.bg-membership-discount-row .bg-price-display {
    color: #90EE90;
}

.bg-cart-Omaggio-row {
    background: linear-gradient(145deg, #0a1a0a 0%, #1a2e1a 50%, #0a1a0a 100%) !important;
    border: 2px solid #4CAF50 !important;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(76, 175, 80, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    margin: 10px auto;
    padding: 8px 0;
    width: 600px;
    grid-template-columns: 2fr 1fr 1fr;
}

.bg-cart-Omaggio-row .bg-cart-col-label {
    color: #90EE90 !important;
    text-shadow: 0 0 8px rgba(76, 175, 80, 0.4);
}

.bg-cart-Omaggio-row .bg-cart-col-qty {
    background: linear-gradient(145deg, #4CAF50, #43A047, #388E3C) !important;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #fff !important;
    font-weight: bold;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.bg-cart-Omaggio-row .bg-price-display {
color: #90EE90 !important;
text-shadow: 0 0 6px rgba(76, 175, 80, 0.4);
}

.bg-cart-Omaggio-row .bg-price-Omaggio {
font-style: italic;
}

.bg-cart-Omaggio-row .bg-cart-col-price {
display: none !important;
}

.bg-modify-Omaggio-row {
background: linear-gradient(145deg, #0a1a0a 0%, #1a2e1a 50%, #0a1a0a 100%) !important;
border: 2px solid #4CAF50 !important;
border-radius: 8px;
padding: 12px 10px;
margin-top: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
align-items: center;
}

.bg-modify-Omaggio-row .bg-modify-col-label {
color: #90EE90 !important;
text-shadow: 0 0 8px rgba(76, 175, 80, 0.4);
}

.bg-modify-Omaggio-row .bg-modify-controls {
justify-content: center;
gap: 10px;
}

.bg-modify-Omaggio-row .bg-Omaggio-count {
display: inline-block;
min-width: 48px;
text-align: center;
background: linear-gradient(145deg, #4CAF50, #43A047, #388E3C) !important;
color: #fff;
padding: 8px 12px;
border-radius: 6px;
font-weight: 700;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.bg-modify-Omaggio-row .bg-Omaggio-input {
display: none;
}

.bg-modify-Omaggio-row .bg-multiply,
.bg-modify-Omaggio-row .bg-price-display,
.bg-modify-Omaggio-row .bg-price-Omaggio {
display: none !important;
}

.bg-user-discount-row {
background: linear-gradient(145deg, #0d2818 0%, #1a4d2e 50%, #0f3d1f 100%) !important;
border: 1px solid transparent !important;
border-image: linear-gradient(145deg, #2ecc71, #58d68d, #27ae60, #1e8449) 1 !important;
border-radius: 8px;
box-shadow: 0 0 15px rgba(46, 204, 113, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.03);
margin-bottom: 10px;
padding: 15px 0;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(46, 204, 113, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    margin-bottom: 10px;
    padding: 15px 0;
}

.bg-user-discount-row td {
    background: transparent !important;
    font-style: italic;
}

.bg-user-discount-row .bg-cart-col-qty {
    background: linear-gradient(145deg, #2ecc71, #27ae60, #1e8449) !important;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #fff !important;
    font-weight: bold;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.bg-user-discount-row .bg-cart-col-label {
    color: #7dcea0 !important;
    text-shadow: 0 0 8px rgba(46, 204, 113, 0.3);
}

.bg-user-discount-row .bg-cart-col-price {
    background: rgba(46, 204, 113, 0.15) !important;
    border-radius: 5px;
}

.bg-user-discount-row .bg-price-display {
    color: #7dcea0 !important;
    text-shadow: 0 0 6px rgba(46, 204, 113, 0.4);
}

.bg-cart-separator {
    border-top: 1px dashed #555;
    margin: 15px 0;
    padding-top: 15px;
}

.bg-qty-label {
    font-size: 1.0em;
    font-weight: bold;
}

.bg-membership-icon,
.bg-discount-icon {
    font-size: 1.2em;
    margin: 0px -3px 0px 0px;;
}

.bg_cart .wp-post-image {
    float: left;
    margin: 30px 30px;
    border-radius: 4px;
    max-width: 500px;
    width: 150%;
}

.bg_cart tr.removed {
    display: none;
}

.bg_payment_methods {
    display: flex;
    gap: 20px;
    margin: 30px 0;
}

.bg_payment_method {
    flex: 1;
    padding: 20px;
    border: 2px solid #444;
    border-radius: 8px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bg_payment_method:hover {
    border-color: #f19300;
    background: #2a2a2a;
    transform: translateY(-2px);
}

.bg_payment_method.active {
    border-color: #f19300;
    background: #373737;
    box-shadow: 0 0 10px rgba(241, 147, 0, 0.3);
}

.bg_payment_method.bottega {
    background-color: #666;
    color: white;
}

.bg_payment_method.paypal {
    background-color: #0070ba;
    color: white;
}

/* ============================================================================
 * BOTTONI SELEZIONE METODO DI PAGAMENTO
 * ============================================================================ */

.payment-method-title {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

.gateway-selector {
    margin: 20px 0;
}

.gateway-selector ul {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gateway-selector ul li {
    flex: 1;
    min-width: 200px;
}

.gateway-selector ul li a {
    align-items: center;
    background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
    border: 2px solid #444;
    border-radius: 10px;
    color: #fff;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
    padding: 18px 25px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.gateway-selector ul li a:hover {
    background: linear-gradient(145deg, #3a3a3a, #2a2a2a);
    border-color: #f19300;
    box-shadow: 0 4px 15px rgba(241, 147, 0, 0.2);
    transform: translateY(-2px);
}

.gateway-selector ul li:not(.active) a {
    background: linear-gradient(145deg, #555, #333) !important;
    border-color: #666 !important;
    color: #aaa !important;
    box-shadow: none !important;
}

.gateway-selector ul li:not(.active) a:hover {
    background: linear-gradient(145deg, #666, #444) !important;
    border-color: #888 !important;
    color: #fff !important;
}

.gateway-selector ul li.active a[data-assign="paypal"] {
    background: linear-gradient(145deg, #0085db, #0070ba) !important;
    border-color: #0070ba !important;
    box-shadow: 0 4px 20px rgba(0, 112, 186, 0.5) !important;
    color: #fff !important;
}

.gateway-selector ul li.active a[data-assign="offline"] {
    background: linear-gradient(145deg, #f19300, #d98300) !important;
    border-color: #f19300 !important;
    box-shadow: 0 4px 20px rgba(241, 147, 0, 0.5) !important;
    color: #fff !important;
}

/* ============================================================================
 * CLASSI NON UTILIZZATE - Commentate il 2025-01-07
 * ============================================================================ */

/* .cart_empty {
    width: 80%;
    margin: auto;
    text-align: center;
    font-size: 25px;
}

.ticket_type_message {
    display: none;
} */

.bg_cart_form label,
.box_posti_vicino label,
.box_promo label,
.box_additional label,
.bg-extra-field label {
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
    color: #ddd;
}

#bg_promo {
    width: 200px;
}

.bg_cart_form input[type="text"] {
    background-color: #fff;
    border: 1px solid #444;
    border-radius: 6px;
    color: #000000;
    font-size: 16px;
    max-width: 95%;
    padding: 12px;
    transition: border-color 0.3s ease;
    width: 100%;
}

.bg_cart_form input[type="text"]:focus,
.bg_cart_form input[type="email"]:focus {
    border-color: #f19300;
    box-shadow: 0 0 5px rgba(241, 147, 0, 0.5);
    outline: none;
}

#bg_additional,
#bg_additional_modify,
.bg-extra-field textarea {
    background-color: #fff;
    border: 1px solid #444;
    border-radius: 6px;
    box-sizing: border-box;
    color: #000000;
    font-size: 16px;
    padding: 12px;
    resize: vertical;
    transition: border-color 0.3s ease;
    width: 100%;
    max-width: 95%;
}

#bg_additional:focus,
#bg_additional_modify:focus,
.bg-extra-field textarea:focus {
    border-color: #f19300;
    box-shadow: 0 0 5px rgba(241, 147, 0, 0.5);
    outline: none;
}

.bg_cart_form input[type="submit"] {
    background: linear-gradient(145deg, #22c55e, #16a34a);
    border: none;
    border-radius: 6px;
    color: white;
    cursor: pointer;
    font-size: 25px;
    margin-top: 15px;
    max-width: 450px;
    padding: 20px 25px;
    transition: all 0.3s ease;
    width: 100%;
    box-shadow: 0 4px 15px rgba(34, 197, 94, 0.3);
}

.bg_cart_form input[type="submit"]:hover {
    background: linear-gradient(145deg, #16a34a, #15803d);
    box-shadow: 0 6px 20px rgba(34, 197, 94, 0.4);
    transform: translateY(-2px);
}

.bg_cart_form input[type="submit"].waiting {
    background: #cccccc;
    border: 1px solid #aaaaaa;
    box-shadow: none;
    color: #777777;
    cursor: wait;
    opacity: 0.9;
    pointer-events: none;
    transform: none;
}

input[name="bg_submit"]:disabled {
    cursor: text;
    opacity: .5;
}

.box_posti_vicino p,
.box_additional p {
    display: block;
    margin: 0 0 10px 0;
    color: #ddd;
}

.bg_cart_form .box-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    width: 100%;
    margin: 30px 0;
}

/* Wrapper campi extra (template condiviso block-extra-fields.php) */
.bg-extra-fields-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    margin: 20px 0;
}

.bg-extra-fields-wrapper .bg-extra-field {
    background: #373737;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    box-sizing: border-box;
    flex: 1;
    min-width: 250px;
    padding: 20px;
}

.bg-extra-fields-wrapper .bg-extra-field label {
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
    color: #ddd;
}

.bg-extra-fields-wrapper .bg-extra-field input[type="text"],
.bg-extra-fields-wrapper .bg-extra-field textarea {
    background-color: #fff;
    border: 1px solid #444;
    border-radius: 6px;
    box-sizing: border-box;
    color: #000;
    font-size: 16px;
    padding: 12px;
    width: 100%;
    max-width: 95%;
}

.bg-extra-fields-wrapper .bg-extra-field input[type="text"]:focus,
.bg-extra-fields-wrapper .bg-extra-field textarea:focus {
    border-color: #f19300;
    box-shadow: 0 0 5px rgba(241, 147, 0, 0.5);
    outline: none;
}

.box_posti_vicino,
.box_additional {
    background: #373737;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    box-sizing: border-box;
    flex: 0 0 calc(50% - 10px);
    margin: 0;
    max-width: calc(50% - 10px);
    padding: 20px;
}

/* Colonna Gettoni + Codice Sconto (stacked) */
.bg-column-tokens-promo {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.bg-column-tokens-promo .bg-discount-field {
    background: #373737;
    border-radius: 8px;
    padding: 15px 20px;
}

/* Box Codice Promo (template block-promo-code.php) - COLORI ORIGINALI */
.bg-promo-box {
    background: #d4d4d4;
    border-radius: 5px;
    padding: 15px 20px;
    text-align: center;
}

.bg-promo-box .bg-promo-intro {
    display: block !important;
    color: #555;
    font-size: 0.9em;
    margin: 0 0 12px 0;
    font-style: italic;
    line-height: 1.4 !important;
    height: auto !important;
}

.bg-promo-box .bg-promo-input-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.bg-promo-box label {
    color: #000;
    font-weight: 900;
}

.bg-promo-box input[type="text"] {
    background-color: #fff;
    border: 1px solid #444;
    border-radius: 6px;
    box-sizing: border-box;
    color: #000;
    font-size: 16px;
    max-width: 200px;
    padding: 12px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.bg-promo-box input[type="text"]:focus {
    border-color: #f19300;
    box-shadow: 0 0 5px rgba(241, 147, 0, 0.5);
    outline: none;
}

.bg-promo-box .bg-promo-message {
    color: #22b2ee;
    font-size: 0.95em;
    margin-top: 10px;
    min-height: 20px;
}

.bg-promo-box .bg-promo-message.success,
.bg-promo-box .bg-promo-message:not(:empty) {
    color: #22b2ee;
}

.bg-promo-box .bg-promo-message.error {
    color: #ef4444;
}

/* Wrapper per il box codice sconto quando è da solo (senza sistema fidelizzazione) */
.bg-promo-only-wrapper {
    display: block;
    margin: 15px 0;
    width: 100%;
}

.bg-promo-only-wrapper .bg-promo-box {
    margin: 0 auto;
    max-width: 100%;
    padding: 25px 40px;
    
}

/* Box Totale Biglietti (template block-cart-total.php) - COLORI ORIGINALI */
.bg-cart-total-wrapper {
    background: #d4d4d4;
    border-radius: 5px;
    border-top: 1px solid #eee;
    margin-top: 15px;
    padding: 15px 20px;
}

.bg-cart-total-wrapper .bg_cart_total {
    color: #000;
    font-size: 1.2em;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.bg-cart-total-wrapper .bg_total_number {
    color: #22b2ee;
    font-size: 1.3em;
    font-weight: 700;
}

/* Numero biglietti: stessa evidenza del prezzo */
#bg_total_tickets {
    color: #22b2ee;
    font-size: 1.3em;
    font-weight: 700;
}

.bg-cart-total-wrapper .bg-total-tickets-label,
.bg-cart-total-wrapper .bg-total-price-label {
    font-weight: 700;
    color: #000;
}

.bg-cart-total-wrapper .bg-total-separator {
    margin: 0 6px;
}

/* Layout due colonne per modifica prenotazione */
.bg-cart-total-wrapper.bg-modify-total .bg-total-columns {
    display: flex;
    gap: 30px;
    justify-content: center;
}

.bg-cart-total-wrapper .bg-total-col {
    flex: 1;
    max-width: 200px;
    text-align: center;
}

.bg-cart-total-wrapper .bg-total-label {
    display: block;
    font-size: 0.9em;
    margin-bottom: 5px;
    opacity: 0.8;
}

.bg-cart-total-wrapper .bg-total-old .bg-total-value {
    color: #888;
    text-decoration: line-through;
}

.bg-cart-total-wrapper .bg-total-new .bg_total_number {
    color: #4ade80;
    font-size: 1.3em;
    font-weight: 700;
}

/* Layout tabella per modifica prenotazione (Precedente / Nuovo) */
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table {
    width: 100%;
    border-collapse: collapse;
    color: #000;
    text-align: center;
}

.bg-cart-total-wrapper.bg-modify-total .bg-totals-table thead th {
    background: rgba(255, 255, 255, 0.35);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.95em;
    letter-spacing: 0.5px;
    padding: 12px 10px;
    border-bottom: 1px solid #c6c6c6;
}

.bg-cart-total-wrapper.bg-modify-total .bg-totals-table tbody th,
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table tbody td {
    padding: 14px 12px;
    border-top: 1px solid #dcdcdc;
}

.bg-cart-total-wrapper.bg-modify-total .bg-totals-table th:first-child,
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table td:first-child {
    text-align: left;
    font-weight: 600;
}

/* Linea divisoria tra colonne Precedente/Nuovo */
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table th:nth-child(2),
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table th:nth-child(3),
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table td:nth-child(2),
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table td:nth-child(3) {
    text-align: center;
}

.bg-cart-total-wrapper.bg-modify-total .bg-totals-table th:nth-child(3),
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table td:nth-child(3) {
    border-left: 1px solid #c6c6c6;
}

/* Precedente: testo più piccolo e grigio */
.bg-cart-total-wrapper.bg-modify-total .bg-totals-table td:nth-child(2) {
    font-size: 0.9em;
    color: #666;
}

/* Badge per prezzo precedente barrato */
.bg-cart-total-wrapper .bg-totale-attuale {
    display: inline-block;
    padding: 6px 10px;
    background: #bdbdbd;
    color: #3f3f3f;
    text-decoration: line-through;
    border-radius: 6px;
    font-weight: 700;
}

/* Prezzo nuovo evidenziato */
.bg-cart-total-wrapper .bg-totale-nuovo {
    color: #22b2ee;
    font-size: 22px;
    font-weight: bold;
}

/* Layout tre colonne per modifica (RIEPILOGO / ATTUALE / NUOVO) */
.bg-cart-total-wrapper .bg-totals-header,
.bg-cart-total-wrapper .bg-totals-row {
    color: #000;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
    padding: 10px 0;
}

.bg-cart-total-wrapper .bg-totals-header {
    border-bottom: 1px solid #999;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85em;
}

.bg-cart-total-wrapper .bg-totals-col-label {
    text-align: left;
}

.bg-cart-total-wrapper .bg-totals-col-attuale,
.bg-cart-total-wrapper .bg-totals-col-nuovo {
    text-align: center;
}

.bg-cart-total-wrapper .bg-totale-attuale {
    color: #666;
    text-decoration: line-through;
}

.bg-cart-total-wrapper .bg-totale-nuovo {
    color: #22b2ee;
    font-size: 22px;
    font-weight: bold;
}

.promo-container {
    display: flex;
    gap: 10px;
    align-items: center;
}

#bg_verify_promo {
    background-color: #444;
    color: #fff;
    border: none;
    padding: 12px 20px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#bg_verify_promo:hover {
    background-color: #f19300;
}

.bg_submit {
    margin: 1em 0;
    text-align: center;
}

/* ============================================================================
 * SELETTORI GATEWAY - Commentati il 2025-01-07
 * Questi stili sono per il vecchio selettore di gateway.
 * Potrebbero essere ancora utilizzati in alcuni contesti legacy.
 * ============================================================================ */

/* .gateway-selector ul {
    display: flex;
    gap: 15px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gateway-selector .active {
    background: rgba(0, 0, 0, .001);
    font-weight: 700;
}

.gateway-selector .active a {
    cursor: text;
    text-decoration: none;
}

.gateway-selector li a {
    border: 2px solid #ddd;
    border-radius: 6px;
    color: #666;
    display: block;
    font-size: 16px;
    line-height: 40px;
    padding: 0;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 250px;
}

.gateway-selector li a:hover {
    border-color: #2271b1;
    color: #2271b1;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.gateway-selector li.active a {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff !important;
}

.gateway-selector a {
    color: #737373 !important;
    background: #515151 ;
    padding: 10px;
    border-radius: 4px;
} */

/* ============================================================================
 * CLASSI LEGACY CARRELLO TABELLA - Commentate il 2025-01-07
 * Queste classi appartengono al vecchio sistema a tabella.
 * Il nuovo sistema usa .bg-cart-modern con layout grid/flex.
 * ============================================================================ */

/* .bg_cart tr.removed {
    display: none;
}

.amm_pag {
    text-align: center;
    margin-top: 60px;
} */

.bg-cart-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 15px;
}

.bg-cart-buttons a.button,
.bg-cart-buttons .bg-clear-cart-button,
.bg-cart-buttons .button.bg-goto-cart-button,
.bg-cart-buttons .bg-goto-cart-button {
    flex: 1;
    min-width: 140px;
    max-width: 200px;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bg-cart-buttons a.button:hover,
.bg-cart-buttons .bg-clear-cart-button:hover,
.bg-cart-buttons .button.bg-goto-cart-button:hover,
.bg-cart-buttons .bg-goto-cart-button:hover {
    transform: translateY(-1px);
}

.bg-cart-buttons a.button:active,
.bg-cart-buttons .bg-clear-cart-button:active,
.bg-cart-buttons .button.bg-goto-cart-button:active,
.bg-cart-buttons .bg-goto-cart-button:active {
    transform: translateY(1px);
}

.bg-cart-buttons a.button {
    background-color: #4a90e2;
    color: #fff;
}

.bg-cart-buttons a.button:hover {
    background-color: #357abd;
}

.bg-cart-buttons .bg-clear-cart-button {
    background-color: #800900;
    color: #fff;
}

.bg-cart-buttons .bg-clear-cart-button:hover {
    background-color: #800900;
}

.bg-cart-buttons .button.bg-goto-cart-button {
    background-color: #9e9c9b;
    color: #202020;
}

.bg-cart-buttons .button.bg-goto-cart-button:hover {
    background-color: #444444;
    color: #e0e0e0;
}

.bg-cart-buttons .bg-goto-cart-button {
    background-color: #4a90e2;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.bg-cart-buttons .bg-goto-cart-button:hover {
    background-color: #357abd;
}

.bg-clear-cart-form {
    margin: 0;
    padding: 0;
    flex: 1;
    min-width: 140px;
    max-width: 200px;
}

.bg-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.bg-controls button {
    width: 35px;
    height: 35px;
    font-size: 18px;
    background-color: #444;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bg-controls button:hover {
    background-color: #f19300;
}

.bg-quantity {
    font-size: 18px;
    font-weight: bold;
    min-width: 30px;
    text-align: center;
}

.bg-item-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.bg-item-date {
    color: #aaa;
    font-size: 14px;
    margin-bottom: 10px;
}

.bg-original-price {
    text-decoration: line-through;
    color: #aaa;
    margin-right: 10px;
}

.bg-discounted-price {
    color: #f19300;
    font-weight: bold;
}

.bg_cart_total {
    text-align: right;
    font-weight: 700;
    padding: .25em 5px;
    font-size: 1.2em;
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: black;
}

.bg_cart_total table {
    margin: 0;
    width: 100%;
}

.bg_cart_total th,
.bg_cart_total td {
    padding: 12px;
    text-align: right;
}

.bg_cart_total tr:last-child {
    border-top: 2px solid #444;
    font-size: 20px;
}

.bg_cart_total tr:last-child .bg_total_number {
    font-size: 24px;
}

.bg_total_number {
    color: #22b2ee;
    font-weight: bold;
    font-size: 22px;
}

.bg_cart_label {
    text-align: right;
    font-size: 1.1em;
}

.bg_ticket_handling {
    text-align: right;
    font-size: 1.1em;
}

.bg_cart_handling {
    font-size: 1.1em;
    text-align: right;
}

.bg_cart_savings {
    color: #f00;
    font-size: 18px;
    font-weight: bold;
}

.bg-cart-total {
    font-size: 1.3em;
    font-weight: bold;
    color: #800900;
    margin-bottom: 10px;
}

.bg-cart-error {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    padding: 24px;
    max-width: 400px;
    margin: 20px auto;
    text-align: center;
}

.bg-cart-error p {
    color: #fff;
    background-color: #800900;
    padding: 12px;
    margin: -25px -24px -8px -24px;
    border-radius: 8px 8px 0 0;
    font-size: 18px;
    line-height: 1.2;
}

.bg-error-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 600px;
    width: 90%;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    z-index: 10000;
    overflow: hidden;
    text-align: center;
}

.bg-error-popup-header {
    background-color: #c0392b;
    color: white;
    padding: 12px 15px;
    font-weight: bold;
    position: relative;
    text-align: center;
}

.bg-error-popup-title {
    margin: 0;
    padding: 0;
    line-height: 1.2;
    font-size: 1.3em;
}

.bg-error-popup-content {
    padding: 25px;
    line-height: 1.6;
    color: #333;
    text-align: center;
}

.bg-error-popup-content p {
    margin-bottom: 15px;
    font-size: 1.1em;
}

.bg-error-popup-content strong {
    font-weight: bold;
    color: #c0392b;
}

.bg-error-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.6);
    z-index: 9999;
    display: none;
}

.bg-error-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.bg-error-popup-close:hover {
    opacity: 1;
}

.bg-event-date {
    color: #cccccc;
    font-size: 0.9em;
    margin-bottom: 10px;
}

.bg-payment-retry-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 600px;
    margin: 40px auto;
    padding: 40px 20px;
    text-align: center;
}

.bg-payment-retry-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.bg-payment-retry-icon {
    font-size: 80px;
    margin-bottom: 20px;
}

.bg-payment-retry-header h1 {
    color: #ff9800;
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 10px;
}

.bg-payment-retry-content {
    color: #ddd;
    line-height: 1.6;
}

.bg-payment-retry-subtitle {
    color: #ffb74d;
    font-size: 18px;
    font-weight: 600;
    margin: 6px 0 10px;
    text-align: center;
}

.bg-payment-retry-content .bg-payment-retry-main,
.bg-payment-retry-content p {
    text-align: center;
}

.bg-payment-retry-content p {
    margin: 8px 0;
}

.bg-payment-retry-main {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

.bg-payment-retry-options {
    background: #1f1f1f;
    border-left: 4px solid #ff9800;
    border-radius: 8px;
    margin: 20px 0;
    padding: 20px;
}

.bg-payment-retry-options h3 {
    color: #ff9800;
    font-size: 18px;
    margin: 0 0 15px;
}

.bg-payment-retry-options ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bg-payment-retry-options li {
    border-bottom: 1px solid #333;
    padding: 12px 0;
}

.bg-payment-retry-options li:last-child {
    border-bottom: none;
}

.bg-payment-retry-options a {
    color: #4caf50;
    text-decoration: underline;
}

.bg-payment-retry-options a:hover {
    color: #66bb6a;
}

.bg-payment-retry-actions {
    margin-top: 30px;
    text-align: center;
}

.bg-payment-retry-actions .button,
.bg-payment-retry-actions .bg-button-primary {
    background: #4caf50;
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    padding: 12px 30px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.bg-payment-retry-actions .button:hover,
.bg-payment-retry-actions .bg-button-primary:hover {
    background: #66bb6a;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
    transform: translateY(-2px);
}

.bg-membership-row-content {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 15px 20px;
    width: 100%;
}

.bg-membership-label {
    align-items: center;
    display: flex;
    flex: 1;
    gap: 8px;
}

.bg-membership-icon {
    font-size: 1.2em;
}

.bg-membership-discount-row .bg-membership-text {
    color:#00ff61;
}

.bg-membership-price {
    color: #667eea;
    font-size: 1em;
    font-weight: 600;
    margin-left: auto;
    min-width: 80px;
    text-align: right;
}

.bg-membership-price.bg-membership-discount {
    color: #22c55e;
}

.bg_cart .bg-inherited-referral-row,
.bg_cart tr.bg-inherited-referral-row,
.bg-cart-table .bg-inherited-referral-row,
table.bg-cart-table .bg-inherited-referral-row {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.bg_cart .bg-inherited-referral-row td,
.bg_cart tr.bg-inherited-referral-row td,
.bg-cart-table .bg-inherited-referral-row td {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.bg-tokens-discounts-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 15px 0;
}

.bg-tokens-discounts-row > .bg-tokens-section {
    flex: 1;
    margin: 0;
}

.bg-tokens-discounts-row > .bg-total-discounts-summary {
    flex: 1;
    margin: 0;
}

.bg-total-discounts-summary {
    background: linear-gradient(135deg, #1a472a 0%, #2d5a3d 100%);
    border: 1px solid #3a7a4a;
    border-radius: 8px;
    color: #fff;
    margin: 15px 0;
    padding: 15px 20px;
}

.bg-discount-summary-header {
    align-items: center;
    color: #a8d8b8;
    display: flex;
    font-size: 18px;
    font-weight: 600;
    gap: 10px;
    justify-content: center;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    text-align: center;
    text-transform: uppercase;
}

.bg-discount-summary-icon {
    font-size: 22px;
}

.bg-discount-summary-items {
    margin-bottom: 12px;
}

.bg-discount-item {
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
}

.bg-discount-item:last-child,
.bg-discount-summary-item:last-child {
    border-bottom: none;
}

.bg-discount-item-label,
.bg-discount-label {
    color: #d0e8d8;
    font-size: 14px;
}

.bg-discount-item-value,
.bg-discount-value {
    color: #7cfc00;
    font-size: 15px;
    font-weight: 600;
}

.bg-discount-summary-item {
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex;
    gap: 15px;
    justify-content: space-between;
    padding: 8px 0;
}

.bg-discount-summary-item .bg-discount-value {
    margin-left: 10px;
}

.bg-discount-summary-final {
    align-items: center;
    border-top: 2px solid rgba(255,255,255,0.2);
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    padding-top: 12px;
}

.bg-final-total-label {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.bg-final-total-value {
    color: #7cfc00;
    font-size: 20px;
    font-weight: 700;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes fadeInOut {
    0% { opacity: 0.7; }
    50% { opacity: 1; }
    100% { opacity: 0.7; }
}

.bg-countdown-timer {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin: 20px auto;
    max-width: 250px;
    padding: 15px;
    text-align: center;
}

.bg-countdown-timer .time {
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    color: #c0392b;
    display: block;
    font-family: 'Courier New', monospace;
    font-size: 42px;
    font-weight: bold;
    line-height: 1;
    padding: 10px 5px;
}

.amm_pag {
	text-align: center;
	margin: 90px 0 0 0;
}

.bg-countdown-timer .time.pulse {
    animation: pulse 0.2s ease-in-out;
}

.bg-countdown-timer .time.time-ending {
    color: #ff0000;
    font-weight: bolder;
}

.bg-countdown-timer .time:contains("Tempo scaduto") {
    animation: fadeInOut 1.5s infinite;
    color: #009900;
}

.timer-label {
    color: #555;
    font-size: 1em;
    margin-bottom: 5px;
}

.bg-modify-Omaggio-row .bg-modify-controls {
    justify-content: center;
}

.bg-modify-Omaggio-row .bg-omaggio-readonly {
    text-align: center;
    background: #e9e9e9;
    border: 1px solid #ccc;
    border-radius: 4px;
    pointer-events: none;
}

.bg-update-buttons {
    display: flex;
    justify-content: flex-end;
}

.bg-update-buttons button {
    align-items: center;
    background-color: #444444;
    border: none;
    border-radius: 4px;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: bold;
    height: 45px;
    justify-content: center;
    margin-left: 8px;
    transition: background-color 0.2s ease;
    width: 45px;
}

.bg-update-buttons button.remove {
    align-self: center;
    background-color: #c93030;
    font-size: 14px;
    height: 25px;
    margin-left: 15px;
    position: relative;
    top: 0;
    width: 25px;
}

.bg-update-buttons button.more {
    background-color: #22b2ee;
}

.bg-update-buttons button.less {
    background-color: #67696a;
}

.bg-update-buttons button:hover {
    filter: brightness(1.2);
}

.bg-ticket-details .price {
    align-items: baseline;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

.original-price {
    color: #999999;
    font-size: 0.9em;
    margin-right: 0;
    text-decoration: line-through;
}

.discounted-price {
    color: #ff9900;
    font-weight: bold;
}

.bg_purchase_path {
    margin-bottom: 1em;
}

.bg_purchase_path span {
    background: rgba(255,255,255,.1);
    display: inline-block;
    padding: .5em 0;
    text-align: center;
    width: 33.33333333%;
}

.bg_purchase_path .inactive {
    background: rgba(0,0,0,.3);
}

.bg_purchase_path .active {
    background: rgba(0,0,0,.1);
}

.return-to-cart {
    margin: auto;
    width: 80%;
}

p.return-to-cart a {
    background-color: #890505;
    border: 1px solid #ffffff;
    border-radius: 4px;
    color: #FFFFFF;
    cursor: pointer;
    display: inline-block;
    font-family: sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.2;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.bg-cart-footer {
    background: #d4d4d4;
    border-radius: 5px;
    border-top: 1px solid #eee;
    margin-top: 10px;
    padding: 5px 15px;
    text-align: right;
}

.bg-discount-field {
    align-items: center;
    display: flex;
    gap: 10px;
}

.bg-discount-field label {
    color: #000 !important;
    display: block;
    font-weight: 900 !important;
    margin: 0;
}

#bg_posti_vicino::placeholder,
#bg_additional::placeholder {
    color: #999 !important;
    opacity: 1;
}

#bg_posti_vicino,
#bg_additional {
    color: #333 !important;
}

.transaction-purchase.panel {
    margin: 50px auto;
    width: 80%;
}

#progression-studios-page-title-container {
    padding-bottom: 20px !important;
    padding-top: 20px !important;
}

#page-title-pro {
    margin: 0 !important;
}

.bg-rewards-level-row {
    box-sizing: border-box !important;
    margin: 0 0 20px 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}

.bg-rewards-level-row > .sm-cart-loyalty-message,
.bg-rewards-level-row > .bg-level-discount-section {
    box-sizing: border-box !important;
    margin: 0 !important;
}

.bg-rewards-level-row > .bg-level-discount-section {
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Layout tre colonne uguali per Bonus/Gettoni+Promo/Sconti */
.bg-tokens-discounts-row.bg-three-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.bg-tokens-discounts-row.bg-three-columns > .bg-level-discount-section,
.bg-tokens-discounts-row.bg-three-columns > .bg-tokens-section,
.bg-tokens-discounts-row.bg-three-columns > .bg-column-tokens-promo,
.bg-tokens-discounts-row.bg-three-columns > .bg-total-discounts-summary {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    min-width: 0;
}

/* Colonna centrale con gettoni + promo impilati */
.bg-column-tokens-promo {
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
}

.bg-column-tokens-promo > * {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Box interni che si espandono in altezza */
.bg-level-discount-section,
.bg-total-discounts-summary {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bg-level-discount-section > *:last-child,
.bg-total-discounts-summary > *:last-child {
    flex: 1;
}

.bg-level-discount-inactive,
.bg-tokens-inactive {
    opacity: 0.85;
}

.bg-level-discount-message.no-discount,
.bg-tokens-message.no-tokens,
.bg-discount-summary-empty {
    color: #999;
    font-size: 13px;
    font-style: italic;
    line-height: 1.4;
    padding: 10px;
    text-align: center;
}

/* ============================================================================
 * CLASSI CARRELLO TABELLA LEGACY - Commentate il 2025-01-07
 * Queste classi appartengono al vecchio sistema a tabella .bg-cart-table.
 * Il nuovo sistema usa .bg-cart-modern con layout grid/flex.
 * Mantiene solo .bg-cart-table per compatibilità in contesti admin.
 * ============================================================================ */

/* .bg-cart-table {
    border-collapse: collapse;
    margin-bottom: 20px;
    width: 100%;
}

.bg-cart-table thead {
    display: none;
}

.bg-event-row {
    background-color: #333333;
    border-bottom: 2px solid #444444;
    transition: background-color 0.3s ease;
}

.bg-event-row:hover {
    background-color: #3a3a3a;
}

.bg-event-info {
    padding: 15px;
    position: relative;
}

.bg-event-main {
    align-items: flex-start;
    display: flex;
    margin-bottom: 15px;
}

.bg-event-image {
    flex: 0 0 80px;
    margin-right: 15px;
}

.bg-event-image img {
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    height: auto;
    max-width: 100%;
}

.bg-event-details {
    flex: 1;
}

.bg-event-title {
    color: #f19300;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 5px;
}

.bg-tickets-container {
    border-top: 1px solid #444444;
    margin-left: 95px;
    padding-top: 10px;
    width: calc(100% - 95px);
}

.bg-ticket-row {
    align-items: center;
    border-bottom: 1px dotted #444444;
    display: flex;
    padding: 8px 0;
}

.bg-ticket-row:last-child {
    border-bottom: none;
}

.bg-ticket-type {
    flex: 0 0 25%;
    font-size: 0.95em;
}

.bg-ticket-details {
    color: #dddddd;
    flex: 1;
}

.bg-ticket-buttons {
    flex: 0 0 120px;
    text-align: right;
} */

/* ============================================================================
 * STILI FORM ACQUISTO BIGLIETTI (da bg-button.php)
 * ============================================================================ */

/* Prezzo originale barrato (sconto a tempo) */
.bg-price-original-strike-inline {
    font-size: 0.8em;
    opacity: 0.5;
    text-decoration: line-through;
}

/* Prezzo scontato evidenziato */
.bg-price-discounted-inline {
    color: #ff6b35;
    font-size: 1.0em;
    font-weight: bold;
}

/* Messaggio promo inline (dentro la colonna prezzo, sotto il prezzo) */
.bg-time-discount-notice-inline {
    color: #10b981;
    flex-basis: 100%;
    font-size: 0.75em;
    font-style: italic;
    margin-top: -15px;
}

/* =====================================================================
   DESTINATARI BIGLIETTI
   ===================================================================== */
.bg-ticket-recipients {
    font-size: 12px;
    color: #999;
    font-style: italic;
    margin-top: 2px;
    line-height: 1.3;
}

/* ============================================================================
 * CLASSI PAGINA PRODOTTO
 * Queste classi sono per la pagina prodotto semplificata (bg-button.php).
 * ============================================================================ */

.bg-order-simplified {
    background: #1a1a1a;
    border-radius: 8px;
    padding: 20px;
}

.bg-tickets-section {
    color: #fff;
}

.bg-tickets-title {
    font-size: 1.4em;
    margin: 0 0 8px 0;
    color: #f19300;
    font-weight: bold;
    text-align: center;
}

.bg-tickets-description {
    font-size: 0.9em;
    color: #aaa;
    margin: 0 0 20px 0;
    font-style: italic;
    text-align: center;
}

.bg-tickets-cta-note {
    text-align: center;
    font-weight: 600;
    color: #f19300;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 10px 0 15px;
}

.bg-tickets-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.bg-ticket-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #2a2a2a;
    border-radius: 6px;
    padding: 15px;
    border-left: 4px solid #f19300;
}

.bg-ticket-item.bg-sold-out {
    opacity: 0.6;
    border-left-color: #666;
}

.bg-ticket-label {
    flex: 1;
    font-weight: bold;
    font-size: 1.1em;
    color: #fff;
    min-width: 150px;
}

.bg-ticket-price {
    font-size: 1.2em;
    font-weight: bold;
    color: #f19300;
    margin-left: auto;
    padding-left: 15px;
}

.bg-ticket-item .bg-ticket-recipients {
    flex-basis: 100%;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #3a3a3a;
    color: #888;
}

.bg-ticket-status.bg-esaurito {
    background: #dc3545;
    color: #fff;
    font-size: 0.75em;
    padding: 3px 8px;
    border-radius: 4px;
    margin-left: 10px;
    text-transform: uppercase;
    font-weight: bold;
}

.bg-simple-form {
    text-align: center;
    margin-top: 15px;
}

.bg-buy-button {
    background: #f19300;
    color: #fff;
    border: none;
    padding: 15px 40px;
    font-size: 1.1em;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}

.bg-buy-button:hover {
    background: #d98200;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(241, 147, 0, 0.4);
}

.bg-buy-button .bg-processing {
    display: none;
    margin-left: 10px;
}

.bg-buy-button .bg-processing img {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

/* ============================================================================
 * MEMBERSHIP BOXES - Layout affiancato fuori dal carrello
 * ============================================================================ */
.bg-membership-boxes-wrapper {
    display: flex;
    gap: 15px;
    margin: 15px 0;
    width: 100%;
    display: none;
}

.bg-membership-box {
    align-items: center;
    border-radius: 8px;
    display: flex;
    flex: 1;
    gap: 10px;
    justify-content: center;
    padding: 15px 20px;
}

/* Box Tessera - Colori oro/giallo */
.bg-membership-fee-box {
    background: linear-gradient(145deg, #1a1a1a 0%, #0a0a0a 50%, #151515 100%);
    border: 2px solid transparent;
    border-image: linear-gradient(145deg, #d4af37, #f5d67a, #c9a227, #a8860a) 1;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.bg-membership-fee-box .bg-membership-text {
    color: #f5d67a;
    font-weight: 600;
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
}

.bg-membership-fee-box .bg-qty-label {
    background: linear-gradient(145deg, #d4af37, #c9a227, #b8960f);
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #fff;
    font-weight: bold;
    padding: 8px 12px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.bg-membership-fee-box .bg-price-display {
    color: #f5d67a;
    font-size: 1.1em;
    font-weight: 700;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.4);
}

/* Box Sconto - Colori verde */
.bg-membership-discount-box {
    background: rgba(34, 139, 34, 0.15);
    border: 1px solid rgba(34, 139, 34, 0.3);
    box-shadow: 0 0 15px rgba(67, 212, 55, 0.31), inset 0 0 5px rgba(255, 255, 255, 0.36);
}

.bg-membership-discount-box .bg-membership-text {
    color: #00ff61;
    font-weight: 600;
}

.bg-membership-discount-box .bg-qty-label {
    background: linear-gradient(145deg, #3fbb3b, #2cc927, #649539);
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #fff;
    font-weight: bold;
    padding: 8px 12px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.bg-membership-discount-box .bg-price-display {
    color: #90EE90;
    font-size: 1.1em;
    font-weight: 700;
}

.bg-membership-box .bg-membership-icon {
    font-size: 1.3em;
}

.bg-membership-box .bg-qty-label {
    min-width: 80px;
    text-align: center;
}
.bg-price-original-strike-inline .price  {
  color: #909090 !important;
}

.bg-ticket-price .price,
.bg-price-discounted-inline .price {
  color: #ff6b35 !important;
}

/* ============================================================================
 * LAYOUT CARRELLO CON IMMAGINE LATERALE
 * ============================================================================ */

/* Base (mobile first) */
.bg-cart-layout-wrapper {
    display: block;
    width: 100%;
}

.bg-cart-image-column {
    display: none;
}

.bg-cart-content-column {
    width: 100%;
}

/* Desktop: immagine grande visibile, piccola nascosta */
@media (min-width: 769px) {
    /* Header evento - barra titolo FULL WIDTH e centrata */
    .bg-cart-event-header {
        justify-content: center;
        margin-bottom: 15px;
        padding: 15px;
        text-align: center;
        width: 100%;
    }

    /* Nasconde l'immagine piccola su desktop */
    .bg-cart-image-mobile {
        display: none !important;
    }

    .bg-cart-event-info {
        text-align: center;
        width: 100%;
    }

    .bg-cart-event-title {
        font-size: 1.8em !important;
        margin-bottom: 8px;
    }

    /* Wrapper due colonne */
    .bg-cart-layout-wrapper {
        display: flex;
        gap: 25px;
        width: 100%;
    }

    /* Colonna immagine grande - solo desktop */
    .bg-cart-image-column {
        display: block;
        flex: 0 0 180px;
        max-width: 180px;
    }

    .bg-cart-image-column img {
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
        height: auto;
        width: 100%;
    }

    /* Colonna contenuto biglietti */
    .bg-cart-content-column {
        flex: 1;
        min-width: 0;
    }
}

/* ============================================================================
 * SOLD OUT BOX
 * ============================================================================ */

.bg-soldout {
    margin: 20px 0;
    padding: 0;
}

.bg-soldout-box {
    align-items: center;
    animation: soldout-pulse 2s ease-in-out infinite;
    background: linear-gradient(135deg, #8b0000 0%, #cc0000 50%, #8b0000 100%);
    border: 3px solid #ff4444;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.5), inset 0 0 20px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    padding: 25px 30px;
    text-align: center;
}

.bg-soldout-icon {
    font-size: 48px;
    line-height: 1;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.bg-soldout-title {
    animation: soldout-glow 1.5s ease-in-out infinite alternate;
    color: #fff;
    font-family: 'Impact', 'Arial Black', sans-serif;
    font-size: 42px;
    font-weight: 900;
    letter-spacing: 6px;
    line-height: 1.1;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
}

.bg-soldout-subtitle {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
}

@keyframes soldout-pulse {
    0%, 100% {
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.5), inset 0 0 20px rgba(0, 0, 0, 0.3);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 40px rgba(255, 0, 0, 0.8), inset 0 0 20px rgba(0, 0, 0, 0.3);
        transform: scale(1.02);
    }
}

@keyframes soldout-glow {
    0% {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
    }
    100% {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 0 0 40px rgba(255, 255, 255, 0.8), 0 0 60px rgba(255, 200, 200, 0.5);
    }
}

/* ============================================================================
 * ULTIMI BIGLIETTI BOX
 * ============================================================================ */

.bg-last-tickets {
    margin: 20px 0;
    padding: 0;
}

.bg-last-tickets-box {
    align-items: center;
    animation: last-tickets-pulse 1.5s ease-in-out infinite;
    background: linear-gradient(135deg, #ff6600 0%, #ff9900 50%, #ffcc00 100%);
    border: 3px solid #ffdd00;
    border-radius: 12px;
    box-shadow: 0 0 25px rgba(255, 153, 0, 0.6), inset 0 0 15px rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    padding: 20px 25px;
    text-align: center;
}

.bg-last-tickets-icon {
    animation: fire-flicker 0.5s ease-in-out infinite alternate;
    font-size: 40px;
    line-height: 1;
}

.bg-last-tickets-title {
    animation: last-tickets-glow 1s ease-in-out infinite alternate;
    color: #1a0a00;
    font-family: 'Impact', 'Arial Black', sans-serif;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 4px;
    line-height: 1.1;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}

.bg-last-tickets-count {
    color: #1a0a00;
    font-size: 18px;
    font-weight: 500;
}

.bg-last-tickets-count strong {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    padding: 4px 12px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

@keyframes last-tickets-pulse {
    0%, 100% {
        box-shadow: 0 0 25px rgba(255, 153, 0, 0.6), inset 0 0 15px rgba(255, 255, 255, 0.2);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 40px rgba(255, 153, 0, 0.9), inset 0 0 20px rgba(255, 255, 255, 0.3);
        transform: scale(1.02);
    }
}

@keyframes last-tickets-glow {
    0% {
        text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
    }
    100% {
        text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5), 0 0 15px rgba(255, 255, 255, 0.8);
    }
}

@keyframes fire-flicker {
    0% {
        transform: scale(1) rotate(-3deg);
    }
    100% {
        transform: scale(1.1) rotate(3deg);
    }
}

/* ============================================================================
 * LIMITE BIGLIETTI WARNING - OVERLAY
 * ============================================================================ */

.bg-limit-warning {
    align-items: center;
    background: rgba(0, 0, 0, 0.85);
    border-radius: 8px;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
}

.bg-limit-warning-box {
    align-items: center;
    animation: limit-pulse 1.5s ease-in-out infinite;
    background: linear-gradient(135deg, #b71c1c 0%, #e53935 50%, #b71c1c 100%);
    border: 3px solid #ff5252;
    border-radius: 12px;
    box-shadow: 0 0 30px rgba(229, 57, 53, 0.8);
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 90%;
    padding: 25px 35px;
    text-align: center;
}

.bg-limit-warning-icon {
    font-size: 40px;
    line-height: 1;
}

.bg-limit-warning-title {
    animation: limit-glow 1s ease-in-out infinite alternate;
    color: #fff;
    font-family: 'Impact', 'Arial Black', sans-serif;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 3px;
    line-height: 1.1;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
}

.bg-limit-warning-text {
    color: rgba(255, 255, 255, 0.95);
    font-size: 16px;
    font-weight: 500;
}

@keyframes limit-pulse {
    0%, 100% {
        box-shadow: 0 0 30px rgba(229, 57, 53, 0.8);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 50px rgba(229, 57, 53, 1);
        transform: scale(1.03);
    }
}

@keyframes limit-glow {
    0% {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }
    100% {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 255, 255, 0.6);
    }
}

/* Position relative per overlay limite biglietti */
.bg-cart-content-column {
    position: relative;
}