/* 
 * Biglietteria Unified CSS
 * Questo file contiene tutti gli stili del plugin Biglietteria
 * organizzati per sezioni
 */

/* ============================
   1. STILI BASE E COMUNI
   ============================ */

/* Reset e base */
body {
    max-width: 100%;
    overflow-x: hidden;
}
.wrap {
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
    clear: both;
    margin: 20px 0;
}

/* Accessibilità */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* Layout base */
.jcd-wide {
    width: 75%;
}
.jcd-narrow {
    width: 20%;
}

/* Elementi nascosti */
.bg-debug-details,
.bg-back,
.show-button,
.bg-processing,
.bg_cart tr.removed,
.tickets-remaining.hiding,
.hiding .tickets-remaining,
.bg-payment-details {
    display: none;
}

/* Stili testo comuni */
dt,
legend,
caption,
.bg_email_check span,
.report-by-date h3,
.report-by-customer h3,
.report-by-event h3,
.ticket-orders legend,
.bg-payment-form legend,
.biglietteria dt {
    font-weight: 700;
}

/* 
   NOTA: le regole per .report-by-date h3, .report-by-customer h3, .report-by-event h3
   sono state unite con le proprietà dichiarate più in basso, che prevalgono:
   font-weight passa a 600, ma qui inizialmente lo avevamo a 700;
   per risolvere il conflitto manteniamo il 600 (l’ultima dichiarazione).
   Quindi poco sotto troverai la regola definitiva con font-weight: 600.
*/

/* Stili bordi comuni */
.bg-message-log li,
.bg-ticket-data,
.panel {
    border: 1px solid rgba(0, 0, 0, .2);
}

/* Spaziature comuni */
.ticket-orders fieldset,
.bg-payment-form fieldset {
    margin: 1em 0;
}

/* Padding comuni */
.bg-ticket-data,
.bg-trigger-container{
    padding: .5em;
}

/* Allineamenti comuni */
.bg_paid,
.bg_status,
.bg_receipt {
    text-align: center;
}

/* Dimensioni comuni */
#bg_paid,
#bg_status {
    width: 6em;
}
#bg_receipt {
    width: 18em;
}

/* Background comuni */
.bg-admin-only {
    background-color: rgba(240,240,240,.8);
    font-style: italic;
}

/* ============================
   2. LAYOUT E CONTENITORI
   ============================ */
.biglietteria .postbox {
    margin: 10px 5px 0 0;
}
.biglietteria .postbox .inside {
    overflow: visible !important;
}
.biglietteria .meta-box-sortables {
    min-height: 0;
}

/* ============================
   3. TABELLE E REPORT
   ============================ */

/* Stili comuni per tutte le tabelle dei report */
.bg-sales-report,
.report-by-event table,
.report-by-date table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: #fff;
}

/* ============================
   99. OVERRIDE COLORI RIGHE REPORT PER STATO (posizionato in coda)
   ============================ */
/* Completed: verde su tutta la riga (pari leggermente più scure) */
.bg-sales-report tbody tr.bg-report-row.completed,
.report-by-event table tbody tr.bg-report-row.completed,
.report-by-date table tbody tr.bg-report-row.completed,
.bg-sales-report tbody tr.completed,
.report-by-event table tbody tr.completed,
.report-by-date table tbody tr.completed,
.bg-sales-report tbody tr.bg-report-row.completed > td,
.report-by-event table tbody tr.bg-report-row.completed > td,
.report-by-date table tbody tr.bg-report-row.completed > td,
.bg-sales-report tbody tr.completed > td,
.report-by-event table tbody tr.completed > td,
.report-by-date table tbody tr.completed > td {
  background-color: #dff0d8 !important;
}
.bg-sales-report tbody tr.bg-report-row.completed:nth-child(even),
.report-by-event table tbody tr.bg-report-row.completed:nth-child(even),
.report-by-date table tbody tr.bg-report-row.completed:nth-child(even),
.bg-sales-report tbody tr.completed:nth-child(even),
.report-by-event table tbody tr.completed:nth-child(even),
.report-by-date table tbody tr.completed:nth-child(even),
.bg-sales-report tbody tr.bg-report-row.completed:nth-child(even) > td,
.report-by-event table tbody tr.bg-report-row.completed:nth-child(even) > td,
.report-by-date table tbody tr.bg-report-row.completed:nth-child(even) > td,
.bg-sales-report tbody tr.completed:nth-child(even) > td,
.report-by-event table tbody tr.completed:nth-child(even) > td,
.report-by-date table tbody tr.completed:nth-child(even) > td {
  background-color: #d4e9cd !important;
}

/* Failed: rosso su tutta la riga (pari leggermente più scure) */
.bg-sales-report tbody tr.bg-report-row.failed,
.report-by-event table tbody tr.bg-report-row.failed,
.report-by-date table tbody tr.bg-report-row.failed,
.bg-sales-report tbody tr.failed,
.report-by-event table tbody tr.failed,
.report-by-date table tbody tr.failed,
.bg-sales-report tbody tr.bg-report-row.failed > td,
.report-by-event table tbody tr.bg-report-row.failed > td,
.report-by-date table tbody tr.bg-report-row.failed > td,
.bg-sales-report tbody tr.failed > td,
.report-by-event table tbody tr.failed > td,
.report-by-date table tbody tr.failed > td {
  background-color: #f8d7da !important;
}
.bg-sales-report tbody tr.bg-report-row.failed:nth-child(even),
.report-by-event table tbody tr.bg-report-row.failed:nth-child(even),
.report-by-date table tbody tr.bg-report-row.failed:nth-child(even),
.bg-sales-report tbody tr.failed:nth-child(even),
.report-by-event table tbody tr.failed:nth-child(even),
.report-by-date table tbody tr.failed:nth-child(even),
.bg-sales-report tbody tr.bg-report-row.failed:nth-child(even) > td,
.report-by-event table tbody tr.bg-report-row.failed:nth-child(even) > td,
.report-by-date table tbody tr.bg-report-row.failed:nth-child(even) > td,
.bg-sales-report tbody tr.failed:nth-child(even) > td,
.report-by-event table tbody tr.failed:nth-child(even) > td,
.report-by-date table tbody tr.failed:nth-child(even) > td {
  background-color: #f4c7cb !important;
}

.bg-sales-report tr,
.report-by-event tr,
.report-by-date tr {
    background-color: #fff;
    transition: background-color 0.2s ease;
}

.bg-sales-report tr:nth-child(even),
.report-by-event tr:nth-child(even),
.report-by-date tr:nth-child(even) {
    background-color: #f9f9f9;
}

.bg-sales-report tr:hover,
.report-by-event tr:hover,
.report-by-date tr:hover {
    background-color: #f5f5f5;
}

.bg-sales-report th,
.report-by-event th,
.report-by-date th {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f8f8f8;
    font-weight: 600;
}

.report-by-event td,
.report-by-date td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
}

/* Stili specifici per le colonne */
.bg-sales-report .bg-id,
.report-by-event .bg-id,
.report-by-date .bg-id {
    width: 30px;
    max-width: 30px;
    min-width: 30px;
    padding: 5px;
}

.bg-sales-report .bg-price,
.report-by-event .bg-price,
.report-by-date .bg-price {
    text-align: right;
    width: 80px;
}

/* Stati dei pagamenti */
.payment-status {
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    font-weight: 600;
}

