.tck-container{
    max-width: 1280px;
    margin: 0 auto;
    text-align: center;
}
.banner-pr-tck {
    background-color: #1dd1a1;
    padding: 10px 10px;
    color: #fff;
    position: relative;
    z-index: 10;
}
.banner-pr-tck > div {
    display: flex;
    justify-content: center;
}
.tck-btn-pr {
    display: flex;
}
.banner-pr-tck .link{
    background: #fff;
    overflow: hidden;
    padding: 10px 15px;
    color: #000;
    border-radius: 10px 0 0 10px;
    height: 35px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 16px;
}
#copyLinkPR {
    background: #333;
    color: #fff;
    height: 35px;
    min-width: 45px;
    border-radius: 0 10px 10px 0;
    border: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tck-pochette-data-consegna {
    display: flex;
    gap: 5px;
    padding: 15px;
    flex-direction: column;
}
.tck-pochette-data-consegna label {
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 5px;
    text-transform: uppercase;
    color: #3A3A3A;
}
.tck-pochette-data-consegna #data_consegna {
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 4px;
    font-size: 16px; /* Previene lo zoom su iOS */
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 8px 10px;
    height: 40px;
    background-color: #fff;
    outline: none;
}
.tck-pochette-data-consegna #data_consegna:focus {
    border-color: #000000;
}

/*OMAGGI*/
#wrapper-omaggi {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid rgb(255, 244, 85);
    background-color: #fffeb8;
}
#checkOrder input[type="text"] {
    width: 100%;
    border-radius: 5px;
    background-color: #fff!important;
    min-height: 55px;
    border: 1px solid #ddd;
}
#checkOrder {
    display: flex;
    width: 100%;
    gap: 10px;
}
#submitOmaggi {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 20px 0 0;
}
#containerOmaggi .tck-biglietto-row-input-container {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
#containerOmaggi .tck-biglietto-row {
    display: flex;
    gap: 5px;
    flex-direction: column;
    width: 100%;
    background: #ffffffd6;
    padding: 20px;
    border-radius: 5px;
    border: 1px solid #ddd;
}
#containerOmaggi .tck-biglietto-row h4 {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    text-transform: uppercase;
    color: #333;
}
#containerOmaggi .tck-biglietto-row-input-container .tck-biglietto-row-input {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
#containerOmaggi .tck-biglietto-row-input-container .tck-biglietto-row-input label {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: #333;
}
#containerOmaggi .tck-biglietto-row-input-container .tck-biglietto-row-input input,
#containerOmaggi .tck-biglietto-row-input-container .tck-biglietto-row-input select {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 5px 10px;
    min-height: 50px;
}   
.tck-omaggi-info-cliente h3 {
    margin: 15px 0 10px!important;
    font-weight: 700!important;
    font-size: 17px;
    line-height: 1;
    text-transform: uppercase;
    color: #333;
}
.tck-omaggi-info-cliente p {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
    color: #333;
}
.required-field {
    border: 2px solid #ff6b6b !important;
    background-color: #fff5f5 !important;
}
.required-field:focus {
    border-color: #ff4757 !important;
    box-shadow: 0 0 0 2px rgba(255, 71, 87, 0.2) !important;
}
.tck-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.tck-delete-button{
    background-color: #dc3545!important;
    border-color: #dc3545!important;
    color: white!important;
    padding: 10px!important;
    border-radius: 5px!important;
}
.tck-delete-button:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
}
@media (max-width: 768px) {
    .tck-action-buttons {
        flex-direction: column;
    }
    .tck-delete-button {
        margin-left: 0 !important;
        margin-top: 5px;
    }
}

/*DATATABLES*/
#main-dash-user .view-tck-customer {
    display: inline-block;
    padding: 5px 10px;
    background-color: #333;
    color: #fff;
    border-radius: 3px;
    line-height: 1;
    font-size: 14px;
}
#main-dash-user .dataTables_wrapper {
    margin-top: 10px;
}
#main-dash-user .dataTables_wrapper .dt-buttons button{
    background: transparent;
    border: 1px solid #ddd;
    background-color: #eee;
}
#main-dash-user .dataTables_wrapper input[type="search"] {
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: left;
    height: 40px;
    padding: 10px 10px;
}

#customer_filter,
#customer_filter label {
    display: block;
    width: 100%;
}
#customer_wrapper input[type="search"] {
    width: 100%;
    display: block;
    margin: 0 0 10px;
    height: 50px !important;
}

#main-dash-user .dataTables_wrapper input[type="search"]::placeholder {
    color: #999;
}
#main-dash-user .dataTable th,
#main-dash-user .dataTable td {
    font-size: 14px;
    position: relative;
}
#main-dash-user .vendite-cell-quantities {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
}
#main-dash-user .vendite-cell .badge-free {
    background: #4ab5c2;
    color: #fff;
    font-size: 15px;
    padding: 2px 5px;
    border-radius: 4px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}
