/* custom css  */
* {
    margin: 0;
    padding: 0;
}

body h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
div,
label,
input,
textarea,
number button {
    font-family: 'Poppins', sans-serif;
}

#masthead {
    position: relative;
}

.sticky-logo {
    display: none;
}

#masthead .main-header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    background: transparent;
}

.container .nv-big-title,
body .wrapper a.neve-skip-link {
    display: none !important;
}

body.sticky #masthead .main-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    background-color: #0b0b0b;
}

/* body.sticky #masthead .main-header .header-wrap{
    width: 55%;
} */


.main-header .header-menu ul li.current_page_item a {
    font-weight: 600 !important;
    font-size: 18px !important;

}

.copyright-wrap a {
    color: #000;

}

.copyright-wrap a:hover {
    color: #0E457E;
    text-decoration: underline;
}

.hero-banner-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.hero-banner-content {
    width: 100%;
    height: 100vh;
    /* Adjust height as needed */
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    position: relative;
}

.hero-banner-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.auto-container {
    margin-bottom: 50px;
}

.auto-container .text-content h1 {
    position: relative;
    display: block;
    color: #fff;
    font-size: 72px;
    line-height: 76px;
    font-weight: 700;
    font-family: 'Gilroy-SemiBold', sans-serif;
    opacity: 0;
    transform: translateX(-500px);
    transition: all 1000ms ease;
    z-index: 2;
    opacity: 0;
}

/* ✅ Apply animation when active */
.active .text-content h1 {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 500ms;
    /* Delays animation slightly for better effect */
}


.text-content {
    color: #fff;
    text-align: center;
}

.hero-title {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.hero-des {
    font-size: 1.2rem;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
    transform: translateX(500px);
    transition: all 1000ms ease;
    z-index: 2;
    opacity: 0;
}

.active .hero-des {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 500ms;
}


.owl-dots {
    position: absolute;
    bottom: 10%;
    left: 44%;
    /* Adjust as needed */
    transform: translateY(-50%);
    display: flex;
    flex-direction: row;
    /* Arrange dots vertically */
    gap: 8px;
    /* Space between dots */
}

/* Style each dot */
.owl-dots .owl-dot span {
    width: 50px;
    height: 5px;
    background: #C7BEB5;
    border-radius: 10px;
    display: block;
    transition: background 0.3s;
}

.owl-item.active .hero-banner-content {
    animation: none;
    /* Remove zoom from the entire slide */
}

/* Add zoom effect only to the background image */
.owl-item.active .hero-banner-content::before {
    animation: zoomBackground 5s ease-in-out infinite alternate;
    transform-origin: center center;
}




/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .auto-container .text-content h1 {
        line-height: 26px;
        font-weight: 500;
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .hero-des {
        font-size: 1rem;
        margin-left: 10px;
        margin-right: 10px;

    }

    .hero-banner-content {
        height: 60vh;
    }

    .owl-nav {
        display: none;
    }

    .owl-dots {
        position: absolute;
        bottom: 10%;
        left: 40%;
        /* Adjust as needed */
        transform: translateY(-50%);
        display: flex;
        flex-direction: row;
        /* Arrange dots vertically */
        gap: 8px;
        /* Space between dots */
    }

    /* Style each dot */
    .owl-dots .owl-dot span {
        width: 30px;
        height: 5px;
        background: #C7BEB5;
        border-radius: 10px;
        display: block;
        transition: background 0.3s;
    }
}




/* ------------------------------------------------------ */
/* About US Section */
/* ------------------------------------------------------ */
.about-sec {
    margin: 100px auto;
}



.product-wrap {
    position: relative;
    width: 310px;
    /* Adjust to your image size */
    height: 400px;
    /* Adjust as necessary */
    perspective: 1000px;
    /* Adds perspective to the 3D flip */
    cursor: pointer;
}

.product-img-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    /* Keep 3D transformations */
    transition: transform 0.8s ease;
    /* Smooth transition for flip */
}

.product-wrap:hover .product-img-wrap {
    transform: rotateY(180deg);
    /* Flip the card when hovered */
}

.product-img {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    /* Hides the back of the element during the flip */
}

.with-out-hover {
    display: block;
    /* Front side visible by default */
}

.with-hover {
    display: none;
    /* Back side hidden initially */
    transform: rotateY(180deg);
    /* Rotate back side */
}

.product-wrap:hover .with-out-hover {
    display: none;
    /* Hide front side on hover */
}

.product-wrap:hover .with-hover {
    display: block;
    /* Show back side on hover */
}

.title-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 10px;
    text-align: center;
    transition: opacity 0.3s ease;
}

.product-wrap:hover .title-wrap {
    opacity: 1;
    /* Fade out the title on hover */
}


