
/* =========================================================
   Global Colors
   ========================================================= */

   :root {
  --blue: #171741;
  --white: #fff;
  --black: #242325;
  --red: #ED1B26;
  --grey: #F5F5F5;
}



/* =========================================================
   Global Typography
   ========================================================= */
body {
    font-family: 'Saira', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Saira', sans-serif;
}

h2 {
    font-size: 44px;
    font-weight: 500;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 40px;
    color: var(--blue)
}

a {
    color: var(--red);
    text-decoration: none;
}

/* =========================================================
   Icons
========================================================= */


@font-face {
  font-family: 'abbicons';
  src: url('../font/abbicons.eot?16168555');
  src: url('../font/abbicons.eot?16168555#iefix') format('embedded-opentype'),
       url('../font/abbicons.woff2?16168555') format('woff2'),
       url('../font/abbicons.woff?16168555') format('woff'),
       url('../font/abbicons.ttf?16168555') format('truetype'),
       url('../font/abbicons.svg?16168555#abbicons') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'abbicons';
    src: url('../font/abbicons.svg?16168555#abbicons') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "abbicons";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-car-makes:before { content: '\e800'; } /* '' */
.icon-clock:before { content: '\e801'; } /* '' */
.icon-plus:before { content: '\e802'; } /* '' */
.icon-twitter:before { content: '\e803'; } /* '' */
.icon-left:before { content: '\e804'; } /* '' */
.icon-big-arrow:before { content: '\e805'; font-weight: bold;} /* '' */
.icon-headphone:before { content: '\e806'; } /* '' */
.icon-location:before { content: '\e807'; } /* '' */
.icon-submit:before { content: '\e808'; } /* '' */
.icon-customers:before { content: '\e809'; } /* '' */
.icon-services:before { content: '\e80a'; } /* '' */
.icon-email:before { content: '\e80b'; } /* '' */
.icon-right:before { content: '\e80c'; } /* '' */
.icon-minus:before { content: '\e80d'; } /* '' */
.icon-facebook:before { content: '\e80e'; } /* '' */
.icon-x:before { content: '\e80f'; } /* '' */
.icon-linkedin:before { content: '\e810'; } /* '' */
.icon-instagram:before { content: '\e811'; } /* '' */
.icon-union:before { content: '\e812'; } /* '' */
.icon-products:before { content: '\e813'; } /* '' */
.icon-angle-right:before { content: '\f105'; } /* '' */



/* =========================================================
   Header Styles
   ========================================================= */

/* General Header Container */
.site-header {
  position: fixed;
    top: 0;
  width: 100%;
  z-index: 9999; 
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Subtle shadow for depth */
  border-bottom: 1px solid #e0e0e0; /* The thin gray line at the bottom of the menu bar */

}

.site-header .nav-container {
    display: flex;
    justify-content: space-between; /* Distribute items horizontally */
    align-items: center; /* Vertically center all items */
    padding-top: 1rem;
    padding-bottom: 1rem;
    min-height: 80px; /* Ensure a minimum height for the header */
}

/* Logo Styling */
.site-header .logo img {
    height: 50px; /* Adjust logo height as needed */
    width: auto;
}

/* Main Navigation Menu */
.site-header .main-nav {
    flex-grow: 1; /* Allow the nav to take up available space */
    display: flex;
    justify-content: space-around; 
    align-items: center;
}

.site-header .main-nav .menu {
    list-style: none; /* Remove list bullets */
    margin: 0;
    padding: 0;
    display: flex; /* Display menu items horizontally */
    align-items: center;
    gap: 8rem; /* Space between menu items */
    margin-left: 5rem; /* Add some space between the logo and the menu */
}

.site-header .main-nav .menu li {
    position: relative; /* Needed for dropdown menus */
}

.site-header .main-nav .menu a {
    color: #4b4b4b; /* Dark gray text color */
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500; /* Medium font weight */
    transition: color 0.3s ease;
    padding: 0.5rem 0; /* Add padding for better clickable area */
}

/* Menu Item Hover Effect */
.site-header .main-nav .menu a:hover,
.site-header .main-nav .menu a:focus {
    color: #3d507b; /* Dark blue color on hover */
}

/* "Browse All Categories" Icon */
.site-header .main-nav .menu .menu-item-has-children > a:after {
    content: '\f107'; /* Font Awesome down arrow icon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-left: 0.5rem;
    font-size: 0.8em;
}

/* Contact Us Button */
.site-header .main-btn a {
    background-color: transparent;
    color: #4b4b4b; /* Dark gray text color */
    text-decoration: none;
    border: 1px solid #8e9bb3; /* Light blue border color */
    border-radius: 5px; /* Rounded corners */
    padding: 0.75rem 1.5rem; /* Padding inside the button */
    font-weight: 500;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.site-header .main-btn a:hover {
    background-color: #f0f0f0; /* Slight gray background on hover */
    color: #3d507b; /* Dark blue text color on hover */
    border-color: #3d507b; /* Dark blue border on hover */
}

/* Responsive Adjustments for Mobile */
@media (max-width: 991.98px) {
    .site-header .nav-container {
        flex-wrap: wrap; /* Allow items to wrap on smaller screens */
    }

    .btn.main-btn {
        display: none; 
    }

    .site-header .main-nav {
    justify-content: flex-end;
}

    .site-header .btn {
        margin-left: auto; /* Push the button to the right */
    }

    /* You'll need to create a mobile menu toggle and a mobile menu layout separately */
    /* This CSS is for the desktop layout as per the image */
}


/* Mega Menu */

.top-product-category-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.card.cat-card.text {
    position: relative;
}

.card.cat-card {
    border-radius: 15px;
    overflow: hidden;
}

.cat-card .card-img-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45); 
  z-index: 1;
}

.cat-title {
    position: absolute;
    bottom: 10px;
    padding: 10px;
    z-index: 2;
}

.cat-title h5 {
    color: var(--white);
    font-size: 16px;
    font-weight: 400;
}

.card.cat-card img {
    height: 200px;
    object-fit: cover;
}

/* =========================================================
   Footer Styles
   ========================================================= */

/* Main Footer Section */
.site-footer .footer-primary-bg {
    background-color: var(--grey); /* Light gray background */
    color: var(--blue);             /* Dark gray text color */
}

/* Footer Section Titles */
.site-footer h5 {
    font-weight: 400;           
    color: var(--blue);             
    font-size: 32px;          
    margin-bottom: 1.5rem !important; 
}

/* Footer Links (Information & Top Categories) */
.site-footer .footer-links a, .site-footer .contact-info li a {
    color: var(--blue);             /* Link color */
    text-decoration: none;      /* Remove underline */
    font-size: 0.95rem;         /* Font size for links */
    line-height: 2;             /* Spacing between links */
    display: block;             /* Make links block-level for better spacing */
}

.site-footer .footer-links a:hover, .site-footer .contact-info li a:hover {
    color: var(--red);             /* Hover color */
}

/* Get In Touch Section */
.site-footer .contact-info li {
    font-size: 0.95rem;         /* Font size for contact info */
    margin-bottom: 0.8rem !important; /* Space between list items */
    color: var(--blue);
}

.site-footer .contact-info li i {
    color: var(--white);
    border-radius: 4px;
    border: 2px solid #171741;
    background: #171741;
    /* width: 50px; */
    display: inline-block;
    text-align: center;
    height: auto;
    font-size: 15px;
    padding: 3px 5px;
}
/* Social Media Section */
.site-footer .social-description {
    font-size: 0.9rem;          /* Smaller font for description text */
    color: #888888;             /* Lighter gray for description */
    margin-bottom: 1rem;
}

/* Social Media Icons */
.site-footer .social-icons .btn-social {
    background-color: var(--blue);  /* Dark blue background color */
    color: #ffffff;             /* White icon color */
    border-radius: 4px;         /* Make the buttons perfectly circular */
    width: 38px;
    height: 38px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    transition: background-color 0.3s ease;
    border: none; /* Remove any default button borders */
}

.site-footer .social-icons .btn-social:hover {
    background-color: var(--red);  /* Lighter blue on hover */
    color: #ffffff;
}

/* Copyright and Credits Bar */
.site-footer .copyright-bar, .site-footer .copyright-bar a {
    color: var(--blue);
    font-size: 0.9rem;
}

.site-footer .copyright-bar a:hover {
        color: var(--red);
}

/* Lower Footer Section (Logo and links) */
/* Lower Footer Section (Logo and links) */
.site-footer .footer-secondary-bg {
    background-color: #f7f7f7;  
    padding-top: 3rem;         
    padding-bottom: 3rem;
    color: var(--blue)            
}

/* Footer Bottom Links (Privacy, Terms, Site Map) */
.site-footer .footer-bottom-links {
    font-size: 0.95rem;
}

.site-footer .footer-bottom-links a {
    color: var(--blue);             
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-footer .footer-bottom-links a:hover {
    color: var(--red);       
}

/* Divider between links */
.site-footer .footer-bottom-links span {
    color: var(--blue);       
}

/* Logo Tagline text */
.site-footer .footer-secondary-bg p.text-secondary {
    color: #4b4b4b !important;  /* Ensure the text is dark gray, overriding Bootstrap's utility class */
    margin-top: -10px;          /* Move the tagline closer to the logo */
    font-size: 0.9rem;          /* Adjust font size */
}

/* Horizontal Line */
.site-footer hr {
    border-top: 1px solid #ED1B26;
    opacity: 1; /* Make sure the HR line is fully visible */
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .site-footer .col-md-3 {
        margin-bottom: 2rem;    /* Add space between columns on small screens */
    }
}


/* Hero Section */

.hero-slider {
    position: relative;
    width: 100%;
    height: 90vh;
}

.swiper-slide {
    position: relative;
    width: 100%;
    height: 90vh;
}

.slide-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.80) 8.1%, rgba(0, 0, 0, 0.80) 15.5%, rgba(0, 0, 0, 0.80) 22.5%, rgba(0, 0, 0, 0.78) 29%, rgba(0, 0, 0, 0.73) 35.3%, rgba(0, 0, 0, 0.67) 41.2%, rgba(0, 0, 0, 0.60) 47.1%, rgba(0, 0, 0, 0.52) 52.9%, rgba(0, 0, 0, 0.44) 58.8%, rgba(0, 0, 0, 0.33) 64.7%, rgba(0, 0, 0, 0.22) 71%, rgba(0, 0, 0, 0.12) 77.5%, rgba(0, 0, 0, 0.05) 84.5%, rgba(0, 0, 0, 0.01) 91.9%, rgba(0, 0, 0, 0.00) 100%);
}

