/* Block: cta-1 */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.grid7030 {
    display: grid;
    grid-template-columns: 7fr 3fr; 
    gap: 30px;
    align-items: center;
}

.grid7030 > div {
    width: 100%;
}

@media (max-width: 768px) {
    .grid7030 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
/* Block: local-nap */
/* ===== Wrapper (coerente con stile neutro/grigio) ===== */
.info-zona-box{
  background:#f5f5f5;
  border:1px solid #e4e4e4;
  border-radius:16px;
  padding:26px;
  margin:40px 0;
}

/* Head */
.info-zona-head h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.25;
  color:#1f1f1f;
}
.info-zona-sub{
  margin:0 0 22px;
  line-height:1.65;
  color:#444;
}

/* Grid: equal-height columns */
.info-zona-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:26px;
  align-items:stretch; /* IMPORTANT: equal height */
}

/* Cards */
.info-zona-card,
.info-zona-map{
  background:#ffffff;
  border:1px solid #e9e9e9;
  border-radius:18px;
  padding:22px;
  display:flex;
  flex-direction:column;
  height:100%;
  box-shadow:0 12px 30px rgba(0,0,0,0.05);
  transition:transform .25s ease, box-shadow .25s ease;
  margin-bottom: 50px;
}

.info-zona-card:hover,
.info-zona-map:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

/* Info list */
.info-zona-list{
  list-style:none;
  padding:0;
  margin:0 0 18px;
}
.info-zona-list li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #f1f1f1;
  flex-wrap:wrap;
}
.info-zona-list li:last-child{border-bottom:none;}

.label{
  font-weight:700;
  color:#222;
}
.value{
  color:#555;
}

/* Territory block */
.info-zona-territorio{
  background:#fafafa;
  border:1px solid #f0f0f0;
  border-radius:12px;
  padding:14px;
  font-size:14px;
  line-height:1.65;
  margin-bottom:18px;
}
.info-zona-territorio p{
  margin:8px 0;
}
.info-zona-territorio strong{
  color:#222;
}

/* CTA pinned to bottom */
.info-zona-cta{
  margin-top:auto;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
  padding:13px 18px;
  border-radius:50px;
  font-weight:700;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  transition:all .2s ease;
}

.btn-primary{
  background:#3C401C;
  color:#f2cb05;
  border:1px solid #222;
}
.btn-primary:hover{
  opacity:.92;
  transform:translateY(-1px);
}

.btn-secondary{
  background:#3C401C;
  color:#f2cb05;
  border:1px solid #ddd;
}
.btn-secondary:hover{
  background:#f3f3f3;
  transform:translateY(-1px);
}

.info-zona-note{
  margin:14px 0 0;
  font-size:13px;
  line-height:1.55;
  color:#555;
  opacity:.95;
}

.info-zona-search {
	padding-top: 30px;
}

/* Map */
.map-embed{
  flex:1;
}
.map-embed iframe{
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  border-radius:14px;
}

.map-link{
  margin-top:12px;
  font-size:14px;
  opacity:.85;
}
.map-link a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.map-link a:hover{
  opacity:.9;
}

/* FIX WP: prevents empty paragraphs from breaking grid */
.info-zona-grid > p:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Responsive */
@media(max-width:900px){
  .info-zona-box{
    padding:18px;
    border-radius:14px;
  }
  .info-zona-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .btn-primary,
  .btn-secondary{
    width:100%;
  }
  .map-embed iframe{
    min-height:280px;
  }
}
/* Block: link-box */
/* Layout Generale della sezione */
.treatments-navigation-section {
    padding: 25px;
    background-color: #fcfcfc;
    border-bottom: 2px solid #ffcc00;
}

/* Styling della colonna testo */
.nav-content-col h2 {
    color: #333;
    margin-bottom: 20px;
    line-height: 1.2;
}

.nav-content-col p {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
}

/* BOX LINK: Trasformazione elenco in Pills Tecniche */
.link-box-treatments ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column; /* Lista verticale per dare importanza ai singoli trattamenti */
    gap: 15px;
}

.link-box-treatments ul li {
    margin: 0 !important;
}

.link-box-treatments ul li a {
    display: flex;
    justify-content:间;
    align-items: center;
    padding: 18px 25px;
    background: #ffffff;
    color: #222;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid #ddd;
    border-right: 6px solid #ffcc00; /* Richiamo Giallo Vespe.it sulla destra */
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 3px 3px 0px rgba(0,0,0,0.05);
}