.completed {
    background-color: #dff0d8;
    color: #3c763d;
}

.failed {
    background-color: #f2dede;
    color: #a94442;
}

.refunded {
    background-color: #d9edf7;
    color: #31708f;
}

.da-pagare {
    background-color: #fcf8e3;
    color: #8a6d3b;
}

.bg-sales-report {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}
.bg-sales-report th {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}
.bg-sales-report td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}

/* Larghezze colonne */
.bg-sales-report .bg-date {
    width: 130px;
}
.bg-sales-report .bg-type {
    width: 115px;
    text-align: left;
    line-height: 1.4;
}

/* Altre colonne (paid, post, etc.) */
.bg-sales-report th.bg-paid,
.bg-sales-report td.bg-paid,
.bg-sales-report td.bg-post,
.bg-sales-report td.bg-owed,
.bg-sales-report td.bg-price {
    text-align: right;
}
.bg-price,
.bg-paid {
    width: 55px;
    max-width: 55px;
}
.bg-purchaser {
    width: 200px;
    max-width: 200px;
}

.bg-sales-report caption {
    font-weight: 700;
    font-size: 1.1em;
    line-height: 1.5;
    margin-top: 2em;
}

.bg-sales-report thead th {
    background: #e9e9e9;
    text-align: center !important;
}

/* Colonne specifiche */
.bg-sales-report .bg-id {
    width: 30px;
    max-width: 30px;
    min-width: 30px;
    padding: 5px;
}
.bg-sales-report .bg-tickets {
    text-align: left;
    width: 70px;
    line-height: 1.2;
}
.bg-sales-report .bg-n_tickets {
    width: 70px;
    text-align: center;
  }

.bg-sales-report .bg-status {
    width: 55px;
}

/* Intestazioni ordinabili */
.bg-sales-report th.sortable {
    cursor: pointer;
    position: relative;
    padding-right: 20px !important;
    text-align: center !important;
}
.bg-sales-report th.sortable:after {
    content: '⇕';
    position: absolute;
    right: 5px;
    color: #999;
}
.bg-sales-report th.sorting-asc:after {
    content: '↑';
    color: #333;
}
.bg-sales-report th.sorting-desc:after {
    content: '↓';
    color: #333;
}

/* Righe alternate */
.bg-sales-report tr.alternate {
    background-color: #f9f9f9;
}
.bg-sales-report tr.even {
    background-color: #ffffff;
}

/* Stili per le righe della tabella report */
.bg-sales-report tr {
    background-color: #fff;
    transition: background-color 0.2s ease;
}

.bg-sales-report tr:nth-child(even) {
    background-color: #f9f9f9;
}

.bg-sales-report tr:hover {
    background-color: #f5f5f5;
}

/* Stili per gli stati dei pagamenti */
.bg-sales-report .payment-status {
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    font-weight: 600;
}

.bg-sales-report .completed {
    background-color: #dff0d8;
    color: #3c763d;
}

.bg-sales-report .failed {
    background-color: #f2dede;
    color: #a94442;
}

.bg-sales-report .refunded {
    background-color: #d9edf7;
    color: #31708f;
}

/* Stili per l'ordinamento */
.bg-sales-report th.sortable {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

.bg-sales-report th.sortable:after {
    content: "⇅";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
}

.bg-sales-report th.sortable:hover:after {
    opacity: 1;
}

/* Stili per le righe alternate nella tabella dei report */
.bg-sales-report tr.bg-report-row.even {
    background-color: #f9f9f9;
}

.bg-sales-report tr.bg-report-row.odd {
    background-color: #ffffff;
}

.bg-sales-report tr.bg-report-row:hover {
    background-color: #f5f5f5;
}

/* ============================
   4. PAGINAZIONE
   ============================ */
.tablenav.bottom {
    clear: both;
    margin: 8px 0;
    min-height: 30px;
    display: block !important;
}
.tablenav-pages {
    float: right;
    margin: 0 0 9px;
    display: flex;
    align-items: center;
}
.tablenav-pages .pagination-links {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 15px;
}
.tablenav-pages .button {
    min-width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    text-decoration: none;
}
.tablenav-pages .button.disabled {
    color: #a0a5aa !important;
    border-color: #ddd !important;
    background: #f7f7f7 !important;
    box-shadow: none !important;
    cursor: default;
    pointer-events: none;
}
.tablenav-pages .current-page {
    width: 50px;
    height: 28px;
    text-align: center;
    padding: 0 5px;
}
.tablenav-pages .displaying-num {
    margin-right: 10px;
    color: #555;
}
.paging-input {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* ============================
   5. FORM E INPUT
   ============================ */

/* Stili unificati per i form dei report */
.report-by-date form,
.report-by-event form,
.report-by-client form,
.report-by-customer form {
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px;
}

/* Input e select */
.report-by-date select,
.report-by-date input[type="date"],
.report-by-date input[type="text"],
.report-by-event select,
.report-by-event input[type="date"],
.report-by-event input[type="text"],
.report-by-client select,
.report-by-client input[type="date"],
.report-by-client input[type="text"],
.report-by-customer select,
.report-by-customer input[type="date"],
.report-by-customer input[type="text"] {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
}

/* Checkbox e label */
.report-by-date input[type="checkbox"],
.report-by-event input[type="checkbox"],
.report-by-client input[type="checkbox"] {
    margin: 0 5px 0 0;
}

/* Label dei form unificate */
.report-by-date label,
.report-by-event label,
.report-by-client label,
.report-by-customer label {
    display: block;
    margin-bottom: 5px;
}

/* ============================
   6. MESSAGGI E NOTIFICHE
   ============================ */

.bg-message.error-thanks {
    display: none; /* Nasconde la barra di default */
}

.bg-message.error-thanks:not(:empty) {
    display: block; /* Mostra la barra solo se contiene messaggi */
    background: #800900;
    color: #fff;
    padding: .75em 1em !important;
    margin-bottom: .5em;
    font-size: 1.1em;
    border-radius: 3px;
}

.bg-message {
    background: #800900;
    color: #fff;
    padding: .75em 1em !important;
    margin-bottom: .5em;
    font-size: 1.1em;
    border: 2px solid;
}
.bg-message.success {
    border-color: green;
}
.bg-message.error {
    border-color: #800900;
}

/* Stili per i messaggi */
.bg-previous-messages {
    margin: 20px 0;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 5px;
}
.bg-previous-messages h3 {
    margin: 0 0 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
    color: #333;
    font-size: 16px;
}
.bg-message.admin-message {
    background: #e8f5e9;
    margin-left: 20px;
}
.bg-message.user-message {
    background: #e3f2fd;
    margin-right: 20px;
}
.bg-message-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    font-size: 12px;
    color: #666;
}
.bg-message-author {
    font-weight: bold;
}
.bg-message-content {
    line-height: 1.4;
    color: #333;
}

/* Stile per il messaggio di errore dei biglietti non disponibili */
.bg-error-notice {
    color: #ff0000;
    font-weight: bold;
    margin: 10px 0;
    padding: 10px;
    background-color: #ffe6e6;
    border: 1px solid #ff0000;
    border-radius: 4px;
    display: none;
}

/* Stili per il messaggio di errore del carrello */
.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-cart-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.bg-cart-buttons a.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;
}

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

.bg-cart-buttons a.button:hover {
    background-color: #357abd;
    transform: translateY(-1px);
}

