/* Cabecera nueva (maqueta del 08/11/2026) */
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url('../fonts/Poppins.woff2') format('woff2'),url('../fonts/Poppins.woff') format('woff');}
@font-face{font-family:"Poppins";font-weight:700;font-display:swap;src:url('../fonts/Poppins-Bold.woff2') format('woff2'),url('../fonts/Poppins-Bold.woff') format('woff');}

/* El bloque que la contiene: fijo arriba. En escritorio se va la fila superior y se queda el menú */
.cab-envoltorio { position: sticky !important; top: -70px; z-index: 1000; background: #000 !important; }
.cab-envoltorio > div, .cab-envoltorio > div > .col-1 { display: block !important; padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; background: transparent !important; }
html { scroll-padding-top: 52px; }

.cab { background: #000; color: #FFF; font-family: Poppins, Arial, sans-serif; position: relative; text-align: left; }
.cab *, .cab *::before, .cab *::after { box-sizing: border-box; }
.cab a { text-decoration: none; }
.cab-dentro { max-width: 1360px; margin: 0 auto; padding: 0 32px; }

/* Fila superior */
.cab-sup { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 70px; border-bottom: 1px solid #3A3A3A; }
.cab-logo { display: block; flex: 0 1 auto; min-width: 0; }
.cab-logo img { display: block; width: 300px; max-width: 100%; height: auto; }
.cab-acciones { display: flex; align-items: center; gap: 28px; flex: 0 0 auto; }
.cab-precios { color: #FFF; font-size: 17px; font-weight: 400; white-space: nowrap; transition: color .15s; }
.cab-precios:hover, .cab-precios[aria-current] { color: #F1BE40; }
.cab-sep { width: 1px; height: 28px; background: #FFF; opacity: .85; flex: 0 0 auto; }
.cab-contacto { display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 22px; border-radius: 999px; background: #F1BE40; color: #000; font-size: 17px; font-weight: 700; white-space: nowrap; transition: background-color .15s; }
.cab-contacto:hover { background: #FFF; }
.cab-ico { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; flex: 0 0 auto; }
.cab-idiomas { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 400; color: #FFF; white-space: nowrap; }
.cab-idiomas a { color: #FFF; padding: 4px 2px; }
.cab-idiomas a:hover, .cab-idiomas a.activo { color: #F1BE40; }
.cab-hamb { display: none; }
.cab-sep2 { display: none; }
/* 08/11: la línea tras Precios es el mismo «|» que separa ES y EN (misma letra, tamaño y color) */
.cab-tel { display: inline-flex; align-items: center; gap: 8px; color: #FFF; font-size: 17px; font-weight: 400; white-space: nowrap; transition: color .15s; }
.cab-tel .cab-ico { width: 20px; height: 20px; stroke: #F1BE40; stroke-width: 1.7; }
.cab-tel:hover { color: #F1BE40; }
.cab-sep0, .cab-sep1 { width: auto; height: auto; background: none; opacity: 1; color: #FFF; font-size: 17px; font-weight: 400; line-height: 1; }
.cab-sep0::before, .cab-sep1::before { content: "|"; }   /* 08/11: sin línea entre Contacto e idiomas en escritorio */

/* Menú: repartido a todo el ancho */
.cab-nav ul { display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 0; list-style: none; }
.cab-nav li { margin: 0; padding: 0; }
.cab-nav a { position: relative; display: block; padding: 10px 0 10px; color: #FFF; font-size: 17px; font-weight: 400; line-height: 22px; white-space: nowrap; transition: color .15s; }
.cab-nav a:hover, .cab-nav a[aria-current] { color: #F1BE40; }
.cab-solo-movil { display: none !important; }
.cab a:focus-visible, .cab-hamb:focus-visible { outline: 2px solid #F1BE40; outline-offset: 3px; border-radius: 6px; }

@media (max-width: 1240px) {
  .cab-dentro { padding: 0 24px; }
  .cab-nav a { font-size: 15px; }
}

/* Móvil y tableta: una sola barra y el menú en un panel */
@media (max-width: 1080px) {
  .cab-envoltorio { top: 0; }
  html { scroll-padding-top: 84px; }
  .cab-sup { height: 76px; border-bottom: 0; gap: 12px; }
  .cab-logo img { width: 210px; }
  .cab-acciones { gap: 16px; }
  .cab-tel, .cab-sep0, .cab-precios, .cab-sep1 { display: none; }
  .cab-idiomas { order: 1; font-size: 16px; gap: 6px; }
  .cab-sep2 { order: 2; height: 30px; display: block; }
  .cab-contacto { order: 3; height: 44px; padding: 0 20px; font-size: 16px; gap: 10px; }
  .cab-hamb { order: 4; display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: 8px; margin-right: -8px; background: none; border: 0; cursor: pointer; }
  .cab-hamb span { display: block; height: 3px; border-radius: 3px; background: #FFF; transition: transform .2s, opacity .2s; }
  .cab.abierta .cab-hamb span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
  .cab.abierta .cab-hamb span:nth-child(2) { opacity: 0; }
  .cab.abierta .cab-hamb span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
  .cab-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #000; border-top: 1px solid #3A3A3A; max-height: calc(100vh - 76px); overflow-y: auto; box-shadow: 0 12px 24px rgba(0,0,0,.35); }
  .cab.abierta .cab-nav { display: block; }
  .cab-nav ul { display: block; max-width: 1360px; margin: 0 auto; padding: 8px 24px 20px; }
  .cab-nav li { border-bottom: 1px solid #222; }
  .cab-solo-movil { display: block !important; }
  .cab-nav a { padding: 15px 0; font-size: 17px; }
}
@media (max-width: 560px) {
  .cab-dentro { padding: 0 16px; }
  .cab-sup { height: 68px; gap: 10px; }
  html { scroll-padding-top: 52px; }
  .cab-logo img { width: 150px; }
  .cab-acciones { gap: 10px; }
  .cab-idiomas { font-size: 15px; gap: 4px; }
  .cab-sep2 { height: 26px; }
  .cab-contacto { height: 40px; padding: 0 14px; font-size: 15px; gap: 8px; }
  .cab-ico { width: 20px; height: 20px; }
  .cab-nav { max-height: calc(100vh - 68px); }
  .cab-nav ul { padding: 4px 16px 16px; }
}
/* 08/11: el botón Contacto va solo con texto (sin sobre), también en los móviles más estrechos */
@media (max-width: 400px) {
  .cab-logo img { width: 132px; }
  .cab-acciones { gap: 8px; }
  .cab-contacto { padding: 0 12px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .cab *, .cab-hamb span { transition: none !important; } }
/* 08/11 (auditoría): sellos y rótulos que dejan de ser encabezado conservan el interlineado de título */
.enc-texto { line-height: 1.2; }
/* Encabezado sin id que bajó de H3 a H2: mantiene el aspecto de H3 (web-paella-barcelona-D.css) */
h2.enc-h3 { font-size: 24px; color: #FFFFFF; --color: #FFFFFF; }