/* Effetto Hover "Active" */
.link-box-treatments ul li a:hover {
    background: #333;
    color: #ffcc00;
    border-color: #333;
    padding-left: 35px; /* Effetto slittamento */
    box-shadow: 10px 10px 20px rgba(0,0,0,0.1);
}

/* Aggiunta di un prefisso via CSS */
.link-box-treatments ul li a::before {
    content: "⚙️";
    margin-right: 15px;
    filter: grayscale(1);
}

.link-box-treatments ul li a:hover::before {
    filter: grayscale(0);
}

/* Responsive */
@media (max-width: 991px) {
    .treatments-navigation-section .grid5050 {
        display: block; /* Stack verticale su mobile */
    }
    .nav-content-col {
        margin-bottom: 40px;
    }
}
/* Block: tab-specie */
.table-wrap{
		width:100%;
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
		border:1px solid #e6e6e6;
		border-radius:12px;
		padding:10px;
		background:#fff;
	}
	.species-table{
		width:100%;
		border-collapse:collapse;
		min-width:860px; /* mantiene leggibilità, su mobile scorre */
	}
	.species-table caption{
		text-align:left;
		padding:8px 6px 12px;
		color:#333;
		font-size:14px;
	}
	.species-table th,
	.species-table td{
		border-bottom:1px solid #eee;
		padding:12px 10px;
		vertical-align:top;
		text-align:left;
		font-size:14px;
		color:#222;
		line-height:1.35;
	}
	.species-table thead th{
		position:sticky;
		top:0;
		background:#fafafa;
		z-index:1;
	}
	.species-table tbody tr:hover td{
		background:#fcfcfc;
	}

	@media (max-width: 600px){
		.species-table{
			min-width:760px;
		}
		.species-table th,
		.species-table td{
			font-size:13px;
			padding:10px 8px;
		}
	}
/* Block: costi */
h2#prezzi-rimozione-nidi-vespe {
	margin: 50px 0 20px 0;
}

h3#variabili-prezzo-intervento-vespe {
	font-weight: 400;
}

.table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border:1px solid #e6e6e6;
    border-radius:12px;
    padding:10px;
    background:#fff;
    margin: 16px 0;
  }
  .costs-table{
    width:100%;
    border-collapse:collapse;
    min-width: 1100px; /* tabella ampia: su mobile scorre */
  }
  .costs-table caption{
    text-align:left;
    padding:8px 6px 12px;
    color:#333;
    font-size:14px;
  }
  .costs-table th,
  .costs-table td{
    border-bottom:1px solid #eee;
    padding:12px 10px;
    vertical-align:top;
    text-align:left;
    font-size:14px;
    color:#222;
    line-height:1.35;
  }
  .costs-table thead th{
    position:sticky;
    top:0;
    background:#fafafa;
    z-index:1;
  }
  .costs-table tbody tr:hover td{
    background:#fcfcfc;
  }

  @media (max-width: 600px){	  
	 h2#prezzi-rimozione-nidi-vespe {
	margin: 20px 0 20px 0;
	} 
    .costs-table{
      min-width: 980px;
    }
    .costs-table th,
    .costs-table td{
      font-size:13px;
      padding:10px 8px;
    }
  }
/* Block: testimonials */
/* ==========================================================================
   STRUTTURA CONTENITORE GENERALE (Invariata)
   ========================================================================== */
.testimonials {
  border-radius: 12px;
  margin: 40px 0;
}

.testimonials h3 {
  font-size: 22px;
  color: #1f1f1f;
  margin-bottom: 10px;
  font-weight: 700;
}

.testimonials-sub {
  margin-bottom: 25px;
  color: #444;
  line-height: 1.6;
  font-size: 0.95rem;
}

span.testimonial-meta {
  display: flex;
}

/* ==========================================================================
   CORREZIONE: GRID CONFIGURATA PER LAYOUT SIMMETRICO 3+2
   (Sostituisce .testimonials-grid con .testimonials-container)
   ========================================================================== */
.testimonials-container {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* Griglia logica a 6 colonne */
  gap: 24px; /* Gestisce lo spazio, elimina margin-bottom dalle card */
  align-items: stretch; /* Obbliga le card ad avere la stessa altezza */
  max-width: 1200px;
  margin: 0 auto;
}

