/* ==========================================================
   Kimtech Electrical — brand layer on top of the Voltra template
   Palette from kimtech.co.tz: Kimtech red #E50404, charcoal, greys.
   Type from kimtech.co.tz: Roboto (headings) + Hind (body).
   ========================================================== */
:root{
	--main-color:#E50404;
	--primary-color:#1B1D21;
	--secondary-color:#F4F4F5;
	--text-color:#5F6368;
	--accent-color:#B80303;
	--km-red-on-dark:#FF4A3D;
	--km-charcoal-2:#25282D;
}
body{font-size:17px;}
h1,h2,h3,h4,h5,h6{letter-spacing:-.2px;}

/* ---------- Logo ---------- */
.sisf-header-logo-link img{height:54px;width:auto;}
.footer-logo img{height:64px;width:auto !important;}
.sis-loading-icon img{width:64px;height:64px;}

/* ---------- Buttons: white text on red ---------- */
.sis-btn-default{color:#fff;}
.sis-btn-default:hover{color:#fff;background-color:var(--accent-color) !important;border-color:var(--accent-color) !important;}
.sis-btn-default.btn-light{color:var(--primary-color);background:#fff;border-color:#fff !important;}
.sis-btn-default.btn-light:hover{color:#fff;background-color:var(--main-color) !important;border-color:var(--main-color) !important;}
.sis-btn-default.btn-light i{background-color:var(--main-color);border-color:var(--main-color);}

/* ---------- Red text on charcoal needs a lighter tint for contrast ---------- */
.sis-comman-background .sisf-e-colored,
.main-footer .sisf-e-colored,
.sis-hero .sisf-e-colored,
.km-process-dark .sisf-e-colored,
.sisf-sis-page-list .sisf-sis-list-item:hover a{color:var(--km-red-on-dark) !important;}
.sis-hero .sisf-sis-hero-image-item .sisf-e-colored{color:var(--primary-color) !important;}
.sis-hero .sis-counter-item .sisf-content{color:#fff;}

/* ---------- Hero tweaks ---------- */
.sis-hero h1{font-size:62px;line-height:1.12;}
.sis-hero .km-round-icon{width:52px;height:52px;border-radius:50%;background:var(--main-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 52px;}
.km-small{font-size:14px;color:var(--text-color);}
.km-strong{font-family:var(--heading-font);font-weight:700;font-size:20px;color:var(--primary-color);}
.km-strong:hover{color:var(--main-color);}

/* ---------- About cards ---------- */
.km-pill{display:inline-block;padding:4px 14px;border-radius:50px;background:rgba(229,4,4,.18);color:#fff;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;}
.km-mark{width:52px;min-width:52px;}
.sisf-about-counter-content .sisf-e-inner{color:#fff;}
.sisf-about-counter-content .sisf-e-inner *{color:#fff !important;}
.sisf-about-counter-content .sisf-digit-label{font-size:28px !important;line-height:1 !important;margin-left:4px;}

/* ---------- Service cards ---------- */
.km-card-text{margin:0;padding:0 20px 22px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.72);}
.km-card-text.dark{color:var(--text-color);}
.sisf-sis-e-service-list .sisf-e-inner{height:100%;}
.sisf-sis-e-service-list{height:calc(100% - 24px);}
.sisf-service-icon-image img[src*="card-fire"]{background:#fff;}

/* industry mini cards (home) */
.km-ind-icon{width:52px;min-width:52px;}
.km-ind-icon img{width:44px;height:auto;}
.sis-advance-solution-section .sisf-e-title a{color:var(--primary-color);}
.sis-advance-solution-section .sisf-e-title a:hover{color:var(--main-color);}

/* ---------- Process steps ---------- */
.km-step:nth-child(5)::before{display:none;}
.km-process-dark .sisf-e-detail--page-content::before{border-left-color:rgba(255,255,255,.25);}
.km-process-dark .sisf-sis-icon-count span{background:var(--main-color);border-color:var(--main-color);color:#fff;}
.km-process-dark .sisf-e-title{color:#fff;}
.km-process-dark .sisf-sis-description p{color:rgba(255,255,255,.72);}
.km-process-dark .sisf-estimate-image-right{margin-top:0;}

/* ---------- Problems (challenge -> approach) ---------- */
.km-section{position:relative;padding:100px 0;}
.km-challenge{height:100%;background:#fff;border:1px solid #e6e7ea;border-radius:16px;padding:32px 28px 28px;position:relative;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s;}
.sis-comman-bg .km-challenge{background:#fff;}
.km-challenge:hover{transform:translateY(-6px);border-color:rgba(229,4,4,.45);box-shadow:0 18px 40px rgba(27,29,33,.08);}
.km-challenge .num{position:absolute;right:22px;top:14px;font-family:var(--heading-font);font-size:52px;font-weight:800;color:rgba(27,29,33,.06);line-height:1;}
.km-challenge .icon{width:54px;height:54px;border-radius:12px;background:rgba(229,4,4,.1);color:var(--main-color);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;}
.km-challenge h4{font-size:21px;margin-bottom:14px;color:var(--primary-color);}
.km-challenge .solution{border-top:1px solid #e6e7ea;padding-top:14px;font-size:16px;line-height:1.6;color:var(--text-color);}
.km-challenge .solution b{display:block;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--main-color);margin-bottom:6px;}

/* ---------- CTA band ---------- */
.km-cta-band{background:linear-gradient(110deg,#1B1D21 0%,#25282D 55%,#3a0b0b 100%);padding:70px 0;position:relative;overflow:hidden;}
.km-cta-band:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(229,4,4,.18);}
.km-cta-band h2{font-size:38px;line-height:1.2;}
.km-cta-band p{color:rgba(255,255,255,.75);}
.km-cta-band .container{position:relative;z-index:1;}
.km-cta-phone{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:18px;}
.km-cta-phone i{color:var(--km-red-on-dark);}
.km-cta-phone:hover{color:var(--km-red-on-dark);}
.km-inline-cta h3{font-size:24px;}
.km-inline-cta p{opacity:.8;}

/* ---------- Service detail sidebar ---------- */
.sisf-sis-page-list .sisf-sis-list-item.km-active a{color:var(--km-red-on-dark);}
.sisf-sis-page-list .sisf-sis-list-item.km-active i{transform:rotate(0deg);}
.km-h3{font-size:30px;line-height:1.25;}

/* ---------- About page ---------- */
.km-prose p{font-size:17px;line-height:1.75;margin-bottom:16px;}
.km-commit{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border-left:4px solid var(--main-color);background:var(--secondary-color);border-radius:0 12px 12px 0;}
.km-commit i{color:var(--main-color);font-size:22px;margin-top:4px;}
.km-commit b{display:block;font-family:var(--heading-font);font-size:18px;color:var(--primary-color);margin-bottom:4px;}
.km-num{font-family:var(--heading-font);font-weight:800;font-size:40px;color:var(--main-color);line-height:1;margin-bottom:18px;}

/* ---------- Industries page ---------- */
.km-ind{margin-bottom:90px;}
.km-ind:last-child{margin-bottom:0;}
.km-ind-icon-lg{width:60px;height:60px;border-radius:14px;background:var(--main-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px;}
.km-ind .sisf-m-title{font-size:38px;}

/* ---------- Gallery captions ---------- */
.km-gal a{position:relative;display:block;}
.km-gal .km-cap{position:absolute;left:16px;bottom:16px;background:rgba(27,29,33,.88);color:#fff;font-weight:600;font-size:15px;padding:8px 16px;border-radius:50px;}
.km-gal img{aspect-ratio:596/560;object-fit:cover;}

/* ---------- FAQ page ---------- */
.km-sticky{position:sticky;top:20px;}
.km-side-contact{padding:0 20px 24px;}
.km-side-link{display:flex;align-items:center;gap:10px;color:#fff;margin-bottom:10px;word-break:break-all;}
.km-side-link i{color:var(--km-red-on-dark);}
.km-side-link:hover{color:var(--km-red-on-dark);}

/* ---------- Contact / quotation form ---------- */
.km-share h3{font-size:22px;}
.km-share ul{list-style:none;padding:0;margin:0 0 14px;}
.km-share li{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px;color:var(--primary-color);}
.km-share li i{color:var(--main-color);margin-top:5px;}
.km-label{display:block;font-weight:600;color:var(--primary-color);margin:4px 0 10px;}
.km-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-bottom:6px;}
.km-check{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:16px;color:var(--text-color);}
.km-check input{width:18px;height:18px;accent-color:var(--main-color);flex:0 0 18px;}
.km-file{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:14px 20px;border-radius:50px;cursor:pointer;color:var(--text-color);border:1px dashed rgba(27,29,33,.25);overflow:hidden;}
.km-file i{color:var(--main-color);}
.km-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.km-file input{position:absolute;width:1px;height:1px;opacity:0;}
.km-hint{display:block;margin:8px 0 0 12px;font-size:13px;color:var(--text-color);}
.km-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.km-msg{font-weight:600;}
.km-msg.text-success{color:#16833a !important;}
.km-msg.text-danger{color:var(--main-color) !important;}
.km-link{color:var(--main-color);text-decoration:underline;}
select.form-control{appearance:auto;}

@media (max-width:991px){
	.sis-hero h1{font-size:44px;}
	.km-cta-band h2{font-size:30px;}
	.km-ind{margin-bottom:60px;}
	.km-ind .sisf-m-title{font-size:30px;}
	.km-section{padding:70px 0;}
}
@media (max-width:767px){
	.sis-hero h1{font-size:34px;}
	.km-checks{grid-template-columns:1fr;}
	.sisf-header-logo-link img{height:44px;}
	.km-h3{font-size:24px;}
}

/* ---------- Fixes after first render ---------- */
/* top bar: charcoal so the red logo stands out */
.sis-header-top{background-color:#111214;}
.sis-header-top .sisf-top-bar-widget .sisf-icon-list-item a,.sis-header-top .sisf-top-bar-widget .sisf-icon-list-item span,
.sis-header-top .sisf-top-bar-widget .mail-us a,.sis-header-top .sisf-top-bar-widget .mail-us span,
.sis-header-top .sisf-top-our-service a,.sis-header-top .sisf-top-our-service span,.sis-header-top .social-icons-link a{color:#fff !important;}
.sis-header-top i{color:var(--km-red-on-dark);}
.sis-header-top .social-icons-link a:hover,.sis-header-top a:hover span{color:var(--km-red-on-dark) !important;}
/* hero badges + red card */
.sis-hero-right-image .sisf-sis-hero-image-item p{background-color:#fff;left:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.sis-hero-right-image .sisf-sis-hero-image-item p.sis-bottom{left:60px;}
.sis-hero .sisf-sis-hero-image-item .sisf-e-colored i{color:var(--main-color);}
.sis-hero .sis-bottom-contents .sisf-e-inner:not(.bg-white) h3,
.sis-hero .sis-bottom-contents .sisf-e-inner:not(.bg-white) p,
.sis-hero .sis-bottom-contents .sisf-e-inner:not(.bg-white) h2,
.sis-hero .sis-bottom-contents .sisf-e-inner:not(.bg-white) span{color:#fff !important;}
/* service card text on white cards */
.km-card-text{color:var(--text-color);}
/* accordions: active item red with white text */
.sisf-faq-accordian .accordion-button:not(.collapsed) span,.sisf-page-accordian .accordion-button:not(.collapsed) span{color:#fff !important;}
.sisf-sis-faq-accordian .accordion-item:has(.accordion-button:not(.collapsed)) .accordion-body p,
.sisf-sis-page-accordian .accordion-item:has(.accordion-button:not(.collapsed)) .accordion-body p{color:rgba(255,255,255,.92) !important;}
.sisf-faq-accordian .accordion-button:not(.collapsed)::before,.sisf-page-accordian .accordion-button:not(.collapsed)::before{color:var(--main-color) !important;background:#fff !important;}
.sisf-faq-accordian .accordion-button span,.sisf-page-accordian .accordion-button span{padding-right:44px;display:block;}
/* section subtitles: light red pill on light sections, translucent on dark */
.sis-section-title .sisf-m-subtitle{background-color:rgba(229,4,4,.09);color:var(--main-color);font-weight:600;}
.sis-comman-background .sis-section-title .sisf-m-subtitle,.km-process-dark .sis-section-title .sisf-m-subtitle,
.sis-section-title .sisf-m-subtitle.white{background-color:rgba(255,255,255,.1);color:#fff !important;}
.sis-hero .sis-section-title .sisf-subtitle{color:#fff;}
a.sis-btn-default,button.sis-btn-default{width:fit-content;max-width:100%;}
.sis-our-vision-section .sisf-page-content-part:not(.sis-comman-background) .sis-e-title h2,
.sis-our-vision-section .sisf-page-content-part:not(.sis-comman-background) .sis-e-text p{color:#fff !important;}
.sis-our-vision-section .sisf-page-content-part:not(.sis-comman-background) .sisf-m-icon img{filter:brightness(0) invert(1);}
#sisf-page-header .sisf-header-logo-link img{height:50px !important;width:auto !important;max-width:none;}
@media (max-width:767px){#sisf-page-header .sisf-header-logo-link img{height:42px !important;}}
@media (max-width:991px){#sisf-page-header-inner.sisf-skin--light{background-color:#111214 !important;}}

/* ---------- Photos replacing template cut-outs ---------- */
.sis-hero-right-image .km-hero-photo{border-radius:24px;aspect-ratio:640/760;object-fit:cover;margin-bottom:30px;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.sis-hero-right-image{padding-top:40px;}
.km-photo{border-radius:20px;object-fit:cover;}
.km-process-dark .sisf-estimate-image-right .km-photo{aspect-ratio:640/700;margin-bottom:60px;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.sis-what-we-do-image-center .km-photo{aspect-ratio:428/600;}
.sisf-about--content-right .sisf-e-inner{background-size:cover !important;background-position:center;}
.sis-comman-background{background-image:none;}
.km-process-dark .sisf-estimate-image-right{margin:0 0 0 0 !important;}
.km-process-dark .sisf-estimate-image-right .km-photo{margin-bottom:70px;}
@media (max-width:991px){.km-process-dark .sisf-estimate-image-right .km-photo{margin-bottom:40px;}}

/* Service sidebar title: white on the red header */
.sisf-sis-list-title .sis-comman-title{color:#fff !important;}
/* Process timeline connector: keep the dashed line inside its step */
.sisf-e-detail--page-content{position:relative;}
