/* C2E framework base — loaded on the frontend only (never in wp-admin). */
@media (min-width: 1025px) { .c2e-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .c2e-hide-tablet { display: none !important; } }
@media (max-width: 767px) { .c2e-hide-mobile { display: none !important; } }
/* Section hosts: a full-width Elementor container that only carries one section widget — no spacing of its own. */
.e-con.c2e-host { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --container-max-width: none; --content-width: 100%; }
.e-con.c2e-host > .elementor-widget { width: 100%; max-width: 100%; }
/* Elementor positions its wrappers (position: relative). That puts the whole section into a later paint phase and
   changes text / icon anti-aliasing against the source (same geometry, different pixels). On the live site the host
   wrappers are static like the source's plain divs; the editor keeps Elementor's positioning for its handles. */
body:not(.elementor-editor-active) .e-con.c2e-host, body:not(.elementor-editor-active) .e-con.c2e-host > .elementor-widget { position: static; }
