@import url("./global.css");

/* =================== Top Bar ======================*/

.uma-logo{
    max-width: 180px !important;
    width: 180px !important;
    height: auto;
}

.top-bar {
    padding: 15px 0;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

.contact-info span {
    margin: 0 20px;;
    color: #0D0D0D;
    font-size: 12px;
}
.contact-info-icon{
    width: 18px;
    height: 18px;
    object-fit: contain;
    vertical-align: middle;
    justify-content: center;
    display: inline-flex;
}

.btn-phone {
    background: var(--primary-red);
    color: white;
    /* padding: 8px 15px; */
    border-radius: 14px;
    text-decoration: none;
    display: flex;
    align-items: center;
    width: 198px;
    height: 46px;
    justify-content: center;
    font-weight: 600;

    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn-phone > * {
    position: relative;
    z-index: 2;
}

.btn-phone .text-group {
    display: flex;
    flex-direction: column;
    margin-left: 10px;
}

.btn-phone .rate {
    font-size: 10px;
    opacity: 0.8;
    font-weight: 600;
}

/* ---------- Overlay animation ---------- */
/* smooth overlay */
.btn-phone::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--dark-red );
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 1;
}

/* hover in */
.btn-phone:hover::before {
    transform: scaleX(1);
}

/* hover out — automatically smooth */
.btn-phone:not(:hover)::before {
    transform-origin: right;
}

/* icon color change */
.btn-phone:hover img {
    filter: brightness(0) invert(1);
}

.contact-link {
    color: #0D0D0D;
    text-decoration: none;
    font-size: 12px;
}

.contact-link:hover {
    color: var(--primary-red);
}
.contact-item:hover .contact-link {
    color: var(--primary-red);
}

.contact-item:hover .contact-info-icon {
    filter: invert(18%) sepia(94%) saturate(5362%) hue-rotate(356deg) brightness(95%) contrast(110%);
    transition: filter 0.3s ease;
}

@media (max-width: 991px) {
    .contact-info{
        display: none;
    }
}

@media (max-width: 991px){
    .top-bar{
        position: relative;
        overflow: hidden;
    }
}

@media (max-width:767px){
    .top-bar {
            position: sticky;
            top: 0;
            z-index: 9999;
            background-color: #fff;
        }
}

/* =================== Navigation ======================*/
/* Update your existing .main-nav */
.main-nav {
    padding: 25px 0;
    /* Slightly larger default padding for contrast */
    background: transparent;
    /* Or your default color */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    /* Smoother bezier curve */
    width: 100%;
    position: absolute;
    /* Or relative, depending on your layout */
    top: 0;
    left: 0;
}

/* Updated .sticky state */
.main-nav.sticky {
    position: fixed;
    padding: 10px 0;
    /* Reduced padding when scrolled */
    background: #ffffff;
    z-index: 9999;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);

    /* Animation: Slide down effect */
    animation: navSlideDown 0.4s ease-out;
}

/* Keyframe for the entrance animation */
@keyframes navSlideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* Optional: Shrink the logo or search bar slightly when sticky */
.main-nav.sticky .search-bar {
    transform: scale(0.95);
    transition: transform 0.3s ease;
}


/* 1. Hide the logo by default */
.sticky-logo {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sticky-logo .uma-logo {
    max-width: 180px !important;
    /* Slightly smaller for the sticky bar */
    height: auto;
}

/* 2. Show the logo ONLY when navbar has .sticky class */
.main-nav.sticky .sticky-logo {
    display: block;
    opacity: 1;
}

.logo-full {
    display: block;
}

.logo-short {
    display: none;
}

/* 3. Adjust spacing: Ensure the container spreads items out */
.main-nav.sticky .container.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 4. Ensure nav links don't feel cramped when logo appears */
.main-nav.sticky .nav-links {
    gap: 43px;
    /* Reduced gap for sticky mode */
}

@media (max-width: 991px) {

    /* When sticky, hide the full logo and show the short one */
    .main-nav.sticky .logo-full {
        display: none;
    }

    .main-nav.sticky .logo-short {
        display: block;
        max-width: 50px !important;
        /* Adjust width for your short logo icon */
        height: auto;
    }

    /* Adjust the nav container for smaller screens if needed */
    .main-nav.sticky .container.flex-between {
        gap: 15px;
    }

    .main-nav.sticky .search-bar {
        width: 178px;
    }

    .main-nav.sticky .nav-links {
        gap: 30px;
        /* Reduced gap for sticky mode */
    }

    .main-nav.sticky .nav-links li{
        font-size: 15px;
    }
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 43px;
    padding: 0;
    margin: 0;
    color: #0D0D0D;
}

.nav-links li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    cursor: pointer;
    font-size: 16px;
    color: #0D0D0D;
}

.nav-links li img {
  width: 8px;
  height: 16px;
  object-fit: contain;
}

.nav-links li.active .nav-arrow {
    filter: invert(27%) sepia(91%) saturate(2352%) hue-rotate(338deg) brightness(94%) contrast(92%);
    transition: filter 0.3s ease;
}

.nav-links li.active {
    color: var(--primary-red);
}

.nav-links > li.active span,
.nav-links > li.active a span {
    color: var(--primary-red);
}

.nav-link-sub a:hover span {
    color: var(--primary-red);
}

/* ------ search- bar with dropdown ------------ */

.search-bar {
    display: flex;              
    align-items: center;       
    gap: 8px;
    background: #F5F5F5;
    padding: 8px 12px;
    border-radius: 8px;
    width: 310px;

    position: relative;
}

.search-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.search-bar input {
    border: none;
    outline: none;
    font-size: 14px;
    width: 100%;
    background: #F5F5F5;
}

#search-suggestions{
    z-index: 9999;
}

.search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    list-style: none;
    padding: 0;
    margin: 5px 0 0 0;
    display: none;
    z-index: 9999;
    max-height: 350px;
    overflow-y: auto;
    border: 1px solid #f0f0f0;
}

.search-dropdown li {
    padding: 12px 20px;
    border-bottom: 1px solid #f5f5f5;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
    color: #333;
}

.search-dropdown li:hover {
    background-color: #FBEAE9; /* Light Pink hover */
    color: #dc3545;
}

.search-dropdown li:last-child {
    border-bottom: none;
}

.suggestion-cat {
    font-size: 11px;
    color: #888;
    background: #eee;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

.search-dropdown li.no-results-item:hover {
    background-color: transparent !important;
    color: #888 !important;
}

/* ----------- search bar end --------- */

.nav-link-sub  a {
    text-decoration: none;
    color: #0D0D0D;
}

@media (max-width: 991px) {
    .item-category{ display: none  !important; }
   
    .search-bar{ width: 200px; }
}

@media (max-width: 767px) {
    .item-category{ display: none  !important; }
    
    .nav-link-sub{display: none !important;}
    .search-bar{ width: 200px; }
}

@media (max-width: 991px) {

    /* .nav-link-sub {
        display: none !important;
    } */

    .item-category {
        display: flex !important;
        padding: 16px 0;
    }

    .item-category:hover .mega-menu {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .search-icon {
        width: 22px;
        height: 22px;
        cursor: pointer;
    }
}

@media (max-width: 767px) {

    .item-category {
        display: flex !important;
    }

    .search-bar input {
        display: none;
    }
}


/* ================== Hero Section ===================== */
.hero {
    padding: 78px 0;
    background: rgba(255, 250, 250, 1);

}

.black-badge{
    background: #0D0D0D;
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 14px;
}

.hero h1 {
    font-size: 48px;
    margin: 20px 0;
    line-height: 1.1;
    font-weight: 800;
}

.hero p {
    color: #666;
    line-height: 26px;
    margin-bottom: 30px;
    font-weight: 500;
}

.hero-btns {
    display: flex;
    gap: 15px;
}

.right-dir-arrow{
    width: 16px;
    height: 16px;
    object-fit: contain;
    align-items: center;
    display: inline-flex;
    justify-content: center;
    vertical-align: middle;
}

/* ---- Hero Image --- */
.hero-image-wrapper {
    position: relative;
}

.main-image {
    width: 100%;
    border-radius: 20px;
}

.floating-tag {
    position: absolute;
    background: white;
    padding: 10px 20px;
    border-radius: 14px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    font-weight: 600;
    font-size: 13px;
    z-index: 2;
    min-width: 138px;
    display: flex;             
    align-items: center;        
    gap: 8px; 
    justify-content: center;
}

.floating-tag img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

@media (max-width: 991px) {
    .grid-2{ display: block; }
    .hero h1 { text-align: center; }
    .hero p{ text-align: center; }
    .hero-btns { justify-content: center; }
    .main-image{ margin-top: 54px; width: 85%; margin-left: 61px;}
    /* .black-badge { margin-left: 231px; } */
    .tag-1 { top: 20% !important; left: -39px !important;}
    .tag-2 { top: 15% !important; right: -74px !important; }
    .tag-3 { bottom: 10%; left: -39px !important; }
    .tag-4 { bottom: 15%; right: -74px !important; }
}

@media (max-width: 767px) {
    /* .black-badge { margin-left: 146px; } */
    .image-stack{ height: 430px !important; }
    .main-image{margin-left: 40px;}
}

@media (max-width: 575px){
    .main-image{ width: 75%; margin-left: 73px; }
    .floating-tag{ padding: 5px 10px; }
    .tag-1 { top: 15%; left: 0px !important; }
    .tag-2 { top: 12%; right: 0px !important; }
    .tag-3 { bottom: 10%; left: 0px !important; }
    .tag-4 { bottom: 15%; right: 0px !important; }
}

@media (max-width: 480px){
    .hero h1{ font-size: 41px; }
    /* .black-badge{ margin-left: 80px; } */
    .tag-1 { top: 25% !important; left: 0px !important; }
    .tag-2 { top: 20% !important; right: 0px !important; }
}

@media (max-width: 480px){
    .hero{padding: 30px 0;}
    .hero h1{ font-size: 35px;}
    /* .black-badge {
        margin-left: 62px;
    } */
    .hero-btns{
        display: block;
        align-items: center;
    } 
    .btn-red{width: 100%; margin-bottom: 10px;}
    .btn-outline{width: 100%;}
    .main-image{
        margin-left: 44px;
    }
    .floating-tag{
        padding: 4px 6px;
        gap: 5px;
    }
}

.tag-1 { top: 15%; left: -87px; }
.tag-2 { top: 12%; right: -103px; }
.tag-3 { bottom: 10%; left: -82px; }
.tag-4 { bottom: 15%; right: -87px; }

/* ========================= Product Range Section ==================================== */

.fw-800 { font-weight: 800; }

.product-card {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 24px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.5s ease;
     box-shadow: 
        0 8px 24px rgba(0, 0, 0, 0.08),
        0 2px 6px rgba(0, 0, 0, 0.04);
}

.product-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transform: translateY(-8px);
}

.card-img-container {
    position: relative;
    height: 220px;
    width: 100%;
}

.card-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-img-container::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
}