.slide-content {
    position: absolute;
    z-index: 2;
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
}

/* .slide-buttons {
    position: absolute;
    bottom: 100px;
    z-index: 2;
} */

.hero-btns {
    position: relative;
    position: absolute;
    bottom: 100px;
    z-index: 2;
    width: 100%;
    max-width: inherit;
}

.hero-flex {
    display: flex;
    justify-content: space-between;

}

.slide-content h2 {
    margin-bottom: 20px;
    color: #FFF;
    font-family: Saira;
    font-size: 66px;
    font-style: normal;
    font-weight: 400;
    line-height: 80px;
}

.slide-content p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.slide-buttons a {
    display: inline-block;
    margin-right: 10px;
    padding: 10px 20px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
}

.slide-buttons a:hover {
    background: #fff;
    color: #000;
}

.slider-pause-play {
    z-index: 5;
    background: rgba(255,255,255);
    border: none;
    color: #000;
    font-size: 15px;
    padding: 0px 10px;
    cursor: pointer;
    border-radius: 35%;
}


/* Counter */

.stats-section {
    padding: 60px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.stat-card {
    background: var(--grey);
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

.stat-icon img {
    max-width: 60px;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 2rem;
    font-weight: bold;
    color: var(--blue);
}

.stat-suffix {
    font-size: 1rem;
    vertical-align: super;
    font-weight: normal;
}

.stat-label {
    font-size: 1rem;
    color: var(--blue);
    margin-top: 5px;
    font-weight: 500;
}

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

.stat-icon i {
    font-size: 90px;
    color: var(--blue);
}

/* Responsive */
@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
}


/* Car Brands */

.car-brands {
    background: var(--blue);
    color: var(--white);
    text-align: center;
}

.car-brand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.car-brand-wrap {
    padding: 20px 15px;
    border-right: 1px solid rgba(255,255,255,0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-transform: uppercase;
}

.car-brand-wrap:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.car-brand-wrap img {
    max-width: 80px;
    height: 80px;
    margin-bottom: 8px;
    object-fit: contain;
}

/* Product Layout */

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.top-picks .products-grid , .featured-section.featured-products .products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.product-card {
    position: relative;
    height: 450px;
    max-height: 450px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.product-overlay {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 15px;
    border-radius: 15px;
    background: linear-gradient(0deg, #E2F6FF 0%, rgba(226, 246, 255, 0.95) 8.1%, rgba(226, 246, 255, 0.90) 15.5%, rgba(226, 246, 255, 0.85) 22.5%, rgba(226, 246, 255, 0.78) 29%, rgba(226, 246, 255, 0.73) 35.3%, rgba(226, 246, 255, 0.67) 41.2%, rgba(226, 246, 255, 0.60) 47.1%, rgba(226, 246, 255, 0.52) 52.9%, rgba(226, 246, 255, 0.44) 58.8%, rgba(226, 246, 255, 0.33) 64.7%, rgba(226, 246, 255, 0.22) 71%, rgba(226, 246, 255, 0.12) 77.5%, rgba(226, 246, 255, 0.05) 84.5%, rgba(226, 246, 255, 0.01) 91.9%, rgba(226, 246, 255, 0.00) 100%);
}

.product-main-image {
    position: absolute;
    top: 55%;
    left: 35%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.product-main-image img {
    max-height: 225px;
    width: auto;
    margin-bottom: 5rem;
}

.product-info {
    display: inline-block;
    position: relative;
    z-index: 3;
    color: var(--blue);
    text-decoration: none;
    /* border-bottom: 3px solid ; */
    margin-bottom: 20px;
}

.product-info .brand {
    font-size: 0.9rem;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
    opacity: 0.9;
}

.product-info h3 {
    display: inline-block;
    margin: 0 0 5px;
    font-size: 1.1rem;
    border-bottom: 2px solid red;

}

.star-rating {
    font-size: 1.5rem;
    color: var(--red);
}

/* Product Card */

.product-card {
    position: relative;
    overflow: hidden;
border-radius: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card .product-bg {
    transition: transform 0.5s ease;
}

.product-card .overlay {
    transition: background 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.product-card:hover .product-bg {
    transform: scale(1.05);
}

.product-card:hover .overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2));
}


/* Solutions in Motion. */

section {
    padding: 60px 0;
}

.category-archive {
    margin-bottom: 60px;
}

/* tweak these 3 vars to match your comp exactly (in px) */
.solutions-in-motion {
  --gap: 24px;
  --row1: 320px; /* Performance height */
  --row2: 90px;  /* Extra height that makes Off-Road taller than Performance */
  --row3: 300px; /* Height for Luxury & Everyday */
}

.category-grid {
  display: grid;
  gap: var(--gap);
  /* 4 columns: left stack + 3-column right block like the design */
  grid-template-columns: repeat(4, 1fr);
  /* Three explicit row tracks to control heights precisely */
  grid-template-rows: var(--row1) var(--row2) var(--row3);
}

/* Common card styling */
.category-card {
  display: flex;
  align-items: flex-end;
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 14px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  min-height: 0;
}

.category-card .overlay {
  width: 100%;
  padding: 18px 20px;
  background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0));
  font-weight: 600;
  letter-spacing: .2px;
  z-index: 2;
}

/* ---- Exact placement (by slug) ---- */
/* Top-left: Performance (portrait) */
.category-card.cat-performance {
  grid-column: 1 / 2; /* col 1 */
  grid-row: 1 / 2;    /* row 1 only */
}

/* Top-right: Off-Road (wide, slightly taller than Performance) */
.category-card.cat-off-road {
  grid-column: 2 / 5; /* span cols 2-4 */
  grid-row: 1 / 3;    /* rows 1 + 2 => taller than Performance */
}

/* Bottom-left: Motorsport (landscape, taller than Luxury/Everyday) */
.category-card.cat-motorsport {
  grid-column: 1 / 2; /* col 1 */
  grid-row: 2 / 4;    /* rows 2 + 3 => taller than single-row cards */
}

/* Bottom middle: Luxury (portrait / small) */
.category-card.cat-luxury {
  grid-column: 2 / 3; /* col 2 */
  grid-row: 3 / 4;    /* row 3 */
}

/* Bottom right: Everyday (wide, same height as Luxury) */
.category-card.cat-everyday-driving {
  grid-column: 3 / 5; /* cols 3-4 (wide) */
  grid-row: 3 / 4;    /* row 3 (same height as Luxury) */
}

/* Optional: simple responsive collapse */
@media (max-width: 992px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .category-card { aspect-ratio: 16/10; }
  .category-card[class*="cat-"] { grid-column: auto; grid-row: auto; }
}
@media (max-width: 576px) {
  .category-grid { grid-template-columns: 1fr; }
}



/* Top Picks */

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: var(--white);
    background-color: var(--blue);
    border-color: var(--blue);
}

.nav-tabs .nav-link {
    border-radius: 0;
    color: var(--blue);
}

.nav-tabs {
    border-bottom: 1px solid var(--blue);
}

#categories .card-body {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    width: 90%;
    gap: 5px;
    color: var(--white);
}

