/*
Theme Name: Akitheme
Theme URI: https://www.akiclub.it/
Author: Perugini Multimedia
Author URI: https://www.peruginimultimedia.it/
Description: Tema personalizzato per Akiclub.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-menu, one-column, full-width-template, responsive-layout, nerd, cosplay, events
Text Domain: akitheme
*/

/* Incolla qui TUTTO il contenuto del tuo file home.css */
/* Variabili di colore secondo le linee guida */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Anton:wght@400;700&display=swap');
@import url('https://fonts.cdnfonts.com/css/satoshi'); 
@import url('https://fonts.googleapis.com/css2?family=Satoshi:wght@400;700&display=swap');



:root {
    --colore-chewing-gum: #D94E96;
    --colore-blu-notte: #213564;
    --colore-lime: #BCCF00;
    --colore-bianco: #FFFFFF;
    --font-anton: 'Anton', sans-serif;
    --font-satoshi: 'Satoshi', sans-serif;
}

.bianco {
	color: var(--colore-bianco) !important;
}
.blu {
	color: var(--colore-blu-notte) !important;
}
.rosa {
	color: var(--colore-chewing-gum) !important;
}
.lime {
	color: var(--colore-lime) !important;
}
.centrato {
	text-align:center !important;
}

p:empty {
  margin: 0;
  padding: 0;
  border: 0; /* Potrebbe essere utile anche azzerare altri stili */
  height: 0; /* Per assicurarsi che non occupi spazio */
}

/* Stili generali */
body {
    font-family: var(--font-satoshi);
    color: var(--colore-blu-notte);
    margin: 0;
	line-height: 1.4;
    -webkit-font-smoothing: antialiased; /* Migliora la resa del font su Webkit */
    -moz-osx-font-smoothing: grayscale; /* Migliora la resa del font su Firefox */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.section {
    padding: 20px 0;
}

.section-title {
    font-family: var(--font-anton);
    font-size: 2.5em;
	letter-spacing: 2px;
    color: var(--colore-blu-notte);
    text-align: center !important;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.section-intro {
    text-align: center;
    margin-bottom: 40px;
    color: #555;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.button {
    display: inline-block;
    font-family: var(--font-anton);
    font-size: 1.1em;
	letter-spacing: 2px;
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    text-align: center;
}

.primary-button {
    background-color: var(--colore-lime) !important;
    color: var(--colore-blu-notte);
	border: solid 1px #788500; /* 616c00 */
	border-radius: 10px;
}

.primary-button:hover {
    background-color: #a6b800; /* Lime leggermente più scuro all'hover */
}

.secondary-button {
    background-color: var(--colore-chewing-gum);
    color: var(--colore-bianco);
	border: solid 1px #9b346c; /* 882d5f */
	border-radius: 10px;
}

.secondary-button:hover {
    background-color: #c04287; /* Chewing Gum leggermente più scuro all'hover */
}

.rounded-image {
    border-radius: 10px;
    max-width: 100%; /* Assicura che l'immagine non superi la larghezza del contenitore */
    height: auto; /* Mantiene le proporzioni dell'immagine */
    display: block; /* Rimuove spazio extra sotto l'immagine */
}

.text-center {
    text-align: center;
}

/* Header */
header {
    background-color: var(--colore-blu-notte);
    color: var(--colore-bianco);
    padding: 0px; /* Ridotto il padding verticale dell'header */
    text-align: center;
    position: relative; /* Per posizionare lo sfondo a pattern */
    overflow: show; /* Nasconde il pattern che potrebbe fuoriuscire */
	z-index:20000;
}

.header {
    background-color: var(--colore-blu-notte);
    color: var(--colore-bianco);
    padding: 0px;
    text-align: center;
    position: relative;
    overflow: hidden; /* RIMOSSO o commentato per permettere all'immagine di sporgere */
    /* Se rimuovendolo il pattern SVG in header::before sporge troppo, potresti dover regolare header::before
       o accettare che il pattern possa non essere perfettamente contenuto.
       Un'alternativa sarebbe overflow: visible; ma l'effetto è simile a non averlo. */
    z-index: 10;
}

.header::after {
    content: '';
    position: absolute;
    /* IMPOSTA QUI LE DIMENSIONI DELLA TUA IMMAGINE */
    width: 300px;  /* Esempio: larghezza dell'immagine */
    height: 250px; /* Esempio: altezza dell'immagine */

    /* CALCOLA QUANTO DEVE SPORGERE (25% delle dimensioni dell'immagine) */
    /* Esempio: 25% di 250px (altezza) = 62.5px */
    /* Esempio: 25% di 300px (larghezza) = 75px */
    bottom: -62.5px;  /* Sporge di 62.5px dal basso */
    right: -75px;   /* Sporge di 75px da destra */

    background-image: url('/wp-content/uploads/2025/06/Tavola-disegno-1.png');
    background-size: contain; /* o 'cover' o '100% 100%', a seconda di come vuoi che si adatti */
    background-repeat: no-repeat;
    background-position: center center; /* Centra l'immagine all'interno dello pseudo-elemento */
    z-index: 1; /* Sopra il colore di sfondo implicito del .header, sotto .header-content (che ha z-index: 100)
                   e potenzialmente sopra il pattern header::before (che non ha z-index esplicito) */
    pointer-events: none; /* L'immagine non sarà cliccabile o interattiva */
}

header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Aggiornato il percorso per essere relativo alla root del tema */
    background-image: url('images/pattern-header.svg');
    background-repeat: repeat;
    background-size: 200px; /* Regola la dimensione del pattern */
    opacity: 0.1; /* Leggera trasparenza per non disturbare il testo */
    pointer-events: none; /* Evita che il pattern interferisca con gli eventi del mouse */
}

.header-content {
    position: relative; /* Riporta il contenuto sopra lo sfondo a pattern */
    z-index: 100; /* Assicura che il contenuto sia sopra lo sfondo */
}


.logo {
    max-width: 300px; /* Logo leggermente più piccolo */
    height: auto;
	padding-top:50px;
    margin-bottom: 10px; /* Ridotto il margin bottom del logo */
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.hero-title {
    font-family: var(--font-anton);
    font-size: 2.8em; /* Titolo leggermente più piccolo */
    margin-bottom: 15px; /* Ridotto il margin bottom del titolo */
    line-height: 1.4;
	letter-spacing: 2px;
    text-transform: uppercase;
	text-align:center;
}

.hero-subtitle {
    font-size: 1.4em; /* Sottotitolo leggermente più piccolo */
    max-width: 700px;
    margin: 0 auto 20px; /* Ridotto il margin bottom del sottotitolo */
    color: #eee; /* Un bianco leggermente più tenue */
	text-align:justify;
}




/* Sezione Servizi */
.servizi-section {
    background-color: var(--colore-bianco);
}

.servizi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Griglia responsiva */
    gap: 30px;
}

#valori-akiclub .servizi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); /* Griglia responsiva */
    gap: 30px;
}

.servizio {
    text-align: center;
    padding: 20px;
    border: 1px solid #eee; /* Bordo leggero per separare i servizi */
    border-radius: 8px;
    background-color: #f9f9f9; /* Leggero sfondo grigio */
}

.servizio-icon {
    font-size: 3em;
    color: var(--colore-chewing-gum);
    margin-bottom: 20px;
}

.servizio h3 {
    font-family: var(--font-anton);
    font-size: 1.5em;
	letter-spacing: 2px;
    color: var(--colore-blu-notte);
    margin-bottom: 15px;
    text-transform: uppercase;
}

section p {
	text-align:left !important;
}

.servizio p {
    color: #555; /* Testo leggermente più scuro per i paragrafi */
	text-align:center !important;
}
.team-section p {
	text-align:center !important;
}

/* Sezione Perché Akiclub */
.perche-section {
    background-color: var(--colore-chewing-gum);
    color: var(--colore-bianco);
}

