/*
Theme Name: Bumerán
Theme URI: https://mudanzasbumeran.com/
Description: Tema hijo de Hello Elementor con el sistema de diseño de Mudanzas Bumerán.
Author: Mudanzas Bumerán
Version: 3.1.0
Template: hello-elementor
Text Domain: bumeran
*/

/* ============================================================
   Tipografías

   Alojadas aquí, no traídas de Google Fonts. Tres razones: no hay
   que esperar a un tercero antes de poder pintar texto, no se manda
   la IP de quien visita a Google, y el texto deja de dar el salto
   que daba al terminar de cargar la fuente. Las tres suman 45 KB.
   Archivo y Source Sans 3 son de licencia libre (OFL).
   ============================================================ */
@font-face {
  font-family: 'Archivo';
  src: url('fuentes/archivo-800.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('fuentes/source-sans-3-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('fuentes/source-sans-3-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}

/* ============================================================
   Tokens
   ============================================================ */
:root {
  --naranja: #F58B10;        /* naranja del logotipo, medido del PNG */
  --naranja-hover: #D97A0B;  /* hover de boton */
  --naranja-oscuro: #A85400; /* texto pequeno y enlaces: el naranja de marca
                                no llega a 4.5:1 sobre crema */
  --carbon: #1C1B19;
  --crema: #F7F3EE;
  --verde: #14453D;
  --gris: #5C574F;
  --gris-oscuro: #A8A29A;
  --borde: #E4DCD1;
  --borde-oscuro: #35322E;
  --blanco: #FFFFFF;

  --tipo-titular: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tipo-texto: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --ancho: 1140px;
  --ancho-texto: 720px;
  --radio: 20px;
  --pildora: 999px;
  --seccion: 96px;
}

@media (max-width: 900px) { :root { --seccion: 64px; } }
@media (max-width: 600px) { :root { --seccion: 48px; } }

/* ============================================================
   Base
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* La cabecera es fija: todo destino de ancla se separa lo que ella ocupa,
   o el titular al que saltas queda escondido detrás. */
:target, [id] { scroll-margin-top: 96px; }
@media (max-width: 600px) { :target, [id] { scroll-margin-top: 76px; } }

body {
  margin: 0;
  background: var(--crema);
  color: var(--carbon);
  font-family: var(--tipo-texto);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 600px) { body { font-size: 16px; } }

h1, h2, h3, h4 {
  font-family: var(--tipo-titular);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 .5em;
  text-wrap: balance;
}
h1 { font-size: 60px; }
h2 { font-size: 42px; }
h3 { font-size: 24px; letter-spacing: -0.01em; }
h4 { font-size: 19px; letter-spacing: -0.01em; }

@media (max-width: 900px) { h1 { font-size: 44px; } h2 { font-size: 34px; } h3 { font-size: 22px; } }
@media (max-width: 600px) { h1 { font-size: 34px; } h2 { font-size: 28px; } h3 { font-size: 20px; } }

p { margin: 0 0 1.1em; overflow-wrap: break-word; }
p:last-child { margin-bottom: 0; }

a { color: var(--naranja-oscuro); text-underline-offset: 3px; }
a:hover { color: var(--carbon); }

strong { font-weight: 600; }

::selection { background: var(--naranja); color: #fff; }

:focus-visible {
  outline: 3px solid var(--naranja);
  outline-offset: 3px;
  border-radius: 4px;
}

.bmr-salta {
  position: absolute; left: -9999px;
  background: var(--carbon); color: #fff;
  padding: 12px 20px; border-radius: 0 0 var(--radio) 0; z-index: 999;
}
.bmr-salta:focus { left: 0; top: 0; }

/* ============================================================
   Estructura
   ============================================================ */
.bmr-ancho { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 24px; }
.bmr-seccion { padding: var(--seccion) 0; }
.bmr-seccion--oscura { background: var(--carbon); color: var(--gris-oscuro); }
.bmr-seccion--oscura h1,
.bmr-seccion--oscura h2,
.bmr-seccion--oscura h3,
.bmr-seccion--oscura h4 { color: var(--blanco); }
.bmr-seccion--oscura strong { color: var(--blanco); }
.bmr-seccion + .bmr-seccion.bmr-seccion--clara { border-top: 1px solid var(--borde); }

.bmr-etiqueta {
  font-size: 13px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 1.5px; color: var(--naranja-oscuro);
  margin: 0 0 14px;
}
.bmr-seccion--oscura .bmr-etiqueta { color: var(--naranja); }

.bmr-entradilla { font-size: 21px; line-height: 1.55; color: var(--gris); max-width: var(--ancho-texto); }
.bmr-seccion--oscura .bmr-entradilla { color: inherit; }
@media (max-width: 900px) { .bmr-entradilla { font-size: 19px; } }
@media (max-width: 600px) { .bmr-entradilla { font-size: 17px; } }

.bmr-prosa { max-width: var(--ancho-texto); }
.bmr-prosa h2 { margin-top: 1.6em; }
.bmr-prosa h2:first-child { margin-top: 0; }
.bmr-prosa h3 { margin-top: 1.4em; font-size: 21px; }
.bmr-prosa ul { padding-left: 1.2em; margin: 0 0 1.1em; }
.bmr-prosa li { margin-bottom: .4em; }
.bmr-prosa table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; margin: 0 0 1.4em; }
.bmr-prosa th, .bmr-prosa td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--borde); }
.bmr-prosa th { font-weight: 600; }
.bmr-prosa blockquote { margin: 0 0 1.2em; padding-left: 20px; border-left: 3px solid var(--naranja); color: var(--gris); }
.bmr-prosa code { background: #EFE9E1; padding: .12em .38em; border-radius: 5px; font-size: .92em; }

/* ============================================================
   Rejillas
   ============================================================ */
.bmr-rejilla { display: grid; gap: 20px; }
.bmr-rejilla--2 { grid-template-columns: repeat(2, 1fr); }
.bmr-rejilla--3 { grid-template-columns: repeat(3, 1fr); }
.bmr-rejilla--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .bmr-rejilla--3, .bmr-rejilla--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bmr-rejilla--2, .bmr-rejilla--3, .bmr-rejilla--4 { grid-template-columns: 1fr; } }

.bmr-tarjeta {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: var(--radio);
  padding: 28px;
}
.bmr-tarjeta h3 { margin-bottom: .35em; }
.bmr-tarjeta p { color: var(--gris); font-size: 16px; }
.bmr-seccion--oscura .bmr-tarjeta {
  background: #232120; border-color: var(--borde-oscuro);
}
.bmr-seccion--oscura .bmr-tarjeta p { color: var(--gris-oscuro); }

a.bmr-tarjeta { display: block; text-decoration: none; color: inherit; transition: border-color .15s, transform .15s; }
a.bmr-tarjeta:hover { border-color: var(--naranja); transform: translateY(-2px); }
a.bmr-tarjeta h3 { color: var(--carbon); }
a.bmr-tarjeta:hover h3 { color: var(--naranja-oscuro); }

.bmr-paso .bmr-num {
  font-family: var(--tipo-titular); font-weight: 800; font-size: 40px;
  color: var(--naranja-oscuro); line-height: 1; display: block; margin-bottom: 12px;
}
.bmr-seccion--oscura .bmr-paso .bmr-num { color: var(--naranja); }

/* ============================================================
   Botones
   ============================================================ */
.bmr-btn {
  display: inline-block;
  font-family: var(--tipo-texto);
  font-weight: 600; font-size: 16px; line-height: 1.2;
  padding: 15px 30px;
  border-radius: var(--pildora);
  border: 1.5px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s, color .15s, border-color .15s;
}
.bmr-btn--principal { background: var(--naranja); color: var(--carbon); }
.bmr-btn--principal:hover { background: var(--naranja-hover); color: var(--carbon); }
.bmr-btn--fantasma { background: transparent; color: var(--carbon); border-color: var(--carbon); }
.bmr-btn--fantasma:hover { background: var(--carbon); color: #fff; }
.bmr-seccion--oscura .bmr-btn--fantasma,
.bmr-heroe--foto .bmr-btn--fantasma { color: #fff; border-color: rgba(255,255,255,.45); }
.bmr-seccion--oscura .bmr-btn--fantasma:hover,
.bmr-heroe--foto .bmr-btn--fantasma:hover { background: #fff; color: var(--carbon); }

.bmr-botonera { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
@media (max-width: 600px) { .bmr-botonera { flex-direction: column; } .bmr-btn { text-align: center; } }

/* ============================================================
   Listas de comprobación
   ============================================================ */
.bmr-lista { list-style: none; padding: 0; margin: 0; }
.bmr-lista li {
  position: relative; padding-left: 30px; margin-bottom: 12px;
}
.bmr-lista li::before {
  content: ""; position: absolute; left: 0; top: .55em;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--naranja);
}
.bmr-lista--dos { columns: 2; column-gap: 40px; }
@media (max-width: 600px) { .bmr-lista--dos { columns: 1; } }

/* ============================================================
   Cabecera
   ============================================================ */
.bmr-cabecera {
  background: var(--crema);
  border-bottom: 1px solid var(--borde);
  position: sticky; top: 0; z-index: 100;
  transition: box-shadow .2s;
}
.bmr-cabecera.desplazada { box-shadow: 0 2px 16px rgba(28,27,25,.09); }
.bmr-cabecera .bmr-ancho {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; min-height: 76px;
}
.bmr-marca { display: block; line-height: 0; }
.bmr-marca img { display: block; height: 34px; width: auto; }
@media (max-width: 600px) { .bmr-marca img { height: 28px; } }

.bmr-nav { display: flex; align-items: center; gap: 26px; }
.bmr-nav a {
  font-size: 16px; font-weight: 600; text-decoration: none; color: var(--gris);
}
.bmr-nav a:hover, .bmr-nav a[aria-current="page"] { color: var(--naranja-oscuro); }
.bmr-nav .bmr-btn { font-size: 15px; padding: 11px 22px; }

.bmr-menu-btn {
  display: none; background: none; border: 1.5px solid var(--carbon);
  border-radius: var(--pildora); padding: 9px 18px;
  font-family: var(--tipo-texto); font-weight: 600; font-size: 15px;
  color: var(--carbon); cursor: pointer;
}
@media (max-width: 900px) {
  .bmr-menu-btn { display: block; }
  .bmr-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--crema); border-bottom: 1px solid var(--borde);
    padding: 8px 24px 20px;
  }
  .bmr-nav.abierto { display: flex; }
  .bmr-nav a { padding: 12px 0; border-bottom: 1px solid var(--borde); }
  .bmr-nav .bmr-btn { margin-top: 14px; text-align: center; border-bottom: 0; }
}

/* ============================================================
   Héroe
   ============================================================ */
.bmr-heroe { padding: 84px 0 var(--seccion); }
.bmr-heroe h1 { max-width: 15ch; }
.bmr-heroe .bmr-entradilla { margin-top: 20px; }
@media (max-width: 600px) { .bmr-heroe { padding-top: 52px; } }

.bmr-datos {
  display: flex; flex-wrap: wrap; gap: 12px 32px;
  margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--borde);
}
.bmr-datos div { font-size: 15px; color: var(--gris); }
.bmr-datos b { display: block; font-family: var(--tipo-titular); font-weight: 800;
  font-size: 26px; color: var(--carbon); letter-spacing: -0.02em; line-height: 1.2; }


/* ============================================================
   Héroe con formulario al lado
   ============================================================ */
.bmr-heroe--form .bmr-ancho {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: start;
}
@media (max-width: 980px) {
  .bmr-heroe--form .bmr-ancho { grid-template-columns: 1fr; gap: 40px; }
}
.bmr-heroe--form h1 { max-width: 14ch; }
.bmr-caja-form {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: var(--radio);
  padding: 30px;
  /* Dentro del héroe sobre foto el texto es claro; aquí se vuelve al
     carbón o el título saldría gris sobre blanco. */
  color: var(--carbon);
}
.bmr-caja-form h2 { color: var(--carbon); }
.bmr-caja-form h2 { font-size: 26px; margin-bottom: .2em; }
.bmr-caja-form > p { color: var(--gris); font-size: 15px; margin-bottom: 22px; }
@media (max-width: 600px) { .bmr-caja-form { padding: 24px 20px; } }

/* ============================================================
   Cinta deslizante de reclamos
   ============================================================ */
.bmr-cinta {
  background: var(--carbon);
  overflow: hidden;
  padding: 16px 0;
  border-top: 1px solid var(--borde);
}
.bmr-cinta-pista {
  display: flex; width: max-content;
  animation: bmr-desliz 42s linear infinite;
}
.bmr-cinta:hover .bmr-cinta-pista { animation-play-state: paused; }
.bmr-cinta-grupo { display: flex; align-items: center; flex: none; }
.bmr-cinta-grupo span {
  font-family: var(--tipo-titular); font-weight: 800;
  font-size: 16px; letter-spacing: .02em;
  color: var(--blanco); white-space: nowrap; padding: 0 22px;
}
.bmr-cinta-grupo span::after {
  content: "●"; color: var(--naranja);
  font-family: var(--tipo-texto); font-size: 9px;
  position: relative; top: -3px; margin-left: 22px;
}
@keyframes bmr-desliz { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Sin movimiento: la cinta se queda quieta y se recorta a lo que quepa. */
@media (prefers-reduced-motion: reduce) {
  .bmr-cinta-pista { animation: none; }
}

/* ============================================================
   Lista numerada de «qué incluye»
   ============================================================ */
.bmr-pasos-num { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 32px; }
@media (max-width: 900px) { .bmr-pasos-num { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bmr-pasos-num { grid-template-columns: 1fr; } }
.bmr-pasos-num > div { border-top: 2px solid var(--naranja); padding-top: 14px; }
.bmr-pasos-num h3 { font-size: 19px; margin-bottom: .3em; }
.bmr-pasos-num h3 b { color: var(--naranja); font-weight: 800; margin-right: 8px; }
.bmr-pasos-num p { font-size: 15px; color: var(--gris); }
.bmr-seccion--oscura .bmr-pasos-num p { color: var(--gris-oscuro); }

/* ============================================================
   Lista de razones en dos columnas con marca
   ============================================================ */
.bmr-razones { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 40px; margin: 32px 0 0; padding: 0; list-style: none; }
@media (max-width: 700px) { .bmr-razones { grid-template-columns: 1fr; } }
.bmr-razones li { position: relative; padding-left: 30px; }
.bmr-razones li::before {
  content: ""; position: absolute; left: 0; top: .48em;
  width: 12px; height: 12px; border-radius: 50%;
  border: 3px solid var(--naranja);
}
.bmr-razones strong { display: block; }
.bmr-razones span { color: var(--gris); font-size: 15px; }
.bmr-seccion--oscura .bmr-razones span { color: var(--gris-oscuro); }


/* ============================================================
   Héroe sobre fotografía
   ============================================================ */
.bmr-heroe--foto {
  position: relative; background: var(--carbon);
  background-size: cover; background-position: center;
  color: var(--gris-oscuro);
}
.bmr-heroe--foto::before {
  content: ""; position: absolute; inset: 0;
  background: rgba(20,19,17,.74);
}
.bmr-heroe--foto > .bmr-ancho { position: relative; z-index: 1; }
.bmr-heroe--foto h1 { color: var(--blanco); }
.bmr-heroe--foto h1 em { font-style: normal; color: var(--naranja); }
.bmr-heroe--foto .bmr-entradilla { color: var(--gris-oscuro); }
.bmr-heroe--foto .bmr-datos { border-top-color: rgba(255,255,255,.18); }
.bmr-heroe--foto .bmr-datos div { color: var(--gris-oscuro); }
.bmr-heroe--foto .bmr-datos b { color: var(--blanco); }

/* Píldora del héroe */
.bmr-pildora {
  display: inline-block; background: var(--naranja); color: var(--carbon);
  font-weight: 600; font-size: 14px; line-height: 1.3;
  padding: 8px 18px; border-radius: var(--pildora); margin: 0 0 22px;
}

/* ============================================================
   Tarjetas con imagen
   ============================================================ */
.bmr-tarjeta--foto { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.bmr-tarjeta--foto img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5;
  object-fit: cover; background: #EFE9E1;
}
.bmr-tarjeta--foto .bmr-cuerpo { padding: 24px 26px 28px; }
.bmr-tarjeta--foto h3 { margin-bottom: .3em; }

/* Tarjeta destacada: ocupa la fila entera y va a dos columnas */
.bmr-tarjeta--destacada {
  grid-column: 1 / -1;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; overflow: hidden;
}
.bmr-tarjeta--destacada img { aspect-ratio: 16 / 10; height: 100%; }
.bmr-tarjeta--destacada .bmr-cuerpo { padding: 36px 40px; align-self: center; }
.bmr-tarjeta--destacada h3 { font-size: 30px; }
@media (max-width: 800px) {
  .bmr-tarjeta--destacada { grid-template-columns: 1fr; }
  .bmr-tarjeta--destacada .bmr-cuerpo { padding: 26px 24px 30px; }
  .bmr-tarjeta--destacada h3 { font-size: 24px; }
}

/* ============================================================
   Bloques a dos columnas que alternan el lado de la foto
   ============================================================ */
.bmr-bloque {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
  margin-top: 48px;
}
.bmr-bloque + .bmr-bloque { margin-top: 64px; }
@media (max-width: 900px) { .bmr-bloque { grid-template-columns: 1fr; gap: 28px; } }
.bmr-bloque img {
  display: block; width: 100%; height: auto; border-radius: var(--radio);
  aspect-ratio: 3 / 4; object-fit: cover; background: #EFE9E1;
}
.bmr-bloque--ancho img { aspect-ratio: 4 / 3; }
.bmr-bloque h3 { font-size: 30px; }
@media (max-width: 600px) { .bmr-bloque h3 { font-size: 24px; } }
.bmr-bloque .bmr-lista { margin-top: 20px; }

/* ============================================================
   «Qué incluye» con imagen
   ============================================================ */
.bmr-incluye { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px) { .bmr-incluye { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bmr-incluye { grid-template-columns: 1fr; } }
.bmr-incluye figure { margin: 0; }
.bmr-incluye img {
  display: block; width: 100%; height: auto; aspect-ratio: 1 / 1;
  object-fit: cover; border-radius: var(--radio); background: #EFE9E1;
}
.bmr-incluye figcaption { padding-top: 16px; }
.bmr-incluye h3 { font-size: 19px; margin-bottom: .3em; }
.bmr-incluye h3 b { color: var(--naranja-oscuro); font-weight: 800; margin-right: 8px; }
.bmr-seccion--oscura .bmr-incluye h3 b { color: var(--naranja); }
.bmr-incluye p { font-size: 15px; color: var(--gris); }
.bmr-seccion--oscura .bmr-incluye p { color: var(--gris-oscuro); }

/* ============================================================
   Acordeón FAQ
   ============================================================ */
.bmr-faq { max-width: 820px; }
.bmr-faq details {
  border-bottom: 1px solid var(--borde);
  padding: 4px 0;
}
.bmr-faq summary {
  cursor: pointer; list-style: none;
  font-family: var(--tipo-titular); font-weight: 800; font-size: 19px;
  letter-spacing: -0.01em;
  padding: 20px 40px 20px 0; position: relative;
}
.bmr-faq summary::-webkit-details-marker { display: none; }
.bmr-faq summary::after {
  content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  font-size: 26px; font-weight: 400; color: var(--naranja); line-height: 1;
}
.bmr-faq details[open] summary::after { content: "\2013"; }
.bmr-faq summary:hover { color: var(--naranja-oscuro); }
.bmr-faq .bmr-respuesta { padding: 0 40px 22px 0; color: var(--gris); }

/* ============================================================
   Tabla
   ============================================================ */
.bmr-tabla-envoltorio { overflow-x: auto; }
.bmr-tabla { width: 100%; border-collapse: collapse; font-size: 16px; min-width: 520px; }
.bmr-tabla th, .bmr-tabla td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--borde); }
.bmr-tabla th { font-family: var(--tipo-titular); font-weight: 800; font-size: 15px;
  text-transform: uppercase; letter-spacing: .5px; }
.bmr-tabla td:last-child { color: var(--gris); }

/* ============================================================
   Formulario
   ============================================================ */
.bmr-form { max-width: 560px; }
.bmr-campo { margin-bottom: 18px; }
.bmr-campo label {
  display: block; font-size: 14px; font-weight: 600;
  margin-bottom: 7px; color: inherit;
}
.bmr-campo input, .bmr-campo textarea {
  width: 100%; font-family: var(--tipo-texto); font-size: 16px;
  padding: 13px 16px; border-radius: 12px;
  border: 1.5px solid var(--borde); background: var(--blanco); color: var(--carbon);
}
.bmr-seccion--oscura .bmr-campo input,
.bmr-seccion--oscura .bmr-campo textarea {
  background: #232120; border-color: var(--borde-oscuro); color: #fff;
}
.bmr-campo input:focus, .bmr-campo textarea:focus { outline: none; border-color: var(--naranja); }
.bmr-campo textarea { min-height: 110px; resize: vertical; }
.bmr-consent { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; margin-bottom: 22px; }
.bmr-consent input { width: 18px; height: 18px; margin-top: 3px; flex: none; accent-color: var(--naranja); }
.bmr-opcional { font-weight: 400; color: var(--gris); }
.bmr-letra-chica { font-size: 13px; color: var(--gris); margin: 14px 0 0; }
.bmr-seccion--oscura .bmr-letra-chica { color: var(--gris-oscuro); }
.bmr-campo input:user-invalid, .bmr-campo textarea:user-invalid { border-color: #C0392B; }
.bmr-form .bmr-btn { border: 0; }
.bmr-tapadera { position: absolute; left: -9999px; }
.bmr-aviso { padding: 15px 18px; border-radius: 12px; margin-bottom: 22px; font-size: 16px; }
.bmr-aviso--ok { background: #E8F3EE; border: 1px solid #14453D33; color: var(--verde); }
.bmr-aviso--error { background: #FDEDE7; border: 1px solid #E85D2A55; color: var(--naranja-hover); }

/* ============================================================
   Pie
   ============================================================ */
.bmr-pie { background: var(--carbon); color: var(--gris-oscuro); padding: 64px 0 32px; font-size: 15px; }
.bmr-pie a { color: var(--gris-oscuro); text-decoration: none; }
.bmr-pie a:hover { color: var(--naranja); }
.bmr-pie h4 { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 14px; }
.bmr-pie ul { list-style: none; padding: 0; margin: 0; }
.bmr-pie li { margin-bottom: 9px; }
.bmr-pie-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
@media (max-width: 900px) { .bmr-pie-cols { grid-template-columns: 1fr 1fr; gap: 32px 24px; } }
@media (max-width: 600px) { .bmr-pie-cols { grid-template-columns: 1fr; } }
.bmr-pie .bmr-marca img { height: 40px; }
.bmr-pie-legal {
  margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--borde-oscuro);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px;
}

/* ============================================================
   404
   ============================================================ */
.bmr-404 { text-align: center; padding: 110px 0; }
.bmr-404 .bmr-entradilla { margin: 0 auto 8px; }
.bmr-404 .bmr-botonera { justify-content: center; }
.bmr-404 .bmr-enlaces { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--borde); }
.bmr-404 .bmr-enlaces ul { list-style: none; padding: 0; margin: 14px 0 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; }
@media (max-width: 600px) { .bmr-404 { padding: 64px 0; } }

/* ============================================================
   Impresión
   ============================================================ */
@media print {
  .bmr-cabecera, .bmr-pie, .bmr-botonera, .bmr-form { display: none; }
  body { background: #fff; font-size: 12pt; }
}
