/* TSH Auto - custom stylesheet (2026 rebuild)
   Colors and fonts matched to the original 2017 site */

:root{
  --accent: #f44122;
  --dark: #1c1c1c;
  --dark2: #222222;
  --grey-text: #6b6b6b;
  --light-bg: #f7f7f7;
}

body{
  font-family: 'Lato', Arial, sans-serif;
  color: #444;
  padding-top: 108px;
}
h1,h2,h3,h4,h5{
  font-family: 'Raleway', Arial, sans-serif;
  font-weight: 700;
  color: var(--dark);
}
a{ color: var(--accent); }
a:hover, a:focus{ color: #c9330f; text-decoration:none; }

.btn-accent{
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
  display: inline-block;
  transition: background .2s;
}
.btn-accent:hover, .btn-accent:focus{
  background: #c9330f;
  color: #fff;
}

/* ---------- Top bar ---------- */
.top-bar{
  background: var(--dark2);
  color: #ccc;
  font-size: 13px;
  padding: 6px 0;
}
.top-bar a{ color: #ccc; }
.top-bar .social-links a{
  color: #ccc;
  margin-left: 14px;
  font-size: 14px;
}
.top-bar .social-links a:hover{ color: var(--accent); }

/* ---------- Header ---------- */
.main-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}
.header-upper{
  padding: 14px 0;
}
.header-upper .logo img{ height: 54px; }
.header-upper .info-box{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 30px;
}
.header-upper .info-box .icon{
  width: 42px; height:42px;
  border: 1px solid var(--accent);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  color: var(--accent);
  font-size: 18px;
  flex-shrink:0;
}
.header-upper .info-box .text small{
  display:block;
  color:#999;
  font-size: 11px;
  text-transform: uppercase;
}
.header-upper .info-box .text strong{
  display:block;
  color: var(--dark);
  font-size: 15px;
}
.navbar-main{
  background: var(--dark);
  margin: 0;
  border: none;
  border-radius: 0;
  min-height: 46px;
}
.navbar-main .navbar-nav > li > a{
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: .5px;
  padding: 14px 18px;
}
.navbar-main .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li.active > a{
  color: var(--accent);
  background: transparent;
}
.navbar-main .navbar-toggle{ border-color: #555; margin: 6px 15px; }
.navbar-main .navbar-toggle .icon-bar{ background:#fff; }

/* ---------- Hero / carousel ---------- */
.hero-slide{
  position: relative;
  height: 560px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}
.hero-slide::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(10,10,10,.55);
}
.hero-slide .container{ position: relative; z-index: 2; }
.hero-slide .caption{
  max-width: 620px;
  color:#fff;
}
.hero-slide .caption h2{
  color:#fff;
  font-size: 42px;
  line-height:1.15;
  margin: 0 0 20px;
}
.hero-slide .caption h2 em{
  font-style: normal;
  color: var(--accent);
  display:block;
}
.hero-slide .caption p{
  font-size: 16px;
  margin-bottom: 28px;
}
.owl-carousel .owl-dots{ text-align:center; margin-top:-45px; position:relative; z-index:3;}
.owl-carousel .owl-dot span{
  width:12px;height:12px;margin:5px;background:rgba(255,255,255,.5);display:block;border-radius:50%;
}
.owl-carousel .owl-dot.active span{ background: var(--accent); }

/* ---------- Sections ---------- */
.section{ padding: 80px 0; }
.section-title{ text-align:center; margin-bottom: 50px; }
.section-title h2{ font-size: 32px; margin-bottom: 14px; }
.section-title p{ color: var(--grey-text); max-width: 650px; margin: 0 auto; }
.bg-light{ background: var(--light-bg); }

.why-box{
  text-align:center;
  padding: 40px 25px;
  background:#fff;
  border: 1px solid #eee;
  border-radius: 4px;
  height: 100%;
}
.why-box .num{
  font-size: 44px;
  font-weight: 800;
  color: #eee;
  margin-bottom: 10px;
}
.why-box h3{ font-size: 19px; margin-bottom: 12px;}
.why-box p{ color: var(--grey-text); font-size: 14px; }

.service-card{
  background:#fff;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 34px 26px;
  margin-bottom: 30px;
  height: calc(100% - 30px);
  transition: box-shadow .2s, transform .2s;
}
.service-card:hover{
  box-shadow: 0 15px 35px rgba(0,0,0,.08);
  transform: translateY(-4px);
}
.service-card .icon{
  font-size: 34px;
  color: var(--accent);
  margin-bottom: 18px;
}
.service-card h3{ font-size: 18px; margin-bottom: 12px; }
.service-card p{ color: var(--grey-text); font-size: 14px; margin: 0; }

.about-section img{
  border-radius: 6px;
  width: 100%;
}
.about-section .grey-line{
  color: var(--grey-text);
}

/* ---------- Page title (inner pages) ---------- */
.page-title{
  background: var(--dark2);
  padding: 70px 0;
  text-align:center;
}
.page-title h1{ color:#fff; margin:0 0 10px; font-size: 32px;}
.page-title .crumb{ color:#aaa; font-size:14px;}
.page-title .crumb a{ color:#ccc; }
.page-title .crumb .sep{ margin:0 8px; }

/* ---------- Contact ---------- */
.contact-form .form-control{
  border-radius: 2px;
  box-shadow:none;
  border-color:#e2e2e2;
  height:46px;
  margin-bottom: 20px;
}
.contact-form textarea.form-control{ height: 140px; }
.form-disabled-note{
  background:#fff3cd;
  border:1px solid #ffe08a;
  color:#7a5b00;
  padding:14px 18px;
  border-radius:4px;
  margin-bottom:22px;
  font-size:14px;
}
.contact-info-list{ list-style:none; padding:0; margin:0; }
.contact-info-list li{
  display:flex;
  gap:16px;
  margin-bottom: 26px;
}
.contact-info-list .icon{
  width:48px;height:48px;flex-shrink:0;
  border-radius:50%;
  background: var(--accent);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.contact-info-list strong{ display:block; text-transform:uppercase; font-size:13px; color:var(--dark); }
.map-frame{ border:0; width:100%; height:380px; border-radius:6px; }

/* ---------- Footer ---------- */
.main-footer{
  background: var(--dark);
  color: #aaa;
  padding-top: 60px;
  font-size: 14px;
}
.main-footer h4{
  color:#fff;
  font-size:16px;
  margin-bottom:22px;
  text-transform: uppercase;
}
.main-footer ul{ list-style:none; padding:0; margin:0; }
.main-footer ul li{ margin-bottom: 10px; }
.main-footer ul li a{ color:#aaa; }
.main-footer ul li a:hover{ color: var(--accent); }
.main-footer .about-widget p{ color:#999; }
.main-footer .social-links a{
  display:inline-flex;
  width:34px; height:34px;
  border:1px solid #444;
  border-radius:50%;
  align-items:center; justify-content:center;
  color:#ccc;
  margin-right:8px;
  margin-top: 10px;
}
.main-footer .social-links a:hover{ border-color: var(--accent); color: var(--accent); }
.footer-bottom{
  border-top: 1px solid #333;
  margin-top: 40px;
  padding: 20px 0;
  text-align:center;
  color:#777;
  font-size:13px;
}

@media (max-width: 767px){
  body{ padding-top: 96px; }
  .header-upper .info-box{ display:none; }
  .hero-slide{ height: 460px; }
  .hero-slide .caption h2{ font-size: 30px; }
  .section{ padding: 55px 0; }
}
