/* Imaxina Avisos · Concello de Verín · Imaxinamais EDC
   Cores en hexadecimal literal (LiteSpeed elimina as custom properties).
   azul #005795 · azul escuro #0F4C81 · vermello #A62432 */

#iav-raiz .iav-capa {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 32, 56, .62);
	opacity: 0;
	transition: opacity .22s ease;
	font-family: Poppins, inherit, sans-serif;
	-webkit-font-smoothing: antialiased;
}
#iav-raiz .iav-capa.iav-urx-capa { background: rgba(40, 8, 14, .62); }
#iav-raiz .iav-capa.iav-visible { opacity: 1; }
#iav-raiz .iav-capa * { box-sizing: border-box; }

#iav-raiz .iav-dialogo {
	position: relative;
	width: 600px;
	max-width: 100%;
	max-height: calc(100vh - 48px);
	overflow: auto;
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 24px 60px rgba(0, 20, 40, .35);
	color: #1C2430;
	text-align: left;
	transform: translateY(14px) scale(.98);
	transition: transform .24s ease;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
#iav-raiz .iav-capa.iav-visible .iav-dialogo { transform: none; }
#iav-raiz .iav-dialogo:focus { outline: none; }

/* --- Imaxe ao lado --- */
#iav-raiz .iav-dialogo.iav--lado {
	width: 820px;
	grid-template-columns: 300px minmax(0, 1fr);
	overflow: hidden;
}
#iav-raiz .iav--lado .iav-contido { overflow: auto; max-height: calc(100vh - 48px); }
#iav-raiz .iav-imaxe-lado {
	display: block;
	background: #0F4C81;
	position: relative;
	min-height: 100%;
}
#iav-raiz .iav-imaxe-lado img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center top;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}

/* --- Imaxe arriba --- */
#iav-raiz .iav-imaxe-arriba {
	display: block;
	margin: 0;
	background: #F3F5F8;
}
#iav-raiz .iav-imaxe-arriba img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: 320px;
	max-width: none !important;
	object-fit: cover;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}
#iav-raiz a.iav-imaxe-ligazon { display: block; text-decoration: none !important; border: 0 !important; }
#iav-raiz a.iav-imaxe-ligazon:focus-visible { outline: 3px solid #005795; outline-offset: -3px; }

/* --- Cabeceira --- */
#iav-raiz .iav-cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px 16px 28px;
	background: #005795;
	color: #ffffff;
}
#iav-raiz .iav-cab__etq {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #ffffff;
}
#iav-raiz .iav-cab__etq svg { flex: 0 0 26px; }
#iav-raiz button.iav-pechar {
	flex: 0 0 44px;
	width: 44px !important;
	height: 44px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 22px !important;
	background: rgba(255, 255, 255, .16) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color .15s ease;
}
#iav-raiz button.iav-pechar:hover { background: rgba(255, 255, 255, .3) !important; }
#iav-raiz button.iav-pechar:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }

/* --- Urxente --- */
#iav-raiz .iav--urxente { border-top: 8px solid #A62432; }
#iav-raiz .iav--urxente .iav-cab { background: #ffffff; color: #1C2430; padding: 20px 20px 4px 32px; }
#iav-raiz .iav--urxente .iav-cab__etq { color: #A62432; font-weight: 700; }
#iav-raiz .iav--urxente .iav-cab__icona {
	width: 52px; height: 52px; border-radius: 26px; background: #FBE9EB;
	display: flex; align-items: center; justify-content: center; flex: 0 0 52px;
}
#iav-raiz .iav--urxente button.iav-pechar { background: #F1F3F6 !important; }
#iav-raiz .iav--urxente button.iav-pechar:hover { background: #E2E6EC !important; }
#iav-raiz .iav--urxente button.iav-pechar:focus-visible { outline-color: #A62432; }

/* --- Corpo --- */
#iav-raiz .iav-corpo { padding: 24px 32px 4px; display: flex; flex-direction: column; gap: 12px; }
#iav-raiz .iav-data {
	display: flex; align-items: center; gap: 8px;
	font-size: 13px; line-height: 1.4; font-weight: 500; color: #4A5668;
}
#iav-raiz .iav-data svg { flex: 0 0 16px; }
#iav-raiz h2.iav-titulo {
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 25px !important;
	line-height: 1.28 !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #0F4C81 !important;
	border: 0 !important;
}
#iav-raiz .iav--urxente h2.iav-titulo { color: #1C2430 !important; }
#iav-raiz .iav-texto { font-size: 16px; line-height: 1.6; color: #2E3A4A; }
#iav-raiz .iav-texto p { margin: 0 0 .75em !important; font-size: inherit !important; line-height: inherit !important; color: inherit !important; }
#iav-raiz .iav-texto p:last-child { margin-bottom: 0 !important; }
#iav-raiz .iav-texto a { color: #005795 !important; text-decoration: underline; }
#iav-raiz .iav--urxente .iav-texto a { color: #A62432 !important; }

