/* DOLO+GO - selettore lingue a cascata. Namespace .dg-lang, applicato dal JS
   solo alla voce Polylang. Nessuna regola generica sugli altri menu. */

.dg-lang { position: relative; }

.dg-lang > .dg-lang__trigger {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 9px; border: 1px solid var(--dg-bd, #DDE3E8);
	border-radius: 999px; line-height: 1; text-decoration: none; background: transparent;
	transition: border-color .15s ease, background-color .15s ease;
}
.dg-lang > .dg-lang__trigger:hover { border-color: var(--dg-b, #0645A7); background: rgba(6,69,167,.06); }
.dg-lang > .dg-lang__trigger:focus-visible { outline: 2px solid var(--dg-b, #0645A7); outline-offset: 2px; }
.dg-lang > .dg-lang__trigger img { display: block; width: 16px; height: auto; border-radius: 2px; opacity: .9; }

.dg-lang__code { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dg-lang__code--attiva { font-size: 13px; color: var(--dg-b, #0645A7); }

.dg-lang__freccia {
	width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid currentColor; opacity: .55; transition: transform .18s ease;
}
.dg-lang.is-open .dg-lang__freccia { transform: rotate(180deg); }

/* Sostituisce l'apertura a hover di Blocksy con un'apertura a clic. */
.dg-lang > .dg-lang__panel {
	display: none !important; position: absolute; top: calc(100% + 8px);
	inset-inline-end: 0; z-index: 1200; margin: 0; padding: 6px; list-style: none;
	min-width: 190px; background: #fff; border: 1px solid var(--dg-bd, #DDE3E8);
	border-radius: 12px; box-shadow: 0 10px 28px rgba(6,69,167,.14);
	opacity: 1; visibility: visible; transform: none;
}
.dg-lang.is-open > .dg-lang__panel { display: grid !important; }

.dg-lang--doppia.is-open > .dg-lang__panel {
	grid-auto-flow: column; grid-template-rows: repeat(var(--dg-lang-righe, 10), auto); min-width: 340px;
}

.dg-lang__panel > li { margin: 0; padding: 0; list-style: none; position: relative; }

.dg-lang__panel a.dg-lang__link {
	display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 8px;
	font-size: 13.5px; line-height: 1.2; text-decoration: none; color: var(--dg-tx, #2E3A45);
	white-space: nowrap; transition: background-color .12s ease, color .12s ease;
}
.dg-lang__panel a.dg-lang__link img { width: 16px; height: auto; border-radius: 2px; flex: 0 0 auto; opacity: .9; }
.dg-lang__panel .dg-lang__code { margin-inline-start: auto; padding-inline-start: 12px; color: var(--dg-b, #0645A7); opacity: .65; }
.dg-lang__panel a.dg-lang__link:hover { background: rgba(6,69,167,.08); color: var(--dg-b, #0645A7); }
.dg-lang__panel a.dg-lang__link:focus-visible { outline: 2px solid var(--dg-b, #0645A7); outline-offset: -2px; }
.dg-lang__panel .current-lang > a.dg-lang__link { background: rgba(244,195,0,.18); font-weight: 700; color: var(--dg-b, #0645A7); }
.dg-lang__panel .current-lang > a.dg-lang__link::before {
	content: ""; position: absolute; inset-inline-start: 0; top: 20%; width: 3px; height: 60%;
	border-radius: 0 3px 3px 0; background: var(--dg-y, #F4C300);
}

/* Sotto 700px il pulsante non e' a filo schermo: il pannello si aggancia al viewport. */
@media (max-width: 699px) {
	.dg-lang > .dg-lang__panel,
	.dg-lang--doppia.is-open > .dg-lang__panel {
		position: fixed; top: 68px; inset-inline-end: 10px; inset-inline-start: auto;
		grid-auto-flow: row; grid-template-rows: none;
		min-width: 200px; max-width: calc(100vw - 20px); max-height: 70vh;
		overflow-y: auto; -webkit-overflow-scrolling: touch;
	}
	.dg-lang__panel a.dg-lang__link { min-height: 44px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.dg-lang > .dg-lang__trigger, .dg-lang__freccia, .dg-lang__panel a.dg-lang__link { transition: none; }
}

/* Blocksy aggiunge un pulsante fantasma per aprire il sottomenu: con l'apertura
   a clic gestita dal JS non serve e intercetterebbe fuoco e tap. */
.dg-lang > .ct-toggle-dropdown-desktop-ghost { display: none !important; }

/* Dentro il pannello mobile di Blocksy resta la fisarmonica nativa del tema:
   si aggiungono solo le sigle, senza ancorare il pannello al viewport. */
.dg-lang-mobile .dg-lang__code { margin-inline-start: 8px; font-size: 12px; opacity: .6; }

/* Sotto i 1000px il JS sposta il selettore nella riga mobile della testata,
   accanto all'hamburger: li' non e' piu' dentro una <ul> e va reimpostato. */
.dg-lang--testata-mobile {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0 8px 0 0;
	padding: 0;
}
.dg-lang--testata-mobile > .dg-lang__panel { top: calc(100% + 10px); }
