/*
 * anacos.es: o que se engade ao deseño de sempre, sen cambialo.
 * - Aparición suave dos bloques ao baixar (sitio.js pon .revela e .revelar; sen JavaScript non se oculta nada).
 * - Foco visible para quen navega co teclado.
 * - Menos movemento se a persoa o pide.
 * - Melloras do 24/10/2026: cabeceira compacta, bloque de seguridade, familias de servizos, urxencia, FAQ, botón de chamar e 404.
 */
.revela .revelar { opacity: 0; translate: 0 12px; transition: opacity .5s cubic-bezier(.2, .7, .2, 1), translate .5s cubic-bezier(.2, .7, .2, 1); }
.revela .revelar.visto { opacity: 1; translate: 0 0; }

/* Foco do teclado: anel dourado, igual en toda a web */
:where(a, button, input, textarea, select, summary, .menuh):focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; border-radius: 4px; }


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .revela .revelar { opacity: 1; translate: none; transition: none; }
}

/* Contacto: campo trampa fóra da vista e mensaxe de resposta */
.trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.contacto-resposta:empty { display: none; }
.contacto-resposta { margin: 0 0 1rem; padding: .8rem 1rem; border-left: 3px solid currentColor; font-weight: 600; }

/* Soporte remoto: pasos numerados grandes e botóns de descarga; o do sistema detectado, marcado */
.soporte-pasos { padding-left: 1.4em; }
.soporte-pasos li { margin: 0 0 .8em; padding-left: .3em; }
.soporte-pasos li::marker { font-family: "DM Serif Display", serif; font-size: 1.3em; color: var(--wp--preset--color--accent-1, currentColor); }
.soporte-botons { flex-wrap: wrap; gap: .75rem; margin: 1rem 0 .5rem; }
/* Os botóns, iguais cós da portada (WordPress só incluía o seu estilo nas páxinas que xa os tiñan) */
.soporte-botons { display: flex; }
.soporte-botons .wp-block-button__link { display: inline-block; min-width: 9rem; padding: 10px 28px; border-radius: 9999px;
  background: transparent; box-shadow: inset 0 0 0 1px rgb(248 247 245 / .55); color: rgb(248, 247, 245);
  font: 300 1rem/1.5 Inter, sans-serif; letter-spacing: -.1px; text-align: center; text-decoration: none;
  transition: background .2s ease, color .2s ease; }
.soporte-botons .wp-block-button__link:hover { background: rgb(248 247 245 / .12); }
.soporte-botons .recomendado .wp-block-button__link { background: rgb(235, 195, 153); box-shadow: none; color: rgb(25, 25, 25); font-weight: 500; }
.soporte-detectado { font-size: .9em; opacity: .85; }

/* ------------------------------------------------------------------------------------------------------------------
 * Melloras do 24/10/2026 (anacos-web-propuestas.md): mesma base, detalles con dourado da marca (#ebc399)
 * ---------------------------------------------------------------------------------------------------------------- */
/* Tokens da marca (25/10/2026): usar sempre estes no canto dos valores a man */
:root { --ouro: rgb(235, 195, 153); --tinta: rgb(25, 25, 25); --xiz: rgb(248, 247, 245); --pilula: 9999px; }