.card-overlay-title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    z-index: 1;
    margin: 0;
}

.product-list {
    list-style: none;
    padding: 20px;
    margin: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.product-list li .product-link{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 4px;
    color: #333;
    transition: 0.2s;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
}

.our-pro-para{
    max-width: 1116px;
    font-size: 20px;
}

.product-list li .product-link:hover {
    background-color: #E6392D;
    color: #fff;
    transform: translateX(6px);
}

.product-list li .product-link img {
    width: 15px;
    height: 15px;
    object-fit: contain;
    filter: invert(0);
    transition: all 0.3s ease;
}

.product-list li .product-link:hover img {
    filter: brightness(0) saturate(100%) invert(1);
}

.product-list li.view-all {
    margin-top: auto;
    font-weight: 700;
    transition: all 0.3s ease;
}

.product-list li.view-all .product-link {
    color: var(--primary-red);
    font-weight: 500;
}

.product-list li.view-all .product-link img {
    filter: brightness(0) saturate(100%) invert(29%) sepia(91%) saturate(7481%)
        hue-rotate(356deg) brightness(92%) contrast(93%);
}

.product-list li.view-all:hover {
    color: #ffffff;
    transform: translateX(6px);
}
.product-list li.view-all .product-link:hover {
    color: #fff;
}
.product-list li.view-all .product-link:hover img {
    filter: brightness(0) invert(1);
}

/* .product-name {
    max-width: 240px; 
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
} */

/* If the cards are hidden because of AOS, this forces them to show */
[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

.products{
    /* padding-top: 48px; */
    padding-bottom: 48px;
}



@media (max-width: 480px){
    .our-pro-para{
        font-size: 16px;
        margin-bottom: -60px;
    }
}

@media (max-width: 480px){
    .products {
        padding-top: 0px !important;
    }
}

/* ================================ About UMA Organics ================================= */
.about-uma {
    background: #F5F5F5;
}

.image-stack {
    position: relative;
    height: 580px;
    width: 100%;
}

.about-content h2 {
    color: #1a1a1a;
    line-height: 1.3;
}

.about-content p {
    line-height: 1.7;
    font-size: 16px;
    font-weight: 400;
}

.about-uma-container{
    padding-top: 48px;
    padding-bottom: 44px;
}

@media (max-width: 991px) {
    .image-stack { margin-bottom: 30px !important; }
    .two-layered-pic{ margin-left: 90px; width: 85%; }
}

@media (max-width: 767px) {
    .two-layered-pic{ margin-left: 52px;}
}

@media (max-width: 575px){
    .badge-abt-uma{ margin-left: 200px;}
    .about-content h2{text-align: center !important;}
    .about-content p {text-align: center;}
    .abt-list-heading{align-items: center;}
    .list-unstyled{ padding-left: 158px !important;}
}

@media (max-width: 480px){
    .image-stack{ height: 354px !important; }
    .badge-abt-uma{ margin-left: 160px; }
    .abt-list-heading{ margin-left: 154px; }
    .list-unstyled{ padding-left: 111px !important;}
}

@media (max-width: 480px){
    .two-layered-pic{margin-left: 26px;}
        .image-stack {
        height: auto !important;
        margin-bottom: 0 !important;
    }
    .badge-abt-uma {
        display: block !important;
        margin-inline: auto !important;
        width: fit-content !important;
    }
    .abt-list-heading {
        margin-left: 105px;
    }
        .list-unstyled {
        padding-left: 56px !important;
    }
}

/* ================================ WHY Choose US ================================= */
.features-section{
    margin-bottom: 60px !important;
}

.award-card {
    transition: all 0.3s ease;
    border: none;
}

.award-img-wrapper {
    flex: 0 0 180px; 
    width: 262px;
    height: 183px;
}

.award-card h6 {
    font-size: 24px;
    line-height: 1.4;
    color: #212529;
}

.award-section .sub-award-head{
    margin-top: 16px;
    margin-bottom: 55px;
}

.small {
    font-size: 14px !important;
    line-height: 1.6;
}

.bg-light-gray {
    background-color: #f8f9fa;
}

@media (max-width: 480px){
    .col-lg-6 .award-card{
        display: block !important;
    }
    .award-img-wrapper {
        /* margin-left: 85px; */
        margin-left: 55px;
        margin-bottom: 10px;
    }

    .award-card h6 {
        text-align: center;
    }
    .certi-text{text-align: center;}
    .awards-head{ font-size: 24px !important;}
    .award-card h6 {font-size: 21px;}
    .features-section{width: 100%;}
}

@media (max-width: 375px){
    .award-img-wrapper{
        margin-left: 35px;
    }
}

/* ================================ Testimonials Section ================================= */
.section-title {
    font-size: 2rem;
    color: #1a1a1a;
}

.section-subtitle {
    font-size: 0.95rem;
    font-weight: 400;
}

@media (min-width: 768px) {
    .col-md-2-4 {
        flex: 0 0 auto;
        width: 20%;
    }
}

/* Industry Item Styling */
.industry-serve{
    background: #F5F5F5;
}
.industry-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; 
}

.industry-item {
    flex: 0 0 calc(20% - 20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.8s ease, box-shadow 0.8s ease;
    flex-grow: 1;
}

.industry-item:hover {
    transform: translateY(-8px);
}

/* Icon styling */
.icon-box {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.icon-box img {
    height: 100px;
    width: 100px;
    transition: transform 0.3s ease;
}

.industry-item:hover .icon-box img {
    transform: scale(1.1);
}

.industry-item h6 {
    font-weight: 600;
    font-size: 20px;
    color: #1a1a1a;
}

@media (max-width: 768px) {
    .industry-item {
        flex: 0 0 calc(50% - 20px);
    }
}

/* Testimonial Styles */
/* Base Card */
.testimonials {
    perspective: 1000px;
}
.testimonial-card {
    background-color: #ffffff;
    color: #222;
    /* transition: 0.5s ease; */
    cursor: pointer;
    transition:
        background-color 0.8s ease,
        color 1s ease,
        box-shadow 1s ease,
        border-color 1s ease;

    height: auto;
    align-self: stretch;
}

.testimonial-card:hover {
    background-color: #0D0D0D;
    color: #fff;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
    border-color: transparent;
}

.testimonial-text {
    font-size: 16px;
    line-height: 1.6;
    transition: color 0.8s ease;
}

.testimonal-main-container{
    height: auto !important;
}

.testimonial-card .text-muted,
.testimonial-card small {
    transition: color 0.8s ease;
}

.testimonial-card:hover .text-muted,
.testimonial-card:hover small {
     color: #ffffff !important;
}

/* On hover (black card) */
.testimonial-card:hover .quote-pink {
    opacity: 0;
}

.testimonial-card:hover .quote-grey {
    opacity: 1;
}

.testimonal-animation-wrapper{
    height: 100% !important;
}

/* Hide arrows by default */
.testimonial-swiper .swiper-button-prev,
.testimonial-swiper .swiper-button-next {
  display: none;
  color: #000;
}

@media (min-width: 992px) {
  .testimonial-swiper {
    overflow: visible;
  }

  .testimonial-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px; /* same as g-4 */
    transform: none !important;
  }

  .testimonial-swiper .swiper-slide {
    width: 100% !important;
  }

  .testimonial-swiper .swiper-button-prev,
  .testimonial-swiper .swiper-button-next {
    display: none;
  }
}

/* MOBILE / TABLET: arrows together below slider */
@media (max-width: 991px) {
  .testimonial-swiper {
    padding-bottom: 80px !important; 
    position: relative;
    overflow: hidden; 
  }

  .testimonial-swiper .swiper-button-prev,
  .testimonial-swiper .swiper-button-next {
    display: flex !important; 
    align-items: center;
    justify-content: center;

    position: absolute;
    top: auto;
    bottom: 10px;
    margin-top: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f7f7f7;
    z-index: 10;
  }

  /* Center arrows as a group */
  .testimonial-swiper .swiper-button-prev {
    left: 50%;
    transform: translateX(-120%); /* Moves it slightly left of center */
  }

  .testimonial-swiper .swiper-button-next {
    left: 50%;
    transform: translateX(20%); /* Moves it slightly right of center */
  }

  /* Ensure the icons inside stay centered */
  .testimonial-swiper .swiper-button-prev::after,
  .testimonial-swiper .swiper-button-next::after {
    font-size: 16px;
    color: #000;
    font-weight: bold;
    line-height: 1; /* Critical: keeps the icon from shifting */
    display: block;
  }
}

/* Show arrows only ≤ 991px */
@media (max-width: 991px) {
  .testimonial-swiper .swiper-button-prev,
  .testimonial-swiper .swiper-button-next {
    display: block;
  }
}

/* Keep slide height consistent */
.swiper-slide {
  height: auto;
}

.swiper-slide-three {
    height: auto !important;
}


.stars {
    font-size: 20px;
    letter-spacing: 2px;
    color: #FBBF24;
}

.small {
    font-size: 14px !important;
}


/* Quote icon container */
.quote-icon {
    position: relative;
    width: 25px;
    height: 25px;
}

/* Both icons stacked */
.quote-icon img {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s ease;
}

/* Default state */
.quote-pink {
    opacity: 1;
}

.quote-grey {
    opacity: 0;
}

/* Stats Section Styling */
.growing-stats {
    background:  url('../assests/images/home-page/bg-stats.png'); 
    background-size: cover;
    background-position: center;
    /* background-attachment: fixed; */
}

.stats-card {
    background: rgba(255, 255, 255, 0.15); /* Semi-transparent white */
    backdrop-filter: blur(10px); /* Blur effect for modern glass look */
    padding: 40px 20px;
    border-radius: 25px;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease;
}

.stats-card:hover {
    transform: translateY(-10px) !important;
    background: rgba(255, 255, 255, 0.2);
}

.stats-icon img {
    height: 70px;
    width: 70px;
    /* This filter makes icons red if they are black SVGs */
    filter: invert(27%) sepia(91%) saturate(2352%) hue-rotate(338deg) brightness(94%) contrast(92%) !important;
}

.stats-number {
    color: #ffffff;
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 10px;
}

.stats-label {
    color: #e0e0e0;
    font-weight: 400;
    margin-bottom: 0;
    font-size: 20px;
}

@media (max-width: 991px){
    .industry-grid {
        gap:15px
    }
    .icon-box img{
        height: 90px;
        width: 90px;
    }
    .industry-item h6{
        font-size: 16px;
    }
}

/* Mobile Adjustments */
@media (max-width: 576px) {
    .stats-number {
        font-size: 25px;
    }
    .stats-card {
        padding: 25px 15px;
        border-radius: 15px;
    }
    .growing-stats {
        /* background-size: contain; */
        background-repeat: no-repeat;
    }
}



/* =========== rating section and green bars =================== */
/* .rating-header {
    position: relative;
    display: inline-block;
    width: 100%;
}

.rating-header::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FBBF24;
    margin: 10px auto 0;
    border-radius: 2px;
}

.rating-score {
    font-size: 3.5rem;
    line-height: 1;
    color: #222;
}

.custom-green-bar {
    background-color: #659a39 !important;
}

.progress {
    background-color: #f1f1f1;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

.star-label {
    width: 30px;
    font-size: 14px;
    color: #333;
}

.satisfaction-label {
    width: 80px;
    font-size: 15px;
    font-weight: 500;
}

.percentage-label {
    width: 45px;
    text-align: right;
    font-size: 14px;
}

@media (min-width: 992px) {
    .border-end-lg {
        border-right: 1px solid #e0e0e0;
    }
}

@media (max-width: 991px) {
    .border-end-lg {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .border-end-md {
        border-right: 1px solid #dee2e6;
    }
}

@media (max-width: 767px) {
    .border-end-md {
        border-right: none;
        border-bottom: 1px solid #dee2e6;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
} */




/* ================================ CTA Banner with your local background image  ================================= */
.cta-wrapper {
    /* Path to your red background image */
    background:  url('../assests/images/home-page/red-footer-bg.png') no-repeat center center; 
    background-size: cover;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(217, 45, 32, 0.2);
}

@media (max-width: 991px) {
    .cta-wrapper {
        background: url('../assests/images/home-page/cta-plain-red.png') no-repeat center center !important;
        background-size: cover;
        width: 100%;
        /* height: 498px; */
    }
}

.cta-wrapper h2 {
    font-size: 42px;
    letter-spacing: -0.5px;
    width: 439px;
}

.cta-btn {
    color: #1A202C !important;
    border: none;
    transition: 0.5s ease, box-shadow 0.5s ease;
    border-radius: 14px;
    width: 192px;
    height: 52px;
    margin-top: 20px;
    font-size: 19px;
    font-weight: 700;
}

/* circular icon button */
.icon-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: black;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.search-btn{
    background-color: var(--primary-red);
}
.search-btn img{
     filter: brightness(0) invert(1);
}

.icon-btn img {
    width: 18px;
    height: 18px;
}

.mobile-actions {
    display: none;
}

.cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(49, 48, 48, 0.1);
    background-color: #ffffff;
    transition: 0.5s ease;
}

@media (max-width: 991px) {
    .cta-wrapper { flex-direction: column; padding: 40px 20px !important; }
    .cta-content { margin-bottom: 25px; }
}

@media (max-width: 767px) {
    .cta-wrapper h2{ font-size: 35px; }
    .main-nav { display: none; }
    .contact-info { display: none; }
    .search-bar { display: none; }
    .phone-cta-desk{ display: none; }
    .btn-phone:not(.ft-call-us-btn) .text-group { display: none; }
    .btn-phone:not(.ft-call-us-btn) { padding: 0; width: 42px; height: 42px; border-radius: 50%; justify-content: center; }
    .mobile-actions { display: flex; gap: 10px; align-items: center; margin-right: 10px; }
}

/* @media (max-width: 575px){
    .cta-wrapper{
        height: 450px;
    }
} */

@media (max-width: 480px){
    /* .cta-wrapper {
            height: 430px;
        } */
    .cta-wrapper h2{ font-size: 25px; width:unset !important}
}

/* ================================ Footer Section ================================= */

.footer-section {
    background: url(../assests/images/home-page/footer-bg.png);
    overflow: hidden; 
    background-size :cover;
    background-repeat: no-repeat;
}

.x-small {
    font-size: 11px;
}

.text-secondary {
    color: #FFFFFF !important;
}

.footer-links{
    padding-left: 0 !important;
}

.footer-links li {
    margin-bottom: 8px;
    cursor: pointer;
    transition: 0.3s ease;
}

.footer-links li:hover {
    color: #fff;
}

.footer-link {
    color:  #6c757d;
    text-decoration: none;
    transition: 0.3s ease;
}

.footer-link:hover {
     color: #fff;
}

/* Optimized grid for 6 products */
.footer-range-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */
    gap: 10px;
}