/* Gestione delle Card su Desktop (3 nella prima riga, 2 nella seconda) */
.testimonials-container .testimonial-card:nth-child(1),
.testimonials-container .testimonial-card:nth-child(2),
.testimonials-container .testimonial-card:nth-child(3) {
  grid-column: span 2; /* 6 colonne totali / 3 card = occupa 2 colonne ciascuna */
}

.testimonials-container .testimonial-card:nth-child(4),
.testimonials-container .testimonial-card:nth-child(5) {
  grid-column: span 3; /* 6 colonne totali / 2 card = occupa 3 colonne ciascuna */
}

/* ==========================================================================
   STILE CARD (Adattato)
   ========================================================================== */
.testimonial-card {
  background: #ffffff;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);

  display: flex;
  flex-direction: column; /* Necessario per allineare gli elementi interni */
  height: 100%;
  width: 100%;
  box-sizing: border-box; /* Previene problemi di larghezza con il padding */
}

/* Header e Elementi Superiori (Coordinati con image_2f3cf9.png) */
.testimonial-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.testimonial-rating {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rating-stars {
  font-size: 1.1rem;
  color: #ffcc00; /* Giallo stelle */
  letter-spacing: 1px;
}

.rating-score {
  font-size: 0.9rem;
  font-weight: 700;
  color: #333;
}

.testimonial-badge {
  background-color: #eee;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.7rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

.testimonial-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  border-bottom: 1px dashed #f0f0f0;
  padding-bottom: 8px;
  align-items: baseline;
}

.testimonial-author {
  font-weight: 700;
  color: #333;
  font-size: 1.05rem;
}

.testimonial-date {
  font-size: 0.8rem;
  color: #777;
}

/* Corpo della Recensione (Punto chiave per allineamento) */
.testimonial-content {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1; /* Obbliga il testo a espandersi, spingendo il footer in basso */
}

.testimonial-content strong {
  color: #222;
}

/* Footer (Invariato) */
.testimonial-footer {
  margin-top: 20px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  font-size: 13px;
  color: #666;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.testimonial-footer b {
  color: #333;
}

/* CTA Finale (Invariata) */
.cta-testimonials {
  margin-top: 30px;
  text-align: center;
}

.cta-testimonials .btn-primary {
  padding: 14px 20px;
  background: #222;
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s;
}

.cta-testimonials .btn-primary:hover {
  background: #444;
}

/* ==========================================================================
   RESPONSIVE (Ottimizzato)
   ========================================================================== */
@media(max-width: 991px) {
  .testimonials-container {
    grid-template-columns: repeat(2, 1fr); /* Griglia a 2 colonne fluide */
    gap: 20px;
  }
  
  /* Reset logica desktop */
  .testimonials-container .testimonial-card:nth-child(1),
  .testimonials-container .testimonial-card:nth-child(2),
  .testimonials-container .testimonial-card:nth-child(3),
  .testimonials-container .testimonial-card:nth-child(4),
  .testimonials-container .testimonial-card:nth-child(5) {
    grid-column: span 1;
  }
  
  /* La quinta card si allarga al 100% per simmetria */
  .testimonials-container .testimonial-card:nth-child(5) {
    grid-column: span 2;
  }
}

@media(max-width: 600px) {
  .testimonials-container {
    grid-template-columns: 1fr; /* Colonna singola su mobile */
    gap: 16px;
  }
  
  .testimonials-container .testimonial-card:nth-child(5) {
    grid-column: span 1;
  }
  
  .testimonial-card {
    padding: 18px;
  }
  
  .testimonial-header {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }
}
/* Block: certificazioni */
/* ===== Sezione Certificazioni Originali (compatta, 3 in linea) ===== */
.certifications-original{
  background:#f5f5f5;
  padding:22px;
  border-radius: 16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
  margin:40px 0;
}

.certifications-original h3{
  font-size:24px;
  color:#1f1f1f;
  margin-bottom:12px;
  font-weight:600;
}

.certifications-original p{
  font-size:15px;
  color:#444;
  line-height:1.65;
  margin-bottom:18px;
}

/* GRID: sempre 3 card per riga su desktop */
.certifications-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

/* CARD: più compatta e uniforme */
.certification-card{
  background:#ffffff;
  border:1px solid #e6e6e6;
  border-radius:12px;
  padding:14px;
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
  transition:box-shadow 0.25s ease, transform 0.25s ease;

  display:flex;
  flex-direction:column;
  height:100%;
  width:100%;
}

.certification-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
  transform:translateY(-1px);
}