.perche-content {
    display: flex;
    align-items: center; /* Allinea verticalmente gli elementi */
    gap: 50px; /* Spazio tra testo e immagine */
}

.perche-text {
    flex: 1; /* Il testo occupa lo spazio disponibile */
}

.perche-image {
    flex: 1; /* L'immagine occupa lo spazio disponibile */
    text-align: center; /* Centra l'immagine nel suo contenitore */
}

.perche-section .section-title {
    color: var(--colore-bianco); /* Titolo bianco su sfondo rosa */
    text-align: left; /* Allinea il titolo a sinistra in questa sezione */
}

.perche-section a.button {
	color: var(--colore-blu-notte);
	background-color: var(--colore-bianco);
}

.perche-text ul {
    list-style: none;
    padding-left: 0;
    margin-top: 20px;
}

.perche-text ul li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 25px; /* Spazio per l'icona/bullet personalizzato */
}

.perche-text ul li::before {
    content: '\f00c'; /* Icona di spunta (Font Awesome checkmark) */
    font-family: 'Font Awesome 6 Free'; /* Assicurati che FontAwesome sia caricato */
    font-weight: 900; /* Corrisponde a Font Awesome Solid */
    position: absolute;
    left: 0;
    top: 4px; /* Regola l'allineamento verticale dell'icona */
    color: var(--colore-lime); /* Colore dell'icona */
}


/* Sezione Iscriviti */
.iscriviti-section {
    background-color: var(--colore-lime);
    text-align: center;
    color: var(--colore-blu-notte);
}

.iscriviti-content {
    padding: 80px 0;
}

.iscriviti-section .section-title {
    color: var(--colore-blu-notte); /* Titolo blu su sfondo lime */
}