.products-section-footer{
    padding-left: 50px !important;
}

.footer-text-para{
    color: #FFFFFF !important;
}

.mail-icn-footer{
    margin-top: 6px;
}

/* .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 15px; 
}

.footer-link {
    color: rgba(255, 255, 255, 0.7); 
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-link:hover {
    color: #ffffff;
    opacity: 1;
    transform: translateX(5px); 
} */

/* Adjust for mobile: stack them if the screen is very small */
/* @media (max-width: 480px) {
    .footer-range-grid {
        grid-template-columns: 1fr;
    }
} */


.btn-footer-call {
    background-color: #e32929; 
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 12px 20px;
    border-radius: 12px;
    width: fit-content;
    transition: transform 0.2s;
}

.btn-footer-call:hover {
    color: white;
    transform: translateY(-3px);
}


.contact-col {
    z-index: 1;
}

.footer-bg-powder {
    position: absolute;
    bottom: -60px;
    right: -40px;
    width: 350px;
    opacity: 0.6;
    z-index: -1;
    pointer-events: none;
}

.footer-links{
    list-style: none;
}

@media (max-width: 991px) {
    .footer-bg-powder {
        width: 250px;
        bottom: -30px;
        right: 0;
    }
    
    .row .privacy-policy-section{
        margin-top: 20px;
    }

    .footer-section .row.align-items-center {
        display: flex;
        flex-direction: column; /* stack vertically */
        align-items: flex-start; /* optional */
    }

    .footer-section .row.align-items-center > .col-lg-6:first-child {
        order: 2; /* disclaimer goes second */
        margin-top: 10px;
    }

    .footer-section .row.align-items-center > .col-lg-6:last-child {
        order: 1; /* privacy & terms goes first */
        margin-bottom: 5px;
    }

    .products-section-footer{
        padding-left: unset !important;
    }
}

@media (max-width: 767px) {
 
    .row .privacy-policy-section{
        justify-content: space-between;
    }
}

@media (max-width:575px){
    .products-section-footer{
        padding-left: 12px !important;
    }
}

@media (max-width: 480px){
    .footer-links{text-align: left; padding: 0px !important;}
}

/* ===================== MOBILE MENU =======================*/

.mobile-menu {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: #ffffff;
  z-index: 9999999;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: var(--font-primary);
}

.mobile-menu.active {
  transform: translateX(0);
}

