/**
 * FSPL theme - Base: global defaults, theme-proof resets, polish
 * Colours/fonts come from tokens.css. Do not add inline styles in Elementor content; add a class here instead.
 */

/* ========== Global defaults ========== */
html{scroll-behavior:smooth}
.elementor{overflow-x:clip}
.e-con{min-width:0}
.e-con>.elementor-widget,.e-con>.e-con-inner>.elementor-widget{min-width:0;max-width:100%}
.elementor-widget-heading .elementor-heading-title a{color:inherit}
.elementor-widget-heading .elementor-heading-title{text-wrap:balance}
:focus-visible{outline:3px solid var(--fspl-navy);outline-offset:3px}

/* ========== Theme-proof resets ========== */
.elementor .e-con>.elementor-widget,.elementor .e-con-inner>.elementor-widget{margin-block:0}
.elementor .elementor-widget-heading .elementor-heading-title{margin:0;padding:0}
.elementor .elementor-widget-text-editor p,.elementor .elementor-widget-icon-list ul{margin:0}
.elementor .elementor-widget-container{margin:0}
.elementor .e-con.e-parent.fspl-root{margin-top:0;margin-bottom:0}
.fspl-root .elementor-heading-title{margin:0;padding:0}
.fspl-root .elementor-widget-text-editor p{margin:0}
.fspl-root .elementor-widget-container{margin:0}
.fspl-logo-img.fspl-img img{padding:0!important}

/* ========== Polish ========== */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--fspl-navy);color:var(--fspl-white)}
.fspl-root .elementor-widget-text-editor{text-wrap:pretty;overflow-wrap:break-word}
.fspl-root .elementor-heading-title{overflow-wrap:break-word}
.fspl-root img{max-width:100%}
.elementor-button{letter-spacing:.005em}
