.feature-product{
    box-shadow: 0 3px 31px 17px rgba(0,0,0,.08);
    border-radius:10px;
}
.feature-product::after, .feature-product::before{
  content: '';
  position: absolute;
  width: 94%;
  height: 2px;
  background: linear-gradient(to right, #1c348139, #00baf2);
  bottom: -5px;
  left: 10px;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}
.feature-product::before {
  top: -5px;
  transform-origin: left;
}
.feature-product:hover::before, .feature-product:hover::after{
  transform: scaleX(1);
}
.product-grid-banner-md img.banner{
    width:70%;
    display:inline-block;
}
.product-grid-banner-md{
    text-align:center;
}
.product-grid-banner-md{
    height:250px;
}
.feature-product .fsh-btn-dark{
    font-size:15px;
    padding:10px 13px;
}
.feature-product .product-cart-btn-md{
    left:30%;
    width: 120px;
}
.feature-product .badge{
    z-index: 999;
    font-size: 12px;
    border-radius: 20px;
    padding:6px 12px;
    font-weight: 500;
}
.view-more-btn{
  padding:10px 20px;
  background: #00baf2;
}
.products-title-box{
    padding:12px 15px;
}
.products-title-box .product-title-link{
    font-weight: 600;
}
.products-title-box .product-title-link
.products-title-box:hover .product-title-link{
    text-decoration:underline;
}
.vpn-num {
    background: #e1e1e1;
    padding: 0px 5px;
}
.feature-product:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .3);
}
.feature-product:hover .products-title-box a, .feature-product:hover h6{
  color:#1c3481;
  font-weight:700;
}
.feature-product:hover .product-cart-btn-md, .fsh-btn-dark:hover{
  background: #00baf2;
  color:#fff;
  border:1px solid #00baf2;
}
.fsh-btn-dark:hover, .product-wishlist-btn:hover, .product-quickview-btn:hover{
  background: #00baf2 !important;
}
/* product page */
.product-list-filter, .filter-brand-item{
    display: none;
}
.filter-catagory.is-expand  .product-list-filter, .filter-brand.is-expand .filter-brand-item{
    display: block;
}
.filter-catagory.is-expand svg, .filter-brand.is-expand svg{
    transform: rotate(180deg);
}
.filter-catagory h4, .filter-brand h4{
    position:relative;
    cursor: pointer;
}
.filter-sidebar {
    border: 1px solid #e8e6e6;
    padding: 12px;
}
.filter-catagory.is-expand h4::before, .filter-brand.is-expand h4::before{
    transform: rotate(90deg);
}
.filter-sidebar.sticky-top{
  position: fixed;
  top:0;
  width:20% !important
}

/* order tracking  */