/* Cabeceira fixa: máis baixa e translúcida ao baixar */
.sticky-header { transition: background-color .3s ease, margin-bottom .3s ease; }
/* Compactada, a cabeceira deixa debaixo o espazo que perde (sitio.js mide --compensa): o contido non se move */
.sticky-header.compacta { margin-bottom: var(--compensa, 0px) !important; }
.sticky-header.sen-transicion, .sticky-header.sen-transicion * { transition: none !important; }
.sticky-header .alignwide.is-content-justification-space-between { transition: padding .3s ease; }
.sticky-header.compacta { background-color: rgb(25 25 25 / .86) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.sticky-header.compacta .alignwide.is-content-justification-space-between { padding-top: 8px !important; padding-bottom: 8px !important; }

/* Portada: subtítulo */
.subtitulo-portada { font-size: clamp(1rem, .95rem + .3vw, 1.2rem); opacity: .92; }

/* Títulos de sección: unha liña dourada fina debaixo */
main h2.wp-block-heading:not(.has-xx-large-font-size):not(.has-accent-1-color):not(.has-accent-2-color)::after,
main h2.has-xx-large-font-size:not(.has-accent-1-color)::after {
  content: ""; display: block; width: 3rem; height: 2px; margin-top: .45em; background: var(--ouro); border-radius: 2px; }
main h2.has-text-align-center::after { margin-inline: auto; }

/* Cifras: nota pequena baixo «años de experiencia» */
.cifra-nota { font-size: .72em; font-weight: 300; letter-spacing: .04em; text-transform: none; opacity: .75; }

/* Bloque de seguridade da portada («¿Cómo está la seguridad de su empresa?») */
.revision-seguridade { padding-block: clamp(2.5rem, 6vw, 4.5rem); background: linear-gradient(135deg, rgb(34 34 42), rgb(25 25 25));
  border-block: 1px solid rgb(235 195 153 / .25); }
.revision-dentro { max-width: 46rem; margin-inline: auto; text-align: center; }
.revision-etiqueta { display: inline-block; margin: 0 0 .6rem; padding: .2rem .8rem; border: 1px solid var(--ouro); border-radius: var(--pilula);
  color: var(--ouro); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.revision-seguridade h2::after { margin-inline: auto; }
.revision-seguridade .wp-block-buttons { justify-content: center; margin-top: 1.4rem; }
.revision-seguridade .wp-block-button__link { display: inline-block; padding: 10px 32px; border-radius: var(--pilula); background: var(--ouro);
  color: var(--tinta); font: 500 1rem/1.5 Inter, sans-serif; text-decoration: none; transition: filter .2s ease, translate .2s ease; }
.revision-seguridade .wp-block-button__link:hover { filter: brightness(1.08); translate: 0 -1px; }

/* Servizos: tres familias, iconas finas en dourado e tarxetas que se elevan un pouco */
.familia-servizos { margin-top: clamp(2rem, 5vw, 3.5rem) !important; color: var(--ouro); font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); }
.tarxeta-servizo { padding: 1.4rem 1rem; border-radius: 14px; border: 1px solid transparent;
  transition: translate .25s ease, border-color .25s ease, background-color .25s ease; }
.tarxeta-servizo:hover { translate: 0 -4px; border-color: rgb(235 195 153 / .35); background-color: rgb(255 255 255 / .03); }
.icona-servizo { display: block; margin: 0 auto .6rem; color: var(--ouro); }
.tarxeta-servizo h4 a { color: inherit; text-decoration: none; background: linear-gradient(var(--ouro), var(--ouro)) 0 100% / 0 1px no-repeat;
  transition: background-size .25s ease; }
.tarxeta-servizo h4 a:hover { background-size: 100% 1px; }

/* Urxencia: franxa discreta co dourado */
.franxa-urxencia { margin: 2rem auto; max-width: 52rem; padding: .9rem 1.2rem; border-left: 3px solid var(--ouro);
  background: rgb(235 195 153 / .08); border-radius: 0 10px 10px 0; }
.franxa-urxencia p { margin: 0; }
.franxa-urxencia a { color: var(--ouro); font-weight: 600; white-space: nowrap; }

/* Preguntas frecuentes */
.faq { border-bottom: 1px solid rgb(248 247 245 / .15); padding: .8rem 0; }
.faq summary { cursor: pointer; font-weight: 500; list-style: none; position: relative; padding-right: 2rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: .3rem; top: -.1rem; color: var(--ouro); font-size: 1.4rem; line-height: 1;
  transition: rotate .2s ease; }
.faq[open] summary::after { rotate: 45deg; }
.faq p { margin: .6rem 0 0; opacity: .9; }

/* Contacto: o selector de motivo coma os outros campos */
.wpcf7-select { width: 100%; max-width: 100%; padding: .55rem .6rem; border-radius: 4px; font: inherit; }

/* Botón de chamar fixo, só no móbil */
.boton-chamar { display: none; }
@media (max-width: 781px) {
  .boton-chamar { position: fixed; right: 16px; bottom: 16px; z-index: 900; display: grid; place-items: center; width: 54px; height: 54px;
    border-radius: 50%; background: var(--ouro); color: var(--tinta); box-shadow: 0 6px 20px rgb(0 0 0 / .45); }
  .overflow-hidden .boton-chamar { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sticky-header, .sticky-header *, .tarxeta-servizo, .revision-seguridade .wp-block-button__link { transition: none !important; }
  .tarxeta-servizo:hover { translate: none; }
}

/* 404 «Paquete perdido»: código grande en contorno dourado e un terminal de diagnóstico */
.erro404 { text-align: center; }
.erro404-codigo { margin: 0; font: 400 clamp(5rem, 4rem + 8vw, 10rem)/1 "DM Serif Display", serif; color: transparent;
  -webkit-text-stroke: 1.5px var(--ouro); letter-spacing: .04em; }
.erro404 h2::after { margin-inline: auto; }
.terminal-404 { max-width: 40rem; margin: 2rem auto; text-align: left; border-radius: 12px; overflow: hidden;
  background: rgb(14 14 18); border: 1px solid rgb(235 195 153 / .25); box-shadow: 0 18px 50px rgb(0 0 0 / .45); }
.terminal-barra { display: flex; align-items: center; gap: 6px; padding: .55rem .8rem; background: rgb(255 255 255 / .05); }
.terminal-barra span { width: 10px; height: 10px; border-radius: 50%; background: rgb(255 255 255 / .18); }
.terminal-barra span:first-child { background: rgb(235 195 153 / .8); }
.terminal-barra em { margin-left: .5rem; font: normal .75rem/1 Inter, sans-serif; opacity: .55; }
.terminal-404 pre { margin: 0; padding: 1rem 1.1rem 1.2rem; overflow-x: auto; background: none; border: 0; color: rgb(232 232 232);
  font: .82rem/1.65 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; white-space: pre-wrap; }
.terminal-404 .t-lina { transition: opacity .25s ease; }
.terminal-404 .t-agarda { opacity: 0; }
.terminal-404 b { color: var(--ouro); font-weight: 400; }
.terminal-404 i { font-style: normal; color: rgb(255 255 255); text-decoration: underline wavy rgb(255 138 122 / .7); text-underline-offset: 3px; }
.terminal-404 u { text-decoration: none; }
.terminal-404 .t-gris { opacity: .6; }
.terminal-404 .t-ok { color: rgb(143 209 158); }
.terminal-404 .t-mal { color: rgb(255 138 122); }
.terminal-404 .t-ouro { color: var(--ouro); }
.t-cursor { display: inline-block; width: .55em; height: 1.05em; margin-left: .2em; vertical-align: text-bottom; background: var(--ouro);
  animation: t-pestanexa 1s steps(1) infinite; }
@keyframes t-pestanexa { 50% { opacity: 0; } }
.erro404-botons { justify-content: center; gap: .75rem; flex-wrap: wrap; }
.erro404-botons .wp-block-button__link { display: inline-block; padding: 10px 28px; border-radius: var(--pilula); background: transparent;
  box-shadow: inset 0 0 0 1px rgb(248 247 245 / .55); color: var(--xiz); font: 300 1rem/1.5 Inter, sans-serif;
  text-decoration: none; transition: background .2s ease; }
.erro404-botons .wp-block-button:first-child .wp-block-button__link { background: var(--ouro); box-shadow: none; color: var(--tinta); font-weight: 500; }
.erro404-botons .wp-block-button__link:hover { background: rgb(248 247 245 / .12); }
@media (prefers-reduced-motion: reduce) { .t-cursor { animation: none; } }

/* Movemento das imaxes (sitio.js pon as clases; sen JavaScript nin con menos movemento, todo en cor e quieto) */
.bn { filter: grayscale(1) contrast(1.05); transition: filter .8s ease; }
.bn.cor { filter: none; }
.foto-parallax { transform: scale(1.1); will-change: transform; }
/* Logos: en branco e negro e apagados fóra da pantalla; collen cor ao entrar, cada vez (os de partners, un tras
   outro con --atraso) */
.logo-partner { filter: grayscale(1) brightness(.85); opacity: .55;
  transition: filter .9s ease var(--atraso, 0ms), opacity .9s ease var(--atraso, 0ms); }
.logo-partner.cor { filter: none; opacity: 1; }
@media (hover: hover) { .grella-partners li:hover .logo-partner { filter: none; opacity: 1; transition-delay: 0ms; } }
/* Tarxetas de Servizos en escaleira: o atraso só na aparición, non no efecto ao pasar o rato */
.tarxeta-servizo { transition: opacity .6s ease var(--atraso, 0ms), translate .25s ease, border-color .25s ease, background-color .25s ease; }
.revela .revelar:not(.visto) .tarxeta-servizo { opacity: 0; }
.sen-movemento .bn { filter: none; }
.sen-movemento .foto-parallax { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .bn { filter: none; }
  .foto-parallax { transform: none !important; }
}

/* Partners: grade adaptable (2 columnas no móbil, 4 no ordenador: oito logos, dúas filas iguais), logos centrados nunha caixa igual para todos */
.grella-partners { list-style: none; max-width: 64rem; margin: clamp(1.5rem, 4vw, 3rem) auto; padding: 0; display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 2.5vw, 1.5rem); }
.grella-partners li { display: grid; place-items: center; aspect-ratio: 3 / 2; padding: clamp(.8rem, 2.5vw, 1.4rem); border-radius: 14px;
  border: 1px solid rgb(255 255 255 / .08); background: rgb(255 255 255 / .025); transition: border-color .25s ease, background-color .25s ease; }
@media (min-width: 782px) { .grella-partners { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.grella-partners li:hover { border-color: rgb(235 195 153 / .35); background: rgb(255 255 255 / .05); }
/* Cada logo co seu ancho óptico (--w, de anacos_contido); no móbil, todos un pouco máis pequenos por igual */
.grella-partners img { width: calc(var(--w, 110px) * var(--k, 1)); height: auto; max-width: 100%; }
@media (max-width: 600px) { .grella-partners { --k: .74; } }

/* Pé: axudas recibidas, centradas; os logos, coma os de partners (.logo-partner: cor mentres se ven) */
.pe-axudas { display: grid; justify-items: center; gap: .6rem; margin: 1.5rem auto 1rem; text-align: center; }
.pe-axudas-logos { display: flex; align-items: center; justify-content: center; gap: 1.25rem; flex-wrap: wrap; }
/* Recortados ao seu contido (anacos-logos-axudas.py). MOVES é unha marca compacta: un 15 % máis alta, a súa letra
   queda á altura da do logo da UE e os dous vense do mesmo tamaño */
.pe-axudas-logos { gap: 2rem; }
.pe-axudas-logos img { height: 40px; width: auto; }
.pe-axudas-logos img[src*="moves"] { height: 46px; }
.pe-axudas p { margin: 0; opacity: .85; }

/* Páxina de subvencións: cada axuda nunha tarxeta centrada */
.axuda { max-width: 40rem; margin: 2rem auto; padding: clamp(1.2rem, 4vw, 2rem); text-align: center; border-radius: 16px;
  border: 1px solid rgb(235 195 153 / .25); background: rgb(255 255 255 / .03); }
.axuda-logos { display: flex; align-items: center; justify-content: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.axuda-logos img { height: 56px; width: auto; }
.axuda-logos img[src*="moves"] { height: 64px; }

/* Logo en vector (24/10/2026). As tres pezas de cor (vermella, azul, amarela) encaixan no seu oco ao entrar na web,
   unha tras outra (sitio.js pon .logo-encaixa unha vez por visita). Ao pasar o rato, as pezas saen un chisco e
   volven. Coa cabeceira compacta, o logo enteiro (co subtítulo, decisión do responsable) faise máis pequeno. */
.logo-anacos { display: block; width: 140px; height: 67.4px; overflow: visible; transition: width .3s ease, height .3s ease; }
.logo-anacos .peza, .logo-anacos .logo-subtitulo { transform-box: fill-box; transition: transform .35s cubic-bezier(.16, 1, .3, 1), opacity .3s ease; }
.peza-vermella { --dx: -90px; --dy: 0px; --hx: -6px; --hy: 0px; }
.peza-azul { --dx: 0px; --dy: -90px; --hx: 0px; --hy: -6px; }
.peza-amarela { --dx: 0px; --dy: 90px; --hx: 0px; --hy: 6px; }
.logo-encaixa .logo-anacos .peza { animation: peza-encaixa .9s cubic-bezier(.16, 1, .3, 1) both; }
.logo-encaixa .logo-anacos .peza-vermella { animation-delay: .25s; }
.logo-encaixa .logo-anacos .peza-azul { animation-delay: .42s; }
.logo-encaixa .logo-anacos .peza-amarela { animation-delay: .59s; }
@keyframes peza-encaixa { from { transform: translate(var(--dx), var(--dy)); opacity: 0; } to { transform: none; opacity: 1; } }
@media (hover: hover) { .custom-logo-link:hover .peza { transform: translate(var(--hx), var(--hy)); } }
.sticky-header.compacta .logo-anacos { width: 96px; height: 46.2px; }
@media (prefers-reduced-motion: reduce) {
  .logo-anacos, .logo-anacos .peza, .logo-anacos .logo-subtitulo { transition: none; animation: none !important; }
  .custom-logo-link:hover .peza { transform: none; }
}

/* Fotos do contido: ao aparecer, ademais de coller cor, asentan cun zoom suave dende 1,06 (dentro da súa caixa, que
   recorta); no ordenador, ao pasar o rato, achéganse un pouco. As portadas teñen o seu parallax e non entran aquí. */
.foto-caixa { overflow: hidden; }
.foto-asenta { transform: scale(1.06); transition: filter 1.2s ease, transform 1.4s cubic-bezier(.16, 1, .3, 1); }
.foto-asenta.cor { transform: none; }
@media (hover: hover) {
  .foto-caixa:hover .foto-asenta.cor { transform: scale(1.03); filter: brightness(1.06); transition-duration: .6s; }
}
.sen-movemento .foto-asenta { transform: none !important; }
@media (prefers-reduced-motion: reduce) { .foto-asenta { transform: none !important; } }

/* ------------------------------------------------------------------------------------------------------------------
 * Bloque 1 e 2 (25/10/2026): detalle tipográfico, ligazóns, botóns, formulario e fotos. Mesmas letras e cores;
 * o dourado, único acento. Movemento curto (150–400 ms) e só transform, opacidade e cor.
 * ---------------------------------------------------------------------------------------------------------------- */

/* Tipografía: títulos sen palabras soltas na última liña, parágrafos sen viúvas, maiúsculas cun chisco de aire */
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(main p, main li, footer p) { text-wrap: pretty; }
:where(main h4.wp-block-heading) { letter-spacing: .04em; }
.tarxeta-servizo h4, .wp-block-heading.has-large-font-size { letter-spacing: .05em; }

/* Ligazóns de texto: subliñado fino que se volve dourado e se debuxa de esquerda a dereita ao pasar o rato */
:where(main p, main li, footer p, .franxa-urxencia p) a:not([class]) {
  text-decoration: none; padding-bottom: .06em;
  background: linear-gradient(var(--ouro), var(--ouro)) 0 100% / 0 1px no-repeat,
              linear-gradient(color-mix(in srgb, currentColor 45%, transparent), color-mix(in srgb, currentColor 45%, transparent)) 0 100% / 100% 1px no-repeat;
  transition: background-size .3s cubic-bezier(.16, 1, .3, 1), color .2s ease; }
:where(main p, main li, footer p, .franxa-urxencia p) a:not([class]):hover { background-size: 100% 1px, 100% 1px; color: var(--ouro); }

/* Botóns: unha frecha que avanza 3 px ao pasar o rato e un leve afundimento ao premer (os de descarga, sen frecha) */
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, scale .15s ease, filter .2s ease; }
.wp-block-button__link:active { scale: .98; }
.wp-block-button:not(.soporte-botons *) > .wp-block-button__link::after { content: "→"; display: inline-block; margin-left: .55em;
  transition: translate .2s cubic-bezier(.16, 1, .3, 1); }
.wp-block-button:not(.soporte-botons *) > .wp-block-button__link:hover::after { translate: 3px 0; }

/* Formulario: campo activo con marco dourado; mensaxes de enviado e de erro con deseño propio */
.wpcf7-form-control:not(.wpcf7-submit) { transition: border-color .2s ease, box-shadow .2s ease; }
.wpcf7-form-control:not(.wpcf7-submit):focus { outline: none; border-color: var(--ouro);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ouro) 35%, transparent); }
.contacto-resposta { border-radius: 0 8px 8px 0; }
.contacto-resposta.ok { border-left-color: var(--ouro); background: color-mix(in srgb, var(--ouro) 14%, transparent); }
.contacto-resposta.erro { border-left-color: rgb(214, 69, 65); background: color-mix(in srgb, rgb(214, 69, 65) 10%, transparent); }

/* Fotos do contido: mesmas esquinas e o mesmo borde fino en todas (os logos de axudas, como están) */
main .wp-block-image:not(:has(img[alt*="MOVES"], img[alt*="Unión Europea"])) { border-radius: 14px; overflow: hidden; }
main .wp-block-image:not(:has(img[alt*="MOVES"], img[alt*="Unión Europea"])) img { border-radius: 14px; }
main .wp-block-image:not(:has(img[alt*="MOVES"], img[alt*="Unión Europea"])) { box-shadow: inset 0 0 0 1px rgb(255 255 255 / .07); }

/* Transicións entre páginas (Chrome e Edge; no resto, coma sempre): fundido curto, a cabeceira queda fixa */
@view-transition { navigation: auto; }
.sticky-header { view-transition-name: cabeceira; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .2s; }

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .wp-block-button__link::after, .wp-block-button__link { transition: none; }
}