.bg-cart-buttons .bg-clear-cart-button {
    background-color: #800900;
    color: #fff;
    width: 100%;
    height: 50px;
    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;
}

.bg-cart-buttons .bg-clear-cart-button:hover {
    background-color: #800900;
    transform: translateY(-1px);
}

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

.bg-cart-buttons .button.bg-goto-cart-button {
    background-color: #9e9c9b;
    color: #202020;
    width: 100%;
    height: 50px;
    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;
  }

.bg-cart-buttons .button.bg-goto-cart-button:hover {
 background-color: #444444;
 color: #e0e0e0;
 transform: translateY(-1px);
  }

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

.bg-cart-buttons .bg-goto-cart-button {
    background-color: #4a90e2;
    color: #fff;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.bg-cart-buttons .bg-goto-cart-button:hover {
    background-color: #357abd;
    transform: translateY(-1px);
}

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

/* Effetto hover sui bottoni */
.bg-cart-buttons a.button:active {
    transform: translateY(1px);
}

/* Responsive design */
@media screen and (max-width: 480px) {
    .bg-cart-error {
        margin: 10px;
        padding: 16px;
    }
    
    .bg-cart-buttons a.button,
    .bg-clear-cart-form {
        min-width: 100%;
        max-width: 100%;
    }
}

.bg-cart-buttons {
    margin-top: 15px;
}

.bg-cart-buttons .button {
    margin-right: 10px;
    padding: 8px 15px;
    text-decoration: none;
    display: inline-block;
    background: #0073aa;
    color: #fff;
    border-radius: 3px;
}

.bg-cart-buttons .button:hover {
    background: #0085ba;
    color: #fff;
}


/* ============================
   10. TABS E PANNELLI
   ============================ */
.bg-tabs {
    margin-top: 1em;
}
.bg-tabs .tabs {
    margin: 0 !important;
    padding: 0 4px;
    position: relative;
    top: 1px;
}
.bg-tabs .tabs li {
    display: inline;
    margin: 0 auto;
    line-height: 1;
}
.bg-tabs .tabs a {
    display: inline-block;
    padding: 8px 10px;
    border-radius: 4px 4px 0 0;
    border: 1px solid #ccc;
    background: #f3f3f3;
}
.bg-tabs .tabs a.active {
    border-bottom: 1px solid #fefefe;
    background: #fefefe;
}
.bg-tabs .wptab {
    background: #fff;
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
}

/* ============================
   11. REPORT SELECTOR
   ============================ */
.bg-report-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 0;
    width: 100%;
}
.report-by-date,
.report-by-customer,
.report-by-event {
    flex: 1;
    min-width: 300px;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #e2e4e7;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Titoli dei report: aggiorniamo a font-weight: 600 (ultima dichiarazione) */
.report-by-date h3,
.report-by-customer h3,
.report-by-event h3 {
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    color: #23282d;
    font-size: 1.2em;
    font-weight: 600;
    border-bottom: 2px solid #e2e4e7;
}

/* ============================
   12. RIEPILOGO E STATISTICHE
   ============================ */
.bg-report-summary {
    max-width: 330px;
    margin: 20px 0;
    padding: 12px;
    background: #fff;
    border: 1px solid #e2e4e7;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.bg-report-summary ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.bg-report-summary li {
    margin: 4px 0;
    padding: 4px 0;
    border-bottom: 1px solid #f0f0f1;
}

/* ============================
   13. FILTRI E CONTROLLI
   ============================ */
.bg-filter-available {
    margin: 10px 0;
    padding: 5px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 3px;
}
.bg-filter-available label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

/* ============================
   14. STATI E INDICATORI
   ============================ */
.mt {
    color: #fff;
    background: #000;
    padding: 2px 4px;
    border-radius: 3px;
    width: 6em;
    display: inline-block;
    box-shadow: 1px 1px #333;
    text-shadow: 1px 1px #000;
}
.pending {
    background: #009;
}
.refunded {
    background: #900;
}
.failed {
    background: #f00;
}
.completed {
    background: #070;
}
.other {
    background: #555;
}

/* ============================
   15. UTILITY E HELPERS
   ============================ */
.bg-response-processing:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    animation: ellipsis steps(4,end) 900ms infinite;
    content: "\2026";
    width: 0px;
}
@keyframes ellipsis {
    to {
        width: 20px;
    }
}

/* ============================
   17. PRICING E TICKET
   ============================ */
.bg-payment-methods {
    border: 1px solid black;
    display: inline-flex;
    gap: 20px;
    padding: 10px 33px 10px 15px;
    margin: 15px auto 15px;
    background: #F0F0F1;
}

.bg-pricing tr.fade {
    background: #ff9;
    transition: background .5s ease-in-out;
}
.bg-pricing tr.fade:hover {
    background: #ffe;
}
.bg-trigger-container {
    background: #00000007;
    border-radius: 5px;
}
.widefat .bg-controls .button {
    padding: 0 4px;
    line-height: 1;
}

.widefat .bg-controls {
    display: block ruby;
}

.widefat.bg-discounts .delete-code .dashicons {
    color: #800900;
}
.widefat.bg-discounts tbody th {
    vertical-align: top;
}

/* Unificazione di .bg-owed: aggiungo le proprietà extra */
.bg-owed {
    font-size: 1.5em;
    font-weight: 700;
    text-align: center;
    margin: .5em 0;
    padding: .5em;
    background: rgba(255, 255, 70, .3);
}

/* ============================
   18. CAMPI PERSONALIZZATI
   ============================ */
.bg_post_fields .bg-field {
    margin-bottom: 1em;
}
.bg_post_fields .bg-field span {
    font-style: italic;
}

/* Unificazione di #bg_paid, #bg_status, #bg_receipt in coda (nessun conflitto) */
#bg_paid,
#bg_status {
    width: 6em;
}
#bg_receipt {
    width: 18em;
}
.bg_paid,
.bg_status,
.bg_receipt {
    text-align: center;
    vertical-align: middle;
}

/* ============================
   19. EMAIL E MESSAGGI
   ============================ */
.bg-message-log li > strong {
    font-size: 16px;
    padding-bottom: .5em;
    display: block;
    border-bottom: 1px solid #f0f0f0;
}
.bg-message-log li {
    margin-bottom: 1.5em;
    padding: .5em;
    border: 1px solid #f3f3f3;
}
#bg_send_subject,
#bg_send_email,
#bg_subject,
#bg_email {
    width: 100%;
}
.bg-emails,
.bg-names {
    display: flex;
    flex-wrap: wrap;
    align-items: top;
    column-gap: 20px;
    margin-bottom: 20px;
}
.bg-emails input,
.bg-names input {
    width: 100%;
}

/* ============================
   20. SUPPORTO E HELP
   ============================ */
.bg-help li {
    list-style-type: disc;
    margin-left: 2em;
}
.bg-support-me {
    margin-top: 0;
}
.bg-support-me p {
    font-size: 1.6em;
    font-weight: 600;
    background: #007eb3;
    text-shadow: 1px 1px rgb(35, 60, 127);
    padding: 1em;
    text-align: center;
    margin: 0 0 1em;
}
.bg-support-me p,
.bg-support-me a {
    color: #fff;
}
.bg-support-me a:hover,
.bg-support-me a:focus {
    text-decoration: none;
}



/* ============================
   22. SANDBOX E TESTING
   ============================ */