.tracking-wrapper {
      max-width: 100%;
      margin: auto;
      background: #fff;
      border-radius: 16px;
      padding: 30px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    }

    .tracking-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 40px;
      gap: 20px;
      flex-wrap: wrap;
    }

    .tracking-header h2 {
      font-size: 28px;
      margin-bottom: 8px;
    }

    .tracking-id {
      color: #666;
    }

    .tracking-status {
      background: #e6f7ec;
      color: #1a7f37;
      padding: 10px 16px;
      border-radius: 30px;
      font-size: 14px;
      font-weight: 600;
    }

    .tracking-step {
      display: flex;
      gap: 20px;
      position: relative;
      padding-bottom: 0;
    }

    .tracking-step:last-child {
      padding-bottom: 0;
    }

    .tracking-step:last-child .line {
      display: none;
    }

    .step-left {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .circle {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 3px solid #ccc;
      background: #fff;
      z-index: 2;
    }

    .circle.active {
      background: #28a745;
      border-color: #28a745;
    }

    .line {
      width: 3px;
      height: 60px;
      background: #ccc;
      margin-top: 4px;
    }

    .line.active {
      background: #28a745;
    }

    .step-content h4 {
      font-size: 18px;
      margin-bottom: 6px;
    }

    .step-content p {
      color: #666;
      font-size: 14px;
    }

    .delivery-box {
      margin-top: 40px;
      padding-top: 25px;
      border-top: 1px solid #ddd;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 20px;
    }

    .delivery-box span {
      color: #666;
      font-size: 14px;
    }

    .delivery-box h3 {
      margin-top: 5px;
    }

    .track-btn {
      background: #000;
      color: #fff;
      border: none;
      padding: 14px 24px;
      border-radius: 10px;
      cursor: pointer;
      transition: 0.3s;
    }

    .track-btn:hover {
      opacity: 0.85;
    }

    /* feature-product list */

    .feature-list-product-inn .feature-list-box{
        box-shadow: 0 3px 31px 17px rgba(0,0,0,.08);
        border-radius: 10px;
    }
    .product-list-view {
    box-shadow: 0 3px 31px 17px rgba(0, 0, 0, .08);
    padding: 12px;
}
    .feature-list-product-inn .product-grid-banner-sm, .feature-list-product-inn .product-grid-banner-md{
        padding:12px;
    }
    .feature-list-product-inn .product-link-content{
      padding:10px;  
    }
    .product-bdge{
      z-index: 999;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    padding: 6px 12px;
    }
    .feature-list-box .product-cart-btn{
      width: 120px;
      left:0;
      right:0;
      margin: 0 auto;
      padding:5px 10px;
      font-size: 13px;
      text-align: center;
    }
    .product-price{
      font-size:15px !important;
    }
    .product-link-content{
      padding:10px !important;
    }
    .feature-list-product-inn .product-title-link{
      font-size:15px;
      line-height: 16px;
      word-wrap: break-word;
      height: 50px;
      font-weight: 500;
    }

/* delivery page */

.billing-wrapper .card-body label {
    font-size: 14px;
    font-weight: 600;
}

.billing-wrapper .form-control, .billing-wrapper .form-select{
  font-size: 14px;
  font-weight: 500;
}
.address-card{
 background: #f8f8f8;
}

.address-card p{
  font-size: 14px;
}

.order-summary{
  background: #f4f8ff;
}

.ship-to {
    display: flex;
    justify-content: space-between;
}

@media only screen and (min-width:768px){
  .billto .fw-bold {
    margin-bottom: 22px !important;
}
}

.step-item{
   display:flex;
   flex-direction: column;
   align-items: center;
}
.step-item .step-circle{
    border: 1px solid #dcdcdc;
    border-radius: 20px;
    width: 25px;
    height: 25px;
    text-align: center;
    background: #dcdcdc;
}
.checkout-steps {
    max-width: 500px;
    width: 100%;
    justify-content: space-between;
}
.step-line{
  background: #3A837E;
    height: 1.5px;
    width: 100%;
    position: relative;
    top: -10px;
}
.step-item.completed .step-circle{
  background: #3A837E;
  color: #fff;
}
.billing-details-wrapper {
    border: 1px solid #dadada;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0px 0px 2px #e6e6e6;
    background:#f8f8f8;
}

.new-product-warpper:hover .product-wishlist-btn, .new-product-warpper:hover .product-quickview-btn{
  right:6px;
  visibility: visible;
  opacity: 1;
  transition: all ease 450ms;
}
.product-wishlist-btn:hover, .product-quickview-btn:hover {
    background: var(--darkColor);
}

/* brand filter box */
    .filter-box{
            width:320px;
            background:#fff;
            padding:18px;
            border-radius:8px;
            box-shadow:0 3px 10px rgba(0,0,0,.08);
        }

        .filter-title{
            display:flex;
            justify-content:space-between;
            align-items:center;
            font-size:16px;
            font-weight:600;
            margin-bottom:0;
        }
        .clearfilters{
          background: #dc3545;
          color: #fff;
          padding: 2px 6px;
        }

        .search-box{
            position:relative;
            margin-bottom:20px;
        }

        .search-box input{
            width:100%;
            height:35px;
            border:1px solid #ccc;
            border-radius:25px;
            padding:0 45px 0 15px;
            font-size:15px;
            outline:none;
        }

        .search-box i{
            position:absolute;
            right:15px;
            top:50%;
            transform:translateY(-50%);
            color:#555;
        }

        .brand-list{
            list-style:none;
            max-height:330px;
            overflow:auto;
        }

        .brand-list li{
            display:flex;
            align-items:center;
            gap:10px;
            padding:5px 0;
            font-size:22px;
            margin-bottom: 0;
        }

        .brand-list label{
            cursor:pointer;
            flex:1;
            font-size:14px;
        }

        .brand-list input{
            width:18px;
            height:18px;
        }

        .count{
            color:#222;
            font-size:14px;
        }

        .view-more{
            margin-top:10px;
            font-size:14px;
            font-weight:600;
            cursor:pointer;
            color:#00baf2;
        }

        .view-more:hover{
            color:#1c3481;
        }

        .hidden{
            display:none;
        }

/* product details page css */




   /* ==========================================================================
   SCREEN BLUR OVERLAY LOADER
   ========================================================================== */
   .screen-blur-loader {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background: rgba(255, 255, 255, 0.4); 
   backdrop-filter: blur(8px); 
   -webkit-backdrop-filter: blur(8px);
   z-index: 99999; 
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   pointer-events: none; 
   transition: opacity 0.3s ease-in-out;
   }
   .screen-blur-loader.active {
   opacity: 1;
   pointer-events: auto; 
   }
   .premium-spinner {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 16px;
   padding: 30px;
   background: rgba(255, 255, 255, 0.9);
   border: 1px solid #e5e7eb;
   border-radius: 20px;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
   }
   .premium-spinner-ring {
   width: 50px;
   height: 50px;
   border: 4px solid #f3f4f6;
   border-top: 4px solid #2563eb;
   border-radius: 50%;
   animation: premiumSpin 1s linear infinite;
   }
   .premium-spinner-text {
   font-size: 15px;
   font-weight: 600;
   color: #374151;
   }
   @keyframes premiumSpin {
   0% { transform: rotate(0deg); }
   100% { transform: rotate(360deg); }
   }

   /* =========================
   TOP FILTER BAR
   ========================= */
   .top-filter-wrapper{
   background:#fff;
   border:1px solid #e5e7eb;
   border-radius:16px;
   padding:20px 24px;
   margin-bottom:24px;
   }
   .search-title{
   font-size:28px;
   font-weight:700;
   color:#111827;
   margin-bottom:4px;
   }
   .search-subtitle{
   color:#6b7280;
   font-size:14px;
   }
   .products-count{
   background:#eef2ff;
   color:#2563eb;
   font-size:12px;
   font-weight:600;
   padding:4px 10px;
   border-radius:30px;
   }
   .filter-top-actions{
   display:flex;
   align-items:center;
   justify-content:flex-end;
   flex-wrap:wrap;
   gap:15px;
   margin-top:25px;
   }
   .left-filter-tabs{
   display:flex;
   align-items:center;
   gap:14px;
   flex-wrap:wrap;
   }
   .products-tab{
   font-size:18px;
   font-weight:700;
   color:#2563eb;
   position:relative;
   padding-bottom:10px;
   }
   .products-tab::after{
   content:"";
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
   height:3px;
   background:#2563eb;
   border-radius:30px;
   }
   .selected-filter{
   display:flex;
   align-items:center;
   gap:10px;
   flex-wrap:wrap;
   margin-top:22px;
   }
   .filter-badge{
   background:#eff6ff;
   border:1px solid #bfdbfe;
   color:#2563eb;
   border-radius:40px;
   padding:8px 14px;
   font-size:14px;
   font-weight:600;
   }
   .clear-filter{
   color:#2563eb;
   font-weight:600;
   text-decoration:none;
   }
   .right-filter-actions{
   display:flex;
   align-items:center;
   gap:18px;
   flex-wrap:wrap;
   }
   .compare-btn{
   border:1px solid #d1d5db;
   background:#fff;
   padding:10px 22px;
   border-radius:50px;
   font-weight:600;
   transition:.3s;
   }
   .compare-btn:hover{
   background:#2563eb;
   color:#fff;
   border-color:#2563eb;
   }
   .filter-toggle-btn{
   border:none;
   background:transparent;
   font-size:16px;
   font-weight:600;
   display:flex;
   align-items:center;
   gap:8px;
   color:#374151;
   }
   /* =========================
   LAYOUT
   ========================= */
   .products-layout{
   display:flex;
   gap:24px;
   align-items:flex-start;
   }
   /* =========================
   FILTER SIDEBAR
   ========================= */
   .filter-sidebar{
   width:300px;
   min-width:300px;
   background:#fff;
   border:1px solid #e5e7eb;
   border-radius:18px;
   padding:16px 8px !important;
   transition:.3s;
   }
   .filter-sidebar.hide-filter{
   display:none;
   }
   .filter-heading{
   font-size:22px;
   font-weight:700;
   margin-bottom:25px;
   color:#111827;
   }
   /* =========================
   FILTER ACCORDION
   ========================= */
   .filter-group{
   border-bottom:1px solid #e5e7eb;
   padding-bottom:15px;
   margin-bottom:15px;
   }
   .filter-group:last-child{
   border-bottom:none;
   margin-bottom:0;
   }
   .filter-group-header{
   display:flex;
   align-items:center;
   justify-content:space-between;
   cursor:pointer;
   user-select:none;
   }
   .filter-group-title{
   font-size:16px;
   font-weight:700;
   color:#111827;
   margin:0;
   }
   .filter-arrow{
   font-size:18px;
   color:#6b7280;
   transition:.3s;
   }
   .filter-group.active .filter-arrow{
   transform:rotate(180deg);
   }
   .filter-arrow svg{
    height:12px;
    width:12px;
   }
   .filter-group-body{
   margin-top:16px;
   }
   .filter-checkbox input{
   width:18px;
   height:18px;
   cursor:pointer;
   }
   .filter-checkbox{
    margin-bottom:0 !important;
   }
   .filter-checkbox label{
   font-size:14px;
   color:#374151;
   cursor:pointer;
   margin:5px !important;
   }
   /* =========================
   PRODUCT AREA
   ========================= */
   .products-content{
   flex:1;
   }
   .products-row{
   row-gap:24px;
   }
   /* =========================
   PRODUCT CARD
   ========================= */
   .feature-list-box{
   background:#fff;
   border:1px solid #e5e7eb;
   border-radius:18px;
   overflow:hidden;
   transition:.3s;
   height:100%;
   }
   .feature-list-box:hover{
   transform:translateY(-5px);
   box-shadow:0 10px 30px rgba(0,0,0,.08);
   }
   .product-grid-banner-sm{
   background:#f8fafc;
   padding:18px;
   position:relative;
   overflow:hidden;
   }
   .feature-list-box:hover{
    border:1px solid #00baf2;
   }
   .product-grid-banner-sm figure{
   background:#fff;
   border-radius:14px;
   aspect-ratio:1/1;
   display:flex;
   align-items:center;
   justify-content:center;
   overflow:hidden;
   margin:0;
   }
   .product-grid-banner-sm img{
   width:100%;
   height:100%;
   object-fit:contain;
   transition:.3s;
   }
   .feature-list-box:hover img{
   transform:scale(1.05);
   }
   .product-bdge{
   position:absolute;
   top:15px;
   left:15px;
   font-size:12px;
   font-weight:600;
   border-radius:40px;
   padding:6px 12px;
   }
   .product-cart-btn{
   position:absolute;
   left:50%;
   bottom:20px;
   background:#00baf2;
   border:1px solid #00baf2;
   color:#fff;
   border:none;
   border-radius:50px;
   padding:10px 20px;
   text-decoration:none;
   font-size:14px;
   font-weight:600;
   opacity:0;
   transition:.3s;
   }
   .product-cart-btn:hover{
    color:#fff;
   }
   .feature-list-box:hover .product-cart-btn{
   opacity:1;
   }
   .product-link-content{
   padding:18px;
   }
   .product-title-link{
   font-size:14px;
   font-weight:600;
   color:#111827;
   text-decoration:none;
   line-height:1.5;
   min-height:20px;
   display:block;
   }
   .product-meta{
   font-size:12px;
   color:#6b7280;
   margin-top:8px;
   }
   .product-price{
   font-weight:700;
   color:#1c3481;
   }
   .product-rating{
   display:flex;
   align-items:center;
   gap:5px;
   font-size:13px;
   color:#6b7280;
   }
   /* =========================
   MOBILE
   ========================= */
   @media (max-width:1400px){
    .product-title-link{
      min-height:35px;
    }
   }
   @media(max-width:991px){
   .products-layout{
   flex-direction:column;
   }
   .filter-sidebar{
   width:100%;
   min-width:100%;
   }
   }
   @media(max-width:767px){
   .top-filter-wrapper{
   padding:18px;
   }
   .search-title{
   font-size:22px;
   }
   .right-filter-actions{
   width:100%;
   justify-content:space-between;
   }
   .products-tab{
   font-size:16px;
   }
   }
   /* =========================
   CATEGORY TOGGLE
   ========================= */
   .category-scroll{
   max-height: 400px;
   overflow-y: auto;
   padding-right: 6px;
   }
   /* Thin scrollbar */
   .category-scroll::-webkit-scrollbar{
   width: 4px;
   }
   .category-scroll::-webkit-scrollbar-track{
   background: #f1f5f9;
   border-radius: 10px;
   }
   .category-scroll::-webkit-scrollbar-thumb{
   background: #cbd5e1;
   border-radius: 10px;
   }
   .category-scroll::-webkit-scrollbar-thumb:hover{
   background: #94a3b8;
   }
   .category-item{
   border-bottom:1px solid #f1f5f9;
   }
   .subcategory-toggle{
   display:flex;
   align-items:center;
   justify-content:space-between;
   cursor:pointer;
   font-size:14px;
   font-weight:600;
   color:#111827;
   }
   .sub-arrow{
   transition:.3s;
   font-size:14px;
   }
   .subcategory-list{
   display:none;
   padding-left:14px;
   margin-top:12px;
   }
   .subcategory-list.active{
   display:block;
   }
   .subcategory-toggle.active .sub-arrow{
   transform:rotate(180deg);
   }

   /* new category items css */

   .new-category-wrapper.item-scroll, .no-item-scroll .submenu.show{
    height:350px;
    overflow-y:auto;
   }

   .new-category-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:7px 0;
}

