/* ── Override Elementor / WordPress reset ── */
.elementor-widget-container { padding: 0 !important; }
.elementor-section { margin: 0 !important; }
.elementor-widget-html img { height: revert !important; max-width: revert !important; }
.elementor-widget-html p { margin: 0 !important; }
.elementor-widget-html a { color: inherit; }
.wp-block-group, .entry-content { padding: 0 !important; }
.elementor-section.elementor-section-boxed { background: transparent; }
/* Ensure full-width sections stretch properly */
.elementor-section.elementor-section-full_width { width: 100vw; margin-left: calc(-50vw + 50%); }
/* Fix column wrapping — Elementor rows with columns totaling >100% must wrap */
.elementor-row, .elementor-container { flex-wrap: wrap !important; margin: 0 !important; }
.elementor-row > .elementor-column, .elementor-container > .elementor-column {
  flex-shrink: 0 !important;
}
/* Ensure images are responsive */
.elementor-widget-image img { max-width: 100%; height: auto; }
/* Gallery/image grid: enforce equal heights when images are in multi-column sections */
.elementor-section .elementor-row .elementor-column .elementor-widget-image img,
.elementor-section .elementor-container .elementor-column .elementor-widget-image img {
  width: 100%; object-fit: cover;
}
/* Fix icon-box alignment */
.elementor-icon-box-wrapper { text-align: inherit; }
/* Counter widget number sizing */
.elementor-counter .elementor-counter-number-wrapper { display: block; }
/* Testimonial widget spacing */
.elementor-testimonial-wrapper { padding: 0; }
/* Accordion/tabs borders */
.elementor-accordion .elementor-accordion-item { border-color: #e5e7eb; }
.elementor-tab-title { cursor: pointer; }

/* ── Sezioni custom ThemeLab (.tl-custom-grid, vedi render_custom_section
   in themelab_builder_php.rb): il numero di colonne desktop è fissato via
   style inline (dipende dai dati salvati), che un @media query non può
   sormontare senza !important — da qui questo file invece che il markup
   stesso. Senza questo, una sezione a card (es. team/servizi) creata o
   modificata con l'assistente AI resta N colonne fisse anche su mobile. */
@media (max-width: 900px) {
  .tl-custom-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .tl-custom-grid { grid-template-columns: 1fr !important; }
}


/* ── Override sezioni Elementor via data-id (no cache required) ── */
.elementor-section { margin: 0 !important; }
.elementor-section-boxed > .elementor-container { max-width: none !important; }
.elementor-widget-container { padding: 0 !important; }
[data-id="elz-direct"] { padding: 0px 0px 0px 0px !important; }