/*
	Theme Name:   Savoy Child
	Theme URI:    http://themeforest.net/item/savoy-minimalist-ajax-woocommerce-theme/12537825
	Description:  Savoy child theme
	Author:       NordicMade
	Author URI:   http://www.nordicmade.com
	Template:     savoy
	Version:      1.0
*/


/* ==========================================================================
   1. REGOLE GLOBALI E TIPOGRAFIA
   ========================================================================== */

/* Bilancia gli spazi del titolo principale (H1) */
.wpb_wrapper h1 {
	margin-top: 30px !important;
	margin-bottom: 25px !important;
	font-size: 28px !important;
}

.nm-shop-taxonomy-heading h1 {
	margin-top: 30px !important;
	margin-bottom: 25px !important;
	font-size: 28px !important;
}

.nm-shop-taxonomy-heading {
	padding-top: 0 !important;
}

.upsells, .related {
	padding: 30px 0px 0px !important;
}

.upsells h2, .related h2 {
	font-size: 20px !important;
	font-weight: 400 !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
	padding-bottom: 0 !important;
	line-height: 1.4 !important;
}

/* Ridimensiona i titoli di sezione (H2) e chiude lo spazio inferiore */
.wpb_wrapper h2 {
	font-size: 18px !important;
	font-weight: 400 !important;
	margin-top: 35px !important;
	margin-bottom: 8px !important;
	line-height: 1.3 !important;
}

/* Stile titoli moduli FAQ (Toggle WPBakery) corretto per spessore e colore */
.vc_toggle_title h3 {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #777 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	margin-bottom: 5px !important;
	margin-top: 0 !important;
}

/* Respiro paragrafi standard WPBakery */
.wpb_wrapper p {
	margin-bottom: 22px !important;
}

/* Correzione banner a larghezza piena */
.nm-banner.content-full {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
}

	.nm-banner.content-full img {
		width: 100% !important;
		height: auto !important;
		display: block;
	}

/* Sfondo generico semitrasparente (Login) */
.mfp-bg {
	background-color: #1f2020 !important;
	opacity: 0.7 !important;
}

	/* Sfondo 100% opaco isolato (Zoom immagini e lightbox) */
	.mfp-bg:has(+ .mfp-wrap.mfp-image-holder),
	.mfp-bg:has(+ .mfp-wrap.nm-mfp-zoom-in) {
		opacity: 1 !important;
	}

/* Bottoni con sfondo trasparente (Portfolio e Prodotto singolo su fondo grigio) */
.portfolio-toggle-btn,
#btn-mostra-preventivo,
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background-color: transparent !important;
	color: #111 !important;
	border: 1px solid #111 !important;
	letter-spacing: 1px !important;
	font-weight: 400 !important;
	transition: all 0.3s ease !important;
}

.portfolio-toggle-btn:hover,
#btn-mostra-preventivo:hover,
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	background-color: #f4f4f4 !important;
	color: #111 !important;
	border-color: #666 !important;
}

/* Bottone scuro esclusivo per il Form Contatti (sfondo bianco) */
.wpcf7-submit {
	background-color: #222 !important;
	color: #fff !important;
	border: 1px solid #222 !important;
	letter-spacing: 1px !important;
	font-weight: 400 !important;
	transition: all 0.3s ease !important;
}

.wpcf7-submit:hover {
	background-color: transparent !important;
	color: #222 !important;
	border-color: #222 !important;
}

/* Gestione layout Footer */
.nm-footer-bar-col-inner {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

#nm-footer-bar-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

	#nm-footer-bar-menu li {
		margin-right: 25px !important;
	}

		#nm-footer-bar-menu li:last-child {
			margin-right: 0 !important;
		}

		#nm-footer-bar-menu li a {
			font-size: 13px !important;
		}


/* ==========================================================================
   2. HEADER, MENU E TOP BAR
   ========================================================================== */

/* Top bar compatta */
.nm-top-bar {
	background-color: #f7f7f7 !important;
	padding: 0 !important;
	height: 26px !important;
	min-height: 26px !important;
	overflow: hidden !important;
}

	.nm-top-bar .nm-row {
		display: block !important;
	}