.iscriviti-subtitle {
    font-size: 1.2em;
    margin-bottom: 30px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.iscriviti-form,.mailpoet_form {
    display: flex;
    max-width: 600px;
    margin: 0 auto;
}

.iscriviti-form input[type="email"], .mailpoet_form input[type="email"], .search-field {
    flex: 1;
    padding: 12px !important;
    border: none;
    border-radius: 5px 0 0 5px;
    font-size: 1em;
	margin:0px !important;
	cursor: pointer !important;
}

.iscriviti-form button, .mailpoet_form input[type="submit"], .search-submit {
    border-radius: 0 5px 5px 0 !important;
	margin:0px !important;
	padding: 8px !important;
}

.mailpoet_paragraph {padding:0px;margin:0px;border:0px;} 

/* Sezione Team */
.team-section {
    background-color: var(--colore-bianco);
}

.team-section .section-title {
    color: var(--colore-blu-notte);
}

.team-intro {
    text-align: center;
    margin-bottom: 40px;
    color: #555;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}


/* Sezione Cooperazioni */
.cooperazioni-section {
    background-color: var(--colore-blu-notte);
    color: var(--colore-bianco);
    text-align: center;
}

.cooperazioni-section .section-title {
    color: var(--colore-bianco); /* Titolo bianco su sfondo blu */
}

.cooperazioni-intro {
    margin-bottom: 40px;
    color: #eee; /* Testo introduttivo leggermente più chiaro */
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.cooperazioni-logos {
    display: flex;
    flex-wrap: wrap; /* Permette ai loghi di andare a capo su schermi piccoli */
    justify-content: center; /* Centra i loghi orizzontalmente */
    gap: 30px; /* Spazio tra i loghi */
    margin-bottom: 40px;
}

.partner-logo, .attestato-logo {
    max-height: 80px;
    max-width: 200px;
    width: auto;
	height: auto;
    opacity: 0.8; /* Leggera trasparenza */
    transition: opacity 0.3s ease;
	filter: drop-shadow(0 0 3px white);
	object-fit: contain;
}

.partner-logo:hover, .attestato-logo:hover {
    opacity: 1; /* Opacità piena all'hover */
}

.attestati-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.attestato-logo {
    max-height: 120px; /* Altezza massima per i loghi degli attestati */
}


/* Footer */
footer {
    background-color: var(--colore-blu-notte);
    color: #ddd;
    padding: 30px 0;
    border-top: 3px solid var(--colore-lime); /* Bordo superiore color lime */
}

.footer-content {
    display: flex;
    justify-content: space-between; /* Spazio tra link social e info aziendali */
    align-items: center; /* Allinea verticalmente gli elementi */
    flex-wrap: wrap; /* Permette agli elementi di andare a capo su schermi piccoli */
    gap: 20px; /* Spazio tra gli elementi quando vanno a capo */
}

.social-links a {
    display: inline-block;
    font-size: 1.5em;
    color: #ddd;
    margin-right: 20px;
    transition: color 0.3s ease;
    text-decoration: none; /* Assicura che non ci siano sottolineature */
}

.social-links a:last-child {
    margin-right: 0;
}

.social-links a:hover {
    color: var(--colore-lime); /* Colore lime all'hover */
}

.company-info {
    font-size: 0.9em;
    text-align: right; /* Allinea il testo a destra nel footer */
}

.company-info a {
    color: #ddd;
    text-decoration: none;
    margin-left: 15px;
    transition: color 0.3s ease;
}

.company-info a:hover {
    color: var(--colore-lime);
}

/* ...stili precedenti del menu... */


/* ...altri stili... */

/* Responsive Design */
@media (max-width: 768px) {
    .section {
        padding: 40px 0; /* Riduce il padding verticale su schermi piccoli */
    }
    .section-title {
        font-size: 2em; /* Riduce la dimensione del titolo sezione su schermi piccoli */
        margin-bottom: 30px;
    }
    .hero-title {
        font-size: 2.3em !important; /* Riduce il titolo principale su schermi piccoli */
		text-align:center;
    }
    .hero-subtitle {
        font-size: 1.2em; /* Riduce il sottotitolo principale su schermi piccoli */
		text-align:justtify;
    }
    .perche-content {
        flex-direction: column; /* Impila testo e immagine verticalmente su schermi piccoli */
        text-align: center; /* Centra il testo quando impilato */
    }
    .perche-image {
        margin-top: 30px; /* Aggiunge spazio sopra l'immagine quando impilata */
    }
    .perche-section .section-title {
        text-align: center; /* Allinea il titolo al centro su mobile */
    }
    .iscriviti-form, .mailpoet_form {
        flex-direction: column; /* Impila i campi del form verticalmente su schermi piccoli */
        max-width: 400px; /* Riduce la larghezza massima del form */
    }
    .iscriviti-form input[type="email"], .mailpoet_form input[type="email"] {
        border-radius: 5px 5px 0 0; /* Arrotonda solo la parte superiore quando impilato */
        margin-bottom: 10px; /* Spazio tra input e bottone */
    }
    .iscriviti-form button, .mailpoet_form input[type="submit"] {
        border-radius: 0 0 5px 5px  !important; /* Arrotonda solo la parte inferiore quando impilato */
    }
    .footer-content {
        flex-direction: column; /* Impila gli elementi del footer verticalmente su schermi piccoli */
        text-align: center; /* Centra il testo nel footer quando impilato */
    }
    .company-info {
        text-align: center; /* Forza allineamento al centro su mobile */
    }
    .social-links {
        margin-bottom: 20px; /* Spazio tra social e info aziendali su mobile */
    }



    
	.header-content {
		padding-bottom:0px;
	}
    



}


/* ----------------------------------------- */
/* STILI PER IL TAG ARTICLE                  */
/* ----------------------------------------- */
.site-main {
	background-color: var(--colore-blu-notte) !important;
}

article.post,
article.page,
.tribe-events-pg-template .tribe-events-single, /* Per eventi singoli di The Events Calendar */
.hentry,
section.no-results,
section.not-found,
.fotografo-single-entry .fotografo-single-content,
.espositore-single-entry .espositore-single-content,
.raduno-single-entry .raduno-single-content {
    background-color: var(--colore-blu-notte) !important;
    color: var(--colore-bianco);
    padding: 30px;
    margin-bottom: 40px;
    border-radius: 15px;
    /* border: 5px solid var(--colore-blu-notte); */ /* Bordo rimosso */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Titoli all'interno dell'articolo (h1, h2, h3, ecc.) */
article.post .entry-title,
article.page .entry-title, /* Per il titolo principale della pagina/articolo */
article.post .entry-content h1,
section.no-results h1,
section.not-found h1,
article.post .entry-content h2,
article.post .entry-content h3,
article.post .entry-content h4,
article.post .entry-content h5,
article.post .entry-content h6 {
    color: var(--colore-lime); /* Titoli color oliva (lime) */
    font-family: var(--font-anton); /* Se vuoi usare Anton per i titoli interni */
    text-transform: uppercase; /* Se vuoi i titoli interni in maiuscolo */
    margin-top: 1.5em; /* Spazio sopra i titoli interni */
    margin-bottom: 0.8em; /* Spazio sotto i titoli interni */
    letter-spacing: 1px; /* Spaziatura lettere per font Anton (opzionale) */
}
.page-header, .archive-header {
	z-index:1 !important;	
}
/* Stile specifico per il titolo principale dell'articolo se diverso dai sottotitoli */
article.post .entry-title,
article.page .entry-title {
    font-size: 2em; /* Dimensione per il titolo principale dell'articolo */
    margin-top: 0; /* Rimuovi margine superiore per il primo titolo */
    padding-bottom: 15px; /* Spazio sotto il titolo principale */
    border-bottom: 2px solid var(--colore-lime); /* Linea separatrice sotto il titolo principale (opzionale) */
    margin-bottom: 25px; /* Spazio maggiore sotto il titolo principale */
}

/* Paragrafi e testo generale all'interno dell'articolo */
article.post .entry-content p,
article.post .entry-content li,
article.post .entry-content td,
article.post .entry-content th,
article.post .entry-content blockquote {
    color: var(--colore-bianco); /* Testo bianco */
    line-height: 1.7; /* Interlinea leggermente aumentata per leggibilità su sfondo scuro */
}

/* Link all'interno del contenuto dell'articolo */
article.post .entry-content a {
    color: var(--colore-lime); /* Link color oliva (lime) per contrasto */
    text-decoration: underline;
    text-decoration-color: var(--colore-lime);
    transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

article.post .entry-content a:hover {
    color: var(--colore-chewing-gum); /* Link color chewing-gum all'hover */
    text-decoration-color: var(--colore-chewing-gum);
}

/* Immagini all'interno del contenuto dell'articolo */
article.post .entry-content img,
article.post .wp-block-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px; /* Angoli arrotondati anche per le immagini interne (opzionale) */
    margin-top: 15px;
    margin-bottom: 15px;
    display: block; /* Per centrare con margin auto se necessario */
    /* filter: drop-shadow(0 0 3px rgba(255,255,255,0.2)); /* Leggera ombra bianca per staccare (opzionale) */
}

/* Liste all'interno dell'articolo */
article.post .entry-content ul,
article.post .entry-content ol {
    margin-left: 20px; /* Indentazione per le liste */
    padding-left: 10px;
}
article.post .entry-content ul li::marker { /* Per personalizzare i bullet points */
    color: var(--colore-lime);
}
article.post .entry-content ol li::marker { /* Per personalizzare i numeri */
    color: var(--colore-lime);
}


/* Blockquotes all'interno dell'articolo */
article.post .entry-content blockquote {
    border-left: 4px solid var(--colore-lime);
    padding-left: 20px;
    margin: 20px 0;
    font-style: italic;
    color: #f0f0f0; /* Un bianco leggermente diverso per il blockquote */
}

article.post .entry-content blockquote p {
    color: #f0f0f0; /* Assicura che il testo nel p del blockquote sia corretto */
}

/* Codice preformattato */
article.post .entry-content pre {
    background-color: rgba(0,0,0,0.2); /* Sfondo leggermente trasparente per il codice */
    padding: 15px;
    border-radius: 5px;
    overflow-x: auto; /* Scroll orizzontale per blocchi di codice lunghi */
    color: #e0e0e0; /* Colore del testo per il codice */
    border: 1px solid var(--colore-chewing-gum);
}
article.post .entry-content code {
    background-color: rgba(0,0,0,0.3);
    padding: 2px 5px;
    border-radius: 3px;
    font-family: monospace;
    color: #f0f0f0;
}




/* Stili generali per input di testo, email, password, textarea e select */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
textarea,
select {
    width: 100%;
    padding: 12px 15px; /* Padding interno */
    margin-bottom: 20px; /* Spazio sotto ogni campo */
    border: 2px solid var(--colore-blu-notte); /* Bordo blu arrotondato */
    border-radius: 10px; /* Angoli arrotondati */
    background-color: var(--colore-bianco); /* Sfondo bianco */
    color: var(--colore-blu-notte); /* Colore del testo blu notte */
    font-family: var(--font-satoshi); /* Font Satoshi per il testo */
    font-size: 1em;
    line-height: 1.4;
    box-sizing: border-box; /* Assicura che padding e border siano inclusi nella larghezza */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transizione fluida al focus */
    -webkit-appearance: none; /* Rimuove stili di default su Webkit */
    -moz-appearance: none;    /* Rimuove stili di default su Firefox */
    appearance: none;         /* Rimuove stili di default */
}

input[type="date"] {
    padding: 12px 15px; /* Padding interno */
    margin-bottom: 20px; /* Spazio sotto ogni campo */
    border: 2px solid var(--colore-blu-notte); /* Bordo blu arrotondato */
    border-radius: 10px; /* Angoli arrotondati */
    background-color: var(--colore-bianco); /* Sfondo bianco */
    color: var(--colore-blu-notte); /* Colore del testo blu notte */
    font-family: var(--font-satoshi); /* Font Satoshi per il testo */
    font-size: 1em;
    line-height: 1.4;
    box-sizing: border-box; /* Assicura che padding e border siano inclusi nella larghezza */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transizione fluida al focus */
    -webkit-appearance: none; /* Rimuove stili di default su Webkit */
    -moz-appearance: none;    /* Rimuove stili di default su Firefox */
    appearance: none;         /* Rimuove stili di default */
}

/* Stile specifico per le textarea */
textarea {
    min-height: 120px; /* Altezza minima per le textarea */
    resize: vertical; /* Permette solo il ridimensionamento verticale */
}

/* Stile per il focus dei campi form */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    outline: none; /* Rimuove l'outline di default del browser */
    border-color: var(--colore-lime); /* Bordo color lime al focus */
    box-shadow: 0 0 0 3px rgba(188, 207, 0, 0.3); /* Leggera ombra color lime al focus */
}

/* ----------------------------------------- */
/* STILI PER IL PULSANTE SUBMIT              */
/* ----------------------------------------- */

/* Stili per i pulsanti di tipo submit */
input[type="submit"] {
    display: inline-block;
    font-family: var(--font-anton); /* Font Anton */
    font-size: 1.1em;
    letter-spacing: 2px;
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 10px; /* Angoli arrotondati */
    transition: background-color 0.3s ease, border-color 0.3s ease;
    text-transform: uppercase;
    border: solid 1px #9b346c; /* Bordo leggermente più scuro del rosa */
    cursor: pointer;
    text-align: center;

    background-color: var(--colore-chewing-gum); /* Sfondo rosa */
    color: var(--colore-bianco); /* Testo bianco */
}

/* Stile hover per il pulsante submit */
input[type="submit"]:hover {
    background-color: #c04287; /* Rosa leggermente più scuro all'hover */
    border-color: #7b2a54; /* Bordo ancora più scuro all'hover */
}


/* Stili per Archivio e Singolo Fotografi
-------------------------------------------------------------- */

/* Stili per l'archivio dei fotografi (archive-fotografi.php) */
.archive-header {
    margin-bottom: 40px;
    text-align: center;
}

.fotografi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.fotografo-card {
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden; /* Per arrotondare l'immagine correttamente */
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease;
}

.fotografo-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.fotografo-card-image img {
    width: 100%;
    height: 250px; /* Altezza fissa per le card */
    object-fit: cover; /* Copre lo spazio senza distorcere */
    display: block;
    border-top-left-radius: 8px; /* Se .rounded-image non è sufficiente */
    border-top-right-radius: 8px;
}

.fotografo-card-content {
    padding: 20px;
    flex-grow: 1; /* Fa espandere il contenuto per riempire lo spazio */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Spinge il bottone in basso */
}

.fotografo-card-title {
    font-family: var(--font-anton);
    font-size: 1.6em;
    color: var(--colore-blu-notte);
    margin-top: 0;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.fotografo-card-title a {
    text-decoration: none;
    color: inherit;
}

.fotografo-card-title a:hover {
    color: var(--colore-chewing-gum);
}

.fotografo-card-alias,
.fotografo-card-location {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 8px;
}

.fotografo-card-location i {
    margin-right: 5px;
    color: var(--colore-lime);
}

.fotografo-card .button.small-button {
    font-size: 0.9em;
    padding: 8px 20px;
    margin-top: 15px; /* Spazio sopra il bottone */
    align-self: flex-start; /* Allinea il bottone a sinistra se c'è spazio */
}

/* Stili per la pagina singola del fotografo (single-fotografi.php) */
.fotografo-single-entry .entry-header {
    text-align: center;
    margin-bottom: 30px;
}
.fotografo-single-entry .entry-title {
    margin-bottom: 5px; /* Ridotto spazio sotto il titolo principale */
}

.fotografo-alias {
    font-size: 1.2em;
    color: var(--colore-chewing-gum);
    font-family: var(--font-satoshi);
    font-weight: 700;
    margin-top: 0;
}

.fotografo-single-content {
    display: grid;
    grid-template-columns: 1fr; /* Una colonna su mobile */
    gap: 30px;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .fotografo-single-content {
        grid-template-columns: 1fr 1.5fr; /* Due colonne su schermi più grandi */
        align-items: flex-start; /* Allinea gli elementi all'inizio della griglia */
    }
}

.fotografo-main-image img {
    width: 100%;
    height: auto;
    display: block;
}

.fotografo-details {
    background-color: #f9f9f9;
    padding: 25px;
    border-radius: 8px;
}

.fotografo-detail-item {
    margin-bottom: 20px;
    font-size: 1.1em;
    line-height: 1.7;
}

.fotografo-detail-item .icon-detail {
    color: var(--colore-lime);
    margin-right: 10px;
    font-size: 1.2em;
    width: 25px; /* Per allineamento */
    text-align: center;
}

.fotografo-detail-item strong {
    color: var(--colore-blu-notte);
    font-family: var(--font-satoshi); /* O Anton se preferisci */
    font-weight: 700;
}

.fotografo-bio h3.detail-subheader,
.fotografo-social-links h3.detail-subheader {
    font-family: var(--font-anton);
    color: var(--colore-chewing-gum);
    font-size: 1.4em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--colore-lime);
}

.fotografo-social-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* Permette ai bottoni di andare a capo */
    gap: 10px; /* Spazio tra i bottoni */
}

.fotografo-social-links ul li {
    margin-bottom: 0; /* Rimosso perché il gap gestisce lo spazio */
}

.fotografo-social-links .button.icon-button {
    display: inline-flex; /* Per allineare icona e testo */
    align-items: center;
    padding: 10px 20px;
    font-size: 1em;
}

.fotografo-social-links .button.icon-button i {
    margin-right: 8px;
    font-size: 1.2em;
}

/* Stili per un'eventuale galleria (esempio, da adattare se implementata) */
.fotografo-gallery {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}
.fotografo-gallery h3 { /* Se aggiungi un titolo alla galleria */
    font-family: var(--font-anton);
    color: var(--colore-blu-notte);
    font-size: 1.8em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    text-align: center;
}
.fotografo-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}
.fotografo-gallery img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fotografo-gallery img:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Stili per Archivio e Singolo Espositori
-------------------------------------------------------------- */

/* Stili per l'archivio degli espositori (archive-espositori.php) */
.espositori-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); /* Card leggermente più larghe */
    gap: 30px;
    margin-bottom: 40px;
}

