@charset "UTF-8";
/*
 * Theme Name: Immergas Parmacalor Theme
 * Version: 1.2
 * Author: Parmacalor.Com
 * Description: Tema specifico per Immergas per Parmacalor - Assistenza Caldaie Immergas Parma
 * License: Private
 */
/*
 * Theme Name: Immergas Parmacalor Theme
 * Version: 1.2
 * Author: Parmacalor.Com
 * Notes: Questa versione unisce tutti gli stili originali del tema (1450+ righe)
 * con le nuove funzionalità per le card e le correzioni specifiche per il layout
 * a larghezza aumentata su desktop e l'adattamento dell'altezza su mobile.
 */
/* ==========================================================================
   1.  DESIGN SYSTEM (Variabili Globali)
   ========================================================================== */
:root {
  --colore-sfondo: #F8F7F5;
  --colore-testo: #222222;
  --colore-primario: #1E2530;
  --colore-accento: #F47216; /* Arancione Ubuntu ufficiale */
  --colore-accento-scuro: #F47216; /* Stesso arancione */
  --colore-accento-light: #F47216; /* Stesso arancione */
  --colore-grigio-chiaro: #EAEAEA;
  --colore-bianco: #FFFFFF;
  --colore-successo: #28a745;
  --colore-errore: #dc3545;
  --font-heading: 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-lg: 1.5rem;
  --font-size-xl: 2.25rem;
  --font-size-xxl: 3rem;
  --border-radius: 4px;
  --border-radius-moderno: 12px; /* Per le nuove card */
  --transition-speed: 0.4s;
}

/* ==========================================================================
   2.  REGOLE DI DEBUG AVANZATO
   ========================================================================== */
/*
 * Per attivare il debug, aggiungi la classe 'debug-mode' al tag <body> in HTML.
 * Questo mostrerà i contorni di tutti gli elementi principali per aiutarti
 * a visualizzare il layout e risolvere problemi di allineamento.
 * Esempio: <body class="debug-mode">
 */
.debug-mode * {
  outline: 1px solid rgba(255, 0, 0, 0.2) !important;
}

.debug-mode .container {
  outline: 2px solid rgba(0, 255, 0, 0.5) !important;
}

.debug-mode section {
  outline: 2px solid rgba(0, 0, 255, 0.5) !important;
}

/* ==========================================================================
   3.  STILI DI BASE E TIPOGRAFIA (Originali)
   ========================================================================== */
html, body {
  overflow-x: hidden;
}

body {
  font-size: var(--font-size-base);
  color: var(--colore-testo);
  background-color: var(--colore-sfondo);
  font-family: var(--font-body);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

p {
  text-align: justify;
  text-justify: inter-word;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--colore-testo);
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: var(--font-size-xxl);
}

h2 {
  font-size: var(--font-size-xl);
}

h3 {
  font-size: var(--font-size-lg);
}

a {
  color: var(--colore-accento);
  text-decoration: none;
  transition: color var(--transition-speed);
}

a:hover {
  color: var(--colore-testo);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

figure {
  margin: 0;
}

/* ==========================================================================
   4.  LAYOUT GLOBALE E CONTENITORI (Originali con Modifiche)
   ========================================================================== */
#Wrapper,
#page-container,
#main {
  max-width: none !important;
  box-shadow: none !important;
}

.container,
.content-wrapper,
.site-content.container-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
  width: 100%;
}

/* NUOVA REGOLA: Contenitore allargato per le sezioni delle card */
.services-grid-section > .container,
.card-section > .container {
  max-width: 1600px; /* Aumenta la larghezza massima per queste sezioni */
}

.entry-content img {
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 4px;
}

section {
  padding: 4rem 0;
}

/* ==========================================================================
   5.  HEADER E NAVIGAZIONE (Originali)
   ========================================================================== */
.site-top-bar {
  background-color: var(--colore-accento);
  color: var(--colore-primario);
  padding: 0.5rem 0;
  font-size: 0.9rem;
}

