/**
Theme Name: Astra Child
Author: Simone De Gasperin
Author URI: https://www.simonedegasperin.it/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/*
 * Globale
 */
button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"], a:where(.wp-block-button__link) {
	box-shadow: none;
}
.sdg-bg-lightgreen {
	background-color: #eff4ef;
}
.sdg-container {
	max-width: 1180px;
	padding: 0 20px;
	margin: 0 auto;
}
.ast-plain-container.ast-no-sidebar #primary {
	margin: 80px 0;
}

/*
 * Header
 */
@media (max-width: 1500px) {
	#ast-desktop-header .main-header-menu .sub-menu .menu-item.menu-item-has-children>.menu-link .ast-header-navigation-arrow {
		position: absolute;
		top: 50%;
		transform: translate(0, -50%) rotate(90deg);
	}
    .main-header-menu .sub-menu .menu-item.focus>.sub-menu, .main-header-menu .sub-menu .menu-item:hover>.sub-menu {
        left: -100%;
        right: auto;
    }
}

.ahfb-svg-iconset svg {
    width: 30px;
    height: 30px;
}

.ast-header-break-point .main-navigation .stack-on-mobile li {
	position: relative;
}

@media (max-width: 921px) {
    .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item.menu-item-has-children > .ast-menu-toggle {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        text-align: right;
    }
}

.ast-logo-title-inline .ast-site-identity {
    padding: 7px 0;
}
header.site-header {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	z-index: 999;
	box-shadow: 0px 8px 10px -8px rgba(0, 0, 0, 0.2);
}
body.admin-bar header.site-header {
	top: 32px;
}
body:not(.elementor_library-template) {
	padding-top: 70px;
}
@media (max-width: 544px) {
	body:not(.elementor_library-template) {
		padding-top: 46px;
	}
}
@media (max-width: 782px) {
	body.admin-bar header.site-header {
		top: 46px;
	}
}

.whatsapp-link {
    position: fixed;
    bottom: 20px; /* distanza dal fondo */
    right: 20px;  /* distanza da destra */
    z-index: 9999; /* sopra tutti gli altri elementi */
}

.whatsapp-link img {
    width: 35px;  /* larghezza immagine */
    height: 35px; /* altezza immagine */
    display: block;
}
.ast-scroll-to-top-right {
    right: 21px;
    bottom: 70px;
}
.sdg-img-m0 img {
	margin: 0;
}
.wpcf7-form label {
	color: #fff;
	font-weight: 400;
	display: block;
	margin-bottom: 20px;
}
.wpcf7-form input,
.wpcf7 textarea {
	margin-top: 7px;
}
.wpcf7 input.wpcf7-submit {
	text-transform: uppercase;
	font-size: 18px;
	letter-spacing: 2px;
	font-weight: 400;
	padding: 12px 25px;
	background: #fff;
	color: #10676a;
	border: 1px solid #fff;
	display: block;
	width: 100%;
	border-radius: 7px;
	overflow: hidden;
}
.wpcf7 input.wpcf7-submit:hover {
	background: #10676a;
	color: #fff;
}
.wpcf7-list-item {
	margin: 0;
	cursor: pointer;
}
.wpcf7-list-item input {
	margin-right: 10px;
}
.wpcf7-list-item span {
	font-weight: 400;
	font-size: 15px;
}
.wpcf7-response-output {
	color: #fff;
}
.wpcf7 form .wpcf7-response-output {
	margin: 50px 0;
	padding: 30px 10px;
}

@media (max-width: 921px) {
	.woocommerce-page .ast-container {
		display: flex;
		flex-direction: column-reverse;
	}
	.woocommerce-page #secondary {
		margin: 40px 0 0;
	}
	.woocommerce-page #primary {
		margin: 0 0 100px
	}
}

/*
 * Pagina account WooCommerce
 */
