/* ── 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"] { padding: 0px 0px 0px 0px !important; }
[data-id="s2"] { background-color: #f9f6f0 !important; padding: 80px 0px 80px 0px !important; }
[data-id="w3"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w4"] .elementor-divider-separator { border-color: #8B6914 !important; }
[data-id="s3"] { background-color: #f9f6f0 !important; padding: 60px 40px 60px 40px !important; }
[data-id="c3_1"] > .elementor-column-wrap, [data-id="c3_1"] > .elementor-widget-wrap { padding: 30px 25px 30px 25px !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w6"] .elementor-icon i { color: #ffffff !important; }
[data-id="w6"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 20px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w6"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="c3_2"] > .elementor-column-wrap, [data-id="c3_2"] > .elementor-widget-wrap { padding: 30px 25px 30px 25px !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w7"] .elementor-icon i { color: #ffffff !important; }
[data-id="w7"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 20px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w7"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="c3_3"] > .elementor-column-wrap, [data-id="c3_3"] > .elementor-widget-wrap { padding: 30px 25px 30px 25px !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w8"] .elementor-icon i { color: #ffffff !important; }
[data-id="w8"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 20px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w8"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="c3_4"] > .elementor-column-wrap, [data-id="c3_4"] > .elementor-widget-wrap { padding: 30px 25px 30px 25px !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w9"] .elementor-icon i { color: #ffffff !important; }
[data-id="w9"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 20px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w9"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="s4"] { background-color: #ffffff !important; padding: 80px 0px 30px 0px !important; }
[data-id="w11"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w12"] .elementor-divider-separator { border-color: #8B6914 !important; }
[data-id="s5"] { background-color: #ffffff !important; padding: 30px 40px 60px 40px !important; }
[data-id="c5_1"] > .elementor-column-wrap, [data-id="c5_1"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w14"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w15"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w17"] .elementor-button { background-color: transparent !important; color: #8B6914 !important; border-radius: 4px 4px 4px 4px !important; padding: 13px 35px 13px 35px !important; font-weight: 500 !important; }
[data-id="c5_2"] > .elementor-column-wrap, [data-id="c5_2"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w18"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w19"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w21"] .elementor-button { background-color: transparent !important; color: #8B6914 !important; border-radius: 4px 4px 4px 4px !important; padding: 13px 35px 13px 35px !important; font-weight: 500 !important; }
[data-id="c5_3"] > .elementor-column-wrap, [data-id="c5_3"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w22"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w23"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w25"] .elementor-button { background-color: transparent !important; color: #8B6914 !important; border-radius: 4px 4px 4px 4px !important; padding: 13px 35px 13px 35px !important; font-weight: 500 !important; }
[data-id="s6"] { background-color: #ffffff !important; padding: 20px 40px 60px 40px !important; }
[data-id="w26"] .elementor-button { background-color: #8B6914 !important; color: #ffffff !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 500 !important; }
[data-id="s7"] { background-color: #f9f6f0 !important; padding: 80px 0px 30px 0px !important; }
[data-id="w28"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="s8"] { background-color: #f9f6f0 !important; padding: 0px 40px 80px 40px !important; }
[data-id="c8_1"] > .elementor-column-wrap, [data-id="c8_1"] > .elementor-widget-wrap { padding: 0px 6px 0px 0px !important; }
[data-id="w29"] img { border-radius: 12px 12px 12px 12px !important; }
[data-id="c8_2"] > .elementor-column-wrap, [data-id="c8_2"] > .elementor-widget-wrap { padding: 0px 0px 0px 6px !important; }
[data-id="w30"] img { border-radius: 12px 12px 12px 12px !important; }
[data-id="w31"] img { border-radius: 12px 12px 12px 12px !important; }
[data-id="w32"] img { border-radius: 12px 12px 12px 12px !important; }
[data-id="s9"] { background-color: #ffffff !important; padding: 80px 0px 30px 0px !important; }
[data-id="w34"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w35"] .elementor-divider-separator { border-color: #8B6914 !important; }
[data-id="s10"] { background-color: #ffffff !important; padding: 30px 40px 80px 40px !important; }
[data-id="c10_1"] > .elementor-column-wrap, [data-id="c10_1"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w37"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w38"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w40"] .elementor-button { background-color: #8B6914 !important; color: #ffffff !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 500 !important; }
[data-id="c10_2"] > .elementor-column-wrap, [data-id="c10_2"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w41"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w42"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w44"] .elementor-button { background-color: #8B6914 !important; color: #ffffff !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 500 !important; }
[data-id="c10_3"] > .elementor-column-wrap, [data-id="c10_3"] > .elementor-widget-wrap { padding: 0px 12px 0px 12px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="w45"] img { border-radius: 12px 12px 0px 0px !important; }
[data-id="w46"] .elementor-heading-title { color: #1a1a2e !important; font-size: 24px !important; font-weight: 500 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w48"] .elementor-button { background-color: #8B6914 !important; color: #ffffff !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 500 !important; }
[data-id="s11"] { background: linear-gradient(135deg, #2C1810, #1a0f0a) !important; padding: 80px 0px 30px 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="w50"] .elementor-heading-title { color: #ffffff !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w51"] .elementor-divider-separator { border-color: #C9A84C !important; }
[data-id="s12"] { background: linear-gradient(135deg, #2C1810, #1a0f0a) !important; padding: 30px 40px 80px 40px !important; }
[data-id="s12"] .elementor-heading-title { color: #fff !important; }
[data-id="s12"] .elementor-counter-number, [data-id="s12"] .elementor-counter-title { color: #fff !important; }
[data-id="s12"] .elementor-widget-text-editor { color: #fff !important; }
[data-id="s12"] .elementor-icon-box-title, [data-id="s12"] .elementor-icon-box-description { color: #fff !important; }
[data-id="s12"] .elementor-testimonial-content, [data-id="s12"] .elementor-testimonial-name { color: #fff !important; }
[data-id="s12"] .elementor-icon-list-text { color: #fff !important; }
[data-id="c12_1"] > .elementor-column-wrap, [data-id="c12_1"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(201,168,76,0.3) !important; border-radius: 12px 12px 12px 12px !important; }
[data-id="w54"] .elementor-heading-title { color: #ffffff !important; font-size: 28px !important; font-weight: 400 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w55"] .elementor-divider-separator { border-color: rgba(201,168,76,0.4) !important; }
[data-id="w57"] .elementor-button { background-color: #8B6914 !important; color: #ffffff !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 500 !important; }
[data-id="c12_2"] > .elementor-column-wrap, [data-id="c12_2"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #C9A84C !important; border-radius: 12px 12px 12px 12px !important; }
[data-id="w59"] .elementor-heading-title { color: #ffffff !important; font-size: 28px !important; font-weight: 400 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w60"] .elementor-divider-separator { border-color: rgba(201,168,76,0.4) !important; }
[data-id="w62"] .elementor-button { background-color: #ffffff !important; color: #2C1810 !important; border-radius: 4px 4px 4px 4px !important; padding: 14px 36px 14px 36px !important; font-weight: 600 !important; }
[data-id="c12_3"] > .elementor-column-wrap, [data-id="c12_3"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid rgba(201,168,76,0.3) !important; border-radius: 12px 12px 12px 12px !important; }
[data-id="w64"] .elementor-heading-title { color: #ffffff !important; font-size: 28px !important; font-weight: 400 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w65"] .elementor-divider-separator { border-color: rgba(201,168,76,0.4) !important; }
[data-id="w67"] .elementor-button { background-color: transparent !important; color: #C9A84C !important; border-radius: 4px 4px 4px 4px !important; padding: 13px 35px 13px 35px !important; font-weight: 500 !important; }
[data-id="s13"] { background-color: #f9f6f0 !important; padding: 80px 0px 30px 0px !important; }
[data-id="w69"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="s14"] { background-color: #f9f6f0 !important; padding: 0px 40px 80px 40px !important; }
[data-id="c14_1"] > .elementor-column-wrap, [data-id="c14_1"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="c14_2"] > .elementor-column-wrap, [data-id="c14_2"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="c14_3"] > .elementor-column-wrap, [data-id="c14_3"] > .elementor-widget-wrap { padding: 40px 30px 40px 30px !important; border: 1px solid #e8e0d0 !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.08) !important; }
[data-id="s15"] { background-color: #ffffff !important; padding: 80px 0px 30px 0px !important; }
[data-id="w80"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="w81"] .elementor-divider-separator { border-color: #8B6914 !important; }
[data-id="w83"] .elementor-icon-list-icon i { color: #8B6914 !important; }
[data-id="w83"] .elementor-icon-list-text { color: #1a1a2e !important; }
[data-id="s16"] { background-color: #f9f6f0 !important; padding: 80px 0px 30px 0px !important; }
[data-id="w86"] .elementor-heading-title { color: #1a1a2e !important; font-size: 52px !important; font-weight: 400 !important; line-height: 1.15em !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="s17"] { background-color: #f9f6f0 !important; padding: 0px 40px 80px 40px !important; }
[data-id="c17_1"] > .elementor-column-wrap, [data-id="c17_1"] > .elementor-widget-wrap { padding: 0px 30px 0px 0px !important; }
[data-id="w87"] .elementor-heading-title { color: #1a1a2e !important; font-size: 32px !important; font-weight: 400 !important; font-family: 'Cormorant Garamond', sans-serif !important; }
[data-id="c17_2"] > .elementor-column-wrap, [data-id="c17_2"] > .elementor-widget-wrap { padding: 0px 0px 0px 20px !important; border-radius: 12px 12px 12px 12px !important; box-shadow: 0px 4px 20px 0px rgba(0,0,0,0.08) !important; }
[data-id="w90"] .elementor-icon i { color: #8B6914 !important; }
[data-id="w90"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 14px !important; font-weight: 600 !important; font-family: 'Jost', sans-serif !important; }
[data-id="w90"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="w91"] .elementor-icon i { color: #8B6914 !important; }
[data-id="w91"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 14px !important; font-weight: 600 !important; font-family: 'Jost', sans-serif !important; }
[data-id="w91"] .elementor-icon-box-description { color: #6c757d !important; }
[data-id="w92"] .elementor-icon i { color: #8B6914 !important; }
[data-id="w92"] .elementor-icon-box-title { color: #1a1a2e !important; font-size: 14px !important; font-weight: 600 !important; font-family: 'Jost', sans-serif !important; }
[data-id="w92"] .elementor-icon-box-description { color: #6c757d !important; }