.bg_sandbox_enabled {
    position: relative;
    background: #ffa;
    color: #000;
    padding: .5em 0;
    font-size: 1.4em;
    display: block;
    border-top: 2px solid #933;
    width: 100%;
    text-align: center;
}
.admin-bar .bg_sandbox_enabled {
    top: 32px;
}

/* ============================
   24. PANNELLI E LAYOUT
   ============================ */
.panels:after {
    content: '';
    display: table;
    clear: both;
}
.panel {
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    margin: .5em 0 1em;
}
.panel .inner {
    padding: 0 0 .5em;
}
.panel .inner h4 {
    padding: .2em;
    margin: 0 0 1.33em;
    background: #fff;
}

/* ============================
   31. TICKET HANDLING
   ============================ */
.tickets-remaining.hiding,
.hiding .tickets-remaining {
    display: none;
}
/* Unificato ticket-orders fieldset e legend (già sopra) */
.ticket-orders label {
    display: inline-block;
    width: 10em;
    margin-right: .5em;
}

/* Layout del campo biglietto */
.bg-ticket-field {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.bg-ticket-field label {
    font-size: 1.0em;
    margin-right: 10px;
    width: 130px;
}

/* Wrapper per i controlli di quantità */
.bg-ticket-quantity-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-right: 10px;
}

/* Input number - versione base */
input[type="number"].bg-ticket-quantity {
    appearance: none;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    text-align: center;
    width: 45px;
    height: 30px;
    padding: 0 5px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 14px;
    margin: 0;
}
input[type="number"].bg-ticket-quantity::-webkit-inner-spin-button,
input[type="number"].bg-ticket-quantity::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

/* Pulsanti + e - */
.bg-ticket-quantity-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    transition: all 0.2s ease;
    user-select: none;
    margin: 0;
}
.bg-ticket-quantity-button:hover {
    background: rgba(255,255,255,0.2);
}

/* ============================
   4. PAGINA DI RINGRAZIAMENTO
   ============================ */
   .bg-thank-you-page {
    max-width: 1200px;
    margin: 40px auto;
    padding: 30px;
    background: #1c1c1c;
    border-radius: 10px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.3);
    text-align: center;
    border: 1px solid #333;
}

.bg-thank-you-header {
    background: #2271b1;
    margin: -50px -31px 25px -31px;
    padding: 20px 20px;
    border-radius: 10px 10px 0 0;
    color: white;
}

.bg-thank-you-icon {
    width: 65px;
    height: 65px;
    line-height: 65px;
    font-size: 40px;
    background: rgba(255,255,255,0.1);
    color: white;
    border-radius: 50%;
    margin: 0 auto 0px;
    border: 2px solid rgba(255,255,255,0.2);
   
}

.bg-thank-you-header h1 {
    font-size: 36px;
    color: white;
    margin: 0 0 10px;
}
.bg-subtitle {
    font-size: 18px;
    color: rgba(255,255,255,0.9);
    margin: 0;
}

.bg-order-details h2 {
    font-size: 24px;
    color: #fff;
}
.bg-order-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}
.bg-detail-box {
    background: #1c1c1c;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    border: 1px solid #333;
}
.bg-detail-label {
    font-size: 14px;
    color: #999;
    margin-bottom: 8px;
}
.bg-detail-value {
    font-size: 18px;
    color: #fff;
    font-weight: 600;
}
.bg-ticket-button-container {
    margin-top: 30px;
}
.bg-ticket-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 30px;
    background: #2271b1;
    color: white !important;
    text-decoration: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 1px solid rgba(255,255,255,0.1);
}
.bg-ticket-button:hover {
    background: #135e96;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border-color: rgba(255,255,255,0.2);
}
.bg-ticket-icon {
    font-size: 24px;
    margin-right: 10px;
}


/* Aggiunta degli stili CSS per il logo del biglietto */
.bg-ticket-logo {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
}
.bg-ticket-logo img {
    max-width: 100px;
    height: auto;
    display: block;
}

/* Stili per il biglietto */
.ticket-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
.ticket-details {
    flex: 1;
    min-width: 300px;
    max-width: calc(50% - 10px);
    box-sizing: border-box;
}
.ticket-info {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}
.theater-address {
    margin: 20px 0;
    line-height: 1.6;
}

/* Stile per il bottone quando i biglietti non sono disponibili */
button[name="bg_add_to_cart"].bg-invalid-purchase {
    background-color: #800900 !important;
    color: #ffffff !important;
    cursor: not-allowed;
    line-height: 1.4;
    white-space: normal;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 60px;
}
button[name="bg_add_to_cart"].bg-invalid-purchase:hover {
 background-color: #800900 !important;
}
.bg-purchaser {
    width: 200px;
    max-width: 200px;
}

/* ============================
   Sortable table custom
   ============================ */
.sortable-table th.sortable {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}
.sortable-table th.sortable .sort-icon {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}
.sortable-table th.sortable:hover .sort-icon {
    border-top: 5px solid #999;
}
.sortable-table th.sortable.asc .sort-icon {
    border-bottom: 5px solid #333;
}
.sortable-table th.sortable.desc .sort-icon {
    border-top: 5px solid #333;
}
.sortable-table th.asc {
    background-color: #f0f0f0;
}
.sortable-table th.desc {
    background-color: #f0f0f0;
}
.sortable-table tbody tr:hover {
    background-color: #f5f5f5;
}

/* Stili per il contenitore della tabella */
.table-container {
    margin-bottom: 20px;
    position: relative;
}
/* Stili per la paginazione (ribaditi) */
.table-container + .tablenav.bottom {
    display: block !important;
}

/* Stili per il wrapper del report */
.bg-report-wrapper {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    width: 100%;
    max-width: 100%;
    margin: 20px 0;
    align-items: start;
}
.bg-report-main {
    grid-column: 1;
    min-width: 0;
    width: 100%;
}
.bg-report-sidebar {
    grid-column: 2;
    width: 300px;
    position: sticky;
    top: 32px;
    background: #fff;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    height: fit-content;
}

.bg-report-main table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
}
.bg-report-sidebar form {
    margin: 0;
    width: 100%;
}
.bg-report-sidebar select {
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
}
.bg-report-sidebar input[type="submit"] {
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
}
.bg-report-sidebar label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}
.wrap {
    overflow: visible !important;
}
.bg-report-wrapper:after {
    content: '';
    display: table;
    clear: both;
}
#post-body-content {
    margin-bottom: 20px;
}
.metabox-holder {
    clear: both;
}
body.wp-admin {
    --wp-admin-theme-width: calc(100% - 300px);
}

/* Nascondi le notifiche di Elementor nelle pagine di amministrazione di Biglietteria */
body.post-type-bg-payments .notice.e-notice,
body.post-type-bg-tickets .notice.e-notice,
body.toplevel_page_my-tickets .notice.e-notice,
body.my-tickets_page_bg-reports .notice.e-notice,
body.my-tickets_page_bg-settings .notice.e-notice,
body.my-tickets_page_bg-help .notice.e-notice,
#wrap.biglietteria .notice.e-notice {
    display: none !important;
}

