.tm-sc-logo-type-image {
    background-color: white;
    border-radius: 10px;
    padding: 10px;
}

.footer_logo {
    background-color: white;
    border-radius: 10px;
    padding: 10px;
    width: 65%
}

/*Contact*/
.custom-card {
    border: 1px solid #ddd;
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    background: linear-gradient(to bottom right, #ffffff, #f1f1f1);
    width: 100%;
    max-width: 250px;
    margin: auto;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

    .custom-card:hover .card-id {
        color: #d9534f;
    }

    .custom-card .card-img {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

        .custom-card .card-img:hover {
            transform: scale(1.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        }

.card-details {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

    .card-details li {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        color: #333;
        margin: 8px 0;
        transition: color 0.3s;
    }

.card-id {
    font-weight: bold;
    color: #c34a4b;
}
/*Contact*/

/*popup*/
body.no-scroll {
    overflow: hidden;
}

.popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(15,15,20,.72);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 1000005; /* ensure above sticky header */
    animation: popupFade .25s ease;
}

@keyframes popupFade {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.popup-content {
    position: absolute;
    top: clamp(70px, 7vh, 120px); /* place near top below header */
    left: 50%;
    transform: translateX(-50%); /* only horizontal centering */
    background: #fff;
    padding: 8px 10px 8px;
    border-radius: 14px;
    border: 3px solid #fff; /* explicit border so all sides (incl. bottom) stay visible over shadow */
    box-shadow: 0 18px 55px -8px rgba(0,0,0,0.45);
    z-index: 1000006;
    max-width: min(720px,92vw);
    width: min(720px,92vw);
    max-height: calc(100vh - clamp(90px, 10vh, 140px)); /* leave breathing room */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Added persistent footer below image */
.popup-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 14px 12px; background:#fff; border-top:1px solid #e2e2e6; font-family:inherit; }
.popup-footer-caption { flex:1 1 auto; font-size:14px; font-weight:600; color:#222; line-height:1.3; }
.popup-footer-counter { flex:0 0 auto; background:#222; color:#fff; font-size:12px; padding:5px 10px; border-radius:12px; font-weight:500; letter-spacing:.5px; }

@media (max-width:768px){ .popup-footer{ padding:8px 12px 10px; } .popup-footer-caption{ font-size:13px; } }
@media (max-width:480px){ .popup-footer{ padding:7px 10px 9px; } .popup-footer-caption{ font-size:12.5px; } }

.popup-image-area {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.popup-content img {
    max-width: 100%;
    /*max-height: 78vh;*/
    object-fit: cover;
    width: auto;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgba(0,0,0,.22);
}

.close-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    font-size: 16px;
    cursor: pointer;
    background: #ff2e2e;
    color: #fff;
    border-radius: 50%;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, transform .2s;
    z-index: 1000008;
    font-weight: 600;
    line-height: 1;
    box-sizing: border-box;
}

    .close-btn:hover {
        background: #e00000;
        transform: scale(1.1);
    }

.popup-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.95);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
    z-index: 1000007;
    box-shadow: 0 3px 10px rgba(0,0,0,.22);
    box-sizing: border-box;
}

    .popup-nav-btn .nav-arrow {
        color: #222;
        font-size: 18px;
        line-height: 1;
        font-weight: 600;
    }

    .popup-nav-btn:hover {
        background: #fff;
        box-shadow: 0 4px 14px rgba(0,0,0,.3);
        transform: translateY(-50%) scale(1.15);
    }

    .popup-nav-btn:active {
        transform: translateY(-50%) scale(.9);
    }

.popup-prev-btn {
    left: 14px;
}

.popup-next-btn {
    right: 14px;
}
/* Overlay bar inside image */
.popup-overlay-bar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient( to top, rgba(0,0,0,.65), rgba(0,0,0,.35), rgba(0,0,0,0));
    padding: 10px 14px 18px;
    box-sizing: border-box;
    border-radius: 0 0 8px 8px;
}
/* Internal bottom gap so border looks even: push bar up and show white area */
.popup-image-area { padding-bottom:8px; box-sizing:border-box; }
.popup-overlay-bar { bottom:8px; }
.popup-overlay-bar::after { display:none !important; }

/* Maintain visible white frame at bottom of popup (previously gradient touched container edge)
   We inset the overlay bar so the container's white padding shows uniformly on all sides. */
/* Revert inset attempt so caption/text always visible; rely on explicit container border now */
.popup-content .popup-overlay-bar { left:0; right:auto; width:100%; bottom:0; border-radius:0 0 8px 8px; padding:10px 14px 18px; }

.popup-caption {
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    text-align: left;
    line-height: 1.3;
}

.popup-counter {
    flex: 0 0 auto;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 12px;
    font-weight: 500;
    min-width: 50px;
    text-align: center;
    letter-spacing: .5px;
}

@media (max-width: 1000px) {
    .popup-prev-btn {
        left: 12px;
    }

    .popup-next-btn {
        right: 12px;
    }
}

@media (max-width: 768px) {
    .popup-content { padding: 6px 8px 6px; top: 70px; max-height: calc(100vh - 90px); }

        .popup-content img {
            max-height: 74vh;
        }

    .popup-caption {
        font-size: 13px;
    }
}

@media (max-width: 600px) {
    .popup-overlay {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .popup-content { padding: 6px 6px 6px; top: 62px; max-height: calc(100vh - 80px); }

    .popup-overlay-bar {
        padding: 8px 10px 14px;
    }
}
/*popup*/

/* Stronger override to force inset bar (in case of later theme overrides) */
/* Ensure no later override shrinks it */
.popup-content > .popup-image-area > .popup-overlay-bar { 
    left:8px !important; 
    right:8px !important; 
    bottom:8px !important; 
    width:auto !important; 
    border-radius:6px !important;
    padding:8px 12px 10px 10px !important;
    background:linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,.34), rgba(0,0,0,0)) !important;
}


/* Prevent underlying main menu hover while popup open (keep header logo & close button clickable) */
body.no-scroll #mainmenu,
body.no-scroll #mainmenu * {
    pointer-events: none !important;
}

/* Ensure popup interactive elements remain clickable */
body.no-scroll .popup-overlay,
body.no-scroll .popup-overlay * {
    pointer-events: auto !important;
}

/* Slight safety offset: if header overlaps, push popup down a bit on very tall headers */
body.no-scroll .popup-content {
    margin-top: 0;
}


/* ================= About Us Page Responsive Spacing Fixes ================= */
/* Grid fallback: force stacking on narrow screens (existing markup uses col-4/col-8 without breakpoints) */
.about-row {
    gap: 0 24px;
}

@media (max-width: 992px) {
    .about-row {
        display: flex;
        flex-direction: column;
    }

        .about-row .col-4,
        .about-row .col-8 {
            width: 100% !important;
            max-width: 100% !important;
        }
    /* Remove negative sidebar offset & large top spacing on main content */
    .about-sidebar-wrapper {
        margin-top: 0 !important;
    }

    .about-main-col .elementor-widget-wrap {
        margin-top: 40px !important;
    }
}

@media (max-width: 768px) {
    .about-main-col .elementor-widget-wrap {
        margin-top: 28px !important;
    }
}

@media (max-width: 560px) {
    .about-main-col .elementor-widget-wrap {
        margin-top: 20px !important;
    }
}

/* Adjust custom section offset helpers if present */
/* Tighter spacing around Founder Vision section (further reduced) */
.about-section-offset {
    margin-top: 10px;
}

.about-section-offset-deeper {
    margin-top: 12px;
}

/* Ultra-tight spacing just for the Founder Vision block */
.founder-vision-section {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
}

    .founder-vision-section h3.elementor-heading-title {
        margin-top: 0;
        margin-bottom: 8px;
    }

    .founder-vision-section .elementor-widget-text-editor p {
        margin-bottom: 10px;
    }

@media (max-width: 992px) {
    .founder-vision-section {
        margin-top: 6px !important;
        margin-bottom: 10px !important;
    }
}

@media (max-width: 560px) {
    .founder-vision-section {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }
}

@media (max-width: 992px) {
    .about-section-offset {
        margin-top: 18px;
    }

    .about-section-offset-deeper {
        margin-top: 10px;
    }
}

@media (max-width: 560px) {
    .about-section-offset {
        margin-top: 16px;
    }

    .about-section-offset-deeper {
        margin-top: 8px;
    }
}
/* ========================================================================== */


.themetechmount-box-portfolio .tm-featured-wrapper.tm-tm_portfolio-featured-wrapper img.wp-post-image {
    border-radius: 5px;
}

/* ================= Service Detail Page Responsive Fixes ================= */
.service-detail-row {
    gap: 0 24px;
}

/* Remove legacy inline negative margins if still present */
.service-sidebar-wrapper,
.service-main-inner {
    margin-top: 0 !important;
}

.service-main-inner {
    margin-bottom: 60px;
}

/* Force columns to stack on tablets & below (since markup uses generic col-4/col-8) */
@media (max-width: 992px) {
    .service-detail-row {
        display: flex;
        flex-direction: column;
    }

        .service-detail-row .service-sidebar-col,
        .service-detail-row .service-main-col {
            width: 100% !important;
            max-width: 100% !important;
        }

    .service-sidebar-wrapper {
        margin-bottom: 20px;
    }

    .service-main-inner {
        margin-top: 10px !important;
    }
}

@media (max-width: 768px) {
    .service-main-inner {
        margin-top: 8px !important;
        margin-bottom: 40px;
    }

    .service-detail-row .tm-all-post-list li a.projectButtonListItem {
        padding: 6px 10px;
        display: block;
    }
}

@media (max-width: 560px) {
    .service-main-inner {
        margin-bottom: 30px;
    }
        /* Make portfolio images 2 per row on small screens */
        .service-main-inner .themetechmount-boxes-row-wrapper .tm-box-col-wrapper {
            width: 50% !important;
        }
}

@media (max-width: 420px) {
    /* Single column images on very small screens */
    .service-main-inner .themetechmount-boxes-row-wrapper .tm-box-col-wrapper {
        width: 100% !important;
    }
}
/* ======================================================================= */

/* ================= Global Titlebar/Breadcrumb Gap Removal =============== */
/* Eliminates extra vertical whitespace below the title / breadcrumb bar across pages */
.tm-titlebar-wrapper {
    margin-bottom: 0 !important;
}

    .tm-titlebar-wrapper + #content-wrapper,
    .tm-titlebar-wrapper + .site-content-wrapper {
        margin-top: 0 !important;
    }

#content-wrapper .site-content {
    padding-top: 0 !important;
}

#content-wrapper .entry-content {
    margin-top: 0 !important;
}

.breadcrumb-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* ======================================================================= */

/* ======================================================================= */
/* Always show portfolio overlay text on touch devices / small screens     */
/* Applies to Residential & Commercial service grids (shared wrapper class)*/
/* We target both width breakpoints and pointer/hover capability so that   */
/* tablets in landscape (large width but no hover) also get persistent text*/
@media (max-width: 992px), (hover: none), (pointer: coarse) {
    .services-residential-gallery .themetechmount-portfoliobox-style2 .figcaption,
    .services-residential-gallery .themetechmount-portfoliobox-style2 .themetechmount-box-category,
    .services-residential-gallery .themetechmount-portfoliobox-style2 .tm-project-readmore-btn {
        opacity: 1 !important; /* reveal without hover */
    }

        /* Ensure decorative border lines also appear (they normally animate on hover) */
        .services-residential-gallery .themetechmount-portfoliobox-style2 .figcaption:before,
        .services-residential-gallery .themetechmount-portfoliobox-style2 .figcaption:after {
            opacity: 1 !important;
            transform: scale(1) !important;
        }

    /* Optional: soften full image dimming when always visible (tweak alpha) */
    .services-residential-gallery .themetechmount-portfoliobox-style2 .figcaption {
        background-color: rgba(24,24,24,0.55) !important; /* was 0.73 */
    }
}
/* ======================================================================= */


#dbContentPanel {
    margin-top: 50px !important;
}
#inoterior_all_post_list_widget-1 {
    margin-top: 70px !important;
}
