/*
 * Piezas comunes a la portada y a las páginas interiores (Alan/Alex, 2026-10-05): variables de marca, el enlace
 * «Configurar cookies» del pie y el selector de idioma de arriba. Salen de mg-movimiento.css para que la portada
 * cinemática no cargue lo demás (transiciones entre páginas, entradas al hacer scroll…): con ello el scroll del
 * recorrido se notaba menos fluido. Lo carga mu-plugins/mg-movimiento.php en todas las páginas.
 */
:root {
	--mg-curva: cubic-bezier(.2, .7, .2, 1);
	--mg-noir: #14110E;
	--mg-noir-alt: #1B1710;
	--mg-oro: #D4AF37;
	--mg-oro-suave: #9A8A60;
	--mg-crema: #F4EFE4;
	--mg-champan: #EFE7D6;
}

/* «Configurar cookies» era un botón dorado macizo (le llegan los estilos de botón del tema y de botones.css, que
   llevan !important): pasa a enlace, con el mismo color y cuerpo que sus vecinos de la línea legal, en el pie de
   las páginas interiores y en el de la portada. */
html body:not(#mg-boto) .mg-peu-legal button.mg-cookies-enllac {
	display: inline !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--mg-oro-suave) !important;
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	cursor: pointer;
}
html body.mgc-pagina:not(#mg-boto) .mg-peu-legal button.mg-cookies-enllac { color: #F1DB95 !important; font-size: 13px !important; }
html body:not(#mg-boto) .mg-peu-legal button.mg-cookies-enllac:hover { color: var(--mg-oro) !important; }
html body:not(#mg-boto) .mg-peu-legal button.mg-cookies-enllac:focus-visible { outline: 2px solid #E8D9A8 !important; outline-offset: 3px; }

/* 9. Selector de idioma arriba (mg-idiomas.js). Escritorio: en la franja dorada. Móvil: botón en la barra. */
body .mg-contact-strip .mg-idiomas { display: flex; align-items: center; gap: 4px; }
body .mg-contact-strip .mg-idiomas .mg-idiomas__sep { opacity: .55; }
.mg-idiomas__bandera { display: inline-block; flex: none; width: 18px; height: 13px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(20, 17, 14, .18); }
html body .mg-contact-strip .mg-idiomas button { display: inline-flex !important; align-items: center; gap: 5px; }
html body .mg-contact-strip .mg-idiomas button {
	min-height: 0 !important; margin: 0 !important; padding: 2px 4px !important;
	border: 0 !important; border-radius: 4px !important; background: none !important; box-shadow: none !important;
	color: #14110e !important; font: 500 12px/1 Poppins, Arial, sans-serif !important; letter-spacing: .08em !important;
	text-transform: none !important; cursor: pointer;
}
html body .mg-contact-strip .mg-idiomas button[aria-current="true"] { font-weight: 700 !important; text-decoration: underline; text-underline-offset: 3px; }
html body .mg-contact-strip .mg-idiomas button:hover { text-decoration: underline; text-underline-offset: 3px; }
.mg-idiomas-movil { display: none; }
@media (max-width: 767px) {
	html body .mgc-barra { grid-template-columns: 44px 44px minmax(44px, 1fr) 44px auto; }
	html body .mgc-barra .mgc-boto--barra { grid-column: 5; }
	.mg-idiomas-movil { display: block; position: relative; grid-column: 4; grid-row: 1; }
	html body .mgc-barra .mg-idiomas-movil__boton {
		display: flex !important; align-items: center; justify-content: center;
		width: 44px; height: 44px; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
		border: 1px solid #997C21 !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important;
		color: #F1DB95 !important; font: 600 11px/1 Poppins, Arial, sans-serif !important; letter-spacing: .04em !important; cursor: pointer;
		flex-direction: column; gap: 3px;
	}
	html body .mgc-barra .mg-idiomas-movil__boton .mg-idiomas__bandera { width: 18px; height: 13px; }
	.mg-idiomas-movil__lista {
		position: absolute; top: calc(100% + 8px); right: 0; z-index: 1000;
		display: grid; min-width: 172px; padding: 6px;
		border: 1px solid rgba(212, 175, 55, .45); border-radius: 12px; background: var(--mg-noir);
		box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
	}
	.mg-idiomas-movil__lista[hidden] { display: none; }
	html body .mgc-barra .mg-idiomas-movil__lista button {
		display: flex !important; align-items: center; gap: 10px; width: 100%; min-height: 44px !important; margin: 0 !important; padding: 10px 12px !important;
		border: 0 !important; border-radius: 8px !important; background: none !important; box-shadow: none !important; text-align: left;
		color: var(--mg-crema) !important; font: 400 14px/1.2 Poppins, Arial, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important;
	}
	html body .mgc-barra .mg-idiomas-movil__lista button strong { display: inline-block; width: 1.8em; color: var(--mg-oro); font-weight: 600; }
	html body .mgc-barra .mg-idiomas-movil__lista button[aria-current="true"] { background: rgba(212, 175, 55, .12) !important; }
}
.mg-idiomas button:focus-visible, .mg-idiomas-movil button:focus-visible { outline: 2px solid #E8D9A8 !important; outline-offset: 2px; }

/* Banderas del pie (mg-idiomas.js, 2026-10-06), sobre el pie oscuro. Las de GTranslate no se ven: las nuestras llevan a
   la página catalana propia y piden permiso para el inglés; las suyas se pulsan por debajo para traducir al inglés. */
html body .gtranslate_wrapper a[data-gt-lang] { display: none !important; }
html body .mg-idiomas--pie { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
html body .mg-idiomas--pie .mg-idiomas__sep { color: #9A8A60; }
html body .mg-idiomas--pie button {
	display: inline-flex !important; align-items: center; gap: 6px;
	min-height: 32px !important; margin: 0 !important; padding: 4px 6px !important;
	border: 0 !important; border-radius: 4px !important; background: none !important; box-shadow: none !important;
	color: #F1DB95 !important; font: 500 13px/1 Poppins, Arial, sans-serif !important; letter-spacing: .08em !important;
	text-transform: none !important; cursor: pointer;
}
html body .mg-idiomas--pie .mg-idiomas__bandera { width: 24px; height: 17px; box-shadow: 0 0 0 1px rgba(241, 219, 149, .25); }
html body .mg-idiomas--pie button:hover,
html body .mg-idiomas--pie button[aria-current="true"] { text-decoration: underline; text-underline-offset: 3px; }
html body .mg-idiomas--pie button:focus-visible { outline: 2px solid #E8D9A8 !important; outline-offset: 2px; }

/* Aviso del traductor (mg-idiomas.js, 2026-10-06): permiso sólo para Google Translate, sin activar los mapas. */
.mg-traduce { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 17, 14, .55); }
.mg-traduce[hidden] { display: none; }
.mg-traduce__caja { width: 100%; max-width: 420px; padding: 22px 22px 18px; border: 1px solid rgba(212, 175, 55, .55); border-radius: 14px; background: #14110E; color: #F4EFE4; box-shadow: 0 18px 50px rgba(0, 0, 0, .45); font-family: Poppins, Arial, sans-serif; }
.mg-traduce__titol { margin: 0 0 8px; color: #D4AF37; font-size: 17px; font-weight: 600; line-height: 1.3; }
.mg-traduce__text { margin: 0 0 18px; font-size: 14px; line-height: 1.55; }
.mg-traduce__text a { color: #F1DB95; text-decoration: underline; text-underline-offset: 3px; }
.mg-traduce__botons { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
html body .mg-traduce__botons button {
	min-height: 44px !important; margin: 0 !important; padding: 10px 16px !important; border-radius: 10px !important;
	font: 600 13px/1.2 Poppins, Arial, sans-serif !important; letter-spacing: .04em !important; text-transform: none !important; cursor: pointer; box-shadow: none !important;
}
html body .mg-traduce__no { border: 1px solid #997C21 !important; background: transparent !important; color: #F4EFE4 !important; }
html body .mg-traduce__si { border: 1px solid #D4AF37 !important; background: #D4AF37 !important; color: #14110E !important; }
html body .mg-traduce__botons button:focus-visible { outline: 2px solid #F1DB95 !important; outline-offset: 2px; }
