.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-tc_navy_900:#07142A;--e-global-color-tc_navy_800:#0A1B36;--e-global-color-tc_navy_600:#15305C;--e-global-color-tc_gold_500:#F4B71A;--e-global-color-tc_gold_400:#FFC83D;--e-global-color-tc_gold_600:#D69D08;--e-global-color-tc_line_300:#3B4D6E;--e-global-color-tc_off:#F4F5F8;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-tc_button-font-family:"Archivo";--e-global-typography-tc_button-font-size:15px;--e-global-typography-tc_button-font-weight:700;--e-global-typography-tc_button-text-transform:none;--e-global-typography-tc_button-letter-spacing:0.01em;--e-global-typography-tc_cta-font-family:"Archivo";--e-global-typography-tc_cta-font-size:14px;--e-global-typography-tc_cta-font-weight:800;--e-global-typography-tc_cta-text-transform:uppercase;--e-global-typography-tc_cta-letter-spacing:0.08em;--e-global-typography-tc_body-font-family:"DM Sans";--e-global-typography-tc_body-font-size:17px;--e-global-typography-tc_body-font-weight:400;--e-global-typography-tc_body-text-transform:none;--e-global-typography-tc_body-letter-spacing:0px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-kit-6 h2{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-tc_button-font-size:15px;--e-global-typography-tc_cta-font-size:14px;--e-global-typography-tc_body-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-tc_button-font-size:15px;--e-global-typography-tc_cta-font-size:13px;--e-global-typography-tc_body-font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   TAURUS CIVILS — Button System v1.1
   ============================================================
   Usage (Elementor Pro):
     Site Settings → Custom CSS → paste this entire file → Save
     Then: Elementor → Tools → Regenerate CSS & Data

   How to apply per-button:
     Elementor Button widget  → Advanced → CSS Classes → e.g. tc-btn-primary
     Theme button widget      → outer elementor-element div gets the class via
                                the same Advanced → CSS Classes field

   Available classes:
     tc-btn-primary    — gold, main page action
     tc-btn-secondary  — navy, companion action
     tc-btn-outline    — transparent + gold border
     tc-btn-outline is-white — transparent + muted border (hero areas)
     tc-btn-ghost      — text-only link action
     tc-btn-cta        — uppercase hero conversion (one per page)
     any tc-btn-* + is-disabled — unavailable state

   v1.1 changes vs v1.0:
     - Added !important on visual properties to beat Elementor's
       per-element generated CSS (specificity was 2 vs 3 classes).
     - Added .thm-btn and .elementskit-btn targets alongside .elementor-button to cover
       the Turner and Elementskit button widgets used across the site.
   ============================================================ */

/* ── LOCAL DESIGN TOKENS ── */
:root {
  --tc-navy-900: #07142A;
  --tc-navy-800: #0A1B36;
  --tc-navy-700: #0F2347;
  --tc-navy-600: #15305C;
  --tc-navy-500: #1E4079;
  --tc-line-300: #3B4D6E;
  --tc-line-200: #5A6B89;
  --tc-gold-500: #F4B71A;
  --tc-gold-400: #FFC83D;
  --tc-gold-600: #D69D08;
  --tc-off:      #F4F5F8;
  --tc-dim:      #7C8AA5;
  --tc-radius:   4px;
  --tc-shadow-rest:  0 1px 0 rgba(255,255,255,.06) inset, 0 1px 2px rgba(0,0,0,.45);
  --tc-shadow-hover: 0 1px 0 rgba(255,255,255,.10) inset, 0 6px 18px rgba(0,0,0,.45);
  --tc-shadow-press: 0 1px 0 rgba(0,0,0,.25) inset;
  --tc-ring: 0 0 0 3px rgba(244,183,26,.35), 0 0 0 1.5px var(--tc-gold-500);
}

/* ══════════════════════════════════════════════════════════
   BASE — applied to every tc-btn-* target
   Two .elementor-kit-6 patterns per role:
     a) class on the button itself  → .elementor-button.tc-btn-*  or  .thm-btn.tc-btn-*
     b) class on the wrapper div    → .tc-btn-* .elementor-button  or  .tc-btn-* .thm-btn
   !important on visual properties to override Elementor's per-element
   generated CSS which uses 3-class .elementor-kit-6s and would otherwise win.
   ══════════════════════════════════════════════════════════ */

