/********** Template CSS **********/
:root {
    --primary: #E85D04;
    --secondary: #370617;
    --light: #FFF3E0;
    --dark: #1B1B2F;
}

.btn {
    font-weight: 700;
    transition: .5s;
}

.btn:hover {
    -webkit-box-shadow: 0 8px 6px -6px #555555;
    -moz-box-shadow: 0 8px 6px -6px #555555;
    box-shadow: 0 8px 6px -6px #555555;
}

.btn-primary { color: #FFFFFF; }

.btn-square { width: 36px; height: 36px; }
.btn-sm-square { width: 28px; height: 28px; }
.btn-lg-square { width: 46px; height: 46px; }

.btn-square, .btn-sm-square, .btn-lg-square {
    padding-left: 0; padding-right: 0; text-align: center;
}

.back-to-top {
    position: fixed; display: none; right: 30px; bottom: 0;
    border-radius: 50% 50% 0 0; z-index: 99;
}

.navbar-light .navbar-nav .nav-link {
    font-family: 'Barlow Condensed', sans-serif;
    position: relative; margin-left: 30px; padding: 30px 0;
    font-size: 18px; font-weight: 700; color: var(--dark);
    outline: none; transition: .5s; letter-spacing: 0.05em; text-transform: uppercase;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active { color: var(--primary); }

@media (min-width: 992px) {
    .navbar-light .navbar-nav .nav-link::before {
        position: absolute; content: ""; width: 0; height: 5px;
        bottom: 0; left: 50%; background: var(--primary); transition: .5s;
    }
    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before { width: 100%; left: 0; }
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link { margin-left: 0; padding: 10px 0; }
}

.hero-header {
    background: linear-gradient(135deg, rgba(27,27,47,0.88) 0%, rgba(232,93,4,0.70) 100%),
                url(../img/hero.jpg) center center no-repeat;
    background-size: cover;
}

.service-item {
    position: relative; height: 350px; padding: 0 30px; transition: .5s;
}
.service-item .service-icon {
    width: 150px; height: 100px; display: flex; align-items: center;
    justify-content: center; background: var(--primary);
    border-radius: 50%; transform: rotate(-14deg);
}
.service-item .service-icon i { transform: rotate(15deg); }

.service-item a.btn {
    position: absolute; width: 60px; bottom: -48px;
    left: 50%; margin-left: -30px; opacity: 0;
}
.service-item:hover a.btn { bottom: -24px; opacity: 1; }

.price-carousel::after {
    position: absolute; content: ""; width: 100%; height: 50%;
    bottom: 0; left: 0; background: var(--primary);
    border-radius: 8px 8px 50% 50%; z-index: -1;
}
.price-carousel .owl-nav {
    margin-top: 35px; width: 100%; text-align: center; display: flex; justify-content: center;
}
.price-carousel .owl-nav .owl-prev,
.price-carousel .owl-nav .owl-next {
    position: relative; margin: 0 5px; width: 45px; height: 45px; display: flex;
    align-items: center; justify-content: center; color: var(--primary);
    background: #FFFFFF; font-size: 22px; border-radius: 45px; transition: .5s;
}
.price-carousel .owl-nav .owl-prev:hover,
.price-carousel .owl-nav .owl-next:hover { color: var(--dark); }

@media (min-width: 576px) { .team-item .row { height: 350px; } }

.team-carousel .owl-nav {
    position: absolute; padding: 0 45px; width: 100%; height: 45px;
    top: calc(50% - 22.5px); left: 0; display: flex; justify-content: space-between;
}
.team-carousel .owl-nav .owl-prev,
.team-carousel .owl-nav .owl-next {
    position: relative; width: 45px; height: 45px; display: flex;
    align-items: center; justify-content: center; color: #FFFFFF;
    background: var(--primary); border-radius: 45px; font-size: 22px; transition: .5s;
}
.team-carousel .owl-nav .owl-prev:hover,
.team-carousel .owl-nav .owl-next:hover { background: var(--dark); }

.testimonial-carousel .owl-dots {
    margin-top: 15px; display: flex; align-items: center; justify-content: center;
}
.testimonial-carousel .owl-dot {
    position: relative; display: inline-block; margin: 0 5px; width: 20px; height: 20px;
    background: var(--light); border: 2px solid var(--primary); border-radius: 20px; transition: .5s;
}
.testimonial-carousel .owl-dot.active { width: 40px; height: 40px; background: var(--primary); }
.testimonial-carousel .owl-item img { width: 150px; height: 150px; }

.navbar-brand h1 {
    font-family: 'Barlow Condensed', sans-serif;
    letter-spacing: 0.05em;
}

.hours-pill {
    display: inline-block; background: var(--primary); color: #fff;
    border-radius: 20px; padding: 2px 14px;
    font-size: 0.82rem; font-weight: 600;
}

.hours-table th { background: var(--primary); color: #fff; }
.hours-table td { font-size: 0.92rem; vertical-align: middle; }
.open-dot {
    display: inline-block; width: 8px; height: 8px;
    border-radius: 50%; background: #28a745; margin-right: 6px;
}