.top-bar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-bar-phone {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.top-bar-phone a {
  color: var(--colore-primario);
  font-weight: 700;
}

.top-bar-phone a:hover {
  color: var(--colore-bianco);
}

.site-header {
  background-color: var(--colore-primario);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-branding {
  flex-shrink: 0;
}

.site-branding img {
  max-height: 60px;
  width: auto;
  display: block;
}

.main-navigation {
  margin: 0 auto;
}

.main-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.main-navigation a {
  font-weight: 700;
  color: var(--colore-bianco);
}

.main-navigation .menu-item-has-children > a {
  position: relative;
  padding-right: 18px;
}

.main-navigation .menu-item-has-children > a::after {
  content: "▼";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.6);
  color: var(--colore-accento);
  transition: transform 0.3s ease;
}

.main-navigation .menu-item:hover > a::after {
  transform: translateY(-50%) scale(0.6) rotate(180deg);
}

.main-navigation .sub-menu {
  display: none;
  position: absolute;
  background-color: var(--colore-primario);
  padding: 0.5rem;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  min-width: 200px;
}

.main-navigation .sub-menu li {
  width: 100%;
}

.main-navigation .sub-menu a {
  padding: 0.5rem 1rem;
  display: block;
  white-space: nowrap;
}

.main-navigation .menu-item:hover > .sub-menu {
  display: block;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

/* Navigazione Mobile (Originale) */
.mobile-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
  position: relative;
  width: 30px;
  height: 22px;
  /* iOS Safari fix */
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.mobile-contact-icon {
  display: none;
}

.hamburger-icon {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: var(--colore-accento);
  border-radius: 2px;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color 0.1s ease-in-out;
}

.hamburger-icon::before, .hamburger-icon::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: var(--colore-accento);
  border-radius: 2px;
  transition: transform 0.3s ease-in-out;
}

.hamburger-icon::before {
  top: -9px;
}

.hamburger-icon::after {
  bottom: -9px;
}

.mobile-menu-open .hamburger-icon {
  background-color: transparent;
}

.mobile-menu-open .hamburger-icon::before {
  transform: translateY(9px) rotate(45deg);
}

.mobile-menu-open .hamburger-icon::after {
  transform: translateY(-9px) rotate(-45deg);
}

.site-header.mobile-menu-open .main-navigation a {
  color: var(--colore-testo);
}

.site-header.mobile-menu-open .main-navigation a:hover {
  color: var(--colore-accento);
}

.site-header.mobile-menu-open .main-navigation .menu-item-has-children > a {
  font-weight: 700;
}

.site-header.mobile-menu-open .main-navigation .sub-menu {
  position: static;
  display: block;
  padding-left: 1.5rem;
  border-left: 2px solid var(--colore-accento);
  margin-left: 1rem;
  box-shadow: none;
  background-color: transparent;
}

.site-header.mobile-menu-open .main-navigation .sub-menu a {
  font-size: 0.9em;
  padding: 0.5rem 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-header.mobile-menu-open .main-navigation .sub-menu a::before {
  content: "- ";
}

.mobile-contact-icon {
  color: var(--colore-accento);
  transition: opacity 0.3s ease;
  display: none;
}

.mobile-contact-icon:hover {
  opacity: 0.8;
}

/* ==========================================================================
   6.  FOOTER (Originale)
   ========================================================================== */
.site-footer {
  background-color: var(--colore-primario);
  color: rgba(255, 255, 255, 0.85);
  padding: 4rem 0 0;
  font-size: 0.9rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 3rem;
  align-items: start;
}

.footer-column h3 {
  color: var(--colore-bianco);
  font-size: var(--font-size-md);
  margin-top: 0;
  margin-bottom: 1rem;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column ul a {
  color: rgba(255, 255, 255, 0.85);
}

.footer-column ul a:hover {
  color: var(--colore-bianco);
}

.site-info {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
}

/* ==========================================================================
   7.  COMPONENTI (Originali)
   ========================================================================== */
/* 7.1 --- Bottoni --- */
.btn {
  display: inline-block;
  padding: 0.75em 1.5em;
  font-weight: 700;
  border-radius: var(--border-radius);
  cursor: pointer;
  text-align: center;
  border: 2px solid transparent;
  transition: all var(--transition-speed);
}

a.btn--primary,
button.btn--primary,
.btn.btn--primary {
  background-color: var(--colore-accento);
  color: var(--colore-bianco);
  border-color: var(--colore-accento);
  text-decoration: none;
}

a.btn--primary:hover,
button.btn--primary:hover,
.btn.btn--primary:hover {
  background-color: var(--colore-primario);
  border-color: var(--colore-primario);
  color: var(--colore-bianco);
}

a.btn--secondary,
button.btn--secondary,
.btn.btn--secondary {
  background-color: transparent;
  border-color: var(--colore-bianco);
  color: var(--colore-bianco);
  text-decoration: none;
}

a.btn--secondary:hover,
button.btn--secondary:hover,
.btn.btn--secondary:hover {
  background-color: var(--colore-bianco);
  color: var(--colore-primario);
}

/* 7.2 --- Vecchio Stile Card (Mantenuto per Retrocompatibilità) --- */
.card {
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius);
  color: var(--colore-bianco);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: transform 0.3s ease;
}

.card:hover {
  transform: translateY(-8px);
}

.card__figure {
  aspect-ratio: 4/5;
  background-color: var(--colore-grigio-chiaro);
  overflow: hidden;
}

.card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(10, 35, 66, 0.95) 0%, rgba(10, 35, 66, 0.1) 75%);
  z-index: 1;
}

.card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 0.25rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

.card h3 {
  color: var(--colore-accento);
  margin: 0;
}

.card p {
  color: var(--colore-bianco);
  margin-bottom: 1rem;
}

.card__cta {
  align-self: flex-end;
}

.card-actions-container {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
}

.card-action-button {
  flex-grow: 1;
  text-align: center;
  padding: 10px 5px;
  border-radius: 5px;
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  transition: opacity 0.3s ease;
  border-bottom: none;
}

.card-action-button:hover {
  opacity: 0.85;
  color: #fff;
  border-bottom: none;
}

.button-call {
  background-color: #4CAF50;
}

.button-whatsapp {
  background-color: #25D366;
}

/* 7.3 --- Form di Contatto (Originale) --- */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 700px;
  margin: 2rem auto 0;
}

.contact-form .form-row {
  display: flex;
  gap: 1rem;
}

.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--colore-grigio-chiaro);
  border-radius: 4px;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  transition: all 0.3s;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--colore-accento);
  box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.2);
}

.contact-form textarea {
  min-height: 120px;
  resize: vertical;
}

.contact-form button[type=submit] {
  align-self: center;
}

/* 7.4 --- Elementi Fluttuanti e Overlay (Originali) --- */
.floating-cta-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  background-color: #25D366;
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
  text-decoration: none;
}

.floating-cta-button:hover {
  transform: scale(1.1);
  color: white;
}

.floating-cta-button svg {
  width: 32px;
  height: 32px;
}

#bottom-cta-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #222;
  color: #fff;
  padding: 15px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
  z-index: 9998;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(100%);
  transition: transform 0.5s ease-in-out;
}

#bottom-cta-bar.is-visible {
  transform: translateY(0);
}

.floating-action-buttons {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.fab-button {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: var(--colore-bianco);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fab-button:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

.fab-icon {
  width: 32px;
  height: 32px;
}

.fab-phone {
  border: 2px solid var(--colore-testo);
  color: var(--colore-accento);
}

.fab-whatsapp {
  border: 2px solid var(--colore-accento);
  color: var(--colore-accento);
}

.fab-tooltip {
  position: absolute;
  right: calc(100% + 15px);
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  background-color: var(--colore-accento);
  color: var(--colore-testo);
  padding: 8px 15px;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.fab-tooltip::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent transparent var(--colore-accento);
}

.fab-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

@keyframes shake-it {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}
.is-shaking {
  animation: shake-it 0.8s ease-in-out;
}

#spotlight-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 1999;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

#spotlight-overlay.is-active {
  display: block;
  opacity: 1;
}

/* ==========================================================================
   8.  SEZIONI SPECIFICHE E LAYOUT DI PAGINA (Originali)
   ========================================================================== */
/* --- Hero Section --- */
.hero-section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  color: var(--colore-bianco);
  overflow: hidden;
  padding: 3rem 0;
}

