/**
Theme Name: BNG Child
Author: BestNewGlasses.com
Author URI: https://www.bestnewglasses.com
Description: BestNewGlasses.com | Online Eyewear Expert
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bng-child
Template: astra
*/

/* important */
::selection {
 background: black;
 color: white;
} 

.h3grids{
	    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 700px;
    gap: 20px;
}

.h3grids h3{
	border-radius: 20px;
    background: #eaf3fb;
    text-align: center;
    display: flex;
    flex-direction: column;
    overflow: hidden;
	padding: 20px;
}

.ast-plain-container #secondary, .ast-separate-container #secondary, .ast-page-builder-template #secondary{
	margin-top: 2em !important;
}

.woocommerce .astra-shop-filter-button .astra-woo-filter-icon, .woocommerce button.astra-shop-filter-button .astra-woo-filter-icon, .woocommerce-page .astra-shop-filter-button .astra-woo-filter-icon, .woocommerce-page button.astra-shop-filter-button .astra-woo-filter-icon{
	display: flex !important;
}

/* hide buy frame only on id product - important */
#product-2247 form.cart .button {
	display: none !important;
}

/* hide hides stock status - important */ 
.single_variation {    
    display: none !important;
}

.home h1{
	display: none !important;
}

/* Product page buttons space - important */
.woocommerce div.product form.cart .button {
	margin: -10px 0 10px 0;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
    width: 100%;
    padding: 20px 40px;
}
button#select_lens {
    width: 100%;
    padding: 20px 40px;

}
table, td, th {
  text-align: left; 
}
.woocommerce div.product .woocommerce-variation-add-to-cart, .woocommerce div.product.product-type-simple form.cart {
    display: flex !important;
    flex-direction: column !important;
}

.flex-control-thumbs .gcw-caption {
display:none; /* hide captions in thumbnails */
}

/* important */
html, body {
    overflow-x: hidden;
}

/* important - Product page - image caption - product image description  */
.woocommerce-product-gallery .woocommerce-product-gallery__image {
    position: relative;
} 
.woocommerce-product-gallery .woocommerce-product-gallery__image:after {
    content: attr(data-thumb-alt);
	position: absolute;
	bottom: 0.01em;
	left: 10px;
	padding: 2px 10px;
	background-color: rgba(255, 255, 255, 0.75);
	color: #000;
}



