/* ==========================================================================
   Pelvic Vitaal — theme glue for Elementor
   The design itself lives in pv-site.css (unchanged from the static site).
   This file only makes Elementor's wrapper <div>s around the Pelvic Vitaal
   widgets invisible, so the sections sit edge to edge exactly as before.
   ========================================================================== */

/* Containers around Pelvic Vitaal widgets: no padding, gap or max width. */
.e-con.pv-wrap,
.e-con:has(> .elementor-widget[class*="elementor-widget-pv-"]):not(:has(> .elementor-element:not([class*="elementor-widget-pv-"]))),
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-pv-"]):not(:has(> .e-con-inner > .elementor-element:not([class*="elementor-widget-pv-"]))) {
  --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
  --margin-top: 0px; --margin-bottom: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --width: 100%; --min-height: 0px; --content-width: 100%;
  --container-max-width: 100%;
  max-width: none;
  padding: 0;
}
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-pv-"]) > .e-con-inner { max-width: none; padding: 0; }
.elementor-widget[class*="elementor-widget-pv-"] { width: 100%; max-width: 100%; margin: 0; }

/* Header template: let the sticky header stick to the whole page. */
.pv-slot--header,
.pv-slot--header > .elementor,
.pv-slot--header .e-con:has(> .elementor-widget-pv-header),
.pv-slot--header .elementor-widget-pv-header,
.pv-slot--header .elementor-widget-pv-header > .elementor-widget-container { display: contents; }

/* Logged in: keep the sticky header below the WordPress toolbar. */
.admin-bar .hdr { top: 32px; }
@media (max-width: 782px) { .admin-bar .hdr { top: 46px; } }
@media (max-width: 600px) { .admin-bar .hdr { top: 0; } }

/* Steps widget with a different number of steps than the original five. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .journey__scroll[style*="--pv-steps"] { height: calc(var(--pv-steps) * 92vh); }
}

/* Pages written in the normal WordPress editor. */
.pv-prose h2 { font-size: 1.6rem; margin-top: 1.6em; }
.pv-prose h3 { font-size: 1.2rem; margin-top: 1.4em; }
.pv-prose ul { list-style: disc; padding-left: 1.3em; margin: 0 0 1em; color: var(--muted); }
.pv-prose ol { padding-left: 1.3em; margin: 0 0 1em; color: var(--muted); }
.pv-prose a { color: var(--teal-deep); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.pv-prose img { height: auto; border-radius: var(--r-md); margin: 1.2em 0; }

/* Fix: the counting numbers in the stats band ("20.000+", "100%") were caught
   by the ".stat span" label style and rendered tiny and grey next to a big
   "+" / "%". Show them at the size the design intends. */
.stat strong span[data-count] { font: inherit; color: inherit; letter-spacing: inherit; }