.nm-top-bar-left,
.nm-top-bar-text,
.nm-top-bar-text .cycle {
	padding: 0 !important;
	margin-bottom: 0 !important;
	height: 26px !important;
	min-height: 26px !important;
	line-height: 26px !important;
	color: #444444 !important;
	text-align: center !important;
	font-size: 12px !important;
	letter-spacing: 0.5px;
	float: none !important;
	width: 100% !important;
}

.nm-top-bar-right {
	display: none !important;
}

/* Selettore Lingua */
.custom-lang-dropdown {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

	/* Override ad alta specificità per annullare il padding del menu */
	.custom-lang-dropdown .lang-toggle,
	#nm-right-menu-ul > li.custom-lang-dropdown > a.lang-toggle {
		display: flex !important;
		align-items: center !important;
		gap: 4px !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		cursor: pointer;
		height: 100% !important;
	}

	.custom-lang-dropdown img,
	.custom-submenu-lang img {
		width: 20px !important;
		min-width: 20px !important;
		height: 14px !important;
		object-fit: cover !important;
		border-radius: 2px !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.custom-lang-dropdown svg {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

.custom-submenu-lang {
	display: none !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	margin: 0 !important;
	padding: 6px 0 0 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	list-style: none !important;
	z-index: 99999 !important;
}

.custom-lang-dropdown:hover .custom-submenu-lang {
	display: block !important;
}

.custom-submenu-lang li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.custom-submenu-lang a {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* Header Desktop (> 768px) */
@media (min-width: 769px) {
	.nm-header.default .nm-header-logo {
		float: left !important;
		margin-right: 0 !important;
	}

	.nm-header.default .nm-main-menu {
		position: absolute !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		float: none !important;
		width: auto !important;
	}

	#nm-main-menu-ul {
		white-space: nowrap !important;
		width: max-content !important;
	}

		#nm-main-menu-ul > li > a {
			padding-left: 20px !important;
			padding-right: 20px !important;
		}

	.nm-right-menu {
		float: right !important;
	}

	#nm-right-menu-ul {
		display: flex !important;
		align-items: center !important;
		gap: 5px !important;
		margin: 0 !important;
		padding: 0 !important;
		height: 100% !important;
	}

		#nm-right-menu-ul > li {
			display: flex !important;
			align-items: center !important;
			margin: 0 !important;
			padding: 0 !important;
			height: 100% !important;
		}

			#nm-right-menu-ul > li > a {
				padding-left: 4px !important;
				padding-right: 4px !important;
			}

	.nm-menu-account > a {
		font-size: 0 !important;
		display: flex !important;
		align-items: center !important;
	}

		.nm-menu-account > a i {
			font-size: 16px !important;
			line-height: 1 !important;
		}

	.nm-menu-cart > a {
		display: flex !important;
		align-items: center !important;
	}
}

/* Header Mobile (<= 991px) */
@media (max-width: 991px) {
	.nm-header-col {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		position: relative !important;
	}

	.nm-header-logo {
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0 !important;
	}

		.nm-header-logo a {
			display: flex !important;
			justify-content: center !important;
			width: 215px !important;
			min-width: 215px !important;
			max-width: none !important;
		}

		.nm-header-logo img {
			width: 100% !important;
			max-width: none !important;
			height: auto !important;
		}

	.nm-right-menu {
		display: flex !important;
		align-items: center !important;
	}

	#nm-right-menu-ul > li:not(.nm-menu-search) {
		display: none !important;
	}

	.custom-lang-dropdown {
		display: none !important;
	}
}


/* ==========================================================================
   3. WOOCOMMERCE E SHOP
   ========================================================================== */

/* Forza puntatore cliccabile su bottoni aggiungi al carrello */
.single_add_to_cart_button,
.single_add_to_cart_button *,
button.alt,
button.alt * {
	cursor: pointer !important;
}

/* Neutralizza lo stato di blocco del cursore ereditato dai wrapper */
.nm-single-product-summary .cart,
.entry-summary .cart {
	cursor: default !important;
}