/* --- REFINED HEADER --- */
.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding:0px 16px;
  height: 64px;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 100;
  text-align: center;
}



/* NEW BACK BUTTON: Clean & Functional */
.mobile-back {
  all: unset;
  display: flex;
  align-items: center;
  color: var(--primary-red);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  padding: 8px 12px 8px 0;
  transition: transform 0.2s ease;
}

/* Modern chevron back arrow */
.mobile-back::before {
  content: '';
  width: 8px;
  height: 8px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-right: 8px;
  display: inline-block;
}

.mobile-back:active {
  transform: translateX(-3px);
}

#mobileMenuTitle {
  font-weight: 700;
  font-size: 16px;
  color: var(--dark-text);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

#mobileMenuClose {
  all: unset;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #000000;
  cursor: pointer;
}

/* --- LIST LOGIC --- */
.mobile-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* The Toggles & Links */
.mobile-menu-list a, 
.accordion-toggle,
.mobile-page-link {
  all: unset;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  padding: 16px 20px;
  font-size: 15px;
  color: var(--dark-text);
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.mobile-page-link {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  position: relative;
}

.arrow-right {
  width: 6px;
  height: 6px;
  border-right: 2px solid #bbb; /* Subtle grey */
  border-top: 2px solid #bbb;
  transform: rotate(45deg); /* Creates the chevron > */
  margin-right: 4px;
  transition: border-color 0.2s ease;
}

.mobile-page-link:active .arrow-right {
  border-color: var(--primary-red);
}

/* Subtle Indentation for hierarchy */
.accordion-content .mobile-page-link {
  padding: 12px 20px 12px 40px; 
  font-size: 15px;
  color: #575656;
  font-weight: 500;
}

/* .mobile-menu-list a:active,
.accordion-toggle:active {
  background-color: var(--bg-sub);
} */

/* --- ACCORDION SYSTEM --- */
.accordion-item.active > .accordion-toggle {
  color: var(--primary-red);
  font-weight: 600;
}

.accordion-content {
  display: none;
  background: var(--bg-sub);
  padding-bottom: 8px;
}

.accordion-item.active .accordion-content {
  display: block;
}

.accordion-content li {
  border: none;
}

.mobile-menu-list a:active,
.accordion-toggle:active,
.mobile-page-link:active {
    background-color: rgba(235, 28, 36, 0.08) !important;
    color: var(--primary-red);
}

.accordion-content .mobile-page-link {
  padding: 12px 20px 12px 40px; 
  font-size: 15px;
  color: #575656;
  font-weight: 500;
}

.accordion-content .mobile-page-link:active {
    background-color: rgba(235, 28, 36, 0.1) !important;
    color: var(--primary-red);
}

/* Removes bullets and browser-default indentation */
.mobile-menu-list, 
.accordion-content {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensures individual items don't have stray markers */
.mobile-menu-list li {
  list-style-type: none !important;
}

/* --- THE ARROW --- */
.arrow {
  font-size: 10px;
  color: #bbb;
  transition: transform 0.3s ease;
  pointer-events: none;
}

.accordion-item.active .arrow {
  transform: rotate(180deg);
  color: var(--primary-red);
}

/* --- VIEW ALL --- */
.view-all-link, 
.mobile-menu-list li:last-child a {
  color: var(--primary-red) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  justify-content: center !important;
  padding: 16px 20px !important;
}

/* --- PAGE SYSTEM --- */
.mobile-menu-pages {
  position: relative;
  height: calc(100dvh - 152px);
  /* overflow: hidden; */
}

.mobile-menu-pages > ul {
  position: absolute;
  inset: 0;
  width: 100%;
  background: #fff;
  overflow-y: auto;
  /* Start all pages hidden to the right */
  transform: translateX(100%); 
  /* Use a consistent, smooth timing function */
  transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1), visibility 0.45s;
  visibility: hidden; /* Prevents clicking links on hidden pages */
  z-index: 1;
}

.mobile-menu-pages ul.active-page {
  transform: translateX(0);
  visibility: visible;
  z-index: 5;
}

/* The page that was just active and is moving away */
.mobile-menu-pages ul.exit-page {
  transform: translateX(100%);
  visibility: visible;
  z-index: 6;
}

/* The main menu should stay at 0 or move slightly left when a sub-page is open */
.mobile-menu-pages ul[data-page="main"].active-page {
    transform: translateX(0);
}

/* OPTIONAL: If you want the main menu to nudge left when a sub-page is open (iOS style) */
.mobile-menu-pages ul[data-page="main"]:not(.active-page) {
    transform: translateX(-20%);
    visibility: visible;
    opacity: 0.6;
    transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.45s;
}

.mobile-search-container {
    padding: 15px;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    position: sticky; /* Keeps it at the top while scrolling products */
    top: 0;
    z-index: 1000;
}

.mobile-search {
  position: relative;
  display: flex;
  align-items: center;
  background: #f5f5f7; /* Light grey Apple-style background */
  border-radius: 12px;
  padding: 8px 16px;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.mobile-search:focus-within {
  background: #fff;
  border-color: var(--primary-red);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.mobile-search input {
  all: unset;
  width: 100%;
  height: 24px;
  padding-left: 12px;
  font-size: 15px;
  color: var(--dark-text);
}

.mobile-search .search-icon {
  width: 18px;
  opacity: 0.5;
}

#mobile-search-suggestions {
    width: 100%;
    left: 0;
    top: 100%;
}

/* --- MOBILE SUGGESTIONS BOX FIX --- */
#mobile-search-suggestions {
  position: absolute;
  top: calc(100% + 8px); /* Gap below search bar */
  left: 0;
  width: 100%;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  list-style: none;
  padding: 8px 0;
  margin: 0;
  z-index: 999999; /* Force it above everything */
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid rgba(0, 0, 0, 0.05);
  display: none; /* Controlled by JS */
}

#mobile-search-suggestions li {
  padding: 15px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
  display: block;
}

#mobile-search-suggestions li:last-child {
  border-bottom: none;
}

#mobile-search-suggestions li span:first-child {
  font-weight: 600;
  font-size: 14px;
  color: var(--dark-text);
}

#mobile-search-suggestions li .suggestion-cat {
  font-size: 11px;
  color: var(--primary-red);
  text-transform: uppercase;
  margin-top: 2px;
}

/* IMPORTANT: Prevent the container from cutting off the menu */
.mobile-menu-pages {
  overflow: visible !important; /* This allows the absolute suggestions to show */
}



/* ================= main menu bar ========= */
/* ================= PRETTY MEGA MENU UPGRADE ================= */

/* 1. Main Nav & Category Hover */
.main-nav {
    position: relative;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
}

.item-category {
    /* position: relative;  */
    position: static;
    padding: 20px 0;
    cursor: pointer;
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
}

.item-category:hover span {
    color: var(--primary-red, #7c0000);
}

/* 2. Mega Menu Container - CURVED & SHADOWED */
.mega-menu-content {
    width: 880px; /* Slightly wider for better balance */
    max-height: 500px;
    left: 35% !important;
    transform: translateX(-50%) translateY(20px);
    opacity: 0;
    visibility: hidden;
    display: block !important; /* Managed by opacity for smoothness */
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 20px; /* Curved border */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15); /* Deep attractive shadow */
    padding: 0;
    overflow: hidden;
    top: 85px;
    background: #fff;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1000;
}


.item-category:hover .mega-menu-content {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    border-radius: 20px;
}

/* 3. Left Sidebar - CLEAN & MODERN */
.menu-sidebar {
    width: 280px;
    background-color: #f9fafb; /* Soft light grey */
    border-right: 1px solid #f1f5f9;
    /* padding: 25px 15px; */
    padding: 8px 15px;
    max-height: 500px;
    overflow-y: auto;
}

.sidebar-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* padding: 14px 20px; */
    padding: 8px 20px;
    margin-bottom: 5px;
    color: #000000;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
}