.espositore-card {
    background-color: var(--colore-bianco); /* Sfondo bianco per contrasto */
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.espositore-card:hover {
    box-shadow: 0 6px 18px rgba(33, 53, 100, 0.15); /* Ombra blu notte tenue */
    transform: translateY(-5px);
}

.espositore-card-image img {
    width: 100%;
    height: 200px; /* Altezza per immagine/logo espositore */
    object-fit: contain; /* 'contain' per loghi, 'cover' per immagini generiche */
    padding: 10px; /* Un po' di padding se l'object-fit è contain */
    background-color: #f8f8f8; /* Sfondo leggero per l'area immagine */
    display: block;
}

.espositore-card-content {
    padding: 20px 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.espositore-card-title {
    font-family: var(--font-anton);
    font-size: 1.7em;
    color: var(--colore-blu-notte);
    margin-top: 0;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.espositore-card-title a {
    text-decoration: none;
    color: inherit;
}

.espositore-card-title a:hover {
    color: var(--colore-chewing-gum);
}

.espositore-card-subtitle {
    font-size: 1em;
    color: #666;
    margin-top: 0;
    margin-bottom: 15px;
    font-style: italic;
}

.espositore-card-excerpt {
    font-size: 0.95em;
    color: #555;
    margin-bottom: 20px;
    line-height: 1.6;
    flex-grow: 1; /* Permette all'excerpt di occupare spazio prima dei bottoni */
}
.espositore-card-excerpt p {
    margin-bottom: 0;
}


.espositore-card-actions {
    margin-top: auto; /* Spinge i bottoni in fondo alla card */
    padding-top: 15px; /* Spazio sopra i bottoni se l'excerpt è corto */
    border-top: 1px solid #eee;
    display: flex;
    gap: 10px; /* Spazio tra i bottoni */
    flex-wrap: wrap; /* Permette ai bottoni di andare a capo */
}

.espositore-card-actions .button {
    flex-grow: 1; /* Fa espandere i bottoni per riempire lo spazio se sono pochi */
    text-align: center;
}


/* Stili per la pagina singola dell'espositore (single-espositori.php) */
.espositore-single-entry .entry-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--colore-lime);
}
.espositore-single-entry .entry-title {
    margin-bottom: 5px;
}

.espositore-subtitle-acf {
    font-size: 1.3em;
    color: var(--colore-chewing-gum);
    font-family: var(--font-satoshi);
    font-weight: 700;
    margin-top: 0;
}

.espositore-single-content {
    display: grid;
    grid-template-columns: 1fr; /* Layout a una colonna di default */
    gap: 35px;
    margin-bottom: 40px;
}

.espositore-single-content.has-image { /* Se c'è l'immagine, usa due colonne su desktop */
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .espositore-single-content.has-image {
        grid-template-columns: 0.8fr 1.2fr; /* Immagine più piccola, dettagli più grandi */
        align-items: flex-start;
    }
    .espositore-single-content.no-image .espositore-details { /* Se non c'è immagine, dettagli a tutta larghezza */
        grid-column: 1 / -1;
    }
}


.espositore-main-image img {
    width: 100%;
    height: auto;
    max-height: 450px; /* Limita altezza immagine principale */
    object-fit: contain; /* Per loghi o immagini specifiche */
    display: block;
    border: 1px solid #ddd;
    padding: 5px;
    background-color: #fff;
}

.espositore-details {
    /* Rimuovi sfondo se vuoi che sia pulito come il resto della pagina */
    /* background-color: #fdfdfd; */
    /* padding: 25px; */
    /* border-radius: 8px; */
}

.espositore-detail-item,
.espositore-contact-info {
    margin-bottom: 25px;
}

.espositore-detail-item p:last-child {
    margin-bottom: 0;
}

.espositore-description h3.detail-subheader,
.espositore-contact-info h3.detail-subheader {
    font-family: var(--font-anton);
    color: var(--colore-blu-notte);
    font-size: 1.5em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--colore-chewing-gum);
}