#categories .card-img-overlay {
    border-radius: 0 0 13.801px 13.801px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.80) 8.1%, rgba(0, 0, 0, 0.80) 15.5%, rgba(0, 0, 0, 0.80) 22.5%, rgba(0, 0, 0, 0.78) 29%, rgba(0, 0, 0, 0.73) 35.3%, rgba(0, 0, 0, 0.67) 41.2%, rgba(0, 0, 0, 0.60) 47.1%, rgba(0, 0, 0, 0.52) 52.9%, rgba(0, 0, 0, 0.44) 58.8%, rgba(0, 0, 0, 0.33) 64.7%, rgba(0, 0, 0, 0.22) 71%, rgba(0, 0, 0, 0.12) 77.5%, rgba(0, 0, 0, 0.05) 84.5%, rgba(0, 0, 0, 0.01) 91.9%, rgba(0, 0, 0, 0.00) 100%);
}

.featured-products .card-body {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    width: 90%;
    gap: 5px;
    color: var(--white);
}

.featured-products .card-img-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 8.1%, rgba(0, 0, 0, 0.50) 15.5%, rgba(0, 0, 0, 0.48) 22.5%, rgba(0, 0, 0, 0.45) 29%, rgba(0, 0, 0, 0.40) 35.3%, rgba(0, 0, 0, 0.35) 41.2%, rgba(0, 0, 0, 0.30) 47.1%, rgba(0, 0, 0, 0.25) 52.9%, rgba(0, 0, 0, 0.20) 58.8%, rgba(0, 0, 0, 0.15) 64.7%, rgba(0, 0, 0, 0.10) 71%, rgba(0, 0, 0, 0.05) 77.5%, rgba(0, 0, 0, 0.02) 84.5%, rgba(0, 0, 0, 0.01) 91.9%, rgba(0, 0, 0, 0.00) 100%);
}