.sidebar-item:hover {
    color: var(--primary-teal, #008080);
    background: #f1f5f9;
}

.sidebar-item.active {
    background: #ffffff;
    color: var(--primary-red, #7c0000);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-weight: 600;
}

.sidebar-item::after {
    content: "›";
    font-size: 20px;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

.sidebar-item.active::after, .sidebar-item:hover::after {
    opacity: 1;
    transform: translateX(0);
}

/* 4. Right Content Area - PADDING & HOVER EFFECTS */
.menu-main-content {
    /* padding: 30px; */
    padding: 12px 15px 21px 15px;
    /* padding: 8px 20px; */
    background: white;
    flex: 1;
    max-height: 500px;
    overflow-y: auto;
}

.sub-links {
    display: none;
    flex-direction: column;
    gap: 6px;
}

.sub-links.active {
    display: flex;
    animation: slideInUp 0.4s ease forwards;
}

@keyframes slideInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 5. Product Links - THE ATTRACTIVE PART */
.menu-main-content .sub-links a {
    color: #334155;
    text-decoration: none;
    font-weight: 400;
    font-size: 15px;
    padding: 8px 18px;
    border-radius: 10px;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    background: transparent;
}

.menu-main-content .sub-links a:hover {
    background-color: #fef2f2; /* Very subtle red glow */
    color: var(--primary-red, #7c0000);
    padding-left: 28px; /* Smooth slide effect */
    box-shadow: inset 2px 0 0 var(--primary-red, #7c0000); 
}

/* 6. View All Link - STYLIZED BUTTON */
.view-all-link-desk {
    /* margin-top: 25px; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-red, #7c0000) !important;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 15px;
    background: #fde5e5 !important;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.view-all-link-desk:hover {
    background: var(--primary-red, #7c0000) !important;
    color: #fff !important;
    transform: scale(1.02);
}

/* 7. Scrollbar Customization (Minimalist) */
.menu-sidebar::-webkit-scrollbar,
.menu-main-content::-webkit-scrollbar {
    width: 5px;
}

.menu-sidebar::-webkit-scrollbar-thumb,
.menu-main-content::-webkit-scrollbar-thumb {
    background: #e2e8f0;
    border-radius: 10px;
}

/* Rotate Arrow on Category Hover */
.item-category:hover .nav-arrow {
    transform: rotate(180deg);
    filter: brightness(0) saturate(100%) invert(13%) sepia(95%) saturate(3736%) hue-rotate(352deg) brightness(91%) contrast(106%) !important;
}


/* sticky main menu adjustment to be on center   */
/* Update the mega menu position ONLY when navbar is sticky */
.main-nav.sticky .mega-menu-content {
    /* Changing -50% to -33% as requested */
    transform: translateX(-33%) translateY(20px);
}

/* Ensure the hover state in sticky mode also respects the new alignment */
.main-nav.sticky .item-category:hover .mega-menu-content {
    transform: translateX(-33%) translateY(0);
}

@media (max-width:1265px){
    .mega-menu-content {
            left: 49% !important;
            width: 90%;
    }
}


@media (max-width:991px) {
    .mega-menu-content {
        left: 50% !important;
        width: 90%;
    }

        .main-nav.sticky .mega-menu-content {
            /* Changing -50% to -33% as requested */
            transform: translateX(-50%) translateY(20px);
        }
    
        /* Ensure the hover state in sticky mode also respects the new alignment */
        .main-nav.sticky .item-category:hover .mega-menu-content {
            transform: translateX(-50%) translateY(0);
        }
}
  

/* =========== sticky icons =================== */

.sticky-contact-bar {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0px 0px 10px rgba(73, 73, 73, 0.15);

    padding: 15px 7px;
    border-radius: 30px 0 0 30px; 
    display: flex;
    flex-direction: column;
    gap: 18px; 
    z-index: 999;
    border: 1px solid rgba(145, 144, 144, 0.1);
    border-right: none;
}

.contact-link img {
    width: 40px;  
    height: 40px;
    display: block;
    transition: transform 0.2s ease;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.164));
}

.contact-link:hover img {
    transform: scale(1.1);
}

/* .sticky-contact-bar {
    display: none;
} */

/* @media (max-width: 991px) {
    .sticky-contact-bar {
        display: flex;
    }
} */

/* ========================= END OF HOME PAGE STYLES ============================== */



/* ===========================================================================================
   ==============               ABOUT US PAGE STARTS HERE              ======================
=========================================================================================== */

/* ------------ Hero Banner Section ------------- */
.about-us-banner {
    height: 330px; /* As requested */
    background: url('../assests/images/about-us/about-us-header.png');
    background-size: cover;
    background-position: center;
    overflow: hidden;
    position: relative;
}

.banner-side-img {
    height: 330px;
    object-fit: contain;
    object-position: bottom right;
}

/* Stats Section */
.about-us-stats {
    padding: 60px 0;
}

.icon-wrapper img {
    position: relative;
    z-index: 1;
    width: 80px;
    height: 80px;
}

.stat-card h3 {
    color: #333;
}

.stat-card p {
    letter-spacing: 0.5px;
    text-transform: capitalize;
}

.about-us-hero-text h2{
    width: 739px;
    margin-bottom: 6px;
    font-size: 30px !important;
    font-weight: 600 !important;
}

.about-us-hero-text p{
    width: 739px;
}

.about-us-head{
    margin-bottom: 16px;
}

.about-cta-head{
    width: 437px;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .about-us-banner {
        height: auto;
        padding: 40px 0;
    }

    .about-cta-head{
        width: unset;
    }

}

@media (max-width : 767px){
        .about-us-banner{
            padding: 0px 0px;
        }

        .about-us-hero-text h2 {
            width: unset;
            font-size: 25px;
        }

        .about-us-hero-text p{
            width: unset;
            font-size: 18px;
        }
}

@media (max-width : 575px){
    .about-us-hero-text h2 {
        font-size: 20px !important;
    }

    .about-us-hero-text p {
        font-size: 14px;
        max-width: 495px;
    }
}


@media (max-width: 480px){
    .about-us-head{
        text-align: center;
    }

    .about-us-subhead{
        text-align: center;
    }

    .about-us-desc{
        text-align: center;
    }
}


/*------------------ Vision & Mission Section Styles ------------ */

.vision-mission {
    background-color: #F5F5F5; /* Light grey background */
    padding-top: 80px;
    padding-bottom: 80px;
}

.vm-section-title {
    margin-bottom: 19px;
}

.vm-sub-para{
    color: #5c5c5c;
    margin-bottom: 40px;
}

.vm-card {
    background: #F5F5F5;
    border: 1px solid #e62e2d; /* Red border */
    border-radius: 40px; /* Highly rounded corners as per image */
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    text-align: left;
    padding: 40px;
}

.vm-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.vm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}

.vm-icon img{
    margin-bottom: 12px;
}

.vm-card h3 {
    margin-bottom: 12px;
}

.vm-card h4 {
    margin-bottom: 8px;
}

.vm-card p {
    line-height: 1.6;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .vm-card {
        border-radius: 30px;
        padding: 30px !important;
    }
}

/*------------------------------ Expertise Section -------------------------*/
/* .expertise-section {
    background-color: #fff;
    overflow: hidden;
}

.text-red {
    color: #e62e2d;
}

.expertise-icon {
    flex-shrink: 0;
    width: 65px;
    height: 65px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 10px;
    transition: all 0.3s ease;
}

.expertise-icon img {
    width: 100%;
    height: auto;
}

.expertise-item:hover .expertise-icon {
    border-color: #e62e2d;
    box-shadow: 0 4px 15px rgba(230, 46, 45, 0.1);
    transform: translateY(-2px);
}

.expertise-image-wrapper {
    position: relative;
    padding: 20px;
}

.rounded-custom {
    border-radius: 60px !important; 
}

.weight-700 { font-weight: 700; }
.weight-600 { font-weight: 600; }
.weight-500 { font-weight: 500; }
.font-20 { font-size: 20px; }
.font-16 { font-size: 16px; }

@media (max-width: 991px) {
    .expertise-image-wrapper {
        text-align: center;
    }
    .rounded-custom {
        border-radius: 40px !important;
    }
} */


/*-----------------------  Our Expertise Section -----------------------*/
.our-expertise {
    background-color: #fff;
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 80px;
}

.text-red {
    color: #e62e2d; /* Adjust hex to match your brand red */
}

/* Icon backgrounds with the soft red border */
.expertise-icon-bg {
    min-width: 50px;
    height: 50px;
    border-radius: 10px;
    display: flex;
    align-items: left;
    justify-content: center;
    margin-right: 20px;
}

.expertise-icon-bg img {
    max-width: 100%;
    height: auto;
}

.expertise-item{
    margin-bottom: 20px;
}

.expertise-item h3 {
    color: #1a1a1a;
}

.expertise-item p {
    margin-bottom: 0;
    max-width: 400px;
}

/* Image Container */
.expertise-image-container {
    position: relative;
    padding-left: 20px;
}

/* Ensuring the image matches the rounded style from the mockup */
.expertise-main-img {
    border-radius: 40px; /* Matching your card corner style */
    display: block;
    width: 492px;
}

/* Responsive tweaks */
@media (max-width: 991px) {
    .expertise-image-container {
        padding-left: 0;
        /* margin-top: 40px; */
    }
    .expertise-icon-bg {
        min-width: 55px;
        height: 55px;
    }

    .expertise-main-img{
        width: 100%;
    }

    .expertise-section-title{
        text-align: center;
    }

    .expertise-list{
        margin-inline: auto;
        max-width: 450px !important;
    }
}


/* ------------- industry we server in about us ------------ */

.about-us-indus-serve{
    background-color: white;
}


/* --------------- Operational & Trust Section Styling --------------------- */
.ops-strategy-wrapper {
    background-color: #F5F5F5;
    overflow: hidden;
}

.ops-heading-block{
    width: 562px;
    line-height: 30px;
}

.ops-heading-block h2 {
    position: relative;
    display: inline-block;
}

.ops-info-text{
    line-height: 30px;
    width: 555px;
    margin-left: 30px;
}

.cilent-trust-and-img{
    margin-top: 17px !important;
}

/* Trust List Styling */
.trust-feature-list li {
    padding: 8px 0px;
}

.trust-bullet {
    width: 8px;
    height: 8px;
    background-color: #e62e2d;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Responsive Image Handling */
.trust-nodes-img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0px 10px 20px rgba(0,0,0,0.05));
    width: 72%;
}


.how-we-op-list{
    align-items: center !important;
}

/* Text Classes (Adding to match your naming convention) */
.font-40 { font-size: 40px !important; }
.font-32 { font-size: 32px !important; }
.font-18 { font-size: 18px !important; }

@media (max-width : 991px){
    .ops-heading-block {
        width: unset;
        text-align: center;
    }

    .ops-info-text {
        width: unset;
        margin-left: 0px;
        text-align: center;
    }

    .trust-content-box{
        text-align: center;
    }

    .trust-feature-list{
        text-align: center;
        margin-inline: auto ;
        max-width: 430px;
    }

    .trust-nodes-img{
        width: 100%;
    }
}

@media (max-width: 768px) {
    .font-40 { font-size: 30px !important; }
    .font-32 { font-size: 24px !important; }
    .ops-strategy-wrapper .row {
        text-align: left;
    }
    .trust-visual-container {
        margin-bottom: 30px !important;
    }
}

@media (max-width : 575px){
    .trust-feature-list {
        padding-left: 0px !important;
    }
}

@media (max-width : 444px){
    .how-we-op-list{
        align-items: unset !important;
    }

    .trust-bullet{
        margin-top: 3% !important;
    }
}

@media (max-width: 443px){
    .trust-feature-list {
        text-align: left;
        padding-left: 27px !important;
    }
}

@media (max-width :420px){
    .trust-feature-list {
        text-align: left;
        padding-left: 27px !important;
    }
}


@media (max-width : 375px){
    .trust-feature-list {
        text-align: left;
        padding-left: 27px !important;
    }
}


/* -------------- Company Profile-----------------------*/
.company-profile {
    background-color: #F5F5F5;
}

.profile-image-wrapper {
    position: relative;
    padding-right: 40px;
}

.facility-img {
    width: 458px;
    border-radius: 30px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.08);
}


.profile-content{
    /* width: 476px;
    line-height: 34px; */
    width: 475px;
    line-height: 34px;
    font-size: 18px !important;
    font-weight: 400 !important;
   
}

.line-height-1-8 {
    line-height: 1.8;
}

.text-secondary {
    color: #555 !important;
}

/* Responsive Handling */
@media (max-width: 991px) {
    .profile-image-wrapper {
        padding-right: 20px;
        margin-bottom: 50px;
    }

    .profile-content{
        width: 100%;
        text-align: center;
        padding-left: 0px;
    }

    .facility-img{
        width: 100%;
    }
}

@media (max-width: 576px) {
    .profile-content p {
        font-size: 16px;
    }
}


/*--------------  Manufacturing Gallery Styles ------------------- */
.manufacturing-excellence {
    background-color: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
}

.excellence-head{
    margin-bottom: 19px;
}

.excellence-header-block{
    margin-bottom: 40px;
}

.gallery-card {
    transition: transform 0.3s ease;
    cursor: pointer;
}

.gallery-card:hover {
    transform: translateY(-5px);
}

.gallery-info{
    margin-top: 13px;
}

.gallery-img-box {
    border-radius: 30px !important;
    overflow: hidden;
    background: #fdfdfd;
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    height: 250px;
}

.gallery-img-box img {
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
    border-radius: 30px !important;
}

.gallery-info h6 {
    color: #333;
    text-align: center;
    margin-inline: auto;
}

.gallery-info p {
    letter-spacing: 0.5px;
    font-size: 12px;
}

@media (max-width : 991px){
    .gallery-img-box{
        width: unset;
        height: unset;
    }
}

/* Responsive adjustments */
@media (max-width: 575px) {
    .gallery-img-box {
        border-radius: 15px;
    }

    .gallery-img-box img {
        width: 90%;
    }
}

@media (max-width : 480px){
    .gallery-img-box img {
        width: 85%;
    }
}


/*------------  Team Section Custom Styles ----------*/
/* Team Section Custom Styles */
.team-overview {
    background-color: #F5F5F5;
    padding-top: 80px;
    padding-bottom: 80px;
}

.team-overview-container{
    margin-bottom: 40px;
}

.team-image-container{
    margin-left: 20px;
    width: 100%;
}

.team-intro{
    line-height: 30px;
    color: #0D0D0D;
}

.team-photo {
    border-radius: 30px; /* Highly rounded corners matching your other sections */
    width: 100%;
    object-fit: cover;
}

/* Bullet Point Styling */
.red-dot {
    width: 10px;
    height: 10px;
    background-color: #e62e2d; /* Matching your .text-red color */
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.team-specialist-list li{
    margin-bottom: 20px;
}

.line-height-1-8 {
    line-height: 1.8;
}

.our-team-list{
    align-items: center !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .team-image-container {
        margin-top: 40px;
        width: unset;
    }
    .team-overview .container {
        text-align: left;
    }

    .team-intro {
        text-align: center;
    }

    .team-specialist-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px 14px;
    }

    .team-specialist-list li {
        justify-content: flex-start;
    }

    .team-image-container{
        margin-left: 0px;
    }

    .our-team-list{
        align-items: unset !important;
    }

    .red-dot{
        margin-top : 3.5% !important;
    }
}


@media (max-width : 767px){
    .team-specialist-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width : 575px){
    .team-specialist-list{
        padding-left: 33px !important;
    }
}

@media (max-width: 480px){
        .team-specialist-list{
            padding-left: 14px;
        }
}

@media (max-width : 438px){
    .red-dot {
        margin-top: 5% !important;
    }
}

@media (max-width : 375px){
    .team-specialist-list{
        padding-left: 14px !important;
        gap: 5px 9px;
    }
}

/* ---------- cta about us ----------- */

.about-us-cta-banner{
    padding-bottom: 80px;
}

.about-us-cta-content h2{
    width: 439px;
    font-weight: 700 !important;
}


.about-us-cta-wrapper {
    /* Path to your red background image */
    background:  url('../assests/images/about-us/about-us-cta.png') no-repeat center center; 
    background-size: cover;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(217, 45, 32, 0.2);
}

@media (max-width: 991px) {
    .about-us-cta-wrapper {
        background: url('../assests/images/home-page/cta-plain-red.png') no-repeat center center !important ;
        background-size: cover;
    }
}

@media (max-width: 575px){
    .about-us-cta-banner{
        padding-top: 0px !important;
    }
}

@media (max-width : 480px){
    .about-us-cta-wrapper h2{
        width: 100% !important;
    }
}

@media (max-width : 375px){
    .about-us-cta-content h2{
        font-size: 26px !important;
    }
}


/*===========================================================================================
        ---------------------  Product Details Page  ---------------------
============================================================================================= */

.category-hero {
  height: 237px;
  overflow: hidden;
}

.category-hero img {
  height: 100%;
  object-fit: cover;
}

.category-hero-overlay {
  position: absolute;
  inset: 0;
  /* background: rgba(0,0,0,0.55); */
  display: flex;
  align-items: center;
}


/* Product Detail Card Layout */
.product-detail-card {
    border-bottom: 1px solid #eee;
    padding-bottom: 3rem;
    /* margin-bottom: 3rem; */
}

.product-detail-card h3 {
    background-color: #FBEAE9;
    padding: 10px 25px;      
    border-radius: 16px;    

    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom:30px;
}

/* The Meta Data Box (The light container with Formula, CAS, etc.) */
.meta-box {
    /* background-color: #f9f9f9;
    border-radius: 12px; */
    padding-top: 0px;
    padding-bottom: 20px;
    /* margin-bottom: 1.5rem;
    border-left: 5px solid #dc3545; */
    padding-left: 0px;
}

.sub-pro-desc{
    padding-top: 20px;
    font-size: 16px;
    font-weight: 400;
}

.meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two columns */
    gap: 1rem 2rem;
}

