/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Text Domain: astra-child
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.0.1746785030
Updated: 2025-05-09 10:03:50

*/
.woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(3, 1fr);
}

/* Normal category link */
.wc-block-product-categories-list li {
    width: 315px;
    height: 66px;
    gap: 8px;
    padding: 0px;
    border-bottom: 1px solid #B4B4BE;
    background: transparent;
    transition: all 0.3s ease;
	margin-bottom: 0px !important;
	display:flex;
	align-content:center;
	align-items:center;
}

/* Hover state */
.wc-block-product-categories-list li:hover {
    background: #004194;
    border-bottom: 1px solid #B4B4BE;
}

.wc-block-product-categories-list li:hover a {
    color: white;
}

/* Active (current category) state - FIXED */
.wc-block-product-categories-list li a[aria-current="page"] {
    background: #004194;
    color: white;
    display: block;
    padding: 24px 12px;
    width: 315px;
    height: 66px;
    border-bottom: 1px solid #B4B4BE;
}
.woocommerce ul.products li.product.desktop-align-left, .woocommerce-page ul.products li.product.desktop-align-left {
    text-align: left;
    padding: 12px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
}
.custom-product-cta-buttons {
    gap: 10px;
    margin-top: 10px;
}

.product-meta .button {
    background-color: #004194;
    color: #ffffff;
    font-size: 11px;
    border: none;
    text-align: center;
    transition: background-color 0.3s ease;
	border-radius:0px;
}
.product-meta .button:hover {
    background-color: #002d66;
}
.products .product-cta-btn {
    display: flex;
    align-items: center;
    justify-content: space-around;
}
/* Hide the "Add to Cart" button on the shop page */
.woocommerce .products .product .add_to_cart_button {
    display: none !important;
}
@media (max-width: 544px) {
    .ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.mobile-columns-2 ul.products:not(.elementor-grid), .woocommerce-page.mobile-columns-2 ul.products:not(.elementor-grid) {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

/* Shop page css */
.ast-woo-shop-product-description {
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}
.woocommerce-loop-product__title{
    font-weight: 700;
    font-family: 'Heebo', sans-serif;
    line-height: 22px;
    font-size: 16px !important;
}
.custom-field {
    font-size: 13px;
    line-height: 12px;
    font-weight: 600;
	margin-bottom: 8px;
}
.product-tags {
    margin-top: 25px;
	margin-bottom: 8px;
}
.product-tags a {
     font-family: 'Heebo';
    font-size: 13px;
    line-height: 18px;
    font-weight: 400;
    color: #065986 !important;
}
a.button.cta-button-1, a.button.cta-button-2 {
    font-size: 12px;
    padding: 10px;
	border: 1px solid #134291;
	border-radius:0px
}
a.button.cta-button-1{
	background: transparent;
	color: #134291;
}
a.button.cta-button-1:hover{
    background: transparent;
	color: #134291;
}
a.button.cta-button-2:hover{
    background: #134291;
    border: 1px solid #134291;
    color: #fff;
}
.woocommerce-per-page {
    display: flex;
/*     width: 20%; */
    text-align: right;
    float: right;
	margin: 0em 0 1em;
}

/* Hide on desktop */
.mobile-category-scroll {
    display: none;
}
@media (max-width: 767px) {
    .woocommerce-page .sidebar, 
    .woocommerce-page #secondary {
        display: none !important;
    }
	 .mobile-category-scroll {
        display: none;
        overflow-x: auto;
        white-space: nowrap;
        padding: 10px;
        border-bottom: 1px solid #ddd;
        gap: 10px;
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;     /* Firefox */
		 scroll-behavior: smooth;
    }

    .mobile-category-scroll::-webkit-scrollbar {
        display: none;  /* Chrome, Safari, Opera */
    }

    .mobile-category-scroll .scroll-cat-item {
        display: inline-block;
        padding: 8px 12px;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 20px;
        font-size: 14px;
        text-decoration: none;
        color: #333;
        flex-shrink: 0;
    }

    .mobile-category-scroll .scroll-cat-item:hover {
        background-color: #e0e0e0;
    }
	form.woocommerce-per-page {
		display: none !important;
	}
	p.woocommerce-result-count {
		display: none;
	}
	.scroll-cat-item.active {
		background-color: #134291;
		color: #fff;
		border-color: #134291;
	}
}
.wc-block-product-categories-list-item a.active-category {
    background-color: #004194;
    color: #ffffff !important;
    display: block;
    padding: 24px 12px;
    border-radius: 4px;
    text-decoration: none;
    margin: -30px -10px 0px -20px;
}
.wc-block-product-categories-list li:hover {
    background: #004194;
    border-bottom: 1px solid #B4B4BE;
    padding: 15px 12px;
/*     margin: 13px 6px 1px -7px; */
}
.wc-block-product-categories-list-item a.active-category {
    margin: 0px;
    padding: 19px 12px;
    width: 100%;
}
nav.woocommerce-pagination {
    text-align: center;
}
.custom-field img {
    width: 15px;
}

.custom-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.news-card {
    border: 1px solid #ddd;
    padding: 15px;
    position: relative;
    background: #fff;
}

.news-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
}
.news-thumbnail-wrapper {
    position: relative;
}

