/* Salt Lake City Masonry - global styles. Page sections carry their own layout; this file holds tokens, resets, header/footer and shared states. */
:root{
  --slcm-brick:#A23E22;--slcm-brick-dark:#7E2F19;--slcm-ink:#23201C;--slcm-text:#3D3832;--slcm-muted:#6B645B;--slcm-line:#E3DBCF;--slcm-sand:#F3EEE6;--slcm-dark:#22201D;
  --theme-font-family:"Source Sans 3",system-ui,sans-serif;--theme-text-color:#3D3832;--theme-headings-color:#23201C;
  --theme-link-initial-color:#A23E22;--theme-link-hover-color:#7E2F19;
  --theme-button-background-initial-color:#A23E22;--theme-button-background-hover-color:#7E2F19;--theme-button-border-radius:4px;
  --theme-palette-color-1:#A23E22;--theme-palette-color-2:#7E2F19;--theme-palette-color-3:#3D3832;--theme-palette-color-4:#23201C;--theme-palette-color-5:#E3DBCF;--theme-palette-color-6:#F3EEE6;--theme-palette-color-7:#FAF8F4;--theme-palette-color-8:#ffffff;
}
body{font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.6;color:#3D3832;background:#fff;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#A23E22;text-underline-offset:2px}
a:hover{color:#7E2F19}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}
:focus-visible{outline:2px solid #A23E22;outline-offset:2px}

/* Elementor: each page band is a full-width container with no builder padding or gaps. */
.elementor .e-con.slcm-band{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:100%;--content-width:100%;padding:0}
.slcm-band>.elementor-widget,.slcm-band>.e-con-inner>.elementor-widget{width:100%;margin:0}
.slcm-band .elementor-widget-container{margin:0;padding:0}
.elementor .slcm-band img{max-width:100%}
.elementor-page .site-main,.elementor-page #main-container{padding:0}

/* Header (Blocksy). */
.ct-header [data-row*="middle"]{background:#fff;border-bottom:1px solid #E3DBCF}
.ct-header [data-id="logo"] img{height:64px;width:auto;max-height:64px}
.ct-header .ct-menu-link{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15.5px;font-weight:600;color:#23201C;text-transform:none;letter-spacing:0}
.ct-header .ct-menu-link:hover,.ct-header .current-menu-item>.ct-menu-link{color:#A23E22}
.ct-header .sub-menu{--dropdown-background-color:#fff;--dropdown-items-spacing:8px;border:1px solid #E3DBCF;border-radius:6px;box-shadow:0 10px 30px rgba(35,32,28,.12)}
.ct-header .sub-menu .ct-menu-link{color:#23201C}
.ct-header .sub-menu .ct-menu-link:hover{color:#A23E22}
.ct-header .ct-header-cta .ct-button{--theme-button-background-initial-color:#A23E22;--theme-button-background-hover-color:#7E2F19;--theme-button-text-initial-color:#fff;--theme-button-text-hover-color:#fff;font-weight:700;font-size:16px;border-radius:4px;padding:12px 20px;white-space:nowrap}
#offcanvas .ct-menu-link{font-weight:600;font-size:18px}
#offcanvas .ct-header-cta .ct-button{--theme-button-background-initial-color:#A23E22;--theme-button-text-initial-color:#fff;border-radius:4px;font-weight:700;width:100%}

/* Footer: Blocksy widget area 1 holds the footer markup; the row is reset to full width. */
.ct-footer{background:#22201D;padding:0}
.ct-footer [data-row]{--container-spacing:0px;padding:0;background:#22201D;border:0}
.ct-footer [data-row]>.ct-container{max-width:none;width:100%;padding:0;display:block;grid-template-columns:1fr}
.ct-footer .ct-widget{margin:0}
.ct-footer .widget_custom_html{width:100%}
.ct-footer a{color:#cfc8bd;text-decoration:none}
.ct-footer a:hover{color:#fff}

/* Mobile sticky call bar. */
.slcm-callbar{display:none}
@media (max-width:767px){
  body{padding-bottom:76px}
  .slcm-callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #E3DBCF;padding:10px 16px;box-shadow:0 -6px 20px rgba(35,32,28,.10)}
  .slcm-callbar a{display:flex;align-items:center;justify-content:center;background:#A23E22;color:#fff;text-decoration:none;font-weight:700;font-size:18px;min-height:54px;border-radius:4px}
  .ct-header [data-id="logo"] img{height:52px;max-height:52px}
}

/* WPForms estimate form, matched to the site. */
.slcm-band .wpforms-container{margin:0}
.slcm-band .wpforms-field-label{font-weight:600;color:#23201C;font-size:15px}
.slcm-band .wpforms-form input[type=text],.slcm-band .wpforms-form input[type=email],.slcm-band .wpforms-form input[type=tel],.slcm-band .wpforms-form select,.slcm-band .wpforms-form textarea{width:100%;max-width:100%;border:1px solid #CFC5B6;border-radius:4px;padding:12px 14px;font:inherit;font-size:16px;background:#fff;min-height:48px}
.slcm-band .wpforms-form .wpforms-field{padding:8px 0}
.slcm-band .wpforms-form button[type=submit]{background:#A23E22;color:#fff;border:0;border-radius:4px;font:inherit;font-weight:700;font-size:17px;padding:14px 26px;min-height:52px;cursor:pointer;width:100%}
.slcm-band .wpforms-form button[type=submit]:hover{background:#7E2F19}

/* Hover states from the approved design. */
.scp0:hover { background: rgb(126, 47, 25) !important; color: rgb(255, 255, 255) !important; }
.scp1:hover { background: rgb(255, 255, 255) !important; color: rgb(35, 32, 28) !important; }
.scp2:hover { color: rgb(162, 62, 34) !important; }
.scp3:hover { background: rgb(51, 48, 43) !important; color: rgb(255, 255, 255) !important; }
.scp4:hover { background: rgb(162, 62, 34) !important; color: rgb(255, 255, 255) !important; }
.scp5:hover { border-color: rgb(162, 62, 34) !important; box-shadow: rgba(35, 32, 28, 0.08) 0px 8px 24px !important; }
.scp6:hover { border-color: rgb(162, 62, 34) !important; color: rgb(162, 62, 34) !important; }
.scp7:hover { background: rgb(126, 47, 25) !important; }
.scp8:hover { background: rgb(35, 32, 28) !important; color: rgb(255, 255, 255) !important; }
.scp9:hover { border-color: rgb(201, 187, 167) !important; box-shadow: rgba(35, 32, 28, 0.08) 0px 6px 18px !important; }
.scpa:hover { border-color: rgb(201, 187, 167) !important; }
.scpb:hover { color: rgb(255, 255, 255) !important; }

/* Native Elementor sections */
.slcm-sec .elementor-widget-text-editor p,.slcm-sec .elementor-widget-text-editor ul,.slcm-sec .elementor-widget-text-editor ol{margin:0 0 .8em}
.slcm-sec .elementor-widget-text-editor>*:last-child,.slcm-sec .elementor-widget-text-editor .elementor-widget-container>*:last-child{margin-bottom:0}
.slcm-sec .elementor-heading-title{margin:0}
.slcm-sec a.e-con{text-decoration:none;color:inherit}
.slcm-faq .elementor-toggle-item{border-radius:6px;overflow:hidden;border:1px solid #E3DBCF;background:#fff}.slcm-faq .elementor-tab-title{border:0!important}.slcm-faq .elementor-tab-content{border:0!important}.slcm-faq .elementor-toggle-icon{font-size:.8em}
.slcm-faq .elementor-tab-content p{margin:0 0 .8em}
.slcm-faq .elementor-tab-content p:last-child{margin-bottom:0}
.slcm-form .wpforms-container{margin:0}
.slcm-fill,.slcm-fill>.elementor-widget-container{height:100%}
.elementor .slcm-fill img{height:100%!important;min-height:320px;width:100%;object-fit:cover;display:block}
.slcm-mt-auto{margin-top:auto!important}
.slcm-rot45{transform:rotate(45deg)}
.slcm-op85{opacity:.85}
.slcm-sec a.slcm-nu{text-decoration:none}
.slcm-sec .elementor-widget-text-editor table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px;margin:0}
.slcm-sec .elementor-widget-text-editor th{text-align:left;padding:12px 16px;background:#F3EEE6;color:#23201C;border-bottom:1px solid #E3DBCF}
.slcm-sec .elementor-widget-text-editor td{padding:12px 16px;border-bottom:1px solid #ECE6DC;vertical-align:top;line-height:1.45}
.slcm-sec .elementor-widget-text-editor tr:last-child td{border-bottom:0}
.slcm-box .elementor-widget-container,.slcm-box .elementor-widget-container>*{margin:0!important}
.slcm-box p{margin:0!important}
