/* Feira Galega — anuncios (front y vista previa del diseñador). */
.fg-anuncio { --ad-bg: #0B2F6B; --ad-fg: #fff; --ad-cta-bg: #F7931E; --ad-cta-fg: #0B2F6B; --ad-sub: rgba(255,255,255,.82);
	position: relative; display: grid; gap: 0; background: var(--ad-bg); color: var(--ad-fg); border-radius: 18px; overflow: hidden; isolation: isolate; font-family: var(--fg-font-texto, system-ui, sans-serif); margin: 8px 0; }
.fg-anuncio--tema-azul { --ad-bg: #1F6FC5; --ad-cta-bg: #fff; --ad-cta-fg: #0B2F6B; }
.fg-anuncio--tema-claro { --ad-bg: #F2F7FD; --ad-fg: #0B2F6B; --ad-sub: #374151; --ad-cta-bg: #1F6FC5; --ad-cta-fg: #fff; box-shadow: inset 0 0 0 1px #D4E6FA; }
.fg-anuncio--tema-lima { --ad-bg: #EEF7DC; --ad-fg: #2F4A08; --ad-sub: #374151; --ad-cta-bg: #2F4A08; --ad-cta-fg: #fff; box-shadow: inset 0 0 0 1px #D6EAB0; }
.fg-anuncio--tema-naranja { --ad-bg: #FFF1DE; --ad-fg: #7A3A06; --ad-sub: #4B5563; --ad-cta-bg: #0B2F6B; --ad-cta-fg: #fff; box-shadow: inset 0 0 0 1px #FBD9AE; }
.fg-anuncio--tema-oscuro { --ad-bg: #1E293B; --ad-cta-bg: #A8D54E; --ad-cta-fg: #1E293B; }
.fg-anuncio__etiqueta { position: absolute; top: 10px; left: 14px; z-index: 3; font: 600 .7rem/1 var(--fg-font-titulos, sans-serif); letter-spacing: .08em; text-transform: uppercase; padding: 5px 9px; border-radius: 999px; background: rgba(0,0,0,.28); color: #fff; }
.fg-anuncio--tema-claro .fg-anuncio__etiqueta, .fg-anuncio--tema-lima .fg-anuncio__etiqueta, .fg-anuncio--tema-naranja .fg-anuncio__etiqueta { background: rgba(11,47,107,.08); color: inherit; }
.fg-anuncio__cuerpo { position: static; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 44px 22px 22px; }
.fg-anuncio img.fg-anuncio__logo { height: 40px !important; width: auto !important; max-width: 180px !important; object-fit: contain; margin-bottom: 2px; }
.fg-anuncio .fg-anuncio__media img { max-width: none; height: 100% !important; }
.fg-anuncio__titulo { font: 700 1.2rem/1.25 var(--fg-font-titulos, sans-serif); margin: 0; color: inherit; }
.fg-anuncio__texto { margin: 0; color: var(--ad-sub); font-size: .97rem; line-height: 1.5; }
.fg-anuncio__cta { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--ad-cta-bg); color: var(--ad-cta-fg) !important; font: 600 .95rem var(--fg-font-titulos, sans-serif); text-decoration: none !important; }
.fg-anuncio__cta::after { content: ''; position: absolute; inset: 0; z-index: 4; } /* Toda la tarjeta es pulsable. */
.fg-anuncio:hover .fg-anuncio__cta { filter: brightness(1.06); }
.fg-anuncio .fg-anuncio__cta:focus-visible { outline: 3px solid var(--ad-fg); outline-offset: 3px; }
.fg-anuncio__media { position: relative; min-height: 140px; }
.fg-anuncio__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Ancho: imagen al lado. */
@media (min-width: 640px) {
	.fg-anuncio--ancho.fg-anuncio--img-lado { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
	.fg-anuncio--ancho .fg-anuncio__cuerpo { padding: 46px 32px 28px; justify-content: center; }
	.fg-anuncio--ancho .fg-anuncio__titulo { font-size: 1.45rem; }
}
/* Imagen de fondo con velo. */
.fg-anuncio--img-fondo .fg-anuncio__media { position: absolute; inset: 0; z-index: -1; }
.fg-anuncio--img-fondo .fg-anuncio__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ad-bg) 35%, color-mix(in srgb, var(--ad-bg) 55%, transparent)); }
.fg-anuncio--img-fondo { min-height: 220px; }
/* Estrecho (laterales). */
.fg-anuncio--estrecho .fg-anuncio__media { order: -1; min-height: 150px; }
.fg-anuncio--estrecho.fg-anuncio--img-fondo .fg-anuncio__media::after { background: linear-gradient(0deg, var(--ad-bg) 45%, color-mix(in srgb, var(--ad-bg) 45%, transparent)); }
.fg-anuncio--estrecho .fg-anuncio__etiqueta { top: 10px; }
/* Banner. */
.fg-anuncio--banner { background: transparent; box-shadow: none; }
.fg-anuncio--banner .fg-anuncio__etiqueta { background: rgba(0,0,0,.55); color: #fff; }
.fg-anuncio__banner { display: block; width: 100%; height: auto; border-radius: 18px; }
.fg-anuncio__vacio { display: grid; place-items: center; min-height: 120px; border: 2px dashed #cbd5e1; border-radius: 18px; color: #64748b; background: #f8fafc; }
/* Texto. */
.fg-anuncio--texto { padding: 34px 18px 14px; }
.fg-anuncio__linea { margin: 0; line-height: 1.6; }
.fg-anuncio--texto .fg-anuncio__cta { min-height: 36px; padding: 0 14px; margin: 0 0 0 4px; }
/* Empresa patrocinada (ficha del directorio). */
.fg-anuncio--empresa { --ad-sub: rgba(255,255,255,.85); }
.fg-anuncio__efoto { position: relative; height: 150px; overflow: hidden; }
.fg-anuncio__efoto img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.fg-anuncio--empresa .fg-anuncio__cuerpo { padding-top: 18px; }
.fg-anuncio--empresa:not(:has(.fg-anuncio__efoto)) .fg-anuncio__cuerpo { padding-top: 44px; }
.fg-anuncio__ecab { display: flex; align-items: center; gap: 12px; }
.fg-anuncio .fg-anuncio__elogo { width: 52px !important; height: 52px !important; border-radius: 12px; object-fit: contain; background: #fff; flex: none; border: 2px solid rgba(255,255,255,.6); }
.fg-anuncio__elogo.fg-tarjeta__inicial { display: inline-grid; place-items: center; background: linear-gradient(135deg, #0B2F6B, #3B8FE6); color: #fff; font: 700 1.3rem var(--fg-font-titulos, sans-serif); }
.fg-anuncio__emeta { margin: 2px 0 0; font-size: .88rem; color: var(--ad-sub); }
.fg-anuncio__ever { display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 999px; background: #ecfdf3; color: #067647; font-size: .78rem; font-weight: 600; }
@media (min-width: 640px) {
	.fg-anuncio--ancho.fg-anuncio--empresa:has(.fg-anuncio__efoto) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
	.fg-anuncio--ancho .fg-anuncio__efoto { height: auto; min-height: 200px; }
	.fg-anuncio--ancho.fg-anuncio--empresa .fg-anuncio__cuerpo { padding-top: 46px; }
}
/* Ubicaciones. */
.fg-anuncio-slot--pie { margin-block: 8px 28px; }
.fg-anuncio-slot--listado { margin: 6px 0 14px; }
.fg-anuncio-slot--portada { padding-block: 8px 40px; }
.fg-directorio__lateral .fg-anuncio, .fg-ficha__lateral .fg-anuncio { margin: 0 0 16px; }
@media (prefers-reduced-motion: no-preference) { .fg-anuncio { transition: box-shadow .2s, transform .2s; } .fg-anuncio:hover { box-shadow: 0 12px 30px rgba(11,47,107,.18); transform: translateY(-2px); } }