.badge-free[data-omaggio]::before {
    content: attr(data-omaggio);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

#main-dash-user .vendite-table > tbody > tr.child .dtr-details {
    display: block;
    width: 100%;
}
#main-dash-user .vendite-table > tbody > tr.child .dtr-details li,
#main-dash-user .vendite-table > tbody > tr.child .dtr-details li .cta-tel-user {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: row;
}
#main-dash-user .vendite-table > tbody > tr.child .dtr-details li .cta-tel-user {
    gap: 20px;
}

.total-sales-after-table {
    background: #e4ffe2;
    padding: 20px;
    border-radius: 5px;
    margin: 20px 0 0;
    color: #000;
    border: 1px solid #bce7b9;
}

.alert-order-prevendita {
    background: #ffe0b1;
    border: 1px solid #d9a557;
    padding: 10px;
    text-align: center;
}
/*flag phone*/
.iti.iti--allow-dropdown {
    width: 100%!important;
}

#frm_field_291_container .frm_description {
    line-height: 1.2!important;
    display: block;
    margin: 10px 0 0;
}
#qrcode-pr-home {
    margin: 0 auto;
    display: block;
} 
.special-user .woocommerce-MyAccount-content > p{
    display: none!important;
}

.copyLinkPR {
    display: block;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    border-radius: 50%;
    padding: 10px;
    text-align: center;
    background: #d7eef9!important;
    border: 1px solid #87b4c9!important;
    color: #000!important;
}
.copyLinkPR svg {
    width: 20px;
    height: auto;
}

.count-varianti {
    background: #5f5179;
    margin: 0 2px;
    padding: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 5px;
    color: #fff;
    line-height: 1;
    font-size: 11px;
    font-weight: 700;
}

h4.heading-sezione {
    font-size: 18px;
    padding: 10px 15px;
    background: #eee;
    margin: 0;
}

/*WRAPPER SEARCH BY DATE*/
/*.is-affiliato .cart-collaterals,*/
.check-cliente-affiliato > .chaty  {
    display: none!important;
}
#pg-pr svg{
    color: #fff;
    width: 40px;
    height: auto;
    margin-left: 20px;
}

.select-ticket-options {
    padding: 15px;
}
.select-ticket-options .heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.select-ticket-options .heading h4 {
    font-weight: 600;
    margin: 0;
    background: #e8f1ff;
    width: 100%;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
    font-size: 15px;
}
.select-ticket-options #select_tipologia {
    height: 50px;
    border-radius: 5px;
    width: 100%;
    padding: 5px 10px;
    font-size: 16px;
}
.select-ticket-options #no-tickets-message {
    text-align: center;
    margin-top: 20px;
    font-size: 80%;
}

.wrapper-tck-biglietteria {
    margin-top: 40px;
    width: 100%;
}
.wrapper-tck-biglietteria .input-date {
    display: flex;
    align-items: center;
    padding: 15px;
    gap: 20px;
    box-shadow: 0 0 25px rgba(150,150,150,0.25);
    border-radius: 5px;
    border-bottom: 2px solid #e9ce0c;
    margin: 20px 0 0;
    background: #e9ce0c;
}
.wrapper-tck-biglietteria .m-title {
    margin: 0;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 17px;
    line-height: 1;
}
.wrapper-tck-biglietteria .field-group-tck {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}
.wrapper-tck-biglietteria .choice-data-event {
    border: 0;
    width: 60px;
    height: 100%;
    position: absolute;
    right: 0px;
    padding: 0 0;
    border-radius: 0 5px 5px 0;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
}
.wrapper-tck-biglietteria .input-date .choice-data-event svg {
    width: 25px;
    height: auto;
    fill: #fff;
}
.wrapper-tck-biglietteria .tck-data-event {
    border-radius: 5px;
    border: 1px solid #9f9f9f;
    padding: 10px 45px 10px 10px;
    width: 100%;
    line-height: 1.5;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.wrapper-tck-biglietteria .tck-date-results{
    background: #fff;
    padding: 15px;
    box-shadow: 0 0 25px rgba(150,150,150,0.25);
    margin: -4px 0 0;
    border-radius: 0 0 4px 4px;
}
.wrapper-tck-biglietteria .tck-date-results small.info {
    display: block;
    text-align: center;
}

/*STATISTICHE*/
#searchInput {
    width: 100%;
    display: block;
    padding: 10px;
    border: 1px solid #333;
    border-radius: 4px;
    font-size: 18px;
    outline: none;
}
.table-wrapper,
.vendite-wrapper {
    overflow-x: auto!important;
}
.vendite-table {
    border-collapse: collapse;
    width: 100%;
}
.vendite-row td,
.vendite-row th,
.vendite-total-row td,
.vendite-total-row th {
    border: 1px solid #ddd!important;
}
.vendite-row:nth-child(even) {
    background-color: #f2f2f2;
}