.elementor-button.tc-btn-primary,
.elementor-button.tc-btn-secondary,
.elementor-button.tc-btn-outline,
.elementor-button.tc-btn-ghost,
.elementor-button.tc-btn-cta,
.tc-btn-primary .elementor-button,
.tc-btn-secondary .elementor-button,
.tc-btn-outline .elementor-button,
.tc-btn-ghost .elementor-button,
.tc-btn-cta .elementor-button,
.thm-btn.tc-btn-primary,
.elementskit-btn.tc-btn-primary,
.thm-btn.tc-btn-secondary,
.elementskit-btn.tc-btn-secondary,
.thm-btn.tc-btn-outline,
.elementskit-btn.tc-btn-outline,
.thm-btn.tc-btn-ghost,
.elementskit-btn.tc-btn-ghost,
.thm-btn.tc-btn-cta,
.elementskit-btn.tc-btn-cta,
.tc-btn-primary .thm-btn,
.tc-btn-primary .elementskit-btn,
.tc-btn-secondary .thm-btn,
.tc-btn-secondary .elementskit-btn,
.tc-btn-outline .thm-btn,
.tc-btn-outline .elementskit-btn,
.tc-btn-ghost .thm-btn,
.tc-btn-ghost .elementskit-btn,
.tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn {
  font-family:    "Archivo", system-ui, sans-serif !important;
  font-weight:    700 !important;
  font-size:      15px !important;
  line-height:    1 !important;
  letter-spacing: 0.01em !important;
  padding:        12px 22px !important;
  border-radius:  var(--tc-radius) !important;
  border:         1.5px solid transparent !important;
  min-height:     44px !important;
  text-transform: none !important;
  transition:
    background-color .14s ease,
    border-color     .14s ease,
    color            .14s ease,
    box-shadow       .14s ease,
    transform        .04s ease !important;
}

/* Universal focus ring */
.elementor-button[class*="tc-btn-"]:focus-visible,
[class*="tc-btn-"] .elementor-button:focus-visible,
.thm-btn[class*="tc-btn-"]:focus-visible,
.elementskit-btn[class*="tc-btn-"]:focus-visible,
[class*="tc-btn-"] .thm-btn:focus-visible,
[class*="tc-btn-"] .elementskit-btn:focus-visible {
  outline:    none !important;
  box-shadow: var(--tc-ring) !important;
}

/* Universal active depress */
.elementor-button[class*="tc-btn-"]:active,
[class*="tc-btn-"] .elementor-button:active,
.thm-btn[class*="tc-btn-"]:active,
.elementskit-btn[class*="tc-btn-"]:active,
[class*="tc-btn-"] .thm-btn:active,
[class*="tc-btn-"] .elementskit-btn:active {
  transform: translateY(1px) !important;
}

/* ── PRIMARY ── */
.elementor-button.tc-btn-primary,
.tc-btn-primary .elementor-button,
.thm-btn.tc-btn-primary,
.elementskit-btn.tc-btn-primary,
.tc-btn-primary .thm-btn,
.tc-btn-primary .elementskit-btn {
  background:   var(--tc-gold-500) !important;
  color:        var(--tc-navy-900) !important;
  border-color: rgba(0,0,0,.15)   !important;
  box-shadow:   var(--tc-shadow-rest) !important;
}
.elementor-button.tc-btn-primary:hover,
.tc-btn-primary .elementor-button:hover,
.thm-btn.tc-btn-primary:hover,
.tc-btn-primary .thm-btn,
.tc-btn-primary .elementskit-btn:hover {
  background:  var(--tc-gold-400) !important;
  color:       var(--tc-navy-900) !important;
  box-shadow:  var(--tc-shadow-hover) !important;
}
.elementor-button.tc-btn-primary:active,
.tc-btn-primary .elementor-button:active,
.thm-btn.tc-btn-primary:active,
.tc-btn-primary .thm-btn,
.tc-btn-primary .elementskit-btn:active {
  background: var(--tc-gold-600)    !important;
  box-shadow: var(--tc-shadow-press) !important;
}

