/* BGL Site — modulo Footer.
   Desktop: marchio | consulti | esplora | prenota, sotto la fascia newsletter.
   Tablet:  marchio + prenota, i due menu, la newsletter.
   Telefono: una colonna, Prenota subito dopo il marchio. */

.bglf {
	--bglf-oro: #c9a45c;
	--bglf-bianco: #ffffff;
	--bglf-tenue: rgba(255, 255, 255, .62);
	--bglf-filo: rgba(255, 255, 255, .16);

	box-sizing: border-box;
	/* Esce dalla larghezza del contenuto del tema: fino a 1600 px, centrato. */
	width: min(1600px, calc(100vw - 2rem));
	max-width: none;
	margin-left: calc(50% - min(800px, 50vw - 1rem));
	margin-right: 0;
	padding: clamp(2rem, 4vw, 3.4rem) clamp(1rem, 3vw, 2.5rem) 1.4rem;
	color: var(--bglf-bianco);
	background: var(--bglf-fondo, #000);
	text-align: left;
	line-height: 1.5;
}

.bglf *, .bglf *::before, .bglf *::after { box-sizing: border-box; }

.bglf p { margin: 0; }

/* ---------- Griglia ---------- */

.bglf-griglia {
	display: grid;
	grid-template-columns: minmax(240px, 1.25fr) minmax(190px, 1fr) minmax(150px, .8fr) minmax(240px, 1.15fr);
	grid-template-areas:
		"marchio col1 col2 prenota"
		"marchio news news news";
	align-items: start;
	gap: 1.6rem clamp(1.5rem, 3vw, 3.2rem);
}

.bglf-marchio { grid-area: marchio; }
.bglf-col1    { grid-area: col1; }
.bglf-col2    { grid-area: col2; }
.bglf-prenota { grid-area: prenota; }
.bglf-news    { grid-area: news; }

/* ---------- Marchio ---------- */

.bglf .bglf-logo { display: inline-block; line-height: 0; border: 0; box-shadow: none; }

.bglf .bglf-logo-img {
	display: block;
	width: 150px;
	height: auto;
	max-width: 100%;
	margin: 0;
}

.bglf-nome {
	margin-top: .9rem !important;
	font-family: var(--global-heading-font-family, inherit);
	font-size: 1.05rem;
	letter-spacing: .06em;
	color: var(--bglf-bianco);
}

.bglf-nome span { display: block; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bglf-tenue); }

.bglf-frase {
	margin-top: .7rem !important;
	max-width: 34ch;
	font-size: .92rem;
	font-style: italic;
	color: var(--bglf-tenue);
}

.bglf-social { margin-top: 1.2rem; }

.bglf .bglf-social-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1.4rem;
}

.bglf-marchio { min-width: 0; }

.bglf .bglf-social-lista li { margin: 0; padding: 0; }

.bglf .bglf-soc {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .25rem 0;
	font-size: .85rem;
	color: var(--bglf-bianco);
	text-decoration: none;
	transition: color .15s;
}

.bglf .bglf-soc:hover,
.bglf .bglf-soc:focus-visible { color: var(--bglf-oro); }

.bglf-ico {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	stroke-linejoin: round;
	stroke-linecap: round;
}

/* ---------- Titoli delle colonne (testo, non titoli di pagina) ---------- */

.bglf-titolo {
	margin-bottom: .8rem !important;
	font-family: var(--global-heading-font-family, inherit);
	font-size: .74rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bglf-oro);
}

/* ---------- Menu ---------- */

.bglf .bglf-link,
.bglf .bglf-link-legali {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bglf .bglf-link li { margin: 0; padding: 0; }

.bglf .bglf-link a {
	display: inline-block;
	padding: .3rem 0;
	font-size: .92rem;
	color: var(--bglf-bianco);
	text-decoration: none;
	transition: color .15s;
}

.bglf .bglf-link a:hover,
.bglf .bglf-link a:focus-visible,
.bglf .bglf-link a[aria-current="page"] { color: var(--bglf-oro); }

.bglf a:focus-visible { outline: 1px dotted var(--bglf-oro); outline-offset: 3px; }

/* ---------- Prenota ---------- */

.bglf-testo { margin-bottom: 1rem !important; font-size: .92rem; color: var(--bglf-tenue); max-width: 36ch; }

.bglf .bglf-bottone {
	display: inline-block;
	padding: .75rem 1.8rem;
	border: 1px solid var(--bglf-bianco);
	border-radius: 2px;
	background: transparent;
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--bglf-bianco);
	text-decoration: none;
	transition: background .2s, color .2s;
}

