/**
 * Killer Wraps rebrand overrides (Visual Update Guide §1, G1–G10).
 * Loaded after mirrored Elementor CSS on parity pages.
 */
:root {
  --kw-rich-black: #000000;
  --kw-racing-red: #ed1c24;
  --kw-sunflower-gold: #f9b529;
  --kw-pumpkin-spice: #ea7424;
  --kw-bondi-blue: #1096b7;
  --kw-dim-grey: #63656a;
  --kw-medium-grey: #818388;
  --kw-font: 'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.elementor-kit-7282,
.elementor-kit-7282 {
  font-family: var(--kw-font) !important;
}

.elementor-kit-7282 h1,
.elementor-kit-7282 h2,
.elementor-kit-7282 h3,
.elementor-kit-7282 h4,
.elementor-kit-7282 h5,
.elementor-kit-7282 h6,
.elementor-kit-7282 p,
.elementor-kit-7282 .elementor-button {
  font-family: var(--kw-font) !important;
}

/* G1 — header utility gradient top → Racing Red */
.elementor-8043 .elementor-element-dd45aab:not(.elementor-motion-effects-element-type-background),
.elementor-8043 .elementor-element-dd45aab > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--kw-racing-red) !important;
  background-image: linear-gradient(180deg, var(--kw-racing-red) 0%, var(--kw-racing-red) 48%, #ffffff 48%, #ffffff 100%) !important;
}

/* G2 — utility header buttons */
.elementor-8043 .elementor-element-9f2d9c1 .elementor-button,
.elementor-8043 .elementor-element-262c44c .elementor-button,
.elementor-8043 .elementor-element-a744e85 .elementor-button,
.elementor-8043 .elementor-element-21ed0c0 .elementor-button {
  background-color: var(--kw-rich-black) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
}

/* G4 — nav */
.elementor-8043 .elementskit-navbar-nav > li > a {
  font-family: var(--kw-font) !important;
  font-weight: 500 !important;
}
.elementor-8043 .elementskit-navbar-nav > li:hover > a,
.elementor-8043 .elementskit-navbar-nav > li.current-menu-item > a {
  color: var(--kw-racing-red) !important;
}

/* G5 — footer link columns */
.elementor-8061 .elementor-element-affaf7f:not(.elementor-motion-effects-element-type-background),
.elementor-8061 .elementor-element-affaf7f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--kw-rich-black) !important;
}
.elementor-8061 .elementor-element-affaf7f .elementor-heading-title {
  color: var(--kw-sunflower-gold) !important;
}

/* G6 — footer billboard band */
.elementor-8061 .elementor-element-dc92761:not(.elementor-motion-effects-element-type-background),
.elementor-8061 .elementor-element-dc92761 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--kw-racing-red) !important;
  background-image: none !important;
}
.elementor-8061 .elementor-element-dc92761 .elementor-heading-title {
  color: var(--kw-sunflower-gold) !important;
}

/* G8 — footer CTAs on red band */
.elementor-8061 .elementor-element-dc92761 .elementor-button {
  background-color: var(--kw-sunflower-gold) !important;
  color: var(--kw-rich-black) !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}

/* G9 — copyright tagline (Outfit SemiBold + Sunflower Gold; link Pumpkin Spice) */
.elementor-8061 .elementor-element-967e494 .elementor-heading-title {
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
  color: var(--kw-sunflower-gold) !important;
}
.elementor-8061 .elementor-element-967e494 a {
  color: var(--kw-pumpkin-spice) !important;
}

/* Footer bottom bar — center social glyphs (Elementor line-height was pinning icons top-left in the ring) */
.elementor-8061 .elementor-element-fbc463d .elementor-social-icons-wrapper {
  font-size: var(--icon-size, 14px);
  line-height: 1;
}
.elementor-8061 .elementor-element-fbc463d .elementor-icon.elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.elementor-8061 .elementor-element-fbc463d .elementor-social-icon i {
  display: block !important;
  font-size: var(--icon-size, 14px) !important;
  line-height: 1 !important;
  width: 1em;
  text-align: center;
}
.elementor-8061 .elementor-element-fbc463d .elementor-social-icon i::before {
  display: block;
  line-height: 1;
}

