/**
 * VARIABILI
 */
:root {
	/* Impostazioni generali body (bootstrap) */
	--bs-body-bg: #fff;
	--bs-body-font-family: 'Lato', sans-serif; /* verifica /inc/ */
	--bs-body-color: #000;
	--bs-body-font-size: 17px;
	--bs-body-line-height: 1.5;
	--bs-body-font-weight: 400;
	--bs-border-radius: 15px;

	
	/* Colori (bootstrap) */
	--bs-primary: #FF5400;
	--bs-secondary: #D9D9D9;
	--bs-secondary-rgb: 217, 217, 217;
	--bs-danger: #CB0000;
	--bs-link-color: var(--bs-primary);
	--bs-link-color-rgb: 0, 0, 0;
	--bs-link-hover-color-rgb: 0, 0, 0;
	
	/* Form */
	--form-border-color: var(--bs-body-color);
	--bs-form-valid-color: #00910B;
	--bs-form-invalid-color: #CB0000;
	
	/* Header */
	--header-bg: #f1f1f1;
	--header-submenu-bg: #ddd;
	
	--container-offset: 0px;
	
	/* Dimensione admin-bar per eventuali header fixed */
	--admin-bar: var(--wp-admin--admin-bar--height, 0px);
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	--bs-gutter-x: 72px;
}
.row {
	--bs-gutter-x: 30px;
}



/**
 * Tag generici
 */
html, body {
	min-width: 320px;
	font-optical-sizing: auto;
}
body.menu-open {
	position: fixed;
	width: 100%;
}
@media screen and (max-width: 600px) {
	#wpadminbar { position: fixed; } /* fix per admin bar mobile */
}

strong { font-weight: 600; }
p { margin-bottom: 15px; }

img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.skiplink {
	position: absolute;
	left: 15px;
	top: calc(var(--admin-bar) + 15px);
	z-index: 999;
	border: 2px solid var(--bs-primary);
	border-radius: 5px;
	padding: 10px 20px;
	background: #fff;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}

.menu, .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

#topbar-menu .menu,
#main-menu .menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#topbar-menu .menu > li,
#main-menu .menu > li {
	margin-right: 26px;
}
#topbar-menu .menu > li:last-child,
#main-menu .menu > li:last-child {
	margin-right: 0;
}
#topbar-menu .menu > li.menu-item-has-children,
#main-menu .menu > li.menu-item-has-children {
	position: relative;
}

#topbar-menu button,
#main-menu button {
	background: none;
	border: none;
	color: inherit;
}

#topbar-menu .sub-menu,
#main-menu .sub-menu {
	display: none;
}
#topbar-menu .sub-menu[aria-hidden="false"],
#main-menu .sub-menu[aria-hidden="false"] {
	display: block;
	position: absolute;
	top: 100%;
	left: -15px;
}



/**
 * TOPBAR
 */
#topbar {
	--topbar-bg: #333;
	--bs-body-color: #fff;
	--bs-link-color: #fff;
	--bs-link-hover-color: var(--bs-primary);
	
	background: var(--topbar-bg);
	padding: 7px 0;
}

#topbar-menu .sub-menu {
	background: var(--topbar-bg);
	min-width: 100%;
	padding: 10px 15px 10px;
	box-sizing: content-box;
	left: -15px;
}




/**
 * HEADER
 */
#header {
	background: var(--bs-primary);
	color: #fff;
	padding: 1.25rem 0;
	position: relative;
	z-index: 999;
}

#header .logo img {
	max-width: 200px;
	max-height: 79px;
	
	#mobile-menu & {
		filter: brightness(0);
	}
}

#main-menu .sub-menu {
	background: var(--header-submenu-bg);
	min-width: 100%;
	width: max-content;
	padding: 10px 15px 10px;
}

#main-menu .megamenu {
	position: unset !important;
}

#main-menu .megamenu > .sub-menu > li > button {
	display: none;
}

#main-menu .megamenu > .sub-menu[aria-hidden="false"] {
	top: 100%;
	left: 0;
	z-index: 999;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	width: 100%;
	box-sizing: border-box;
	padding: var(--bs-gutter-x);
}

#main-menu .megamenu > .sub-menu[aria-hidden="false"] .sub-menu  {
	top: calc(100% + 15px);
	left: -15px;
	display: block;
	padding: 10px 0;
}


#mobile-menu-opener,
#mobile-menu-closer {
	border: 0;
	padding: 0;
	background: transparent;
	fill: currentColor;
	display: flex;
	align-items: center;
	color: currentColor;
	gap: 10px;
}
#mobile-menu-opener {
	transform: scale(1, 0.8);
}
#mobile-menu-opener svg,
#mobile-menu-closer svg {
	display: block;
	width: 35px;
	height: 35px;
}

#mobile-menu {
	position: fixed;
	top: var(--admin-bar);
	left: 0;
	bottom: 0;
	width: 100%;
	transform: translateX(-100%);
	color: var(--bs-body-color);
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(3.75rem);
	padding: 15px 0;
	transition: transform .7s ease;
	
	@media (min-width: 992px) {
		width: 25%;
	}
	
	nav a {
		color: inherit;
		text-decoration: none;
		margin: 0 calc(var(--bs-gutter-x) * -0.5);
		padding: 1.125rem calc(var(--bs-gutter-x) * 0.5);
		display: block;
		
		&:hover {
			background-color: #969595;
		}
	}
}
#mobile-menu[aria-hidden="false"] {
	transform: translateX(0);
}

#mobile-menu .menu > li.menu-item-has-children {
	position: relative;
}
#mobile-menu .sub-menu {
	display: none;
}
#mobile-menu .sub-menu[aria-hidden="false"] {
	display: block;
}



/**
 * PAGE TITLE
 */
#page_title {
	/*background: var(--color1);*/
}


/**
 * BREADCRUMBS
 */
.breadcrumbs {
	.breadcrumbs-list {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		padding: 0;
		margin-bottom: 8px;
	}
	.breadcrumbs-link {
		display: flex;
		align-items: baseline;
	}
	.breadcrumbs-separator {
		margin: 0 10px;
		font-size: 14px;
	}
	
	.breadcrumbs-current {
		font-weight: 600;
		color: var(--bs-body-color);
		text-decoration: none;
	}
}

#search-form {
	border: 1px solid #fff;
	border-radius: var(--bs-border-radius-pill);
	padding: 0 1.5rem;
	margin-top: 20px;
	
	* {
		background: transparent;
		border: 0;
		border-radius: 0;
	}
	
	button {
		height: 100%;
		padding-bottom: 4px;
	}
	
	input {
	}
}

.categories-list a:not(:hover) {
	text-decoration: none;
}