/* Contacto (25/10/2026): mapa propio escuro co marcador dourado e os datos ao lado; o formulario, escuro coma a web */
.contacto-onde { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center; max-width: 72rem; margin: clamp(2rem, 6vw, 4.5rem) auto; padding-inline: var(--wp--style--root--padding-right, 1.25rem); }
.onde-mapa { position: relative; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: #1c1c22;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08); }
.onde-mapa img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.onde-marcador { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; translate: -50% -50%; border-radius: 50%;
  background: var(--ouro); box-shadow: 0 0 0 4px #1c1c22, 0 0 0 5px rgb(235 195 153 / .5); }
.onde-marcador::after { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 2px solid var(--ouro); opacity: 0; }
.onde-mapa.visto .onde-marcador::after { animation: onde-latexo 1.6s cubic-bezier(.16, 1, .3, 1) 2; }
@keyframes onde-latexo { from { scale: .4; opacity: .9; } to { scale: 1.6; opacity: 0; } }
.onde-osm { position: absolute; right: 8px; bottom: 6px; padding: 1px 6px; border-radius: 4px; background: rgb(0 0 0 / .45);
  color: rgb(248 247 245 / .7) !important; font-size: .7rem; text-decoration: none; }
.onde-datos { padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: 18px; background: rgb(255 255 255 / .03);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08); }
.onde-datos h2 { margin-top: 0; color: var(--ouro); }
.onde-datos h4 { margin: .2rem 0 1rem; }
.onde-enderezo { font-size: 1.1em; margin: 0 0 .8rem; }
.onde-contacto { margin: 0 0 1.4rem; line-height: 1.9; }
.onde-botons { display: flex; gap: .7rem; flex-wrap: wrap; }
.onde-botons .wp-block-button__link { white-space: nowrap; }
.onde-botons .wp-block-button__link { background: var(--ouro); color: var(--tinta); border-radius: var(--pilula); padding: 10px 24px;
  font: 500 .95rem/1.5 Inter, sans-serif; text-decoration: none; }
.onde-contorno .wp-block-button__link { background: transparent; color: var(--xiz); box-shadow: inset 0 0 0 1px rgb(248 247 245 / .55); }
.onde-contorno .wp-block-button__link:hover { background: rgb(248 247 245 / .1); }
@media (max-width: 781px) { .contacto-onde { grid-template-columns: 1fr; } .onde-mapa { aspect-ratio: 16 / 11; }
  .onde-botons .wp-block-button { flex: 1 1 100%; } .onde-botons .wp-block-button__link { display: block; text-align: center; } }

.caixa-formulario { background: rgb(255 255 255 / .03) !important; color: inherit !important; border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08); max-width: 44rem; margin-inline: auto; }
.caixa-formulario label { color: rgb(248 247 245 / .85); font-size: .95rem; }
.caixa-formulario .wpcf7-form-control:not(.wpcf7-submit) { width: 100%; box-sizing: border-box; margin-top: .35rem; padding: .7rem .85rem;
  border-radius: 10px; border: 1px solid rgb(255 255 255 / .16); background: rgb(255 255 255 / .04); color: var(--xiz); font: inherit; }