.news-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #f0f0f0;
    padding: 4px 10px;
    font-size: 14px;
    color: #333;
    font-weight: 500;
    border-radius: 3px;
    z-index: 2;
}
.news-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.news-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

.news-date {
    background: #333;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
}

.news-date .day {
    font-weight: bold;
    display: block;
}

.news-date .month {
    font-size: 12px;
    display: block;
}

.news-title {
    font-size: 18px;
    margin: 0;
    flex: 1;
}

.news-excerpt {
    font-size: 14px;
    color: #555;
    margin-top: 10px;
}

/* Hide on desktop */
.mobile-category-scroll {
    display: none;
}
@media (max-width: 767px) {
    .woocommerce-page .sidebar, 
    .woocommerce-page #secondary {
        display: none !important;
    }
	 .mobile-category-scroll {
        display: none;
        overflow-x: auto;
        white-space: nowrap;
        padding: 10px;
        background-color: #f5f5f5;
        border-bottom: 1px solid #ddd;
        gap: 10px;
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;     /* Firefox */
    }

    .mobile-category-scroll::-webkit-scrollbar {
        display: none;  /* Chrome, Safari, Opera */
    }

    .mobile-category-scroll .scroll-cat-item {
        display: inline-block;
        padding: 8px 12px;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 20px;
        font-size: 14px;
        text-decoration: none;
        color: #333;
        flex-shrink: 0;
    }

    .mobile-category-scroll .scroll-cat-item:hover {
        background-color: #e0e0e0;
    }
}

/* News Related Css */
.custom-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.news-card {
    border: 1px solid #ddd;
    padding: 15px;
    position: relative;
    background: #fff;
}

.news-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
}
.news-thumbnail-wrapper {
    position: relative;
}

.news-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #f0f0f0;
    padding: 4px 10px;
    font-size: 14px;
    color: #333;
    font-weight: 500;
    border-radius: 3px;
    z-index: 2;
}
.news-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.news-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

.news-date {
    background: #333;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
}

.news-date .day {
    font-weight: bold;
    display: block;
}

.news-date .month {
    font-size: 12px;
    display: block;
}

.news-title {
    font-size: 18px;
    margin: 0;
    flex: 1;
}

