/* V4 reset - slot 1 of the DDC rules layer (30 Sept 2026 layout pass).
   Richard: "our rules for these must always translate even into Elementor builds."
   Elementor V4 gives every atomic container its own defaults (base-desktop.css): 10px padding on div
   blocks, flexboxes, grids and forms, a 30px minimum width, grid rows that stretch to 1fr, a centred empty
   loop state. None of those are ours, and on any container a builder left without a kit class they
   survived: content 10-20px off the rail, stretched rows, doubled gaps.

   This file prints IMMEDIATELY AFTER Elementor's base-desktop.css (a <link> added by the style_loader_tag
   filter in inc/theme-enqueue.php - a file, never inline CSS). It uses Elementor's own weight (0,2,0) and
   comes before every global class and local style, so ONLY Elementor's defaults lose: anything Jet or a
   builder sets on an element still wins, and every kit class (0,2,1) still wins.

   Canary: after an Elementor update, run site/tools/measure/measure.mjs - a non-zero "leak" count means
   Elementor has renamed its base file or handle and this reset is no longer printing. */

/* V3 container default (frontend.min.css .e-con{--padding-*: var(--container-default-padding-*, 10px)}):
   loop layouts, loop items and empty states carry .e-con, so zero Elementor's own hook. */
:root,
body .elementor {
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
}

/* V4 atomic defaults. */
.elementor .e-div-block-base,
.elementor .e-flexbox-base,
.elementor .e-grid-base,
.elementor .e-tab-content-base,
.elementor .e-accordion-item-content-base,
.elementor .e-background-video-base,
.elementor .e-form-base { padding: 0; }
.elementor .e-div-block-base { min-width: 0; }

/* Loops: rows size to their content (base: grid-auto-rows 1fr), an empty state starts on the rail
   (base: justify-content centre). */
.elementor .e-collection-loop-layout-base { grid-auto-rows: auto; }
.elementor .e-collection-loop-empty-state-base { justify-content: flex-start; }