.swiper-slide {
    width: 214px;
    left: 20px;
    right: 10px;
    margin-left: 80px;
}

.client-slider {
    text-align: center;
    padding: 20px 0;
}

.client-slider.owl-carousel.owl-drag .owl-item {
    border: 1px solid #0057b386;
    border-radius: 5px;
}

.client-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    /* Tame je size mangeo e */
    height: 73px;
    margin: auto;
}

.client-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* /--------------------------------------/ */
.testimonials-slider {
    max-width: 1120px;
    margin: 0 auto !important;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: center;
}

.testimonial-card {
    background-color: white;
    border-radius: 12px;
    padding: 30px;
    margin-left: 12px;
    width: auto;
    height: 615px !important;
    position: relative;
    border: 1px solid #C7D5E9;
    /* overflow: visible; */
}

.testimonials-slider .testimonial-card::before {
    content: "";
    background-image: url('../image/Asset-1-1.png');
    position: absolute;
    right: 0;
    /* z-index: 2; */
    background-size: contain;
    background-repeat: no-repeat;
    top: 0;
    width: 140px;
    height: 180px;
}

.testimonial-header {
    text-align: center;
    margin-bottom: 20px;
    position: relative;
    margin-top: 70px;
}

.testimonial-name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.image-con-wrap {
    position: relative;
}

.image-about-sec {
    position: absolute;
    bottom: 5%;
}

.profile-img {
    width: 180px !important;
    height: 80px !important;
    /* border-radius: 50%; */
    object-fit: contain;
    margin: 20px auto;
    display: block;
    border: 4px solid white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.quote-mark {
    font-size: 30px;
    color: #ddd;
    top: 50%;
    line-height: 1;
    margin-bottom: 10px;
    font-family: Georgia, serif;
    position: absolute;
    left: -50px;
    background: #fff;
    border-radius: 50%;
    padding: 10px;
}

.testimonial-text {
    text-align: center;
    line-height: 1.6;
    color: #666;
}

.testimonials-slider {
    position: relative;
    width: 100%;
}

/* Navigation container */
.testimonials-slider .owl-nav {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 20px 0;
    position: absolute;
    width: 100%;
    top: 50%;
}

/* Prev/Next buttons */
.testimonials-slider .owl-prev,
.testimonials-slider .owl-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: transparent !important;
    border: 1px solid #d0d0d0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    transition: all 0.3s ease;
    position: relative;
}

/* Adjust button positioning */
.testimonials-slider .owl-prev {
    position: absolute !important;
    left: -50px !important;
}

.testimonials-slider .owl-next {
    position: absolute !important;
    right: -50px !important;
}

/* Arrow styling */
.testimonials-slider .owl-prev span,
.testimonials-slider .owl-next span {
    font-size: 18px;
    color: #555;
    transition: color 0.3s ease;
}

/* Horizontal line animation */
.testimonials-slider .owl-prev::after,
.testimonials-slider .owl-next::before {
    /* content: ""; */
    position: absolute;
    height: 1px;
    width: 0;
    background-color: #d0d0d0;
    top: 50%;
    transition: width 0.3s ease;
}

.testimonials-slider .owl-prev::after {
    right: -5px;
}

.testimonials-slider .owl-next::before {
    left: -5px;
}

/* Hover effects */
.testimonials-slider .owl-prev:hover,
.testimonials-slider .owl-next:hover {
    border-color: #888;
}

.testimonials-slider .owl-prev:hover span,
.testimonials-slider .owl-next:hover span {
    color: #333;
}

/* Line expansion on hover */
.testimonials-slider .owl-prev:hover::after {
    width: 30px;
    right: -35px;
}

.testimonials-slider .owl-next:hover::before {
    width: 30px;
    left: -35px;
}

/* Circle fill effect on hover */
.testimonials-slider .owl-prev::before,
.testimonials-slider .owl-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background-color: rgba(240, 240, 240, 0.5);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
    z-index: -1;
}

.testimonials-slider .owl-prev:hover::before,
.testimonials-slider .owl-next:hover::after {
    width: 100%;
    height: 100%;
}

/* Responsive fixes */


.footer-right .elementor-image-box-img img {
    transition-duration: 0.3s;
    margin-top: -10px;
}


/**/
.contact-info-container {

    border-radius: 8px;

}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.contact-icon {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    margin-top: 0.5rem;
}

.contact-icon svg {
    width: 1.2rem;
    height: 1.2rem;
    color: #0a3d62;
}

.contact-info-item .contact-details {
    flex: 1;
    padding-top: 0.5rem;
}