.woocommerce .addresses .title .edit, .woocommerce-account .addresses .title .edit {
    float: none;
    padding: 7px 15px;
    display: block;
    background: #10676a;
    color: #fff;
    border-radius: 7px;
		font-size: 16px;
		transition: all .3s linear;
}
.woocommerce .addresses .title .edit:hover, .woocommerce-account .addresses .title .edit:hover {
    opacity: 0.7;
}
.woocommerce-column__title {
	font-size: 22px;
}
.woocommerce-MyAccount-navigation {
	position: sticky;
	top: 120px;
}
body.admin-bar .woocommerce-MyAccount-navigation {
	top: 150px;
}
.woocommerce-MyAccount-navigation>ul {
	background-color: #10676a;
	border-radius: 15px;
	padding: 30px;
}
body .woocommerce-MyAccount-navigation-link {
	border: 0;
}
body .woocommerce-MyAccount-navigation-link.is-active a {
    margin: 10px 0;
	border-radius: 7px;
	padding-left: 18px;
	color: #10676a;
}
body .woocommerce-MyAccount-navigation-link a {
	color: #fff;
	padding-left: 0;
}
#account_display_name_description {
	font-size: 14px;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
    font-size: 20px;
    color: #10676a;
    padding-top: 25px;
    padding-bottom: 10px;
}
.woocommerce-PaymentMethod {
	border-right: 0;
}
.woocommerce-Address-title h2 {
	font-size: 22px;
}
.woocommerce-address-fields__field-wrapper {
	margin-bottom: 30px;
	margin-left: 0;
}
.woocommerce-repeat-order a {
	padding: 15px 20px;
    font-size: 20px;
}
@media (max-width: 921px) {
	.woocommerce-MyAccount-navigation {
		position: static;
		margin-bottom: 30px;
	}
}


/*
 * Pagina shop WooCommerce
 */
.astra-shop-summary-wrap {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.astra-shop-summary-wrap .price {
	flex: 1;
}
.astra-shop-summary-wrap .add_to_cart_button {
	text-align: center;
}
.woocommerce-products-header__title {
	margin-bottom: 20px;
}
.woocommerce-js .woocommerce-result-count {
	margin: 0 0 30px;
}
.woocommerce ul.products, .woocommerce-page ul.products {
    column-gap: 25px;
}
.woocommerce-js ul.products li.product .price, .woocommerce-page ul.products li.product .price {
	font-size: 17px;
	line-height: 1;
}
.sdg-price-vat {
    font-weight: 400;
    font-size: 14px;
	display: inline-block;
	margin-left: 10px;
}
body.post-type-archive-product,
body.tax-product_cat,
body.single-product {
	background-color: #eff4ef;
}
.b2b-price-vat-label {
	white-space: nowrap;
}
body.post-type-archive-product ul.products li.product a img {
	aspect-ratio: 1/1;
	object-fit: contain;
	background-color: #fff;
}
.b2b-price-net {
	margin-top: 5px;
    margin-bottom: 10px;
    display: inline-block;
}
.b2b-price-gross {
	font-size: 15px;
    color: #10676a;
}
.woocommerce-js table.shop_table .woocommerce-Price-amount, .woocommerce-page table.shop_table .woocommerce-Price-amount {
	font-weight: 600;
}
@media (min-width: 920px) {
    .ast-right-sidebar #primary {
        padding-right: 40px;
    }
	.ast-right-sidebar #secondary {
        padding-left: 40px;
    }
}
@media (max-width: 921px) {
    .ast-right-sidebar #primary {
        padding-right: 0;
    }
	.ast-right-sidebar #secondary {
        padding-left: 0;
    }
	.woocommerce ul.products, .woocommerce-page ul.products {
		column-gap: 20px;
	}
}

/*
 * Singolo prodotto
 */
