/* AO - Header e menu (stile new.aceper adattato al marchio AO). DWMP */
:root { --ao-gold: #cb9d54; --ao-gold-dark: #a97f3b; --ao-ink: #171717; }
.ao-hico { width: 15px; height: 15px; flex: none; }

/* ---------- Barra superiore ---------- */
.et-l--header .et_pb_section_0_tb_header.et_pb_section { background: #0c0c0c !important; padding: 0 !important; border-bottom: 1px solid rgba(255,255,255,.07); }
.et-l--header .et_pb_section_0_tb_header .et_pb_row { padding: 0 !important; min-height: 44px; display: flex; align-items: center; }
.et-l--header .et_pb_section_0_tb_header .et_pb_column { margin-bottom: 0 !important; display: flex; align-items: center; }
.et-l--header .et_pb_section_0_tb_header .et_pb_column:nth-child(2) { justify-content: flex-end; }
.et-l--header .et_pb_section_0_tb_header .et_pb_column:last-child { justify-content: flex-end; }
.et-l--header .et_pb_text_0_tb_header.et_pb_text { margin: 0 !important; color: rgba(255,255,255,.72) !important; line-height: 1 !important; }
.ao-topbar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 26px; font: 500 13px/1.2 'Manrope', Helvetica, Arial, sans-serif; }
.ao-tb-item { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.75) !important; transition: color .2s; white-space: nowrap; }
.ao-tb-item .ao-hico { color: var(--ao-gold); }
a.ao-tb-item:hover { color: #fff !important; }
.ao-tb-tag { color: #fff !important; letter-spacing: .02em; }
.ao-tb-item + .ao-tb-item { position: relative; }
.ao-tb-item + .ao-tb-item::before { content: ""; position: absolute; left: -14px; top: 50%; width: 1px; height: 14px; margin-top: -7px; background: rgba(255,255,255,.14); }
/* social */
.et-l--header ul.et_pb_social_media_follow_0_tb_header { margin: 0 !important; padding: 0 !important; display: flex; gap: 4px; }
.et-l--header ul.et_pb_social_media_follow_0_tb_header li { margin: 0 !important; }
.et-l--header .et_pb_social_media_follow_0_tb_header li a.icon { width: 30px !important; height: 30px !important; border-radius: 50%; transition: background .2s; }
.et-l--header .et_pb_social_media_follow_0_tb_header li a.icon::before { width: 30px !important; height: 30px !important; line-height: 30px !important; font-size: 13px !important; color: rgba(255,255,255,.8) !important; }
.et-l--header .et_pb_social_media_follow_0_tb_header li a.icon:hover { background: rgba(203,157,84,.18) !important; }
.et-l--header .et_pb_social_media_follow_0_tb_header li a.icon:hover::before { color: var(--ao-gold) !important; }
/* pulsante Case history: oro come il CTA di aceper */
.et-l--header .et_pb_button_0_tb_header_wrapper { margin: 0 !important; }
body #page-container .et-l--header .et_pb_section .et_pb_button_0_tb_header {
	display: inline-flex !important; align-items: center; gap: 10px;
	padding: 9px 20px !important; border-radius: 999px !important;
	background: var(--ao-gold) !important; color: #111 !important;
	font: 700 13px/1 'Manrope', Helvetica, Arial, sans-serif !important; letter-spacing: .02em !important;
	transition: background .2s, color .2s !important;
}
body #page-container .et-l--header .et_pb_section .et_pb_button_0_tb_header::after {
	content: "" !important; display: inline-block !important; position: static !important; opacity: 1 !important; margin: 0 !important;
	width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body #page-container .et-l--header .et_pb_section .et_pb_button_0_tb_header:hover { background: #fff !important; color: #111 !important; }

/* ---------- Leggibilità pulsanti: su fondo oro testo scuro (Divi mette bianco, contrasto 2.5) ---------- */
html body #page-container .et_pb_section .et_pb_button:hover,
html body #page-container .et_pb_section .et_pb_button:focus-visible { color: #111 !important; }
html body #page-container .et_pb_section .et_pb_button:hover::after,
html body #page-container .et_pb_section .et_pb_button:hover::before { color: #111 !important; }
/* post in evidenza del blog: oro → bianco al passaggio, testo sempre scuro */
html body #page-container .et_pb_section .et_pb_post_slider.et_pb_slider .et_pb_more_button.et_pb_button,
html body #page-container .et_pb_section .et_pb_post_slider.et_pb_slider .et_pb_more_button.et_pb_button:hover { color: #111 !important; }
html body #page-container .et_pb_section .et_pb_post_slider.et_pb_slider .et_pb_more_button.et_pb_button:hover::after { color: #111 !important; }
/* banner cookie iubenda */
#iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-btn-primary.iubenda-cs-btn-primary,
#iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-btn-primary.iubenda-cs-btn-primary:hover { color: #111 !important; }
#iubenda-cs-banner .iubenda-cs-btn-primary:hover { filter: brightness(1.08); }

/* ---------- Menu desktop ---------- */
@media (min-width: 981px) {
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li { padding-left: 11px; padding-right: 11px; }
	/* sottolineatura oro agganciata al testo */
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li > a {
		text-decoration: underline 2px transparent !important;
		text-underline-offset: 9px;
		transition: text-decoration-color .25s, color .2s, opacity .2s;
	}
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li:hover > a,
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li.current-menu-item.menu-item-type-post_type:not(.menu-item-home) > a,
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li.current-menu-ancestor:not(.pll-parent-menu-item) > a { text-decoration-color: var(--ao-gold) !important; opacity: 1 !important; }
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li.pll-parent-menu-item > a { text-decoration: none !important; }
	/* la tendina parte dal bordo dell'header, staccata dalla linea oro; il ponte invisibile tiene aperto l'hover */
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu > li > .sub-menu { margin-top: var(--ao-dd-gap, 23px) !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu > li > .sub-menu::before {
		content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: calc(var(--ao-dd-gap, 23px) + 2px); background: transparent;
	}
	/* tendine scure */
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu .sub-menu {
		background: #1b1b1b !important; border-top: 2px solid var(--ao-gold) !important;
		border-radius: 0 0 10px 10px; padding: 10px 0 !important; width: 250px;
		box-shadow: 0 24px 50px -20px rgba(0,0,0,.6) !important;
	}
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu .sub-menu li { padding: 0 10px !important; width: 100%; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu .sub-menu li a {
		width: 100% !important; padding: 10px 12px !important; border-radius: 6px;
		color: rgba(255,255,255,.82) !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important;
		transition: background .2s, color .2s, padding .2s;
	}
	/* testo bianco pieno su fondo scuro; al passaggio fondo oro e testo scuro (vale per ogni menu dell'header, anche fisso) */
html body .et-l--header .et-menu .sub-menu { background: #1b1b1b !important; }
html body .et-l--header .et-menu .sub-menu li a, html body .et-l--header .et-menu .sub-menu li a:visited { color: #fff !important; opacity: 1 !important; font-weight: 500 !important; }
html body .et-l--header .et-menu .sub-menu li.current-lang > a { color: var(--ao-gold) !important; }
html body #page-container .et-l--header .et-menu .sub-menu li > a:hover, html body #page-container .et-l--header .et-menu .sub-menu li > a:focus-visible,
html body #page-container .et-l--header .et-menu .sub-menu li.current-lang > a:hover { background: var(--ao-gold) !important; color: #111 !important; opacity: 1 !important; }
html body #page-container .et-l--header .et-menu .sub-menu li > a:hover * { color: #111 !important; }
html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu .sub-menu li a:hover {padding-left: 16px !important; opacity: 1 !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu li.pll-parent-menu-item .sub-menu { width: 170px; right: 0; left: auto; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu li.pll-parent-menu-item .sub-menu a { display: flex !important; align-items: center; gap: 8px; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header .et-menu li.pll-parent-menu-item .sub-menu li.current-lang a { color: var(--ao-gold) !important; }
}
/* 981-1199: il menu resta su una riga nella stessa larghezza */
@media (min-width: 981px) and (max-width: 1199px) {
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li { padding-left: 6px; padding-right: 6px; }
	.et-l--header .et_pb_menu_0_tb_header .et-menu > li > a { font-size: 12.5px !important; }
}

/* ---------- Menu mobile (pannello) ---------- */
@media (max-width: 980px) {
	.et-l--header .et_pb_menu_0_tb_header .mobile_nav.opened .mobile_menu_bar::before { content: "\4d" !important; }
	.et-l--header .et_pb_menu_0_tb_header .mobile_menu_bar::before { color: #fff !important; transition: color .2s; }
	.et-l--header .et_pb_menu_0_tb_header .mobile_nav.opened .mobile_menu_bar::before { color: var(--ao-gold) !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu {
		position: fixed !important; left: 0 !important; right: 0 !important; top: var(--ao-hh, 82px) !important;
		width: 100vw !important; max-height: calc(100vh - var(--ao-hh, 82px)); max-height: calc(100dvh - var(--ao-hh, 82px));
		overflow-y: auto !important; overscroll-behavior: contain;
		margin: 0 !important; padding: 8px 5% 30px !important;
		background: #121212 !important; border-top: 2px solid var(--ao-gold) !important;
		box-shadow: 0 30px 60px rgba(0,0,0,.5) !important; z-index: 99999;
	}
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li { position: relative; padding: 0 !important; margin: 0 !important; list-style: none; background: none !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu > li { border-bottom: 1px solid rgba(255,255,255,.08); }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li a {
		display: block; padding: 16px 52px 16px 0 !important; margin: 0 !important; border: 0 !important;
		background: none !important; color: #fff !important; opacity: 1 !important;
		font: 600 15px/1.3 'Urbanist', Helvetica, Arial, sans-serif !important; letter-spacing: .06em !important; text-transform: uppercase;
	}
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu > li.current-menu-item.menu-item-type-post_type > a { color: var(--ao-gold) !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li a:hover { color: var(--ao-gold) !important; }
	/* sottomenu chiusi, si aprono con la freccia */
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu.ao-mm li.menu-item-has-children:not(.pll-parent-menu-item) > .sub-menu { display: none !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu.ao-mm li.menu-item-has-children.ao-open:not(.pll-parent-menu-item) > .sub-menu { display: block !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu .sub-menu { position: static !important; width: 100% !important; padding: 0 0 12px 14px !important; margin: 0 !important; border: 0 !important; border-left: 1px solid rgba(203,157,84,.4) !important; background: none !important; box-shadow: none !important; visibility: visible !important; opacity: 1 !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu .sub-menu li a { padding: 10px 0 10px 10px !important; font: 500 15px/1.3 'Manrope', Helvetica, Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none; color: rgba(255,255,255,.75) !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.menu-item-has-children > a { font-weight: 600 !important; background: none !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.menu-item-has-children > a::after { content: none !important; display: none !important; }
	.ao-mm-toggle {
		position: absolute; right: 0; top: 7px; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 50%;
		background: transparent; cursor: pointer; display: grid; place-items: center; transition: border-color .2s, transform .25s, background .2s;
	}
	.ao-mm-toggle::before { content: ""; width: 9px; height: 9px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-2px) rotate(45deg); transition: border-color .2s; }
	li.ao-open > .ao-mm-toggle { transform: rotate(180deg); border-color: var(--ao-gold); background: rgba(203,157,84,.12); }
	li.ao-open > .ao-mm-toggle::before { border-color: var(--ao-gold); }
	/* lingue */
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang { border-bottom: 0; padding: 18px 0 6px !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang > a { display: none !important; }
	.ao-mm-lang-label { display: block; margin-bottom: 10px; font: 700 11px/1 'Manrope', Helvetica, Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ao-gold); }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang > .sub-menu { display: flex !important; flex-wrap: wrap; gap: 8px; padding: 0 !important; border-left: 0 !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang > .sub-menu li { width: auto !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang > .sub-menu li a {
		display: inline-flex !important; align-items: center; gap: 7px; padding: 9px 13px !important;
		border: 1px solid rgba(255,255,255,.14) !important; border-radius: 999px;
		font: 600 13px/1 'Manrope', Helvetica, Arial, sans-serif !important; text-transform: none; color: #fff !important;
	}
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-lang > .sub-menu li.current-lang a { border-color: var(--ao-gold) !important; background: rgba(203,157,84,.14) !important; color: var(--ao-gold) !important; }
	/* contatti in fondo */
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-extra { border: 0; padding-top: 18px !important; display: flex; flex-direction: column; gap: 10px; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-extra a.ao-mm-cta {
		display: flex !important; align-items: center; justify-content: space-between; padding: 15px 20px !important; border-radius: 999px;
		background: var(--ao-gold) !important; color: #111 !important; font: 700 14px/1 'Manrope', Helvetica, Arial, sans-serif !important; letter-spacing: .02em !important; text-transform: none;
	}
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-extra a.ao-mm-cta--line { background: transparent !important; border: 1px solid rgba(255,255,255,.25) !important; color: #fff !important; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-extra a.ao-mm-cta .ao-hico { width: 18px; height: 18px; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu li.ao-mm-extra a.ao-mm-phone { display: inline-flex !important; align-items: center; gap: 10px; padding: 10px 0 0 !important; font: 600 15px/1 'Manrope', Helvetica, Arial, sans-serif !important; text-transform: none; letter-spacing: 0 !important; color: #fff !important; }
	.ao-mm-phone .ao-hico { color: var(--ao-gold); width: 18px; height: 18px; }
	.ao-mm-socials { display: flex; gap: 8px; padding-top: 6px; }
	html body .et-l--header .et_pb_menu.et_pb_menu_0_tb_header ul.et_mobile_menu .ao-mm-socials a.ao-mm-soc { display: grid !important; place-items: center; width: 40px; height: 40px; padding: 0 !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 50%; }
	.ao-mm-soc::before { font-family: 'ETmodules'; font-size: 15px; color: #fff; }
	.ao-mm-soc.et-social-facebook::before { content: "\e093"; }
	.ao-mm-soc.et-social-linkedin::before { content: "\e09d"; }
	.ao-mm-soc.et-social-instagram::before { content: "\e09a"; }
	.ao-mm-soc.et-social-youtube::before { content: "\e0a3"; }
	html.ao-mm-open, html.ao-mm-open body { overflow: hidden; }
}