.vendite-heading {
    text-align: left;
    padding: 10px!important;
    background-color: #ccc;
    font-weight: bold;
}
.separator .vendite-heading {
    background: #d6ab3a !important;
    color: #fff !important;
    padding: 10px !important;
}
.vendite-cell {
    padding: 10px!important;
    border-bottom: 1px solid #eee;
    line-height: 1.2;
}

.vendite-total-row {
    font-weight: bold;
}

.vendite-total-label {
    text-align: right;
    padding-right: 10px;
    line-height: 1.2;
}

.vendite-total-value {
    text-align: center;
}
.cta-tel-user {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}
.cta-tel-user .cta-tel {
    display: flex;
    gap: 8px;
}
.cta-tel-user .cta-tel svg {
    width: 23px;
    height: auto;
    fill: #000;
}


/*datepicker*/
.ui-datepicker .ui-widget-header {
    border: 0;
    background: #2c3e50;
    color: #fff;
    font-weight: bold;
    border-radius: 4px!important;
    padding: 10px!important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
    background-color: #fff;
}
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td .ui-state-default {
    text-align: center;
}
.ui-datepicker-calendar td:not(.ui-datepicker-unselectable) a {
    background: #2ecc71;
    border: 0;
    color: #fff;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    border-radius: 0!important;
    border: 0!important;
    background: transparent!important;
    color: #fff;
    top: 7px!important;
    cursor: pointer;
}
.ui-datepicker-prev span {
    background: none!important;
    width: 20px;
    height: 20px;
    color: #fff!important;
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23ffffff" class="bi bi-chevron-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"/></svg>');
}
.ui-datepicker-next span {
    background: none!important;
    width: 20px;
    height: 20px;
    color: #fff!important;
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23ffffff" class="bi bi-chevron-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/></svg>');
}

