/* custom.css — general site overrides */

/* ============================================================
   INNER PAGE BANNER RESPONSIVE FIXES
   ============================================================ */
.wt-bnr-inr {
    height: auto !important;
    min-height: 350px !important;
    background-position: center center !important;
    padding: 60px 0 !important;
}

/* Fix bracket box around the title */
.wt-bnr-inr-entry .banner-title-outer {
    width: auto !important;
    max-width: 100%;
    display: inline-block !important;
    padding: 40px 30px !important;
    margin-bottom: 20px;
}

.wt-bnr-inr-entry .banner-title-name {
    width: auto !important;
    max-width: 800px !important;
}

/* Tablet */
@media (max-width: 991px) {
    .wt-bnr-inr-entry .banner-title-outer {
        padding: 30px 20px !important;
        border-width: 6px !important;
    }
    .wt-bnr-inr-entry .banner-title-outer:after,
    .wt-bnr-inr-entry .banner-title-outer:before {
        width: 6px !important;
        height: 30px !important;
    }
    .wt-bnr-inr-entry .banner-title-name h2 {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
    p.text-paras { padding: 0 !important; }
}

/* ============================================================
   MOBILE <= 767px
   ============================================================ */
@media (max-width: 767px) {

    /* Banner */
    .wt-bnr-inr {
        min-height: 250px !important;
        padding: 40px 0 !important;
    }
    .wt-bnr-inr-entry .banner-title-outer {
        padding: 20px 15px !important;
        border-width: 4px !important;
    }
    .wt-bnr-inr-entry .banner-title-outer:after,
    .wt-bnr-inr-entry .banner-title-outer:before {
        width: 4px !important;
        height: 20px !important;
    }
    .wt-bnr-inr-entry .banner-title-name h2 {
        font-size: 14px !important;
    }


    /* ---- BOTTOM ACTION BAR ----
       Targets BOTH class names used across the site:
       - .icon-bars  (used in footer.php include)
       - .icon-bar   (used in index.php)
    ----------------------------------------- */
    .icon-bars,
    .icon-bar {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        display: flex !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
        /* Reset the side-bar positioning from style.css */
        top: auto !important;
    }
    .icon-bars a,
    .icon-bar a {
        flex: 1 !important;
        text-align: center !important;
        padding: 16px 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #ffffff !important;
        font-size: 22px !important;
        box-sizing: border-box !important;
        border: none !important;
        text-decoration: none !important;
    }

    /* Hide the duplicate .share-bar on mobile — .icon-bars/icon-bar handles it */
    .share-bar {
        display: none !important;
    }
}

/* ============================================================
   DESKTOP >= 768px: hide mobile-only bottom bars
   .share-bar = side floating bar (desktop only, keep visible)
   .icon-bars / .icon-bar = shown as SIDE bar on desktop via style.css
   ============================================================ */
@media (min-width: 768px) {
    /* These are side floating bars on desktop — keep them */
    .icon-bars,
    .icon-bar {
        display: block !important; /* restored to style.css default */
    }
}

/* ============================================================
   BODY / PAGE WRAPPER — prevent horizontal scroll
   ============================================================ */
html, body {
    overflow-x: hidden;
    position: relative;
    width: 100%;
}

.page-wraper {
    overflow-x: hidden;
    width: 100%;
}

/* ============================================================
   REVOLUTION SLIDER — remove unwanted top spacing
   ============================================================ */
.rev_column_bg, .rev_slider_wrapper, #welcome_wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    top: 0 !important;
}

.tp-caption.rev_column {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================================================
   SCROLL TO TOP — Lift above the mobile action bar
   ============================================================ */
@media (max-width: 768px) {
    button.scroltop {
        bottom: 75px !important;
    }
}
/* ============================================================
   PROJECTS REDESIGN (Dynamic Tabs & Responsive Layout)
   ============================================================ */
.projects-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Tabs Styling */
.projects-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 30px;
    border-bottom: 2px solid #eaeaea;
    padding-bottom: 20px;
}
.projects-tabs button {
    background: #f8f9fa;
    border: 1px solid #ddd;
    padding: 10px 25px;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: capitalize;
}
.projects-tabs button:hover,
.projects-tabs button.active {
    background: #007bff;
    color: #fff;
    border-color: #007bff;
    box-shadow: 0 4px 10px rgba(0, 123, 255, 0.3);
}

/* Tab Content */
.project-tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
}
.project-tab-content.active {
    display: block;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Layout: Grid for Images, List for Names */
.project-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.project-gallery {
    flex: 1 1 60%;
    column-count: 2;
    column-gap: 15px;
}
.project-gallery > a {
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
    break-inside: avoid;
}
.project-gallery img {
    width: 100%;
    height: auto; /* natural height, no cut */
    display: block;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.project-gallery a:hover img {
    transform: scale(1.03);
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

.project-list-sidebar {
    flex: 1 1 35%;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.project-list-sidebar h3 {
    margin-top: 0;
    font-size: 18px;
    border-bottom: 2px solid #007bff;
    padding-bottom: 10px;
    margin-bottom: 15px;
    color: #333;
}
.project-list-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.project-list-sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid #f5f5f5;
    font-size: 14px;
    color: #555;
    display: flex;
    align-items: center;
}
.project-list-sidebar li i {
    color: #007bff;
    margin-right: 10px;
}
.project-list-sidebar li:last-child {
    border-bottom: none;
}

/* Mobile First Reordering */
@media (max-width: 991px) {
    .project-grid {
        flex-direction: column-reverse;
    }
    .project-gallery {
        flex: 1 1 100%;
    }
    .project-list-sidebar {
        flex: 1 1 100%;
    }
}
/* ============================================================
   SERVICE SIDEBAR LIST STYLING
   ============================================================ */
.service-sidebar-list {
    list-style: none;
    background-color: #fff;
    font-size: 15px;
    padding: 0;
    margin: 0;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    overflow: hidden;
}
.service-sidebar-list li {
    border-bottom: 1px solid #f5f5f5;
}
.service-sidebar-list li:last-child {
    border-bottom: none;
}
.service-sidebar-list li a {
    color: #000;
    text-decoration: none;
    display: block;
    padding: 18px 20px;
    transition: all 0.3s ease;
    font-size: 15px;
}
.service-sidebar-list li a:hover {
    color: #08a38c;
    background-color: #f9f9f9;
}
.service-sidebar-list li.active-tag a {
    color: #08a38c;
    font-weight: 500;
}
/* Responsive Service Page Layout */
@media (max-width: 991px) {
    .service-layout-row {
        display: flex;
        flex-direction: column-reverse;
    }
    .service-layout-row .widget_services {
        margin-top: 40px;
    }
}

/* Center Product Names */
.wt-team-six .wt-team-info {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}

/* Client Logos Layout */
.client-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;
    padding: 0px;
    margin-bottom: 30px;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.client-logo-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
}
.client-logo-box img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
}

/* Fix Get Quote Form Layout */
@media (min-width: 992px) {
    .contact-one {
        margin: 0 auto !important;
        padding-right: 340px !important;
        max-width: 1000px !important;
    }
    .contact-info {
        right: 15px !important;
        top: 30px !important;
    }
}