.address-text,
.address-text p,
.phone-text {
    margin: 0 0 -5px 0;
    color: #4a4a4a;
    line-height: 30px;
    font-weight: 400;
    font-size: 17px !important;
}

.block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* For screens 1280px and wider */
@media (max-width: 1280px) {

    .address-text,
    .address-text p,
    .phone-text {
        font-size: 12px !important;
        /* font-weight: 600; */
    }
}

/* For screens between 1180px and 1279px */
@media (min-width: 1180px) and (max-width: 1279px) {

    .address-text,
    .address-text p,
    .phone-text {
        font-size: 15px !important;
    }
}

/* For screens between 1024px and 1179px */
@media (min-width: 1024px) and (max-width: 1179px) {

    .address-text,
    .address-text p,
    .phone-text {
        font-size: 14px !important;
    }
}

.contact-name {
    margin: 0 0 0.3rem 0;
    color: #000;
    font-size: 1rem;
}

.phone-link {
    color: #666;
    text-decoration: none;
}

.contact-divider {
    height: 1px;
    background-color: #ddd;
    margin: 1rem 0;
}




.mytheme-contact-container {
    /* background: #00205E; */
    color: #ffffff;
    padding: 30px;
    max-width: 100%;
    box-sizing: border-box;
}


.mytheme-contact-row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin-bottom: 20px;
}

.mytheme-contact-column {
    flex: 1;
    min-width: 240px;
    margin-bottom: 20px;
    padding: 0 15px;
}

.mytheme-contact-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.mytheme-contact-icon svg {
    width: 24px;
    height: 24px;
    color: #ffffff;
}

.mytheme-contact-label {
    font-size: 14px;
    /* text-transform: uppercase; */
    letter-spacing: 1px;
    color: #fff;
    margin-bottom: 10px;
    font-weight: 500;
    padding-top: 10px;
}

.contact-us-label {
    color: #ffffff;
    font-size: 16px;
    margin-top: 15px;
}

.mytheme-contact-text {
    font-size: 15px;
    line-height: 1.6;
    color: #e0e0e0;
}

.mytheme-contact-text a {
    color: #e0e0e0;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-info-item.email-wrap {
    display: flex;
    align-items: center;
}

.mytheme-contact-text a:hover {
    color: #ffffff;
}

.mytheme-social-icons {
    display: flex;
    margin-top: 20px;
}

.social-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    color: #ffffff;
    transition: opacity 0.3s ease;
}

.social-icon:hover {
    opacity: 0.7;
}

.social-icon svg {
    width: 18px;
    height: 18px;
}


/* Default styling */
.contact-wrap {
    display: flex;
    align-items: center;
    /* Fixed `end` to `flex-end` */
    gap: 0px;

    margin-bottom: 10px;
}

.client-slider
/* .contact-page .contact-details 
{max-height: 600px; } */

/* ***************************************** */
/* Contatc US  PAGE CSS */
/* **************************************** */
/**successful message*/
.wpcf7-form.sent .wpcf7-response-output {
    color: #2ecc71;
}

.input-box-wrap {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

/* Base styles for form elements */
.wpcf7-form .input-box {
    position: relative;
    margin-bottom: 20px;
    width: 100%;
}

.product-thumbnail.image-container {
    display: flex;
    /* padding-left: 20px; */
}

/* Input, Textarea, Select Styles */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form number,
.wpcf7-form select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #fff;
}

.wpcf7-form textarea {
    max-height: 150px;
    resize: none;
}

/* Label Styles */
.wpcf7-form .input-labal label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: #777;
    pointer-events: none;
    transition: all 0.3s ease;
    background: white;
    padding: 0 5px;
    width: fit-content !important;
}

.wpcf7-form .textarea-labal label {
    position: absolute;
    left: 12px;
    top: 15%;
    transform: translateY(-50%);
    font-size: 16px;
    color: #777;
    pointer-events: none;
    transition: all 0.3s ease;
    background: white;
    padding: 0 5px;
    width: fit-content !important;
}

/* Required Field Indicator */
.wpcf7-form label em {
    color: #f00;
}

/* Textarea Label Adjustments */
.wpcf7-form textarea+label {
    top: 12px;
    transform: none;
}

/* Focused Input Styling */
.wpcf7-form .input_focus input,
.wpcf7-form .input_focus textarea,
.wpcf7-form .input_focus select {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
}

/* Floating Label Effect */
.wpcf7-form .input_focus label,
.wpcf7-form .value_focus label {
    top: 0;
    font-size: 12px;
    padding: 0 5px;
    width: fit-content;
    transform: translateY(-50%);
    color: #0a3d62;
}

/* Submit Button */
.wpcf7-form .wpcf7-submit {
    display: inline-block;
    width: 100%;
    padding: 12px;
    font-size: 16px;
    background: rgb(10, 61, 98);
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s;
}