/*RECORD DATEPICKER*/
.carrello-form {
    margin: -15px -15px 0;
}
.carrello-form .tck-record,
#list-prevendita .tck-record {
    padding: 15px;
    border-bottom: 1px solid #eee;
}
.carrello-form .price-promo-txt {
    display: block;
    font-weight: 400;
    max-width: 170px;
    font-size: 14px;
    margin: 0 0 5px;
}
.tck-flex {
    display: flex;
}
.tck-flex-center {
    align-items: center;
}
.tck-flex-center-h {
    justify-content: space-between;
}
.tck-gap5 {
    gap: 5px;
}
.tck-gap10 {
    gap: 10px;
} 
.error-outstock {
    color: #BE332F;
    margin: 40px 0;
    padding: 0;
}
.carrello-form .title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}
.carrello-form .title .qty,
.tck-quantita-biglietto {
    background: #c13131;
    border-radius: 3px;
    padding: 2px 4px;
    color: #fff;
}
.carrello-form .desc {
    line-height: 1.4;
    margin-bottom: 10px;
    font-size: 90%;
    opacity: 0.9;
}
.carrello-form .tck-footer {
    align-items: center;
}
.carrello-form .tck-footer {
    gap: 10px;
    flex-direction: column;
    line-height: 1;
    display: flex;
    min-width: 160px;
}
.carrello-form .tck-footer .tck-price {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}
.carrello-form .tck-footer .tck-price .sale {
    display: block;
    font-weight: 300;
    font-size: 80%;
}
.carrello-form .tck-footer .tck-price del {
    opacity: 0.6;
}
.carrello-form .quantity-buttons {
    display: flex;
}
.carrello-form .quantity-buttons button {
    padding: 0px 12px;
    max-height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #777;
    border: 0;
    color: #fff;
    transition: all .5s;
}
.carrello-form .quantity-buttons button:hover {
    background: #333;
}
.carrello-form .quantity-buttons input{
    max-width: 60px;
    max-height: 35px;
    padding-right: 0;
    min-width: 60px;
}
/* Totale della spesa */
.carrello-form .tck-totale {
    margin: 16px 0 4px;
    padding: 14px 15px;
    border-top: 2px solid currentColor;
}
.carrello-form .tck-totale-riga {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.carrello-form .tck-totale-parola {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.carrello-form .tck-totale-cifra {
    font-size: 1.5em;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.carrello-form .tck-totale-voci {
    margin: 4px 0 0;
    font-size: .85em;
    opacity: .7;
}
.carrello-form .tck-totale-commissioni {
    margin: 2px 0 0;
    font-size: .85em;
    opacity: .7;
}

/* Scelta a posto unico */
.carrello-form .tck-scelta-unica {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 35px;
}
.carrello-form .tck-scelta-unica input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 auto;
    cursor: pointer;
    /* currentColor: il plugin gira su temi chiari e scuri e non impone un colore suo. */
    accent-color: currentColor;
}
.carrello-form .tck-scelta-unica label {
    margin: 0;
    cursor: pointer;
    line-height: 1.2;
}
.carrello-form .tck-date{
    margin: -15px -15px 10px -15px;
    padding: 0 15px;
    background: #eee;
}
.carrello-form .link-site{
    padding: 8px 12px;
    background: #212121;
    border-radius: 4px;
    color: #fff;
    border: 0;
    transition: all .5s;
}
.carrello-form .link-site:hover {
    opacity: .75;
}
.carrello-form .tck-variants {
    display: flex;
    flex-direction: column;
    background: #eee;
    padding: 10px;
    margin: 10px 0 0;
    border-radius: 5px;
}
.carrello-form .tck-variants .tck-variant-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.carrello-form .tck-variants .tck-variant-item + .tck-variant-item {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}
.carrello-form .tck-record.is-insurance {
    background: #c5f1dc;
    display: none;
}
.carrello-form .tck-record.is-insurance .tck-flex-center {
    align-items: start;
}
.carrello-form .tck-record.is-insurance svg {
    width: 30px;
    height: 30px;
    color: #222222;
}
.carrello-form .tck-record .desc a {
    text-decoration: underline;
    font-weight: 600;
}

.carrello-form .submit {
    padding: 10px;
    display: none;
}
.carrello-form .submit button{
    padding: 15px 10px;
    width: 100%;
    background: #222;
    border: 0;
    transition: all .5s;
    color: #fff;
    text-align: center;
}
.carrello-form .submit button:hover {
    opacity: .75;
}

.carrello-form .tck-relation-notice {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 0;
    padding: 10px 15px;
    margin: 0;
    color: #856404;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.carrello-form .tck-relation-notice:before {
    content: "⚠️";
    font-size: 16px;
}

.nav-wrapper-tck {
    display: flex;
    justify-content: space-between;
}
.nav-wrapper-tck button {
    display: flex;
    width: 100%;
    border: 0;
    outline: none;
    margin: 0;
    padding: 10px;
    justify-content: center;
    background: #919191;
    color: #fff;
    text-align: center;
    font-size: 16px;
    box-shadow: 0 -5px 2px inset rgba(0,0,0,0.1);
}
.nav-wrapper-tck button.active {
    background-color: #fff;
    color: #000;
    font-weight: 600;
    box-shadow: none;
}

/*BIGLIETTERIA OMAGGI*/
.tck-link-omaggi {
    position: relative;
}
.tck-link-omaggi .tck-badge-omaggi {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #BE332F;
    color: #fff;
    font-size: 10px;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.tck-no-data {
    text-align: center;
    padding: 10px;
    color: #999;
}
.tck-omaggi-container {
    margin: 20px 0;
    overflow-x: auto;
}

.tck-omaggi-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background-color: #fff;
    border-right: 1px solid #eee!important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.tck-omaggi-table thead th {
    background-color: #f5f5f5;
    padding: 12px 15px !important;
    text-align: left;
    font-weight: bold;
    border-bottom: 1px solid #ddd !important;
}

.tck-omaggi-table tbody tr {
    border-bottom: 1px solid #eee!important;
}

.tck-omaggi-table tbody tr:hover {
    background-color: #f9f9f9;
}

.tck-omaggi-table tbody td {
    padding: 12px 15px !important;
    vertical-align: top;
    line-height: 1.2;
}

/* Stili per il raggruppamento delle righe */
.tck-omaggi-table tr.tck-order-group {
    background-color: #f8f8f8;
}

.tck-omaggi-table tr.tck-order-row td {
    border-top: none;
}

.tck-omaggi-table tr.tck-order-first {
    border-top: 1px solid #ddd;
}

.tck-omaggi-table tr.tck-order-row td.tck-order-info-cell {
    background-color: #f4f4f4;
    border-right: 1px solid #eee;
}

/* Stile per le statistiche */
.tck-counter {
    display: block;
    font-size: 0.9em;
    color: #666;
    margin-top: 2px;
}

/* Stati */
.tck-status-pending {
    color: #f39c12!important;
    font-weight: bold;
}

.tck-status-completed {
    color: #2ecc71!important;
    font-weight: bold;
}

.tck-status-rejected {
    color: #e74c3c!important;
    font-weight: bold;
}

/* Input e controlli */
.tck-qty-input {
    width: 60px;
    padding: 5px!important;
    border: 1px solid #ddd!important;
    border-radius: 3px!important;
    background-color: #fff!important;
    min-height: 35px!important;
}    
.tck-status-select {
    padding: 5px!important;
    border: 1px solid #ddd!important;
    border-radius: 3px!important;
    background-color: #fff!important;
    min-height: 35px!important;
    min-width: 100px!important;
    font-size: 13px!important;
}

#main-dash-user .tck-save-button {
    padding: 6px 15px !important;
    margin: 0 !important;
    border-radius: 5px !important;
    min-height: 35px!important;
}

/* Messaggio di feedback */
.tck-message {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 3px;
    font-weight: bold;
}

.tck-success {
    background-color: #dff0d8;
    color: #3c763d;
    border: 1px solid #d6e9c6;
}

.tck-error {
    background-color: #f2dede;
    color: #a94442;
    border: 1px solid #ebccd1;
}

.title-headline {
    color: #555!important;
}

@keyframes tck-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive */
@media screen and (max-width: 768px) {
    .tck-omaggi-table thead {
        display: none;
    }
    .tck-qty-input {
        min-width: 100px!important;
    }

    .tck-omaggi-table tr:not(.tck-order-first) .no-title-responsive::before {
        display: none!important;
    }

    .tck-omaggi-table tbody td {
        display: block;
        text-align: right;
        padding: 10px;
        position: relative;
        padding-left: 50%;
    }
    
    .tck-omaggi-table tbody td:before {
        content: attr(data-title);
        position: absolute;
        left: 10px;
        font-weight: bold;
    }
    
    .tck-omaggi-table tbody tr {
        display: block!important;
        padding: 15px!important;
    }
    .tck-omaggi-table tbody td {
        padding: 5px 0 !important;
    }
}

/*BIGLIETTERIA STANDARD*/
.biglietteria-std .carrello-form {
    background: #fff;
    margin: 20px 0 0;
    box-shadow: 0 0 25px rgba(150,150,150,0.25);
    border-radius: 5px;
    overflow: hidden;
}
.biglietteria-std .date-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1;
    text-transform: capitalize;
}
.biglietteria-std .date-wrapper .dayn {
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}
.biglietteria-std button.active .dayn {
    color: #BE9835;
}