.featured-products .product-card {
    max-height: 350px;
}

/* Add Padding to the Media-text block */

.wp-block-media-text.is-image-fill-element>.wp-block-media-text__content {

    padding: 60px 8%;
}

.wp-block-media-text.is-image-fill-element {
    border-radius: 15px;
    overflow: hidden;
}

/* Subscribe */
.subscribe {
    background-image: url(../images/subscribe-bg.webp);
    width: 100%;
    height: 800px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
}

.subscribe::before {
    content: "";
    position: absolute;
    background: rgba(0,0,0,0.5);
    left: 0;
    height: 100%;
    width: 100%;

}

.newsletter-wrap {
    text-align: center;
    padding-top: 100px;
    z-index: 1;
    position: relative;
    color: var(--white);
}

.newsletter-wrap input#email {
    border: 2px solid var(--white);
    background: transparent;
    padding: 15px 20px;
    min-width: 50%;
    outline: none;
    border-radius: 10px 0 0 10px;
    color:var(--white);
}

input#email::placeholder {
    color: var(--white);
}

.newsletter-wrap i.fas.fa-paper-plane {
    font-size: 22px;
}

.newsletter-wrap button {
    margin-left: -10px;
    border: none;
    padding: 15px 40px 17px;
    border-radius: 6px;
}