.wpcf7-form .wpcf7-submit:hover {
    background-color: rgb(14, 84, 134);
}

.g-recaptcha>div {
    -webkit-transform: scale(0.85);
    -moz-transform: scale(0.85);
    -ms-transform: scale(0.85);
    -o-transform: scale(0.85);
    transform: scale(0.85);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
}




.breadcrumb {
    font-size: 16px;
    padding: 10px 0;
    color: #fff;
}

.breadcrumb a {
    text-decoration: none;
    color: #fff;
    font-size: larger;
    /* color: #00205E; */
    font-weight: 800;
}

.breadcrumb i {
    font-size: 16px;
    padding: 0 10px;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.breadcrumb span {
    font-weight: bold;
    color: #fff;
}


/*************/
/*****404*/
/* 404 Page Styling */
.error-page {
    text-align: center;
    padding: 0;
    margin: 0;
}

/* Banner Section */
.error-banner {
    position: relative;
    width: 100%;
    height: 400px;
    /* Ensure a visible height */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.error-banner::after {
    content: "";
    background-image: url('../image/sand-pattn.png');
}

.error-banner::before {
    content: '';
    background: rgba(0, 0, 0, 0.3);
    opacity: 1;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    /* z-index: -15; */
    height: 400px;
}

/* 404 Content inside Banner */
.banner-error-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    padding: 15px 20px;
    border-radius: 8px;
    /* width: 90%;
    max-width: 450px; */
    /* background: rgba(0, 0, 0, 0.5);  */
}

/* 404 Title */
.banner-error-title {
    font-size: 60px;
    font-weight: bold;
    margin: 0;
    color: #fff;
}

/* Error Content */
.error-content {
    margin: 60px 20px;
}

.error-content h1 {
    font-size: 28px;
    color: #333;
}

.error-content p {
    font-size: 16px;
    color: #666;
    margin-bottom: 20px;
}

/* Back to Home Button */
.back-home-btn {
    display: inline-block;
    padding: 12px 20px;
    font-size: 16px;
    background: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.3s;
}

.back-home-btn:hover {
    background: #0056b3;
}



/*****************************/
/* Product Grid Styles */
.container {
    max-width: 1140px;
    margin: 100px auto;
    padding: 0 15px;
}

.page-title {
    text-align: center;
    margin: 40px 0;
    font-size: 32px;
    color: #333;
}

/* Product Grid Layout */
.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* Product Item */
.product-item {
    overflow: hidden;
    text-align: center;
    position: relative;
}

/* Product Link */
.product-link {
    /* display: block; */
    text-decoration: none;
    color: #333;
    padding: 15px;
    transition: all 0.3s ease;
}

/* Circular Thumbnail */
.product-thumbnail {
    width: 280px;
    height: 290px;
    border-radius: 12px 12px 0 0;
    /* object-fit: cover; */
    overflow: hidden;
    border: 1px solid #c9c9c9;
    margin: 0 auto 15px;
    background-color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* transition: transform 0.3s ease; */
}

/* Product Title */
.product-title {
    font-size: 18px;
    font-weight: 600;
    margin: 5px 0;
    color: #333;
}

/* View Product Section */
.view-product-wrap {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #C9C9C9;
    border-radius: 10px;
    align-items: center;
    /* padding: 10px; */
    transition: all 0.3s ease;
}

/* View Product Button */
.view-product {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-bottom: 5px;
    color: #0066cc;

    transition: color 0.3s ease;
}

/* Hover Effects */
.product-link:hover .view-product {
    color: #004b99;
}



/* Pagination Styling */
#products .pagination {
    text-align: center;
    margin: 40px 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
}

#products .pagination a,
#products .pagination span {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 3px;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 50%;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
}

#products .pagination a:hover,
#products .pagination span.current {
    background-color: #0066cc;
    color: white;
    border-color: #0066cc;
}

/* No Products Message */
.no-products {
    text-align: center;
    padding: 40px 0;
    font-size: 18px;
    color: #666;
}



/* Single Product Wrapper */


/* Product Container */
.product-container {
    max-width: 75%;
    margin: 0 auto;
    padding: 20px;
}

.single-product-wrapper {
    /* background: white; */
    border-radius: 8px;
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
    padding: 30px;
    margin-bottom: 30px;
}

