/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0.0
*/
/* Normativa: contenuto pieno a 1200px */

.site-info {
    display: none;
}

/* CONTENITORE TITOLO + MOTTO */
.site-branding {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 10px;
    margin-bottom: 0;
}

/* TITOLO SITO (ASSOCOND) */
.site-title {
    margin-top: 0;
    margin-bottom: 2px; /* spazio minimo sopra il motto */
    line-height: 1.2;
}

/* MOTTO SITO */
.site-description {
    margin-top: 30px;
    margin-bottom: 0;
    line-height: 1.3em;
}

.site-header {
    padding-top: 0px;
    padding-bottom: 0px;
}

.inside-header {
	padding-bottom: 0px;
	margin-bottom: -8px;
}

.site-content {
  width: 1200px;
}

/* CENTRA e ALLARGA il contenuto solo per Eventi */
.single-eventi .content-area {
    width: 1200px;
    margin:  auto;
}

/* Più respiro interno */
.single-eventi .inside-article {
    padding: 40px;
}

/* Immagine evento più grande e centrata */
.single-eventi .evento-image img {
    max-width: 30%;    
    display: block;
    margin: 30px auto;
}

/* Box meta evento */
.single-eventi .evento-meta {
    background: #f2f2f2;
    padding: 20px;
    margin-bottom: 30px;
    border-left: 5px solid #f2b705; /* giallo logo */
}

 
body.single-normativa .site-content,
body.single-normativa .content-area {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* GeneratePress: dentro il content-area */
body.single-normativa .inside-article,
body.single-normativa .inside-page {
  background: #e9ecef !important;
  padding: 40px !important;
  width: 100% !important;
  max-width: 1200px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
}

/* Meta box stile */
body.single-normativa .normativa-meta {
  background: #f3f3f3 !important;
  margin-top: 10px !important;
  margin-bottom: 30px !important;
  border-left: 5px solid #f2b705 !important;
  padding: 16px 18px !important;
}
  /** --------------------**/
/* =========================
   PUBBLICAZIONI – SINGOLA
   ========================= */

body.single-pubblicazione .site-content {
    width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

body.single-pubblicazione .content-area {
    width: 100%;
}

body.single-pubblicazione .inside-article {
    background: #e9ecef;
    padding: 40px;
    box-sizing: border-box;
}

/* Header */
.pubblicazione-title {
    margin-bottom: 10px;
}

.pubblicazione-data {
    font-size: 15px;
    margin-bottom: 30px;
}

/* Testo */
.pubblicazione-descrizione {
    margin-bottom: 30px;
    line-height: 1.6;
}

/* Link documenti */
.pubblicazione-link {
    margin: 12px 0;
    font-weight: 600;
}

.pubblicazione-link a {
    color: #f2b705; /* giallo logo */
    text-decoration: none;
}

.pubblicazione-link a:hover {
    text-decoration: underline;
}

/* Rimuove sidebar SEMPRE */
body.single-pubblicazione .widget-area {
    display: none;
}
.loop-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 12px;
}
.assocond-archive {
  display: grid;
  gap: 18px;
}

.assocond-card {
  background: #e9ecef;
  padding: 22px;
  border-left: 5px solid #f2b705;
  box-sizing: border-box;
}

.assocond-card-title {
  margin: 0 0 8px 0;
}

.assocond-card-title a {
  text-decoration: none;
}

.assocond-card-meta {
  margin: 0 0 10px 0;
  font-size: 14px;
}

.assocond-card-desc {
  margin: 0 0 14px 0;
}

.assocond-btn {
  display: inline-block;
  font-weight: 700;
  color: #000;
  background: #f2b705;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none;
}
.assocond-btn:hover {
  text-decoration: underline;
}

.assocond-pagination ul {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
/* =========================
   EVENTI – CARD CON IMMAGINE
   ========================= */

.assocond-evento {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.assocond-evento-thumb {
    flex: 0 0 160px;
}

.assocond-evento-thumb img {
    width: 160px;
    height: auto;
    border-radius: 6px;
    display: block;
}

.assocond-evento-content {
    flex: 1;
}
.assocond-evento {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
/** =============================**/
/* Box info contatti */
.assocond-contatti-box {
  background: #e9ecef;
  padding: 30px;
  margin-bottom: 40px;
  border-left: 5px solid #f2b705;
}

/* Form */
.wpcf7 form {
  background: #e9ecef;
  padding: 30px;
  border-left: 5px solid #f2b705;
}

.wpcf7 input,
.wpcf7 textarea {
  width: 100%;
  padding: 10px;
}

.wpcf7 input[type="submit"] {
  background: #f2b705;
  color: #000;
  border: none;
  padding: 12px 25px;
  font-weight: 600;
  cursor: pointer;
}


/**
======= pagina home ======
**/

/**
=================================
HOME – STILI ISOLATI (SAFE)
=================================
*/

.home .home-target-cards {
  margin-top: 40px;
}

.home .home-card {
  background: #e9ecef;
  padding: 28px;
  border-left: 5px solid #f2b705;
  height: 100%;
  box-sizing: border-box;
}

.home .home-card h3 {
  margin-top: 0;
  margin-bottom: 12px;
}

.home .home-help-box {
  background: #e9ecef;
  padding: 30px;
  border-left: 5px solid #f2b705;
}

.home .home-help-box ul {
  margin: 0;
  padding-left: 20px;
}

.home .home-help-box li {
  margin-bottom: 10px;
}
/* HOME – spazio sopra bottoni "Tutte le news" e "Tutti gli eventi" */
.home .wp-block-buttons.is-style-outline {
  margin-top: 10px;
}



/**
======= fine home ======
**/
/* =========================
   FOOTER – Privacy & Cookie
   ========================= */

.assocond-footer {
  text-align: center;
  font-size: 14px;
}

.assocond-footer-copy {
  margin: 0 0 6px 0;
}

.assocond-footer-links a {
  color: #000;
  text-decoration: none;
  font-weight: 500;
}

.assocond-footer-links a:hover {
  text-decoration: underline;
}

/**
=========================
 MEDIA QUERIES
=========================
*/


/* =========================
   STICKY HEADER SOLO MOBILE
   (logo + motto + hamburger sempre visibili)
   ========================= */
/* Rende l'header fisso su mobile */
@media (max-width: 768px) {
    .site-header {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 999;
    }

    /* Se il menu è separato dall'header (come nel tuo HTML) */
    .main-navigation {
        position: -webkit-sticky;
        position: sticky;
        top: 80; /* Regola questo valore in base all'altezza del tuo header */
        z-index: 998;
    }
}

/* =========================
   MEDIA QUERIES - OTTIMIZZAZIONE MOBILE
   ========================= */

@media (max-width: 768px) {
    .site-content {
        width: 100% !important; /* Occupa tutto lo schermo del telefono */
        padding-left: 15px !important;  /* Margine interno per non far toccare il testo ai bordi */
        padding-right: 15px !important;
        margin: 0 auto !important;
    }
    /* 1. Reset degli spazi per compattare il blocco */
    .site-header {
        padding: 0 0 !important;
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    /* 2. Il menu si attacca subito sotto l'header */
    /* Usiamo 'relative' per la navigazione e la facciamo scorrere 
       dentro il flusso dello sticky header se possibile, 
       oppure gli diamo un secondo sticky calcolato */
    .main-navigation {
        position: -webkit-sticky;
        position: sticky;
        z-index: 999;
        /* Questo valore deve essere l'altezza esatta dell'header.
           Dallo screenshot e dai tuoi padding, 92px è una buona stima */
        top: 70px; 
        border-bottom: 1px solid #ddd;
    }

    /* Fix per la barra di amministrazione (se loggato) */
    .admin-bar .site-header { top: 32px; }
    .admin-bar .main-navigation { top: 124px; } /* 32px barra + 92px header */

    /* 3. Compatta il branding per non occupare troppo spazio verticale */
    .site-description {
        margin-top: 5px !important;
        margin-bottom: 5px !important;
        font-size: 12px;
    }
    
    .site-branding {
        margin-top: 0;
    }

    /* 4. Rimuovi eventuali margini che creano buchi bianchi tra i due blocchi */
    .site-header, .main-navigation {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }

    /* 3. LAYOUT CONTENUTI MOBILE */
    /* Forza i contenitori a 100% invece di 1200px */
    body.single-normativa .inside-article,
    body.single-pubblicazione .site-content,
    .single-eventi .content-area {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
    }

    /* Eventi: trasforma la card da riga a colonna */
    .assocond-evento {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .assocond-evento-thumb {
        flex: 0 0 auto;
        margin-bottom: 15px;
    }
}

/**
=========================
 MEDIA QUERIES - TABLET (iPad)
=========================
*/

@media (min-width: 769px) and (max-width: 1024px) {
    .site-content {
        width: 95% !important; /* Non più 1200px, ma occupa quasi tutto lo schermo */
        margin: 0 auto !important;
    }
    /* 1. Adattamento Contenitori Generali */
    body.single-normativa .site-content,
    body.single-pubblicazione .site-content,
    .single-eventi .content-area,
    body.search .site-content {
        width: 95% !important; /* Non più 1200px fissi, ma quasi tutto lo schermo */
        padding: 20px !important;
    }

    /* 2. Ottimizzazione Header */
    .site-branding {
        margin-top: 15px;
    }
    
    .site-description {
        margin-top: 15px !important; /* Ridotto rispetto ai 30px desktop */
        font-size: 15px;
    }

    /* 3. Eventi e Card */
    .assocond-evento {
        gap: 15px;
    }

    .assocond-evento-thumb {
        flex: 0 0 140px; /* Thumbnail leggermente più piccola */
    }

    /* 4. Form e Contatti */
    .wpcf7 form, .assocond-contatti-box {
        padding: 20px;
    }

    /* 5. Home Page */
    /* Se hai una griglia di card, qui ci assicuriamo che respirino */
    .home .home-card {
        padding: 20px;
    }
}
/* =========================
   STICKY FOOTER
   ========================= */

/* Imposta l'altezza minima dell'intero sito alla dimensione dello schermo */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
}

/* Fa in modo che il contenitore del contenuto cresca occupando tutto lo spazio libero */
#page {
    flex: 1 0 auto;
}

/* Il footer rimane al suo posto naturale, ma spinto in fondo se il contenuto è poco */
.site-footer {
    flex-shrink: 0;
}