/*  TEST */
@font-face {
    font-family: 'Poppins';
    src: url('https://www.bestnewglasses.com/cf-fonts/s/poppins/5.0.11/latin/400/normal.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    src: url('https://www.bestnewglasses.com/cf-fonts/s/poppins/5.0.11/latin/500/normal.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    src: url('https://www.bestnewglasses.com/cf-fonts/s/poppins/5.0.11/latin/600/normal.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}








/*  NESX */

.term-description h4{
	margin: 20px 0 40px;
    font-size: 18px;
}

#primary{
	margin-top: 0 !important;
	padding-top: 0 !important;
}

        .latest-blog-posts {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 30px;
        }
        .latest-blog-posts .blog-post {
            width: 100%;
            border-radius: 20px;
            background: #eaf3fb;
            text-align: center;
			display: flex;
			flex-direction: column;
			overflow: hidden;
        }
        .latest-blog-posts img {
			max-width: 100%;
			height: auto;
			aspect-ratio: 1.25;
			object-fit: cover;
        }
        .latest-blog-posts .title {
            font-size: 20px;
			text-align: left;
			font-weight: 400;
			margin: 0 !important;
			line-height: 1.5;
        }
        .latest-blog-posts .date, .latest-blog-posts .metas .author {
            font-size: 14px !important;
            color: rgba(74, 74, 74, 1) !important;
			pointer-events: none !important;
        }
		.latest-blog-posts .metas{
			display: flex;
			align-items: center;
			gap: 10px;
		}
		.latest-blog-posts .content{
			display: flex;
			flex-direction: column;
			gap: 10px;
			padding: 30px;
		}
		@media (max-width: 768px) {
			.latest-blog-posts {
				grid-template-columns: repeat(1, 1fr);
			}
			.term-description h4{
				font-size: 14px;
			}
		}

  .frame-shapes-carousel-wrapper { position: relative; }
        .frame-shapes-carousel {
			display: flex;
			overflow: hidden;
			scroll-behavior: smooth;
			gap: 60px;
			scroll-snap-type: x mandatory;
		}

		.frame-shape-item {
			flex: 0 0 calc((100% - 120px) / 3); /* 3 elementy z 2x 20px gap */
			scroll-snap-align: start;
			text-align: center;
		}
		
		
		.frame-shape-item h4{
			font-size: 18px;
		}

        .frame-shape-item img {
			width: 100%;
			border-radius: 8px;
			aspect-ratio: 1.25;
    		object-fit: contain;
		}
        .carousel-nav button {
			width: 30px;
			height: 30px;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            border: none !important;
            cursor: pointer;
            z-index: 10;
			background: none !important;
    		padding: 0 !important;
        }
        .carousel-nav .prev { left: -30px; }
        .carousel-nav .next { right: -30px; }

		
		.reviewshome{
			background-color: #eaf3fb !important;
		}
		.reviewsgrid{
			justify-content: space-between !important;
			column-gap: 0 !important;
			row-gap: 20px !important;
		}
		.reviewsgrid>div{
			padding: 35px !important;
			background: white !important;
			border-radius: 30px !important;
			max-width: 32% !important;
		}
		.reviewshome .wp-block-uagb-star-rating{
			position: absolute !important;
			top: 35px;
			right: 35px;
			width: auto !important;
		}
		.reviewshome .uagb-ifb-title{
			margin: 0 !important;
			font-weight: 600 !important;
			font-size: 19px !important;
		}
		@media (max-width: 768px) {
			
			ul.products li.product{
				width: 100% !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			
			.woocommerce ul.products{
				gap: 20px !important;
			}
			
			.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
				margin:0 !important;
			}
			
			.woocommerce ul.products li.product .astra-shop-summary-wrap{
				padding-bottom: 20px !important;
			}
			
			.woocommerce-js .products ul::after, .woocommerce-js .products ul::before, .woocommerce-js ul.products::after, .woocommerce-js ul.products::before{
				display: none !important;
			}
			
			.reviewsgrid>div{
				max-width: 100% !important;
			}
			.frame-shape-item {
				flex: 0 0 calc((100% - 60px) / 2); /* 2 elementy na tablet */
			}
			[data-section="section-header-mobile-trigger"]{
				gap: 20px;
			}
			[data-section="section-header-mobile-trigger"] .ast-button-wrap{
				order: 9999;
			}
			.ast-cart-menu-wrap .count{
				font-size: .65em;
			}
			.dgwt-wcas-ico-magnifier-handler{
				max-width: 25px !important;
			}
			.dgwt-wcas-search-icon{
				width: 25px;
			}
			[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg{
				width: 14px !important;
				height: 14px !important;
			}
			.ast-header-break-point .ast-button-wrap .main-header-menu-toggle{
				font-size: 0.75em;
			}
		}
		@media (max-width: 480px) {
			.frame-shape-item {
				flex: 0 0 100%; /* 1 element na małych ekranach */
			}
		}


 .brand-grid{
	 display:grid;
	 gap:16px;
	 grid-template-columns:repeat(4, minmax(0,1fr));
	 max-width: 100% !important;
}
    @media (max-width:1024px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media (max-width:640px){.brand-grid{grid-template-columns:repeat(1,minmax(0,1fr));}}
    .brand-tile{display:block;text-decoration:none;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;transition:transform .15s ease, box-shadow .15s ease;}
    .brand-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06);}
    .brand-thumb{aspect-ratio:4/3;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;}
    .brand-thumb img{max-width:100%;max-height:100%;height:auto;width:auto;display:block}
    .brand-body{padding:12px 14px;}
    .brand-name{font-weight:600;margin:0 0 4px;line-height:1.2;color:#111;}
    .brand-count{font-size:13px;color:#666;margin:0;}


/* Hide button for specific brands PHP + CSS */
.hide-frame-only form.cart .button {
	display: none !important;
}

/* Hide - Please choose product options Temporary Fix!!! */
.woocommerce-error li:contains("Please choose product options") {
    display: none !important;
}