.new-category .arrow{
    cursor:pointer;
    transition:.3s;
    user-select:none;
}

.new-category .arrow.active{
    transform:rotate(90deg);
}

.empty{
    width:18px;
}
.new-category label{
   font-size:13px;
}

.new-category .submenu{
    display:none;
    margin-left:7px;
}

.new-category .submenu.show{
    display:block;
}
span.arrow svg{
   width:15px;
}

/* ---- Custom checkbox ---- */
.new-category input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:18px;
    height:18px;
    border:2px solid #999;
    border-radius:3px;
    position:relative;
    cursor:pointer;
    outline:none;
    flex-shrink:0;
}

/* fully checked -> right symbol */
.new-category input[type="checkbox"]:checked{
    background:#1c3481;
    border-color:#1c3481;
}
.new-category input[type="checkbox"]:checked::after{
    content:"\2713";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-55%);
    color:#fff;
    font-size:13px;
    font-weight:bold;
}

/* partially checked -> minus symbol */
.new-category input[type="checkbox"]:indeterminate{
    background:#1c3481;
    border-color:#1c3481;
}
.new-category input[type="checkbox"]:indeterminate::after{
    content:"\2212";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:#fff;
    font-size:14px;
    font-weight:bold;
}
.apply-btn{
  display:none;
}
.apply-btn.active{
  display:block;
  background: #00baf2;
  border: 1px solid #00baf2;
  color: #fff;
  padding: 3px 10px;
  font-size: 13px;
  border-radius: 10px;
  margin-top: 14px;
}
.mobile-sidebar, .back-btn{
  display:none;
}

@media only screen and (max-width:991px){
  #sidebar-wrapper{
    width:100%;
    position:relative;
  }
  .back-btn, .mobile-sidebar{
    display:block;
  }
  .mobile-sidebar{
    text-align:right;
    background: #ededed;
    padding: 0 10px;
  }
  .back-btn{
    background: #ededed;
    padding: 5px 10px;
    margin-bottom: 20px;
    color:#00baf2;
  }
  .mobile-sidebar svg{
    width:30px;
    height:45px;
    margin-left:20px;
  }
  .filter-sidebar{
    transform:translateX(-104%);
    transition: transform .35s ease;
    position:absolute;
    top:60px;
    left:0;
    z-index: 9999;
  }
  .filter-sidebar.show-filter{
    display:block;
    transform: translateX(0);
    transition: transform .35s ease;
  }
}