.espositore-contact-info ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.espositore-contact-info ul li {
    margin-bottom: 12px;
    font-size: 1.1em;
    display: flex;
    align-items: center;
}

.espositore-contact-info ul li .icon-detail {
    color: var(--colore-lime);
    margin-right: 12px;
    font-size: 1.3em;
    width: 28px;
    text-align: center;
}

.espositore-contact-info ul li a {
    text-decoration: none;
    color: var(--colore-blu-notte);
    transition: color 0.3s ease;
}

.espositore-contact-info ul li a:hover {
    color: var(--colore-chewing-gum);
}

.espositore-single-entry .entry-footer {
    margin-top: 30px;
    text-align: right;
}

/* Stili per Archivio e Singolo Raduni
-------------------------------------------------------------- */

/* Stili per l'archivio dei raduni (archive-raduni.php) */
.raduni-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.raduno-card {
    background-color: var(--colore-bianco);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.raduno-card:hover {
    box-shadow: 0 6px 18px rgba(var(--colore-lime-rgb, 188, 207, 0), 0.25); /* Ombra lime tenue */
    transform: translateY(-5px);
}
/* Aggiungi al :root se non l'hai già fatto per altre ombre */
/* :root { --colore-lime-rgb: 188, 207, 0; } */


.raduno-card-image img {
    width: 100%;
    height: 200px;
    object-fit: cover; /* 'cover' per locandine o immagini evento */
    display: block;
}

.raduno-card-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.raduno-card-title {
    font-family: var(--font-anton);
    font-size: 1.6em;
    color: var(--colore-blu-notte);
    margin-top: 0;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.raduno-card-title a {
    text-decoration: none;
    color: inherit;
}

.raduno-card-title a:hover {
    color: var(--colore-lime);
}

.raduno-card-date,
.raduno-card-parent-event {
    font-size: 0.95em;
    color: #555;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

.raduno-card-date i,
.raduno-card-parent-event i { /* Se aggiungi icone anche qui */
    margin-right: 8px;
    color: var(--colore-chewing-gum);
}
.raduno-card-parent-event strong {
    color: var(--colore-chewing-gum);
    font-weight: 700;
}

.raduno-card-excerpt {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.5;
    flex-grow: 1;
}
.raduno-card-excerpt p {
    margin-bottom: 0;
}

.raduno-card-actions {
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #eee;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.raduno-card-actions .button {
    flex-grow: 1;
    text-align: center;
}

/* Stili per la pagina singola del raduno (single-raduni.php) */
.raduno-single-entry .entry-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--colore-chewing-gum); /* Bordo Chewing Gum per raduni */
}
.raduno-single-entry .entry-title {
    margin-bottom: 5px;
}

.raduno-subtitle-acf { /* Se diverso dal titolo */
    font-size: 1.2em;
    color: var(--colore-lime);
    font-family: var(--font-satoshi);
    font-weight: bold;
    margin-top: 0;
}

.raduno-single-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 40px;
}

.raduno-single-content.has-image {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .raduno-single-content.has-image {
        grid-template-columns: 1fr 1.5fr; /* Immagine a sinistra, dettagli a destra */
        align-items: flex-start;
    }
     .raduno-single-content.no-image .raduno-details {
        grid-column: 1 / -1;
    }
}

.raduno-main-image img {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: cover; /* o contain se più appropriato */
    display: block;
    border: 1px solid #ddd;
    padding: 5px;
    background-color: #fff;
}

.raduno-details {
    /* Nessuno sfondo specifico, si integra con la pagina */
}

.raduno-meta-info {
    background-color: #f8f9fa; /* Sfondo leggero per le info meta */
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    border-left: 5px solid var(--colore-lime);
}

.raduno-detail-item {
    margin-bottom: 15px;
    font-size: 1.1em;
    line-height: 1.7;
    display: flex;
    align-items: flex-start; /* Per icone più grandi */
}
.raduno-detail-item:last-child {
    margin-bottom: 0;
}

.raduno-detail-item .icon-detail {
    color: var(--colore-chewing-gum);
    margin-right: 12px;
    font-size: 1.3em;
    width: 28px;
    text-align: center;
    flex-shrink: 0; /* Evita che l'icona si restringa */
    margin-top: 2px; /* Piccolo aggiustamento verticale */
}

.raduno-detail-item strong {
    color: var(--colore-blu-notte);
    font-weight: 700;
    margin-right: 5px;
}

.raduno-external-link .button {
    width: 100%; /* Bottone a tutta larghezza nella sezione meta */
    text-align: center;
}
.raduno-external-link .button i {
    margin-right: 8px;
}


.raduno-description h3.detail-subheader {
    font-family: var(--font-anton);
    color: var(--colore-blu-notte);
    font-size: 1.5em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--colore-lime);
}

.raduno-single-entry .entry-footer {
    margin-top: 30px;
    text-align: right;
}

.archive-container .archive-entry .entry-summary,
.page-container .entry-content,
.fotografo-single-entry .fotografo-bio {
    /* Assicura che i paragrafi abbiano un margine inferiore, utile per il contenuto di the_content() */
}
.archive-container .archive-entry .entry-summary p,
.page-container .entry-content p,
.fotografo-single-entry .fotografo-bio p {
    margin-bottom: 1em;
}
.archive-container .archive-entry .entry-summary p:last-child,
.page-container .entry-content p:last-child,
.fotografo-single-entry .fotografo-bio p:last-child {
    margin-bottom: 0;
}


.tribe-events-header {z-index:1 !important;}
div.tribe-events-header__events-bar, .tribe-events-c-events-bar__search-container, .tribe-events-c-events-bar__views, .tribe-events-c-view-selector, .tribe-events-c-view-selector__content {border-radius:15px !important;}
.tribe-events article h3 a {font-family:var(--font-anton) !important;letter-spacing: 2px !important;text-transform: uppercase !important;color: var(--colore-lime) !important;font-size:2.4rem}
.tribe-events  :is(p, a, dl, ol, ul, span), .tribe-events-pg-template :is(p, a, dl, ol, ul, span) {color:white !important;
font-family: var(--font-satoshi) !important;}
.tribe-events-header :is(p, a, dl, ol, ul, span) {color:#213564 !important}
.tribe-events-header time span {color:white !important;}
.tribe-events-schedule h2 {color:white !important;}
.tribe-events,
.site-content,
.tribe-events-pg-template
{
background-color: var(--colore-blu-notte);
}
.tribe-events-pg-template
{
	margin-top:0px;
	margin-bottom:0px;
	
}

.team-member {margin:auto;}
#iscriviti {padding:10px;}
article h2 a {color:white;text-decoration:none;}
.tribe-events-c-messages__message, .tribe-common-c-svgicon, .tribe-common-c-svgicon--caret-down, .tribe-events-c-top-bar__datepicker-button-icon-svg .tribe-common-c-svgicon__svg-fill, .tribe-events-calendar-list__month-separator-text {color: var(--colore-bianco) !important;}
.tribe-events-calendar-list__event-title, h1.tribe-event-date-start {font-family:var(--font-anton !important);}

.tribe-events-calendar-list__event-row {padding-bottom:20px !important;padding-top:20px !important;margin-top:20px !important;margin-bottom:20px !important;border-bottom:solid 1px var(--colore-lime) !important;}
.tribe-events-calendar-list__event-title {letter-spacing:2px !important;}
.iscriviti-form button, .mailpoet_form input[type="submit"], .search-submit {margin-bottom:auto;padding:10px;color: var(--colore-bianco);background-color:var(--colore-blu-notte) !important;}

.tribe-events-single-section-title {font-family:var(--font-anton);color:var(--colore-lime) !important;font-size:1.5em !important;}
.tribbbe-events-pg-template {margin-top:20px !important;margin-bottom:20px !important;}
.tribe-events-c-subscribe-dropdown__list-item a {color:var(--colore-lime) !important}
.tribe-events-notices li, .tribe-events-notices ul, .tribe-events-single-event-title {font-family:var(--font-anton) !important;letter-spacing:2px;text-transform:uppercase !important;}

.hentry { 
    background-color: var(--colore-blu-notte) !important;
    color: var(--colore-bianco);
    padding: 30px;
    margin-bottom: 40px;
    border-radius: 15px;
    border: 5px solid var(--colore-blu-notte); 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); 
}
.entry-title, .entry-title a {color:var(--colore-chewing-gum);font-family:Anton;font-size:2.5em;letter-spacing:2px}
.entry-title a {font-size:1.3em;}