.bglf .bglf-bottone:hover,
.bglf .bglf-bottone:focus-visible { background: var(--bglf-bianco); color: #0b0a0e; }

.bglf-news {
	padding-top: 1.6rem;
	border-top: 1px solid var(--bglf-filo);
}

/* La newsletter ha spazio: il suo riquadro fino a 760 px. */
.bglf-news > *:not(.bglf-titolo) { max-width: 760px; }

/* ---------- Riga in fondo ---------- */

.bglf-fondo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem 1.6rem;
	margin-top: clamp(1.8rem, 3vw, 2.6rem);
	padding-top: 1.1rem;
	border-top: 1px solid var(--bglf-filo);
	font-size: .8rem;
	color: var(--bglf-tenue);
}

.bglf-contatti { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }

.bglf .bglf-contatti a,
.bglf .bglf-link-legali a {
	color: var(--bglf-tenue);
	text-decoration: none;
	transition: color .15s;
}

.bglf .bglf-contatti a:hover,
.bglf .bglf-link-legali a:hover { color: var(--bglf-bianco); text-decoration: underline; text-underline-offset: 3px; }

.bglf .bglf-link-legali { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.bglf .bglf-link-legali li { margin: 0; padding: 0; }

/* Il link del plugin dei cookie prende lo stesso aspetto degli altri. */
.bglf .bglf-consenso a,
.bglf .bglf-consenso button {
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	font: inherit;
	color: var(--bglf-tenue);
	text-decoration: none;
	cursor: pointer;
}

.bglf .bglf-consenso a:hover,
.bglf .bglf-consenso button:hover { color: var(--bglf-bianco); text-decoration: underline; text-underline-offset: 3px; }

.bglf-sep { margin: 0 .3rem; }

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
	.bglf-griglia {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"marchio prenota"
			"col1    col2"
			"news    news";
		gap: 1.8rem 2rem;
	}
}

/* ---------- Telefono ---------- */

@media (max-width: 640px) {
	.bglf { text-align: center; }

	.bglf-griglia {
		grid-template-columns: 1fr;
		grid-template-areas: "marchio" "prenota" "news" "col1" "col2";
		gap: 2rem;
	}

	.bglf .bglf-logo-img { width: 130px; margin: 0 auto; }
	.bglf-frase, .bglf-testo { margin-left: auto !important; margin-right: auto !important; }
	.bglf-social { display: flex; justify-content: center; }
	.bglf .bglf-social-lista { justify-content: center; gap: .1rem 1.2rem; }
	.bglf .bglf-soc { padding: .6rem 0; }
	.bglf-news > *:not(.bglf-titolo) { margin-left: auto; margin-right: auto; }

	/* Bersagli comodi per il dito */
	.bglf .bglf-link a { display: block; padding: .6rem 0; }
	.bglf .bglf-bottone { display: block; width: 100%; max-width: 320px; margin: 0 auto; padding: .95rem 1rem; }

	.bglf-fondo { flex-direction: column; text-align: center; }
	.bglf-contatti, .bglf .bglf-link-legali { justify-content: center; }
	.bglf .bglf-contatti a, .bglf .bglf-link-legali a { display: inline-block; padding: .35rem 0; }
}

/* ---------- Linguetta «torna su» sul bordo alto del footer ---------- */

.bglf-su {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 5;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 64px;
	height: 26px;
	padding-bottom: 2px;
	transform: translate(-50%, -100%);
	background: #050506;
	border: 1px solid rgba(255, 255, 255, .22);
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 -6px 14px rgba(0, 0, 0, .25);
	transition: height .2s, color .2s, border-color .2s;
}

/* Prima che lo script la sposti, resta nascosta (senza script non serve). */
.bglf-su:not(.is-attaccata) { display: none; }

.bglf-su svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .25s;
}

.bglf-su:hover,
.bglf-su:focus-visible { height: 32px; color: #c9a45c; border-color: rgba(201, 164, 92, .7); }

.bglf-su:hover svg { transform: translateY(-2px); }

.bglf-su:focus-visible { outline: 1px dotted #c9a45c; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	.bglf-su, .bglf-su svg { transition: none; }
}