.news-excerpt {
    font-size: 14px;
    color: #555;
    margin-top: 10px;
}
.news-filters {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.news-filters select,
.news-filters input[type="date"] {
    padding: 12px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    min-width: 160px;
    background-color: #fff;
    appearance: none;
    color: #333;
}

.news-filters .search-button {
    padding: 12px 24px;
    background-color: #ddd;
    border: none;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.news-filters .search-button:hover {
    background-color: #ccc;
}

.news-filters .arrow {
    font-size: 18px;
}
.news-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ast-woo-shop-archive .ast-woocommerce-container {
    padding: 3em 1em;
}
.ast-woo-shop-archive .woocommerce ul.products, .woocommerce-page ul.products {
    column-gap: 10px;
}
.ast-woo-shop-archive .astra-shop-summary-wrap {
    padding: 12px;
}
.ast-woo-shop-archive .woocommerce ul.products li.product.desktop-align-left, .woocommerce-page ul.products li.product.desktop-align-left{
	padding:0px 0px 12px 0px;
	border-radius:17px 17px 0px 0px;
}
.ast-woo-shop-archive img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail{
	max-height:270px !important;
	border-radius:17px 17px 0px 0px;
}
.product-meta {
    padding: 0px 12px;
	margin-top: 10px;
}

/* posts grid shortcode css*/
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Default to 3 columns */
  gap: 24px;
  padding: 20px 0px;
}
.card-grid.grid-view {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.card-grid.list-view {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.list-view .card {
  display: flex;
  flex-direction: row;
  gap: 16px;
  border: 1px solid #4e4e4e26;
}

.list-view .card-content {
  flex-direction: row;
  width: auto;
  flex-grow: 1;
}

.list-view .card-date {
  margin-right: 16px;
}

.list-view .card-excerpt {
  padding: 16px 0px;
}
.list-view .card img {
  max-width: 280px;
  height: auto;
  object-fit: cover;
}
.list-view .card-excerpt p{
    margin-bottom: 0px;
}

.grid-view .card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
}
/* Filters */
.post-filters {
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
}
.post-filters button{
    border-radius: inherit;
    background: #E5E5E5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 30px;
}
.post-filters button span{
    color: #4E4E4E;
    font-family: Heebo;
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
}
.post-filters button :hover{
    background-color: #004194;
}
.post-filters select,
.post-filters input,
.post-filters button {
    width: 25%;
}

.card-location {
  background-color: #F3FCFB;
  color: #4E4E4E;
  padding: 8px 12px;
  display: inline-block;
  margin: 10px 0 0 10px;
  border-radius: 4px;
  font-family: Heebo;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0%;
    text-align: center;
    position: absolute;
}

.card-image {
  background: #ddd;
  height: 160px;
  width: 100%;
}

.card-content {
  padding: 16px;
}

.card-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #E5E5E5;
    font-weight: bold;
    text-align: center;
    font-size: 14px;
    min-width: 50px;
    width: 62px;
    /* height: 85px; */
    gap: 8px;
    border-radius: 8px;
    padding: 8px;
    line-height: 1.2;
}

.card-date .month {
    color: #000;
    font-family: Heebo;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0px;
    text-align: center;
    vertical-align: middle;
}

.card-date .day {
  font-size: 20px;
  color: #000;
}

.card-footer {
  display: flex;
  gap: 10px;
  align-items: center;
   justify-content: center;
}
.card-footer h3{
  width: 100%;
  overflow: hidden;
}

.card-footer h3 a{
    font-family: Heebo;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none !important;
    color: #4E4E4E;
}

.card-arrow {
  margin-top: 8px;
  font-size: 25px;
  color: #0073e6;
  text-decoration: none !important;
  float: right;
}
.card-excerpt {
    padding: 16px;
}
.card-excerpt p {
    font-family: Heebo;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #777777;
}
.pagination {
    text-align: center;
    margin: 30px 0;
}

.pagination a,
.pagination span {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-decoration: none;
    color: #333;
}

.pagination .current {
    background-color: #fff;
    color: #134291;
    font-weight: bold;
    border-color: #134291;
}

.pagination a:hover {
    background-color: #eee;
}
.card-meta {
    color: #888;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0px;
}
.view-toggle{
    display: flex;
    align-items: center;
    gap: 8px;
}
.view-toggle img{
    width: 24px;
    height: 24px;
}
/* Pagination */
.custom-pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 20px 0;
    gap: 10px;
}

.custom-pagination li {
    margin: 0;
}

.custom-pagination a,
.custom-pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #ccc;
    text-decoration: none !important;
    color: #777777;
    font-weight: normal;
}

.custom-pagination a:hover {
    background-color: #eee;
}

.custom-pagination .current {
    background-color: #fff;
    color: #134291;
    font-weight: bold;
    border-color: #134291;
}