/* Layout carrello e checkout */
form.woocommerce-checkout {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form h1,
.woocommerce-cart .woocommerce-cart-form h2,
.woocommerce-cart .cart-collaterals h2,
.woocommerce-checkout .wpb_wrapper #customer_details h3,
.woocommerce-checkout .wpb_wrapper h3#order_review_heading {
	font-size: 20px !important;
	font-weight: 400 !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
	padding-bottom: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
	margin-top: 0 !important;
}

.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Ricerca e Filtri */
body.search .nm-shop-taxonomy-heading {
	display: none !important;
}

.nm-shop-search-btn-wrap > span {
	display: none !important;
}

#nm-shop-search .nm-shop-search-inner {
	padding-top: 25px !important;
}

.nm-shop-header {
	padding-top: 0 !important;
	padding-bottom: 30px !important;
}

#nm-shop-sidebar .nm-shop-sidebar-inner {
	padding-top: 0 !important;
}

.nm-shop-filter-menu li a i {
	display: inline-block !important;
}


.nm-shop-categories li a {
	font-size: 18px;
	line-height: 1.4;
	margin: 0px 10px;
}


@media (max-width: 991px) {
	#nm-shop-filter-menu {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		padding: 0 !important;
	}
}

/* Prodotto Singolo */
.woocommerce div.product .product_title {
	margin-bottom: 15px !important;
}

.nm-single-product-menu a {
	font-size: 20px !important;
}

#tab-description h2 {
	font-size: 20px !important;
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 15px;
	line-height: 1.4;
}

/* Prezzo e Meta nel Prodotto */
.summary .product-meta-dettagli-shop {
	font-size: 16px !important;
	line-height: 1.6 !important;
	margin-top: 15px !important;
	margin-bottom: 25px !important;
}

	.summary .product-meta-dettagli-shop p {
		margin: 0 !important;
	}

.summary p.price:empty,
.summary p.price {
	display: none !important;
}

/* Lightbox Immagini WooCommerce */
.pswp__bg {
	background-color: #1f2020 !important;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(.pswp-thumbnail) img {
	max-height: 450px !important;
	width: auto !important;
	object-fit: contain !important;
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}


/* ==========================================================================
   4. PORTFOLIO
   ========================================================================== */

/* Sfondo grigio portfolio singolo */
body.single-portfolio .nm-page-overflow,
body.single-portfolio .nm-page-wrap {
	background-color: #eeeeee !important;
}

/* Linea evidenziatrice menu per la sezione portfolio */
.nm-menu li.current-menu-item > a,
body.single-portfolio #menu-item-10196 > a,
body.single-portfolio #menu-item-10195 > a {
	text-decoration: underline !important;
	text-underline-offset: 6px !important;
	text-decoration-thickness: 1px !important;
}

/* Layout Grid Portfolio */
.nm-portfolio-item-image .nm-image-overlay {
	display: none !important;
}

.nm-portfolio-item-image img {
	transition: opacity 0.3s ease !important;
}

.nm-portfolio-item-image:hover img {
	opacity: 0.85 !important;
}

@media (max-width: 991px) {
	.nm-portfolio-item-image img {
		max-height: 575px !important;
		width: auto !important;
		object-fit: contain !important;
		display: block !important;
		margin: 0 auto !important;
	}
}

.nm-portfolio-categories {
	padding-top: 0px !important;
	padding-bottom: 20px !important;
}

.nm-portfolio-item-details {
	text-align: center !important;
}

	.nm-portfolio-item-details h2 {
		font-size: 16px !important;
		font-weight: 400 !important;
		margin-top: 15px !important;
		margin-bottom: 5px !important;
	}

	.nm-portfolio-item-details p {
		margin-top: 0 !important;
	}

/* Layout Portfolio Singolo */
.single-portfolio .nm-lightbox .nm-image-overlay {
	display: none !important;
}

.single-portfolio .nm-lightbox {
	cursor: zoom-in !important;
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
}

	.single-portfolio .nm-lightbox img {
		transition: opacity 0.3s ease !important;
		max-height: 575px !important;
		width: auto !important;
		max-width: 100% !important;
		object-fit: contain !important;
	}

	.single-portfolio .nm-lightbox:hover img {
		opacity: 0.85 !important;
	}

