/**
 * Vee Elementor Addons - Print Button Widget CSS
 * Stili per il widget del pulsante di stampa personalizzata
 */

/* Widget container */
.elementor-widget.vee-print-button-widget {
    font-size: 0;
    line-height: 0;
}

.elementor-widget.vee-print-button-widget .elementor-widget-container {
    display: inline-block;
    width: auto;
}

/* Allineamento widget */
.elementor-widget.vee-print-button-align-left {
    text-align: left;
}

.elementor-widget.vee-print-button-align-center {
    text-align: center;
}

.elementor-widget.vee-print-button-align-right {
    text-align: right;
}

.elementor-widget.vee-print-button-align-justify .elementor-widget-container {
    width: 100%;
    display: block;
}

/* Wrapper del pulsante */
.vee-print-button-wrapper {
    display: inline-block;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 0; /* Elimina spazio vuoto causato da whitespace */
    line-height: 0;
}

/* Stile base del pulsante */
.vee-print-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    line-height: 1;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: auto;
    font-size: 16px; /* Ripristina la dimensione del font */
    margin: 0 !important;
    vertical-align: middle;
}

/* Testo del pulsante */
.vee-button-text {
    z-index: 1;
    flex-grow: 0;
    text-align: center;
    line-height: normal;
}

/* Icona del pulsante */
.vee-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: all 0.3s ease;
    z-index: 1;
}

/* Variazioni di dimensione */
.vee-print-button.elementor-button.elementor-size-xs {
    font-size: 13px;
    padding: 8px 16px;
    line-height: 1;
}

.vee-print-button.elementor-button.elementor-size-sm {
    font-size: 14px;
    padding: 10px 20px;
    line-height: 1;
}

.vee-print-button.elementor-button.elementor-size-md {
    font-size: 16px;
    padding: 12px 24px;
    line-height: 1;
}

.vee-print-button.elementor-button.elementor-size-lg {
    font-size: 18px;
    padding: 14px 28px;
    line-height: 1;
}

.vee-print-button.elementor-button.elementor-size-xl {
    font-size: 20px;
    padding: 16px 32px;
    line-height: 1;
}

/* Allineamento del pulsante */
.elementor-widget-vee_print_button .elementor-widget-container {
    text-align: inherit;
}

.vee-print-button-wrapper[style*="text-align: left"] {
    text-align: left;
}

.vee-print-button-wrapper[style*="text-align: center"] {
    text-align: center;
}

.vee-print-button-wrapper[style*="text-align: right"] {
    text-align: right;
}

/* Stili per pulsante a larghezza piena */
.vee-print-button-wrapper-full-width {
    display: block;
    width: 100% !important;
}

.vee-print-button-full-width {
    display: flex;
    width: 100%;
}

/* Posizionamento delle icone */
.vee-print-button.vee-button-icon-before {
    flex-direction: row;
}

.vee-print-button.vee-button-icon-after {
    flex-direction: row-reverse;
}

/* Effetto overlay su hover */
.vee-print-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 0;
}

.vee-print-button:hover::before {
    opacity: 1;
}

/* Stile per link visitati */
.vee-print-button:visited {
    color: inherit;
}

/* Responsive per mobile */
@media (max-width: 767px) {
    .vee-print-button {
        padding: 10px 20px;
    }
    
    .vee-print-button.elementor-button.elementor-size-xl,
    .vee-print-button.elementor-button.elementor-size-lg {
        font-size: 16px;
        padding: 12px 24px;
    }
}

/* Stili per la stampa personalizzata */
.vee-print-template {
    display: none;
}

/* Messaggio nessun contenuto */
.vee-print-no-content {
    padding: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    color: #666;
    text-align: center;
    margin: 20px 0;
    border-radius: 4px;
    font-size: 14px;
}

/* Solo testo (rimuove stili) */
.vee-print-text-only * {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12pt !important;
    line-height: 1.5 !important;
    color: #000 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    font-weight: normal !important;
    box-shadow: none !important;
    text-shadow: none !important;
    float: none !important;
    display: block !important;
}

/* Media query per layout di stampa */
@media print {
    @page {
        margin: 10mm;
        size: auto;
    }
    
    html, body {
        height: auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: Arial, Helvetica, sans-serif;
    }
    
    /* Nascondi tutto tranne l'area di stampa */
    body * {
        visibility: hidden;
        height: 0;
        overflow: hidden;
    }
    
    .vee-print-area,
    .vee-print-area * {
        visibility: visible;
        height: auto;
        overflow: visible;
    }
    
    .vee-print-area {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        display: block;
        padding: 0;
        margin: 0;
    }
    
    /* Layout per stampa con spaziatura tra le sezioni */
    .vee-print-content {
        width: 100%;
        display: block;
        position: relative;
        page-break-inside: auto;
    }
    
    /* Struttura header con le due colonne */
    .vee-print-header {
        display: flex !important;
        width: 100%;
    }
    
    .vee-print-header-left,
    .vee-print-header-right {
        width: 48% !important;
        display: block !important;
    }
    
    .vee-print-header-left {
        margin-right: 4% !important;
    }
    
    /* Struttura footer con le due colonne */
    .vee-print-footer {
        display: flex !important;
        width: 100%;
        position: relative;
    }
    
    /* Footer su tutte le pagine */
    .vee-footer-all-pages {
        position: running(vee-footer-container);
    }
    
    .vee-print-footer-left,
    .vee-print-footer-right {
        width: 48% !important;
        display: block !important;
    }
    
    .vee-print-footer-left {
        margin-right: 4% !important;
        text-align: left !important;
        font-size: 9pt !important;
    }
    
    .vee-print-footer-right {
        text-align: right !important;
    }
    
    /* Linee separatrici */
    .vee-print-header-line,
    .vee-print-footer-line {
        border-bottom: 1px solid #ddd;
        margin: 10mm 0;
        clear: both;
        width: 100%;
        display: block !important;
    }
    
    /* Evita problemi di pagine vuote */
    .vee-print-content * {
        page-break-inside: auto;
    }
    
    /* Impedisci intersezioni problematiche con elementi del layout */
    table, figure, img {
        page-break-inside: avoid;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }
    
    /* Nascondi elementi inappropriati per la stampa */
    .elementor-hidden-print {
        display: none !important;
    }
    
    /* Stili per il messaggio di nessun contenuto */
    .vee-print-no-content {
        padding: 10mm;
        border: 1px solid #ccc;
        text-align: center;
        margin: 0 auto;
    }
    
    /* Stili per i numeri di pagina e data/ora */
    .vee-print-page-number,
    .vee-print-datetime {
        font-size: 9pt;
    }
    
    /* Forzatura per rimuovere eventuali float che disturbano il layout */
    .vee-print-area * {
        float: none !important;
    }
} 