/* --- Accións --- */
#iav-raiz .iav-accions { padding: 20px 32px 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
#iav-raiz a.iav-btn,
#iav-raiz button.iav-btn {
	min-height: 48px !important;
	padding: 0 24px !important;
	margin: 0 !important;
	border-radius: 8px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#iav-raiz a.iav-btn--prim { background: #005795 !important; color: #ffffff !important; border: 0 !important; }
#iav-raiz a.iav-btn--prim:hover,
#iav-raiz a.iav-btn--prim:focus-visible { background: #00406E !important; color: #ffffff !important; }
#iav-raiz .iav--urxente a.iav-btn--prim { background: #A62432 !important; }
#iav-raiz .iav--urxente a.iav-btn--prim:hover,
#iav-raiz .iav--urxente a.iav-btn--prim:focus-visible { background: #7E1A26 !important; }
#iav-raiz button.iav-btn--sec {
	background: #ffffff !important;
	color: #0F4C81 !important;
	border: 1.5px solid #C5D2E0 !important;
	font-weight: 500 !important;
	padding: 0 20px !important;
}
#iav-raiz button.iav-btn--sec:hover { border-color: #0F4C81 !important; background: #F3F6FA !important; }
#iav-raiz .iav--urxente button.iav-btn--sec { color: #1C2430 !important; border-color: #D6DCE4 !important; }
#iav-raiz a.iav-btn:focus-visible,
#iav-raiz button.iav-btn:focus-visible { outline: 3px solid #0F4C81; outline-offset: 2px; }

/* --- Pé (varios avisos) --- */
#iav-raiz .iav-pe {
	border-top: 1px solid #E4E9F0;
	padding: 10px 20px 10px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	color: #4A5668;
}
#iav-raiz .iav-nav { display: flex; align-items: center; gap: 4px; }
#iav-raiz button.iav-nav__btn {
	width: 44px !important; height: 44px !important; min-height: 0 !important;
	padding: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 22px !important;
	background: transparent !important; box-shadow: none !important;
	display: flex !important; align-items: center; justify-content: center; cursor: pointer;
}
#iav-raiz button.iav-nav__btn:hover { background: #EEF2F7 !important; }
#iav-raiz button.iav-nav__btn[disabled] { opacity: .35; cursor: default; background: transparent !important; }
#iav-raiz button.iav-nav__btn:focus-visible { outline: 3px solid #005795; outline-offset: 0; }
#iav-raiz .iav-contador { font-weight: 500; min-width: 48px; text-align: center; }

/* Bloqueo do scroll da páxina mentres está aberto */
html.iav-aberto, html.iav-aberto body { overflow: hidden !important; }

/* --- Móbil: panel desde abaixo --- */
/* --- Móbil: panel compacto desde abaixo (aprox. media pantalla) --- */
@media (max-width: 640px) {
	#iav-raiz .iav-capa { padding: 0; align-items: flex-end; }
	#iav-raiz .iav-dialogo,
	#iav-raiz .iav-dialogo.iav--lado {
		width: 100%;
		max-height: 56vh;
		border-radius: 18px 18px 0 0;
		grid-template-columns: minmax(0, 1fr);
		overflow: auto;
		transform: translateY(40px);
	}
	/* A imaxe pasa a miniatura á esquerda do texto */
	#iav-raiz .iav-dialogo.iav--lado,
	#iav-raiz .iav-dialogo.iav--arriba { grid-template-columns: 84px minmax(0, 1fr); }
	#iav-raiz .iav-contido { display: contents; }
	#iav-raiz .iav-cab { grid-column: 1 / -1; order: -1; padding: 8px 8px 8px 16px; }
	#iav-raiz .iav--urxente { border-top-width: 5px; }
	#iav-raiz .iav--urxente .iav-cab { padding: 12px 8px 0 16px; }
	#iav-raiz .iav--urxente .iav-cab__icona { width: 38px; height: 38px; flex-basis: 38px; }
	#iav-raiz .iav--urxente .iav-cab__icona svg { width: 22px; height: 22px; }
	#iav-raiz .iav-cab__etq { font-size: 12px; letter-spacing: .1em; gap: 10px; }
	#iav-raiz .iav-cab__etq > svg { width: 22px; height: 22px; flex-basis: 22px; }
	#iav-raiz .iav-imaxe-lado,
	#iav-raiz .iav-imaxe-arriba {
		grid-column: 1;
		align-self: start;
		margin: 14px 0 0 16px;
		min-height: 0;
		background: transparent;
	}
	#iav-raiz .iav-imaxe-lado img,
	#iav-raiz .iav-imaxe-arriba img {
		width: 68px !important;
		height: 68px !important;
		max-height: none;
		object-fit: cover;
		object-position: center top;
		border-radius: 8px !important;
	}
	#iav-raiz .iav-imaxe-lado img { height: 96px !important; }
	#iav-raiz .iav-corpo { padding: 12px 16px 0; gap: 6px; }
	#iav-raiz .iav--lado .iav-corpo,
	#iav-raiz .iav--arriba .iav-corpo { grid-column: 2; padding-left: 12px; }
	#iav-raiz .iav-data { font-size: 12px; }
	#iav-raiz h2.iav-titulo {
		font-size: 17px !important;
		line-height: 1.3 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	#iav-raiz .iav-texto {
		font-size: 14px;
		line-height: 1.5;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	#iav-raiz .iav-texto p { display: inline; }
	#iav-raiz .iav-accions { grid-column: 1 / -1; padding: 14px 16px 12px; flex-direction: row; flex-wrap: nowrap; gap: 8px; }
	#iav-raiz a.iav-btn,
	#iav-raiz button.iav-btn { min-height: 44px !important; font-size: 14px !important; white-space: nowrap; }
	#iav-raiz a.iav-btn--prim { flex: 1 1 auto; padding: 0 16px !important; }
	#iav-raiz button.iav-btn--sec { flex: 0 1 auto; padding: 0 14px !important; font-size: 13px !important; }
	#iav-raiz .iav-pe { grid-column: 1 / -1; padding: 0 8px 12px 16px; border-top: 0; }
}