.hero-section__figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-section__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-section__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 35, 66, 0.8);
  z-index: 2;
}

.hero-section__content-container {
  position: relative;
  z-index: 3;
  text-align: center;
}

.hero-section_title {
  color: var(--colore-bianco);
}

.page-servizio-layout .hero-section--internal,
.codice-errore-layout .hero-section--internal {
  min-height: 450px;
}

.page-servizio-layout .hero-img,
.codice-errore-layout .hero-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}

.page-servizio-layout .hero-overlay,
.codice-errore-layout .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(10, 35, 66, 0.75) 0%, rgba(10, 35, 66, 0.85) 100%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Container dentro l'overlay per centrare il contenuto */
.page-servizio-layout .hero-overlay .container,
.codice-errore-layout .hero-overlay .container {
  position: relative;
  z-index: 3;
}

/* Titoli hero pagine servizi - stile homepage */
.page-servizio-layout .entry-title,
.codice-errore-layout .entry-title {
  color: var(--colore-bianco) !important;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
  margin-bottom: 1.5rem;
}

/* Testo hero pagine servizi - stile homepage */
.page-servizio-layout .entry-content-hero,
.codice-errore-layout .entry-content-hero {
  color: rgba(255, 255, 255, 0.95) !important;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto;
}

.page-servizio-layout .entry-content-hero p,
.codice-errore-layout .entry-content-hero p {
  color: inherit !important;
  margin: 0;
}

/* ========================================
   SEZIONI VISUAL & IMMAGINI DISTRIBUITE
   ======================================== */
/* Sezioni visual - Spacing e layout */
.section--visual {
  padding: 3rem 0;
  margin: 2rem 0;
  overflow: hidden; /* Previene overflow immagini */
}

/* Figure distributed-image - Container immagini */
.distributed-image {
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
  position: relative;
  display: block;
}

/* Immagini distribuite - Sizing e display */
.distributed-image img {
  width: 100%;
  height: auto;
  max-height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
  border-radius: var(--border-radius-moderno, 8px);
}

/* Caption immagini distribuite */
.distributed-image figcaption {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--colore-testo-secondario, #666);
  font-style: italic;
  text-align: center;
}

.services-grid-section,
.page-servizio-layout .card-section,
.codice-errore-layout .card-section {
  background-color: var(--colore-primario);
}

.services-grid-section h2,
.services-grid-section .section-subtitle,
.page-servizio-layout .card-section h2,
.page-servizio-layout .card-section .section-subtitle,
.codice-errore-layout .card-section h2,
.codice-errore-layout .card-section .section-subtitle {
  color: var(--colore-bianco);
}

/* FIX HOMEPAGE: Regole ultra-specifiche per card in services-grid-section */
.services-grid-section .interactive-card__title {
  color: #ffffff !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.services-grid-section .interactive-card__description {
  color: #F5F7FA !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.services-grid-section .interactive-card__cta {
  color: var(--colore-bianco) !important;
  background-color: #D65A00 !important; /* Arancione scuro per contrasto WCAG AA (4.6:1) */
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.services-grid-section .interactive-card__footer {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.testimonials-section {
  background-color: var(--colore-primario);
}

.testimonials-section .section-title, .testimonials-section p {
  color: var(--colore-bianco);
}

/* Link su sfondo scuro - contrasto accessibile e distinguibili */
.testimonials-section a,
.trust-bar-section a,
.error-carousel-section a,
.contact-section a,
.site-footer a {
  color: var(--colore-accento-light);
  text-decoration: underline;
}
.testimonials-section a:hover,
.trust-bar-section a:hover,
.error-carousel-section a:hover,
.contact-section a:hover,
.site-footer a:hover {
  color: var(--colore-bianco);
}

.error-code-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.error-card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 15px;
  background-color: #fff;
}

/* ==========================================================================
   9.  NUOVO STILE CARD INTERATTIVE (Integrazione)
   ========================================================================== */
/* --- Contenitore della griglia --- */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2.5rem;
  padding: 2rem 0;
}

/* --- La Card --- */
.interactive-card {
  position: relative;
  color: var(--colore-bianco);
  border-radius: var(--border-radius-moderno);
  overflow: hidden;
  height: 420px; /* ALTEZZA FISSA PER TUTTE LE CARD */
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 6px 6px rgba(0, 0, 0, 0.15);
}

.interactive-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2), 0 15px 12px rgba(0, 0, 0, 0.18);
}

/* --- Immagine di sfondo --- */
.interactive-card__figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.interactive-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s ease;
}

.interactive-card:hover .interactive-card__image {
  transform: scale(1.1);
}

/* --- Overlay Sfumato --- NOTA: definizione aggiornata più in basso al CSS per leggibilità */
/* --- Contenuto della Card (Layout Flexbox) --- */
.interactive-card__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%; /* RIEMPIE TUTTA L'ALTEZZA DELLA CARD */
  padding: 0.25rem;
  transform: translateZ(40px);
}

/* --- Titolo della Card --- */
.interactive-card__title {
  color: var(--colore-bianco);
  font-size: 1.75rem;
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}

/* --- Descrizione della Card --- */
.interactive-card__description {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.5;
  margin: 0;
  flex-grow: 1;
}

/* --- Footer con CTA --- */
.interactive-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