/* Nascondi le notifiche specifiche di Elementor */
body.post-type-bg-payments .notice.e-notice.e-notice--dismissible.e-notice--extended,
body.post-type-bg-tickets .notice.e-notice.e-notice--dismissible.e-notice--extended,
body.toplevel_page_my-tickets .notice.e-notice.e-notice--dismissible.e-notice--extended,
body.my-tickets_page_bg-reports .notice.e-notice.e-notice--dismissible.e-notice--extended,
body.my-tickets_page_bg-settings .notice.e-notice.e-notice--dismissible.e-notice--extended,
body.my-tickets_page_bg-help .notice.e-notice.e-notice--dismissible.e-notice--extended,
.biglietteria .notice.e-notice.e-notice--dismissible.e-notice--extended {
    display: none !important;
}

/* Aggiunta della classe full-width per estendere la larghezza del contenitore postbox */
.postbox-container.full-width {
    width: calc(100% - 10px);
}

/* Stile per la colonna Extra Info */
.extra-info-item {
    padding: 3px 0;
    border-bottom: 1px solid #eee;
    font-size: 13px;
    line-height: 1.4;
}
.extra-info-item:last-child {
    border-bottom: none;
}
.extra-info-item strong {
    color: #666;
    margin-right: 5px;
}
table.wp-list-table .column-extra_info {
    width: 20%;
    min-width: 200px;
}

/* Stile per ogni riga di tipo biglietto */
.bg-sales-report .bg-type br + * {
    margin-top: 3px;
}
.bg-sales-report .bg-type .bg-money-format {
    color: #666;
    font-size: 0.95em;
}

/* Stili per il box riepilogo */
.bg-report-summary-box {
    margin: 20px 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.bg-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}
.bg-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #f8f8f8;
    border-radius: 4px;
    border: 1px solid #eee;
}
.bg-summary-label {
    color: #666;
    font-size: 14px;
}
.bg-summary-value {
    font-size: 14px;
}
.bg-summary-value strong {
    color: #000;
    font-size: 16px;
    font-weight: 600;
}

/* Stili per i tab (ui-tabs) */
.ui-tabs {
    padding: 0;
    border: none;
    background: transparent;
}
.ui-tabs .ui-tabs-nav {
    padding: 0;
    border: none;
    background: transparent;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}
.ui-tabs .ui-tabs-nav li {
    margin: 0 4px -1px 0;
    border-color: #ccc;
    background: #e5e5e5;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
    background: #fff;
    border-bottom: 1px solid #fff;
}
.ui-tabs .ui-tabs-nav li a {
    padding: 8px 12px;
    outline: none;
    color: #555;
    text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
    color: #000;
}
.ui-tabs .ui-tabs-panel {
    padding: 20px 0;
    border: none;
    background: transparent;
}
.bg-settings-section {
    display: block;
    margin-bottom: 20px;
}
.bg-settings-section.hidden {
    display: none;
}

/* ============================
   9. STILI PER IL DEBUG DEI REPORT
   ============================ */

/* 
 * Stili per il contenitore principale di debug 
 * Utilizzato nella pagina dei report per visualizzare le informazioni di debug
 */
#bg_debug_container {
    margin: 20px 0;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #f9f9f9;
    max-height: 500px;
    overflow: auto;
}

/* Titolo della sezione di debug */
#bg_debug_container h3 {
    margin-top: 0;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    color: #23282d;
}

/* Contenitore dei risultati del debug */
#bg_debug_results {
    margin-top: 15px;
    max-height: 300px;
    overflow-y: auto;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
}

/* Stili per i vari tipi di messaggi di debug */
.bg-debug-message {
    margin: 5px 0;
    padding: 8px 10px;
    border-radius: 3px;
    border-left: 3px solid #bbb;
    background-color: #f8f8f8;
    font-family: monospace;
    word-wrap: break-word;
}

/* Messaggio di debug di tipo informativo */
.bg-debug-info {
    border-left-color: #2271b1;
    background-color: #e8f4fd;
}

/* Messaggio di debug di tipo successo */
.bg-debug-success {
    border-left-color: #46b450;
    background-color: #ecf7ed;
}

/* Messaggio di debug di tipo errore */
.bg-debug-error {
    border-left-color: #dc3232;
    background-color: #fbeaea;
}

/* Messaggio di debug di tipo avviso */
.bg-debug-warning {
    border-left-color: #f0b849;
    background-color: #fff8e5;
}

/* Messaggio di debug per i pagamenti */
.bg-debug-payment {
    border-left-color: #826eb4;
    background-color: #f3f1f8;
}

/* Stili per i controlli di input del debug */
.bg-debug-controls {
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.bg-debug-controls input[type="text"] {
    min-width: 250px;
    padding: 6px 8px;
}

.bg-debug-controls button {
    margin-right: 10px;
}

/* Stili per la visualizzazione quando è in corso un'operazione di debug */
.bg-debug-loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Icone per i diversi tipi di messaggi */
.bg-debug-info:before,
.bg-debug-success:before,
.bg-debug-error:before,
.bg-debug-warning:before,
.bg-debug-payment:before {
    margin-right: 8px;
    font-family: dashicons;
    font-size: 16px;
    vertical-align: middle;
}

.bg-debug-info:before {
    content: "\f348"; /* Icona informativa */
}

.bg-debug-success:before {
    content: "\f147"; /* Icona di spunta */
}

.bg-debug-error:before {
    content: "\f158"; /* Icona X */
}

.bg-debug-warning:before {
    content: "\f534"; /* Icona esclamativo */
}

.bg-debug-payment:before {
    content: "\f478"; /* Icona carrello */
}

/* ============================
   Fine CSS Ottimizzato
   ============================ */

/* Stile per il bottone Cancella Carrello */
.bg-clear-cart-button {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #fff;
    background-color: #800900;
    border-color: #560600;
    text-decoration: none;
}

.bg-clear-cart-button:hover {
    color: #fff;
    background-color: #560600;
    border-color: #3a0400;
}

/* Stile per il form */
.bg-clear-cart-form {
    margin: 0;
    padding: 0;
}

/* Stili per il form di acquisto biglietti */
.bg-booking-form {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.bg-booking-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
}

.bg-booking-form input[type="text"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

.bg-booking-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    min-height: 100px;
    font-size: 16px;
}

/* Stili per i metodi di pagamento */

.info_extra {
    display: flex;
    column-gap: 20px;
    flex-wrap: wrap;
}

.bg-payment-methods {
    display: flex;
    gap: 15px;
    margin: 20px 0;
}

.bg-payment-method {
    flex: 1;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bg-payment-method:hover {
    border-color: #2271b1;
    background: #f8f8f8;
}

.bg-payment-method.active {
    border-color: #2271b1;
    background: #f0f7ff;
}

.bg-payment-method.bottega {
    background-color: #666;
    color: white;
}

.bg-payment-method.paypal {
    background-color: #0070ba;
    color: white;
}

/* Messaggio informativo */
.bg-ticket-info {
    margin: 20px 0;
    padding: 15px;
    background: #373737;
    color: #d80f00;
    font-size: 14px;
  }

.payment-method-title {
    text-align: center;
    font-size: 1.2em;
    margin: 20px 0 10px;
    color: #fff;
}

.bg-payments {
    text-align: center;
    padding: 0;
    margin: 0;
    list-style: none;
}

.bg-payments li {
    display: inline-block;
    margin: 0 10px;
}

.bg-cart_form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #ddd;
}

.bg_cart_form input[type="text"],
.bg_cart_form input[type="email"] {
    width: 500px;
    padding: 10px;
    margin-bottom: 0px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    color:#800900
}

#bg_additional {
    width: 740px;
    padding: 10px;
    margin-bottom: 0px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    color: #800900;
    
}

