/*
Theme Name: Astra Child
Theme URI: https://area.consorziobellamagnazimmardo.it
Description: Child theme area riservata Consorzio Bellamagna Zimmardo
Author: Consorzio Bellamagna Zimmardo
Author URI: https://www.consorziobellamagnazimmardo.it
Template: astra
Version: 1.0
Text Domain: astra-child
*/

.dashboard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.card {
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    text-align: center;
}

.card h3 {
    font-size: 32px;
    margin: 0;
}

.card p {
    margin-top: 8px;
    font-size: 14px;
    opacity: 0.7;
}

.card.green { border-left: 6px solid #2e7d32; }
.card.yellow { border-left: 6px solid #f9a825; }
.card.red { border-left: 6px solid #c62828; }

.badge {
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.badge.green { background: #e8f5e9; color: #2e7d32; }
.badge.yellow { background: #fff8e1; color: #f9a825; }
.badge.red { background: #ffebee; color: #c62828; }
.badge.dark { background: #eceff1; color: #37474f; }

/* ============================= */
/*        STAMPA PDF AREA       */
/* ============================= */

@media print {

  /* Margini pagina */
  @page {
    margin: 20mm;
  }

  body {
    background: #fff !important;
    color: #000 !important;
  }

  /* Rimuove ombre */
  * {
    box-shadow: none !important;
  }

  /* Nasconde mini menu area */
  .area-nav {
    display: none !important;
  }

  /* Nasconde admin bar WordPress */
  #wpadminbar {
    display: none !important;
  }

  /* Nasconde TUTTI i pulsanti */
  button,
  input[type="submit"],
  .salva-quota,
  .admin-print,
  .acf-form-submit {
    display: none !important;
  }

  /* Rende i campi simili a testo */
  input,
  select,
  textarea {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Header più compatto in stampa */
  .area-header {
    padding: 15px 0 !important;
  }

  .area-logo {
    max-width: 120px !important;
  }

  /* Riduce spazio sopra il contenuto */
  .area-main {
    padding: 10px 0 !important;
  }

  .area-container {
    padding: 15px !important;
    margin: 0 !important;
  }

  h1 {
    margin-top: 0 !important;
  }

  h2 {
    margin-top: 15px !important;
  }

  /* Il box amministrativo torna nel flusso */
  .admin-badge-box {
    position: static !important;
    box-shadow: none !important;
    margin-bottom: 20px !important;
  }

  /* Tabelle */
  table {
    page-break-inside: auto;
    border-collapse: collapse;
    width: 100%;
  }

  thead {
    display: table-header-group;
  }

  tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  td, th {
    border: 1px solid #999;
    padding: 6px;
  }

  /* Evita titoli orfani */
  h1, h2, h3 {
    page-break-after: avoid;
  }

}
/* ============================= */
/*     RIQUADRO AMMINISTRATIVO  */
/* ============================= */

.admin-badge-box {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 320px;
    background: #F2EFE6;
    border: 2px solid #1F3526;
    border-radius: 6px;
    font-family: "Cormorant Garamond", Georgia, serif;
    color: #2F2F2F;
    z-index: 999;
}

/* 👇 Se admin bar presente */
.admin-bar .admin-badge-box {
    top: 60px; /* 32px barra + margine visivo */
}

.admin-badge-header {
    text-align: left;
    padding: 10px 15px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #1F3526;
    border-bottom: 2px solid #B08A2E; /* Oro */
    font-size: 0.95rem;
}

.admin-badge-content {
    padding: 12px 15px;
    font-size: 0.95rem;
}

.admin-row {
    margin-bottom: 8px;
}

.admin-icon {
    color: #B08A2E; /* Oro */
    margin-right: 6px;
}

.admin-print {
    margin-top: 12px;
    text-align: right;
}

.admin-print-btn {
    background: #1F3526;
    color: #F2EFE6;
    border: none;
    padding: 6px 12px;
    font-size: 0.85rem;
    cursor: pointer;
    border-radius: 4px;
}

.admin-print-btn:hover {
    background: #4F6B3C;
}

/* ============================= */
/*  VARIABILI ISTITUZIONALI     */
/* ============================= */

:root {
  --verde-primario: #1F3526;
  --verde-secondario: #4F6B3C;
  --oro: #B08A2E;
  --beige: #F2EFE6;
  --grigio-testo: #2F2F2F;
}

/* ============================= */
/*  BODY AREA RISERVATA         */
/* ============================= */

body.area-riservata {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  background-color: var(--beige);
  color: var(--grigio-testo);
  line-height: 1.6;
}

/* ============================= */
/*  HEADER AREA RISERVATA       */
/* ============================= */

.area-header {
  background-color: var(--verde-primario);
  color: var(--beige);
  text-align: center;
  padding: 40px 20px;
}

.area-header-inner {
  max-width: 900px;
  margin: 0 auto;
}

.area-logo {
  max-width: 140px;
  height: auto;
  margin-bottom: 10px;
}

.area-title {
  margin: 0;
  font-size: 1.8rem;
  letter-spacing: 1px;
}

.area-subtitle {
  margin-top: 10px;
  font-size: 0.95rem;
  letter-spacing: 1px;
}

.area-divider {
  width: 120px;
  height: 2px;
  background-color: var(--oro);
  margin: 20px auto 0 auto;
}

/* ============================= */
/*  NAV AREA                    */
/* ============================= */

.area-nav {
  background-color: var(--verde-primario);
  border-top: 1px solid rgba(176,138,46,0.3);
  border-bottom: 1px solid rgba(176,138,46,0.3);
  text-align: center;
}

.area-nav-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 12px 0;
}

.area-nav a {
  color: var(--beige);
  text-decoration: none;
  margin: 0 15px;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
  transition: color 0.3s;
}

.area-nav a:hover {
  color: var(--oro);
}

/* ============================= */
/*  CONTENUTO AREA              */
/* ============================= */

.area-main {
  padding: 40px 20px;
}

.area-container {
  max-width: 900px;
  margin: 0 auto;
  background: #ffffff;
  padding: 30px;
  border-left: 8px solid var(--oro);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  border-radius: 4px;
}

/* ============================= */
/*  RIQUADRO AMMINISTRATIVO     */
/* ============================= */

.admin-badge-box {
  border: 2px solid var(--oro);
  border-left: 8px solid var(--oro);
  padding: 20px;
  margin-bottom: 30px;
  background: #ffffff;
}

.admin-badge-header {
  font-weight: bold;
  color: var(--verde-primario);
  margin-bottom: 15px;
  letter-spacing: 1px;
}

.admin-row {
  margin-bottom: 8px;
}

.admin-icon {
  margin-right: 8px;
}

/* ============================= */
/*  FORM AREA RISERVATA         */
/* ============================= */

.area-container input[type="text"],
.area-container input[type="email"],
.area-container input[type="date"],
.area-container select,
.area-container textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  font-family: inherit;
  font-size: 1rem;
}

.area-container label {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}

/* ============================= */
/*  TABELLE                     */
/* ============================= */

.tabella-quote,
.tabella-documenti {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.tabella-quote th,
.tabella-documenti th {
  background-color: var(--verde-primario);
  color: var(--beige);
  padding: 10px;
  text-align: left;
}

.tabella-quote td,
.tabella-documenti td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
}

.tabella-quote tr:nth-child(even),
.tabella-documenti tr:nth-child(even) {
  background-color: #faf9f5;
}

/* =========================================
HOVER TABELLE (STANDARD DASHBOARD)
========================================= */

.tabella-quote tbody tr,
.tabella-documenti tbody tr,
.tabella-consorziati tbody tr {
    transition: all 0.2s ease;
}

.tabella-quote tbody tr:hover,
.tabella-documenti tbody tr:hover,
.tabella-consorziati tbody tr:hover {
    background-color: #f1f5f9;
    cursor: pointer;
}

/* ============================= */
/*  BUTTONS                     */
/* ============================= */

button,
.admin-print-btn {
  background-color: var(--verde-primario);
  color: var(--beige);
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 1px;
  transition: background 0.3s;
}

button:hover,
.admin-print-btn:hover {
  background-color: var(--oro);
}

/* ============================= */
/*  FOOTER AREA                 */
/* ============================= */

.area-footer {
  background-color: var(--verde-primario);
  color: var(--beige);
  text-align: center;
  padding: 30px 20px;
  margin-top: 40px;
}

.area-footer-inner {
  max-width: 900px;
  margin: 0 auto;
}


/* ============================= */
/*  Header AREA                 */
/* ============================= */
.area-header .area-title {
    color: var(--beige);
}

/* ===============================
   HOME AREA RISERVATA
================================= */

.area-home-wrapper {
    background-color: var(--verde-primario);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
}

.area-home-box {
    max-width: 700px;
}

.area-logo {
    max-width: 260px;
    margin-bottom: 35px;
}

.area-title {
    font-family: "Cormorant Garamond", serif;
    color: var(--beige);
    font-size: 2.2rem;
    margin: 0;
}

.area-subtitle {
    font-family: "Cormorant Garamond", serif;
    color: var(--beige);
    font-size: 1.4rem;
    margin-top: 10px;
    font-weight: 500;
}

.area-divider {
    width: 120px;
    height: 2px;
    background-color: var(--oro);
    margin: 30px auto;
}

.area-buttons {
    margin-top: 20px;
}

.area-btn {
    display: inline-block;
    padding: 10px 26px;
    margin: 10px;
    border: 2px solid var(--oro);
    background-color: var(--beige);
    color: var(--verde-primario);
    text-decoration: none;
    font-family: "Cormorant Garamond", serif;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.area-btn:hover {
    background-color: var(--oro);
    color: var(--beige);
}

/* =====================================================
CARD ARCHIVIO DOCUMENTI
===================================================== */

.card-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:20px;
}

.card-doc{
display:block;
background:#ffffff;
border-radius:8px;
padding:20px;
text-decoration:none;
color:#2c3e50;
box-shadow:0 2px 6px rgba(0,0,0,0.1);
transition:all 0.2s ease;
}

.card-doc:hover{
transform:translateY(-3px);
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

.card-doc h4{
margin:0 0 5px 0;
font-size:18px;
}

.card-doc span{
font-size:13px;
color:#666;
}

/* =====================================================
COLORI SEZIONI ARCHIVIO DOCUMENTI
===================================================== */

.card-modulistica{
border-left:6px solid #2980b9;
}

.card-bilanci{
border-left:6px solid #27ae60;
}

.card-verbali{
border-left:6px solid #8e44ad;
}

.card-archivio{
border-left:6px solid #7f8c8d;
}

/* =====================================================
DOCUMENTI UFFICIALI
===================================================== */

.card-documenti{
border-left:6px solid #B08A2E;
}

/* =========================================
CONTATORI ELENCO CONSORZIATI
========================================= */

.cons-contatori{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:20px;
margin:25px 0;
}

.contatore{
padding:20px;
border-radius:8px;
text-align:center;
color:#fff;
box-shadow:0 3px 8px rgba(0,0,0,0.08);
}

.contatore strong{
display:block;
font-size:32px;
margin-bottom:6px;
}

.contatore span{
font-size:13px;
letter-spacing:0.5px;
}

/* colori */

.contatore{
background:#546e7a;
}

.contatore.verde{
background:#2e7d32;
}

.contatore.giallo{
background:#f9a825;
}

.contatore.rosso{
background:#c62828;
}

/* =====================================================
SCHEDA DOCUMENTI CONSORZIATO
===================================================== */

.scheda-consorziato{
max-width:900px;
margin:40px auto;
padding:20px;
}

/* =========================================
BANNER STATO CONSORZIATO
========================================= */

.banner-stato{
padding:14px 18px;
border-radius:6px;
margin:20px 0;
font-weight:500;
border-left:6px solid;
}

/* attivo */

.banner-stato.verde{
background:#e8f5e9;
border-color:#2e7d32;
color:#2e7d32;
}

/* moroso */

.banner-stato.giallo{
background:#fff8e1;
border-color:#f9a825;
color:#b26a00;
}

/* cancellato */

.banner-stato.rosso{
background:#ffebee;
border-color:#c62828;
color:#c62828;
}

/* =====================================================
HEADER CONSORZIATO
===================================================== */

.header-consorziato{
border-bottom:2px solid var(--oro);
margin-bottom:30px;
padding-bottom:15px;
}

.header-consorziato h1{
font-family:"Cormorant",serif;
color:var(--verde-primario);
margin-bottom:10px;
}

.header-consorziato h2{
margin:0;
font-size:22px;
color:#333;
}

.header-consorziato p{
margin-top:5px;
font-size:14px;
color:#555;
}


/* =====================================================
RIEPILOGO DOCUMENTI
===================================================== */

.riepilogo-documenti{
margin-top:15px;
display:flex;
gap:20px;
flex-wrap:wrap;
font-size:14px;
}

.riepilogo-documenti span{
background:#f5f5f5;
padding:6px 10px;
border-radius:6px;
}


/* =====================================================
BLOCCHI DOCUMENTI
===================================================== */

.blocco-documenti{
margin-top:40px;
}

.blocco-documenti h2{
font-family:"Cormorant",serif;
color:var(--verde-primario);
border-bottom:1px solid #ddd;
padding-bottom:6px;
margin-bottom:15px;
}


/* =====================================================
CARD DOCUMENTO
===================================================== */

.card-documento{
background:#fff;
border:1px solid #e2e2e2;
border-radius:8px;
padding:15px;
margin-bottom:12px;
transition:0.2s;
}

.card-documento:hover{
box-shadow:0 3px 8px rgba(0,0,0,0.08);
}


/* titolo documento */

.card-documento strong{
display:block;
font-size:16px;
color:#222;
margin-bottom:6px;
}


/* data */

.data-doc{
font-size:13px;
color:#777;
margin-bottom:6px;
}


/* descrizione */

.descrizione-doc{
font-size:14px;
color:#555;
margin-bottom:6px;
}


/* =====================================================
AZIONI DOCUMENTO
===================================================== */

.azioni-doc{
margin-top:8px;
}

.azioni-doc a{
font-size:13px;
margin-right:10px;
text-decoration:none;
color:var(--verde-primario);
}

.azioni-doc a:hover{
text-decoration:underline;
}


/* =====================================================
STATI DOCUMENTO
===================================================== */

.stato-doc{
margin-top:6px;
font-size:13px;
font-weight:500;
}


/* badge stato */

.stato-doc.verde{
color:#2e7d32;
}

.stato-doc.giallo{
color:#c79100;
}

.stato-doc.rosso{
color:#c62828;
}

.stato-doc.grigio{
color:#777;
}

/* =========================================
BADGE STATO CONSORZIATO
========================================= */

.badge-stato{
display:inline-block;
padding:4px 10px;
border-radius:20px;
font-size:12px;
font-weight:600;
margin-left:6px;
}

/* attivo */

.stato-verde{
background:#e6f4ea;
color:#2e7d32;
}

/* verifica */

.stato-giallo{
background:#fff3cd;
color:#b8860b;
}

/* moroso */

.stato-rosso{
background:#fdecea;
color:#c62828;
}

/* sospeso */

.stato-grigio{
background:#eeeeee;
color:#666;
}

.upload-documento{
margin-bottom:20px;
}

.acf-button{
background:var(--verde-primario);
color:white;
padding:8px 14px;
border-radius:6px;
}

/* =========================================
BADGE STATO DOCUMENTI
========================================= */

.badge-doc{
display:inline-block;
padding:3px 10px;
border-radius:20px;
font-size:12px;
font-weight:600;
margin-left:6px;
}

/* inviato */

.doc-grigio{
background:#eeeeee;
color:#666;
}

/* verifica */

.doc-giallo{
background:#fff3cd;
color:#b8860b;
}

/* approvato */

.doc-verde{
background:#e6f4ea;
color:#2e7d32;
}

/* rifiutato */

.doc-rosso{
background:#fdecea;
color:#c62828;
}

/* =========================================
BADGE STATO CONSORZIATO (ELENCO)
========================================= */

.badge{
display:inline-block;
padding:5px 12px;
border-radius:20px;
font-size:12px;
font-weight:600;
text-transform:capitalize;
border:1px solid rgba(0,0,0,0.05);
}

/* attivo */

.badge.attivo{
background:#e8f5e9;
color:#2e7d32;
}

/* moroso */

.badge.moroso{
background:#fff8e1;
color:#f9a825;
}

/* cancellato */

.badge.cancellato{
background:#ffebee;
color:#c62828;
}

/* fallback */

.badge.dark{
background:#eceff1;
color:#37474f;
}

/* =========================================
BADGE STATO CONSORZIATO
========================================= */

.tabella-consorziati td:last-child{
text-align:center;
}

.tabella-consorziati tbody tr:hover {
    background-color: #f1f5f9;
    box-shadow: inset 0 0 0 9999px rgba(0,0,0,0.015);
}
/* =====================================================
ARCHIVIO DOCUMENTI (SEZIONE ISOLATA)
===================================================== */

.archivio-documenti .card-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:20px;
}

.archivio-documenti .card-doc{
display:block;
background:#ffffff;
border-radius:8px;
padding:20px;
text-decoration:none;
color:#2c3e50;
box-shadow:0 2px 6px rgba(0,0,0,0.1);
transition:all 0.2s ease;
}

.archivio-documenti .card-doc:hover{
transform:translateY(-3px);
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

.archivio-documenti .card-doc h4{
margin:0 0 5px 0;
font-size:18px;
}

.archivio-documenti .card-doc span{
font-size:13px;
color:#666;
}


/* =====================================================
COLORI CATEGORIE DOCUMENTI
===================================================== */

.archivio-documenti .card-modulistica{
border-left:6px solid #2980b9;
}

.archivio-documenti .card-bilanci{
border-left:6px solid #27ae60;
}

.archivio-documenti .card-verbali{
border-left:6px solid #8e44ad;
}

.archivio-documenti .card-archivio{
border-left:6px solid #7f8c8d;
}

.archivio-documenti .card-documenti{
border-left:6px solid #B08A2E;
}

.card-green{
border-left:6px solid #2e7d32;
}

.card-yellow{
border-left:6px solid #f9a825;
}

.card-red{
border-left:6px solid #c62828;
}


.card-doc.stato-verde{
border-left:6px solid #2e7d32;
}

.card-doc.stato-giallo{
border-left:6px solid #f9a825;
}

.card-doc.stato-rosso{
border-left:6px solid #c62828;
}

/* =========================================
COLONNA VERIFICA
========================================= */

.col-verifica{
white-space:nowrap;
text-align:center;
}

.col-verifica span{
display:inline-flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
margin-right:6px;
font-size:13px;
line-height:1;
}

/* =========================================
VERIFICHE DOCUMENTI
========================================= */

.verifica-ok{
background:#2ecc71;
color:#ffffff;
border-radius:50%;
}

.verifica-ko{
background:#e0e0e0;
color:#999999;
border-radius:50%;
}


/* =========================================
STATO QUOTA
========================================= */

.stato-quota{
display:inline-block;
width:12px;
height:12px;
border-radius:50%;
margin-right:5px;
}

/* colori */

.stato-quota.blu{background:#2563eb;}
.stato-quota.giallo{background:#eab308;}
.stato-quota.verde{background:#2e7d32;}
.stato-quota.rosso{background:#dc2626;}
.stato-quota.arancio{background:#f97316;}
.stato-quota.viola{background:#9333ea;}
.stato-quota.nero{background:#111827;}
.stato-quota.grigio{background:#9ca3af;}

/* =========================================
EVIDENZIAZIONE RIGHE CRITICHE
========================================= */

.riga-sollecito{
background:#fff7ed;
}

.riga-intimazione{
background:#f3e8ff;
}

.riga-procedura{
background:#fee2e2;
}

.btn-archivia{
background:#1f5e3b;
color:#fff;
border:none;
padding:6px 10px;
border-radius:4px;
cursor:pointer;
}

.btn-archivia:hover{
background:#c6a84b;
color:#1f5e3b;
}

/* =====================================================
Documenti Inviati
===================================================== */

.tabella-documenti {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}

.tabella-documenti th,
.tabella-documenti td {
padding: 10px;
border-bottom: 1px solid #ddd;
text-align: left;
word-wrap: break-word;
overflow-wrap: break-word;
}

.tabella-documenti th {
background: #1f3d2b;
color: #fff;
}

.tabella-documenti td a {
white-space: nowrap;
}

.tabella-documenti tbody tr:hover {
background:#f5f5f5;
}

/* =====================================================
   STANDARD UNICO STATI (NON INVASIVO)
   Da aggiungere IN FONDO al CSS
===================================================== */

/* 🎯 Badge stato (nuovo standard) */
.badge-stato,
.badge-ui {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: capitalize;
    border: 1px solid rgba(0,0,0,0.05);
}

/* colori standard */

.stato-verde {
    background: #e6f4ea;
    color: #2e7d32;
}

.stato-giallo {
    background: #fff3cd;
    color: #b8860b;
}

.stato-rosso {
    background: #fdecea;
    color: #c62828;
}

.stato-grigio {
    background: #eeeeee;
    color: #666;
}


/* 🎯 Card dinamiche (compatibili con dashboard) */

.card.stato-verde,
.card-green,
.card.verde {
    border-left: 6px solid #2e7d32 !important;
}

.card.stato-giallo,
.card-yellow,
.card.giallo {
    border-left: 6px solid #f9a825 !important;
}

.card.stato-rosso,
.card-red,
.card.rosso {
    border-left: 6px solid #c62828 !important;
}


/* 🎯 Badge compatibilità vecchio sistema */

.badge.verde,
.badge.green {
    background: #e8f5e9;
    color: #2e7d32;
}

.badge.giallo,
.badge.yellow {
    background: #fff8e1;
    color: #f9a825;
}

.badge.rosso,
.badge.red {
    background: #ffebee;
    color: #c62828;
}


/* 🎯 Migliora leggibilità tabella quote */

.tabella-quote td .badge-stato,
.tabella-quote td .badge-ui {
    font-size: 11px;
    padding: 3px 8px;
}


/* 🎯 Stato quota (puntini coerenti con nuovo sistema) */

.stato-quota.verde { background:#2e7d32; }
.stato-quota.giallo { background:#f9a825; }
.stato-quota.rosso { background:#c62828; }


/* 🎯 Hover leggero per card stato */

.card.stato-verde:hover,
.card.stato-giallo:hover,
.card.stato-rosso:hover {
    transform: translateY(-2px);
    transition: all 0.2s ease;
}