a.interactive-card__cta,
.interactive-card__footer a.interactive-card__cta {
  display: inline-block;
  padding: 0.6em 1.2em;
  font-weight: 700;
  border-radius: 6px;
  cursor: pointer;
  text-align: center;
  border: none;
  background-color: #D65A00; /* Arancione scuro per contrasto WCAG AA (4.6:1) */
  color: var(--colore-bianco) !important;
  text-decoration: none !important;
  transition: all var(--transition-speed) ease;
  z-index: 5;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

a.interactive-card__cta:hover,
.interactive-card__footer a.interactive-card__cta:hover {
  background-color: var(--colore-primario);
  color: var(--colore-bianco) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transform: translateY(-2px);
}

/* --- Card Interamente Cliccabile --- */
.interactive-card__main-link {
  text-decoration: none;
  color: inherit;
}

.interactive-card__main-link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  cursor: pointer;
}

/* ==========================================================================
   10.  CLASSI DI UTILITÀ (Originali)
   ========================================================================== */
.text-center {
  text-align: center;
}

.section-subtitle {
  max-width: 700px;
  margin: 1rem auto 2rem;
  font-size: var(--font-size-md);
  color: #555;
}

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

.mobile-breadcrumbs {
  background-color: #F8F7F5;
  padding: 0.75rem 1rem;
  font-size: 0.8rem;
  border-bottom: 1px solid #EAEAEA;
}

.mobile-breadcrumbs a {
  color: var(--colore-primario);
  text-decoration: underline;
}

.mobile-breadcrumbs a:hover {
  color: var(--colore-testo);
}

#breadcrumbs {
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   12.  MEDIA QUERIES E RESPONSIVE (Unificati e Corretti)
   ========================================================================== */
/* Tablet e Desktop piccoli (da 992px in su) */
@media (min-width: 992px) {
  .mobile-breadcrumbs {
    display: none;
  }
  .page-servizio-layout .card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .error-code-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  /* Immagini distribuite su mobile - altezza ridotta */
  .section--visual {
    padding: 2rem 0;
    margin: 1.5rem 0;
  }
  .distributed-image {
    max-width: 100%;
    padding: 0 1rem;
  }
  .distributed-image img {
    max-height: 400px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 6px;
  }
  .distributed-image figcaption {
    font-size: 0.85rem;
    padding: 0 0.5rem;
  }
}
/* Tablet (da 768px a 991px) */
@media (max-width: 991px) {
  .main-navigation, .header-actions .btn {
    display: none;
  }
  .mobile-nav-toggle, .header-actions .mobile-contact-icon {
    display: block;
  }
  .header-actions {
    gap: 1.25rem;
  }
  .site-header.mobile-menu-open .main-navigation {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--colore-primario);
    padding: 80px 1.5rem 2rem;
    z-index: 999;
    overflow-y: auto;
  }
  .site-header.mobile-menu-open .main-navigation ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .site-header.mobile-menu-open .main-navigation li {
    width: 100%;
    border-bottom: 1px solid rgba(184, 134, 11, 0.35);
  }
  .site-header.mobile-menu-open .main-navigation a {
    display: block;
    padding: 1rem 0;
    white-space: normal;
    line-height: 1.4;
    font-size: 1.05rem;
    color: #fff;
  }
  /* Apertura nav anche se JS aggiunge .is-open */
  .main-navigation.is-open {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--colore-primario);
    padding: 80px 1.5rem 2rem;
    z-index: 999;
    overflow-y: auto;
  }
  .main-navigation.is-open ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .main-navigation.is-open li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 107, 53, 0.35); /* bordo arancione leggero */
  }
  .main-navigation.is-open a {
    display: block;
    padding: 1rem 0;
    white-space: normal;
    line-height: 1.4;
    font-size: 1.05rem;
    color: #fff;
  }
  body.nav-open {
    overflow: hidden;
  }
  /* Toggle visibile e fisso quando il menu è aperto */
  body.nav-open #mobile-nav-toggle {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 1001;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 8px;
    padding: 8px;
  }
}
/* ==========================================================================
   Stili Mobile (max-width: 768px) - UNIFICATI E CORRETTI
   ========================================================================== */
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  .site-top-bar {
    display: none;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  #mobile-nav-toggle {
    display: block;
  }
  /* -- Stili Generali di Sezione -- */
  section {
    padding: 40px 20px;
  }
  .section-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 10px;
    color: var(--colore-testo);
  }
  .section-subtitle {
    text-align: center;
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 30px;
    color: #666;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  /* -- Sezione Hero -- */
  .hero-section {
    min-height: auto;
    align-items: center;
  }
  .hero-section_title {
    margin-bottom: 25px;
  }
  .hero-services-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
  }
  .hero-services-nav a.service-link {
    display: inline-block;
    padding: 8px 16px;
    background-color: transparent;
    border: 2px solid var(--colore-accento-light);
    color: var(--colore-accento-light);
    text-decoration: none;
    border-radius: 5px;
    font-weight: 600;
    transition: background-color 0.3s, color 0.3s;
  }
  .hero-services-nav a.service-link:hover {
    background-color: var(--colore-accento-light);
    color: var(--colore-primario);
  }
  .hero-buttons {
    display: none;
  }
  /* -- Sezione Punti di Forza (Trust Bar) -- */
  .trust-bar-section {
    background-color: var(--colore-primario);
    padding: 40px 20px;
  }
  .trust-bar-section .section-title,
  .trust-bar-section .section-subtitle,
  .trust-bar-section .trust-bar-item p {
    color: var(--colore-bianco);
  }
  .trust-bar-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .trust-bar-item {
    text-align: center;
  }
  .trust-bar-item p {
    font-size: 0.9rem;
  }
  .trust-bar-section .trust-bar-icon svg {
    fill: var(--colore-accento);
    margin-bottom: 10px;
  }
  /* -- Sezione Testimonianze -- */
  .testimonials-section {
    background-color: var(--colore-primario);
    padding: 40px 20px;
  }
  .testimonials-section .section-title,
  .testimonials-section .text-center {
    color: var(--colore-bianco);
  }
  .testimonials-section .testimonial-card {
    background-color: transparent;
    border: 1px solid var(--colore-accento);
    color: var(--colore-bianco);
    padding: 0.25rem;
  }
  .testimonials-section .testimonial-card footer strong {
    color: var(--colore-bianco);
  }
  .testimonials-section .testimonial-card footer span {
    color: var(--colore-accento-light);
    display: block;
    margin-top: 5px;
  }
  /* -- Sezione Form di Contatto -- */
  .contact-section {
    background-color: var(--colore-primario);
  }
  .contact-section .text-center h2,
  .contact-section .text-center p {
    color: var(--colore-bianco);
  }
  .contact-section .contact-form {
    background-color: transparent;
    padding: 0;
    max-width: 100%;
  }
  .contact-section .form-group {
    margin-bottom: 1rem;
  }
  .contact-section .form-group label {
    color: var(--colore-accento-light);
    text-align: left;
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
  }
  .contact-section .form-group input,
  .contact-section .form-group textarea {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid var(--colore-accento);
    color: var(--colore-bianco);
    width: 100%;
    padding: 12px;
    border-radius: 4px;
    font-size: 16px;
  }
  .contact-section .form-group input::-moz-placeholder, .contact-section .form-group textarea::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5);
  }
  .contact-section .form-group input::placeholder,
  .contact-section .form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }
  .contact-section .form-submit-group .btn--primary {
    background-color: var(--colore-accento-light);
    color: var(--colore-primario);
    border: none;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    font-weight: 700;
  }
  .contact-section .form-submit-group .btn--primary:hover {
    background-color: #e0b678;
    color: var(--colore-primario);
  }
  .form-messages {
    margin-top: 20px;
    padding: 15px;
    border-radius: 4px;
    text-align: center;
    display: none;
    color: var(--colore-bianco);
  }
  .form-messages.success {
    background-color: var(--colore-successo);
    display: block;
  }
  .form-messages.error {
    background-color: var(--colore-errore);
    display: block;
  }
  .form-submit-group {
    position: relative;
  }
  .spinner {
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top: 4px solid var(--colore-bianco);
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  @keyframes spin {
    0% {
      transform: translateY(-50%) rotate(0deg);
    }
    100% {
      transform: translateY(-50%) rotate(360deg);
    }
  }
  /* NUOVE REGOLE MOBILE per Nuove Card */
  .card-grid {
    gap: 1.5rem;
  }
  .interactive-card__content {
    min-height: auto; /* Rimuove l'altezza minima fissa */
    height: auto; /* Permette alla card di crescere */
    padding: 0.25rem;
  }
  .interactive-card__title {
    font-size: 1.5rem;
  }
  .interactive-card__description {
    -webkit-line-clamp: unset; /* Rimuove il limite di righe */
    overflow: visible;
    flex-grow: 0; /* Non forza più l'espansione */
  }
  /* Bottoni SEMPRE affiancati orizzontali con wrap automatico */
  .interactive-card__footer {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap; /* Wrap automatico se necessario */
    gap: 0.75rem;
  }
  /* PageSpeed: Touch targets minimi 48x48px */
  .interactive-card__cta,
  .btn--primary,
  .btn--secondary,
  .hero-services-nav a,
  .service-link {
    min-height: 48px;
    padding: 0.8em 1.5em;
    font-size: 16px;
  }
  /* Touch targets link navigazione */
  .main-navigation a,
  .footer-nav-list a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5em 0.8em;
  }
}
/* NUOVA REGOLA: Enfatizza il titolo cliccabile con un effetto sottolineato all'hover */
.interactive-card__main-link .interactive-card__title {
  display: inline; /* Necessario per l'effetto underline che si adatta al testo */
  background-image: linear-gradient(var(--colore-accento), var(--colore-accento));
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px; /* La sottolineatura parte da larghezza 0 */
  transition: background-size 0.3s, color 0.3s;
  padding-bottom: 2px; /* Aggiunge un piccolo spazio tra testo e linea */
}