.ticket-type-message {
    text-align: center;
    font-size: 18px;
  }


/* Nascondi i punti esclamativi nell'autocompletamento */
.pac-icon,
.pac-item-query + span {
    display: none !important;
}

/* Migliora lo stile dei suggerimenti */
.pac-item {
    padding: 10px !important;
    line-height: 1.5 !important;
    font-family: inherit !important;
}

.pac-container {
    margin-top: 2px !important;
    padding: 5px 0 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
}

.pac-item-query {
    font-size: 14px !important;
    color: #495057 !important;
}

/* Assicurati che il campo indirizzo abbia il corretto z-index */
#billing_address_1 {
    position: relative;
    z-index: 1000;
}

/* Stile per il container dei suggerimenti */
.pac-container:after {
    display: none !important;
}

.bg_cart caption {
    font-weight: 700;
    text-align: center;
    font-size: 3.2em;
}

.bg-payment-form input.button, input[type="submit"] {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    color: #FFFFFF;
    text-decoration: none;
    line-height: 1.2;
    font-weight: normal;
    font-family: sans-serif;
    font-size: 18px;
    background-color: #890505;
    border-radius: 4px;
    padding: 10px 20px;
    border: 1px solid #ffffff;
    cursor: pointer;
    text-transform: uppercase;
}
.bg-payment-form input.button:hover, input[type="submit"]:hover {
 background-color: #580303;
 }
.bg-payment-form input.button > strong,  input[type="submit"] > strong{
 font-size: 24px;
}

.bg-payment-form {
    text-align: right;
    margin-top: 25px;
}


.bg-emails, .bg-names {
    display: flex;
    flex-wrap: wrap;
    align-items: top;
    column-gap: 30px;
    margin-bottom: 0px;
}

.bg-emails input, .bg-names input, input#bg_phone {
    color: black;
}

.bg-message {
    padding: 0.75em 10% !important;
}

.box_posti_vicino {
        background: #373737;
        padding: 5px 30px;
}
.box_additional {
    background: #373737;
    padding: 5px 30px;
    margin: 15px 0 0 0;
}

.box_promo {
    background: #373737;
    padding: 5px 30px;
}

/* Stati dei pagamenti */
.column-status .mt,
.payment-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    min-width: 80px;
}

.column-status .mt.pending,
.payment-status.pending {
    background-color: #0073aa;
}

.column-status .mt.completed,
.payment-status.completed {
    background-color: #46b450;
}

.column-status .mt.failed,
.payment-status.failed {
    background-color: #dc3232;
}

.column-status .mt.refunded,
.payment-status.refunded {
    background-color: #ffb900;
}

/* Stile per lo stato offline */
.offline {
    color: #666;
    font-size: 12px;
    font-style: italic;
}

/* Stili per i form */
.box_posti_vicino p,
.box_promo p,
.box_additional p {
    display: block;
    margin: 0;
}

.box_posti_vicino label,
.box_promo label,
.box_additional label {
    display: block;
    margin-bottom: 5px;
}

.box_posti_vicino input,
.box_promo input {
    width: 100%;
}

.box_additional textarea {
    width: 100%;
    resize: vertical;
}

/* Stili per i form e i messaggi */
.box_posti_vicino p,
.box_promo p,
.box_additional p {
    display: block;
    margin: 0 0 15px 0;
}

.box_posti_vicino label,
.box_promo label,
.box_additional label {
    display: block;
    margin-bottom: 5px;
}

.box_posti_vicino input,
.box_promo input {
    width: 100%;
}

.box_additional textarea {
    width: 100%;
    resize: vertical;
}


/* Nascondi il titolo e la barra nella pagina di ringraziamento */
body.bg-response-thanks .elementor-widget-heading h1,
body.bg-response-thanks .elementor-widget-heading .elementor-heading-title {
    display: none !important;
}

/* Nascondi anche la barra sotto il titolo */
body.bg-response-thanks .elementor-widget-heading::after {
    display: none !important;
}

/* Nascondi l'elemento con ID page-title-pro nella pagina di ringraziamento */
body.bg-response-thanks #page-title-pro {
    display: none !important;
}

/* Stili per il form del codice fiscale */
#dati-cf {
    margin-bottom: 20px;
    clear: both;
    width: 100%;
    float: left;
}

#dati-cf input[readonly] {
    background-color: #e9ecef !important;
    border: 1px solid #dee2e6 !important;
    color: #495057 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    opacity: 0.8 !important;
}

#dati-cf label {
    color: #6c757d !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

#cf-error {
    color: #dc3545;
    margin-top: 5px;
    padding: 8px;
    border-radius: 4px;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}

#cf-loading {
    color: #004085;
    margin-top: 5px;
    padding: 8px;
    border-radius: 4px;
    background-color: #cce5ff;
    border: 1px solid #b8daff;
}

#codice_fiscale {
    text-transform: uppercase;
}

/* Stili per l'autocompletamento di Google Maps */
.pac-container {
    z-index: 9999;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    border: 1px solid #dee2e6;
    margin-top: 2px;
    background-color: #fff;
    width: auto !important;
    min-width: 300px;
}

.pac-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px !important;
    line-height: 1.4 !important;
    border-top: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
}

.pac-item:first-child {
    border-top: none;
}

.pac-item:hover {
    background-color: #f8f9fa;
}

.pac-icon {
    display: none;
}

.pac-item-query {
    font-size: 14px !important;
    color: #333;
    padding-right: 3px;
    margin-right: 0;
    flex: 1;
}

.pac-matched {
    font-weight: bold;
    color: #0056b3;
}

/* Nascondi l'icona di Google e altri elementi non necessari */
.pac-logo:after {
    display: none;
}

/* Stili per i campi readonly */
#billing_city:disabled,
#billing_state:disabled {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #6c757d;
    opacity: 0.75;
    pointer-events: none;
    user-select: none;
}

#billing_city:disabled::selection,
#billing_state:disabled::selection {
    background: none;
}

/* Stili per i campi non modificabili */
#billing_city,
#billing_state {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #495057;
}

#billing_city:focus,
#billing_state:focus {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    box-shadow: none;
}

#dati-cf {
    margin-bottom: 20px;
    clear: both;
    width: 100%;
    float: left;
}

#dati-cf .woocommerce-additional-fields__field-wrapper {
    margin-bottom: 20px;
}

#dati-cf input[readonly] {
    background-color: #e9ecef !important;
    border: 1px solid #dee2e6 !important;
    color: #495057 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    opacity: 0.8 !important;
}

#dati-cf label {
    color: #6c757d !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    display: block;
    margin-bottom: 5px;
}

#form-registrazione {
    display: inline-table;
}

/* Stili per la sezione degli sconti */
.bg-discount-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 15px 0;
}

.bg-discount-group {
    background: #fff;
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 4px;
}

.bg-discount-field input[type="text"],
.bg-discount-field input[type="date"] {
    width: 100%;
    max-width: 300px;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.bg-discount-field .description {
    color: #666;
    font-size: 12px;
    margin-top: 4px;
    font-style: italic;
}

/* Stili per la sezione sconti */
.bg-discount-section {
    margin: 15px 0;
}

.bg-discount-table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 10px;
}

.bg-discount-table th {
    text-align: left;
    padding: 10px;
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
}

.bg-discount-table td {
    padding: 10px;
    vertical-align: middle;
}

