             /* AGGIUNTO: Importazione Google Fonts */
        @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Roboto:wght@300;400;700&display=swap');

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

/* Immagini: mantieni proporzioni su responsive */
img {
    max-width: 100%;
    height: auto;
}

body {
/* MODIFICATO: Font di base impostato su Roboto */
font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
color: #1a1a1a;
line-height: 1.6;
font-weight: 400; /* AGGIUNTO: Peso standard per una leggibilità ottimale */
}

/* AGGIUNTO: Regola per applicare Poppins ai titoli e ai pulsanti */
h1, h2, h3, h4, h5, h6, .section-title, .cta-button, .contact-btn, .facility-label {
font-family: 'Poppins', sans-serif;
font-weight: 700; /* Assicura che i titoli siano in grassetto */
}


/* Hero Section - gradienti del volantino */
.hero {
    background: white;
    color: #1a1a1a;
    padding: 55px 20px 80px;
text-align: center;
position: relative;
overflow: hidden;
}

.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120"><path d="M0,0 Q300,60 600,30 T1200,0 L1200,120 L0,120 Z" fill="rgba(255,255,255,0.05)"/></svg>') repeat-x bottom;
opacity: 0;
}

.hero-content {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
}

.hero h1 {
    font-size: 3em;
    /* font-weight: bold; (gestito dalla nuova regola) */
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    color: #333333;
}

.hero .subtitle {
font-size: 1.4em;
margin-bottom: 15px;
font-weight: 300; /* Mantiene Roboto Light per un bel contrasto */
color: #2d2d2d;
font-family: 'Roboto', sans-serif; /* Assicura che usi Roboto */
}

.hero .tagline {
font-size: 1.1em;
margin-bottom: 40px;
font-style: italic;
opacity: 0.85;
color: #2d2d2d;
font-weight: 400; /* Roboto Italic */
}

.cta-button {
display: inline-block;
padding: 15px 50px;
background: linear-gradient(90deg, #ef7d01 0%, #ff6b00 100%);
color: white;
text-decoration: none;
border-radius: 50px;
/* font-weight: bold; (gestito dalla nuova regola) */
font-size: 1.1em;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(239,125,1,0.3);
}

.cta-button:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(239,125,1,0.5);
background: linear-gradient(90deg, #ff6b00 0%, #ef7d01 100%);
}

/* WhatsApp Button */
.whatsapp-float {
position: fixed;
bottom: 30px;
right: 30px;
background: #25D366;
color: white;
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
box-shadow: 0 4px 20px rgba(37, 211, 102, 0.5);
z-index: 1000;
transition: all 0.3s ease;
text-decoration: none;
}

.whatsapp-float:hover {
transform: scale(1.1);
box-shadow: 0 6px 30px rgba(37, 211, 102, 0.7);
}

.whatsapp-text {
position: absolute;
right: 70px;
background: white;
color: #2d2d2d;
padding: 10px 20px;
border-radius: 25px;
white-space: nowrap;
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
opacity: 0;
transform: translateX(20px);
transition: all 0.3s ease;
pointer-events: none;
font-family: 'Roboto', sans-serif; /* Assicura Roboto */
font-weight: 400;
}

.whatsapp-float:hover .whatsapp-text {
opacity: 1;
transform: translateX(0);
}

/* Services Section */
.services {
padding: 80px 20px;
background: linear-gradient(180deg, #1ebdae 0%, #ffffff 100%);
}

.container {
max-width: 1200px;
margin: 0 auto;
}

.section-title {
    text-align: center;
    font-size: 2.5em;
    color: #2d2d2d;
    margin-bottom: 80px !important;
    margin-top: -8px !important;
    /* font-weight: bold; (gestito dalla nuova regola) */
}

.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
margin-top: 40px;
}

.service-card {
background: white;
padding: 40px 30px;
border-radius: 15px;
box-shadow: 0 5px 20px rgba(0,0,0,0.08);
transition: all 0.3s ease;
border-top: 4px solid #6bbfb8;
}

.service-card:hover {
transform: translateY(-10px);
box-shadow: 0 10px 30px rgba(107,191,184,0.3);
border-top-color: #ef7d01;
}

.service-card h3 {
font-size: 1.5em;
margin-bottom: 15px;
color: #1a1a1a;
/* font-family: 'Poppins' (gestito dalla nuova regola) */
}

.service-card p {
color: #666;
line-height: 1.8;
/* font-family: 'Roboto' (ereditato dal body) */
}

.service-image {
 width: 100%;
 height: auto;
 border-radius: 10px;
 margin-bottom: 20px;
 }

/* Philosophy Section */
.philosophy {
padding: 80px 20px;
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
color: white;
text-align: center;
}

.philosophy blockquote {
font-size: 1.5em;
font-style: italic;
max-width: 800px;
margin: 30px auto;
line-height: 1.8;
opacity: 0.95;
font-weight: 300; /* Roboto Light Italic */
}

.philosophy cite {
display: block;
margin-top: 20px;
font-size: 0.9em;
opacity: 0.95;
    color: #ffffff;
font-weight: 400; /* Roboto */
}

/* Facility Showcase */
.facility {
padding: 80px 20px;
background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 100%);
}

