/**
 * Elementor layout fixes — full-width widgets + CSS variable fallbacks.
 */

/* Gutters / rail vars on body (html.v3-page may not always be present) */
body.webvio-v3-active,
html.v3-page {
  --v3-gutter-x: 1.5rem;
  --v3-rail-width: 0px;
  --v3-header-offset: 0px;
  --v3-header-flow: 0px;
}

@media (min-width: 768px) {
  body.webvio-v3-active,
  html.v3-page {
    --v3-gutter-x: 2.5rem;
  }
}

@media (min-width: 1024px) {
  body.webvio-v3-active,
  html.v3-page {
    --v3-rail-width: 5rem;
  }
}

body.webvio-v3-active {
  font-family: Calibri, Candara, Segoe, system-ui, sans-serif;
  overflow-x: hidden;
  color: #333;
}

/*
 * Teal hero — beat Elementor widget inline colors (higher specificity).
 * Accent strong + brand green stay on their dedicated widget controls.
 */
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero-intro-brand,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero-intro-title,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero h1,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero h2,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero h3,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero h4,
body.is-teal .elementor-widget-webvio_v3_hero .v3-hero-panel-quote {
  color: #fff;
}

body.is-teal .elementor-widget-webvio_v3_hero .v3-hero-panel-quote {
  text-shadow: 0 1px 24px rgba(0, 0, 0, 0.35);
}

/* Full-bleed: break out of Elementor boxed container */
.elementor-widget-webvio_v3_hero,
.elementor-widget-webvio_v3_mission,
.elementor-widget-webvio_v3_cap_intro,
.elementor-widget-webvio_v3_panels_zone,
.elementor-widget-webvio_v3_news {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.elementor-widget-webvio_v3_hero > .elementor-widget-container,
.elementor-widget-webvio_v3_mission > .elementor-widget-container,
.elementor-widget-webvio_v3_cap_intro > .elementor-widget-container,
.elementor-widget-webvio_v3_panels_zone > .elementor-widget-container,
.elementor-widget-webvio_v3_news > .elementor-widget-container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-widget-webvio_v3_hero .v3-hero-intro-title,
.elementor-widget-webvio_v3_mission blockquote,
.elementor-widget-webvio_v3_cap_intro h2,
.elementor-widget-webvio_v3_panels_zone .v3-panel-heading,
.elementor-widget-webvio_v3_news h2 {
  margin-top: 0;
}
