/* --- Sezioni Modulari Generiche (Nuovo Flexbox incluso) --- */
.media-flex-wrapper {display:flex;justify-content:space-around;align-items:flex-start;flex-wrap:wrap;margin:0 auto;box-sizing:border-box;gap:20px;} /* AGGIUNTO GAP */
.media-flex-column {flex:0 1 var(--col-width,48%);max-width:var(--col-width,48%);text-align:left;box-sizing:border-box;} /* MODIFICATO QUI: usa --col-width e flex-shrink:1 */
.media-flex-column img {width:100%;height:auto;display:block;}

.bg-black-text-white {background-color:black;color:white;}
.module-section {border-bottom:1px solid var(--border-color);padding:20px 0;}
.module-section:last-of-type {border-bottom:none;}
.module-section h2 {color:var(--primary-color);font-size:2.2em;margin-bottom:-8px;text-align:center;margin-top:0;}
.module-section h3 {color:var(--primary-color);font-size:1.7em;margin-bottom:-8px;text-align:center;margin-top:0;}

/* --- Stile specifico per le testimonianze --- */
.testimonials-grid-layout {align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:40px;max-width:100%;}
.testimonial-quote {background-color:#fff;box-shadow:0 4px 8px rgba(0,0,0,0.1);border-radius:8px;font-style:italic;padding:25px;width:100%;margin:0 auto;}
.testimonial-quote p {color:#555;margin-bottom:15px;}
.testimonial-author {color:var(--secondary-color);display:block;font-style:normal;font-weight:bold;margin-top:15px;text-align:right;}

/* --- Contatti (Sezione Fascia Nera) --- */
.dark-band-module a:hover {color:var(--primary-color);}
.contact-layout-wrapper {align-items:flex-start;display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin:0 auto;max-width:1000px;text-align:left;}
.contact-info {flex:1;min-width:300px;}
.contact-form-placeholder {background-color:rgba(255,255,255,0.1);border-radius:8px;flex:1;min-width:300px;padding:30px;}
.simple-contact-form input,.simple-contact-form textarea,.simple-contact-form button {background-color:#4f0f0f0;border:1px solid #555;border-radius:5px;color:#000;margin-bottom:15px;padding:10px;width:100%;border-left:5px solid #007bff;}
.simple-contact-form input::placeholder,.simple-contact-form textarea::placeholder {color:#aaa;}
.simple-contact-form button[type="submit"] {background-color:var(--primary-color);cursor:pointer;font-weight:bold;color:var(--light-text-color);transition:background-color 0.3s ease;display:block;width:fit-content;margin:15px auto 0 auto;}
.simple-contact-form button:hover {background-color:#0056b3;}

/* Stili per link e testo generici nel contenuto */
strong {font-weight:bold;}
ul {list-style:disc;margin-bottom:15px;margin-left:20px;}
li {margin-bottom:8px;}
blockquote {background-color:#e9ecef;border-left:5px solid var(--primary-color);border-radius:4px;color:#555;font-style:italic;margin:20px 0;padding:10px 15px;}
footer {color:#777;font-style:normal;font-weight:bold;margin-top:10px;}
pre.text-file-content {background-color:#f0f0f0;border:1px solid #ddd;border-radius:5px;color:#444;font-family:'Courier New',Courier,monospace;font-size:0.9em;line-height:1.4;overflow-x:auto;padding:15px;}
a.pdf-link,a.file-link {align-items:center;background-color:var(--primary-color);border-radius:5px;color:var(--light-text-color);display:inline-flex;gap:5px;padding:8px 15px;transition:background-color 0.3s ease;}
a.pdf-link:hover,a.file-link:hover {background-color:#0056b3;}

/* --- Stili specifici per la sezione Blog --- */
.blog-posts-grid {display:grid;gap:20px;grid-template-columns:repeat(5,1fr);} /* Ho corretto il } mancante qui */
.blog-post-card {background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);display:flex;flex-direction:column;overflow:hidden;transition:transform 0.2s ease-in-out;}
.blog-post-card:hover {transform:translateY(-5px);}
.post-card-image-link {display:block;height:0;overflow:hidden;padding-bottom:100%;position:relative;width:100%;}
.post-card-image {display:block;height:100%;object-fit:cover;object-position:center;left:0;position:absolute;top:0;width:100%;}
.post-card-content {display:flex;flex-direction:column;flex-grow:1;padding:15px;}
.post-card-title {font-size:1.3em;line-height:1.2;margin:0 0 10px 0;}
.post-card-title a {color:#333;text-decoration:none;transition:color 0.2s ease;}
.post-card-title a:hover {color:#007bff;}
.post-card-meta {color:#666;font-size:0.85em;margin-bottom:10px;}
.post-card-description {color:#555;display:-webkit-box;flex-grow:1;font-size:0.9em;line-height:1.5;margin-bottom:15px;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
.read-more-button {align-self:flex-start;background-color:#007bff;border-radius:5px;color:#fff;display:inline-block;font-size:0.9em;padding:8px 15px;text-decoration:none;transition:background-color 0.2s ease;}
.read-more-button:hover {background-color:#0056b3;}
.blog-post-item {background-color:#ffffff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;box-shadow:0 4px 8px rgba(0,0,0,0.1);text-align:left;}
.blog-post-item img {border-radius:4px;display:block;height:auto;margin-bottom:15px;max-width:100%;}
.blog-image-placeholder img {display:block;height:auto;margin:30px auto;max-width:100%;opacity:0.8;}
.section-container {margin:0 auto;max-width:1200px;padding:0 20px;}
.blog-listing h1 {color:var(--primary-color);font-size:2.2em;margin-bottom:40px;text-align:center;}
.blog-post-item h2 {font-size:1.2em;margin-bottom:10px;}
.blog-post-item h2 a {color:var(--primary-color);text-decoration:none;}
.blog-post-item h2 a:hover {color:#0056b3;}
.blog-post-item .post-meta {color:#777;font-size:0.85em;margin-bottom:15px;}
.blog-post-item p {color:#555;font-size:0.95em;line-height:1.6;margin-bottom:20px;}
.blog-post-item .read-more {background-color:var(--primary-color);border-radius:5px;color:var(--light-text-color);display:inline-block;margin-top:auto;padding:10px 20px;text-decoration:none;transition:background-color 0.3s ease;}
.blog-post-item .read-more:hover {background-color:#0056b3;}

/* --- Stili specifici per la pagina del Singolo Articolo (post.php) --- */
.post-main .post-article h1 {color:var(--primary-color);font-size:2.0em;font-weight:700;line-height:1.1;margin-bottom:25px;text-align:center;}
.post-main .post-article h2 {border-bottom:1px solid #eee;color:var(--primary-color);font-size:1.7em;font-weight:600;margin-bottom:10px;margin-top:10px;padding-bottom:10px;}
.post-main .post-article h3 {color:#444;font-size:1.4em;margin-bottom:5px;margin-top:10px;}
.post-main .post-article p {color:#555;font-size:1.1em;line-height:1.8;margin-bottom:1.5em;}
.post-featured-image {display:block;overflow:hidden;margin-bottom:25px;}
.post-main .post-article img {border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);display:block;height:auto!important;margin:25px auto;max-width:100%!important;width:100%;aspect-ratio:auto;}
.post-main .post-article ul,.post-main .post-article ol {color:#555;margin-bottom:1.5em;padding-left:25px;}
.post-main .post-article li {font-size:1.1em;line-height:1.8;margin-bottom:0em;}
.post-main .post-article blockquote {background-color:#f8f9fa;border-left:5px solid var(--primary-color);border-radius:6px;box-shadow:0 2px 5px rgba(0,0,0,.05);color:#666;font-style:italic;margin:30px 0;padding:20px 25px;}
.post-main .post-article blockquote footer {color:#777;font-size:.9em;font-style:normal;font-weight:bold;margin-top:15px;text-align:right;}
.post-main .post-article a {color:var(--primary-color);text-decoration:underline;}
.post-main .post-article a:hover {color:#0056b3;text-decoration:none;}
.post-main .post-article pre.text-file-content {background-color:#f4f4f4;border:1px solid #ddd;border-radius:5px;color:#444;font-family:'Courier New',Courier,monospace;font-size:.95em;line-height:1.5;overflow-x:auto;padding:15px;}
.post-main .post-article a.pdf-link,.post-main .post-article a.file-link {align-items:center;background-color:var(--primary-color);border-radius:5px;color:var(--light-text-color);display:inline-flex;gap:8px;margin-top:15px;padding:10px 20px;text-decoration:none;transition:background-color .3s ease;}
.post-main .post-article a.pdf-link:hover,.post-main .post-article a.file-link:hover {background-color:#0056b3;}

/* --- Footer --- */
.site-footer {background-color:var(--dark-bg);color:var(--light-text-color);margin-top:60px;padding:40px 0;text-align:center;}
.site-footer .container {align-items:flex-start;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;}
.footer-section {flex:1;margin-bottom:20px;min-width:250px;text-align:left;}
.footer-section h3 {color:var(--primary-color);font-size:1.3em;margin-bottom:20px;text-align:left;}
.footer-section p,.footer-section ul {color:#ccc;font-size:0.95em;list-style:none;padding:0;}
.footer-section ul li {margin-bottom:10px;}
.footer-section a {color:var(--light-text-color);text-decoration:none;transition:color 0.3s ease;}
.footer-section a:hover {color:var(--primary-color);}
.social-icons a {color:var(--light-text-color);display:inline-block;font-size:1.5em;margin-right:15px;transition:color 0.3s ease;}
.social-icons a:hover {color:var(--primary-color);}
.copyright {border-top:1px solid #444;color:#aaa;font-size:0.85em;margin-top:30px;padding-top:20px;text-align:center;width:100%;}

/* --- Media Queries per la Responsività --- */
/* --- Media Query flex --- */
@media (max-width:1400px) {
    .media-flex-column {flex-basis:100%!important;max-width:96%!important;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;}
}
@media (max-width:992px) {
    .module-section h2,.module-section h3 {font-size:2em;}
    .testimonial-quote {max-width:450px;min-width:350px;width:calc(50% - 30px);}
}
@media (max-width:768px) {
    .media-flex-wrapper {flex-direction:column;}
    .media-flex-wrapper.is-reverse {flex-direction:column-reverse;}
    .media-flex-column {flex-basis:100%!important;max-width:100%!important;}

    /* Per controllare la larghezza dei testimonial su mobile */
    .testimonials-grid-layout {flex-direction:column;max-width:90%;margin-left:auto;margin-right:auto;padding:0 10px;box-sizing:border-box;gap:15px;}
    .testimonial-quote {max-width:100%;min-width:unset;width:100%;margin:0 auto;box-sizing:border-box;}

    .contact-layout-wrapper {align-items:center;flex-direction:column;text-align:center;}
    .contact-info {min-width:unset;width:100%;}
    .contact-form-placeholder {min-width:unset;width:100%;}
    .dark-band-module h2,.dark-band-module h3 {text-align:center;}

    /* FOOTER */
    .site-footer .container {align-items:center;flex-direction:column;text-align:center;}
    .footer-section {min-width:unset;text-align:center;width:100%;}
    .footer-section h3 {text-align:center;}
    .social-icons {margin-top:20px;}

    /* POST */
    .blog-posts-grid {grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
}
@media (max-width:480px) {
    .module-section {padding:50px 0;}
    .module-section h2,.module-section h3 {font-size:1.8em;}
    .blog-posts-grid {grid-template-columns:1fr;}
    .blog-post-card {height:auto;}
}