.bg-discount-table input[type="text"],
.bg-discount-table input[type="date"] {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.bg-discount-table input[type="date"] {
    min-width: 150px;
}

.bg-discount-section .description {
    color: #666;
    font-size: 12px;
    margin-top: 4px;
    font-style: italic;
}

.bg-discount-row:hover {
    background-color: #f9f9f9;
}

.bg-discount-table .description-row td {
    padding: 0 10px 8px 10px;
    border-bottom: 1px solid #ddd;
    background-color: #f5f5f5;
}

.bg-discount-table .description-row small {
    color: #666;
    font-style: italic;
    font-size: 11px;
}

/* Stili per il messaggio di sconto */
.bg-discount-message {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 4px;
}

.bg-success {
    background-color: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.bg-error {
    background-color: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

/* Indicatore di caricamento */
.bg-loading {
    color: #666;
    font-style: italic;
}

.bg-commission-message {
    margin: 15px 0;
    color: #666;
    font-size: 14px;
}

.bg-discount-bar {
    background: #fff;
    padding: 15px;
    border-radius: 5px;
    margin: 10px 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.bg-discount-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.bg-discount-field input {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 120px;
    text-transform: uppercase;
}

.bg_total_number {
    font-size: 1.2em;
    font-weight: 600;
    color: #0069bf;
}

/* Stile per il messaggio di sconto applicato */
.bg-discount-message {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 4px;
    background-color: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}
#arm_form_field_container_108:before {
	display:block;
	content:"Username: demo —  Password: demo";
	text-align:center;
	font-size:13px;
	padding:0px 0px 15px 0px;
}

body.page-id-15 .arm_form_field_container_password {display:none !important;}

.arm_field_file_display .armFileRemoveContainer {color:#ffffff !important;}

.progression-studios-store-product-image-container:hover .progression-studios-shop-overlay-buttons {
  bottom: 30%;
  opacity: 1;
}

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
    color: #000000;
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    background-color: #6EC1E4;
    color: #fff;
    -webkit-font-smoothing: antialiased;
}
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    background-color: #770000;
    color: #fff;
}
div#woo_pp_ec_button_checkout {
    text-align: center;
}
/* Queste righe nascondono i tipi di pagamento*/

.elementor-448 .elementor-element.elementor-element-b19ff3c.elementor-wc-products ul.products li.product .button {
  color: #FFFFFF;
  background-color: #7c0800;
  border-color: #000000;
  border-radius: 0px 0px 0px 0px;
  padding: 15px 25px 15px 25px;
  margin-top: 0px;
}

ul.wc_payment_methods.payment_methods.methods {
    display: none;
}

div#wpestream_live_counting {
    display: none !important;
}

wpestream_live_counting
.woocommerce span.onsale {
    min-height: 3.236em;
    min-width: 5.236em;
    padding: .202em;
    font-size: 1em;
    font-weight: 900;
    position: absolute;
    text-align: center;
    line-height: 3.236;
    top: 10%;
    left: -.5em;
    margin: 0;
    border-radius: 0%;
    background-color: #6ec1e4;
    color: #fff;
    font-size: 20px;
    z-index: 9;
}

.woocommerce-notices-wrapper {
    margin-top: 60px;
    margin-bottom: -60px;
}
.woocommerce-cart table.cart img {
    width: auto;
    box-shadow: none;
}

.product-thumbnail {
    width: 15%;
}

.elementor-448 .elementor-element.elementor-element-56857fc.elementor-wc-products ul.products li.product .button, .elementor-448 .elementor-element.elementor-element-ac49f5c.elementor-wc-products ul.products li.product .button {
    text-transform: uppercase;
}

.width-container-pro {
    width: 100%;
}

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


.cart-empty {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 25px;
}


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

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

a.button.product_type_simple {
  display: block;
    background-color: #7c0800 !important;
    border-radius: 0px;
    min-width: 80px;
    min-height: 47px;
    line-height: 47px;
    right: auto;
    left: 0;
    margin: 12% 0px 0 0;
}



.elementor-448 .elementor-element.elementor-element-b19ff3c.elementor-wc-products ul.products li.product .button {
  color: #FFFFFF;
  background-color: #7c0800;
  border-color: #000000;
  border-radius: 0px 0px 0px 0px;
  padding: 15px 25px 15px 25px;
  margin-top: 0px;
}

#box_prenotazione_Spettacoli {
  background: white;
  margin-top: -8px;
  width: 100%;
  max-width: 100%;
  font-size: 15px;
}

#Box_data_Spettacoli {
  background: #000 none repeat scroll 0 0;
  border: 0px solid #fff;
  border-radius: 0%;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0;
  opacity: 1 !important;
  color: #000;
  height: auto;
  margin: 2px;
  padding: 5px;
  width: 95px;
  z-index: 1000000;
}

.giorno_settimana_Spettacoli {
  color: #fff;
  font-size: 85%;
  line-height: 0;
  text-transform: uppercase;
  text-align: center;
  border: 0;
}

.giorno_Spettacoli {
  color: #de0000;
  display: block;
  font-size: 200%;
  font-weight: bold;
  line-height: 0.2;
  margin-bottom: 0px;
  text-align: center;
  border: 0;
}
.mese_Spettacoli {
  color: #fff;
  font-size: 70%;
  text-transform: uppercase;
  text-align: center;
  line-height: 0;
  border: 0;
}
.anno_Spettacoli {
  color: #fff;
  font-size: 85%;
  text-transform: uppercase;
  text-align: center;
  line-height: 0;
  border: 0;
}
.ore_scritta_Spettacoli {
  color: #fff;
  font-size: 70%;
  text-align: center;
  line-height: 0;
  border: 0;
}
.TabDataSpettacoli {
  padding: 0;
}
.TabDettagliSpettacoli {
  padding: 0;
  width: 100%;
}

.sp_titolo {
  padding: 5px 5px 5px 0px;
}
.woocommerce-loop-product__title {
  color: red !important;
  line-height: 1;
  border: 0;
  text-align: center;
  padding:0 !important;
  
}
.sp_sottotitolo {
  line-height: 1;
  border: 0;
  color: black;
  text-align: center;
  padding: 0;
}

.sp_prezzo {
  padding: 0;
  color: black;
}

.sp_genere {
  color: black;
  line-height: 1;
  text-align: center;
  font-size: 80%;
  padding: 0;
}

.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
  margin-bottom: -43px !important;
}

.elementor-448 .elementor-element.elementor-element-2483412.elementor-wc-products .attachment-woocommerce_thumbnail {
  margin-bottom: -54!important;
}

.elementor-448 .elementor-element.elementor-element-b19ff3c.elementor-wc-products ul.products li.product .button {
  color: #FFFFFF;
  background-color: #7c0800;
  border-color: #000000;
  border-radius: 0px 0px 0px 0px;
  padding: 15px 25px 15px 25px;
  margin-top: 0px;
}


.elementor-448 .elementor-element.elementor-element-2483412.elementor-wc-products .attachment-woocommerce_thumbnail
{
  margin-bottom: -54 !important;

}
.elementor-448 .elementor-element.elementor-element-2483412.elementor-wc-products .attachment-woocommerce_thumbnail
{
  border-style: solid;

  border-width: 3px 3px 3px 3px;

  border-color: #FFFFFF;

  border-radius: 0px 0px 0px 0px;

  margin-bottom: 0px;

}
.woocommerce ul.products li.product a img
{
  width: 100%;

  height: auto;

  display: block;

  margin: 0 0 1em;

    margin-bottom: 1em;

  box-shadow: none;

}
.products.elementor-grid.columns-2 .attachment-woocommerce_thumbnail.size-woocommerce_thumbnail
{
  margin-bottom: -54px !important;

}