.facility-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 40px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}

.facility-item {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
transition: all 0.3s ease;
border: 3px solid white;
}

.facility-item:hover {
transform: scale(1.03);
box-shadow: 0 12px 35px rgba(239,125,1,0.25);
border-color: #ef7d01;
}

.facility-item img {
 width: 100%;
 height: 350px;
 object-fit: cover;
 display: block;
 }

.facility-item::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(107,191,184,0.3), rgba(255,149,0,0.2));
opacity: 0;
transition: opacity 0.3s ease;
}

.facility-item:hover::before {
opacity: 1;
}

.facility-label {
position: absolute;
top: 20px;
left: 20px;
background: rgba(255,255,255,0.95);
padding: 10px 20px;
border-radius: 25px;
/* font-weight: bold; (gestito dalla nuova regola) */
color: #2d2d2d;
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
border: 2px solid #ef7d01;
}

/* MODIFICATO: Footer */
footer {
background: #1a1a1a;
color: white;
text-align: center;
padding: 40px 20px 30px; /* Aumentato padding top */
}

/* AGGIUNTO: Layout Footer per Dati Societari */
.footer-content {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
margin-bottom: 30px;
}

.footer-column {
flex: 1;
min-width: 300px;
text-align: center;
margin: 10px;
}

.footer-column strong {
font-family: 'Poppins', sans-serif;
font-size: 1.1em;
display: block;
margin-bottom: 10px;
color: #f0f0f0;
}

.footer-column p {
font-size: 0.9em;
line-height: 1.6;
opacity: 0.8;
margin: 5px 0;
}

footer p.copyright { /* Ristilizzato il copyright */
opacity: 0.7;
font-size: 0.9em;
border-top: 1px solid #444; /* Separatore */
padding-top: 20px;
margin-top: 20px;
}
/* Fine Stili Footer */

/* Spazio extra sotto il pulsante CTA */
.cta-button {
margin-bottom: 20px;
}

/* Logo Section */
.logo-section {
text-align: center;
margin: -60px auto 30px;
z-index: 10;
position: relative;
}

.logo-section-img {
width: 200px;
height: 200px;
border-radius: 50%;
object-fit: contain;
padding: 15px;
box-shadow: 0 6px 20px rgba(107,191,184,0.35);
display: block;
margin: 0 auto;
}

/* Member Services (I servizi per i soci) */
.member-services {
    padding: 60px 20px;
    background: #ffffff;
}

.ms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.ms-item a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(0,0,0,0.12);
    transition: transform 0.2s ease;
}

.ms-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.ms-item a:hover img {
    transform: scale(1.03);
}

/* Responsive */
@media (max-width: 768px) {
 .ms-grid {
  grid-template-columns: 1fr;
  gap: 16px;
 }
.logo-section {
 margin: -40px auto 20px;
}

.logo-section-img {
 width: 150px;
 height: 150px;
}

 .hero {
  padding: 55px 20px 60px;
 }

.hero h1 {
 font-size: 2em;
}

.hero .subtitle {
 font-size: 1.1em;
}

.section-title {
 font-size: 2em;
}

.services-grid {
 grid-template-columns: 1fr;
}

.facility-grid {
 grid-template-columns: 1fr;
}

.facility-item img {
 height: 250px;
}

.whatsapp-float {
 width: 50px;
 height: 50px;
 font-size: 10px;
 bottom: 20px;
 right: 20px;
}

.whatsapp-text {
 display: none;
}

/* AGGIUNTO: Responsive Footer */
.footer-content {
 flex-direction: column;
 align-items: center;
 gap: 15px;
}
.footer-column {
 margin: 5px 0;
 min-width: 100%;
}
}