.single-product-heading {
    font-size: 28px;
    margin-bottom: 20px;
    color: #2c3e50;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

/* Product Details Layout */
.single-product-details {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
}

.single-product-media {
    /* max-width: 600px;
    min-width: 600px;
    max-height: 500px;
    min-height: 500px; */
    /* max-height: 350px; */
    align-items: center;
    text-align: center;
    /* background:#000; */
}

.single-product-thumbnail {
    flex: 1;
    max-width: 600px;
    /* min-width: 600px; */
    max-height: 500px;
    min-height: 400px;
    align-items: center;
}

.single-product-thumbnail img {

    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 350px;
    min-height: 350px;
    object-fit: cover;
    border-radius: 6px;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
}

.single-product-meta {
    flex: 1;
    min-width: 300px;
}

.single-product-meta h2 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #2c3e50;
}

.single-product-meta p {
    margin-bottom: 12px;
    font-size: 16px;
}



.related-section {
    margin-top: 50px;
}

.related-section h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #2c3e50;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 25px;
}

.related-item {
    background: white;
    border-radius: 6px;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
    padding: 15px;
    transition: transform 0.3s ease;
}

.related-item:hover {
    transform: translateY(-5px);
}

.related-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    margin-bottom: 10px;
}

.related-item h3 {
    font-size: 18px;
    margin-bottom: 15px;
}

.related-item h3 a {
    color: #2c3e50;
    text-decoration: none;
}

.related-item h3 a:hover {
    color: #3498db;
}

.related-item .inquiry-btn {
    width: 100%;
    padding: 10px;
    font-size: 14px;
}

/* Responsive Adjustments */




/****************************************************************/
/*Shine Effect*/
/****************************************************************/
.image-container {
    position: relative;
    /* Needed for absolute positioning */
    overflow: hidden;
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); */
}

.image-container img {
    /* border-radius: 10px; */
    width: 100%;
    height: 100%;
    display: block;
}

/* Shine Effect - After */
.image-container::after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, .3);
    /* z-index: 1; */
    transform: translate(-50%, -50%) rotate(-45deg);

}

/* Hover Effects */
.image-container:hover::after {
    height: 250%;
    background-color: transparent;
    transition: all 0.6s linear;
}


/***** 19 03 2025 **/
#infrastructure {
    position: relative;
}

.infrast-wrp {
    z-index: 0;
}

.infrast-wrp::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 350px;
    right: 0;
    bottom: 0;
    background: #0056b3;
    /* clip-path: path("M550 350 L0 350 L0 0 L550 250 Z"); */
    clip-path: path("M0 350L550 350L550 0L0 250Z");
    z-index: -1;
}

.insfra-img .infrat-image {
    height: 430px;
}


/* animation css */

.about-us-infrast {
    position: relative;
    /* Ensures pseudo-elements position correctly */
    display: block;
    overflow: hidden;
    /* Prevents unnecessary scrollbars */
}

.about-us-infrast-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.about-us-infrast::before,
.about-us-infrast::after {
    content: "";
    width: 0;
    height: 3px;
    position: absolute;
    background: #086ad8;
    transition: all 0.3s ease-in-out;
}

.about-us-infrast .about-us-infrast-inner::before,
.about-us-infrast .about-us-infrast-inner::after {
    content: "";
    width: 3px;
    height: 0;
    position: absolute;
    background: #086ad8;
    transition: all 0.3s ease-in-out;
}

/* Positioning the border animations */
.about-us-infrast::before {
    top: 0;
    left: 0;
}

.about-us-infrast::after {
    bottom: 0;
    right: 0;
}

.about-us-infrast .about-us-infrast-inner::before {
    top: 0;
    left: 0;
}

.about-us-infrast .about-us-infrast-inner::after {
    bottom: 0;
    right: 0;
}

/* Hover Effects */
.about-us-infrast:hover::before,
.about-us-infrast:hover::after {
    width: 100%;
}

.about-us-infrast:hover .about-us-infrast-inner::before,
.about-us-infrast:hover .about-us-infrast-inner::after {
    height: 100%;
}

.product-view {

    display: flex;
    align-items: center;
    gap: 10px;
}



.product-gallery {
    max-width: 300px;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.product-gallery img {
    width: 100px;
    height: auto;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.3s;
}

.product-gallery img:hover {
    border-color: rgb(10, 61, 98);
    ;
}

.custom-tab-wrapper {
    margin-top: 40px;
}

.tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.tab-btn {
    padding: 10px 20px;
    /* background-color: #eee; */
    border: none;
    cursor: pointer;
    font-weight: bold;
    /* border-radius: 5px; */
}

.tab-btn.active {
    background-color: rgb(10, 61, 98);
    ;
    color: #fff;
}

.tab-content {
    display: none;
    padding: 20px;
    /* background: #fafafa; */
    /* border: 1px solid #ddd; */
    border-radius: 5px;
}

.tab-content.active {
    display: block;
}

.tab-content p {
    margin-bottom: 20px;
    line-height: 1.8;

}

/**** prodcut  gallery */
/* Inquiry section and tabs */
.inquiry-only-section,
.tab-navigation {
    margin-top: 8vw;
}

/* Owl carousel navigation */
.owl-thumb-gallery .owl-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5vw;
    /* margin-top: 2vw; */
}

