/* ===== Wrapper & Card ===== */
.egpt-wrapper { background:#fff; padding:1rem; border:1px solid #e9ecef; border-radius:8px; }
.egpt-title { margin:0 0 .5rem 0; }
.egpt-order-meta { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1rem; font-size:.95rem; }
.egpt-card { border:1px solid #e9ecef; border-radius:8px; background:#fff; margin:.75rem 0; }
.egpt-card-title { padding:.6rem 1rem; border-bottom:1px solid #e9ecef; font-weight:600; }
.egpt-card-body { padding:.6rem 1rem; }

/* ===== Alert / Buttons / Messages ===== */
.egpt-alert{ padding:.75rem 1rem; border-radius:.25rem; margin:.75rem 0; font-size:14px; }
.egpt-alert-info{ background:#f0f7ff; border:1px solid #cfe3ff; color:#0b57d0; }
.egpt-alert-danger{ background:#fff3f3; border:1px solid #ffd6d6; color:#a61b1b; }

.egpt-privacy{ margin:16px 0; }
.egpt-checkbox input[type="checkbox"]{ transform:translateY(1px); }

.egpt-actions{ margin-top:16px; }
.egpt-btn{ display:inline-block; padding:.6rem 1.1rem; border-radius:.25rem; border:1px solid transparent; cursor:pointer; }
.egpt-btn[disabled]{ opacity:.7; cursor:not-allowed; }
.egpt-btn-primary{ background:#0b57d0; color:#fff; border:0; border-radius:8px; padding:10px 16px; }
.egpt-btn-primary:hover{ filter:brightness(0.95); }

.egpt-message{ margin-top:12px; padding:10px 12px; border-radius:8px; display:none; }
.egpt-message.error{ display:block; background:#fff3f3; border:1px solid #ffd6d6; color:#a61b1b; }
.egpt-message.success{ display:block; background:#f0fff5; border:1px solid #c8f0d2; color:#1b7f3a; }
.egpt-help{ font-size:13px;padding:15px;}

/* ===== Table: Desktop / Base ===== */
.egpt-table-wrap { width:100%; overflow-x:auto; }
.egpt-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  table-layout:auto;           /* la descrizione non viene compressa */
}
.egpt-table th,
.egpt-table td{
  padding:12px 14px;
  border:1px solid #dee2e6;
  vertical-align:top;          /* evita “scalini” tra header e testo lungo */
  word-break:break-word;       /* spezza parole/pipe lunghi */
}
.egpt-table th{ text-align:left; white-space:nowrap; }
.egpt-right{ text-align:right; }


.egpt-center{ text-align:center; }

/* larghezze indicative per colonne (desktop) */
.egpt-table thead th:nth-child(1),
.egpt-table tbody td:nth-child(1){ width:15%; }
.egpt-table thead th:nth-child(3),
.egpt-table tbody td:nth-child(3){ width:12%; white-space:nowrap; }
.egpt-table thead th:nth-child(4),
.egpt-table tbody td:nth-child(4){ width:10%; white-space:nowrap; }
.egpt-table thead th:nth-child(5),
.egpt-table tbody td:nth-child(5){ width:8%;  white-space:nowrap; }

/* Totale (desktop) */
.egpt-table tfoot th{
  border-top:1px solid #e0e0e0;
  padding:12px 14px;
  background:#f9fafb;
  font-weight:600;
}
#egpt-total{ white-space:nowrap; } /* es: “1.261,00” non va a capo */



/* --- Footer tabella base --- */
.egpt-table tfoot,
.egpt-table tfoot tr,
.egpt-table tfoot th,
.egpt-table tfoot td {
 
  border-top:1px solid #e6e6e6;
}

/* --- Riga totale: grigio chiaro --- */
.egpt-total-row th {
  background:#f7f7f7 !important;
  padding:10px 14px;
}
#egpt-total {
  white-space:nowrap;
  font-weight:600;
}

/* --- Righe pagamento (desktop): bianco, label bold, valore normale --- */
.egpt-pay-row td {
  background:#fff !important;
  padding:10px 14px;
  vertical-align:top;
}
.egpt-pay-row strong {
  margin-right:.4rem;
}
.egpt-pay-row .egpt-pay-value {
  display:inline;
}

/* --- MOBILE RESPONSIVE --- */
@media screen and (max-width:768px){
  .egpt-table tfoot{
    display:block !important;
    margin-top:10px;
  }

  .egpt-table tfoot tr{
    display:block !important;
    border-radius:8px;
    margin-bottom:10px;
    overflow:hidden;
  }

  /* Totale in box grigio */
  .egpt-total-row{
    background:#f7f7f7 !important;
    text-align:right !important;
    padding:10px 14px !important;
    border:1px solid #e6e6e6;
  }
  .egpt-total-row th{
    display:block !important;
    text-align:right !important;
    border:none !important;
  }

  /* Tipo e Metodo pagamento: box bianchi, senza font change */
  .egpt-pay-row{
    background:#fff !important;
    border:1px solid #e6e6e6;
    border-radius:8px;
    padding:12px 14px !important;
  }
  .egpt-pay-row td{
    display:block !important;
    border:none !important;
    padding:6px 8px !important;
    text-align:left !important;
  }
  .egpt-pay-row strong{
    display:block;
    margin-bottom:4px;
  }
  .egpt-pay-row .egpt-pay-value{
    display:block;
  }
}

/* ===== Mobile: Card per riga ===== */
/* ===== Mobile: Card per riga con descrizione leggibile ===== */
@media screen and (max-width:768px){
  .egpt-table thead{ display:none !important; }

  .egpt-table,
  .egpt-table tbody,
  .egpt-table tr,
  .egpt-table td,
  .egpt-table tfoot,
  .egpt-table th{ display:block !important; width:100% !important; }

  .egpt-table tr{
    border:1px solid #ddd !important;
    border-radius:12px;
    margin:12px 0;
    padding:6px 8px;
    background:#fff;
  }

  /* Ogni cella come mini-riga con etichetta + valore */
  .egpt-table td{
    border:0 !important;
    padding:10px 8px !important;
    display:grid !important;
    grid-template-columns: 40% 60%;
    align-items:start;
    gap:8px;
    text-align:left !important;
    word-break: break-word;
    white-space: normal !important;
  }

  /* Etichetta (es. “Descrizione”) */
  .egpt-table td::before{
    content: attr(data-label);
    font-weight:700;
    opacity:.95;
    color:#333;
  }

  /* Allinea testo normale, anche per numeri */
  .egpt-table td.egpt-right,
  .egpt-table td.egpt-center{ text-align:left !important; }

  /* La descrizione multilinea */
  .egpt-table td[data-label="Descrizione"]{
    grid-template-columns: 100%;
  }
  .egpt-table td[data-label="Descrizione"]::before{
    display:block;
    margin-bottom:6px;
  }

  /* Totale in fondo (mobile) */
  .egpt-table tfoot{ display:block !important; margin-top:10px; }
  .egpt-table tfoot tr{
    border:0; background:#f6f8fb; padding:10px; border-radius:10px;
  }
  .egpt-table tfoot th{
    display:grid !important; grid-template-columns: 1fr auto;
    gap:10px; border:0; padding:8px 10px;
  }
}


/* ===== FIX mobile: rimuovi la griglia SOLO per le righe pagamento ===== */
@media (max-width: 768px){
  .egpt-table tfoot .egpt-pay-row td{
    display:block !important;          /* niente grid */
    grid-template-columns: unset !important;
    width:100% !important;
    padding:12px 14px !important;
    background:#fff !important;
    border:1px solid #e6e6e6;
    border-radius:8px;
    overflow:visible;                   /* evita tagli del testo */
    white-space:normal;                 /* consenti capo riga naturale */
    word-break:normal;
    overflow-wrap:break-word;
    text-align:left !important;         /* titolo e valore a sinistra */
  }
  .egpt-table tfoot .egpt-pay-row td::before{ content:none !important; } /* nessuna label pseudo */
  .egpt-table tfoot .egpt-pay-row strong,
  .egpt-table tfoot .egpt-pay-row .egpt-pay-value{
    display:inline;                     /* titolo e valore sulla stessa riga se c'è spazio */
    white-space:unset;
  }

/* === MOBILE: allinea checkbox + testo Termini e Condizioni === */

  /* sovrascrive l'inline style del label */
  .egpt-privacy .egpt-checkbox{
    display: grid !important;          /* colonna checkbox + colonna testo */
    grid-template-columns: 20px 1fr;
    column-gap: 8px;
    align-items: start;
  }
  .egpt-privacy .egpt-checkbox input[type="checkbox"]{
    margin-top: 3px;                    /* allinea la spunta alla prima riga del testo */
  }
  .egpt-privacy .egpt-checkbox span{
    white-space: normal;                /* il testo può andare a capo */
    word-break: normal;
    overflow-wrap: anywhere;            /* mai troncare la parola “Condizioni” a metà */
  }
}



/* --- Print helpers (solo il box del riepilogo) --- */
@page { size: A4; margin: 12mm; }
@media print {
  /* Nascondi tutto... */
  body * { visibility: hidden !important; }

  /* ...tranne il contenuto del riepilogo */
  .egpt-wrapper, .egpt-wrapper * {
    visibility: visible !important;
  }

  /* porta il riepilogo in alto a sinistra e usa tutta la larghezza pagina */
  .egpt-wrapper {
    position: absolute !important;
    top: 0; left: 0; right: 0;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    background: #fff !important;
  }

  /* ripeti thead su ogni pagina e evita spezzature brutte */
  .egpt-table thead { display: table-header-group; }
  .egpt-table tfoot { display: table-footer-group; }
  .egpt-table tr, .egpt-card { page-break-inside: avoid; }

  /* nascondi elementi inutili in stampa */
  #wpadminbar,
  .egpt-print-hide { display: none !important; }
}


/* menù language */
.egpt-lang-switcher {
    display: inline-flex;
    align-items: center;
}

.egpt-lang-switcher .egpt-lang-flag {
    width: 24px;
    height: auto;
    display: block;
}

/* RIMUOVI display:flex dal container del menu SOLO nel footer */
/* === ESTAR FOOTER – sistema i menu Vendita / Azienda === */

/* 1. Rimuovi il flex dal container del menu SOLO nel footer */
.estar-footer-main .wp-block-navigation__container {
    display: block !important;    /* 👈 niente flex */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

/* 2. Ogni voce del menu su una riga, con poco spazio tra le righe */
.estar-footer-main .wp-block-navigation__container > li {
    display: block !important;
    margin: 0 0 3px 0 !important; /* distanza verticale fra le voci */
    padding: 0 !important;
}

/* 3. Link della voce: niente padding extra, interlinea bassa */
.estar-footer-main .wp-block-navigation-item__content {
    display: inline-block !important;
    padding: 0 !important;
    line-height: 1.1 !important;  /* stringe l’interlinea */
}

/* 4. Testo della voce */
.estar-footer-main .wp-block-navigation-item__label {
    margin: 0 !important;
    line-height: 1.1 !important;
}


/* Riduci il gap verticale del gruppo nel footer */
.estar-footer-main .wp-container-core-group-is-layout-4f5598a2 {
    gap: 1px !important;
}


/* FOOTER – riga copyright/credits centrata e più compatta */
/* FOOTER – icone UAGB nel pattern caricato dallo shortcode */
.estar-footer-from-pattern .uagb-icon-wrapper svg {
    width: 18px;          /* dimensione icona */
    height: 18px;
}

/* colore blu come i link */
.estar-footer-from-pattern .uagb-icon-wrapper svg path {
    fill: #0073aa !important;   /* cambia se vuoi un altro blu */
}

/* centra l'icona e compatta le righe */
.estar-footer-from-pattern .uagb-icon-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 2px;
}

/* togli i <br> inutili intorno all'icona */
.estar-footer-from-pattern .uagb-svg-wrapper br {
    display: none;
}