.meta-item strong {
    display: block;
    font-size: 14px;
    color: #0D0D0D;
    text-transform: uppercase;
    margin-bottom: 0.2rem;
    font-weight: 600;
}

.meta-item span {
    font-size: 14px;
    font-weight: 400;
    color: #0D0D0DCC;
}

/* Tabs Styling */
.specs-tabs {
    margin-top: 1.5rem;
}

.tab-buttons {
    display: flex;
    gap: 0px; /* Connect the buttons */
    margin-bottom: 0; /* Remove margin so they sit on the table */
    border-bottom: none;
}

.tab-btn {
    /* background-color: #f1f1f1; */
    background: none;
    /* border: 1px solid #e0e0e0; */
    border: none;
    /* border-bottom: none; */
    padding: 10px 24px;
    font-weight: 600;
    color: #777;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-right: 4px;
    transition: all 0.5s ease;
    margin-top: 10px;
}

.tab-btn:hover {
    color: #dc3545;
}

.tab-btn.active {
    color: #dc3545;
    border-bottom: 3px solid #dc3545;
}

/* Table Styling */
.table-responsive {
    border-radius: 8px;
    overflow: hidden; /* Clips the corners */
    border: 1px solid #e0e0e0; /* Subtle border around the whole table */
    margin-top: 10px;
}

.spec-table {
    width: 100%;
    border-collapse: collapse; /* Removes gaps between cells */
    background-color: #fff;
}

.spec-table tr {
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
}

.spec-table tr:nth-child(even) {
    background-color: #f8f9fa;
}

.spec-table tr:hover {
    background-color: #fff5f6; /* Very light pink tint */
}

.spec-table td {
    padding: 12px 20px;
    font-size: 14px;
    vertical-align: middle;
}

/* First column (Keys) styles */
.spec-table td:first-child {
    width: 45%;
    font-weight: 600;
    color: #495057; /* Dark Grey */
    position: relative;
}

/* .spec-table td:first-child::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 14px;
    background-color: #dc3545; 
    border-radius: 2px;
    margin-right: 12px;
    vertical-align: middle;
} */