.owl-thumb-gallery {
    position: relative;
    width: 85% !important;
}

.owl-thumb-gallery .owl-nav {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: space-between;
    top: 50%;
    transform: translateY(-50%);
}

.owl-thumb-gallery .owl-prev {
    position: absolute;
    left: -10%;
}

.owl-thumb-gallery .owl-next {
    position: absolute;
    right: -10%;
}

.owl-thumb-gallery .owl-prev span,
.owl-thumb-gallery .owl-next span {
    display: none;
    /* Hide default */
}

.owl-thumb-gallery .owl-prev::before {
    content: '\f104';
    /* Font Awesome icon (chevron-left) */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 18px;
}

.owl-thumb-gallery .owl-next::before {
    content: '\f105';
    /* Font Awesome icon (chevron-right) */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 18px;
}

.owl-thumb-gallery .owl-nav button.owl-prev,
.owl-thumb-gallery .owl-nav button.owl-next {
    background-color: rgb(10, 61, 98);
    ;
    color: #fff;
    /* font-size: 1.5rem; */
    border: 1px solid rgb(10, 61, 98) !important;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    transition: background-color 0.3s ease;
    cursor: pointer;
}

.owl-thumb-gallery .owl-nav button.owl-prev:hover,
.owl-thumb-gallery .owl-nav button.owl-next:hover {
    background-color: #005f87;
}

.owl-nav button span {
    display: block;
    line-height: 1.8;
    font-weight: bold;
}

/* Product media container */
.single-product-media {
    width: 100%;
    max-width: 46%;
    min-width: 280px;
    text-align: center;
    margin: 0 auto;
}

/* Main product image wrapper */
.main-product-image {
    max-width: 100%;
    max-height: 400px;
    min-height: 250px;
    margin: 0 auto 20px;
    /* border-radius: 12px; */
    display: flex;
    align-items: center;
    background-color: #dddddd;
    justify-content: center;
}

/* Main image */
.main-product-image img {
    width: 100%;
    height: auto;
    /* border-radius: 12px; */
    max-height: 400px;
    min-height: 400px;
    object-fit: cover;
}

/* Thumbnail slider */
.owl-thumb-gallery {
    width: 60%;
    min-width: 260px;
    max-width: 100%;
    margin: 0 auto;
}

.owl-thumb-gallery .item {
    padding: 5px;
}

.owl-thumb-gallery img.gallery-thumb {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.3s;
    border-radius: 5px;
}

.owl-thumb-gallery img.gallery-thumb:hover,
.owl-thumb-gallery img.gallery-thumb.active-thumb {
    border-color: rgb(10, 61, 98);
    ;
}

/* Owl nav button */
.owl-thumb-gallery .owl-nav button.owl-prev,
.owl-thumb-gallery .owl-nav button.owl-next {
    background: rgb(10, 61, 98);
    ;
    color: #fff;
    padding: 0.4rem 1rem;
    /* border-radius: 5px; */
    /* font-size: 1rem; */
    border: none;
    /* margin: 0 0.5rem; */
}

.owl-thumb-gallery .owl-nav button:hover {
    background-color: rgb(10, 61, 98);
    ;
}

/* ---------------------- */
/* Media Queries */
/* ---------------------- */

/* Tablet (up to 1024px) */
@media (max-width: 1024px) {
    .single-product-media {
        max-width: 70%;
    }

    .main-product-image {
        min-height: 300px;
    }

    .owl-thumb-gallery {
        width: 80%;
    }
}

/* Mobile (up to 768px) */
@media (max-width: 768px) {
    .single-product-media {
        max-width: 90%;
    }

    .main-product-image {
        min-height: 220px;
    }

    .owl-thumb-gallery img.gallery-thumb {
        height: 60px;
    }
}

/* Small Mobile (up to 480px) */
@media (max-width: 480px) {
    .owl-thumb-gallery {
        width: 100%;
    }

    .owl-thumb-gallery img.gallery-thumb {
        height: 50px;
    }
}


/*************************************************************************************************************/
.input-box input:focus,
.input-box textarea:focus {
    border-color: rgb(10, 61, 98);
    ;
    outline: none;
}

/* 🔹 Tab Navigation */
.tab-navigation {
    font-family: 'Poppins', sans-serif;
    display: flex;
    gap: 10px;
    border-bottom: 2px solid #ddd;
    margin: 30px 0 20px;
    background-color: #ffffff;
}