/* Scarica i tuoi biglietti — elenco nell'area account.
   Stile standard: nessun colore di marca, le tinte passano da variabili che un tema
   ridefinisce in una riga, per esempio
   .wrapper-download-biglietti{ --tck-dl-accento:#9C4221 }
   Gli !important sull'h2 sono necessari: i temi vestono gli h2 con margini e corpi
   loro e senza quelli il titolo salta. */
.wrapper-download-biglietti{
    --tck-dl-bordo:#e4e0dc;
    --tck-dl-fondo:#fff;
    --tck-dl-passaggio:rgba(0,0,0,.025);
    --tck-dl-ink:#1d1b19;
    --tck-dl-tenue:#7b736c;
    --tck-dl-accento:#1d1b19;

    margin-bottom:24px;
    background:var(--tck-dl-fondo);
    border:1px solid var(--tck-dl-bordo);
    border-radius:14px;
    overflow:hidden;
}
.wrapper-download-biglietti h2{
    margin:0 !important;
    padding:17px 22px 14px;
    font-size:1.12rem !important;
    line-height:1.25;
    color:var(--tck-dl-ink);
    background:none;
    border-bottom:1px solid var(--tck-dl-bordo);
}
.wrapper-download-biglietti p{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0;
    padding:13px 22px;
    line-height:1.45;
    border-top:1px solid var(--tck-dl-bordo);
    transition:background .18s ease;
}
/* Il filo del titolo fa gia' da separatore: senza questo se ne vedrebbero due. */
.wrapper-download-biglietti h2 + p{border-top:0}
.wrapper-download-biglietti p:hover{background:var(--tck-dl-passaggio)}

/* `min-width:0` e' necessario: senza, un titolo lungo non si stringe e spinge il
   pulsante fuori dal contenitore. */
.wrapper-download-biglietti .title{
    min-width:0;
    font-size:.85rem;
    color:var(--tck-dl-tenue);
}
/* Il <br> si nasconde apposta: con il <b> a blocco lascerebbe una riga vuota. */
.wrapper-download-biglietti .title br{display:none}
.wrapper-download-biglietti .title b{
    display:block;
    margin-bottom:1px;
    font-size:.97rem;
    font-weight:600;
    color:var(--tck-dl-ink);
}

/* Pulsante tondo con la sua area, non un'icona nuda: su un telefono dev'essere un
   bersaglio premibile. */
.wrapper-download-biglietti p a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid var(--tck-dl-bordo);
    color:var(--tck-dl-accento);
    text-decoration:none;
    transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.wrapper-download-biglietti p a:hover{
    background:var(--tck-dl-accento);
    border-color:var(--tck-dl-accento);
    color:var(--tck-dl-fondo);
}
.wrapper-download-biglietti p a:focus-visible{
    outline:2px solid var(--tck-dl-accento);
    outline-offset:2px;
}
.wrapper-download-biglietti p a svg{
    width:18px;
    height:18px;
}