.newsletter-wrap h5 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 500;
}

.newsletter-wrap h3 {
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 20px;
}

/* Banner Image */

.banner-section {
    background-size: cover;
    height: 420px;
    width: 100%;
    background-repeat: no-repeat;
    /* background-attachment: fixed; */
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    color: var(--white);
}

.banner-section::before {
    content: "";
    position: absolute;
    /* background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.25) 15.05%, rgba(0, 0, 0, 0.50) 30.8%, rgba(0, 0, 0, 0.60) 44.4%, rgba(0, 0, 0, 0.70) 59.42%, rgba(0, 0, 0, 0.75) 77.32%, rgba(0, 0, 0, 0.80) 96.26%); */
    width: 100%;
    height: 100%;
}

.banner-content {
    position: relative;
    z-index: 1;
}

.banner-content h2 {
	font-size: 4em;
	font-style: normal;
	font-weight: 400;
	line-height: 40px;
	color: var(--white);
	margin-bottom: 15px;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
}

.banner-content h3 {
    font-style: normal;
    font-weight: 400;
    font-size: 2.4em;
    /* color: rgba(226, 246, 255, 0.30); */
    color: var(--white);
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);

}

.banner-content .banner-sub-text {
    position: relative;
}

.banner-content span.border-icon {
    border-bottom: 2px solid rgba(226, 246, 255, 0.30);
    width: 70px;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
}

