.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#FFA500;--e-global-typography-primary-font-family:"Quicksand";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Quicksand";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Quicksand";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Quicksand";--e-global-typography-accent-font-weight:500;font-family:"Quicksand", Sans-serif;font-size:16px;line-height:24px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#FFA500;font-family:"Quicksand", Sans-serif;font-weight:600;}.elementor-kit-6 h1{font-family:"Quicksand", Sans-serif;}.elementor-kit-6 h2{font-family:"Quicksand", Sans-serif;}.elementor-kit-6 h3{font-family:"Quicksand", Sans-serif;}.elementor-kit-6 h4{font-family:"Quicksand", Sans-serif;}.elementor-kit-6 h5{font-family:"Quicksand", Sans-serif;}.elementor-kit-6 h6{font-family:"Quicksand", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened {
    display: block;
    font-size: 20px;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed {
    display: block;
    font-size: 20px;
}

/* === UCS site-wide layout (Claude, 25 Sep 2026) ==========================
   Consistent side gutters: every top-level section keeps at least 20px of
   space left and right, so content never touches the screen edge between
   breakpoints (e.g. the desktop menu at 1025-1180px). Sections that already
   have more padding keep it. Embedded templates (reviews) are not affected. */
[data-elementor-type="wp-page"] > .e-con.e-parent,
[data-elementor-type="wp-post"] > .e-con.e-parent,
[data-elementor-type="header"] > .e-con.e-parent,
[data-elementor-type="footer"] > .e-con.e-parent,
[data-elementor-type="single-post"] > .e-con.e-parent {
  padding-left: max(20px, var(--padding-left, 0px)) !important;
  padding-right: max(20px, var(--padding-right, 0px)) !important;
}
/* Below the boxed width every section uses the same 20px gutter, so all
   content lines up on tablets, phones and small laptops. */
@media (max-width: 1180px) {
  [data-elementor-type="wp-page"] > .e-con.e-parent, [data-elementor-type="wp-post"] > .e-con.e-parent,
  [data-elementor-type="header"] > .e-con.e-parent, [data-elementor-type="footer"] > .e-con.e-parent,
  [data-elementor-type="single-post"] > .e-con.e-parent { padding-left: 20px !important; padding-right: 20px !important; }
}
/* ...except the header's full-width bars ("Get a Free Quote" and the two phone numbers). */
.elementor-location-header .elementor-element-183d6f8.e-con.e-parent,
.elementor-location-header .elementor-element-515fd089.e-con.e-parent { padding-left: 0 !important; padding-right: 0 !important; }
/* Service/location page hero: the text column had its own 10px side padding,
   putting it out of line with every other section. */
.elementor-element-ac210cc .elementor-element-34db897.e-con { padding-left: 0 !important; padding-right: 0 !important; }
/* Native file inputs don't shrink - keep the photo upload inside the form on phones. */
.elementor-form input[type="file"] { max-width: 100%; }
/* Readable links in body text: the brand orange (#FFA500) is only 2:1 on white.
   #A35700 passes WCAG AA on white (5.4:1) and on the light grey bands (4.5:1).
   Buttons, the menu and the footer keep their own colours. */
[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button),
[data-elementor-type="wp-post"] .elementor-widget-text-editor a:not(.elementor-button),
[data-elementor-type="single-post"] .elementor-widget-text-editor a:not(.elementor-button),
[data-elementor-type="single-post"] .elementor-widget-theme-post-content a:not(.elementor-button),
[data-elementor-type="wp-page"] .elementor-tab-content a,
.elementor-widget-posts a.elementor-post__read-more { color: #A35700 !important; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button):hover,
[data-elementor-type="wp-post"] .elementor-widget-text-editor a:not(.elementor-button):hover,
[data-elementor-type="single-post"] .elementor-widget-text-editor a:not(.elementor-button):hover,
[data-elementor-type="single-post"] .elementor-widget-theme-post-content a:not(.elementor-button):hover,
[data-elementor-type="wp-page"] .elementor-tab-content a:hover { color: #000 !important; }
/* Quote form wrappers (dark cards around the white form card): less padding on phones
   so the form has room. #quote = homepage + reviews page, bab5f20 = service/location heroes,
   a79e56d = blog post sidebar. */
@media (max-width: 767px) {
  #quote.e-con, .elementor-element-bab5f20.e-con, .elementor-element-a79e56d.e-con { padding: 14px !important; }
}
/* The heading directly above the quote form (service heroes, homepage, reviews page, blog
   sidebar) - smaller so the form card leads (Sean, 25 Sep). */
.elementor-widget-heading:has(+ .elementor-global-282) .elementor-heading-title { font-size: 20px !important; line-height: 1.3 !important; letter-spacing: .3px; }
@media (max-width: 767px) {
  .elementor-widget-heading:has(+ .elementor-global-282) .elementor-heading-title { font-size: 18px !important; }
}
/* Maps in page content run full width, edge to edge (Sean, 25 Sep). The footer map is not affected.
   Break out of the section's content width. --ucs-sbw is the scrollbar width, set by the
   "UCS form enhancements" script in the header, so the map lines up exactly with the window. */
html { overflow-x: clip; }
[data-elementor-type="wp-page"] .elementor-widget-google_maps,
[data-elementor-type="wp-page"] .elementor-widget-text-editor:has(iframe[src*="google.com/maps"], iframe[data-src*="google.com/maps"]) {
  width: calc(100vw - var(--ucs-sbw, 0px)) !important; max-width: none !important;
  margin-left: calc(50% - 50vw + var(--ucs-sbw, 0px) / 2) !important;
  margin-right: calc(50% - 50vw + var(--ucs-sbw, 0px) / 2) !important; margin-bottom: 0 !important;
}
[data-elementor-type="wp-page"] .elementor-widget-text-editor iframe[src*="google.com/maps"],
[data-elementor-type="wp-page"] .elementor-widget-text-editor iframe[data-src*="google.com/maps"] { display: block; width: 100% !important; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor:has(iframe[src*="google.com/maps"], iframe[data-src*="google.com/maps"]) p { margin: 0; }
/* no gap under a map at the end of its section; a section that is only a map has no padding at all */
[data-elementor-type="wp-page"] > .e-con.e-parent:has(.elementor-widget-google_maps, iframe[src*="google.com/maps"], iframe[data-src*="google.com/maps"]) { padding-bottom: 0 !important; }
[data-elementor-type="wp-page"] > .e-con.e-parent:has(.elementor-widget-google_maps, iframe[src*="google.com/maps"], iframe[data-src*="google.com/maps"]) > .e-con-inner { padding-bottom: 0 !important; }
[data-elementor-type="wp-page"] > .e-con.e-parent:has(> .elementor-widget-google_maps:only-child),
[data-elementor-type="wp-page"] > .e-con.e-parent:has(> .e-con-inner > .elementor-widget-google_maps:only-child),
[data-elementor-type="wp-page"] > .e-con.e-parent:has(> .elementor-widget-text-editor:only-child iframe),
[data-elementor-type="wp-page"] > .e-con.e-parent > .e-con-inner:has(> .elementor-widget-google_maps:only-child) { padding-top: 0 !important; }
/* === end UCS layout === *//* End custom CSS */