/* etook.co on WordPress: neutralise Elementor container defaults so each section renders exactly
   as on the static build (sections bring their own spacing and widths). */
.etk-site .site-main, .etk-site #content { max-inline-size: none; margin: 0; padding: 0; }
.etk-sec.e-con, .etk-sec.e-con > .e-con-inner { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --container-max-width: none; padding: 0; max-inline-size: none; }
.etk-sec > .elementor-widget, .etk-sec > .e-con-inner > .elementor-widget { inline-size: 100%; max-inline-size: 100%; margin: 0; }
.etk-sec .elementor-widget-container { margin: 0; padding: 0; }
.etk-sec.sec--form > .elementor-widget-shortcode { inline-size: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }
.etk-site .elementor-widget-html > .elementor-widget-container > section { margin: 0; }
/* Elementor flex items default to min-width:auto, so a wide child (the swipeable step strip) widened
   the whole page on phones. Let every level shrink to the viewport, as the static build does. */
.etk-sec.e-con, .etk-sec > .e-con-inner, .etk-sec > .elementor-widget, .etk-sec .elementor-widget-container { min-inline-size: 0; }
html:has(body.etk-site), body.etk-site { overflow-x: clip; }
/* Theme link styles must not underline our buttons and nav. */
.etk-site a.btn, .etk-site a.btn:hover, .etk-site .menu a, .etk-site .logo, .etk-site .lang, .etk-site .ftr a, .etk-site a.link { text-decoration: none; }
.etk-site a.link:hover { text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 2px; }