/* 560 copre tutti i telefoni in verticale. */
@media (max-width:560px){
    .wrapper-download-biglietti h2{padding:15px 16px 12px;font-size:1.05rem !important}
    .wrapper-download-biglietti p{padding:12px 16px;gap:12px}
    .wrapper-download-biglietti p a{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){
    .wrapper-download-biglietti p,
    .wrapper-download-biglietti p a{transition:none}
}

/*MODULO PR*/
.info-pr-form {
    background-color: #9ce7bc;
    padding: 20px;
    margin: 0;
}
.bulk-discount-text{
    background: #fffad6;
    padding: 20px;
}
.bulk-discount-text p:last-child {
    margin: 0;
    padding: 0;
}
#contacts-pr {
    max-width: 540px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: center;
    gap: 40px;
    text-align: center;
}
#contacts-pr svg {
    width: 40px;
    height: auto;
    fill: #000;
}
.hidden-field-form {
    display: none!important;
}
.main-phone-pr {
    text-align: center;
}
.main-title-pr {
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
}
.cart-pr-title {
    background: #fff!important;
    position: relative;
    z-index: 5;
    margin: 0 0 -10px!important;
    padding: 30px 30px 0!important;
    box-shadow: 0 -15px 20px rgba(0,0,0,0.05);
    font-weight: 500!important;
} 
#form_registrazione,
#form_chiusura-prevendita{
    padding: 30px 30px 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.15);
}

/*LISTA PREVENDITA*/
#list-prevendita {
    padding: 200px 0 100px;
}
#list-prevendita h1 {
    text-align: center;
    font-size: 32px;
    line-height: 1;
    margin: 0 0 20px;
}
#list-prevendita h1.order-completed {
    color: #6bc94d;
    font-weight: 700;
}
#list-prevendita .info-prevendita {
    border: 1px solid #ddd;
}
#list-prevendita .info-prevendita .header {
    padding: 10px 15px;
    border-bottom: 1px solid #ddd;
    background: #f1f1f1;
}
#list-prevendita .info-prevendita .header h3 {
    font-size: 20px;
    font-weight: 700;
}
#list-prevendita .info-prevendita .header p {
    margin: 0;
    padding: 0;
}
#list-prevendita .carrello-form .title .qty {
    padding: 2px 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 20px;
    padding: 0 10px;
}
#list-prevendita .submit-tck {
    padding: 0;
}
#list-prevendita .submit-tck button {
    width: 100%;
    background: #000;
    border: 0;
    transition: all .5s;
}
#list-prevendita .submit-tck button:hover {
    opacity: 0.75;
}

.link-prevendita svg{
    width: 30px;
    height: auto;
}

/*PAGE ACCOUNT*/
.stats-user-sales {
    justify-content: center;
}

/* Pagina pubblica dei biglietti — ?tckdownload=TOKEN
   Le tinte sono le stesse variabili della lista dei biglietti: le due parti della
   pagina devono essere la stessa cosa, non somigliarsi. */
.downloads-tickets-customer{
    --tck-dl-bordo:#e4e0dc;
    --tck-dl-fondo:#fff;
    --tck-dl-passaggio:rgba(0,0,0,.025);
    --tck-dl-ink:#1d1b19;
    --tck-dl-tenue:#7b736c;
    --tck-dl-accento:#1d1b19;

    margin:100px auto 60px;
    max-width:640px;
        padding:0 20px;
}
.downloads-tickets-customer .text-center{text-align:center}
.downloads-tickets-customer h1{
    margin:0 0 4px;
    line-height:1.15;
    color:var(--tck-dl-ink);
}
.downloads-tickets-customer > p{
    margin:0;
    color:var(--tck-dl-tenue);
}

/* Pulsante, con icona e parole sulla stessa riga: e' l'unica azione della pagina
   oltre allo scaricamento. */
.downloads-tickets-customer .share-whatsapp a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:10px 18px;
    border:1px solid var(--tck-dl-bordo);
    border-radius:999px;
    background:var(--tck-dl-fondo);
    color:var(--tck-dl-ink);
    font-size:.9rem;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    transition:border-color .18s ease,background .18s ease;
}
.downloads-tickets-customer .share-whatsapp a:hover{
    border-color:var(--tck-dl-accento);
    background:var(--tck-dl-passaggio);
    color:var(--tck-dl-ink);
}
.downloads-tickets-customer .share-whatsapp a:focus-visible{
    outline:2px solid var(--tck-dl-accento);
    outline-offset:2px;
}
/* L'icona tiene il verde di WhatsApp; il resto del pulsante resta neutro. */
.downloads-tickets-customer .share-whatsapp svg{
    flex:0 0 auto;
    width:17px;
    height:17px;
    color:#25D366;
}