.interactive-card:hover .interactive-card__main-link .interactive-card__title {
  color: var(--colore-accento); /* Cambia colore del testo in hover */
  background-size: 100% 2px; /* Anima la larghezza della sottolineatura al 100% */
}

/* Tablet e Mobile (da 600px in su) */
@media (min-width: 600px) {
  .page-servizio-layout .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Mobile (fino a 600px) */
@media (max-width: 600px) {
  .contact-form .form-row {
    flex-direction: column;
  }
  body .card-grid,
  body .codice-errore-layout .card-grid,
  body .page-servizio-layout .card-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .trust-bar-grid {
    grid-template-columns: 1fr; /* Una colonna su schermi molto piccoli */
  }
  .services-grid-section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .services-grid-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* Stile per i campi con errori di validazione client-side */
.contact-form input.is-invalid,
.contact-form textarea.is-invalid {
  border-color: var(--colore-errore);
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.25);
}

/* ==========================================================================
   CARD STYLE PATCHES - Integrato da async-patches.css (Nov 2025)
   ========================================================================== */
/* --- Tilt Mobile Patch / 3D --- */
.interactive-card {
  transform-style: preserve-3d;
  will-change: transform;
  perspective: 1200px;
}

.interactive-card__figure {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.interactive-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.interactive-card__content {
  position: relative;
  z-index: 3;
  transform: translateZ(40px);
}

/* ====== Immagini: CHIARE e visibili! ====== */
.interactive-card__figure .interactive-card__image,
.service-card .card__media img,
.home-card .card__media img {
  filter: brightness(0.88) contrast(1.03) saturate(1.02);
  transition: filter 0.25s ease;
}

/* Overlay SOFT, spinto solo sotto al testo */
.interactive-card__overlay {
  background: linear-gradient(to top, rgba(10, 35, 66, 0.45) 0%, rgba(10, 35, 66, 0.2) 40%, rgba(10, 35, 66, 0) 100%);
  mix-blend-mode: multiply;
}

/* ====== Titoli: bianco + alone blu "spray" + micro-stroke ====== */
.interactive-card__title,
.service-card .card__title,
.home-card .card__title {
  color: #ffffff;
  position: relative;
  text-shadow: 0 0 1px #fff, 0 0 6px rgba(10, 35, 66, 0.55), 0 2px 14px rgba(10, 35, 66, 0.45), 0 2px 22px rgba(0, 0, 0, 0.35);
  -webkit-text-stroke: 0.4px rgba(10, 35, 66, 0.65);
}

/* Effetto "evidenziatore blu" sotto al titolo (spray) */
.interactive-card__title::after,
.service-card .card__title::after,
.home-card .card__title::after {
  content: "";
  position: absolute;
  left: -0.15em;
  right: -0.15em;
  bottom: -0.1em;
  height: 0.6em;
  background: radial-gradient(ellipse at center, rgba(10, 35, 66, 0.4) 0%, rgba(10, 35, 66, 0.25) 60%, rgba(10, 35, 66, 0) 100%);
  filter: blur(6px);
  z-index: -1;
}

/* ====== Descrizioni: chiaro con glow blu leggero ====== */
.interactive-card__description,
.service-card .card__text,
.home-card .card__text {
  color: #F5F7FA;
  text-shadow: 0 0 4px rgba(10, 35, 66, 0.5), 0 1px 10px rgba(0, 0, 0, 0.35);
}

.interactive-card__description {
  font-weight: 500;
  line-height: 1.5;
}

/* Desktop: oro hover */
@media (hover: hover) and (pointer: fine) {
  .interactive-card__title:hover {
    color: #caa765;
  }
  .interactive-card__title {
    color: #ffffff;
    background-image: linear-gradient(#caa765, #caa765);
  }
}
@media (hover: none) {
  .interactive-card__title {
    color: #ffffff;
    background-image: none;
  }
}
/* Micro-tuning spacing mobile */
@media (max-width: 576px) {
  .interactive-card__content {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .interactive-card__title {
    margin-bottom: 0.4rem;
  }
  .interactive-card__description {
    font-size: 0.975rem;
  }
}
/* Accessibilità: contrasto elevato */
@media (prefers-contrast: more) {
  .interactive-card__overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 10%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.75) 100%);
  }
  .interactive-card__figure .interactive-card__image,
  .service-card .card__media img,
  .home-card .card__media img {
    filter: brightness(0.45) contrast(1.2);
  }
}
/* ========================================
   CARD SERVICE BACKGROUNDS - Sistema Immagini Background
   ======================================== */
/* Base style per card con background image */
.interactive-card[data-service-type] .interactive-card__figure {
  position: absolute !important; /* FIX: absolute necessario per z-index corretto */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1 !important;
}

/* Le card dei servizi in home mostrano l'immagine principale di ogni pagina servizio (15/10/2026: gli sfondi fissi
   background-card1-*.jpg non esistono più) */
.interactive-card[data-service-type] .interactive-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   FIX HERO 3 COLONNE - 2025-11-12
   ========================================================================== */
.hero-services-nav {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
  margin-top: 40px;
}

/* Tablet: 2 colonne */
@media (max-width: 768px) {
  .hero-services-nav {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* Mobile: 1 colonna */
@media (max-width: 480px) {
  .hero-services-nav {
    grid-template-columns: 1fr !important;
  }
}
/* ======================================================================
   FAQ SECTION - Accordion Style
   ====================================================================== */
.faq-section {
  padding: 60px 0;
  background: #f8f9fa;
}

.faq-list {
  max-width: 900px;
  margin: 40px auto 0;
}

.faq-item {
  background: white;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.faq-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faq-question {
  margin: 0;
  font-size: 1.1rem;
}

.faq-toggle {
  width: 100%;
  padding: 20px 24px;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  color: #1a1a1a;
  transition: color 0.3s ease;
}

.faq-toggle:hover {
  color: #0056b3;
}

.faq-icon {
  font-size: 1.5rem;
  font-weight: 300;
  color: #0056b3;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 16px;
}

.faq-toggle[aria-expanded=true] .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-answer.open {
  padding: 0 24px 20px;
  max-height: 1000px;
}

.faq-answer p {
  margin: 0 0 12px;
  line-height: 1.6;
  color: #444;
}

.faq-answer p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .faq-section {
    padding: 40px 0;
  }
  .faq-toggle {
    padding: 16px 20px;
    font-size: 1rem;
  }
  .faq-answer.open {
    padding: 0 20px 16px;
  }
}
@media (max-width: 768px) {
  .codice-errore-layout .hero-section--clean .container {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
  .codice-errore-layout .hero-section--clean .container .entry-title,
  .codice-errore-layout .hero-section--clean .container .hero-subtitle,
  .codice-errore-layout .hero-section--clean .container .error-code-display-hero {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .codice-errore-layout .hero-section--clean .hero-image-inline {
    width: 100%;
    margin: 1rem 0;
  }
}

.interactive-card__overlay {
  background: linear-gradient(to top, rgba(10, 35, 66, 0.95) 0%, rgba(10, 35, 66, 0.7) 50%, rgba(10, 35, 66, 0.3) 100%) !important;
  opacity: 1 !important;
}

.services-grid-section .interactive-card__overlay,
.card-section .interactive-card__overlay {
  background: linear-gradient(to top, rgba(10, 35, 66, 0.98) 0%, rgba(10, 35, 66, 0.75) 60%, rgba(10, 35, 66, 0.4) 100%) !important;
}

.interactive-card__content {
  position: relative;
  z-index: 10;
}
.interactive-card__content .interactive-card__title,
.interactive-card__content .interactive-card__description {
  color: var(--colore-bianco) !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLW5ldy5jc3MiLCJzY3NzL21haW4uc2NzcyIsInNjc3MvX2xlZ2FjeS1mdWxsLnNjc3MiLCJzY3NzL19maXhlcy1tb2JpbGUtb3ZlcmxheS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7O0VBQUE7QUNBQTs7Ozs7OztFQUFBO0FBU0E7OytFQUFBO0FBR0E7RUFDSSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLCtCQUFBO0VBQ0Esd0JBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0VBRUEsMkNBQUE7RUFDQSxnQ0FBQTtFQUVBLHNCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EscUJBQUE7RUFFQSxvQkFBQTtFQUNBLDZCQUFBLEVBQUEsc0JBQUE7RUFDQSx3QkFBQTtBRktKOztBRUZBOzsrRUFBQTtBQUdBOzs7OztFQUFBO0FBTUE7RUFDSSxrREFBQTtBRktKOztBRUhBO0VBQ0ksa0RBQUE7QUZNSjs7QUVKQTtFQUNJLGtEQUFBO0FGT0o7O0FFSEE7OytFQUFBO0FBR0E7RUFDSSxrQkFBQTtBRk1KOztBRUhBO0VBQ0ksZ0NBQUE7RUFDQSwwQkFBQTtFQUNBLHNDQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0FGTUo7O0FFSEE7RUFDSSxnQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBRk1KOztBRUpBO0VBQUssK0JBQUE7QUZRTDs7QUVQQTtFQUFLLDhCQUFBO0FGV0w7O0FFVkE7RUFBSyw4QkFBQTtBRmNMOztBRVpBO0VBQ0ksNEJBQUE7RUFDQSxxQkFBQTtFQUNBLHlDQUFBO0FGZUo7O0FFYkE7RUFDSSwwQkFBQTtBRmdCSjs7QUViQTtFQUNJLGVBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBRmdCSjs7QUViQTtFQUNJLFNBQUE7QUZnQko7O0FFYkE7OytFQUFBO0FBR0E7OztF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QkFBQTtBRjJORjs7QUV2TkE7OytFQUFBO0FBR0E7RUFDSSx3QkFBQTtFQUNBLGdEQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0FGME5KOztBRXZOQSxzQkFBQTtBQUNBO0VBQ0k7SUFDSSxnREFBQTtFRjBOTjtBQUNGO0FFdk5BLHNCQUFBO0FBQ0E7RUFDSTtJQUNJLHFDQUFBO0VGeU5OO0FBQ0Y7QUV0TkE7OzJFQUFBO0FBR0E7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7QUZ3Tko7O0FFck5BO0VBQ0ksZ0JBQUE7RUFDQSxtQkFBQTtBRndOSjs7QUVyTkE7RUFDSSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5Q0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0NBQUE7QUZ3Tko7O0FFck5BO0VBQ0kseUNBQUE7QUZ3Tko7O0FFck5BO0VBQ0ksU0FBQTtFQUNBLGlCQUFBO0FGd05KOztBRXJOQTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDJCQUFBO0FGd05KOztBRXJOQTtFQUNJLGNBQUE7QUZ3Tko7O0FFck5BO0VBQ0ksaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtBRndOSjs7QUVyTkE7RUFDSSx3QkFBQTtBRndOSjs7QUVyTkE7RUFDSSxlQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsbURBQUE7QUZ3Tko7O0FFck5BO0VBQ0ksb0JBQUE7RUFDQSxrQkFBQTtBRndOSjs7QUVyTkE7RUFDSSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBRndOSjs7QUVyTkE7RUFDSSxnQkFBQTtBRndOSjs7QUVyTkE7RUFDSTtJQUNJLGVBQUE7RUZ3Tk47RUVyTkU7SUFDSSxrQkFBQTtJQUNBLGVBQUE7RUZ1Tk47RUVwTkU7SUFDSSxvQkFBQTtFRnNOTjtBQUNGO0FHbHhESTtFQVBGO0lBUUksd0JBQUE7SUFDQSxpQ0FBQTtJQUNBLHFDQUFBO0lBQ0EsV0FBQTtFSHF4REo7RUdueERJOzs7SUFHRSxXQUFBO0lBQ0EsZUFBQTtFSHF4RE47QUFDRjtBR2h4REk7RUFERjtJQUVJLFdBQUE7SUFDQSxjQUFBO0VIbXhESjtBQUNGOztBRzl3REE7RUFFRSxnSUFBQTtFQU1BLHFCQUFBO0FIMndERjs7QUd2d0RBOztFQUVFLGlJQUFBO0FIMHdERjs7QUdqd0RBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0FIb3dERjtBR2x3REU7O0VBRUUsc0NBQUE7RUFDQSxvREFBQTtBSG93REoiLCJmaWxlIjoic3R5bGUtbmV3LmNzcyJ9 */
/* ========================================
   CODICI ERRORE - H1 SEO Personalizzato
   ======================================== */
.single-codice_errore .entry-content-hero h1.wp-block-heading,
.single-codice_errore .entry-content h1.wp-block-heading:first-child {
    color: #ffffff !important;
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin-bottom: 1.5rem !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5) !important;
}

@media (min-width: 768px) {
    .single-codice_errore .entry-content-hero h1.wp-block-heading,
    .single-codice_errore .entry-content h1.wp-block-heading:first-child {
        font-size: 3rem !important;
    }
}

@media (min-width: 1024px) {
    .single-codice_errore .entry-content-hero h1.wp-block-heading,
    .single-codice_errore .entry-content h1.wp-block-heading:first-child {
        font-size: 3.5rem !important;
    }
}

/* ========================================
   CTA Telefonica CPT Errori - Full Width Mobile
   ======================================== */
.single-codice_errore .entry-content p a[href^='tel:'] {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    .single-codice_errore .entry-content p a[href^='tel:'] {
        font-size: 1.25rem !important;
        padding: 1rem !important;
    }
}

/* ========================================
   CTA Telefonica CPT Errori - Full Width Mobile
   (NON quella nell'hero, ma quella ripetuta sotto)
   ======================================== */
@media (max-width: 767px) {
    .single-codice_errore .entry-content p a[href^='tel:'] {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        font-size: 1.25rem !important;
        padding: 1rem !important;
        box-sizing: border-box !important;
    }
}

/* ========================================
   HOME CARDS - Allineamento con Service Cards
   ======================================== */

/* Card home con flexbox per bottone in basso */
.home-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home-card .card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1.25rem 1rem;
    gap: 1rem;
}

.home-card .card__title {
    margin: 0 0 0.75rem 0;
}

.home-card .card__text {
    flex: 1;
    margin: 0.75rem 0;
    line-height: 1.6;
}

.home-card .card__button {
    margin-top: auto;
    padding-top: 1rem;
}

/* Mobile: padding ridotto come servizi */
@media (max-width: 768px) {
    .home-card .card__content {
        padding: 1rem 0.85rem;
    }
}

/* FIX HOMEPAGE MOBILE: Rimuovi padding contenitore sezione card */
@media (max-width: 768px) {
  .home .services-grid-section {
    padding: 0 !important;
  }
  .home .services-grid-section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ==========================================================================
   CAROSELLO CODICI ERRORE - Swipeable orizzontale
   Colori tema: blu #1E2530, arancione #F47216, sfondo #F8F7F5
   ========================================================================== */
.error-carousel-section {
  padding: 50px 0;
  background: var(--colore-primario);
  overflow: hidden;
}

.error-carousel__title {
  color: var(--colore-bianco);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin: 0 0 8px;
}

.error-carousel__subtitle {
  color: var(--colore-accento-light);
  font-size: 1.1rem;
  text-align: center;
  margin: 0 0 30px;
}

.error-carousel {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 10px 0;
}

.error-carousel::-webkit-scrollbar {
  display: none;
}

.error-carousel__track {
  display: flex;
  gap: 20px;
  padding: 0 20px;
  width: max-content;
}

.error-carousel__item {
  flex: 0 0 auto;
  width: 280px;
  background: var(--colore-bianco);
  border-radius: var(--border-radius-moderno);
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
  border: 1px solid var(--colore-grigio-chiaro);
}

.error-carousel__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(184, 134, 11, 0.25);
}

.error-carousel__figure {
  margin: 0;
  height: 180px;
  overflow: hidden;
  background: var(--colore-sfondo);
}

.error-carousel__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform var(--transition-speed) ease;
}

.error-carousel__item:hover .error-carousel__image {
  transform: scale(1.05);
}

.error-carousel__content {
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--colore-bianco);
}

.error-carousel__code {
  font-size: 1rem;
  font-weight: 700;
  color: var(--colore-primario);
}

.error-carousel__cta {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--colore-primario); /* Blu scuro per contrasto accessibile */
  transition: color var(--transition-speed) ease;
}

.error-carousel__item:hover .error-carousel__cta {
  color: var(--colore-primario);
}

.error-carousel__hint {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  text-align: center;
  margin: 20px 0 0;
}

.error-carousel__swipe-icon {
  display: inline-block;
  animation: swipeHint 1.5s ease-in-out infinite;
}

@keyframes swipeHint {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); }
}