.tab-btn {
    background: none;
    border: none;
    outline: none;
    color: #0a3d62;
    font-weight: 600;
    font-size: 15px;
    padding: 12px 20px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s ease;
}

.tab-btn::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 3px;
    width: 100%;
    background-color: transparent;
    transition: background-color 0.3s ease;
}

.tab-btn:hover {
    color: #06314e;
}

.tab-btn.active {
    background-color: #0a3d62;
    color: #fff;
    font-weight: 700;
}

/* .tab-btn.active::after {
    background-color: #0a3d62;
} */

/* .tab-navigation {
    display: flex;
    gap: 8px;
    margin-top: 30px;
    margin-bottom: 15px;
    background-color: transparent; 
    padding: 8px;

}

.tab-btn {
    position: relative;
    background-color:  rgb(232, 241, 248);
    color: rgb(10, 61, 98);
    padding: 10px 20px;
    border: 1px solid #007bff;
    
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-btn:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(10, 61, 98);
}

.tab-btn.active {
    color: rgb(255, 255, 255);
    background-color: rgb(10, 61, 98);

} */

/* .tab-btn.active::after { */
/* content: '';
    position: absolute;
    left: 10%;
    bottom: -3px; */
/* background-color: #007bff; */
/* width: 80%;
    height: 3px;
    border-radius: 3px; */
/* background: linear-gradient(to right, #9b59b6, #00bfff); */
/* } */

.wpcf7-not-valid-tip {
    background-color: #fff3f3;
    border-left: 4px solid #ff0000;
    margin: 10px auto;
    padding: 5px 10px;
    border-radius: 3px;
}

.sent .wpcf7-response-output {
    background-color: #e9f7f1;
    border: 2px solid #2ecc71;
    color: #27ae60;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    margin-top: 20px;
}

.invalid .wpcf7-response-output {
    background-color: #fdfdfd;
    border: 2px solid #e74c3c !important;
    color: #c0392b;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    margin-top: 20px;
}


/* General light background and section styling */
/* .tab-content {
    background-color: #ffffff;
    color: #333;
    border: 1px solid #333;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    font-family: 'Segoe UI', sans-serif;
} */
/* .tab-content {
    display: none;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(10, 61, 98, 0.05);
} */
#inquiry-from-section {
    /* width: 60%; */
}

.inquiry9wrap0 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
    margin-top: 30px;
}

.inquiry-form-ection {
    flex: 1 1 400px;
    max-width: 600px;
}

.image-section.image-container {
    flex: 1 1 300px;
    max-width: 500px;
    display: flex;
    align-items: self-start;
    justify-content: center;
}

.image-section.image-container img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    object-fit: contain;
}

/* Invalid field border */
.wpcf7-not-valid {
    border-color: #d63031 !important;
}

.single-our_product h1 {
    font-size: 30px;
    color: rgb(10, 61, 98);
    margin-bottom: 10px;
}


.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    position: absolute;
    background: transparent;
    border: 0;
    color: red;
    bottom: -18px;
    top: auto;
    font-size: 12px;
    padding: 0;
    margin: 0;
    left: 6px;
    right: auto;
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}



/*******************/
.product-search-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /* Replaces float: right */
    gap: 10px;

    margin-bottom: 1.5rem;
    /* max-width: 300px; */
}

.search-field {
    font-size: 12px;
    padding: 6px 10px;
    height: 35px;
    padding: 10px;
    outline: none !important;
    border-radius: 4px;
    font-size: 13px;
    border: 1px solid #d4d4d4;
}

@media (max-width: 600px) {
    .product-search-form {
        max-width: 100%;
        /* Full width on smaller screens */
        flex-wrap: wrap;
        /* Allow wrapping if needed */
    }

    .search-submit {
        font-size: 12px;
        padding: 6px 12px;
    }
}

.search-field-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.search-field:focus {
    border-color: #007bff;
    outline: 2px solid #007bff;
    /* Restore focus outline */
    outline-offset: 2px;
}

.search-submit {
    padding: 8px 16px;
    background-color: #0E457E;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    font-family: 'poppins' !important;
    transition: background-color 0.3s ease;
}

.search-submit:hover {
    background-color: #0E457E;
}

/* time line css   29-may-2025*/
/* .timeline {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      flex-wrap: nowrap;
      position: relative;
      gap: 20px;
      flex-wrap: wrap;
    }

    .step {
    position: relative;
    background: #fff;
    border: 2px solid #007bff;
    border-radius: 30px;
    padding: 20px;
    width: 120px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
    margin: 0 10px;
}

    .step::after {
      content: '→';
      position: absolute;
      right: -25px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 20px;
      color: #007bff;
    }

    .step:last-child::after {
      content: '';
    } */