body.single-portfolio .wpb_wrapper h1 {
	font-size: 20px !important;
	margin-top: 18px !important;
	margin-bottom: 18px !important;
	line-height: 1.3;
	font-weight: 400;
}

.nm-portfolio-single-footer {
	display: none !important;
}

/* Frecce di navigazione portfolio */
.nm-portfolio-nav-arrow {
	font-size: 32px !important;
	line-height: 1 !important;
	color: #777 !important;
}

.nm-portfolio-nav-wrapper {
	position: relative !important;
	height: 0 !important;
	margin-bottom: 0 !important;
}

.nm-portfolio-nav-absolute {
	position: absolute !important;
	top: 13px !important;
	right: 30px !important;
	z-index: 100 !important;
	display: flex !important;
	gap: 10px !important;
}

.nm-portfolio-nav-arrow i {
	font-size: 20px !important;
	line-height: 1 !important;
	color: #a0a0a0 !important;
	transition: color 0.3s ease !important;
}

.nm-portfolio-nav-arrow:hover i {
	color: #dc9814 !important;
}

@media (max-width: 768px) {
	.nm-portfolio-nav-absolute {
		top: 22px !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		justify-content: space-between !important;
		padding: 0 13px !important;
		box-sizing: border-box !important;
	}
}

/* Centratura FAQ Toggle nel Portfolio Singolo */
.single-portfolio .vc_toggle {
	display: block !important;
	text-align: center !important;
}

.single-portfolio .vc_toggle_title {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	padding: 0 24px !important;
}

	.single-portfolio .vc_toggle_title i {
		position: absolute !important;
		left: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		margin: 0 !important;
	}

	.single-portfolio .vc_toggle_title h3 {
		margin: 0 !important;
		padding: 0 !important;
	}

.single-portfolio .vc_toggle_content {
	width: 100% !important;
	padding: 15px 0 0 0 !important;
	text-align: left !important;
}


/* ==========================================================================
   5. PLUGIN TERZE PARTI E VARIE
   ========================================================================== */

/* Cookie Notice (Stile Minimal Savoy) */
#cookie-notice {
	background-color: #fff !important;
	border-top: 1px solid #eee !important;
	box-shadow: 0 -2px 10px rgba(0,0,0,0.02) !important;
	padding: 15px 20px !important;
}

.cookie-notice-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 15px;
	flex-wrap: wrap;
}

#cookie-notice .cookie-notice-container span,
#cookie-notice .cookie-notice-container p {
	color: #777 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	margin: 0 !important;
}

#cookie-notice .cn-button {
	background-color: transparent !important;
	color: #111 !important;
	border: 1px solid #111 !important;
	border-radius: 0 !important;
	padding: 8px 16px !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-weight: 400 !important;
	transition: all 0.3s ease !important;
}

	#cookie-notice .cn-button:hover {
		background-color: #f4f4f4 !important;
		border-color: #666 !important;
		color: #111 !important;
	}

#cookie-notice a#cn-more-info {
	background: transparent !important;
	border: none !important;
	text-transform: none !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	padding: 0 !important;
	color: #777 !important;
	letter-spacing: normal !important;
}

	#cookie-notice a#cn-more-info:hover {
		color: #111 !important;
	}

/* Sitemap Personalizzata (Layout multicolonna) */
.sitemap-section ul {
	column-count: 3 !important;
	column-gap: 40px !important;
	list-style-type: none !important; /* Rimuove i pallini di default se presenti */
	padding-left: 0 !important;
}

	.sitemap-section ul li {
		break-inside: avoid !important;
		page-break-inside: avoid !important;
		margin-bottom: 8px !important;
		line-height: 1.3 !important;
	}

.sitemap-section h2 {
	font-size: 20px !important;
	padding: 15px 0 !important;
}

@media (max-width: 768px) {
	.sitemap-section ul {
		column-count: 1 !important;
	}
}

/* Nascondi badge Recaptcha */
.grecaptcha-badge {
	visibility: hidden !important;
}

/* Offset Woobe/Bear per anteprima immagini */
#woobe_image_preview,
#woobe_preview_image,
.woobe_image_preview {
	transform: translateY(-70px) !important;
}