.fotografo-card-title a,
.raduno-card-title a,
.espositore-card-title a
 {color:var(--colore-chewing-gum);}
.fotografo-card-content p,
.raduno-card-content p,
.espositore-card-content p
 {color:var(--colore-bianco); }
.espositore-single-content div,
.espositore-single-content p,
.espositore-single-content h3,
.espositore-single-content li,
.espositore-single-content a,
.fotografo-single-content div,
.fotografo-single-content p,
.fotografo-single-content h3,
.fotografo-single-content li,
.fotografo-single-content a,
.raduno-single-content div,
.raduno-single-content p,
.raduno-single-content h3,
.raduno-single-content li,
.raduno-single-content a

 {color:var(--colore-bianco) !important;}
.raduno-meta-info div,
.fotografo-meta-info div,
.espositore-meta-info div,
.fotografo-details div,
.espositore-details div,
.raduno-details div

 {color:var(--colore-blu-notte) !important;}
.fotografo-social-links h3 {color:var(--colore-lime) !important;}
header.archive-header {background-color:transparent;}
header.archive-header h1{color:var(--colore-chewing-gum);}
.raduno-card-parent-event strong {padding-left:10px;}
.tribe-events-c-small-cta__price {background-color:var(--colore-chewing-gum);padding:5px !important;border-radius:10px;color:var(--colore-blu-notte) !important;}
.tribe-events-calendar-list__event-cost {margin-bottom:10px !important;}
.tribe-events-single-section, .tribe-events-venue-map {width:100% !important;}


/* Stili per Header
-------------------------------------------------------------- */
/* Assicurati che questi stili non sovrascrivano o non vengano sovrascritti
   in modo indesiderato dagli stili header esistenti */

.site-header { /* Modifica il tuo selettore header esistente se necessario */
    background-color: var(--colore-blu-notte);
    color: var(--colore-bianco);
    padding-top: 0px; /* Ridotto per fare spazio alla ricerca */
    padding-bottom: 0px; /* Ridotto se il contenuto hero è separato */
    text-align: center;
    position: relative;
    overflow: visible; /* Potrebbe essere necessario se la ricerca esce */
}

/* Modifica header::before se hai un pattern di sfondo da aggiustare */
.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/pattern-header.svg');
    background-repeat: repeat;
    background-size: 200px;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0; /* Dietro a tutto */
}

.header-content {
    position: relative;
    z-index: 1;
}

.header-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Per la responsività */
    gap: 15px; /* Spazio tra gli elementi */
    padding-bottom: 20px; /* Spazio prima del contenuto hero se presente */
}

.site-branding {
    flex-shrink: 0; /* Non far restringere il logo */
}

.site-branding .logo {
    max-width: 250px; /* Riduci un po' se necessario */
    padding-top: 0; /* Rimuovi il padding-top precedente se gestito da .site-header */
    margin-bottom: 0; /* Rimuovi margine se gestito da flexbox */
}



.header-search {
    /* order: 3; se vuoi che appaia dopo il menu su mobile */
    margin-left: auto; /* Spinge la ricerca a destra su desktop */
}

/* Stili specifici per il modulo di ricerca (usa classi da searchform.php) */
.search-form {
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.1); /* Sfondo leggermente trasparente */
    border-radius: 5px;
    padding: 5px;
    max-width: 280px; /* O quanto preferisci */
}

.search-form .search-field {
    background-color: transparent;
    border: none;
    color: var(--colore-bianco);
    padding: 8px 10px;
    font-size: 0.9em;
    width: 100%; /* Occupa lo spazio disponibile */
    outline: none; /* Rimuovi il bordo al focus */
}

.search-form .search-field::placeholder {
    color: rgba(255, 255, 255, 0.7);
    opacity: 1; /* Per Firefox */
}
.search-form .search-field:-ms-input-placeholder { /* Edge */
    color: rgba(255, 255, 255, 0.7);
}
.search-form .search-field::-ms-input-placeholder { /* IE */
    color: rgba(255, 255, 255, 0.7);
}


.search-form .search-submit {
    background-color: transparent;
    border: none;
    color: var(--colore-lime);
    padding: 8px 10px;
    cursor: pointer;
    font-size: 1.1em; /* Dimensione icona */
    line-height: 1;
    transition: color 0.3s ease;
}

.search-form .search-submit:hover {
    color: var(--colore-bianco);
}

.search-form .screen-reader-text { /* Nascondi etichette accessibili visivamente */
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}


/* Stili per Hero Content (se hai separato in header.php) */
.hero-content {
    padding-top: 30px; /* Spazio sopra il titolo hero */
    text-align: center; /* Assicurati che sia centrato */
}

.hero-title { /* Rimuovi margini superiori se padding-top è su hero-content */
    margin-top:0;
	padding-left:0;
	padding-right:0;
}

.section-hero,.section {
	padding-top:0px !important;
	padding-bottom:0px !important;
}

/* Responsive per l'header */
@media (max-width: 992px) { /* Punto di interruzione per tablet/desktop piccoli */
    .header-search {
        margin-left: 0; /* Rimuovi il margine per permettere l'ordinamento con flexbox */
        flex-basis: auto; /* Permetti alla ricerca di restringersi */
    }
}


@media (max-width: 768px) {
	.header-content {
		padding-top:20px;
		padding-bottom:90px !important;
	}

	.header .header-content {
		padding-top:0px;
		padding-bottom:190px !important;
		
	}
	.hero-subtitle {
		padding-bottom:40px;
	}

	.site-branding {
		width:100%;
		margin-top: 15px;
	}
    .header-top-row {
        flex-direction: column; /* Impila gli elementi verticalmente */
        align-items: flex-start; /* Allinea a sinistra */
    }

    .site-branding .logo {
        margin: auto; /* Spazio sotto il logo */
    }





    .header-search {
        width: 100%; /* Ricerca a tutta larghezza */
        margin-bottom: 15px; /* Spazio sotto la ricerca */
        order: 1; /* Ricerca prima del menu su mobile */
    }

    .search-form {
        max-width: none; /* Occupa tutta la larghezza disponibile */
        background-color: rgba(255, 255, 255, 0.15); /* Leggermente più opaco su mobile */
    }

    .hero-content {
        padding-top: 10px; /* Riduci lo spazio se l'header è più alto */
    }
	#tribe-events-view-selector-content {
		z-index: 999999 !important;
		position: absolute !important;
		top: 30px; /* Esempio: Distanza dal bordo superiore della finestra. Aggiusta in base all'altezza del tuo header. */
		right: 30px !important;
	}
	#tribe-events-search-container {
		position: absolute !important;
		top: 250px;
		left: 50%;
		transform: translateX(-50%); /* Per centrarlo orizzontalmente */
		width: 90%; /* O una larghezza fissa, es. 500px */
		max-width: 600px; /* Limite massimo */
		background-color: var(--colore-blu-notte);
		padding: 20px;
		border: 1px solid var(--colore-lime);
		box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
		z-index: 99999 !important;
		/* display: none; */ /* Gestito dal plugin */
	}
	#tribe-events-search-container input {
		background-color: #FFFFFF !important;
		padding-left:5px !important;
		margin-bottom:0px !important;
	}


}