.caixa-formulario .wpcf7-select option { background: #1c1c22; color: var(--xiz); }
.caixa-formulario .wpcf7-submit { border: 0; border-radius: var(--pilula); padding: 11px 34px; background: var(--ouro); color: var(--tinta);
  font: 500 1rem/1.5 Inter, sans-serif; cursor: pointer; transition: filter .2s ease, scale .15s ease; }
.caixa-formulario .wpcf7-submit:hover { filter: brightness(1.08); }
.caixa-formulario .wpcf7-submit:active { scale: .98; }
@media (prefers-reduced-motion: reduce) { .onde-mapa.visto .onde-marcador::after { animation: none; } }

/* ------------------------------------------------------------------------------------------------------------------
 * Bloque A (25/10/2026): hero, menú nativo, semántica sen cambiar o aspecto, formulario e alto contraste
 * ---------------------------------------------------------------------------------------------------------------- */

/* Hero: alto segundo a pantalla de verdade (antes 765 px fixos, máis ca un móbil) */
.wp-block-cover.alignfull:has(h1) { min-height: clamp(34rem, 92svh, 52rem) !important; }

/* Botón do menú: un <button> co aspecto de sempre */
.menuh { cursor: pointer; padding: 0; border: 0; background: none; color: inherit; font: inherit; display: block; }
/* Menú: <dialog> a pantalla completa, coa entrada de sempre (opacidade e escala) */
dialog.ventana { margin: 0; padding: 0; border: 0; inset: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%;
  color: inherit; overflow-y: auto; }
dialog.ventana::backdrop { background: transparent; }
.ventana-cabeceira { position: absolute; top: 0; left: 0; right: 0; z-index: 1; display: flex; align-items: center;
  justify-content: space-between; padding: 20px var(--wp--style--root--padding-right, 1.25rem) 20px var(--wp--style--root--padding-left, 1.25rem); }
.ventana-logo { line-height: 0; }
.ventana-cabeceira .model-3 { margin: 0; }
@media (scripting: none) {
  .menuh { display: none; }
  dialog.ventana { display: block; position: static; opacity: 1; visibility: visible; transform: none; height: auto; min-height: 0 !important; }
  .ventana-cabeceira { display: none; }
}

/* Cifras como lista de datos (<dl>): o número enriba e a etiqueta debaixo, coma cando eran h2 e h4 */
.cifra { display: flex; flex-direction: column-reverse; gap: 1.2rem; margin: 0; }
.cifra dd, .cifra dt { margin: 0; }
.cifra dd { font-variant-numeric: lining-nums tabular-nums; }
.como-h2, .como-h4, .como-h5, .como-titulo-sitio { color: var(--wp--preset--color--accent-2); font-family: var(--wp--preset--font-family--dm-serif-display);
  font-style: normal; font-weight: 400; letter-spacing: 1px; line-height: 1.125; text-wrap: pretty; }
.como-h4 { font-size: var(--wp--preset--font-size--medium); }
.como-h5 { font-size: var(--wp--preset--font-size--small); letter-spacing: .5px; }
.como-titulo-sitio { font-weight: 700; letter-spacing: -.5px; margin: 0; }

/* Formulario: campos con erro marcados; foco visible tamén no alto contraste de Windows */
.caixa-formulario [aria-invalid="true"] { border-color: rgb(214, 69, 65) !important; }
.wpcf7-form-control:not(.wpcf7-submit):focus { outline: 2px solid transparent; outline-offset: 2px; }
.wpcf7-submit[aria-busy="true"] { cursor: progress; filter: saturate(.6); }
@media (forced-colors: active) { :focus-visible { outline-color: Highlight; } }

/* Bloque B (25/10/2026): preguntas frecuentes que se abren con suavidade (Chrome e Edge; no resto, coma sempre) */
:root { interpolate-size: allow-keywords; }
.faq::details-content { block-size: 0; overflow: hidden;
  transition: block-size .3s cubic-bezier(.16, 1, .3, 1), content-visibility .3s allow-discrete; }
.faq[open]::details-content { block-size: auto; }
@media (prefers-reduced-motion: reduce) { .faq::details-content { transition: none; } }

/* Preguntas frecuentes repartidas (25/10/2026): cada grupo na súa caixa con relevo suave; a aberta, en ouro; unha
   ligazón a #faq-… abre a pregunta e déixaa baixo a cabeceira fixa */
.faq-lista { max-width: 46rem; margin: 1rem auto 1.5rem; padding: .25rem clamp(1rem, 3vw, 1.75rem); border-radius: 18px;
  text-align: left; background: linear-gradient(180deg, rgb(255 255 255 / .045), rgb(255 255 255 / .015));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), inset 0 1px 0 rgb(255 255 255 / .05), 0 18px 40px -22px rgb(0 0 0 / .7); }
