/*
Theme Name: MailPrinter Astra Child
Description: Child theme for MailPrinter based on Astra.
Author: MailPrinter
Template: astra
Version: 1.0.0
Text Domain: mailprinter-astra-child
*/

/*
 * Site styles migrated from WordPress "CSS aggiuntivo".
 * Keeping them in the child theme makes the customization easier to version,
 * review, and roll back without editing the Astra parent theme.
 */
.ast-theme-transparent-header #masthead {
	position: sticky;
}

#masthead {
	position: sticky;
	top: 0;
	z-index: 999;
	transform: translate3d(0, 0, 0);
	transition: transform 220ms ease, opacity 220ms ease;
	will-change: transform;
}

.admin-bar #masthead {
	top: 32px;
}

body.mp-header-hidden #masthead {
	opacity: 0.98;
	pointer-events: none;
	transform: translate3d(0, calc(-100% - 12px), 0);
}

body.mp-header-visible #masthead,
body.ast-main-header-nav-open #masthead,
body.ast-popup-nav-open #masthead {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
}

.ast-primary-header-bar {
	background: rgba(255, 255, 255, 0.88) !important;
	border-bottom: 1px solid rgba(31, 61, 77, 0.08);
	box-shadow: 0 12px 34px rgba(31, 61, 77, 0.1);
	backdrop-filter: saturate(1.15) blur(16px);
	-webkit-backdrop-filter: saturate(1.15) blur(16px);
}

body.mp-header-scrolled .ast-primary-header-bar {
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 14px 34px rgba(31, 61, 77, 0.14);
}

.ast-primary-header-bar .site-primary-header-wrap {
	min-height: 74px;
}

.site-logo-img img {
	filter: drop-shadow(0 5px 10px rgba(31, 61, 77, 0.16));
}

.site-title,
.site-title a {
	color: #163041 !important;
	font-weight: 750;
	letter-spacing: 0;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link {
	color: #1f3d4d !important;
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1;
	min-height: 38px;
	padding: 0 14px;
	text-decoration: none !important;
	text-shadow: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.ast-builder-menu-1 .main-header-menu.ast-menu-hover-style-underline > .menu-item > .menu-link::before,
.ast-builder-menu-1 .main-header-menu.ast-menu-hover-style-underline > .menu-item > .menu-link::after,
.main-header-menu.ast-menu-hover-style-underline > .menu-item > .menu-link::before,
.main-header-menu.ast-menu-hover-style-underline > .menu-item > .menu-link::after {
	content: none !important;
	display: none !important;
}

.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .menu-item:focus-within > .menu-link {
	background: rgba(0, 191, 209, 0.12);
	border-radius: 999px;
	color: #006c96 !important;
	transform: translateY(-1px);
	text-shadow: none;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item.current_page_item > .menu-link {
	background: linear-gradient(135deg, rgba(0, 191, 209, 0.2), rgba(0, 153, 255, 0.16));
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgba(0, 153, 255, 0.16), 0 8px 18px rgba(0, 153, 255, 0.12);
	color: #00658f !important;
	text-shadow: none;
}

.ast-builder-menu-1 .menu-item > .menu-link:focus-visible {
	background: rgba(0, 191, 209, 0.16);
	border-radius: 999px;
	color: #003347 !important;
	outline: 2px solid #00bfd1;
	outline-offset: 3px;
	text-shadow: none;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: #1f3d4d;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle {
	align-items: center;
	background: rgba(0, 191, 209, 0.1);
	border-radius: 999px;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
	color: #1f3d4d;
	font-weight: 700;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:focus-within > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item.current_page_item > .menu-link {
	background: rgba(0, 191, 209, 0.08);
	color: #0077a6 !important;
}

.ast-icon-shopping-bag {
	display: none;
}

#billing_invoice_type_field,
#billing_cf_field {
	width: 100%;
}

#billing_invoice_type_field .select2 {
	width: 100% !important;
}

/* Shop cards */
.woocommerce ul.products li.product {
	background: #f8f8f8;
	border-radius: 8px;
	padding: 20px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
}

.woocommerce ul.products li.product h2 {
	color: #003366;
	font-size: 18px;
	font-weight: 600;
	min-height: 48px;
}

.woocommerce ul.products li.product .price {
	color: #0099ff;
	font-size: 15px;
	font-weight: bold;
	margin: 10px 0;
}

.woocommerce ul.products li.product a.button {
	background-color: #b3e5ff;
	border-radius: 25px;
	color: #003366;
	font-size: 18px;
	font-weight: 600;
	padding: 10px 20px;
	transition: background 0.3s ease, color 0.3s ease;
}

.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus {
	background-color: #0099ff;
	color: #fff;
}

.site-title {
	white-space: nowrap;
	word-break: keep-all;
}

@media (prefers-reduced-motion: reduce) {
	#masthead,
	.ast-builder-menu-1 .menu-item > .menu-link,
	.main-header-menu > .menu-item > .menu-link {
		transition: none;
	}
}