/* ── SECONDARY ── */
.elementor-button.tc-btn-secondary,
.tc-btn-secondary .elementor-button,
.thm-btn.tc-btn-secondary,
.elementskit-btn.tc-btn-secondary,
.tc-btn-secondary .thm-btn,
.tc-btn-secondary .elementskit-btn {
  background:   var(--tc-navy-600) !important;
  color:        var(--tc-off)       !important;
  border-color: var(--tc-line-300) !important;
  box-shadow:   var(--tc-shadow-rest) !important;
}
.elementor-button.tc-btn-secondary:hover,
.tc-btn-secondary .elementor-button:hover,
.thm-btn.tc-btn-secondary:hover,
.tc-btn-secondary .thm-btn,
.tc-btn-secondary .elementskit-btn:hover {
  background:   var(--tc-navy-500) !important;
  color:        var(--tc-off)       !important;
  border-color: var(--tc-line-200) !important;
  box-shadow:   var(--tc-shadow-hover) !important;
}
.elementor-button.tc-btn-secondary:active,
.tc-btn-secondary .elementor-button:active,
.thm-btn.tc-btn-secondary:active,
.tc-btn-secondary .thm-btn,
.tc-btn-secondary .elementskit-btn:active {
  background: var(--tc-navy-700)    !important;
  box-shadow: var(--tc-shadow-press) !important;
}

/* ── OUTLINE (gold) ── */
.elementor-button.tc-btn-outline,
.tc-btn-outline .elementor-button,
.thm-btn.tc-btn-outline,
.elementskit-btn.tc-btn-outline,
.tc-btn-outline .thm-btn,
.tc-btn-outline .elementskit-btn {
  background:   transparent        !important;
  color:        var(--tc-gold-500) !important;
  border-color: var(--tc-gold-500) !important;
}
.elementor-button.tc-btn-outline:hover,
.tc-btn-outline .elementor-button:hover,
.thm-btn.tc-btn-outline:hover,
.tc-btn-outline .thm-btn,
.tc-btn-outline .elementskit-btn:hover {
  background:   rgba(244,183,26,.10) !important;
  color:        var(--tc-gold-400)   !important;
  border-color: var(--tc-gold-400)   !important;
}
.elementor-button.tc-btn-outline:active,
.tc-btn-outline .elementor-button:active,
.thm-btn.tc-btn-outline:active,
.tc-btn-outline .thm-btn,
.tc-btn-outline .elementskit-btn:active {
  background: rgba(244,183,26,.18) !important;
}

/* ── OUTLINE WHITE — gold is too loud next to CTA ── */
.elementor-button.tc-btn-outline.is-white,
.tc-btn-outline.is-white .elementor-button,
.thm-btn.tc-btn-outline.is-white,
.tc-btn-outline.is-white .thm-btn {
  color:        var(--tc-off)      !important;
  border-color: var(--tc-line-300) !important;
  background:   transparent        !important;
}
.elementor-button.tc-btn-outline.is-white:hover,
.tc-btn-outline.is-white .elementor-button:hover,
.thm-btn.tc-btn-outline.is-white:hover,
.tc-btn-outline.is-white .thm-btn:hover {
  color:        #fff                     !important;
  border-color: var(--tc-off)            !important;
  background:   rgba(255,255,255,.04)    !important;
}
.elementor-button.tc-btn-outline.is-white:active,
.tc-btn-outline.is-white .elementor-button:active,
.thm-btn.tc-btn-outline.is-white:active,
.tc-btn-outline.is-white .thm-btn:active {
  background: rgba(255,255,255,.08) !important;
}

/* ── GHOST ── */
.elementor-button.tc-btn-ghost,
.tc-btn-ghost .elementor-button,
.thm-btn.tc-btn-ghost,
.elementskit-btn.tc-btn-ghost,
.tc-btn-ghost .thm-btn,
.tc-btn-ghost .elementskit-btn {
  background:   transparent        !important;
  color:        var(--tc-gold-500) !important;
  border-color: transparent        !important;
  padding:      10px 12px          !important;
  box-shadow:   none               !important;
}
.elementor-button.tc-btn-ghost:hover,
.tc-btn-ghost .elementor-button:hover,
.thm-btn.tc-btn-ghost:hover,
.tc-btn-ghost .thm-btn,
.tc-btn-ghost .elementskit-btn:hover {
  background: rgba(255,255,255,.04) !important;
  color:      var(--tc-gold-400)    !important;
}
.elementor-button.tc-btn-ghost:active,
.tc-btn-ghost .elementor-button:active,
.thm-btn.tc-btn-ghost:active,
.tc-btn-ghost .thm-btn,
.tc-btn-ghost .elementskit-btn:active {
  background: rgba(255,255,255,.08) !important;
}