.faq-lista .faq:last-child { border-bottom: 0; }
.faq { scroll-margin-top: 140px; }
.faq summary { padding-block: .3rem; transition: color .2s ease; }
.faq summary::after { top: .2rem; }
@media (hover: hover) { .faq summary:hover { color: var(--ouro); } }
.faq[open] summary { color: var(--ouro); }
.faq p { max-inline-size: 62ch; line-height: 1.6; }
.faq-portada { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.faq-portada-dentro { max-width: 46rem; margin-inline: auto; }
@media (prefers-reduced-motion: reduce) { .faq summary { transition: none; } }

/* Índice ao comezo de Servizos e Cómo trabajamos (25/10/2026): saltos ás seccións; no móbil, nunha fila que se
   despraza de lado se non colle; os destinos deixan sitio para a cabeceira fixa */
.indice-paxina { max-width: 72rem; margin: clamp(1.25rem, 4vw, 2rem) auto 0; padding-inline: var(--wp--style--root--padding-left, 1.25rem); }
.indice-paxina ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }
.indice-paxina a { display: inline-block; padding: .45rem 1rem; border-radius: var(--pilula); box-shadow: inset 0 0 0 1px rgb(235 195 153 / .55);
  color: var(--xiz); font-size: .92rem; text-decoration: none; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
.indice-paxina a:hover { background: var(--ouro); color: var(--tinta); }
@media (max-width: 600px) {
  .indice-paxina ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding-bottom: .2rem; }
  .indice-paxina ul::-webkit-scrollbar { display: none; }
}
.familia-servizos[id], main h2[id] { scroll-margin-top: 130px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Salvavidas: branco en repouso (aro algo máis tenue, bandas brancas); ao pasar por riba ou co foco, vermello e branco */
/* Iconas de redes e salvavidas, á mesma liña: as ligazóns fan de caixa de 20 px (antes, o X e o LinkedIn ían na liña
   de texto e quedaban 3 px máis arriba). O salvavidas usa un viewBox axustado ao aro: un círculo vese máis pequeno ca
   un cadrado da mesma medida, así que vai ~9 % maior (19 px fronte a 17,5) */
.social-icon { display: inline-flex; align-items: center; }
.social-icon svg { display: block; }
.salvavidas { display: block; color: #feffff; }
.salvavidas .sv-aro { stroke: currentColor; opacity: .6; transition: opacity .2s ease; }
.salvavidas .sv-bandas { stroke: currentColor; transition: stroke .2s ease; }
.salvavidas .sv-bordo { stroke: currentColor; opacity: .0; transition: opacity .2s ease; }
.salvavidas-ligazon:is(:hover, :focus-visible) .sv-aro { opacity: 1; }
.salvavidas-ligazon:is(:hover, :focus-visible) .sv-bandas { stroke: #e3262e; }
.salvavidas-ligazon:is(:hover, :focus-visible) .sv-bordo { opacity: .35; }

/* Pé (25/10/2026): fondo un chisco máis claro e unha liña dourada fina para separalo do contido */
footer.pe { background: #1c1c22; border-top: 1px solid rgb(235 195 153 / .3); color: var(--xiz);
  padding: 0 var(--wp--style--root--padding-right, 1.25rem) 1.5rem var(--wp--style--root--padding-left, 1.25rem); }
.pe-axuda { max-width: 72rem; margin: 0 auto; padding: 1.25rem 0; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem 2rem; flex-wrap: wrap; border-bottom: 1px solid rgb(255 255 255 / .08); }
.pe-axuda p { margin: 0; }
.pe-axuda strong { color: var(--ouro); font-weight: 500; margin-right: .3em; }
.pe-boton { display: inline-block; padding: 9px 24px; border-radius: var(--pilula); box-shadow: inset 0 0 0 1px rgb(235 195 153 / .6);
  color: var(--ouro); font-size: .92rem; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.pe-boton:hover { background: var(--ouro); color: var(--tinta); }
.pe-columnas { max-width: 72rem; margin: 0 auto; padding: clamp(2rem, 5vw, 3rem) 0 2rem; display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 2rem; }
.pe-logo { display: inline-block; line-height: 0; }
.pe-logo .logo-anacos { width: 150px; height: 72px; }
.pe-lema { margin: 1rem 0 .3rem; font: 400 1.2rem/1.3 "DM Serif Display", serif; color: var(--xiz); }
.pe-sub { margin: 0 0 1.1rem; font-size: .9rem; opacity: .75; }
.pe-redes { display: flex; align-items: center; gap: 1rem; }
.pe-redes a { color: #feffff; opacity: .85; transition: opacity .2s ease; }
.pe-redes a:hover { opacity: 1; }
.pe-titulo { margin: 0 0 1rem; font: 600 .78rem/1.2 Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); }
.pe-col ul { list-style: none; margin: 0; padding: 0; }
.pe-col li { margin: 0 0 .55rem; }
.pe a:not([class]) { color: rgb(248 247 245 / .85); text-decoration: none;
  background: linear-gradient(var(--ouro), var(--ouro)) 0 100% / 0 1px no-repeat; transition: background-size .3s cubic-bezier(.16, 1, .3, 1), color .2s ease; }
.pe a:not([class]):hover { color: var(--ouro); background-size: 100% 1px; }
.pe-contacto address { font-style: normal; margin: 0 0 .8rem; line-height: 1.6; }
.pe-contacto p { margin: 0 0 .8rem; line-height: 1.8; }
.pe .pe-axudas { margin: .5rem auto 1.25rem; }
.pe-barra { max-width: 72rem; margin: 0 auto; padding-top: 1.1rem; border-top: 1px solid rgb(255 255 255 / .08); display: flex;
  justify-content: space-between; align-items: center; gap: .6rem 1.5rem; flex-wrap: wrap; font-size: .82rem; color: rgb(248 247 245 / .7); }
.pe-barra p { margin: 0; }
.pe-barra ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.2rem; flex-wrap: wrap; }
@media (max-width: 781px) {
  .pe-columnas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8rem 1.25rem; }
  .pe-marca, .pe-contacto { grid-column: 1 / -1; }
  .pe-axuda { justify-content: center; text-align: center; }
  .pe-barra { justify-content: center; text-align: center; }
  footer.pe { padding-bottom: 5.5rem; }  /* sitio para o botón de chamar fixo */
}

/* Franxa superior no PC (25/10/2026): Vigo, teléfono, redes e salvavidas. Antes medía 45 px pero a cabeceira montaba
   10 px por riba, e as iconas (centradas nos 45) quedaban case sobre a raia. Agora mide 36 px reais co contido no
   medio, e queda fixa ao baixar xunto coa cabeceira compacta: é onde se manda aos clientes a premer o salvavidas.
   No móbil non se amosa (o soporte vai no menú e no pé). */
@media (min-width: 782px) {
  .wp-site-blocks > header { position: sticky; top: 0; z-index: 11; }
  .wp-site-blocks > header > .solodesktop { margin-bottom: 0 !important; padding-bottom: 0 !important; }
  .wp-site-blocks > header > .solodesktop > .alignwide { box-sizing: border-box; height: 36px; padding-block: 0 !important; }
  .wp-site-blocks > .sticky-header { top: 36px !important; margin-top: 0 !important; }
}

/* «Qué hacer si…» (25/10/2026): un caso por caixa, cos pasos numerados en ouro e, ao pé, o que convén despois */
.guia-casos { max-width: 52rem; margin-inline: auto; }
.guia-casos .indice-paxina { margin: 1.5rem auto 2rem; padding-inline: 0; }
.caso { margin: 0 0 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 18px; scroll-margin-top: 140px;
  background: linear-gradient(180deg, rgb(255 255 255 / .045), rgb(255 255 255 / .015));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), inset 0 1px 0 rgb(255 255 255 / .05), 0 18px 40px -22px rgb(0 0 0 / .7); }
.caso h2 { margin: 0 0 .4rem; font-size: clamp(1.3rem, 2.6vw, 1.65rem); }
.caso-sinais { margin: 0 0 1.1rem; opacity: .72; font-size: .95rem; }
.pasos { counter-reset: paso; list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.pasos li { counter-increment: paso; position: relative; padding-left: 2.5rem; line-height: 1.55; }
.pasos li::before { content: counter(paso); position: absolute; left: 0; top: 0; display: grid; place-items: center;
  width: 1.65rem; height: 1.65rem; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--ouro); color: var(--ouro);
  font-size: .85rem; font-weight: 600; }
h4 + .pasos { margin: 1rem 0 1.5rem; }
.caso-despois { margin: 1.1rem 0 0; padding-top: .9rem; border-top: 1px solid rgb(248 247 245 / .1); font-size: .95rem; opacity: .88; }

/* «Su primer mes con Anacos»: liña de tempo en cinco pasos; no PC en horizontal, no móbil en vertical */
.primer-mes { max-width: 72rem; margin: clamp(2.5rem, 6vw, 4rem) auto clamp(1.5rem, 4vw, 3rem); text-align: center;
  scroll-margin-top: 140px; }
.primer-mes h2 { margin: 0; scroll-margin-top: 140px; }
.primer-mes-intro { max-width: 40rem; margin: .6rem auto 2.25rem; opacity: .85; }
.primer-mes-pasos { counter-reset: mes; list-style: none; margin: 0; padding: 0; position: relative; text-align: left;
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; }
.primer-mes-pasos::before { content: ""; position: absolute; top: 1.25rem; left: 1.25rem; right: 1.25rem; height: 1px;
  background: linear-gradient(90deg, rgb(235 195 153 / .65), rgb(235 195 153 / .15)); }
.primer-mes-pasos li { counter-increment: mes; position: relative; }
.primer-mes-pasos li::before { content: counter(mes); position: relative; display: grid; place-items: center; width: 2.5rem;
  height: 2.5rem; margin-bottom: 1rem; border-radius: 50%; background: var(--tinta); box-shadow: inset 0 0 0 1px var(--ouro);
  color: var(--ouro); font-family: var(--wp--preset--font-family--dm-serif-display, serif); font-size: 1.15rem; }
.primer-mes-pasos h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.primer-mes-pasos p { margin: 0; font-size: .95rem; line-height: 1.55; opacity: .85; }
@media (max-width: 900px) {
  .primer-mes { text-align: left; }
  .primer-mes-intro { margin-inline: 0; }
  .primer-mes-pasos { grid-template-columns: 1fr; gap: 1.4rem; }
  .primer-mes-pasos::before { top: 1.25rem; bottom: 1.25rem; left: 1.25rem; right: auto; width: 1px; height: auto;
    background: linear-gradient(180deg, rgb(235 195 153 / .65), rgb(235 195 153 / .15)); }
  .primer-mes-pasos li { padding-left: 3.6rem; min-height: 2.5rem; }
  .primer-mes-pasos li::before { position: absolute; left: 0; top: -.35rem; margin: 0; }
}

/* Selector de idioma (26/10/2026): pechado, só o código do idioma actual; aberto, os catro coa súa bandeira e o seu
   nome no propio idioma. As bandeiras van en CSS (sen imaxes nin emojis, que Windows non debuxa) e son só apoio visual */
.idiomas { position: relative; display: inline-block; font-size: .8rem; }
.idiomas summary { display: inline-flex; align-items: center; gap: .4rem; padding: .22rem .5rem; border-radius: 6px;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18); color: var(--xiz); cursor: pointer; list-style: none;
  letter-spacing: .06em; transition: box-shadow .2s ease, color .2s ease; }