/* Header */
.certification-header{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:10px;
  border-bottom:1px solid #f0f0f0;
  padding-bottom:10px;
}

.certification-title{
  font-size:18px;
  font-weight:800;
  color:#222;
  line-height:1.2;
}

/* Descrizione più compatta */
.certification-description{
  font-size:13px;
  font-weight:600;
  color:#777;
  line-height:1.35;

  /* opzionale: taglia su 2 righe se troppo lunga */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* Testo */
.certification-card p{
  font-size:14px;
  color:#555;
  line-height:1.6;
  margin:10px 0 0;
  flex:1;
}

.certification-note{
  font-size:14px;
  color:#333;
  margin-top:14px;
}

.text-toggle .toggle-item {
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.text-toggle .toggle-question {
  position: relative;
  display: block;
  cursor: pointer;
  padding: 18px 54px 18px 20px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  color: #222;
  list-style: none;
}

.text-toggle .toggle-question::-webkit-details-marker {
  display: none;
}

.text-toggle .toggle-question::marker {
  content: "";
}

.text-toggle .toggle-question::after {
  content: "+";
  position: absolute;
  right: 20px;
  top: 18px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f3f3f3;
  color: #222;
  font-size: 22px;
  line-height: 28px;
  text-align: center;
}

.text-toggle .toggle-item[open] .toggle-question::after {
  content: "–";
  background: #222;
  color: #fff;
}

.text-toggle .toggle-question-title {
  display: block;
}

.text-toggle .toggle-answer {
  padding: 0 20px 22px;
  font-size: 16px;
  line-height: 1.65;
  color: #444;
}

.text-toggle .toggle-answer p {
  margin: 0;
}

/* Box in Risalto: Stile Coordinato vespe.it */
.regulatory-disclaimer-box {
  background-color: #fcfdfa; /* Sfondo chiarissimo crema/grigio perla */
  border: 1px solid #e1e2dc; /* Bordo sottile istituzionale */
  border-left: 5px solid #f1cc00; /* Leva visiva sul Giallo Oro del brand */
  border-radius: 8px;
  padding: 24px;
  margin: 30px 0;
  box-shadow: 0 4px 15px rgba(33, 38, 17, 0.05);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.disclaimer-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  color: #212611; /* Verdone scuro del brand */
}

.disclaimer-icon {
  color: #f1cc00; /* Icona in Giallo Oro */
  flex-shrink: 0;
}

.disclaimer-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.disclaimer-content p {
  margin: 0 0 12px 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333333;
}

.disclaimer-content p:last-child {
  margin-bottom: 0;
}

.disclaimer-content strong {
  color: #212611;
}

/* Evidenziazione blocco sanzioni/fai-da-te */
.warning-highlight {
  background-color: rgba(241, 204, 0, 0.08); /* Fondo leggerissimo giallo della Cta */
  padding: 12px 16px;
  border-radius: 6px;
  border: 1px dashed rgba(241, 204, 0, 0.4);
  margin-top: 16px !important;
}

.warning-highlight strong {
  color: #c9302c !important; /* Testo "Attenzione" in rosso emergenza */
}

@media (max-width: 767px) {
  .regulatory-disclaimer-box {
    padding: 16px;
    margin: 20px 0;
  }
  .disclaimer-header h3 {
    font-size: 1.05rem;
  }
  .disclaimer-content p {
    font-size: 0.9rem;
  }
}

/* Responsive */
@media(max-width:900px){
  .certifications-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:520px){
  .certifications-list{
    grid-template-columns:1fr;
  }
}
/* Block: faq */
/* Contenitore FAQ: 3 colonne desktop, 1 colonna mobile */
.faq-section {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.faq-section h2 {
  margin-bottom: 28px;
}

/* Griglia FAQ */
.faq-section {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* Il titolo occupa tutta la larghezza */
.faq-section > h2 {
  grid-column: 1 / -1;
}

/* Singola FAQ */
.faq-item {
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.faq-item:hover {
  border-color: #d2d2d2;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* Domanda visibile a toggle chiuso */
.faq-question {
  position: relative;
  display: block;
  cursor: pointer;
  padding: 18px 52px 18px 18px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: #222;
  list-style: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::marker {
  content: "";
}

.faq-question-title {
  display: block;
}

/* Icona + / - */
.faq-question::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f3f3f3;
  color: #222;
  font-size: 21px;
  font-weight: 400;
  line-height: 26px;
  text-align: center;
}

.faq-item[open] .faq-question::after {
  content: "–";
  background: #222;
  color: #fff;
}

/* Risposta */
.faq-answer {
  padding: 20px;
  color: #444;
  font-size: 15px;
  line-height: 1.65;
}

.faq-answer p {
  margin-top: 0;
}

/* Blocco keyword interno */
.faq-keywords {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f7f7f7;
  font-size: 14px;
  line-height: 1.55;
  color: #555;
}

.faq-keywords summary {
  cursor: pointer;
  font-weight: 700;
  color: #222;
}

.faq-keyword-table {
  width: 100%;
  margin-top: 10px;
  border-collapse: collapse;
  font-size: 13px;
}

.faq-keyword-table td,
.faq-keyword-table th {
  border: 1px solid #e2e2e2;
  padding: 8px;
  vertical-align: top;
}

/* Tablet: 2 colonne */
@media (max-width: 1024px) {
  .faq-section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile: 1 colonna */
@media (max-width: 767px) {
  .faq-section {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .faq-question {
    padding: 17px 50px 17px 16px;
    font-size: 16px;
  }

  .faq-answer {
    padding: 0 16px 18px;
    font-size: 15px;
  }
}
/* Block: final-cta */
/* ==========================================================================
   RESET & STRUTTURA BASE
   ========================================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

section.final-cta-section {
    background: #f8f8f8;
    padding: 40px 25px;
    border-radius: 12px;
	margin-bottom: 50px;
}

/* ==========================================================================
   GRID ASIMMETRICA 70 / 30
   ========================================================================== */
.grid7030 {
    display: grid;
    grid-template-columns: 7fr 3fr;
    gap: 30px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.grid7030 > div {
    width: 100%;
}

/* ==========================================================================
   ELEMENTI TESTUALI E PULSANTI
   ========================================================================== */
.cta-text-column h2 {
    font-size: 24px;
    color: #3C401C; /* Colore scuro del brand */
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.cta-text-column p {
    font-size: 15px;
    color: #555555;
    line-height: 1.6;
}

.cta-actions-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.btn-primary,
.btn-secondary{
  padding:13px 18px;
  border-radius:50px;
  font-weight:700;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  transition:all .2s ease;
}

.btn-primary{
  background:#3C401C;
  color:#f2cb05;
  border:1px solid #222;
}
.btn-primary:hover{
  opacity:.92;
  transform:translateY(-1px);
}

.btn-secondary{
  background:#3C401C;
  color:#f2cb05;
  border:1px solid #ddd;
}
.btn-secondary:hover{
  background:#f3f3f3;
  transform:translateY(-1px);
}

.btn-secondary-link {
    font-size: 13px;
    color: #555555;
    text-decoration: underline;
    transition: color 0.2s;
}

.btn-secondary-link:hover {
    color: #3C401C;
}

/* ==========================================================================
   INTEGRAZIONE GALLERY FINALE
   ========================================================================== */
.cta-gallery-wrapper {
    grid-column: span 2; /* Forza la galleria a prendersi entrambe le colonne su desktop */
    margin-top: 20px;
    border-top: 1px solid #e0e0e0;
    padding-top: 30px;
}

/* Fallback/Struttura per rendere responsive lo shortcode della gallery interna */
.cta-gallery-wrapper .gallery, 
.cta-gallery-wrapper .apg-gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 16px !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN (Tablet e Mobile)
   ========================================================================== */
@media (max-width: 768px) {
    section.final-cta-section {
        padding: 30px 16px;
    }

    .grid7030 {
        grid-template-columns: 1fr; /* Colonna singola */
        gap: 24px;
    }

    .cta-text-column {
        text-align: center;
    }

    .cta-text-column h2 {
        font-size: 20px;
    }

    .cta-gallery-wrapper {
        grid-column: span 1; /* Reset della griglia su mobile */
        margin-top: 10px;
        padding-top: 20px;
    }
}