span.banner-text {
    margin-left: 80px;
}

/* About Us  */

.about-values-section {
  margin: 60px 0;
}

.about-values-grid {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 30px;
  align-items: stretch;
  position: relative;
  min-height: 500px;
}

/* Left Image */
.about-values-image img {
  width: 35%;
  height: 400px;
  object-fit: cover;
  border-radius: 15px;
  position: absolute;
  top: 40px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  z-index: 9;
}

/* Hover effect on image */
.about-values-image img:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

/* Content Box */
.about-values-content {
  border: 2px solid var(--grey);
  border-radius: 10px;
  padding: 40px;
  padding-left: 150px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* Hover effect on content box */
.about-values-content:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
}

/* Tabs */
.about-values-section .tabs {
  display: flex;
  border-bottom: 1px solid var(--red);
  margin-bottom: 15px;
}

.about-values-section .tab-btn {
  flex: 1;
  padding: 10px 20px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  transition: background 0.3s ease, color 0.3s ease;
}

/* Hover effect on tab buttons */
.about-values-section .tab-btn:hover {
  background: rgba(231, 76, 60, 0.1); /* subtle red background */
  color: var(--red);
}

.about-values-section .tab-btn.active {
  background: var(--red);
  color: #fff;
  border-radius: 5px 5px 0 0;
}

/* Tab Content */
.about-values-section .tab-content {
  display: none;
  font-size: 16px;
  line-height: 1.6;
}

.about-values-section .tab-content.active {
  display: block;
}