a.servizio-icon {text-decoration:none;}
/* Precedenti impostazioni */

/* ============================== */
/* COMPONENTE MENU (BASE)         */
/* ============================== */
/* ======================================== */
/* COMPONENTE MENU (STILI BASE)             */
/* ======================================== */
.menu-checkbox {
    display: none;
}

.menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
    background: none;
    border: none;
    color: #333;
    padding: 10px;
}

.main-nav {
    position: relative;
}

.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.menu > li {
    position: relative;
    margin-left: 20px;
}

.menu li:first-child {
    margin-left: 0;
}

.menu a {
    display: block;
    text-decoration: none;
    color: var(--colore-bianco, #fff);
    font-family: var(--font-anton, sans-serif);
    font-size: 1.1em;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: color 0.3s ease;
    padding: 8px 12px;
    font-weight: 600;
}

.menu a:hover {
    color: var(--colore-lime, #00ff00);
}

/* Elementi con sottomenu */


/* ======================================== */
/* SOTTOMENU (STILI GENERALI)               */
/* ======================================== */
.menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    padding: 10px 0;
    margin: 0;
    list-style: none;
    background-color: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    border-top: 2px solid var(--colore-lime, #00ff00);
    text-align: left;
}

.menu .sub-menu li {
    margin: 0;
    width: 100%;
}

.menu .sub-menu li a {
    padding: 8px 20px;
    font-size: 0.95em;
    color: var(--colore-blu-notte, #213564);
    white-space: nowrap;
    background-color: #fff;
}

.menu .sub-menu li a:hover {
    background-color: var(--colore-lime, #00ff00);
    color: var(--colore-blu-notte, #213564);
}

/* Toggler per sottomenu (mobile) */
.sub-menu-toggler {
    position: absolute;
    right: 15px;
    top: 12px;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none !important; /* Nascosto di default */
}

.sub-menu-toggler i {
    transition: transform 0.3s ease;
    font-size: 14px;
}

/* Rimuovi vecchi toggler */
.menu .menu-toggle-handle,
.menu .dropdown-toggle {
    display: none !important;
}

/* ======================================== */
/* DESKTOP: min-width: 993px                */
/* ======================================== */
@media (min-width: 993px) {
	.tribe-events-calendar-list__event-featured-image {
		padding:10px !important; 
		border-radius: 25px !important;
	}
	
	.menu .menu-item-has-children > a::after {
		content: '\f078';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		margin-left: 8px;
		font-size: 0.7em;
		display: inline-block;
		vertical-align: middle;
	}

    .menu .menu-item-has-children.submenu-toggled > a::after {
        content: '\f077';
    }

    .menu {
        display: flex;
    }

    .menu > li {
        margin-left: 25px;
    }

    .menu li:first-child {
        margin-left: 0;
    }

    .menu a {
        color: var(--colore-bianco, #fff);
        padding: 5px 0;
    }

    /* Mostra sottomenu al hover */
    .menu > li:hover > .sub-menu {
        display: block;
    }

    /* Nascondi toggler su desktop */
    .sub-menu-toggler {
        display: none !important;
    }
}

/* ======================================== */
/* MOBILE: max-width: 992px                 */
/* ======================================== */
@media (max-width: 992px) {
    /* Layout navigazione */
	ul.menu {
		border-top: solid 1px var(--colore-lime);
	}
    .main-nav {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        padding: 15px 20px;
        background-color: transparent !important;
		text-align: left;
        color: var(--colore-lime) !important;
    }

    .header-content .main-nav {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 50%;
        z-index: 1000;
    }

    /* Toggle button */
    .menu-toggle {
        display: block;
        color: var(--colore-bianco);
    }

    /* Menu principale */
    .menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        padding: 15px 0;
        background-color: #fff;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
        z-index: 999;
        max-height: 80vh;
        overflow-y: auto;
        width: 100%;
    }

    .menu.show {
        display: flex;
    }

    .menu > li {
        margin: 0;
        margin-bottom: 0;
        width: 100%;
        border-bottom: 1px solid #eee;
    }

    .menu li:last-child {
        border-bottom: none;
    }

    .menu a {
        padding: 12px 20px;
        color: var(--colore-blu-notte, #213564) !important;
    }

    /* Gestione sottomenu mobile */
    .menu .sub-menu {
        display: none;
        position: static;
        padding: 0;
        width: 100%;
        border-top: none;
        box-shadow: none;
        background-color: #f9f9f9;
    }

    .menu .sub-menu li a {
        padding-left: 35px;
        font-size: 0.9em;
        background-color: #f9f9f9;
    }

    .sub-menu-toggler {
        display: flex !important;
    }

    .menu .menu-item-has-children > a::after {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
    }

    .menu .menu-item-has-children.submenu-toggled > .sub-menu {
        display: block;
    }



    /* Stato attivo */
    .menu-checkbox:checked ~ .menu {
        display: flex;
    }

    .menu-toggle:hover {
        color: var(--colore-lime, #00ff00);
    }



    /* Opzionale: Ruota l'icona del toggler (se usi un'icona e non un testo) */
    .menu .menu-item-has-children.submenu-toggled > a::after {
        transform: translateY(-50%) rotate(180deg) !important;
    }

	.sub-menu-toggler i {
		transition: transform 0.3s ease; /* Transizione fluida per l'icona */
		transform: rotate(0deg);
	}

	/* 5. Ruota l'icona quando il genitore <li> ha la classe .submenu-toggled */
	.menu-item-has-children.submenu-toggled .sub-menu-toggler i {
		transform: rotate(180deg);
	}

	article h2.entry-title a {font-size:0.8em !important; }
	article h2.entry-title {text-align:left !important; line-height:0.9em !important;}
	div.hentry {padding:1px !important;margin:0px !important;}
}

/* ======================================== */
/* CORREZIONE DESKTOP (min-width: 993px)    */
/* ======================================== */
@media (min-width: 993px) {
    .menu-checkbox:checked ~ .menu {
        display: flex;
    }
}


.tribe-common-c-svgicon__svg-fill, .tribe-common-c-svgicon__svg-fill path, .tribe-common-c-svgicon path {
    fill: var(--colore-chewing-gum) !important;
}

.tribe-common header {
	z-index:1 !important;
}
.tribe-common-g-row, .tribe-events-calendar-list__event-row,
.tribe-events-calendar-list, .tribe-events-calendar-list * {
  z-index:1 !important;
}




/* Assicurati che anche i tooltip del calendario (se usati e se causano problemi)
   siano ad un livello adeguato, anche se il problema principale è il datepicker.
   Questo è più preventivo o per problemi simili. */
.tooltipster-base.tribe-events-tooltip-theme {
    z-index: 9999 !important; /* Leggermente inferiore al datepicker se necessario */
}

.tribe-common-l-container, .tribe-events-l-container
{padding-top:0px !important;}

/* Contenitore principale del carosello */
.team-carousel-wrapper {
    position: relative; /* Necessario per posizionare i bottoni */
    width: 100%;
    margin: 0 auto; /* Centra il carosello se ha una max-width */
    max-width: 1000px; /* Esempio di larghezza massima, adattala */
    overflow: hidden; /* FONDAMENTALE: nasconde gli slide che non sono visibili */
}

.team-grid {
    /* Rimuoviamo display: grid; e gap; perché sarà un flex container */
    display: flex;
    transition: transform 0.5s ease-in-out; /* Animazione per lo scorrimento */
    /* Non impostare width qui, sarà calcolata da JS */
}

.team-member {
    text-align: center;
    flex-shrink: 0; /* Impedisce agli elementi di restringersi */
    box-sizing: border-box; /* Include padding e border nella larghezza/altezza */
    padding: 0 15px; /* Aggiungi un po' di spazio tra gli elementi del carosello */
    /* La larghezza sarà impostata da JS (100% per mobile, 33.333% per desktop) */
}

/* Assicurati che le immagini non rompano il layout */
.team-member-image {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
    border: 3px solid var(--colore-lime);
    display: block; /* Aggiunto per correggere potenziali problemi di allineamento */
    margin-left: auto; /* Centra l'immagine */
    margin-right: auto; /* Centra l'immagine */
}

.team-member h3 {
    font-family: var(--font-anton);
    font-size: 1.3em;
    color: var(--colore-blu-notte);
    margin-bottom: 5px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.team-member-role {
    color: #777;
    font-size: 0.9em;
}

/* Bottoni di navigazione del carosello */
.team-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0; /* Rimuovi padding se i bottoni sono esterni */
    pointer-events: none; /* Permette il click sugli elementi sottostanti,
                             i bottoni avranno pointer-events: auto; */
    z-index: 20; /* Sopra gli slide */
}

.team-carousel-nav button {
    background-color: rgba(33, 53, 100, 0.7); /* Blu notte semi-trasparente */
    color: var(--colore-bianco);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    pointer-events: auto; /* Abilita il click sui bottoni */
    display: flex; /* Per centrare l'icona */
    align-items: center; /* Per centrare l'icona */
    justify-content: center; /* Per centrare l'icona */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.team-carousel-nav button:hover {
    background-color: var(--colore-chewing-gum);
}


/* Icone per i bottoni (usando Font Awesome che hai già) */
.team-carousel-prev::before {
    content: '\f053'; /* fa-chevron-left */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.team-carousel-next::before {
    content: '\f054'; /* fa-chevron-right */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}


/* Responsive per il carosello */
/* Stili mobile (1 slide visibile) sono impliciti nella logica JS che imposta la larghezza.
   Qui possiamo solo aggiustare il padding dei bottoni o altro. */

@media (max-width: 768px) {
    .team-member {
        padding: 0 10px; /* Riduci padding laterale su mobile */
    }
    .team-carousel-nav button {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
    .team-carousel-prev {
        margin-left: 5px; /* Bottoni più interni su mobile */
    }
    .team-carousel-next {
        margin-right: 5px; /* Bottoni più interni su mobile */
    }
    .team-member-image {
        width: 120px; /* Immagine più piccola su mobile */
        height: 120px;
    }
}


.tribe-common-g-col header {text-align: left !important;}
.tribe-common-g-col h3 a {font-size: 1.4em !important;}
span.tribe-events-c-small-cta__price {
	color:var(--colore-blu-notte) !important;
	background-color: var(--colore-chewing-gum) !important
}


.tribe-events article h3 a.tribe-events-calendar-month__calendar-event-title-link {
	font-family:var(--font-satoshi) !important;
	font-size:var(--tec-font-size-1) !important;
	color:var(--colore-chewing-gum) !important;
	text-transform:none !important;
	width: 100% !important; 
	text-align: left;
	border:none !important;
	text-decoration:none !important;
	letter-spacing:normal !important;
}
a.tribe-events-tooltip-trigger--hover, a.tribe-events-tooltip-trigger--hover:hover  {
	text-decoration:none !important;
	border:none !important;
}
h3.tribe-events-calendar-month__calendar-event-title {
	padding-left:20px !important; 
	background-color: rgba(240,244,194,1) !important;
	border-radius: 15px; 
	width: 100% !important;
}
.tribe-events-calendar-month__calendar-event
{
	width:100% !important;
	padding-left:0px !important;
	padding-right:0px !important;
}

.tribe-events-sub-nav {
	padding-left:0px !important;
}
.tribe-events-nav-previous {
	max-width:48%;
	text-align:left;
}
.tribe-events-nav-next {
	max-width:48%;
	text-align:right;
}
.tribe-events-nav-previous a: {
	visibility:hidden !important;
}
.tribe-events-nav-previous span: {
	visibility:visible !important;
}
.tribe-events-c-subscribe-dropdown__button,
ul.tribe-events-c-subscribe-dropdown__list,
ul.tribe-events-c-subscribe-dropdown__list li {
	background-color: var(--colore-chewing-gum) !important;
	color: var(--colore-blu-notte) !important
	border-color:white !important;
}
.tribe-events-c-subscribe-dropdown__button-text,
ul.tribe-events-c-subscribe-dropdown__list a,
ul.tribe-events-c-subscribe-dropdown__list li a {
	color: var(--colore-blu-notte) !important
}
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-common-c-btn-border {
	border-color:white !important;
}

.tribe-events-c-subscribe-dropdown__content,
.tribe-events-c-subscribe-dropdown__list {
	margin-top:40px !important;
}
.nav-links {
	padding-bottom:20px;
}
.nav-previous, .nav-next {
	width:48%;
}
.nav-previous {
	text-align:left;
	float:left;
}
.nav-next {
	text-align:right;
	float:right;
}

.nav-previous a, .nav-next a {
	text-decoration: none;
	color:white;
}
.tribe-events-c-subscribe-dropdown__list-item {border: 0px !important;
background-color: color:var(--colore-chewing-gum) !important;}

.tribe-events-calendar-list__event-details, .tribe-common-g-col, .tribe-events-calendar-list__event-header, header.tribe-events-calendar-month__header {
	z-index:1 !important;
}
.tribe-events-calendar-list__event-wrapper header {background-color: transparent !important; }
.tribe-events-calendar-list__event-wrapper article { width:100% !important; margin-left:0px !important}


.mobile-layout-active {
  position: relative; /* Necessario per il posizionamento dell'overlay */
  z-index: 1;
  background-size: cover !important;
  background-position: center center !important;
  color: white !important; /* Migliora la leggibilità del testo */
  padding: 20px;
  border-radius: 8px; /* Bonus: angoli arrotondati per un look più moderno */
  overflow: hidden; /* Nasconde parti dell'overlay che potrebbero sporgere */
}

/* 
  Crea un overlay scuro semitrasparente sopra l'immagine di sfondo, 
  in modo che il testo bianco sia sempre leggibile.
*/
.mobile-layout-active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6); /* Overlay nero al 60% di opacità */
  z-index: -1; /* Posiziona l'overlay dietro al contenuto dell'articolo */
}

/* 
  Assicura che i link all'interno dell'articolo rimangano bianchi
  e ben visibili sull'overlay scuro.
*/
.mobile-layout-active a,
.mobile-layout-active h3,
.mobile-layout-active address {
    color: white !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5); /* Aggiunge un'ombra al testo */
}

/* Nasconde la descrizione che potrebbe essere troppo lunga su mobile */
.mobile-layout-active .tribe-events-calendar-list__event-description {
    display: none;
}

#tribe-events-pg-template,
#tribe-events,
.tribe-events,
.tribe-events-view,
.tribe-events-single,
.tribe-events-header {
    position: static !important;
    transform: none !important;
    -webkit-transform: none !important;
    z-index: auto !important; /* Resetta lo z-index */
}

.datepicker {
    position: absolute !important;
    z-index: 999999 !important;
	left:5px !important;
}

#content .tribe-events article.tribe-events-calendar-month__calendar-event
{
	opacity:0.9 !important;
}
#content .tribe-events article.tribe-events-calendar-month__calendar-event time {
	display:none !important;
}
