.elementor-kit-7{--e-global-color-primary:#B10C10;--e-global-color-secondary:#0B0B0B;--e-global-color-text:#4A4A4A;--e-global-color-accent:#E3262C;--e-global-color-cssurface:#161616;--e-global-color-cssurface2:#1E1E1E;--e-global-color-cswhite:#FFFFFF;--e-global-color-cslight:#F4F4F4;--e-global-color-csredhover:#8C090C;--e-global-color-cstextdark:#FFFFFFB8;--e-global-color-cslinedark:#FFFFFF1A;--e-global-color-cslinelight:#0B0B0B1A;--e-global-color-csmuted:#8A8A8A;--e-global-color-csoutline:#FFFFFF61;--e-global-color-csghostdark:#FFFFFF0B;--e-global-color-csghostlight:#0B0B0B0A;--e-global-color-csglass:#0B0B0B8C;--e-global-color-csoverlay:#0B0B0BEB;--e-global-color-csoverlayfade:#0B0B0B4D;--e-global-color-csborder:#D6D6D6;--e-global-color-csredsoft:#B10C1059;--e-global-color-csredglow:#E3262C73;--e-global-color-cstransparent:#FFFFFF00;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.14em;--e-global-typography-csh1-font-family:"Montserrat";--e-global-typography-csh1-font-size:100px;--e-global-typography-csh1-font-weight:800;--e-global-typography-csh1-text-transform:uppercase;--e-global-typography-csh1-line-height:0.98em;--e-global-typography-csh1-letter-spacing:-0.01em;--e-global-typography-csh2-font-family:"Montserrat";--e-global-typography-csh2-font-size:58px;--e-global-typography-csh2-font-weight:800;--e-global-typography-csh2-text-transform:uppercase;--e-global-typography-csh2-line-height:1.04em;--e-global-typography-csh2-letter-spacing:-0.005em;--e-global-typography-csh2md-font-family:"Montserrat";--e-global-typography-csh2md-font-size:50px;--e-global-typography-csh2md-font-weight:800;--e-global-typography-csh2md-text-transform:uppercase;--e-global-typography-csh2md-line-height:1.04em;--e-global-typography-csh2md-letter-spacing:0em;--e-global-typography-csh3-font-family:"Montserrat";--e-global-typography-csh3-font-size:22px;--e-global-typography-csh3-font-weight:700;--e-global-typography-csh3-line-height:1.3em;--e-global-typography-cseyebrow-font-family:"Inter";--e-global-typography-cseyebrow-font-size:13px;--e-global-typography-cseyebrow-font-weight:600;--e-global-typography-cseyebrow-text-transform:uppercase;--e-global-typography-cseyebrow-line-height:1em;--e-global-typography-cseyebrow-letter-spacing:0.22em;--e-global-typography-cslead-font-family:"Inter";--e-global-typography-cslead-font-size:19px;--e-global-typography-cslead-font-weight:400;--e-global-typography-cslead-line-height:1.65em;--e-global-typography-cssmall-font-family:"Inter";--e-global-typography-cssmall-font-size:16px;--e-global-typography-cssmall-font-weight:400;--e-global-typography-cssmall-line-height:1.6em;--e-global-typography-csnav-font-family:"Montserrat";--e-global-typography-csnav-font-size:13px;--e-global-typography-csnav-font-weight:600;--e-global-typography-csnav-text-transform:uppercase;--e-global-typography-csnav-line-height:1em;--e-global-typography-csnav-letter-spacing:0.14em;--e-global-typography-cslabel-font-family:"Montserrat";--e-global-typography-cslabel-font-size:12px;--e-global-typography-cslabel-font-weight:700;--e-global-typography-cslabel-text-transform:uppercase;--e-global-typography-cslabel-line-height:1.3em;--e-global-typography-cslabel-letter-spacing:0.12em;--e-global-typography-csstat-font-family:"Montserrat";--e-global-typography-csstat-font-size:56px;--e-global-typography-csstat-font-weight:800;--e-global-typography-csstat-line-height:1em;--e-global-typography-csslide-font-family:"Montserrat";--e-global-typography-csslide-font-size:86px;--e-global-typography-csslide-font-weight:800;--e-global-typography-csslide-text-transform:uppercase;--e-global-typography-csslide-line-height:0.98em;--e-global-typography-csslide-letter-spacing:0em;--e-global-typography-csghost-font-family:"Montserrat";--e-global-typography-csghost-font-size:300px;--e-global-typography-csghost-font-weight:800;--e-global-typography-csghost-text-transform:uppercase;--e-global-typography-csghost-line-height:0.8em;--e-global-typography-csghost-letter-spacing:-0.02em;--e-global-typography-cstagline-font-family:"Montserrat";--e-global-typography-cstagline-font-size:28px;--e-global-typography-cstagline-font-weight:800;--e-global-typography-cstagline-text-transform:uppercase;--e-global-typography-cstagline-line-height:1.2em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-primary );color:var( --e-global-color-cswhite );border-radius:3px 3px 3px 3px;padding:21px 30px 21px 30px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-csredhover );color:var( --e-global-color-cswhite );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-csredhover );}.elementor-kit-7 h1{color:var( --e-global-color-secondary );}.elementor-kit-7 h2{color:var( --e-global-color-secondary );}.elementor-kit-7 h3{color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-csh1-font-size:64px;--e-global-typography-csh2-font-size:44px;--e-global-typography-csh2md-font-size:40px;--e-global-typography-cslead-font-size:19px;--e-global-typography-csstat-font-size:48px;--e-global-typography-csslide-font-size:64px;--e-global-typography-csghost-font-size:200px;--e-global-typography-cstagline-font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-text-font-size:16px;--e-global-typography-csh1-font-size:36px;--e-global-typography-csh2-font-size:32px;--e-global-typography-csh2md-font-size:30px;--e-global-typography-cslead-font-size:17px;--e-global-typography-csstat-font-size:40px;--e-global-typography-csslide-font-size:44px;--e-global-typography-csghost-font-size:120px;--e-global-typography-cstagline-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* C&S Painting & Home Improvement — Site Settings › Custom CSS
   Hooks: widget CSS classes (cs-*), container IDs and data-cs attributes. No content lives here. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }

/* ---------- Header (Xpro Theme Builder) — fixed glass bar ---------- */
.xpro-theme-builder-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; }
body.admin-bar .xpro-theme-builder-header { top: 32px; }
#cs-header { -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); transition: background-color .4s ease, min-height .4s ease; }
body.cs-scrolled #cs-header { background-color: rgba(11, 11, 11, .86) !important; min-height: 76px; }
#cs-header .cs-logo img { height: 60px; width: auto; transition: height .4s ease; }
body.cs-scrolled #cs-header .cs-logo img { height: 50px; }
#cs-header .elementor-nav-menu--dropdown { background: #0b0b0b; }
#cs-header .elementor-menu-toggle { border: 1px solid rgba(255, 255, 255, .22); border-radius: 3px; }

/* TranslatePress language switcher (its colors are CSS variables, so they are themed here) */
#cs-header .trp-shortcode-switcher__wrapper { --bg: #161616 !important; --bg-hover: #1e1e1e !important; --text: #ffffff !important; --text-hover: #e3262c !important; --border: 1px solid rgba(255, 255, 255, .14) !important; --border-color: rgba(255, 255, 255, .14) !important; --font-size: 12px !important; }
#cs-header .trp-language-item-name { font-family: Inter, sans-serif; font-weight: 600; letter-spacing: .08em; }
#cs-header .elementor-menu-toggle { margin-left: auto; }
@media (max-width: 767px) { #cs-header .cs-logo img { height: 46px; } body.cs-scrolled #cs-header .cs-logo img { height: 42px; } }

/* ---------- Typography helpers ---------- */
.cs-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; }
.cs-eyebrow .elementor-heading-title::before { content: ''; width: 36px; height: 1px; flex-shrink: 0; background: #b10c10; }
.cs-eyebrow--dark .elementor-heading-title::before { background: #e3262c; }
.cs-center .elementor-heading-title { justify-content: center; }
.cs-ghost { pointer-events: none; user-select: none; }
.cs-ghost .elementor-heading-title { white-space: nowrap; }
.cs-dot { color: #e3262c; }

/* Button arrow nudge */
.elementor-button .elementor-button-icon { transition: transform .35s cubic-bezier(.22, .61, .36, 1); }
.elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

/* ---------- Hero ---------- */
.cs-scroll-cue .elementor-heading-title { display: inline-flex; align-items: center; gap: 16px; }
.cs-scroll-cue .elementor-heading-title::before { content: ''; width: 1px; height: 44px; background: linear-gradient(#e3262c, #e3262c) 0 -40px / 1px 40% no-repeat, rgba(255, 255, 255, .2); animation: cs-cue 2.2s cubic-bezier(.22, .61, .36, 1) infinite; }
@keyframes cs-cue { to { background-position: 0 60px, 0 0; } }
[data-cs="trust"] .elementor-icon-list-item + .elementor-icon-list-item { padding-left: 36px !important; border-left: 1px solid rgba(255, 255, 255, .14); }

/* ---------- Cards & hovers ---------- */
[data-cs="feature"] { border-top: 2px solid transparent; }
[data-cs="feature"]:hover { border-top-color: #b10c10; }
[data-cs="svc-card"] { border-left: 2px solid transparent; }
[data-cs="svc-card"]:hover, [data-cs="svc-card"]:target { border-left-color: #e3262c; }
[data-cs="svc-card"] .elementor-widget-image img { transition: transform .8s cubic-bezier(.16, 1, .3, 1); }
[data-cs="svc-card"]:hover .elementor-widget-image img { transform: scale(1.08); }
.elementor-widget-image.cs-zoom { overflow: hidden; }
.cs-zoom img { transition: transform 1.2s cubic-bezier(.16, 1, .3, 1); }
.cs-zoom:hover img { transform: scale(1.04); }

/* About composition: red corner frame */
[data-cs="about-frame"] { position: relative; }
[data-cs="about-frame"]::before { content: ''; position: absolute; top: -28px; left: -28px; width: 62%; height: 62%; border-top: 1px solid #b10c10; border-left: 1px solid #b10c10; pointer-events: none; }
.cs-inset img { border: 10px solid #fff; }

/* Services intro: offset red frame */
[data-cs="intro-media"] { position: relative; }
[data-cs="intro-media"]::after { content: ''; position: absolute; right: -24px; bottom: -24px; width: 45%; height: 45%; border-right: 1px solid #b10c10; border-bottom: 1px solid #b10c10; z-index: -1; }
.cs-badge strong { display: block; font: 800 44px/1 Montserrat, sans-serif; color: #e3262c; }

/* CTA band diagonal texture */
#cta-band { position: relative; }
#cta-band::before { content: ''; position: absolute; inset: 0; opacity: .5; pointer-events: none; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 34px); }

/* Start section rings (image widget with class cs-rings) */
.cs-rings { position: relative; }
.cs-rings::before, .cs-rings::after { content: ''; position: absolute; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .1); pointer-events: none; }
.cs-rings::before { inset: -34px; }
.cs-rings::after { inset: -68px; border-color: rgba(255, 255, 255, .05); }

/* Timeline */
[data-cs="timeline"] { position: relative; }
[data-cs="timeline"]::before { content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1px; background: #b10c10; opacity: .9; }
[data-cs="milestone"] { position: relative; }
[data-cs="milestone"]::before { content: ''; position: absolute; left: -52px; top: 4px; width: 15px; height: 15px; border-radius: 50%; background: #b10c10; box-shadow: 0 0 0 6px rgba(177, 12, 16, .12); }

/* Map */
[data-cs="info-card"] .elementor-widget-google_maps iframe { filter: grayscale(1) invert(.92) contrast(.9); border-radius: 2px; }

/* ---------- WPForms quote form (brand styling) ---------- */
.cs-quote-form .wpforms-field { padding: 0 0 22px !important; }
.cs-quote-form .wpforms-field-label { font: 700 12px/1.3 Montserrat, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #0b0b0b !important; margin-bottom: 10px !important; }
.cs-quote-form .wpforms-required-label { color: #b10c10 !important; }
.cs-quote-form .wpforms-field-sublabel { font: 500 12px Inter, sans-serif !important; color: #8a8a8a !important; }
.cs-quote-form input[type=text], .cs-quote-form input[type=email], .cs-quote-form select, .cs-quote-form textarea {
  height: 56px !important; max-width: 100% !important; padding: 0 18px !important; border: 1px solid #d6d6d6 !important; border-radius: 2px !important; background: #fff !important;
  font: 400 16px Inter, sans-serif !important; color: #0b0b0b !important; box-shadow: none !important; transition: border-color .3s, box-shadow .3s !important; }
.cs-quote-form textarea { height: 160px !important; padding: 16px 18px !important; }
.cs-quote-form input:focus, .cs-quote-form select:focus, .cs-quote-form textarea:focus { border-color: #0b0b0b !important; box-shadow: 0 0 0 3px rgba(177, 12, 16, .14) !important; outline: none !important; }
.cs-quote-form .wpforms-field-radio ul { display: flex !important; flex-wrap: wrap; gap: 10px; }
.cs-quote-form .wpforms-field-radio li { margin: 0 !important; padding: 0 !important; }
.cs-quote-form .wpforms-field-radio li input { position: absolute; opacity: 0; }
.cs-quote-form .wpforms-field-radio li label { display: inline-flex !important; align-items: center; gap: 10px; height: 50px; padding: 0 22px !important; border: 1px solid #d6d6d6; border-radius: 2px; cursor: pointer; font: 500 15px Inter, sans-serif !important; color: #0b0b0b !important; transition: all .3s; }
.cs-quote-form .wpforms-field-radio li label::before { content: ''; width: 14px; height: 14px; border-radius: 50%; border: 1px solid #b5b5b5; }
.cs-quote-form .wpforms-field-radio li.wpforms-selected label { background: #0b0b0b; border-color: #0b0b0b; color: #fff !important; }
.cs-quote-form .wpforms-field-radio li.wpforms-selected label::before { border-color: #e3262c; background: #e3262c; box-shadow: inset 0 0 0 3px #0b0b0b; }
.cs-quote-form .wpforms-error { color: #b10c10 !important; font: 500 14px Inter, sans-serif !important; }
.cs-quote-form .wpforms-submit-container { padding-top: 8px !important; }
.cs-quote-form button.cs-quote-submit, .cs-quote-form .wpforms-submit {
  height: 56px !important; padding: 0 34px !important; border: 0 !important; border-radius: 3px !important; background: #b10c10 !important; color: #fff !important;
  font: 700 13px/1 Montserrat, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; transition: background-color .35s !important; }
.cs-quote-form .wpforms-submit:hover { background: #8c090c !important; }
.wpforms-confirmation-container-full { background: #f4f4f4 !important; border: 0 !important; border-top: 2px solid #b10c10 !important; padding: 40px !important; color: #0b0b0b !important; font: 400 17px/1.7 Inter, sans-serif; }

/* Reviews widget polish */
.cs-reviews .elementor-testimonial__header { padding-bottom: 18px !important; }
.cs-reviews .swiper-pagination-bullet-active { background: #b10c10 !important; }

/* Floating WhatsApp */
.cs-float-wa { position: fixed !important; right: 24px; bottom: 24px; z-index: 990; width: auto !important; }
.cs-float-wa .elementor-button { width: 60px; height: 60px; border-radius: 50% !important; padding: 0 !important; justify-content: center; box-shadow: 0 14px 30px -10px rgba(177, 12, 16, .7); position: relative; }
.cs-float-wa .elementor-button::before { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 1px solid #b10c10; animation: cs-pulse 2.4s ease infinite; }
.cs-float-wa .elementor-button-icon { font-size: 28px; }
.cs-float-wa .elementor-button-icon svg { width: 28px; height: 28px; }
@keyframes cs-pulse { from { transform: scale(1); opacity: .8; } to { transform: scale(1.6); opacity: 0; } }

@media (max-width: 1024px) {
  [data-cs="trust"] .elementor-icon-list-item:nth-child(3) { display: none !important; }
}
@media (max-width: 767px) {
  .cs-float-wa { right: 16px; bottom: 16px; }
  .cs-float-wa .elementor-button { width: 54px; height: 54px; }
  [data-cs="trust"] .elementor-icon-list-item:nth-child(2) { display: none !important; }
  [data-cs="milestone"]::before { left: -40px; }
  .cs-quote-form .wpforms-one-half { width: 100% !important; margin-left: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.cs-breadcrumb{display:flex;align-items:center;gap:12px;margin:0}.cs-breadcrumb a{color:rgba(255,255,255,.65)}.cs-breadcrumb a:hover{color:#fff}.cs-bc-sep{width:18px;height:1px;background:#e3262c;display:inline-block}
[data-cs="svc-card"] .elementor-widget-image{overflow:hidden;border-radius:50%}
[data-cs="project-caption"]{left:0;right:0;bottom:0}
.svc-slider__arrow--prev .elementor-button-icon svg,.svc-slider__arrow--next .elementor-button-icon svg{width:40px;height:40px}
.cs-feature-title .elementor-heading-title{text-transform:uppercase;letter-spacing:.02em}/* End custom CSS */