body.single-product .product_title {
	font-size: 30px;
}
body.single-product .single-product-category {
	font-size: 18px;
	margin: 20px 0;
}
body.single-product div.product p.price {
	font-size: 30px;
    font-weight: 700;
    margin: 20px 0;
}
body.single-product div.product p.ast-stock-detail, 
body.single-product div.product p.stock {
	font-size: 16px;
}
#review_form {
	font-size: 14px;
}
.woocommerce-js .comment-reply-title {
	font-size: 20px;
    color: #10676a;
}
.woocommerce-js #reviews .comment-form-rating .stars a {
	top: 2px;	
}
body.single-product div.product div.images img {
	background-color: #fff;
}
.woocommerce-js ul.products li.product a img, .woocommerce-page ul.products li.product a img {
	aspect-ratio: 1/1;
	object-fit: contain;
	background-color: #fff;
}
.woocommerce-product-gallery__wrapper img {
	aspect-ratio: 1/1;
	object-fit: contain;
}
.flex-direction-nav {
	margin: 0;
	padding: 0 20px;
	position: absolute;
	list-style: none;
	display: flex;
	justify-content: space-between;
	width: 100%;
	transform: translateY(-50%);
	pointer-events: none;
}
.flex-direction-nav a {
    font-size: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
	pointer-events: all;
}
/* Freccia sinistra */
.flex-direction-nav .flex-prev::before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
	transition: all .3s linear;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.flex-direction-nav .flex-prev:hover::before {
	transform: translateX(-10px);
}
/* Freccia destra */
.flex-direction-nav .flex-next::before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
	transition: all .3s linear;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.flex-direction-nav .flex-next:hover::before {
	transform: translateX(10px);
}
.woocommerce-js #reviews #comments ol.commentlist li .meta {
	color: #10676a;
}
.woocommerce-review__published-date {
	font-size: 12px!important;
    display: block;
    padding-left: 0!important;
}
.description_tab.active,
.reviews_tab.active {
	background-color: #10676a!important;
	padding: 0 20px!important;
	border-radius: 0 0 10px 10px!important;
}
.description_tab.active a,
.reviews_tab.active a {
	color: #fff!important;
}
.woocommerce-js div.product .woocommerce-tabs ul.tabs li.active::before {
	height: 0;
}
.woocommerce-js #reviews #comments ol.commentlist li .comment-text [lang] {
	order: 2;
    width: 100%;
}
.woocommerce-js #reviews #comments ol.commentlist li .comment-text p {
	font-size: 15px;
	margin-bottom: 20px;
}
.woocommerce-js #reviews #comments ol.commentlist li .comment-text > div:first-of-type {
	display: none!important;
}
.woocommerce-js #reviews #comments ol.commentlist li {
	margin-bottom: 25px;
}

/*
 * Messaggi WooCommerce
 */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background-color: #eff4ef;
}

/*
 * Password page
 */
.protected-page {
    max-width: 900px;
    margin: 100px auto;
	padding: 0 20px;
    text-align: center;
}
.protected-page p {
    margin-bottom: 40px;
}
.protected-page input {
    width: 100%;
    padding: 20px 12px;
	max-width: 500px;
}
.protected-page button {
    padding: 12px 30px;
	margin-top: 30px;
}
.protected-page button {
    padding: 12px 30px;
	text-transform: uppercase;
}

/**
 * Checkout WooCommerce
 */
form #order_review_heading,
form #order_review {
	border-width: 0!important;
	background-color: #eff4ef;
	font-size: 16px;
}
form #order_review .order-total th {
	font-size: 18px;
    font-weight: 700;
}
.order-total td {
	min-width: 180px;
}
.woocommerce .select2-container .select2-selection--single, .woocommerce select, .woocommerce-page .select2-container .select2-selection--single, .woocommerce-page select {
	border-radius: 0!important;
	font-size: 16px!important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #10676a!important;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells {
    background-color: #eff4ef;
    border: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals>h2, .woocommerce-cart .cart-collaterals .cross-sells>h2,
.woocommerce-js table.shop_table thead,
.woocommerce-page table.shop_table thead {
	background-color: #eff4ef;
}
body.woocommerce-cart table.shop_table {
	border: 0;
}
.woocommerce-shipping-destination {
	font-size: 15px;
}
#place_order {
    margin-top: 15px;
    padding: 20px;
    font-size: 20px;
    transition: all .3s linear;
}
body.woocommerce-cart .b2b-price-gross {
	font-size: 20px;
}
body.woocommerce-checkout .b2b-price-gross bdi {
	font-size: 24px;
}
body.woocommerce-checkout .b2b-price-gross small bdi {
	font-size: 80%;
}
.shop_table {
	font-size: 16px;
}
.p-LinkOptIn-header {
	margin-top: 50px!important;
}
.checkout-inline-error-message {
	color: red;
	margin-top: 10px;
}