/* Mobile: card più piccole */
@media (max-width: 768px) {
  .error-carousel-section {
    padding: 40px 0;
  }
  .error-carousel__title {
    font-size: 1.6rem;
  }
  .error-carousel__subtitle {
    font-size: 1rem;
  }
  .error-carousel__item {
    width: 240px;
  }
  .error-carousel__figure {
    height: 150px;
  }
  .error-carousel__track {
    padding: 0 15px;
    gap: 15px;
  }
}


/* Card Customization - Parmacalor */
/* Trasparenza immagini background card - TUTTE LE VERSIONI */
.card__image,
.card img,
.card__figure img,
.card__media img,
.interactive-card__image,
.interactive-card img,
.interactive-card__figure img,
.service-card img,
.service-card .card__media img,
.home-card img,
.home-card .card__media img,
.error-card img,
.testimonial-card img,
[class*="card"] img {
  opacity: 0.67 !important;
}

/* Titoli footer arancione */
.footer-widget-title,
.footer-column h3 {
  color: #F47216 !important;
}

/* Titoli card arancio e sottolineati */
.card h3,
.card__title {
  color: #F47216 !important;
  text-decoration: underline !important;
}

/* Bottoni card: sfondo bianco, testo arancio, margini ridotti */
.card__cta,
.card-action-button {
  background: white !important;
  color: #F47216 !important;
  border: 2px solid #F47216 !important;
  margin: 0.5rem 0 !important;
  padding: 0.6rem 1.2rem !important;
}