/* ✅ Responsive Styles */
@media (max-width: 991px) {
  .about-values-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .about-values-image img {
    position: relative;
    width: 100%;
    height: auto;
    top: 0;
    margin-bottom: 20px;
  }

  .about-values-content {
    padding: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 576px) {
  .tab-btn {
    font-size: 16px;
    padding: 8px 12px;
  }
}


/* Brands */

.brands-section {
  margin: 60px 0;
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.brand-card {
    border-radius: 12px;
    padding: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #F5F5F5;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
    text-align: center;
}

.brand-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.brand-image img {
    /* width: 100px; */
    height: 80px;
    object-fit: contain;
    margin-bottom: 15px;
}


/*Responsive */
@media (max-width: 991px) {
  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .brands-grid {
    grid-template-columns: 1fr;
  }
}

/* Contact Page */

.contact-details {
    background: var(--blue);
    color: var(--white);
    padding: 60px 40px;
    border-radius: 15px;
}

.contact-details h3 {
    margin-bottom: 40px;
    font-weight: 400;
}

.contact-form h3 {
    font-weight: 300;
}

#contact-section p {
    margin-bottom: 5px;
}

.contact-wrap {
    border-radius: 15px;
    background: rgba(245, 245, 245, 0.30);
    backdrop-filter: blur(2.5px);
    padding: 40px;
}

.forminator-field input, .forminator-field textarea {
    border-radius: 15px;
    border: 1px solid #D9D9D9;
    font-size: 15px !important;
    padding: 16px !important;
    border-radius: 15px !important;
}

.forminator-description {
    display: none !important;
}

button.forminator-button.forminator-button-submit {
    background: var(--red);
    color: var(--white);
}

.phone-wrap, .address-details, .email-addresses {
    position: relative;
    padding-left: 40px;
    margin-bottom: 40px;
}

.phone-details {
    display: flex;
    gap: 20px;
}

.phone-wrap::before {
    content: '\e806';
    font-family: 'abbicons';
    left: 0;
    top: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0.20);
    border-radius: 50px;
    padding: 2px 6px;
    backdrop-filter: blur(2px);
}

.address-details::before {
    content: '\e807';
    font-family: 'abbicons';
    left: 0;
    top: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0.20);
    border-radius: 50px;
    padding: 2px 8px;
    backdrop-filter: blur(2px);
}

.email-addresses::before {
    content: '\e80b';
    font-family: 'abbicons';
    left: 0;
    top: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0.20);
    border-radius: 50px;
    padding: 5px 7px;
    backdrop-filter: blur(2px);
    font-size: 12px;
}


/* Products */

.all-products {
    margin: 60px 0;
}

/* Single Products */

.single-product h2.product-title {
    margin-bottom: 0;
    border-bottom: 3px solid var(--red) !important;
    display: inline-block;
    
}

.single-product {
    margin-top: 100px;
}
.related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(250px, 1fr)); 
    gap: 20px;
    align-items: stretch; 
}

/* Tablets */
@media (max-width: 1024px) {
    .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 600px) {
    .related-grid {
        grid-template-columns: 1fr;
    }
}

.related-product img {
    width: 100%;
}

.related-products {
    margin: 60px 0;
}

.related-products h3 {
    margin-bottom: 40px;
}

.related-product p {
    color: var(--blue);
    font-weight: 600;
    text-align: center;
}

.related-product {
    border: 2px solid var(--grey);
    border-radius: 15px;
}

.product-gallery {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.product-gallery img {
    width: 150px;
    height: 150px;
    border: 2px solid var(--grey);
}

.product-description{
    margin-top: 30px;
}


/* Product Taxonomy */
.category-page {
    margin: 40px 0;
}

.page-content {
    margin: 60px 0;
}


/* All Products */
.products-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Filter bar */
.filter-bar {
  position: relative;
  display: inline-block;
  margin-bottom: 16px;
  z-index: 99;
}
.filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 9999px;
  background: #fff;
  cursor: pointer;
}
.filter-toggle .icon { font-weight: 700; }

.filter-list {
    position: absolute;
    top: calc(100% + 8px);
    left: -150px;
    width: fit-content;
    max-height: 400px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.12);
    display: none;
    list-style: none;
    padding-left: 15px;
}

.filter-list.show { display: block; }
.filter-list li {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 15px;
}
.filter-list li:hover,
.filter-list li:focus {
  /* background: #f5f5f5; */
  outline: none;
  color: red;
}

/* Grid */

a.product-item { display: block; text-decoration: none; }
a.product-item.hidden { display: none !important; }