/* G6 — footer billboard address on red band */
.elementor-8061 .elementor-element-dc92761 .elementor-widget-text-editor,
.elementor-8061 .elementor-element-dc92761 .elementor-widget-text-editor p {
  color: #ffffff !important;
}
.elementor-8061 .elementor-element-dc92761 .elementor-widget-text-editor strong,
.elementor-8061 .elementor-element-dc92761 address,
.elementor-8061 .elementor-element-dc92761 .elementor-icon-list-text {
  color: var(--kw-rich-black) !important;
}

/* Primary CTAs site-wide */
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button {
  border-radius: 6px !important;
}

.elementor-button:not(.elementor-button-link) {
  font-weight: 600 !important;
}

/* §7 — client-logo carousel: solid white logos (Build Brief 2.1-8) */
.elementor-widget-image-carousel .swiper-slide-image[src*='Killer-Wraps_'],
.elementor-widget-image-carousel .swiper-slide-image[src*='KillerWraps_'] {
  filter: brightness(0) invert(1);
  opacity: 1 !important;
}

/* Home §2.1-6–8 — Bondi band; white heading/body (no gold on blue) */
.elementor-376 .elementor-element-ef37dbc:not(.elementor-motion-effects-element-type-background),
.elementor-376 .elementor-element-ef37dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--kw-bondi-blue) !important;
  border-color: var(--kw-bondi-blue) !important;
}
.elementor-376 .elementor-element-ef37dbc .elementor-element-71ea708 .elementor-heading-title {
  color: #ffffff !important;
}
.elementor-376 .elementor-element-ef37dbc .elementor-element-4e7d79c,
.elementor-376 .elementor-element-ef37dbc .elementor-element-4e7d79c p {
  color: #ffffff !important;
}

/* §3 — ElementsKit buttons (typography + radius; fills come from Elementor globals) */
.elementskit-btn {
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
}
.elementor-kit-7282 .elementskit-btn:hover {
  filter: brightness(0.95);
}

/* §3 — Elementor CTAs: Outfit SemiBold 600 (overrides kit accent weight 500) */
.elementor-kit-7282 a.elementor-button,
.elementor-kit-7282 a.elementor-button .elementor-button-text,
.elementor-kit-7282 .elementor-button .elementor-button-text,
.elementor-kit-7282 .elementor-button.elementor-button-link,
.elementor-kit-7282 .elementor-button.elementor-button-link .elementor-button-text,
.elementor-kit-7282 button.elementor-button {
  font-weight: 600 !important;
  border-radius: 6px !important;
}

/* Primary filled Elementor link-buttons — no border (outline uses .kw-outline-cta) */
.elementor-kit-7282 a.elementor-button.elementor-button-link:not(.kw-outline-cta) {
  border: none !important;
  border-width: 0 !important;
}

.elementor-kit-7282 a.elementor-button.elementor-button-link.kw-outline-cta {
  background-color: transparent !important;
  color: var(--kw-rich-black) !important;
  border: 2px solid var(--kw-rich-black) !important;
}

/* §4 — quote/contact submit buttons (kit `button` rule was pink border + weight 500) */
.elementor-kit-7282 .bw-kw-form button.bw-kw-btn {
  font-weight: 600 !important;
  background-color: var(--kw-racing-red) !important;
  color: #ffffff !important;
  border: 2px solid var(--kw-racing-red) !important;
  border-radius: 6px !important;
}
.elementor-kit-7282 .bw-kw-form button.bw-kw-btn:hover {
  background-color: #9e1c20 !important;
  border-color: #9e1c20 !important;
}

/* §4 — SMS consent (override kit body 1.4rem on labels inside Elementor) */
.elementor-kit-7282 .bw-kw-form .bw-kw-check label {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: var(--kw-dim-grey) !important;
  font-weight: 400 !important;
}
.elementor-kit-7282 .bw-kw-form .bw-kw-req {
  color: var(--kw-racing-red) !important;
}

/* §7 — remove off-brand process dots (Build Brief 2.1-23) */
img[src*='heading-dots-blue.png'] {
  display: none !important;
}

/* SMS / form consent (guide 1D typography) */
.bw-kw-check label,
.bw-kw-field .bw-kw-consent {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: var(--kw-dim-grey) !important;
}
.bw-kw-check a {
  color: var(--kw-racing-red) !important;
}

/* §3 — primary button hover (Build Brief) */
.elementor-kit-7282 .elementor-button:not(.elementor-button-link):hover,
.elementor-kit-7282 .elementor-button:not(.elementor-button-link):focus {
  background-color: #9e1c20 !important;
  color: #ffffff !important;
}
.elementor-8061 .elementor-element-dc92761 .elementor-button:hover {
  background-color: #da9428 !important;
  color: var(--kw-rich-black) !important;
}
.elementor-8043 .elementor-button:hover {
  filter: brightness(0.95);
}