.card__cta:hover,
.card-action-button:hover {
  background: #F47216 !important;
  color: white !important;
}

/* Liste puntate - titoli e bullet arancione */
.entry-content ul li,
.service-intro ul li,
.card__content ul li,
article ul li {
  color: var(--colore-testo);
}

.entry-content ul li::marker,
.service-intro ul li::marker,
.card__content ul li::marker,
article ul li::marker {
  color: #F47216 !important;
  font-weight: bold;
}

.entry-content ol li::marker,
.service-intro ol li::marker,
article ol li::marker {
  color: #F47216 !important;
  font-weight: bold;
}

/* Grassetti arancione */
.entry-content strong,
.entry-content b,
.service-intro strong,
.service-intro b,
.card__content strong,
.card__content b,
article strong,
article b {
  color: #F47216 !important;
  font-weight: 700;
}

/* Titoli liste arancione */
.entry-content ul > li > strong:first-child,
.entry-content ol > li > strong:first-child,
.service-intro ul > li > strong:first-child,
article ul > li > strong:first-child {
  color: #F47216 !important;
}

/* WordPress Color Presets Override - Arancione */
.has-luminous-vivid-orange-color,
.has-luminous-vivid-orange-background-color,
[class*="wp--preset--color--luminous-vivid-orange"] {
  color: #F47216 !important;
}
.has-luminous-vivid-orange-background-color {
  background-color: #F47216 !important;
}
.has-luminous-vivid-orange-border-color {
  border-color: #F47216 !important;
}

/* Hero padding fixes moved to hero-padding-fix.css for better organization */
