/* TSFP child theme — makes the original stylesheet (site-wp.css) style
   Elementor containers/widgets exactly like the static HTML. Edit directly. */

/* Containers created from the HTML (class "cwc") behave like plain HTML elements;
   the site's own classes (loaded later, same or higher specificity) win. */
.e-con.cwc{display:block;position:static;width:auto;max-width:none;min-width:auto;height:auto;min-height:0;padding:0;margin:0;gap:normal;text-align:inherit;flex-direction:row;flex-wrap:nowrap;flex:0 1 auto;align-items:normal;justify-content:normal;align-content:normal;align-self:auto;overflow:visible;transition:none;border:0;border-radius:0;background:none;box-shadow:none;}
.e-con.cwc::before,.e-con.cwc::after{all:unset;}

/* Widget wrappers disappear on the live site so the HTML sits where it did originally */
body:not(.elementor-editor-active) .elementor-widget.cwc-w,
body:not(.elementor-editor-active) .elementor-widget.cwc-w > .elementor-widget-container,
body:not(.elementor-editor-active) .cwc-w .elementor-shortcode,
body:not(.elementor-editor-active) .e-con.cwc-wrap{display:contents;}
:where(.e-con) .elementor-widget.cwc-w{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit;text-transform:inherit;text-align:inherit;}
:root .elementor-widget-image.cwc-w img{display:block;vertical-align:baseline;}

/* Empty decorative spans keep a &nbsp; so the editor can't drop them */
:root .tsfp-accordion-icon,:root .tsfp-hero-row-break{font-size:0;line-height:0;}

/* Scroll-reveal must never hide content in the editor */
.elementor-editor-active :is(.tsfp-reveal,.tsfp-reveal-stagger > *){opacity:1!important;transform:none!important;}

/* Sticky header: Elementor wraps the header in its own element */
.elementor-location-header{position:sticky;top:0;z-index:100;}
.admin-bar .elementor-location-header{top:32px;}
@media (max-width:782px){.admin-bar .elementor-location-header{top:46px;}}
@media (max-width:600px){.admin-bar .elementor-location-header{top:0;}}

/* Accessibility helpers (Hello's reset is disabled) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
.screen-reader-text:focus{background-color:#fff;clip:auto!important;clip-path:none;color:var(--tsfp-navy);display:block;font-size:1rem;height:auto;left:5px;padding:12px 20px;top:5px;width:auto;z-index:100000;}

/* ---- Contact form (Elementor Pro Form) styled like the original .tsfp-form ---- */
:root .cwc-form .elementor-form-fields-wrapper{margin-bottom:0!important;}
:root .cwc-form .elementor-field-group.elementor-field-type-submit{margin-bottom:0!important;}
:root .cwc-form .elementor-field-group{margin-bottom:20px;align-items:flex-start;}
:root .cwc-form .elementor-field-group > .elementor-field-label{display:block;width:100%;margin:0 0 7px!important;padding:0!important;font-family:var(--tsfp-font)!important;font-weight:600!important;font-size:.88rem!important;line-height:1.65!important;color:var(--tsfp-navy)!important;}
:root .cwc-form .elementor-field-group .elementor-select-wrapper{width:100%;padding:0!important;border:0!important;background:none!important;}
:root .cwc-form .elementor-field-group :is(input,select,textarea).elementor-field-textual{width:100%;min-height:0!important;padding:12px 14px!important;border:1px solid var(--tsfp-border)!important;border-radius:6px!important;font-family:var(--tsfp-body-font)!important;font-size:.95rem!important;font-weight:400!important;line-height:1.65!important;color:var(--tsfp-navy)!important;background-color:#fff!important;box-shadow:none!important;}
:root .cwc-form .elementor-field-group select.elementor-field-textual{line-height:normal!important;height:48px;}
:root .cwc-form .elementor-field-group textarea.elementor-field{min-height:130px!important;height:130px;resize:vertical;margin-bottom:8px;}
:root .cwc-form .elementor-field-group .elementor-field-textual:focus{outline:2px solid var(--tsfp-blue)!important;outline-offset:1px;}
:root .cwc-form .elementor-select-wrapper .select-caret-down-wrapper{color:var(--tsfp-navy);}
:root .cwc-form .elementor-field-group:not(.elementor-field-type-submit){}
@media (max-width:900px){:root .cwc-form .elementor-field-group{width:100%!important;max-width:100%!important;}}
:root .cwc-form .e-form__buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;margin-top:8px;}
:root .cwc-form .elementor-button[type="submit"]{flex:0 0 auto;width:auto;min-height:0;background-color:var(--tsfp-blue)!important;color:#fff!important;font-family:var(--tsfp-font)!important;font-weight:600!important;font-size:.9rem!important;line-height:1!important;letter-spacing:normal!important;text-transform:none!important;padding:13px 26px!important;border:1.5px solid var(--tsfp-blue)!important;border-radius:4px!important;}
:root .cwc-form .elementor-button[type="submit"]:hover{background-color:var(--tsfp-blue-dark)!important;border-color:var(--tsfp-blue-dark)!important;}
:root .cwc-form .elementor-button[type="submit"] .elementor-button-text{line-height:1;}
:root .cwc-form .elementor-button .elementor-button-icon{display:none;}
:root .cwc-form .elementor-message{margin-top:16px;font-size:.92rem;line-height:1.6;color:var(--tsfp-navy);}
:root .cwc-form .elementor-message.elementor-message-success{color:#1f7a3a;}
:root .cwc-form .elementor-message.elementor-message-danger{color:#b42318;}
:root .cwc-form .elementor-message::before{display:none;}