.spec-table td:last-child {
    font-weight: 500;
    color: #212529; /* Black */
    text-align: right; /* Aligns values to the right for a clean look */
}

.spec-table th {
    background-color: #FBEAE9;
    color: #0D0D0D;
    padding: 15px;
    text-align: left;
}

/* Inquiry Button */
.inquiry-btn {
    background-color: #E5322B;
    color: white;
    padding: 12px 53px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 20px;
    transition: background 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 14px;
}

.inquiry-btn:hover {
    background-color: #000000;
}

/* 1. The Container - Handles the shadow */
.custom-clipped-img {
    width: 100%;
    aspect-ratio: 1 / 1; /* Adjust based on your needs */
    object-fit: cover;
    
    /* This links to the SVG path above */
    clip-path: url(#concave-clip);
    -webkit-clip-path: url(#concave-clip);
}

.image-wrapper {
    position: relative;
    /* Use drop-shadow instead of box-shadow so it follows the curve */
    filter: drop-shadow(0px 8px 15px rgba(0,0,0,0.15));
}

/* 2. The Main Image - DEFINING THE SHAPE */
/* .image-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    
    
    border-radius: 0 20px 20px 20px;

    
    clip-path: polygon(
       
        0% 65px,
        
     
        10px 64px,
        20px 61px,
        30px 57px,
        40px 51px,
        50px 42px,
        57px 30px,
        61px 20px,
        64px 10px,
        
      
        65px 0%,
        
      
        100% 0%,
        100% 100%,
        0% 100%
    );

    transition: all 0.3s ease;
} */

/* 3. The Floating Badge */
.index-badge {
    /* position: absolute;
    top: -2px; 
    left: -2px;
    width: 58px;
    height: 58px;
    background-color: #dc3545;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    z-index: 10;
    border-radius: 14px 14px 28px 14px;
    border: 3px solid #fff; */

    position: absolute;
    top: 0;
    left: 0;
    width: 52px; /* Adjust to match the curve depth */
    height: 52px;
    background-color: #E5322B;
    color: #fff;
    border-radius: 12px 0 20px 0; /* Rounds the outer top/left and inner bottom-right */
    border: 3px solid #fff;
    z-index: 11;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
}

.thumbnail-row {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    justify-content: start; /* Aligns thumbnails to the left like the image */
}

.thumb-box {
    width: 70px;
    height: 70px;
    border: 2px solid #eee; /* Light grey border by default */
    border-radius: 12px;    /* Rounded square shape */
    cursor: pointer;
    padding: 4px;           /* Spacing between border and image */
    transition: all 0.2s ease;
    background: #fff;
}

.thumb-box.active {
    border-color: #dc3545;
    box-shadow: 0 4px 10px rgba(220, 53, 69, 0.15);
}

.thumb-box:hover {
    border-color: #ff8b9a; /* Lighter red on hover */
}

.thumb-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;     /* Inner rounding for the image itself */
    display: block;
}

/* 1. Container for Title + Synonym (The Pink Box) */
.product-title-box {
    background-color: #FBEAE9; /* Light Pink Background */
    padding: 15px 25px;
    border-radius: 16px;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 2. The Title inside the box */
.product-title-box h3 {
    background-color: transparent !important; /* Remove previous bg */
    padding: 0 !important;      
    margin-bottom: 4px;    
    font-size: 18px;
    font-weight: 700;
    color: #212529; /* Dark/Black color */
    border-radius: 0;
}

/* 3. The Synonym line inside the box */
.product-title-box .product-synonym {
    font-size: 14px;
    color: #6c757d; /* Muted Grey */
    margin: 0;
    font-weight: 400;
}

.product-title-box .synonym-label {
    font-weight: 500;
    color: #495057; /* Slightly darker grey for label */
    margin-right: 4px;
}

.product-title-box .synonym-text {
    font-style: italic;
    font-weight: 400;
}

.highlight-product {
  background-color: #f8dada34;
  /* box-shadow: 0 0 20px rgba(198, 40, 40, 0.3); */
  transition: all 0.8s ease;
}


.search-breadcrumb {
    background-color: #ffffff;
    border-bottom: 1px solid #eee;
}

#search-result-name {
    background-color: #FBEAE9 !important; /* Matches your pink theme */
    color: #dc3545 !important;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.95em;
}

#search-result-path {
    margin-top: 5px;
    color: #6c757d;
    font-size: 14px;
}

.product-detail-cta-wrapper{
    /* Path to your red background image */
    background:  url('../assests/images/product-details/product-detals-cta-banner.png') no-repeat center center; 
    background-size: cover;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(217, 45, 32, 0.2);
}

.category-products{
    padding-top: 48px;
    padding-bottom: 40px;
}

.cta-btn-product-detail img{
        width: 24px;
        height: 24px;
        align-items: center;
        justify-content: center;
}

@media (max-width: 991px) {
    .product-detail-cta-wrapper {
        background: url('../assests/images/product-details/Responsive-cta-products.png') no-repeat center center;
        background-size: cover;
    }

    .category-products{
        padding-bottom: 0px !important;
    }
    
}

@media(max-width : 575px){
    #category-banner-title{
        font-size: 40px !important;
        padding-left: 14px;
    }
}

@media(max-width : 480px){
    .tab-btn{
        padding: 0px 10px !important;
    }

    .sub-pro-desc{
        padding-left: 5px;
    }

    .search-breadcrumb{
        display: none !important;
    }
}

@media (max-width: 420px){
    .tab-buttons {
        overflow-x: auto;
    }

    .sub-pro-desc{
        padding-left: 7px;
    }
}

@media (max-width : 375px){
    #category-banner-title{
        font-size: 35px !important;
        /* text-align: center; */
    }
}

/* ===================================================================
                      Contact US Page
=================================================================== */
.contact-us-banner {
    height: 237px; /* As requested */
    background: url('../assests/images/contact-us/contact-us-hero-banner.png');
    background-size: cover;
    background-position: center;
    overflow: hidden;
    position: relative;
}

/* --- Contact Section Styles --- */

/* Main grey background wrapper */
.bg-light-grey {
    background-color: #F8F9FA; /* Very light grey matching the image bg */
}

/* The Red Card */
.red-contact-card {
    background-color: #E5322B; /* Primary Red */
    border-radius: 30px;
    position: relative;
    z-index: 1;
    /* This creates the subtle wave/gradient effect at bottom right */
    box-shadow: 0 10px 30px rgba(227, 53, 53, 0.3);
    width: 384px;
}

/* Decorative subtle circle at bottom right of red card */
.deco-circle {
    position: absolute;
    bottom: -50px;
    right: -123px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: -1;
}

.deco-circle-2 {
    position: absolute;
    bottom: -102px;
    right: -26px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: -2;
}