/* ── CTA — high-presence hero action (one per page) ── */
.elementor-button.tc-btn-cta,
.tc-btn-cta .elementor-button,
.thm-btn.tc-btn-cta,
.elementskit-btn.tc-btn-cta,
.tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn {
  background:     var(--tc-gold-500) !important;
  color:          var(--tc-navy-900) !important;
  font-weight:    800                !important;
  font-size:      14px               !important;
  letter-spacing: 0.08em             !important;
  text-transform: uppercase          !important;
  padding:        18px 30px          !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -2px 0 var(--tc-gold-600) inset,
    0 8px 22px rgba(244,183,26,.18),
    0 1px 2px rgba(0,0,0,.5)         !important;
}
.elementor-button.tc-btn-cta:hover,
.tc-btn-cta .elementor-button:hover,
.thm-btn.tc-btn-cta:hover,
.tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn:hover {
  background:  var(--tc-gold-400) !important;
  color:       var(--tc-navy-900) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.22) inset,
    0 -2px 0 var(--tc-gold-600) inset,
    0 12px 28px rgba(244,183,26,.30),
    0 1px 2px rgba(0,0,0,.5)      !important;
}
.elementor-button.tc-btn-cta:active,
.tc-btn-cta .elementor-button:active,
.thm-btn.tc-btn-cta:active,
.tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn:active {
  background:  var(--tc-gold-600)    !important;
  box-shadow:  var(--tc-shadow-press) !important;
}

/* ── ICON CONTROL ──
   Elementor may render an empty .elementor-button-icon span even when no
   icon is chosen, and its core CSS sets a flex gap on the content wrapper.
   These rules ensure text-only buttons stay centered with no phantom space,
   while icon buttons get sensible spacing only when the icon element exists.
   ── */

/* Content wrapper: centered flex, no forced gap by default */
.elementor-button[class*="tc-btn-"] .elementor-button-content-wrapper,
[class*="tc-btn-"] .elementor-button .elementor-button-content-wrapper {
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  gap:             0 !important;
}

/* Restore gap only when an icon element is actually present in the DOM */
.elementor-button[class*="tc-btn-"] .elementor-button-content-wrapper:has(.elementor-button-icon),
[class*="tc-btn-"] .elementor-button .elementor-button-content-wrapper:has(.elementor-button-icon) {
  gap: 8px !important;
}

/* Hide empty icon span (icon disabled but span still rendered) */
.elementor-button[class*="tc-btn-"] .elementor-button-icon:empty,
[class*="tc-btn-"] .elementor-button .elementor-button-icon:empty {
  display: none !important;
}

/* Icon span: strip any theme margins so our gap alone controls spacing */
.elementor-button[class*="tc-btn-"] .elementor-button-icon,
[class*="tc-btn-"] .elementor-button .elementor-button-icon {
  margin:      0 !important;
  flex-shrink: 0;
}

/* Text span: strip any padding used by themes to make room for a ghost icon */
.elementor-button[class*="tc-btn-"] .elementor-button-text,
[class*="tc-btn-"] .elementor-button .elementor-button-text {
  padding: 0 !important;
  margin:  0 !important;
}

/* Suppress any ::before / ::after pseudo-icons from theme or Elementor */
.elementor-button[class*="tc-btn-"]::before,
.elementor-button[class*="tc-btn-"]::after,
[class*="tc-btn-"] .elementor-button::before,
[class*="tc-btn-"] .elementor-button::after {
  content: none !important;
  display: none !important;
}

/* ── DISABLED ──
   Add class is-disabled + aria-disabled="true" via Custom Attributes. */