/* --- Posición na pantalla (escritorio) --- */
#iav-raiz .iav-capa.iav-pos-arriba { align-items: flex-start; }
#iav-raiz .iav-capa.iav-pos-abaixo { align-items: flex-end; }
#iav-raiz .iav-pos-arriba .iav-dialogo { transform: translateY(-14px) scale(.98); }
#iav-raiz .iav-capa.iav-visible.iav-pos-arriba .iav-dialogo,
#iav-raiz .iav-capa.iav-visible.iav-pos-abaixo .iav-dialogo { transform: none; }

/* --- Posición na pantalla (móbil) --- */
@media (max-width: 640px) {
	/* Centro: tarxeta flotante con marxe */
	#iav-raiz .iav-capa.iav-pos-centro { align-items: center; padding: 12px; }
	#iav-raiz .iav-pos-centro .iav-dialogo { border-radius: 16px; max-height: 70vh; transform: scale(.96); }
	#iav-raiz .iav-pos-centro.iav-visible .iav-dialogo { transform: none; }
	/* Arriba: panel pegado arriba */
	#iav-raiz .iav-capa.iav-pos-arriba { align-items: flex-start; padding: 0; }
	#iav-raiz .iav-pos-arriba .iav-dialogo { border-radius: 0 0 18px 18px; transform: translateY(-40px); }
	#iav-raiz .iav-pos-arriba.iav-visible .iav-dialogo { transform: none; }
	/* Abaixo: panel pegado abaixo */
	#iav-raiz .iav-capa.iav-pos-abaixo { align-items: flex-end; padding: 0; }
	#iav-raiz .iav-pos-abaixo .iav-dialogo { border-radius: 18px 18px 0 0; }
	#iav-raiz .iav-pos-abaixo.iav-visible .iav-dialogo { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	#iav-raiz .iav-capa, #iav-raiz .iav-dialogo { transition: none; }
}

/* ===== Shortcode [imaxina_avisos_lista] ===== */
.iav-lista { display: grid; gap: 20px; font-family: inherit; }
.iav-lista__baleira { color: #4A5668; margin: 0; }
.iav-lista__item {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 0;
	background: #ffffff;
	border: 1px solid #DFE6EE;
	border-left: 5px solid #005795;
	border-radius: 8px;
	overflow: hidden;
}
.iav-lista__item--urxente { border-left-color: #A62432; }
.iav-lista__item.iav-lista__item--sen { grid-template-columns: minmax(0, 1fr); }
.iav-lista img.iav-lista__img { display: block; width: 100% !important; height: 100% !important; max-height: none; object-fit: cover; object-position: center top; margin: 0 !important; border-radius: 0 !important; }
.iav-lista__corpo { padding: 20px 24px; display: flex; flex-direction: column; gap: 8px; }
.iav-lista__etq { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #005795; }
.iav-lista__item--urxente .iav-lista__etq { color: #A62432; }
.iav-lista__data { font-size: 13px; font-weight: 500; color: #4A5668; }
.iav-lista h3.iav-lista__tit { margin: 0 !important; font-size: 20px !important; line-height: 1.3 !important; font-weight: 700 !important; color: #0F4C81 !important; text-transform: none !important; letter-spacing: normal !important; }
.iav-lista__txt { font-size: 15px; line-height: 1.6; color: #2E3A4A; }
.iav-lista__txt p { margin: 0 0 .6em; }
.iav-lista__txt p:last-child { margin: 0; }
.iav-lista a.iav-lista__btn {
	align-self: flex-start; margin-top: 6px; min-height: 44px; padding: 0 20px;
	display: inline-flex; align-items: center; border-radius: 8px;
	background: #005795; color: #ffffff !important; font-weight: 600; font-size: 14px; text-decoration: none !important;
}
.iav-lista a.iav-lista__btn:hover { background: #00406E; }
.iav-lista__item--urxente a.iav-lista__btn { background: #A62432; }
.iav-lista__item--urxente a.iav-lista__btn:hover { background: #7E1A26; }
@media (max-width: 640px) {
	.iav-lista__item { grid-template-columns: minmax(0, 1fr); }
	.iav-lista img.iav-lista__img { height: auto !important; max-height: 220px; }
	.iav-lista__corpo { padding: 16px 18px; }
}
