.veno-stripe-checkout-loader{
	position: absolute;
	background: #fff;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
    z-index: 9;
}
.veno-stripe-checkout-wrapper{
	position: relative;
}

.veno-stripe-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
/*    display: flex;
    align-items: center;
    justify-content: center;*/
    overflow-y: auto;
}

.veno-stripe-modal-content {
    background: white;
    padding: 30px;
    border-radius: 8px;
    max-width: 800px;
    position: relative;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    margin: 4rem auto;
}
.veno-stripe-modal-content :focus{
    outline: none;
}

.veno-stripe-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}
.veno-stripe-form-body{
    position: relative;
    padding: 1rem 0;
}
.veno-stripe-card-errors{
    color: red; margin-top: 1em;
}
.veno-stripe-payment-element{
     margin-top: 1em;
}
.veno-stripe-submit-button{
    margin-top: 2rem;
    width: 100%;
}
.veno-modal-title{
    margin: 0;
    margin-bottom: 1rem;
}

/*.veno-form-control {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 0.5rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  box-sizing: border-box;
}

.veno-btn {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: inherit;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  background-color: transparent;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}*/
/* =========================================
   INPUT STILE WOOCOMMERCE DEFAULT
   ========================================= */
.veno-form-control {
  display: block;
  width: 100%;
  padding: .9rem 1.1rem; /* Leggermente più alto del tuo originale */
  font-size: 1rem; /* Spesso WC usa font-size: 14px o 1em, 1rem va bene */
  font-weight: 400;
  line-height: 1.5;
  color: #43454b; /* Colore testo standard WC */
  background-color: #fff; /* Sfondo bianco invece di trasparente */
  background-clip: padding-box;
  border: 1px solid #d3ced2; /* Grigio standard dei bordi WC */
  border-radius: 3px; /* Angoli più squadrati (default WC) */
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Effetto Focus (Essenziale per replicare l'accessibilità di WC) */
.veno-form-control:focus {
  border-color: #000; /* O il colore primario del tuo tema */
  outline: none;
  box-shadow: 0 0 0 1px #000; /* Sostituisci #000 col colore del tema se necessario */
}

/* =========================================
   PULSANTE STILE WOOCOMMERCE DEFAULT
   ========================================= */
.veno-btn {
  display: inline-block;
  padding: 0.618em 1em; /* Padding classico basato sulla sezione aurea di WC */
  font-family: inherit; /* Meglio ereditare dal tema che forzare Arial */
  font-size: 1rem; /* o 100% */
  font-weight: 700; /* I pulsanti WC sono in grassetto */
  line-height: 1.5;
  color: #333333; /* Colore testo (default per pulsanti secondari WC) */
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 0; /* WC solitamente non usa bordi sui bottoni */
  border-radius: 3px; /* Angoli squadrati come gli input */
  background-color: #eeeeee; /* Sfondo di default WC (grigio chiaro) */
  transition: color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Effetto Hover del pulsante */
.veno-btn:hover,
.veno-btn:focus {
  background-color: #d5d5d5; /* Un grigio leggermente più scuro per l'hover */
  color: #333333;
  text-decoration: none;
  outline: none;
}

/* Variante Pulsante "Primario" (es. Aggiungi al carrello, Checkout) */
.veno-btn.veno-btn-primary {
  background-color: #a46497; /* Colore viola standard di WC (modificalo col tuo colore primario) */
  color: #ffffff;
}

.veno-btn.veno-btn-primary:hover,
.veno-btn.veno-btn-primary:focus {
  background-color: #935386; /* Viola più scuro */
  color: #ffffff;
}

.veno-input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.veno-input-group .veno-btn {
  position: relative;
  z-index: 2;
}

.veno-input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.veno-input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}


.veno-input-group > .veno-form-control, .veno-input-group > .form-floating, .veno-input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.veno-stripe-coupon-area{
    margin-bottom: 1rem; display: flex; align-items: center; gap: 10px;
}

.veno-payment-notice{
    font-size: 0.8rem;
}

.veno-license-description{
    margin-bottom: 1rem;
}
/* Container Principale */
.veno-stripe-dropdown-container {
    margin-bottom: 1rem;
    max-width: 100%;
}

/* Custom Select Base */
.veno-custom-select {
    position: relative;
    user-select: none;
    margin-bottom: 1rem;
}

.veno-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

.veno-select-trigger:hover {
    border-color: #cbd5e0;
}

/* Icona Freccia (Chevron) */
.veno-chevron {
    border: solid #4a5568;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

.veno-custom-select.is-open .veno-chevron {
    transform: rotate(-135deg);
}

/* Lista Opzioni */
.veno-select-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin-top: -4px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease;
}

.veno-custom-select.is-open .veno-select-options {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.veno-select-option {
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.2s;
}

.veno-select-option:hover {
    background-color: #f7fafc;
}

.veno-select-option.selected {
    background-color: #edf2f7;
    color: #3182ce;
    font-weight: bold;
}

/* Gestione Pannelli Contenuto */
.veno-stripe-panel {
    display: none;
    animation: fadeIn 0.3s ease;
}

.veno-stripe-panel.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.veno-price-display {
    margin-bottom: 15px;
}
.veno-stripe-price-amount{
    font-size: 1.8rem;
    font-weight: bold;
}
.veno-stripe-price-currency{
    font-size: 1.4rem;
}
.veno-stripe-price-suffix,
.veno-stripe-price-from{
    font-size: .8rem;
}

.veno-stripe-component .veno-price-display {
    margin-bottom: 15px;
}

.veno-stripe-component .veno-stripe-price-amount{
    font-size: 2.8rem;
    font-weight: bold;
}
.veno-stripe-component .veno-stripe-price-currency{
    font-size: 2rem;
    vertical-align: super;
}
/*.veno-stripe-component .veno-stripe-price-suffix{
    font-size: 0.8rem;
}
*/
.veno-purchase-card{
    font-size: 0.9rem;
    width: 100%;
    padding: 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.veno-activated-sites-list{
    list-style: none;
    margin: 0;
    padding: 0;
}
.veno-stripe-purchase-button{
    width: 100%;
}
.veno-stripe-purchase-button,
.veno-stripe-submit-button {
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    box-shadow: 0 4px 14px 0 rgba(37, 99, 235, 0.39);
    transition: all 0.3s ease;
    cursor: pointer;
    width: 100%;
}

.veno-stripe-purchase-button:hover ,
.veno-stripe-submit-button:hover{
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.23);
    background: linear-gradient(135deg, #1D4ED8 0%, #1E40AF 100%);
}

.veno-stripe-coupon-toggle .show-coupon {
    display: flex;
    padding: 1rem 0;
    align-items: center;
    cursor: pointer;
}
.veno-stripe-coupon-feedback{
    margin-bottom: 1rem;
    font-size: 0.9em;
}

.veno-modal-subtitle {
    margin-bottom: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #eee;
    line-height: 1.4;
    font-size: 1.5rem;
    border-radius: 6px;
    background: rgba(200, 200, 200, 0.2);
}

.veno-modal-product-name {
    font-weight: 600;
    color: #333;
}

.veno-modal-license-name {
    color: #666;
    text-transform: capitalize;
}


/* Stile per la freccia */
.veno-toggle-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent; /* Lato sinistro della freccia */
    border-right: 5px solid transparent; /* Lato destro della freccia */
    border-top: 5px solid currentColor; /* Punta della freccia (colore ereditato dal link) */
    transform: rotate(90deg); /* Inizialmente punta a sinistra */
    transition: transform 0.3s ease-out; /* Animazione della rotazione */
    margin-left: auto;
}

.veno-toggle-arrow.open {
    transform: rotate(0deg); /* Quando aperto, punta in basso */
}

/* Stile per il contenitore del form coupon per l'animazione */
.veno-stripe-coupon-form,
.veno-stripe-login-form-container {
    max-height: 0; /* Inizialmente nascosto */
    overflow: hidden;
    transition: max-height 0.4s linear; /* Animazione di max-height e padding */
    padding: 0 0; /* Nessun padding verticale quando collassato */
}

.veno-stripe-coupon-form.open,
.veno-stripe-login-form-container.open {
    max-height: 800px; /* Un valore sufficientemente grande per il contenuto del coupon */
}

/* Stile per il toggle del login (riutilizza le classi del coupon) */
.veno-stripe-login-toggle {
    margin-bottom: 15px;
}

.veno-stripe-login-toggle a {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 1rem 0;
}

/* Stili generali per i campi WooCommerce all'interno del modale, se non già presenti */
.veno-stripe-component .form-row {
    margin-bottom: 15px;
    box-sizing: border-box; /* Assicura che padding/border siano inclusi nella larghezza */
}
.veno-stripe-component .form-row:after { /* Clearfix per elementi float */
    content: "";
    display: table;
    clear: both;
}
.veno-stripe-component .form-row label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
/* Stili per input di testo, email, password, telefono e select */
.veno-stripe-component .form-row input[type="text"],
.veno-stripe-component .form-row input[type="email"],
.veno-stripe-component .form-row input[type="password"],
.veno-stripe-component .form-row input[type="tel"],
.veno-stripe-component .form-row select {
    /* Rimuove gli stili predefiniti del browser per una maggiore coerenza, specialmente su Safari */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* Stili esistenti */
    width: 100%;
    padding: .9rem 1.1rem !important;
    border: 1px solid #ddd !important;
    border-radius: 4px;
    box-sizing: border-box;

    /* Aggiustamenti per una migliore coerenza e aspetto WooCommerce */
    background-color: #fff; /* Sfondo bianco tipico dei campi WooCommerce */
    color: #333; /* Colore testo scuro */
    font-size: 1rem; /* Dimensione del font per chiarezza */
    line-height: 1.5; /* Altezza della linea per evitare problemi di allineamento su Safari [8] */
    box-shadow: none; /* Rimuove eventuali ombre predefinite */
    outline: none; /* Rimuove l'outline di focus predefinito, potresti volerlo personalizzare per l'accessibilità */
    height: auto; /* Assicura che l'altezza sia calcolata in base al contenuto e al padding */
}

/* Stili per il focus (quando l'utente interagisce con il campo) */
.veno-stripe-component .form-row input[type="text"]:focus,
.veno-stripe-component .form-row input[type="email"]:focus,
.veno-stripe-component .form-row input[type="password"]:focus,
.veno-stripe-component .form-row input[type="tel"]:focus,
.veno-stripe-component .form-row select:focus {
    border-color: #007cba !important; /* Colore del bordo in focus, simile al blu di default di WordPress/WooCommerce */
    box-shadow: 0 0 0 1px #007cba; /* Aggiunge un'ombra interna per evidenziare il focus */
}

/* Stili specifici per i campi select per personalizzare la freccetta */
.veno-stripe-component .form-row select {
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13.6-6.4H19.4c-5%200-9.3%201.8-12.9%205.7-3.6%203.9-5.4%208.5-5.4%2013.9%200%204.4%201.8%208.7%205.4%2012.8l128.2%20127.9c3.6%203.9%208.2%205.7%2013.2%205.7s9.6-1.8%2013.2-5.7L287%2095.4a17.6%2017.6%200%200%200%205.4-12.8c0-5.1-1.8-9.7-5.4-13.2z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right .7em top 50%;
    background-size: .65em auto;
    padding-right: 2.5em !important; /* Aumenta il padding a destra per la freccetta */
}
.veno-stripe-component .form-row.form-row-first {
    width: 48%;
    float: left;
    margin-right: 4%; /* Spazio tra primo e ultimo */
}
.veno-stripe-component .form-row.form-row-last {
    width: 48%;
    float: right;
}
.veno-stripe-component .form-row.form-row-wide {
    clear: both;
}
.veno-stripe-component .woocommerce-form__input-checkbox {
    margin-right: 5px;
}
.veno-stripe-component .woocommerce-privacy-policy-text {
    margin-top: 15px;
    font-size: 0.9em;
    line-height: 1.5;
}
.veno-stripe-component .woocommerce-invalid {
    border-color: #e2401c !important; /* Colore errore WooCommerce */
}
/* Stili specifici per i pulsanti all'interno della sezione login */
.veno-stripe-login-form-container .button {
    margin-right: 10px; /* Spazio tra il pulsante Login e la checkbox */
}

.veno-woo-select{
    padding: .9rem 1.1rem;
    border: 1px solid #ddd;
}

/* Stili per le checkbox */
.veno-stripe-component .form-row input[type="checkbox"] {
    /* Nasconde visivamente la checkbox nativa, ma la mantiene accessibile e funzionante */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

/* Stili per la label associata alla checkbox (che conterrà la checkbox visiva personalizzata) */
.veno-stripe-component .form-row input[type="checkbox"] + label {
    display: inline-flex; /* Usa flexbox per allineare l'icona personalizzata e il testo */
    align-items: center; /* Allinea verticalmente l'icona e il testo al centro */
    cursor: pointer;
    font-size: 1rem; /* Assicura che la dimensione del font sia coerente con gli altri campi */
    line-height: 1.5; /* Migliora l'allineamento e la leggibilità */
    color: #333; /* Colore del testo della label */
    margin-bottom: .5em; /* Spazio tra le checkbox se ce ne sono più di una in pila */
}

/* Creazione della casella visiva personalizzata per la checkbox usando un pseudo-elemento ::before della label */
.veno-stripe-component .form-row input[type="checkbox"] + label::before {
    content: '';
    display: block; /* È un blocco all'interno di un flex container */
    width: 1.2em; /* Dimensione della casella */
    height: 1.2em;
    border: 1px solid #ddd; /* Bordo della casella, simile agli altri input */
    border-radius: 3px; /* Bordi leggermente arrotondati */
    background-color: #fff; /* Sfondo bianco */
    margin-right: .6em; /* Spazio tra la casella e il testo della label */
    flex-shrink: 0; /* Impedisce alla casella di restringersi in spazi stretti */
    transition: all 0.2s ease-in-out; /* Animazione fluida per lo stato checked */
}

/* Stili per la casella personalizzata quando la checkbox originale è selezionata (:checked) */
.veno-stripe-component .form-row input[type="checkbox"]:checked + label::before {
    background-color: #007cba; /* Sfondo blu, simile al colore di accentuazione di WooCommerce */
    border-color: #007cba; /* Bordo blu */
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2212px%22%20height%3D%2210px%22%20viewBox%3D%220%200%2012%2010%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3C!--%20Generator%3A%20Sketch%2050%20(54983)%20-%20http%3A%2F%2Fwww.sketchapp.com%2F%20--%3E%3Ctitle%3ECheck%3C%2Ftitle%3E%3Cdesc%3ECreated%20with%20Sketch.%3C%2Fdesc%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Page-1%22%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cg%20id%3D%22Artboard%22%20transform%3D%22translate(-37.000000%2C%20-36.000000)%22%20fill%3D%22%23FFFFFF%22%3E%3Cg%20id%3D%22Check%22%20transform%3D%22translate(37.000000%2C%2036.000000)%22%3E%3Cpath%20d%3D%22M4.1%2C9.4%20C3.7%2C9.8%203.1%2C9.8%202.7%2C9.4%20L0.2%2C6.9%20C-0.1%2C6.5%20-0.1%2C5.9%200.2%2C5.5%20C0.6%2C5.1%201.2%2C5.1%201.6%2C5.5%20L3.4%2C7.3%20L10.4%2C0.3%20C10.8%2C-0.1%2011.4%2C-0.1%2011.8%2C0.3%20C12.1%2C0.7%2012.1%2C1.3%2011.8%2C1.7%20L4.1%2C9.4%20Z%22%20id%3D%22Combined-Shape%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'); /* Icona di spunta bianca in SVG */
    background-size: 70% 70%; /* Dimensione dell'icona di spunta */
    background-repeat: no-repeat;
    background-position: center center; /* Posiziona l'icona al centro della casella */
}

/* Stili per l'accessibilità: evidenziazione quando la checkbox è in focus (navigazione da tastiera) */
.veno-stripe-component .form-row input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.5); /* Ombra blu che indica lo stato di focus */
}

.veno-stripe-submit-link {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
    /* Da qui in poi aggiungi il tuo stile personalizzato */
    color: red;
    text-decoration: underline;
}

.veno-subscriptions-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    font-weight: bold;
}
.veno-subscriptions-badge.is-success { background: #e7f4e9; color: #1e7e34; } /* Verde */
.veno-subscriptions-badge.is-warning { background: #fff4e5; color: #856404; } /* Arancione */
.veno-subscriptions-badge.is-error   { background: #fbeae5; color: #dc3545; } /* Rosso */
.veno-card-actions{
    padding: 1em 0;
}