.idiomas summary::-webkit-details-marker { display: none; }
.idiomas summary:is(:hover, :focus-visible), .idiomas[open] summary { color: var(--ouro); box-shadow: inset 0 0 0 1px var(--ouro); }
.idioma-actual { font-weight: 600; }
.idioma-frecha { transition: rotate .2s ease; }
.idiomas[open] .idioma-frecha { rotate: 180deg; }
.bandeira { display: inline-block; flex: none; width: 1.15rem; height: .8rem; border-radius: 2px;
  box-shadow: 0 0 0 1px rgb(255 255 255 / .28); }
.bandeira-es { background: linear-gradient(#aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%); }
.bandeira-pt { background: linear-gradient(90deg, #046a38 0 40%, #da291c 40%); }
.bandeira-gl { background: linear-gradient(to top right, #fff 0 38%, #0099d8 38% 62%, #fff 62%); }
.bandeira-en { background: linear-gradient(#c8102e, #c8102e) center / 100% 20% no-repeat,
  linear-gradient(#c8102e, #c8102e) center / 14% 100% no-repeat, linear-gradient(#fff, #fff) center / 100% 40% no-repeat,
  linear-gradient(#fff, #fff) center / 28% 100% no-repeat, #012169; }
.idiomas-lista { position: absolute; z-index: 60; top: calc(100% + .45rem); right: 0; min-width: 11.5rem; margin: 0;
  padding: .35rem; list-style: none; border-radius: 10px; background: #1f1f26;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1), 0 18px 40px -12px rgb(0 0 0 / .75); text-align: left; }
.idiomas-lista a { display: flex; align-items: center; gap: .65rem; padding: .5rem .6rem; border-radius: 6px;
  color: var(--xiz); font-size: .92rem; letter-spacing: 0; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.idiomas-lista a:is(:hover, :focus-visible) { background: rgb(255 255 255 / .06); color: var(--ouro); }
.idiomas-lista a[aria-current="page"] { color: var(--ouro); font-weight: 600; }
.idioma-codigo { margin-left: auto; font-size: .75rem; letter-spacing: .06em; opacity: .55; }
.idiomas-lista a[aria-current="page"] .idioma-codigo::before { content: "✓ "; opacity: 1; }
/* No pé ábrese cara arriba; no menú do móbil, centrado */
.idiomas-pe .idiomas-lista { top: auto; bottom: calc(100% + .45rem); }
.idiomas-menu .idiomas-lista { right: auto; left: 50%; translate: -50% 0; }
.idiomas-menu { font-size: .95rem; }
.wp-site-blocks > header .idiomas { margin-right: .6rem; }
.idiomas-movil { display: flex; justify-content: center; margin: 1.5rem 0 .5rem; }
.pe-barra .idiomas { margin-left: auto; }
@media (prefers-reduced-motion: no-preference) {
  .idiomas[open] .idiomas-lista { animation: idiomas-abre .16s ease-out; }
  .idiomas-pe[open] .idiomas-lista { animation-name: idiomas-abre-arriba; }
  @keyframes idiomas-abre { from { opacity: 0; transform: translateY(-4px); } }
  @keyframes idiomas-abre-arriba { from { opacity: 0; transform: translateY(4px); } }
}
@media (prefers-reduced-motion: reduce) { .idioma-frecha, .idiomas summary { transition: none; } }
@media (forced-colors: active) { .bandeira { forced-color-adjust: none; } }

/* Aviso de protección de datos baixo o formulario (26/10/2026): letra pequena, pero lexible */
.aviso-privacidade { margin: 1rem 0 0; font-size: .8rem; line-height: 1.5; opacity: .78; }
.aviso-privacidade a { color: inherit; }