/*
 * Carrello flyout WooCommerce
 */
.woocommerce-mini-cart-item {
	padding-right: 20px!important;
}
.product_list_widget {
	font-size: 15px;
}

/*
 * Pagina carrello WooCommerce
 */
.woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon,
.woocommerce-page table.cart td.actions .coupon {
	flex-wrap: wrap;
}
.coupon-error-notice {
	text-align: left;
	width: 100%;
	margin-top: 15px;
}

/*
 * Pagina login/registrazione/reset password
 */
body .woocommerce form.login,
body .woocommerce form.register {
	border-radius: 15px;
    border: 0;
    background-color: #10676a;
	color: #fff;
}
.woocommerce-privacy-policy-text {
	font-size: 14px;
    line-height: 1.5;
	padding-left: 3px;
}
.woocommerce-LostPassword {
	font-size: 16px;
}
.woocommerce-LostPassword a {
	color: #fff;
}
.woocommerce-ResetPassword {
	max-width: 650px;
	text-align: center;
	margin: 80px auto 0;
}
.woocommerce-ResetPassword .woocommerce-form-row {
	width: 100%!important;
	max-width: 500px;
}
.woocommerce-ResetPassword > p {
	margin: 30px auto!important;
	float: none!important;
}
.woocommerce-form-login__submit {
	margin: 15px 0 10px!important;
}
body .woocommerce form.login label,
body .woocommerce form.register label {
	color: #fff;
}
/* Nasconde inizialmente il form di registrazione */
#customer_login .u-column2 {
    display: none;
}
/* Nasconde il form di accesso quando si passa alla registrazione */
#customer_login.registration-active .u-column1 {
    display: none;
}
#customer_login.registration-active .u-column2 {
    display: block;
}
/* Pulsante/link per passare alla registrazione */
.woocommerce-register-toggle {
    display: block;
    margin-top: 20px;
    text-align: center;
    cursor: pointer;
}
#customer_login {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/**
 * Template page Sales
 */
.sales-page {
	padding: 0 0 50px;
	width: 100%;
}
.sales-page h1 {
	margin-bottom: .7em;
}
.sales-section {
    margin-bottom: 4rem;
}
.sales-section__title {
	font-size: 26px;
	margin-bottom: 30px!important;
}
.sales-documents {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sales-document {
	margin-bottom: 20px;
}
.sales-document + .sales-document {
    margin-top: .75rem;
}
.sales-document a {
    display: inline-flex;
    gap: .75rem;
    text-decoration: none;
}
.sales-document svg {
	margin-top: 5px;
    flex-shrink: 0;
	transition: transform .3s ease-in-out;
}
.sales-document a:hover {
    opacity: .7;
}
.sales-document a:hover svg {
    transform: translateY(5px);
}
.sdg-tipologia-documento {
	color: #000;
	font-style: italic;
    font-size: 14px;
    display: block;
    line-height: 1;
    margin-top: 3px;
}
.sdg-padding {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-bottom: 80px;
}

/*
 * Pagine delle serie
 */
.woocommerce-js ul.products li.product .button, .woocommerce-page ul.products li.product .button {
	margin-bottom: 0;
}

 @media (max-width: 921px) {
    .ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.tablet-columns-3 ul.products:not(.elementor-grid) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}