.spett_magia #box_prenotazione_Spettacoli {
  margin-top: -8px!important;
}

#Box_dettagli_Spettacoli {
  padding: 0 !important;
  margin: 0;
}

@media (max-width: 767px){
.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
  margin-bottom: -68px !important;}
  
  #box_prenotazione_Spettacoli {
  background: white;
  margin-top: -8px;
  width: 100%;
  max-width: 100%;
  font-size: 15px;
}

#Box_data_Spettacoli {
  background: #000 none repeat scroll 0 0;
  border: 0px solid #fff;
  border-radius: 0%;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0;
  opacity: 1 !important;
  color: #000;
  height: auto;
  margin: 2px;
  padding: 5px;
  width: 108px;
  z-index: 1000000;
}

.giorno_settimana_Spettacoli {
  color: #fff;
  font-size: 85%;
  line-height: 0;
  text-transform: uppercase;
  text-align: center;
  border: 0;
}

.giorno_Spettacoli {
  color: #de0000;
  display: block;
  font-size: 200%;
  font-weight: bold;
  line-height: 0.2;
  margin-bottom: 0px;
  text-align: center;
  border: 0;
}
.mese_Spettacoli {
  color: #fff;
  font-size: 80%;
  text-transform: uppercase;
  text-align: center;
  line-height: 0;
  border: 0;
}
.anno_Spettacoli {
  color: #fff;
  font-size: 85%;
  text-transform: uppercase;
  text-align: center;
  line-height: 0;
  border: 0;
}
.ore_scritta_Spettacoli {
  color: #fff;
  font-size: 80%;
  text-align: center;
  line-height: 0;
  border: 0;
}
.TabDataSpettacoli {
  padding: 0;
}
.TabDettagliSpettacoli {
  padding: 0;
  width: 100%;
}

.sp_titolo {
  font-size: 160%;
  padding: 5px 5px 5px 0px;
}
.woocommerce-loop-product__title {
  color: red !important;
  line-height: 1;
  border: 0;
  text-align: center;
  padding:0 !important;
  
  
}
.sp_sottotitolo {
  line-height: 1;
  border: 0;
  color: black;
  text-align: center;
  padding: 0;
  font-size: 110%;
}

.sp_prezzo {
  padding: 0;
  color: black;
}

.sp_genere {
  color: black;
  line-height: 1;
  text-align: center;
  font-size: 80%;
  padding: 0;
}
}

/* Stile per il bottone "Registrati" */
.btn-registrati {
    display: inline-block !important;
    padding: 2px 10px;
    background-color: #28a745;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 2px;
    font-weight: bold;
    font-size: 23px !important;
    text-align: center;
}

/* Effetto al passaggio del mouse */
.btn-registrati:hover {
    background-color: #218838 !important; /* Verde più scuro */
    color: #ffffff !important; /* Mantieni il testo bianco */
    text-decoration: none !important; /* Assicurati che non compaia la sottolineatura */
}

/* Visualizzazione su dispositivi mobili */
@media (max-width: 768px) {
    .btn-registrati {
        display: inline-block; /* Assicura che sia visibile */
        margin-left: 5px; /* Spazio tra "Accedi" e "Registrati" */
    }
}

/* ============================
   99. OVERRIDE COLORI RIGHE REPORT PER STATO (Appender: fine file)
   ============================ */
/* Completed: verde su tutta la riga (pari leggermente più scure) */
.widefat.bg-sales-report tbody tr.bg-report-row.completed,
.widefat.bg-sales-report tbody tr.completed,
.report-by-event table.widefat tbody tr.bg-report-row.completed,
.report-by-event table.widefat tbody tr.completed,
.report-by-date table.widefat tbody tr.bg-report-row.completed,
.report-by-date table.widefat tbody tr.completed,
.widefat.bg-sales-report tbody tr.bg-report-row.completed > td,
.widefat.bg-sales-report tbody tr.completed > td,
.report-by-event table.widefat tbody tr.bg-report-row.completed > td,
.report-by-event table.widefat tbody tr.completed > td,
.report-by-date table.widefat tbody tr.bg-report-row.completed > td,
.report-by-date table.widefat tbody tr.completed > td {
  background-color: #dff0d8 !important;
}
.widefat.bg-sales-report tbody tr.bg-report-row.completed:nth-child(even),
.widefat.bg-sales-report tbody tr.completed:nth-child(even),
.report-by-event table.widefat tbody tr.bg-report-row.completed:nth-child(even),
.report-by-event table.widefat tbody tr.completed:nth-child(even),
.report-by-date table.widefat tbody tr.bg-report-row.completed:nth-child(even),
.report-by-date table.widefat tbody tr.completed:nth-child(even),
.widefat.bg-sales-report tbody tr.bg-report-row.completed:nth-child(even) > td,
.widefat.bg-sales-report tbody tr.completed:nth-child(even) > td,
.report-by-event table.widefat tbody tr.bg-report-row.completed:nth-child(even) > td,
.report-by-event table.widefat tbody tr.completed:nth-child(even) > td,
.report-by-date table.widefat tbody tr.bg-report-row.completed:nth-child(even) > td,
.report-by-date table.widefat tbody tr.completed:nth-child(even) > td {
  background-color: #d4e9cd !important;
}

/* Failed: rosso su tutta la riga (pari leggermente più scure) */
.widefat.bg-sales-report tbody tr.bg-report-row.failed,
.widefat.bg-sales-report tbody tr.failed,
.report-by-event table.widefat tbody tr.bg-report-row.failed,
.report-by-event table.widefat tbody tr.failed,
.report-by-date table.widefat tbody tr.bg-report-row.failed,
.report-by-date table.widefat tbody tr.failed,
.widefat.bg-sales-report tbody tr.bg-report-row.failed > td,
.widefat.bg-sales-report tbody tr.failed > td,
.report-by-event table.widefat tbody tr.bg-report-row.failed > td,
.report-by-event table.widefat tbody tr.failed > td,
.report-by-date table.widefat tbody tr.bg-report-row.failed > td,
.report-by-date table.widefat tbody tr.failed > td {
  background-color: #f8d7da !important;
}
.widefat.bg-sales-report tbody tr.bg-report-row.failed:nth-child(even),
.widefat.bg-sales-report tbody tr.failed:nth-child(even),
.report-by-event table.widefat tbody tr.bg-report-row.failed:nth-child(even),
.report-by-event table.widefat tbody tr.failed:nth-child(even),
.report-by-date table.widefat tbody tr.bg-report-row.failed:nth-child(even),
.report-by-date table.widefat tbody tr.failed:nth-child(even),
.widefat.bg-sales-report tbody tr.bg-report-row.failed:nth-child(even) > td,
.widefat.bg-sales-report tbody tr.failed:nth-child(even) > td,
.report-by-event table.widefat tbody tr.bg-report-row.failed:nth-child(even) > td,
.report-by-event table.widefat tbody tr.failed:nth-child(even) > td,
.report-by-date table.widefat tbody tr.bg-report-row.failed:nth-child(even) > td,
.report-by-date table.widefat tbody tr.failed:nth-child(even) > td {
  background-color: #f4c7cb !important;
}