.elementor-button[class*="tc-btn-"].is-disabled,
.elementor-button[class*="tc-btn-"][aria-disabled="true"],
[class*="tc-btn-"].is-disabled .elementor-button,
[class*="tc-btn-"] .elementor-button[aria-disabled="true"],
.thm-btn[class*="tc-btn-"].is-disabled,
[class*="tc-btn-"].is-disabled .thm-btn {
  pointer-events: none         !important;
  background:   #2A3554        !important;
  color:        #6B7794        !important;
  border-color: var(--tc-line-300) !important;
  box-shadow:   none           !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 767px) {
  .elementor-button.tc-btn-primary,
  .tc-btn-primary .elementor-button,
  .thm-btn.tc-btn-primary,
.elementskit-btn.tc-btn-primary,
  .tc-btn-primary .thm-btn,
.tc-btn-primary .elementskit-btn,
  .elementor-button.tc-btn-secondary,
  .tc-btn-secondary .elementor-button,
  .thm-btn.tc-btn-secondary,
.elementskit-btn.tc-btn-secondary,
  .tc-btn-secondary .thm-btn,
.tc-btn-secondary .elementskit-btn,
  .elementor-button.tc-btn-outline,
  .tc-btn-outline .elementor-button,
  .thm-btn.tc-btn-outline,
.elementskit-btn.tc-btn-outline,
  .tc-btn-outline .thm-btn,
.tc-btn-outline .elementskit-btn,
  .elementor-button.tc-btn-cta,
  .tc-btn-cta .elementor-button,
  .thm-btn.tc-btn-cta,
.elementskit-btn.tc-btn-cta,
  .tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn {
    width:           100%   !important;
    justify-content: center !important;
  }
  .elementor-button.tc-btn-cta,
  .tc-btn-cta .elementor-button,
  .thm-btn.tc-btn-cta,
.elementskit-btn.tc-btn-cta,
  .tc-btn-cta .thm-btn,
.tc-btn-cta .elementskit-btn {
    padding:   16px 24px !important;
    font-size: 13px      !important;
  }
}

/* Defensive cleanup for cleared Elementor form button icons */
[class*="tc-btn-"] .elementor-button-icon:empty,
[class*="tc-btn-"] .elementor-button-icon .e-font-icon-svg:empty {
  display: none !important;
}

/* v1.2: extra theme/plugin button targets found in live audit */
.elementor-button.tc-btn-primary,
.tc-btn-primary .elementor-button,
.thm-btn.tc-btn-primary,
.tc-btn-primary .thm-btn,
.turner-thm-btn.tc-btn-primary,
.tc-btn-primary .turner-thm-btn,
.elementskit-btn.tc-btn-primary,
.tc-btn-primary .elementskit-btn,
.tc-btn-primary .faq__link {
  background: var(--tc-gold-500) !important;
  color: var(--tc-navy-900) !important;
  border-color: rgba(0,0,0,.15) !important;
  box-shadow: var(--tc-shadow-rest) !important;
}

.elementor-button.tc-btn-secondary,
.tc-btn-secondary .elementor-button,
.thm-btn.tc-btn-secondary,
.tc-btn-secondary .thm-btn,
.turner-thm-btn.tc-btn-secondary,
.tc-btn-secondary .turner-thm-btn,
.elementskit-btn.tc-btn-secondary,
.tc-btn-secondary .elementskit-btn,
.tc-btn-secondary .faq__link,
.tc-btn-secondary .nav-link {
  font-family: "Archivo", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  padding: 12px 22px !important;
  border-radius: var(--tc-radius) !important;
  border: 1.5px solid var(--tc-line-300) !important;
  min-height: 44px !important;
  background: var(--tc-navy-600) !important;
  color: var(--tc-off) !important;
  box-shadow: var(--tc-shadow-rest) !important;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .04s ease !important;
}

.tc-btn-secondary .nav-link.active,
.tc-btn-secondary .nav-link:hover,
.tc-btn-secondary .faq__link:hover,
.tc-btn-secondary .turner-thm-btn:hover,
.tc-btn-secondary .elementskit-btn:hover {
  background: var(--tc-navy-500) !important;
  color: var(--tc-off) !important;
  border-color: var(--tc-line-200) !important;
  box-shadow: var(--tc-shadow-hover) !important;
}

.tc-btn-primary .turner-thm-btn:hover,
.tc-btn-primary .elementskit-btn:hover,
.tc-btn-primary .faq__link:hover {
  background: var(--tc-gold-400) !important;
  color: var(--tc-navy-900) !important;
  box-shadow: var(--tc-shadow-hover) !important;
}

.tc-btn-secondary .ekit_global_links {
  color: inherit !important;
  text-decoration: none !important;
}

/* v1.3: remove arrow from custom footer quote CTA */
body footer a.tc-btn[href*="quote"]::after,
body .tc-footer a.tc-btn[href*="quote"]::after,
body a.tc-btn[href="https://taurus.co.zw/get-a-quote/"]::after {
  content: none !important;
  display: none !important;
}

body footer a.tc-btn[href*="quote"],
body .tc-footer a.tc-btn[href*="quote"],
body a.tc-btn[href="https://taurus.co.zw/get-a-quote/"] {
  gap: 0 !important;
}/* End custom CSS */