@media (max-width:560px){
    .downloads-tickets-customer{padding:0 16px}
    /* Sul telefono a piena larghezza, come gli altri pulsanti del plugin. */
    .downloads-tickets-customer .share-whatsapp a{display:flex;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
    .downloads-tickets-customer .share-whatsapp a{transition:none}
}


/*PAGE COMUNICAZIONE*/
.tck-comunicazione {
    margin: 0 auto;
    max-width: 767px;
    padding: 90px 20px;
    width: 100%;
}
.tck-comunicazione .text-center {
    text-align: center;
}
.tck-comunicazione h1 {
    font-size: 30px;
    margin: 40px 0 10px;
    text-align: center;
}
.tck-comunicazione .date-com {
    margin-bottom: 40px;
}
.tck-comunicazione .info-order {
    background: #f9f9f9;
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 5px;
    margin: 40px 0 40px;
}
.tck-comunicazione .info-order h3 {
    margin-bottom: 10px;
}
.tck-comunicazione .info-order h4 {
    font-size: 18px;
    margin: 0 0 10px;
}
.tck-comunicazione .confirm-reading {
    background: #e3ffdf;
    text-align: center;
    padding: 20px;
    border-radius: 5px;
    border: 1px solid #aaddaa;
    color: #000;
}
.tck-comunicazione button {
    background: #000;
    color: #fff;
    display: block;
    padding: 20px;
    width: 100%;
    margin: 20px 0 0;
    border-radius: 5px;
    transition: all .5s;
    text-align: center;
}
.tck-comunicazione button:hover {
    opacity: 0.75;
}

.tck-comunicazione .item-row-field + .item-row-field {
    margin-top: 20px;
}
.tck-comunicazione .item-row-field label {
    display: block;
    color: #000;
}
.tck-comunicazione .item-row-field input {
    border-radius: 5px;
    padding: 5px 10px;
    border: 1px solid #ccc;
}

.tck-comunicazione .item-cambio-row {
    position: relative;
}
.tck-comunicazione .item-cambio-row input {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}
.tck-comunicazione .item-cambio-row label{
    display: block;
    border-radius: 5px;
    padding: 10px 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    background: #fff;
    transition: all .5s;
    color: #000;
    margin-bottom: 10px;
}   
.tck-comunicazione .item-cambio-row input[type="radio"]:checked + label {
    background-color: #D6AB3A;
    color: #fff;
}
.tck-comunicazione .prod-change {
    font-size: 24px;
    text-align: center;
}
.tck-comunicazione .prod-change small {
    font-weight: 400;
}

/*STYLE LIST AFFILIATE*/
.info-new-order-affiliate {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid #fde440;
    align-items: center;
    padding: 20px;
    background: #fff7b7;
    border-radius: 10px;
    margin: 0 0 20px;
}
.info-new-order-affiliate p {
    margin: 0;
}
.info-new-order-affiliate #new-customer-tkg {
    padding: 10px 20px;
    background-color: #000;
    color: #fff!important;
    border-radius: 5px;
    transition: all .5s;
    border: 0;
} 

#prod-affiliate {
    margin: 50px 0;
    padding: 70px 20px;
}
#prod-affiliate .event-affiliate{
    background-color: #fff;
    max-width: 670px;
    margin: 0 auto 30px;
    float: none;
    padding: 0;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
    border-radius: 20px;
    overflow: hidden;
}
#prod-affiliate .thumbnail-affiliate img {
    display: block;
    max-width: 100%;
    height: auto;
}
#prod-affiliate .thumbnail-affiliate {
    position: relative;
}
#prod-affiliate .thumbnail-affiliate .copyLinkPR {
    line-height: 1;
    padding: 0;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 5;
}
#prod-affiliate .wrapper-tck-biglietteria .input-date {
    border-radius: 0 0 5px 5px;
}
#prod-affiliate .content-affiliate {
    padding: 0;
}
#prod-affiliate .content-affiliate h3{
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 20px;
}
#prod-affiliate .wrapper-tck-biglietteria {
    margin: 0;
}
#prod-affiliate .wrapper-tck-biglietteria > h3 {
    display: none;
}
#prod-affiliate .content-affiliate h3 {
    padding: 20px 20px 0;
}
#prod-affiliate .content-affiliate h3 a {
    color: #000;
    font-size: 26px;
    font-weight: 600;
}
#prod-affiliate .content-affiliate .button{
    display: inline-block;
    padding: 10px 20px;
    background-color: #000;
    color: #fff;
}
#prod-affiliate .error-outstock {
    text-align: center;
}

