/* ── 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="s1"] { background-color: #1a2438 !important; padding: 10px 0px 10px 0px !important; }
[data-id="s1"] .elementor-heading-title { color: #fff !important; }
[data-id="s1"] .elementor-counter-number, [data-id="s1"] .elementor-counter-title { color: #fff !important; }
[data-id="s1"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s1"] .elementor-icon-box-title, [data-id="s1"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s1"] .elementor-testimonial-content, [data-id="s1"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s1"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c1_1"] > .elementor-column-wrap, [data-id="c1_1"] > .elementor-widget-wrap { padding: 0px 15px 0px 15px !important; }
[data-id="w1"] .elementor-widget-container { color: #d6d3cd !important; font-size: 13px !important; letter-spacing: 1px !important; font-family: 'Jost', sans-serif !important; }
[data-id="c1_2"] > .elementor-column-wrap, [data-id="c1_2"] > .elementor-widget-wrap { padding: 0px 15px 0px 15px !important; }
[data-id="w2"] .elementor-widget-container { font-size: 13px !important; font-family: 'Jost', sans-serif !important; }
[data-id="s2"] { background-image: linear-gradient(rgba(26,36,56,0.88), rgba(26,36,56,0.88)), url('https://images.unsplash.com/photo-1541872703-74c5e44368f9?auto=format&fit=crop&w=1920&q=80') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; padding: 0px 0px 0px 0px !important; }
[data-id="s2"] .elementor-heading-title { color: #fff !important; }
[data-id="s2"] .elementor-counter-number, [data-id="s2"] .elementor-counter-title { color: #fff !important; }
[data-id="s2"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s2"] .elementor-icon-box-title, [data-id="s2"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s2"] .elementor-testimonial-content, [data-id="s2"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s2"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c2_1"] > .elementor-column-wrap, [data-id="c2_1"] > .elementor-widget-wrap { padding: 130px 60px 130px 60px !important; }
[data-id="w3"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 3px !important; font-family: 'Jost', sans-serif !important; }
[data-id="w4"] .elementor-heading-title { color: #ffffff !important; font-size: 64px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w5"] .elementor-widget-container { color: #d6d3cd !important; font-size: 18px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="w6"] .elementor-button { background-color: #a68a4e !important; color: #ffffff !important; border-radius: 0px 0px 0px 0px !important; padding: 16px 36px 16px 36px !important; font-weight: 500 !important; font-family: 'Jost', sans-serif !important; }
[data-id="w7"] .elementor-button { background-color: rgba(0,0,0,0) !important; color: #ffffff !important; border-radius: 0px 0px 0px 0px !important; padding: 16px 36px 16px 36px !important; font-weight: 500 !important; font-family: 'Jost', sans-serif !important; }
[data-id="s3"] { background-color: #f7f5f1 !important; padding: 100px 0px 100px 0px !important; }
[data-id="c3_1"] > .elementor-column-wrap, [data-id="c3_1"] > .elementor-widget-wrap { padding: 0px 50px 0px 40px !important; }
[data-id="w8"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 3px !important; font-family: 'Jost', sans-serif !important; }
[data-id="w9"] .elementor-heading-title { color: #1a2438 !important; font-size: 48px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w10"] .elementor-divider-separator { border-color: #a68a4e !important; }
[data-id="w11"] .elementor-widget-container { color: #1c1f26 !important; font-size: 16px !important; line-height: 1.8em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c3_2"] > .elementor-column-wrap, [data-id="c3_2"] > .elementor-widget-wrap { padding: 0px 40px 0px 0px !important; }
[data-id="w12"] img { border-radius: 0px 0px 0px 0px !important; }
[data-id="s4"] { background-color: #1a2438 !important; padding: 96px 0px 96px 0px !important; }
[data-id="s4"] .elementor-heading-title { color: #fff !important; }
[data-id="s4"] .elementor-counter-number, [data-id="s4"] .elementor-counter-title { color: #fff !important; }
[data-id="s4"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s4"] .elementor-icon-box-title, [data-id="s4"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s4"] .elementor-testimonial-content, [data-id="s4"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s4"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c4_1"] > .elementor-column-wrap, [data-id="c4_1"] > .elementor-widget-wrap { padding: 0px 40px 0px 40px !important; }
[data-id="w13"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 3px !important; font-family: 'Jost', sans-serif !important; }
[data-id="w14"] .elementor-heading-title { color: #ffffff !important; font-size: 48px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w15"] .elementor-divider-separator { border-color: #a68a4e !important; }
[data-id="s5"] { background-color: #1a2438 !important; padding: 96px 0px 96px 0px !important; }
[data-id="s5"] .elementor-heading-title { color: #fff !important; }
[data-id="s5"] .elementor-counter-number, [data-id="s5"] .elementor-counter-title { color: #fff !important; }
[data-id="s5"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s5"] .elementor-icon-box-title, [data-id="s5"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s5"] .elementor-testimonial-content, [data-id="s5"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s5"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c5_1"] > .elementor-column-wrap, [data-id="c5_1"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w16"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w16"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w16"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="c5_2"] > .elementor-column-wrap, [data-id="c5_2"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w17"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w17"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w17"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="c5_3"] > .elementor-column-wrap, [data-id="c5_3"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w18"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w18"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w18"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="s6"] { background-color: #1a2438 !important; padding: 96px 0px 96px 0px !important; }
[data-id="s6"] .elementor-heading-title { color: #fff !important; }
[data-id="s6"] .elementor-counter-number, [data-id="s6"] .elementor-counter-title { color: #fff !important; }
[data-id="s6"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s6"] .elementor-icon-box-title, [data-id="s6"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s6"] .elementor-testimonial-content, [data-id="s6"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s6"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c6_1"] > .elementor-column-wrap, [data-id="c6_1"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w19"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w19"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w19"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="c6_2"] > .elementor-column-wrap, [data-id="c6_2"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w20"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w20"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w20"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="c6_3"] > .elementor-column-wrap, [data-id="c6_3"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(166,138,78,0.3) !important; }
[data-id="w21"] .elementor-icon i { color: #a68a4e !important; }
[data-id="w21"] .elementor-icon-box-title { color: #ffffff !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w21"] .elementor-icon-box-description { color: #d6d3cd !important; }
[data-id="s7"] { background-color: #f7f5f1 !important; padding: 96px 0px 96px 0px !important; }
[data-id="c7_1"] > .elementor-column-wrap, [data-id="c7_1"] > .elementor-widget-wrap { padding: 0px 40px 0px 40px !important; }
[data-id="w22"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 3px !important; font-family: 'Jost', sans-serif !important; }
[data-id="w23"] .elementor-heading-title { color: #1a2438 !important; font-size: 48px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w24"] .elementor-divider-separator { border-color: #a68a4e !important; }
[data-id="s8"] { background-color: #f7f5f1 !important; padding: 96px 0px 96px 0px !important; }
[data-id="c8_1"] > .elementor-column-wrap, [data-id="c8_1"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e4dd !important; box-shadow: 0px 4px 20px 0px rgba(26,36,56,0.07) !important; }
[data-id="w26"] .elementor-heading-title { color: #1a2438 !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w27"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c8_2"] > .elementor-column-wrap, [data-id="c8_2"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e4dd !important; box-shadow: 0px 4px 20px 0px rgba(26,36,56,0.07) !important; }
[data-id="w29"] .elementor-heading-title { color: #1a2438 !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w30"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c8_3"] > .elementor-column-wrap, [data-id="c8_3"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e4dd !important; box-shadow: 0px 4px 20px 0px rgba(26,36,56,0.07) !important; }
[data-id="w32"] .elementor-heading-title { color: #1a2438 !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w33"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c8_4"] > .elementor-column-wrap, [data-id="c8_4"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e4dd !important; box-shadow: 0px 4px 20px 0px rgba(26,36,56,0.07) !important; }
[data-id="w35"] .elementor-heading-title { color: #1a2438 !important; font-size: 22px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w36"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="s9"] { background-color: #f7f5f1 !important; padding: 64px 0px 64px 0px !important; }
[data-id="c9_1"] > .elementor-column-wrap, [data-id="c9_1"] > .elementor-widget-wrap { padding: 0px 40px 0px 40px !important; }
[data-id="w37"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 3px !important; font-family: 'Jost', sans-serif !important; }
[data-id="w38"] .elementor-heading-title { color: #1a2438 !important; font-size: 48px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w39"] .elementor-divider-separator { border-color: #a68a4e !important; }
[data-id="s10"] { background-color: #f7f5f1 !important; padding: 0px 0px 100px 0px !important; }
[data-id="c10_1"] > .elementor-column-wrap, [data-id="c10_1"] > .elementor-widget-wrap { padding: 0px 20px 0px 20px !important; }
[data-id="w40"] img { border-radius: 0px 0px 0px 0px !important; }
[data-id="w41"] .elementor-heading-title { color: #1a2438 !important; font-size: 26px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w43"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c10_2"] > .elementor-column-wrap, [data-id="c10_2"] > .elementor-widget-wrap { padding: 0px 20px 0px 20px !important; }
[data-id="w44"] img { border-radius: 0px 0px 0px 0px !important; }
[data-id="w45"] .elementor-heading-title { color: #1a2438 !important; font-size: 26px !important; font-weight: 600 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w47"] .elementor-widget-container { color: #6b7280 !important; font-size: 15px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="c10_3"] > .elementor-column-wrap, [data-id="c10_3"] > .elementor-widget-wrap { padding: 0px 20px 0px 20px !important; }
[data-id="s11"] { background-color: #1a2438 !important; padding: 100px 0px 100px 0px !important; }
[data-id="s11"] .elementor-heading-title { color: #fff !important; }
[data-id="s11"] .elementor-counter-number, [data-id="s11"] .elementor-counter-title { color: #fff !important; }
[data-id="s11"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s11"] .elementor-icon-box-title, [data-id="s11"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s11"] .elementor-testimonial-content, [data-id="s11"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s11"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c11_1"] > .elementor-column-wrap, [data-id="c11_1"] > .elementor-widget-wrap { padding: 0px 60px 0px 40px !important; }
[data-id="w49"] .elementor-widget-container { color: #a68a4e !important; font-size: 12px !important; font-weight: 500 !important; font-family: 'Jost', sans-serif !important; }
[data-id="w50"] .elementor-heading-title { color: #ffffff !important; font-size: 48px !important; font-weight: 600 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w51"] .elementor-divider-separator { border-color: #a68a4e !important; }
[data-id="w52"] .elementor-widget-container { color: #d6d3cd !important; font-size: 16px !important; line-height: 1.7em !important; font-family: 'Jost', sans-serif !important; }
[data-id="w53"] .elementor-icon-list-icon i { color: #a68a4e !important; }
[data-id="w53"] .elementor-icon-list-text { color: #d6d3cd !important; }
[data-id="c11_2"] > .elementor-column-wrap, [data-id="c11_2"] > .elementor-widget-wrap { padding: 0px 40px 0px 40px !important; }