/* Icons inside the red card */
.icon-circle {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Force icons to be red if they are SVGs using filter, 
   OR assume you have red icon assets. 
   If your icons are black, this filter turns them red: */
.icon-circle img {
    width: 18px;
    height: 18px;
    /* Optional: Filter to turn black icons to red */
    /* filter: invert(27%) sepia(91%) saturate(2351%) hue-rotate(345deg) brightness(96%) contrast(92%); */
}

.font-14 {
    font-size: 14px;
}

/* The grey map placeholder box */
.map-box {
    width: 100%;
    height: 120px; /* Increased height slightly for better visibility */
    background-color: #D9D9D9;
    display: block;
    transition: transform 0.3s ease;
    border: 1px solid rgba(255,255,255,0.2);
}

.map-box:hover {
    transform: scale(1.02);
    filter: brightness(1.1);
}

/* Ensure the image behaves correctly */
.object-fit-cover {
    object-fit: cover;
}

/* --- Form Styles --- */

.form-label-custom {
    font-size: 15px;
    color: #222222;
    margin-bottom: 10px;
    font-weight: 400;
}

.form-control-custom {
    border-radius: 16px !important;  
    border: 1px solid #EAEAEA;
    padding: 14px 20px;
    font-size: 14px;
    background-color: #fff;
    color: #383838;
    transition: all 0.3s ease;
    font-weight: 400;
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;

    display: block;
    width: 100%;
}

/* 
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
} */


.form-control-custom:focus {
    box-shadow: 0 0 0 3px rgba(227, 53, 53, 0.1); /* Red glow */
    border-color: #E33535;
}

.form-control-custom::placeholder {
    color: #B0B0B0;
    font-weight: 400;
}

.form-content{
    padding-left: 60px;
    padding-right: 70px;
}

/* Dropdown specific styling */
.form-select.form-control-custom {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* Submit Button */
.contact-us-submit {
    background-color: #E5322B !important;
    border: none;
    padding: 12px 30px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    transition: 0.5s ease;
    color: #FFFFFF !important;
}

.contact-us-submit :hover{
    background-color: #6e0101;
}

.contact-us-placeholder{
    font-size: 14px;
    font-weight: 400;
    color: #919191 !important;
}

.faq-desc{
    text-align: center;
    margin-bottom: 40px
}

.send-mssg-btn{
    padding: 11px 42px !important;
    border-radius: 14px !important;
    transition: all 0.5s ease;
}

.send-mssg-btn:hover{
    background-color: #000000 !important;
}

/* Mobile Tweaks */
@media (max-width: 991px) {
    .red-contact-card {
        margin-bottom: 20px;
        width: unset !important;
    }
    .form-content {
        padding-left: unset;
        padding-right: unset;
    }
}

@media (max-width : 767px){
    .contact-us-banner {
        height: unset !important;
    }
}

@media (max-width : 575px){
     .contact-us-banner {
        padding: 18px 0px;
    }

    .contact-us-head {
        text-align: center;
    }
}


/* --- FAQ Section Styles --- */

.faq-section{
    margin-bottom: 80px;
}

.custom-faq-accordion .accordion-item {
    border-radius: 16px !important; 
    overflow: hidden;
    background-color: #fff;
    transition: all 0.5s ease; 
    margin-bottom: 18px !important;
    border: 1px solid #DDDDDD
}

.custom-faq-accordion .accordion-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.custom-accordion-btn {
    background-color: transparent !important;
    color: #212529;
    box-shadow: none !important;
    padding: 20px 24px;
    font-size: 16px;
    
}

.custom-accordion-item:has(.custom-accordion-btn:not(.collapsed)) {
    border: 1px solid #FF5C5C;
    background-color: #fff; 
    box-shadow: 0 5px 15px rgba(255, 92, 92, 0.1); 
    
}

.custom-accordion-btn::after {
    background-image: url("../assests/icons/contact-us-drp-down.svg");
    transition: transform 0.5s ease-in-out;
}

.custom-accordion-btn:not(.collapsed)::after {
    background-image: url("../assests/icons/contact-us-drp-down.svg");
    transform: rotate(-180deg);
}

.accordion-button:not(.collapsed){
    color: var(--primary-red) !important;
}

.accordion-body {
    padding: 0 24px 24px 24px;
    line-height: 1.6;
    color: #0D0D0D;
}

@supports not selector(:has(*)) {
    .custom-accordion-btn:not(.collapsed) {
        border-bottom: 1px solid transparent; 
    }
}





/* Custom Dropdown Styling */
.contact-us-select-wrapper { cursor: pointer; }

.contact-us-dropdown-container {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 12px;
    margin-top: 5px;
    z-index: 1000;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    max-height: 350px;
    display: flex;
    flex-direction: column;
}

.contact-us-search-input {
    width: 100%;
    border: none;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 12px 12px 0 0;
    outline: none;
}

.contact-us-options-list {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
}

.contact-us-option-item {
    padding: 10px 15px;
    font-size: 14px;
    color: #333;
    transition: background 0.2s;
}

.contact-us-option-item:hover {
    background-color: #f8f9fa;
    color: #E5322B;
}

.contact-us-category-header {
    padding: 8px 15px;
    font-size: 12px;
    font-weight: 700;
    color: #999;
    background: #fdfdfd;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.contact-us-select-arrow {
    transition: transform 0.3s ease;
    width: 12px;
}

.contact-us-select-wrapper.active .contact-us-select-arrow {
    transform: rotate(180deg);
}

/* .contact-us-no-results {
    padding: 20px;
    text-align: center;
    color: #999;
    font-size: 14px;
} */

/* Styling for clickable items in the red card */
.contact-card-link {
    transition: opacity 0.3s ease, transform 0.2s ease;
    color: rgb(255, 255, 255);
}

.contact-card-link:hover {
    transform: translateX(5px); /* Subtle slide effect on hover */
    color: #ffffff !important; /* Ensure text stays white */
}

/* Ensure icons stay centered and red within the white circles */
.icon-circle {
    transition: transform 0.3s ease;
}

.contact-card-link:hover .icon-circle {
    transform: scale(1.1);
}

.help-block.text-danger {
    color: #dc3545;
    font-size: 0.85rem;
    margin-top: 5px;
}

.is-invalid {
    border-color: #dc3545 !important;
}

.border-danger {
    border: 1px solid #dc3545 !important;
    border-radius: 4px;
}


/* Change text color to #191919 when a product is selected */
.contact-us-placeholder.is-selected {
    color: #191919 !important;
    opacity: 1;
    /* Ensures it looks like active input text */
}



/* ============= 404 error page ================================= */


.error-page-body {
    background-color: #0a0a0a; /* Deep Black */
    color: #ffffff;
    height: 100vh;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

/* Red Grid Background Animation */
.error-bg-grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(to right, rgba(229, 50, 43, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(229, 50, 43, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    z-index: 1;
}

.error-main-container {
    text-align: center;
    z-index: 10;
    padding: 20px;
}

/* Floating 404 Code */
.error-glitch-code {
    font-size: clamp(8rem, 15vw, 12rem);
    font-weight: 900;
    color: #ffffff;
    margin: 0;
    line-height: 1;
    text-shadow: 6px 6px 0px #E5322B; /* Brand Red */
    animation: error-float 5s ease-in-out infinite;
}

@keyframes error-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(2deg); }
}

.error-main-heading {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 20px;
}

.error-main-text {
    color: #cfceced7;
    max-width: 500px;
    margin: 15px auto 40px;
    line-height: 1.6;
}

/* Interactive Red Button */
.error-home-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 45px;
    background: transparent;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    border: 2px solid #E5322B;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.error-home-btn span {
    position: relative;
    z-index: 2;
}

.error-home-btn .btn-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #E5322B;
    z-index: 1;
    transition: width 0.4s ease;
}

/* Hover Animations */
.error-home-btn:hover {
    color: #ffffff;
    transform: scale(1.05);
    box-shadow: 0 10px 25px rgba(229, 50, 43, 0.4);
}

.error-home-btn:hover .btn-overlay {
    width: 100%;
}

@media (max-width: 767px) {
    .error-glitch-code { font-size: 6rem; }
    .error-main-heading { font-size: 20px; }
}

/* Container for both buttons */
.error-btn-group {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

/* Base style for Return Home (keeping your existing style) */
.error-home-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 35px;
    background: transparent;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    border: 2px solid #E5322B;
    border-radius: 14px; /* Matching UMA Organics style */
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    font-size: 14px;
    letter-spacing: 1px;
}

/* Secondary Button: Explore Products */
.error-explore-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 35px;
    background: transparent;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    border: 2px solid #ffffff; /* White border for contrast */
    border-radius: 14px;
    transition: all 0.4s ease;
    font-size: 14px;
    letter-spacing: 1px;
}

/* Hover effect for Explore Products */
.error-explore-btn:hover {
    background-color: #ffffff;
    color: #0a0a0a;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.1);
}

/* Hover for Return Home (keeping your existing logic) */
.error-home-btn:hover {
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(229, 50, 43, 0.4);
}

.error-home-btn span {
    position: relative;
    z-index: 2;
}

.error-home-btn .btn-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #E5322B;
    z-index: 1;
    transition: width 0.4s ease;
}

.error-home-btn:hover .btn-overlay {
    width: 100%;
}

/* Responsive adjustment for small screens */
@media (max-width: 575px) {
    .error-btn-group {
        flex-direction: column;
        gap: 15px;
        width: 100%;
    }
    
    .error-home-btn, .error-explore-btn {
        width: 80%; /* Consistent width on mobile */
    }
}




/* ============================
        Image Viewer Close Button Fix
   ============================ */

/* Target all possible viewer close button selectors */
.viewer-close,
.viewer-button-close,
[class*="viewer"] button[aria-label="Close"],
.viewer-toolbar>li[data-action="close"],
.viewer-canvas>img~button,
button.viewer-close {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}






































/* ===== Google Reviews Button ===== */

/* .ratings-container{
    margin-bottom: 40px;
    padding-bottom: 40px;
} */

/* ===== Google Reviews Button ===== */
.gmb-review-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1.5px solid #e0e0e0;
    border-radius: 16px;
    padding: 16px 28px;
    text-decoration: none;
    color: #0D0D0D;
    max-width: 360px;
    width: 100%;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    z-index: 1;
}

/* Red Overlay */
.gmb-review-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #E5322B, #b91c1c);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: -1;
}

.gmb-review-btn:hover::before ,
.gmb-review-btn:active::before {
    transform: scaleX(1);
}

.gmb-review-btn:hover ,
.gmb-review-btn:active{
    border-color: #E5322B;
    box-shadow: 0 12px 35px rgba(229, 50, 43, 0.35);
    transform: translateY(-4px);
    color: #ffffff;
}

/* Content Layering */
.gmb-btn-text,
.gmb-google-icon,
.gmb-arrow {
    position: relative;
    z-index: 2;
}

/* --- ICON CHANGES START --- */
.gmb-google-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
    transition: transform 0.4s ease;
}

/* Keep original colors, just add shadow to pop against red */
.gmb-review-btn:hover .gmb-google-icon {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    transform: scale(1.1);
}

/* --- ICON CHANGES END --- */

.gmb-btn-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    flex: 1;
}

.gmb-btn-title {
    font-size: 15px;
    font-weight: 700;
    color: #0D0D0D;
    transition: color 0.4s ease;
}

.gmb-btn-sub {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
    transition: color 0.4s ease;
}

/* Text turns white on hover */
.gmb-review-btn:hover .gmb-btn-title {
    color: #ffffff;
}

.gmb-review-btn:hover .gmb-btn-sub {
    color: rgba(255, 255, 255, 0.85);
}

/* Arrow handling */
.gmb-arrow {
    width: 14px;
    height: 14px;
    opacity: 0.4;
    transition: all 0.4s ease;
}

.gmb-review-btn:hover .gmb-arrow {
    opacity: 1;
    transform: translateX(5px);
    filter: brightness(0) invert(1);
    /* Keeps arrow white */
}

@media (max-width: 991px){
    .black-badge-container{
        text-align: center;
    }
} 