.owl-graph-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    margin: 20px 0;
}

.owl-graph-gallery .item {
    flex: 1 1 calc(33.333% - 15px);
    /* 3 items per row by default */
    max-width: calc(33.333% - 15px);
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.owl-graph-gallery .item:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.owl-graph-gallery .item a {
    display: block;
    width: 100%;
    height: 100%;
}

.owl-graph-gallery .graph-gallery-thumb {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .owl-graph-gallery .item {
        flex: 1 1 calc(50% - 15px);
        /* 2 items per row */
        max-width: calc(50% - 15px);
    }
}

@media (max-width: 600px) {
    .owl-graph-gallery .item {
        flex: 1 1 100%;
        /* 1 item per row */
        max-width: 100%;
    }
}

.product-gallery .gallery-thumbnail {
    width: 100px;
    /* Adjust to your desired size */
    height: 100px;
    /* Make sure width & height are the same */
    object-fit: cover;
    /* This will crop images to fill the space */
    border-radius: 6px;
    /* Optional: round corners */
    cursor: pointer;
    /* transition: transform 0.3s ease, box-shadow 0.3s ease; */
}

.product-gallery .gallery-thumbnail:hover {
    /* transform: scale(1.05); */
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); */
}




/**********************/
/* .process {
  width: 100%;
  max-width: 800px;
  margin: 3em auto;
  cursor: default;
} */
/* 
.process-items {
  display: flex;
  justify-content: space-between;
  margin: 0 0 10px;
  padding: 0;
  list-style-type: none;
  color: #000;
  font-size: 16px;
  text-align: center;
  flex-wrap: wrap;
}

.process-items li {
  flex: 1 1 auto;
  vertical-align: bottom;
  padding: 0 .5em;
  transform: scale(0.65) translateY(40px);
  transform-origin: bottom center;
  transition: transform .5s;
}

.process-items li.active {
  transform: scale(1) translateY(0);
}

.process-items em {
  display: block;
  margin-top: .5em;
  font-style: normal;
}

canvas#process-canvas {
  width: 100%;
  height: auto;
  display: block;
} */


/* .process {
  max-width: 100%;
  margin: 3em auto;
  position: relative;
  cursor: default;
}
.process-items {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 16px;
}
.process-items li {
  flex: 1;
  transform: scale(0.7) translateY(30px);
  transition: transform 0.3s;
}
.process-items li.active {
  transform: scale(1) translateY(0);
}
.process-items li em {
  display: block;
  margin-top: 0.3em;
}
#process-canvas {
  position: absolute;
  top: 100px;
  left: 0;
  height: 55px;
  width: 100%;
  pointer-events: none;
} */


.timeline-desktop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.timeline-desktop .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 16.66%;
    position: relative;
}

.timeline-desktop .icon-container {
    background-color: #f5f5f5;
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    z-index: 2;
}

.timeline-desktop .step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50px;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: #e0e0e0;
    z-index: 1;
}

.timeline-desktop .step-content {
    text-align: center;
}

.timeline-desktop h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.timeline-desktop p {
    font-size: 18px;
    color: #000;
    font-weight: 400;
}

/* Mobile vertical layout */
.timeline-mobile {
    display: none;
}

.timeline-mobile .step {
    display: flex;
    margin-bottom: 2rem;
}

.timeline-mobile .icon-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 1.5rem;
}

.timeline-mobile .icon-container {
    background-color: #f5f5f5;
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.timeline-mobile .step:not(:last-child) .icon-column::after {
    content: '';
    width: 2px;
    flex-grow: 1;
    background-color: #e0e0e0;
}

.timeline-mobile .step-content {
    flex: 1;
}

.timeline-mobile h3 {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
}

.timeline-mobile p {
    font-size: 16px;
    color: #000;
    font-weight: 400;
}

.icon {
    width: 40px;
    height: 40px;
    stroke-width: 1.2 !important;
    /* fill: #1e40af; */
}

/* Media query for mobile */
@media (max-width: 768px) {
    .timeline-desktop {
        display: block;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .timeline-desktop .step {
        display: flex;
        flex-direction: row;
        align-items: center;
        width: 100%;
        gap: 20px;
        margin-bottom: 10%;
        position: relative;
    }

    .timeline-desktop .icon-container {
        background-color: #f5f5f5;
        border: 2px solid #e0e0e0;
        /* border-radius: 100%; */
        width: 100px;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0px;
        z-index: 2;
    }

    .timeline-desktop .step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 14%;
        width: 2px;
        height: 100%;
        background-color: #e0e0e0;
        z-index: 1;
    }
}