.custom-pagination .arrow {
    font-size: 18px;
}

@media (max-width: 992px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on medium screens */
  }
}

@media (max-width: 600px) {
  .card-grid {
    grid-template-columns: repeat(1, 1fr); /* 1 column on small screens */
  }
}




.e-n-tab-title {
  display: flex;
  align-items: center; /* Aligns icon and text vertically */
  justify-content: space-between; /* Optional: spaces text and icon if needed */
  gap: 10px; /* Space between icon and text */
}

.e-n-tab-title .e-n-tab-title-text {
  flex: 1;
}

.e-n-tab-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #134291;
}
#ast-scroll-top {
    background-color: #134291;
}
/* Request quote and sample buttons */
.custom-product-buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    align-items: center;
    justify-content: center;
}
.custom-product-buttons button {
    padding: 10px 20px;
    border: 1px solid #134291;
    background: #134291;
    color: white;
    cursor: pointer;
    border-radius:inherit;
    margin: 0px 10px;
}
.related-products-button .custom-product-buttons button {
    margin: 0px;
    font-size: 13px;
    padding: 10px;
}

.custom-product-buttons .request-sample-button {
    background: white;
    color: #134291;
    border: 1px solid #134291;
}
#menu-main-menu a.ekit-menu-nav-link.active.menu-link {
    font-weight: 700;
}
select.gt_selector.notranslate {
    background-position: 90% 50%;
}
form.woocommerce-per-page select {
    background-position: 89% 50%;
}
.elementor-653 .elementor-element.elementor-element-80ac127 .premium-search__input:focus{
	background-color:inherit;
}
.wc-block-product-categories-list-item a {
    padding: 15px 12px;
}
a.elementskit-btn.btn-icon {
    color: #004194 !important;
    text-decoration: none !important;
}
.elementor-element.elementor-element-9752ba7.elementor-hidden-mobile.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded.elementor-sticky.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside {
    box-shadow:0px 10px 15px -3px rgba(0,0,0,0.1);
}

/* List view css */
.products.list-view{
	display:table !important;
}
.products.list-view li.product {
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0px !important;
    flex-direction: row !important;
    gap: 25px;
}
.products.list-view li.product .astra-shop-thumbnail-wrap img{
  margin-bottom: 0px;
}
.products.list-view li.product .ast-woo-shop-archive .astra-shop-summary-wrap {
    padding: 0px 12px;
}
.products.list-view li.product .product-meta{
  padding-left: 0px;
}
.products.list-view li.product .product-tags {
    margin-top: 0px;
}
.products.list-view li.product .product-cta-btn {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
	text-align:center;
	margin-right:10px;
}
.products.list-view li.product .product-cta-btn a{
	width:100%;
}
.ast-woo-shop-archive .products.list-view li.product img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail{
	height:150px !important;
}
.view-toggle a {
    cursor: pointer;
}

.sidebar-toggle-btn {
    display: none;
}

.woof_show_textinput_container .woof_textinput_go {
    top: 12px;
}

@media (max-width: 768px) {
    #secondary.widget-area.secondary {
        background: #fff;
        display: block !important;
        position: fixed;
        height: 100%;
        left: -450px;
        overflow-y: auto;
        padding: 20px;
        transition: left 0.3s ease;
        top: 0;
        z-index: 1000;
    }

    .widget-area.secondary.open {
        left:  0 !important;
    }

 

    /* Toggle button only on mobile */
.sidebar-toggle-btn {
        display: block;
        position: fixed;
        top: 300px;
        left: -12px;
        z-index: 100; /* ensure above overlay */
        background: linear-gradient(135deg, #007bff, #00c6ff);
        color: #fff;
        border: none;
        padding: 12px 20px;
        border-radius: 0 30px 30px 0;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 0.5px;
        cursor: pointer;
        box-shadow: 0 4px 15px rgba(0, 123, 255, 0.4);
        transition: all 0.3s ease;
    }

   .close-btn-wrap {
        text-align: right;
        margin-bottom: 10px;
    }

    .close-btn-wrap span {
        font-size: 22px;
        color: #004194;
    }
}