/*
Theme Name: Domina Costruzioni
Theme URI:
Author: Studio70
Author URI: https://www.studio70.it/
Description: Template responsivo conforme WCAG 2.1
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: responsive, accessible, wcag2.1
Text Domain: https://dominacostruzioni.it/
*/

/* Reset e variabili CSS */
*												{ margin: 0; padding: 0; box-sizing: border-box;}
:root											{ --primary-color: #1e3c72; --secondary-color: #f39800; --accent-color: #ff6b35; --dark-color: #1a1a1a; --light-color: #ffffff; --gray-light: #f8f9fa; --gray-medium: #6c757d; --text-dark: #2c3e50; --text-light: #ffffff; --shadow: 0 4px 6px rgba(0, 0, 0, 0.1); --transition: all 0.3s ease;}
body											{ font-family: 'Arial', sans-serif; line-height: 1.6; color: var(--text-dark); background-color: var(--light-color);}

/* Skip link per accessibilità */
.skip-link										{ position: absolute; top: -40px; left: 6px; background: var(--primary-color); color: white; padding: 8px; text-decoration: none; z-index: 1000;}
.skip-link:focus								{ top: 6px;}
p												{ line-height: 32px; margin-bottom: 25px; }
nav li											{ margin: 0;}
nav li:last-child								{ margin: 0;}
li												{ margin: 0 0 25px 15px; }

/* Header */
.header											{ background: linear-gradient(135deg, var(--primary-color), var(--dark-color)); position: fixed; top: 0; width: 100%; z-index: 999; padding: 5px 0 0; transition: var(--transition);}
.header.scrolled								{ padding: 0.5rem 0; box-shadow: var(--shadow);}
.container										{ max-width: 1200px; margin: 0 auto; padding: 0 1rem;}
.navbar											{ display: flex; justify-content: space-between; align-items: center;}
.logo											{ font-size: 1.8rem; font-weight: bold; color: var(--light-color); text-decoration: none;}
.logo figure                                    { margin: 0; width: 180px; display: block; margin-block-end: 0; margin-inline-start: 0; margin-inline-end: 0; unicode-bidi: isolate; margin-block-start: 0;}
.logo figure img								{ max-width: 100%;}
.nav-menu										{ display: flex; list-style: none; gap: 2rem;}
.nav-menu a										{ color: var(--light-color); text-decoration: none; transition: var(--transition); padding: 0.5rem 1rem; border-radius: 4px; }
.nav-menu a:hover, .nav-menu a:focus			{ background-color: var(--secondary-color); outline: 2px solid transparent;}
.mobile-menu-toggle								{ display: none; background: none; border: none; color: var(--light-color); font-size: 1.5rem; cursor: pointer;}

/* Hero Section */
.hero											{ background: linear-gradient(rgba(30, 60, 114, 0.8), rgba(26, 26, 26, 0.8)), url('data:image/svg+xml,Industrial Background Placeholder'); background-size: cover; background-position: center; min-height: 100vh; display: flex; align-items: center; text-align: center; color: var(--text-light);}
.heropage										{ min-height: 70vh;}
.hero-content									{ background-color: #1e3a6d87; padding: 25px; box-sizing: border-box; border-radius: 10px;}
.hero-content h1								{ font-size: 3rem; margin-bottom: 1rem; line-height: 1.2;}
.hero-content p									{ font-size: 1.2rem; margin-bottom: 2rem; max-width: 600px; margin-left: auto; margin-right: auto;}
.btn											{ display: inline-block; padding: 1rem 2rem; background-color: var(--secondary-color); color: var(--light-color); text-decoration: none; border-radius: 5px; font-weight: bold; transition: var(--transition); border: 2px solid transparent;}
.btn:hover, .btn:focus							{ background-color: var(--accent-color); transform: translateY(-2px); outline: 2px solid var(--light-color);}
.btn-secondary									{ background-color: transparent; border: 2px solid var(--light-color); margin-left: 1rem;}
.btn-secondary:hover, .btn-secondary:focus		{ background-color: var(--light-color); color: var(--primary-color);}

/* Hero con video in evidenza */
.hero--video									{ position: relative; overflow: hidden; background: var(--dark-color);}
.hero-video-bg									{ position: absolute; inset: 0; z-index: 0; overflow: hidden;}
.hero-video										{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; border: 0;}
.hero-video--embed								{ top: 50%; left: 50%; inset: auto; width: 177.78vh; min-width: 100%; height: 56.25vw; min-height: 100%; transform: translate(-50%, -50%); object-fit: cover;}
.hero-overlay									{ position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(30, 60, 114, 0.6), rgba(26, 26, 26, 0.65));}
.hero--video .container							{ position: relative; z-index: 2;}

/* Sezioni */

.section										{ padding: 5rem 0;}
.section-title									{ text-align: center; margin-bottom: 3rem;}
.section-title h2								{ font-size: 2.5rem; margin-bottom: 1rem; color: var(--primary-color);}
.section-title p								{ font-size: 1.1rem; color: var(--gray-medium); max-width: 600px; margin: 0 auto;}

/* Griglia servizi */

.services-grid									{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem;}
.service-card									{ background: var(--light-color); padding: 2rem; border-radius: 10px; box-shadow: var(--shadow); text-align: center; transition: var(--transition);}
.service-card:hover								{ transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);}
.service-icon									{ width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-size: 2rem; color: var(--light-color);}
.service-card h3								{ font-size: 1.5rem; margin-bottom: 1rem; color: var(--primary-color);}
.service-card-link								{ text-decoration: none; color: inherit; display: block; height: 100%; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.service-card-link:hover						{ transform: translateY(-5px);}

/* Sezione About */

.about											{ background-color: var(--gray-light);}
.about-content									{ display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;}
.about-text h3									{ font-size: 2rem; margin-bottom: 1rem; color: var(--primary-color);}
.about-text p									{ margin-bottom: 1rem; color: var(--gray-medium);}
.about-image                                    { background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg"%3E%3C/svg%3E'); background-size: cover; background-position: center; height: 400px; border-radius: 10px; overflow: hidden;}
.about-image img								{ width: 100%; height: 400px; object-fit: cover;}

/* Statistiche */

.stats											{ background: linear-gradient(135deg, var(--primary-color), var(--dark-color)); color: var(--text-light);}
.stats-grid										{ display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem;}
.stat-item										{ text-align: center; padding: 2rem;}
.stat-number									{ font-size: 3rem; font-weight: bold; color: var(--secondary-color); display: block;}
.stat-label										{ font-size: 1.1rem; margin-top: 0.5rem;}

/* Blog/News */

.news-grid										{ display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem;}
.news-grid--archive								{ grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); justify-content: start;}
.news-card										{ background: var(--light-color); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); transition: var(--transition);}
.news-card:hover								{ transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);}
.news-image										{ height: 200px; background: url('data:image/svg+xml,News Image'); background-size: cover; background-position: center;}
.news-content									{ padding: 1.5rem;}
.news-date										{ color: var(--gray-medium); font-size: 0.9rem; margin-bottom: 0.5rem;}
.news-title										{ font-size: 1.3rem; margin-bottom: 1rem; color: var(--primary-color);}
.news-title a									{ color: inherit; text-decoration: none;}
.news-title a:hover, .news-title a:focus		{ color: var(--secondary-color);}
.news-content .read-more						{ display: inline-block; padding: 8px 20px; background: #0073aa; color: #fff; text-decoration: none; border-radius: 4px; font-size: 14px; transition: background 0.3s ease;}
.news-content .read-more:hover, .news-content .read-more:focus	{ background: #005177; color: #fff;}

/* Footer */

.footer											{ background-color: var(--dark-color); color: var(--text-light); padding: 3rem 0 1rem;}
.footer-content									{ display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem;}
.footer-section h4								{ color: var(--secondary-color); margin-bottom: 1rem;}
.footer-section ul								{ list-style: none;}
.footer-section ul li							{ margin-bottom: 0.5rem;}
.footer-section ul li a							{ color: var(--gray-medium); text-decoration: none; transition: var(--transition);}
.footer-section ul li a:hover, 
.footer-section ul li a:focus                   { color: var(--secondary-color);}
.footer-bottom									{ border-top: 1px solid var(--gray-medium); padding-top: 1rem; text-align: center; color: var(--gray-medium);}
.footer .footer-section figure  				{ margin: 0; width: 180px; display: block; margin-block-end: 0; margin-inline-start: 0; margin-inline-end: 0; unicode-bidi: isolate; margin-block-start: 0;}
.footer .footer-section figure img 				{ max-width: 100%;}


/* Container principale del carousel */

.domina-carousel-wrapper						{ max-width: 1200px; margin: 40px auto; padding: 0; position: relative;}
.domina-carousel-container						{ position: relative; width: 100%; overflow: hidden; margin: 0 auto; height: 480px;}
.domina-carousel-track							{ display: flex; transition: transform 0.5s ease-in-out; will-change: transform;}
.carousel-item									{ flex: 0 0 33.333333%; min-width: 33.333333%; max-width: 33.333333%; box-sizing: border-box; padding: 0 10px;}
.servizio-card									{ background: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; height: 100%; display: flex; flex-direction: column;}
.servizio-card:hover							{ transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);}
.servizio-image									{ width: 100%; height: 200px; overflow: hidden; background: #f5f5f5;}
.servizio-image img								{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease;}
.servizio-card:hover .servizio-image img		{ transform: scale(1.05);}
.servizio-content								{ padding: 20px; flex: 1; display: flex; flex-direction: column;}
.servizio-content h3							{ font-size: 1.25rem; font-weight: 600; margin: 0 0 12px 0; color: #333; line-height: 1.4;}
.servizio-content p								{ font-size: 0.95rem; color: #666; line-height: 1.6; margin: 0 0 16px 0; flex: 1;}
.servizio-link									{ display: inline-flex; align-items: center; color: #0066cc; text-decoration: none; font-weight: 500; font-size: 0.9rem; transition: color 0.3s ease; margin-top: auto;}
.servizio-link:hover							{ color: #004499;}

/* Pulsanti di navigazione */

.carousel-btn									{ position: absolute; top: 40%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.98); border: 2px solid #e0e0e0; border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; z-index: 100; color: #333; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);}
.carousel-btn:hover								{ background: #ffffff; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); transform: translateY(-50%) scale(1.1); border-color: #0066cc;}
.carousel-btn:active							{ transform: translateY(-50%) scale(0.95);}
.prev-btn										{ left: 5px;}
.next-btn										{ right: 5px;}

/* Indicatori (dots) */

.carousel-dots									{ display: flex; justify-content: center; gap: 8px; margin-top: 0px;}
.dot											{ width: 10px; height: 10px; border-radius: 50%; background: #d0d0d0; border: none; cursor: pointer; transition: all 0.3s ease; padding: 0;}
.dot:hover										{ background: #a0a0a0;}
.dot.active										{ background: #0066cc; width: 24px; border-radius: 5px;}

/* SINGLE */
.single-lavoro-container						{ max-width: 1000px; margin: 0 auto; padding: 40px 20px;}
.single-lavoro									{ background: #fff;}

/* Header */
.lavoro-header									{ margin-bottom: 30px; padding-bottom: 20px; border-bottom: 2px solid #f0f0f0;}
.lavoro-title									{ font-size: 42px; margin: 0 0 20px 0; color: #333; line-height: 1.2;}
.lavoro-meta									{ display: flex; gap: 30px; flex-wrap: wrap; font-size: 14px; color: #666;}
.meta-label										{ font-weight: bold; color: #333; margin-right: 5px;}
.lavoro-anno-badge a							{ color: #0073aa; text-decoration: none;}
.lavoro-anno-badge a:hover						{ text-decoration: underline;}

/* Immagine in evidenza */
.lavoro-featured-image							{ margin-bottom: 40px; border-radius: 8px; overflow: hidden;}
.lavoro-featured-image img						{ width: 100%; height: auto; display: block;}

/* Contenuto */
.lavoro-content									{ margin-bottom: 40px; line-height: 1.8; font-size: 18px; color: #444;}
.lavoro-content p								{ margin-bottom: 20px;}
.lavoro-content h2								{ margin-top: 40px; margin-bottom: 20px; font-size: 32px;}
.lavoro-content h3								{ margin-top: 30px; margin-bottom: 15px; font-size: 24px;}

/* Dettagli progetto */
.lavoro-details									{ background: #f9f9f9; padding: 30px; border-radius: 8px; margin-bottom: 40px;}
.lavoro-details h2								{ margin-top: 0; margin-bottom: 25px; font-size: 28px;}
.detail-item									{ margin-bottom: 20px;}
.detail-item:last-child							{ margin-bottom: 0;}
.detail-item strong								{ display: block; margin-bottom: 5px; color: #333;}
.detail-item p									{ margin: 0; color: #666;}

/* Galleria */
.lavoro-gallery									{ margin-bottom: 40px;}
.lavoro-gallery h2								{ margin-bottom: 20px;}
.gallery-grid									{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;}
.gallery-item									{ overflow: hidden; border-radius: 8px;}
.gallery-item img								{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease;}
.gallery-item a:hover img						{ transform: scale(1.05);}

/* Navigation */
.lavoro-footer									{ margin-top: 60px; padding-top: 40px; border-top: 2px solid #f0f0f0;}
.lavoro-navigation 								{ display: grid; grid-template-columns: 2fr auto 0fr; gap: 0; align-items: center;}
.nav-previous a, .nav-next a					{ display: flex; flex-direction: column; text-decoration: none; padding: 15px; border-radius: 8px; transition: background 0.3s ease;}
.nav-previous a:hover, .nav-next a:hover		{ background: #f5f5f5;}
.nav-previous									{ text-align: left;}
.nav-next										{ text-align: right;}
.nav-subtitle									{ font-size: 12px; text-transform: uppercase; color: #999; margin-bottom: 5px;}
.nav-title										{ font-size: 16px; font-weight: bold; color: #333;}
.back-to-archive								{ display: inline-block; padding: 12px 30px; background: #0073aa; color: #fff; text-decoration: none; border-radius: 4px; font-weight: bold; transition: background 0.3s ease;}
.back-to-archive:hover							{ background: #005177;}

/* Lavori correlati */
.related-lavori									{ margin-top: 60px; padding-top: 40px; border-top: 2px solid #f0f0f0;}
.related-lavori h2								{ margin-bottom: 30px; font-size: 28px;}
.related-grid									{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}
.related-item									{ text-decoration: none;}
.related-thumbnail								{ margin-bottom: 15px; border-radius: 8px; overflow: hidden;}
.related-thumbnail img							{ width: 100%; height: 200px; object-fit: cover; transition: transform 0.3s ease;}
.related-thumbnail:hover img					{ transform: scale(1.05);}
.related-title									{ font-size: 18px; margin: 0;}
.related-title a								{ color: #333; text-decoration: none;}
.related-title a:hover							{ color: #0073aa;}

/* Contatti */
.hidden-fields-container { display: none;}

/* Styling specifico per la pagina contatti */
.container.contatti {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Informazioni di contatto in alto */
.container.contatti > p {
    font-size: 16px;
    color: #333;
    margin: 8px 0;
    line-height: 1.6;
}

.container.contatti > p strong {
    color: #2563eb;
    font-weight: 600;
}

/* Testo introduttivo form */
.container.contatti > p:last-of-type {
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    margin-top: 40px;
    margin-bottom: 25px;
}

/* Container del form */
.container.contatti .wpcf7 {
    background: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

/* Form styling */
.container.contatti .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Paragraph container */
.container.contatti .wpcf7-form > p {
    margin: 0;
}

/* Input fields styling */
.container.contatti .wpcf7-form input[type="text"],
.container.contatti .wpcf7-form input[type="email"],
.container.contatti .wpcf7-form textarea {
    width: 100%;
    padding: 16px 20px;
    font-size: 16px;
    font-family: 'Arial', 'Helvetica', sans-serif;
    color: #333;
    background-color: #f8f9fa;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Focus state */
.container.contatti .wpcf7-form input[type="text"]:focus,
.container.contatti .wpcf7-form input[type="email"]:focus,
.container.contatti .wpcf7-form textarea:focus {
    outline: none;
    border-color: #2563eb;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

/* Placeholder styling */
.container.contatti .wpcf7-form input::placeholder,
.container.contatti .wpcf7-form textarea::placeholder {
    color: #999;
    font-style: italic;
}

/* Textarea specific */
.container.contatti .wpcf7-form textarea {
    min-height: 150px;
    resize: vertical;
    font-family: 'Arial', 'Helvetica', sans-serif;
}

/* Submit button */
.container.contatti .wpcf7-form input[type="submit"] {
    width: 100%;
    padding: 18px 40px;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
    margin-top: 10px;
}

.container.contatti .wpcf7-form input[type="submit"]:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
}

.container.contatti .wpcf7-form input[type="submit"]:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.3);
}

/* Spinner durante l'invio */
.container.contatti .wpcf7-form input[type="submit"].has-spinner:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #ffffff;
    animation: spinner-contatti 0.6s linear infinite;
    vertical-align: middle;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.container.contatti .wpcf7-form.submitting input[type="submit"].has-spinner:after {
    opacity: 1;
}

@keyframes spinner-contatti {
    to { transform: rotate(360deg); }
}

/* Error states */
.container.contatti .wpcf7-form input.wpcf7-not-valid,
.container.contatti .wpcf7-form textarea.wpcf7-not-valid {
    border-color: #dc2626;
    background-color: #fef2f2;
}

.container.contatti .wpcf7-form input.wpcf7-not-valid:focus,
.container.contatti .wpcf7-form textarea.wpcf7-not-valid:focus {
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);
}

/* Validation messages */
.container.contatti .wpcf7-not-valid-tip {
    color: #dc2626;
    font-size: 14px;
    margin-top: 5px;
    display: block;
    font-weight: 500;
}

/* Response messages */
.container.contatti .wpcf7-response-output {
    margin-top: 20px;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.container.contatti .wpcf7-mail-sent-ok {
    background-color: #d1fae5;
    color: #065f46;
    border: 2px solid #10b981;
}

.container.contatti .wpcf7-mail-sent-ng,
.container.contatti .wpcf7-validation-errors {
    background-color: #fee2e2;
    color: #991b1b;
    border: 2px solid #dc2626;
}

/* Form control wrap */
.container.contatti .wpcf7-form-control-wrap {
    display: block;
    position: relative;
    margin-bottom: 8px;
}

/* Hidden fields */
.container.contatti .hidden-fields-container {
    display: none;
}

/* Screen reader */
.container.contatti .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

/* Loading state */
.container.contatti .wpcf7-form.submitting input,
.container.contatti .wpcf7-form.submitting textarea {
    opacity: 0.6;
    pointer-events: none;
}

.container.contatti .wpcf7-form.submitting input[type="submit"] {
    opacity: 1;
    cursor: wait;
}

/* Accessibility improvements */
.container.contatti .wpcf7-form input:focus-visible,
.container.contatti .wpcf7-form textarea:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 2px;
}

/* Responsive design */
@media (max-width: 768px) {
    .container.contatti {
        padding: 30px 15px;
    }
    
    .container.contatti .wpcf7 {
        padding: 30px 20px;
    }
    
    .container.contatti .wpcf7-form input[type="text"],
    .container.contatti .wpcf7-form input[type="email"],
    .container.contatti .wpcf7-form textarea {
        padding: 14px 16px;
        font-size: 15px;
    }
    
    .container.contatti .wpcf7-form input[type="submit"] {
        padding: 16px 30px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .container.contatti {
        padding: 20px 10px;
    }
    
    .container.contatti .wpcf7 {
        padding: 25px 15px;
    }
    
    .container.contatti > p {
        font-size: 15px;
    }
}


/* Responsive */
@media (max-width: 768px) {
	.lavoro-title								{ font-size: 32px;}
	.lavoro-navigation							{ grid-template-columns: 1fr; text-align: center;}
	.nav-previous, .nav-next					{ text-align: center;}
	.related-grid, .gallery-grid				{ grid-template-columns: 1fr;}
	.lavoro-content								{ font-size: 16px;}
}

@media (max-width: 480px) {
	.single-lavoro-container					{ padding: 20px 15px;}
	.lavoro-meta								{ flex-direction: column; gap: 10px;}
}
/* Responsive Design per Tablet */

@media (max-width: 992px) {
.carousel-item									{ flex: 0 0 50%; min-width: 50%; max-width: 50%;}
.prev-btn										{ left: -20px;}
.next-btn										{ right: -20px;}
}

/* Responsive Design per Mobile */

@media (max-width: 768px) {
.carousel-item									{ flex: 0 0 100%; min-width: 100%; max-width: 100%; padding: 0 5px;}
.carousel-btn									{ width: 44px; height: 44px;}
.prev-btn										{ left: 5px;}
.next-btn										{ right: 5px;}
.servizio-image									{ height: 180px;}
.mobile-menu-toggle								{ display: block;}
.nav-menu										{ display: none; flex-direction: column; position: absolute; top: 100%; left: 0; width: 100%; background-color: var(--primary-color); padding: 1rem 0;}
.nav-menu.open	     							{ display: flex;}
.hero-content h1								{ font-size: 2.5rem;}
.hero-content p									{ font-size: 1.1rem;}
.btn-secondary									{ margin-left: 0; margin-top: 1rem; display: block; width: fit-content; margin-left: auto; margin-right: auto;}
.about-content									{ grid-template-columns: 1fr; gap: 2rem;}
.services-grid, .news-grid						{ grid-template-columns: 1fr;}
.stats-grid										{ grid-template-columns: repeat(2, 1fr);}
nav li:last-child                               { margin: -15px 0 0 0;}

}

@media (max-width: 480px) {
.carousel-btn									{ width: 40px; height: 40px;}
.carousel-btn svg								{ width: 20px; height: 20px;}
.container										{ padding: 0 0.5rem;}
.hero-content h1								{ font-size: 2rem;}
.section-title h2								{ font-size: 2rem;}
.stats-grid										{ grid-template-columns: 1fr;}
nav li:last-child                               { margin: -15px 0 0 0;}

}

/* Single Post / Articolo */

.container-page									{ padding: 4rem 0;}
.archive-main									{ max-width: 860px; margin: 0 auto;}
.single-post									{ background: var(--light-color); border-radius: 10px; box-shadow: var(--shadow); padding: 2.5rem; overflow: hidden;}

.single-post-header								{ margin-bottom: 2rem;}
.breadcrumb										{ display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.9rem; color: var(--gray-medium); margin-bottom: 1.25rem;}
.breadcrumb a									{ color: var(--gray-medium); text-decoration: none; transition: var(--transition);}
.breadcrumb a:hover, .breadcrumb a:focus		{ color: var(--secondary-color);}
.breadcrumb-separator							{ color: var(--gray-medium); opacity: 0.6;}
.breadcrumb-current								{ color: var(--text-dark);}

.single-post-category							{ margin-bottom: 1rem;}
.post-category									{ display: inline-block; padding: 4px 14px; background: var(--secondary-color); color: var(--light-color); font-size: 0.8rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 20px; text-decoration: none; transition: var(--transition);}
.post-category:hover, .post-category:focus		{ background: var(--accent-color);}

.single-post-title								{ font-size: 2.2rem; line-height: 1.25; color: var(--primary-color); margin-bottom: 1rem;}

.single-post-meta								{ display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e9ecef; color: var(--gray-medium); font-size: 0.9rem;}
.post-meta-item									{ display: inline-flex; align-items: center; gap: 0.4rem;}
.post-meta-item svg								{ color: var(--secondary-color); flex-shrink: 0;}
.post-meta-item a								{ color: var(--gray-medium); text-decoration: none;}
.post-meta-item a:hover							{ color: var(--secondary-color);}

.single-post-content							{ font-size: 1.05rem; color: var(--text-dark); margin-bottom: 2.5rem;}
.single-post-video								{ margin-bottom: 2rem;}
.single-post-video .video-evidenza-embed		{ position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 10px;}
.single-post-video .video-evidenza-embed iframe	{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}
.single-post-video video,
.single-post-video .post-video,
.single-post-video .wp-video,
.single-post-video .mejs-container				{ width: 100% !important; height: auto; max-width: 100%; border-radius: 10px; display: block; background: #000;}
.single-post-content p							{ margin-bottom: 1.5rem;}
.single-post-content h2,
.single-post-content h3,
.single-post-content h4							{ color: var(--primary-color); margin: 2rem 0 1rem;}
.single-post-content ul,
.single-post-content ol							{ margin: 0 0 1.5rem 1.5rem;}
.single-post-content li							{ margin: 0 0 0.5rem 0;}
.single-post-content img						{ max-width: 100%; height: auto; border-radius: 8px; margin: 1rem 0;}
.single-post-content a							{ color: var(--secondary-color);}

.single-post-footer								{ padding-top: 1.5rem; border-top: 1px solid #e9ecef;}
.single-post-tags								{ display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-bottom: 1.5rem;}
.tags-label										{ display: inline-flex; align-items: center; gap: 0.4rem; font-weight: bold; color: var(--text-dark);}
.tags-label svg									{ color: var(--secondary-color);}
.tags-list										{ display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0;}
.tags-list li									{ margin: 0;}
.tag-link										{ display: inline-block; padding: 4px 12px; background: var(--gray-light); color: var(--text-dark); font-size: 0.85rem; border-radius: 4px; text-decoration: none; transition: var(--transition);}
.tag-link:hover, .tag-link:focus				{ background: var(--secondary-color); color: var(--light-color);}

.single-post-share								{ display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem;}
.share-label									{ font-weight: bold; color: var(--text-dark);}
.share-buttons									{ display: flex; flex-wrap: wrap; gap: 0.5rem;}
.share-button									{ display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--primary-color); color: var(--light-color); text-decoration: none; transition: var(--transition);}
.share-button:hover, .share-button:focus		{ background: var(--secondary-color); transform: translateY(-2px);}

.post-navigation								{ margin-top: 2rem;}
.nav-links										{ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;}
.nav-links > div								{ background: var(--light-color); border-radius: 10px; box-shadow: var(--shadow); transition: var(--transition);}
.nav-links > div:hover							{ transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);}
.nav-links a									{ display: block; padding: 1.25rem; text-decoration: none;}
.nav-next										{ text-align: right;}
.nav-direction									{ display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.85rem; color: var(--secondary-color); text-transform: uppercase; letter-spacing: 0.5px;}
.nav-next .nav-direction						{ flex-direction: row-reverse;}
.nav-title										{ display: block; margin-top: 0.4rem; color: var(--primary-color); font-weight: bold;}

@media (max-width: 768px) {
.single-post									{ padding: 1.5rem;}
.single-post-title								{ font-size: 1.6rem;}
.nav-links										{ grid-template-columns: 1fr;}
.nav-next										{ text-align: left;}
.nav-next .nav-direction						{ flex-direction: row;}
}

/* Accessibilità - Testo solo per screen reader */

.sr-only										{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}

/* Accessibilità - Focus visibile */

*:focus											{ outline: 2px solid var(--secondary-color); outline-offset: 2px;}

/* Prefers reduced motion */

@media (prefers-reduced-motion: reduce) {
*												{ transition: none !important; animation: none !important;}
}