.woocommerce-page.woocommerce-checkout form #order_review td.product-name, 
.woocommerce.woocommerce-checkout form #order_review td.product-name {
    align-items: flex-start;
    flex-direction: column;
}
.woocommerce-mini-cart .wrap-box-qty-pr {
    display: none;
}
.wrap-box-qty-pr {
    padding: 10px 0;
}
.wrap-box-qty-pr + .wrap-box-qty-pr {
    padding-top: 0;
}
.box-qty-pr {
    background: #fffc8d;
    padding: 10px;
    border: 1px solid #f1ed62;
    display: inline-flex;
    align-items: center;
    gap: 15px;
    border-radius: 5px;
    font-size: 14px;
    width: 100%;
    justify-content: space-between;
    max-width: 380px;
}
.wrap-box-qty-pr .txt {
    line-height: 1.1;
    text-align: left;
}
.wrap-box-qty-pr input {
    border: 1px solid #999 !important;
    border-radius: 5px !important;
    background: #fff !important;
    min-width: 60px;
}

td.product-name dl.variation {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    line-height: 1.4;
    max-width: 300px;
    text-align: left;
}
td.product-name dl.variation dt,
td.product-name dl.variation dd {
    width: 47%;
}

dl.variation dt {
    font-weight: 700;
}
dl.variation dd {
    margin:0!important;
}
dl.variation dd p {
    margin:0!important;
}

/*RESPONSIVE*/
@media(max-width:787px){

    .woocommerce table.shop_table_responsive tbody th, .woocommerce-page table.shop_table_responsive tbody th {
        display: block!important;
    }

    /*STYLE LIST AFFILIATE*/
    #prod-affiliate {
        margin: 0;
        padding: 40px 20px;
    }
    /*MODULO ACCOUNT*/
    .downloads-tickets-customer {
        margin: 60px auto 60px;
    }

    #prod-affiliate {
        padding: 50px 0;
    }
    #list-prevendita {
        padding:80px 0 70px
    }
    #list-prevendita .tck-heading {
        text-align: center;
    }
    #list-prevendita .tck-record > .tck-flex{
        flex-direction: column;
    }
    #list-prevendita .carrello-form .title {
        flex-direction: column;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 10px;
    }
    #list-prevendita .tck-footer{
        background: #fff9b1;
        padding: 20px 20px;
        text-align: center;
        min-width: 100%;
        align-items: center;
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .tck-record-single {
        flex-direction: column;
        line-height: 1.2;
    }
    .tck-record-single > div {
        width: 100%;
    }
    .carrello-form .tck-footer {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        gap: 10px;
        align-items: center;
        padding: 10px;
    }
}
@media(max-width:500px){

    .cta-tel-user {
        flex-direction: column;
    }

    .info-new-order-affiliate {
        flex-direction: column;
    }
    .info-new-order-affiliate #new-customer-tkg {
        display: block;
        width: 100%;
    }

}

/* Avvisami — il modulo di raccolta email.
   Nessun colore di marca: tutto passa da variabili, così ogni portale lo veste dal
   proprio foglio senza toccare il plugin. */
.tck-avvisami {
    --tck-nl-accento: currentColor;
    --tck-nl-testo: currentColor;
    --tck-nl-bordo: rgba(0, 0, 0, .18);
    --tck-nl-fondo: transparent;
    --tck-nl-raggio: 999px;
    --tck-nl-errore: #b3261e;
    color: var(--tck-nl-testo);
}
.tck-avvisami-testi { display: block; margin-bottom: .7em; }
.tck-avvisami-titolo { display: block; margin-bottom: .2em; }
.tck-avvisami-testo { display: block; }

.tck-avvisami-riga {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: stretch;
}
.tck-avvisami-riga input[type="email"] {
    flex: 1 1 12rem;
    min-width: 0;
    padding: .7em 1em;
    border: 1px solid var(--tck-nl-bordo);
    border-radius: var(--tck-nl-raggio);
    background: var(--tck-nl-fondo);
    color: inherit;
    font: inherit;
}
.tck-avvisami-invia {
    padding: .7em 1.4em;
    border: 0;
    border-radius: var(--tck-nl-raggio);
    background: var(--tck-nl-accento);
    color: var(--tck-nl-fondo-pulsante, #fff);
    font: inherit;
    cursor: pointer;
}
.tck-avvisami-invia[disabled] { opacity: .6; cursor: progress; }

.tck-avvisami-consenso {
    margin: .6em 0 0;
    font-size: .85em;
    line-height: 1.45;
}
.tck-avvisami-consenso label {
    display: flex;
    gap: .5em;
    align-items: flex-start;
}
.tck-avvisami-consenso input { margin-top: .18em; flex: 0 0 auto; }

.tck-avvisami-esito { margin: .7em 0 0; }
.tck-avvisami-esito.is-errore { color: var(--tck-nl-errore); }

/* Il campo esca va fuori dallo schermo e NON in `display:none`: un campo nascosto
   cosi' viene saltato dai programmi automatici, e saltandolo non si fanno riconoscere. */
.tck-avvisami-esca {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