/* §3 — outline CTAs (Fleet / service “Get Started”) */
.elementskit-btn.ekit-outline-btn,
.elementskit-btn[class*='outline'] {
  background: transparent !important;
  color: var(--kw-rich-black) !important;
  border: 2px solid var(--kw-rich-black) !important;
}

/* §7 — FAQ clipboard mascot vertical balance */
.elementor-widget-image img[src*='mascot-2-clipboard'] {
  transform: translateY(-8%);
  height: auto !important;
}

/* §7 — FAQ / accordion on Rich Black */
.elementor-widget-n-accordion .e-n-accordion-item,
.elementor-widget-accordion .elementor-accordion-item {
  border-color: var(--kw-rich-black) !important;
}

/* Free Services §2.18-12 — black callout text on Racing Red band */
.elementor-662 .elementor-element[class*='elementor-element-'] .elementor-widget-text-editor a {
  color: var(--kw-racing-red) !important;
}

/* Review §2.6 — mobile strip lives in ReviewMobileLogoStrip.astro (sibling before footer) */

/* Footer copyright — prevent flush-left clip on narrow viewports */
@media (max-width: 767px) {
  .elementor-8061 .elementor-element-967e494 > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  .elementor-8061 .elementor-element-cfd0563 .ekit-heading--title,
  .elementor-8061 .elementor-element-cfd0563 .elementskit-section-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}

/* Review §2.6-3 — divider gold */
.elementor-page-5954 .elementor-element-7bcfd5ac,
.elementor-5954 .elementor-element-7bcfd5ac {
  --divider-color: var(--kw-sunflower-gold) !important;
}
.elementor-page-5954 .elementor-element-7bcfd5ac .elementor-divider-separator,
.elementor-5954 .elementor-element-7bcfd5ac .elementor-divider-separator {
  border-block-start-color: var(--kw-sunflower-gold) !important;
}

/* Home §2.1 — ElementsKit primary buttons: white label on red (not gold) */
.elementor-376 .elementskit-btn.whitespace--normal {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Home §2.1-15 — Choose section flat white (not grey gradient) */
.elementor-376 .elementor-element-undefined-8a2fbe7:not(.elementor-motion-effects-element-type-background),
.elementor-376 .elementor-element-undefined-8a2fbe7 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Home §2.1-3 / 2.1-18 — script accent lines → Outfit SemiBold 600 */
.elementor-376 .elementor-element-2fb3fed .elementor-heading-title,
.elementor-376 .elementor-element-a82aa80 .elementor-heading-title {
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
}

/* Free Services §2.18-13 — Start Today on black button */
.elementor-662 .elementor-element-bf48db3 .elementor-button {
  background-color: var(--kw-rich-black) !important;
  color: var(--kw-sunflower-gold) !important;
}
.elementor-662 .elementor-element-bf48db3 .elementor-button:hover {
  background-color: var(--kw-rich-black) !important;
  color: var(--kw-sunflower-gold) !important;
  filter: brightness(1.05);
}

/* About §2.19 — accordion card borders Medium Grey (overrides widget default #D5D8DC) */
.elementor-418 .elementor-element-3d74ebe,
.elementor-page-418 .elementor-element-3d74ebe {
  --n-accordion-border-color: var(--kw-medium-grey) !important;
}
.elementor-418 .elementor-element-3d74ebe .e-n-accordion-item,
.elementor-page-418 .elementor-element-3d74ebe .e-n-accordion-item {
  border-color: var(--kw-medium-grey) !important;
}

/* FAQ / CTA — swatches mascot centered over accent line (pages with both) */
.elementor-widget-image:has(+ .elementor-widget-heading .elementor-heading-title) img[src*='mascot-3-swatches'] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* §9 — brand mascots: fixed width in layout, height auto (mobile + desktop) */
img[src*='/brand/2026/mascots/'],
.elementor-widget-image img[src*='mascot-'] {
  height: auto !important;
  max-width: 100%;
}

@media (max-width: 767px) {
  .elementor-button .elementor-button-text {
    white-space: nowrap !important;
  }
}

/* FAQ — clipboard mascot vertically centered in its column */
.elementor-widget-image img[src*='mascot-2-clipboard'] {
  display: block;
  margin: 0 auto;
  object-fit: contain;
}
