/* ==========================================================================
   PORTADA DE LA WEB — Julián Peluso
   Fotos a pantalla completa que se funden, eslogan en Jost liviana (la equivalente libre de Sanseriffic,
   la tipografía de títulos del manual) y acciones escritas. Textos en Outfit (equivalente de Product Sans).
   Debajo, el buscador en la misma noche pizarra. Se carga después de portal.css y marca.css.
   ========================================================================== */

:root {
  --pt-noche: #141d21;
  --pt-verde: #677c5d;
  --pt-salvia: #b9cfae;
  --pt-hueso: #ededed;
  --pt-tenue: rgba(237, 237, 237, .74);
  --pt-linea: rgba(237, 237, 237, .28);
  --pt-titulo: 'Jost', 'Outfit', system-ui, sans-serif;
  --pt-marca: 'Jost', 'Outfit', system-ui, sans-serif;
  --pt-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ─── Barra superior y encabezado sobre la foto ─────────────────────────── */
.top-bar { background: var(--pt-noche); color: var(--pt-tenue); border-bottom-color: rgba(237, 237, 237, .08); }

.main-header { transition: background .45s ease, box-shadow .45s ease, border-color .45s ease; }
.main-header.sobre-portada { background: transparent; border-bottom-color: transparent; box-shadow: none; }
.main-header.sobre-portada .nav-link,
.main-header.sobre-portada .nav-link.highlight-link { color: var(--pt-hueso); font-family: var(--pt-marca); font-weight: 400; letter-spacing: .04em; }
.main-header.sobre-portada .nav-link::after { background: var(--pt-hueso); }
.main-header.sobre-portada .mobile-menu-toggle { color: var(--pt-hueso); }
.main-header.sobre-portada .btn-whatsapp-header {
  background: transparent; border-color: var(--pt-linea); color: var(--pt-hueso); box-shadow: none;
  font-family: var(--pt-marca); font-weight: 400; letter-spacing: .04em;
}
.main-header.sobre-portada .btn-whatsapp-header:hover { background: var(--pt-hueso); border-color: var(--pt-hueso); color: var(--pt-noche); }

/* ─── Portada ───────────────────────────────────────────────────────────── */
.portada {
  position: relative; isolation: isolate; overflow: hidden;
  height: calc(100svh - var(--pt-barra, 34px)); min-height: 600px; max-height: 1040px;
  margin-top: -80px; /* la foto pasa por debajo del encabezado transparente */
  color: var(--pt-hueso); background: var(--pt-noche);
}
.portada-fotos { position: absolute; inset: 0; z-index: -2; }
.portada-foto { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.8s ease; }
.portada-foto.activa { opacity: 1; }
.portada-foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.portada-foto.activa img { animation: pt-acercar 9s linear forwards; }
@keyframes pt-acercar { from { transform: scale(1.02); } to { transform: scale(1.1); } }
.portada-velo {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(14, 20, 23, .66) 0%, rgba(14, 20, 23, 0) 24%),
    linear-gradient(0deg, rgba(14, 20, 23, .9) 0%, rgba(14, 20, 23, .45) 34%, rgba(14, 20, 23, 0) 62%),
    linear-gradient(90deg, rgba(14, 20, 23, .62) 0%, rgba(14, 20, 23, .3) 45%, rgba(14, 20, 23, 0) 70%);
}

.portada-titular { position: absolute; left: 0; right: 0; bottom: clamp(104px, 15vh, 156px); }
.portada-titular .container { display: grid; gap: 26px; }
.portada-eslogan {
  margin: 0; font-family: var(--pt-titulo); font-weight: 300;
  font-size: clamp(46px, min(7.4vw, 13vh), 118px); line-height: .98; letter-spacing: -0.02em; color: var(--pt-hueso);
}
.portada-eslogan .l { display: block; overflow: hidden; padding-bottom: .06em; }
.portada-eslogan .l > span { display: inline-block; }
.portada-eslogan .l2 { font-style: italic; padding-left: clamp(24px, 6vw, 104px); white-space: nowrap; }
.portada-bajada { margin: 0; max-width: 34em; font-size: 18px; font-weight: 300; line-height: 1.55; color: var(--pt-hueso); }
.portada-bajada strong { font-weight: 500; }

.portada-acciones { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 4px; }
.portada-accion { display: inline-flex; align-items: center; gap: 16px; color: var(--pt-hueso); text-decoration: none; font-family: var(--pt-marca); font-size: 16px; letter-spacing: .05em; }
.portada-accion .circulo { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--pt-linea); transition: background .45s var(--pt-ease), border-color .45s var(--pt-ease), color .45s var(--pt-ease); }
.portada-accion svg { transition: transform .45s var(--pt-ease); }
.portada-accion:hover { color: var(--pt-hueso); }
.portada-accion:hover .circulo { background: var(--pt-hueso); border-color: var(--pt-hueso); color: var(--pt-noche); }
.portada-accion:hover .flecha-der { transform: translateX(3px); }
.portada-accion:hover .flecha-aba { transform: translateY(3px); }
.portada-accion:focus-visible, .portada-pie a:focus-visible, .portada-pie button:focus-visible { outline: 2px solid var(--pt-salvia); outline-offset: 4px; }

.portada-pie { position: absolute; left: 0; right: 0; bottom: 48px; }
.portada-pie .container {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  font-family: var(--pt-marca); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--pt-tenue);
}
.portada-contador { display: flex; align-items: center; gap: 14px; }
.portada-contador .barra { position: relative; width: 120px; height: 1px; background: var(--pt-linea); overflow: hidden; }
.portada-contador .barra i { position: absolute; inset: 0; background: var(--pt-hueso); transform-origin: left; transform: scaleX(0); }
.portada-contador .barra i.corre { animation: pt-avance 7s linear forwards; }
@keyframes pt-avance { to { transform: scaleX(1); } }
.portada-contador button { width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--pt-tenue); display: grid; place-items: center; }
.portada-contador button:hover { color: var(--pt-hueso); }
.portada-deslizar { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.portada-deslizar:hover { color: var(--pt-hueso); }

/* ─── Buscador ──────────────────────────────────────────────────────────── */
.buscar-portada { background: var(--pt-noche); color: var(--pt-hueso); padding: clamp(72px, 9vw, 124px) 0 clamp(72px, 8vw, 108px); }
.buscar-portada-cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(40px, 5vw, 60px); }
.buscar-portada-cab h2 { margin: 0; font-family: var(--pt-titulo); font-weight: 300; font-size: clamp(38px, 4.6vw, 70px); line-height: 1; letter-spacing: -0.015em; color: var(--pt-hueso); }
.buscar-portada-cab h2 em { font-style: italic; }
.buscar-portada-cab p { margin: 0; max-width: 32em; color: var(--pt-tenue); font-weight: 300; font-size: 17px; line-height: 1.55; }

.buscar-portada .search-tabs { display: flex; flex-wrap: wrap; gap: 8px 36px; margin: 0 0 36px; padding: 0; background: none; border: 0; }
.buscar-portada .search-tab {
  position: relative; flex: none; padding: 8px 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer;
  font-family: var(--pt-marca); font-size: 19px; font-weight: 400; letter-spacing: .03em; color: var(--pt-tenue); transition: color .3s ease;
}
.buscar-portada .search-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--pt-salvia); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--pt-ease); }
.buscar-portada .search-tab:hover, .buscar-portada .search-tab.active { color: var(--pt-hueso); background: none; }
.buscar-portada .search-tab.active::after { transform: scaleX(1); }
.buscar-portada .search-tab:focus-visible { outline: 2px solid var(--pt-salvia); outline-offset: 4px; }

.buscar-portada-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 48px; }
.buscar-portada .campo { display: grid; gap: 8px; margin: 0; font-family: var(--pt-marca); font-size: 13px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--pt-salvia); }
.buscar-portada .campo select, .buscar-portada .campo input {
  width: 100%; min-height: 52px; margin: 0; padding: 6px 30px 10px 0; border: 0; border-bottom: 1px solid var(--pt-linea); border-radius: 0;
  background-color: transparent; box-shadow: none; font-family: 'Outfit', system-ui, sans-serif; font-size: 22px; font-weight: 300;
  letter-spacing: 0; text-transform: none; color: var(--pt-hueso); appearance: none; -webkit-appearance: none; transition: border-color .3s ease;
}
.buscar-portada .campo select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ededed' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 2px center;
}
.buscar-portada .campo select option { color: #22313a; background: #ffffff; }
.buscar-portada .campo input::placeholder { color: rgba(237, 237, 237, .45); }
.buscar-portada .campo select:hover, .buscar-portada .campo input:hover { border-bottom-color: rgba(237, 237, 237, .6); }
.buscar-portada .campo select:focus, .buscar-portada .campo input:focus { outline: none; border-bottom-color: var(--pt-salvia); box-shadow: none; }

.buscar-portada-cierre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; margin-top: 52px; }
.buscar-portada .btn-search-hero {
  display: inline-flex; align-items: center; gap: 18px; width: auto; height: auto; padding: 0; border: 0; border-radius: 0;
  background: none; box-shadow: none; cursor: pointer; color: var(--pt-hueso);
  font-family: var(--pt-titulo); font-size: clamp(26px, 2.4vw, 34px); font-style: italic; font-weight: 300;
}
.buscar-portada .btn-search-hero:hover { background: none; transform: none; box-shadow: none; }
.buscar-portada .btn-search-hero .circulo { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--pt-verde); color: var(--pt-hueso); transition: background .45s var(--pt-ease), color .45s var(--pt-ease), transform .45s var(--pt-ease); }
.buscar-portada .btn-search-hero:hover .circulo { background: var(--pt-hueso); color: var(--pt-noche); transform: rotate(-45deg); }
.buscar-portada .btn-search-hero:active .circulo { transform: scale(.94); }
.buscar-portada .btn-search-hero:focus-visible { outline: 2px solid var(--pt-salvia); outline-offset: 6px; }

.buscar-portada .quick-tags-container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 28px; margin: 0; padding: 0; border: 0; }
.buscar-portada .quick-tag-label { font-family: var(--pt-marca); font-size: 13px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--pt-salvia); }
.buscar-portada .quick-tag {
  padding: 0 0 2px; border: 0; border-bottom: 1px solid var(--pt-linea); border-radius: 0; background: none; box-shadow: none; cursor: pointer;
  font-family: 'Outfit', system-ui, sans-serif; font-size: 16px; font-weight: 300; color: var(--pt-hueso); transition: border-color .3s ease;
}
.buscar-portada .quick-tag:hover { background: none; color: var(--pt-hueso); border-bottom-color: var(--pt-hueso); transform: none; }

/* ─── Tasación y contacto: mismo lenguaje que la portada ──────────────────
   Tasación en pizarra oscuro, contacto en gris claro. Títulos en Jost liviana, campos sin cajas. */
.tasar-jp {
  --jp-fondo: var(--pt-noche); --jp-tinta: var(--pt-hueso); --jp-tenue: var(--pt-tenue);
  --jp-linea: var(--pt-linea); --jp-linea-fuerte: rgba(237, 237, 237, .6); --jp-acento: var(--pt-salvia);
  --jp-circulo: var(--pt-verde); --jp-circulo-tinta: var(--pt-hueso); --jp-circulo-hover: var(--pt-hueso); --jp-circulo-hover-tinta: var(--pt-noche);
  --jp-placeholder: rgba(237, 237, 237, .45);
}
.contacto-jp {
  --jp-fondo: #ededed; --jp-tinta: #22313a; --jp-tenue: #46565e;
  --jp-linea: rgba(34, 49, 58, .28); --jp-linea-fuerte: rgba(34, 49, 58, .6); --jp-acento: #56694d;
  --jp-circulo: #2f414a; --jp-circulo-tinta: #ededed; --jp-circulo-hover: #56694d; --jp-circulo-hover-tinta: #ffffff;
  --jp-placeholder: rgba(34, 49, 58, .5);
}
.valuation-section.tasar-jp, .contact-section.contacto-jp {
  background: var(--jp-fondo); color: var(--jp-tinta); padding: clamp(80px, 9vw, 128px) 0;
}
.jp-dos-columnas { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px clamp(48px, 7vw, 112px); align-items: start; }
.jp-info { display: grid; gap: 22px; align-content: start; }
.jp-etiqueta { font-family: var(--pt-marca); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--jp-acento); }
.jp-titulo { margin: 0; font-family: var(--pt-titulo); font-weight: 300; font-size: clamp(38px, 4.4vw, 66px); line-height: 1.02; letter-spacing: -0.015em; color: var(--jp-tinta); text-wrap: balance; }
.jp-titulo em, .jp-subtitulo em { font-style: italic; }
.jp-texto { margin: 0; max-width: 34em; font-size: 17px; font-weight: 300; line-height: 1.6; color: var(--jp-tenue); }
.jp-lista { list-style: none; margin: 10px 0 0; padding: 0; display: grid; }
.jp-lista li { display: flex; align-items: baseline; gap: 14px; padding: 16px 0; border-top: 1px solid var(--jp-linea); font-size: 17px; font-weight: 300; color: var(--jp-tinta); }
.jp-lista li:last-child { border-bottom: 1px solid var(--jp-linea); }
.jp-lista li::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--jp-acento); transform: translateY(-2px); }

.jp-canales { margin: 10px 0 0; display: grid; }
.jp-canales > div { display: grid; gap: 6px; padding: 18px 0; border-top: 1px solid var(--jp-linea); }
.jp-canales > div:last-child { border-bottom: 1px solid var(--jp-linea); }
.jp-canales dt { font-family: var(--pt-marca); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--jp-acento); }
.jp-canales dd { margin: 0; font-size: 18px; font-weight: 400; color: var(--jp-tinta); overflow-wrap: anywhere; }

.jp-formulario { display: grid; gap: 14px; min-width: 0; }
.jp-subtitulo { margin: 0; font-family: var(--pt-titulo); font-weight: 300; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.1; color: var(--jp-tinta); }
.jp-nota { margin: 0; font-size: 16px; font-weight: 300; color: var(--jp-tenue); }
.jp-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; margin-top: 22px; }
.jp-campo { display: grid; gap: 8px; margin: 0; font-family: var(--pt-marca); font-size: 13px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--jp-acento); }
.jp-campo.jp-ancho { grid-column: 1 / -1; }
.jp-opcional { letter-spacing: .04em; text-transform: none; color: var(--jp-tenue); }
.jp-campo select, .jp-campo input, .jp-campo textarea {
  width: 100%; min-height: 50px; margin: 0; padding: 6px 30px 10px 0; border: 0; border-bottom: 1px solid var(--jp-linea); border-radius: 0;
  background-color: transparent; box-shadow: none; font-family: 'Outfit', system-ui, sans-serif; font-size: 20px; font-weight: 300;
  letter-spacing: 0; text-transform: none; color: var(--jp-tinta); appearance: none; -webkit-appearance: none; transition: border-color .3s ease;
}
.jp-campo textarea { min-height: 96px; padding-right: 0; resize: vertical; line-height: 1.5; }
.jp-campo select {
  background-repeat: no-repeat; background-position: right 2px center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ededed' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.contacto-jp .jp-campo select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2322313a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.jp-campo select option { color: #22313a; background: #ffffff; }
.jp-campo input::placeholder, .jp-campo textarea::placeholder { color: var(--jp-placeholder) !important; opacity: 1; } /* marca.css pinta los placeholders de blanco para el CRM oscuro */
.jp-campo select:hover, .jp-campo input:hover, .jp-campo textarea:hover { border-bottom-color: var(--jp-linea-fuerte); }
.jp-campo select:focus, .jp-campo input:focus, .jp-campo textarea:focus { outline: none; border-bottom-color: var(--jp-acento); box-shadow: none; }

.jp-enviar {
  justify-self: start; display: inline-flex; align-items: center; gap: 18px; margin-top: 36px; padding: 0; border: 0; background: none; cursor: pointer;
  font-family: var(--pt-titulo); font-size: clamp(24px, 2.2vw, 32px); font-style: italic; font-weight: 300; color: var(--jp-tinta);
}
.jp-enviar .circulo { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--jp-circulo); color: var(--jp-circulo-tinta); transition: background .45s var(--pt-ease), color .45s var(--pt-ease), transform .45s var(--pt-ease); }
.jp-enviar:hover .circulo { background: var(--jp-circulo-hover); color: var(--jp-circulo-hover-tinta); transform: rotate(-45deg); }
.jp-enviar:active .circulo { transform: scale(.94); }
.jp-enviar:disabled { opacity: .6; cursor: wait; }
.jp-enviar:focus-visible { outline: 2px solid var(--jp-acento); outline-offset: 6px; }
.tasar-jp .form-feedback, .contacto-jp .form-feedback { margin-top: 20px; text-align: left; border-radius: 0; }

/* ─── Bienvenida: ¿comprar, vender o alquilar? ─────────────────────────── */
.bienvenida { position: fixed; inset: 0; z-index: 10050; display: grid; place-items: center; padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom)); }
.bienvenida[hidden] { display: none; }
.bienvenida-fondo { position: absolute; inset: 0; background: rgba(14, 20, 23, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .5s ease; }
.bienvenida-caja {
  position: relative; width: min(440px, 100%); padding: 44px 36px 30px; text-align: center; color: var(--pt-hueso);
  background: var(--pt-noche); border: 1px solid rgba(237, 237, 237, .12); border-radius: 4px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
  opacity: 0; transform: translateY(16px) scale(.98); transition: opacity .55s var(--pt-ease), transform .55s var(--pt-ease);
}
.bienvenida.abierta .bienvenida-fondo { opacity: 1; }
.bienvenida.abierta .bienvenida-caja { opacity: 1; transform: none; }
.bienvenida-cerrar { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--pt-tenue); cursor: pointer; transition: color .3s ease, background .3s ease; }
.bienvenida-cerrar:hover { color: var(--pt-hueso); background: rgba(237, 237, 237, .08); }
.bienvenida-logo { display: block; width: 170px; height: auto; margin: 0 auto 26px; }
.bienvenida-titulo { margin: 0 0 24px; font-family: var(--pt-titulo); font-weight: 300; font-size: 30px; line-height: 1.1; letter-spacing: -0.01em; color: var(--pt-hueso); }
.bienvenida-titulo em { font-style: italic; }
.bienvenida-opciones { display: grid; }
.bienvenida-opcion {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 64px; padding: 0 2px;
  border: 0; border-top: 1px solid var(--pt-linea); background: none; cursor: pointer; text-align: left;
  font-family: var(--pt-marca); font-size: 19px; font-weight: 300; letter-spacing: .02em; color: var(--pt-hueso);
}
.bienvenida-opcion:last-child { border-bottom: 1px solid var(--pt-linea); }
.bienvenida-opcion .circulo { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; border: 1px solid var(--pt-linea); transition: background .4s var(--pt-ease), border-color .4s var(--pt-ease), transform .4s var(--pt-ease); }
.bienvenida-opcion:hover .circulo, .bienvenida-opcion:focus-visible .circulo { background: var(--pt-verde); border-color: var(--pt-verde); transform: translateX(3px); }
.bienvenida-opcion:focus-visible, .bienvenida-cerrar:focus-visible, .bienvenida-solo-mirar:focus-visible { outline: 2px solid var(--pt-salvia); outline-offset: 3px; }
.bienvenida-solo-mirar { margin-top: 20px; padding: 10px; border: 0; background: none; cursor: pointer; font-family: var(--pt-marca); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--pt-tenue); }
.bienvenida-solo-mirar:hover { color: var(--pt-hueso); }
@media (prefers-reduced-motion: reduce) { .bienvenida-caja, .bienvenida-fondo { transition-duration: .01s; } }

/* ─── Nosotros: textos en los grises oscuros de la marca para que se lean ── */
.about-section .about-lead { color: #22313a; font-weight: 400; }
.about-section .about-p { color: #3d4d55; font-weight: 400; }
.about-section .about-lead strong, .about-section .about-p strong { color: #22313a; font-weight: 600; }
.about-section .feat-box h4 { color: #22313a; font-weight: 500; }
.about-section .feat-box p { color: #46565e; font-weight: 400; }

/* ─── Celular: logo del encabezado más grande ──────────────────────────── */
@media (max-width: 768px) {
  /* el logo usa todo el ancho que deja el menú (sin desbordar en celulares angostos) */
  #main-header .brand-logo-img { height: auto; width: min(262px, calc(100vw - 110px)); }
  #main-header .header-container { gap: 12px; }
  /* el menú (las 3 líneas) acompaña el tamaño del logo */
  /* centradas sobre el texto del logo (no sobre el techo) y a 20 px del borde, como el logo del otro lado */
  #main-header .mobile-menu-toggle { padding: 4px 0 4px 4px; margin: 0; transform: translateY(12px); line-height: 0; }
  #main-header .mobile-menu-toggle i, #main-header .mobile-menu-toggle svg { width: 42px; height: 42px; stroke-width: 1.6; }
}

/* ─── Pie de página: isologotipo completo para fondo oscuro ─────────────── */
.footer-logo-row .footer-logo-completo { width: 210px; height: auto; max-width: 100%; border-radius: 0; }

/* ─── Entradas (solo transform y opacidad) ──────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .portada-eslogan .l > span { transform: translateY(105%); animation: pt-subir 1.3s var(--pt-ease) forwards; }
  .portada-eslogan .l2 > span { animation-delay: .14s; }
  .portada-aparece { opacity: 0; transform: translateY(18px); animation: pt-entrar 1.1s var(--pt-ease) forwards; animation-delay: var(--d, .4s); }
  @keyframes pt-subir { to { transform: none; } }
  @keyframes pt-entrar { to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  .portada-foto.activa img { animation: none; }
  .portada-foto { transition-duration: .01s; }
}

/* ─── Tablet y celular ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .jp-dos-columnas { grid-template-columns: 1fr; }
  .buscar-portada-cab { grid-template-columns: 1fr; }
  .buscar-portada-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; }
}
@media (max-width: 768px) {
  .portada { height: calc(100svh - var(--pt-barra, 46px)); min-height: 560px; }
  .portada-titular { bottom: 120px; }
  .portada-titular .container { gap: 20px; }
  .portada-eslogan { font-size: clamp(30px, 9.2vw, 58px); }
  .portada-eslogan .l2 { padding-left: 0; }
  .portada-bajada { font-size: 16px; }
  .portada-acciones { flex-direction: column; gap: 14px; }
  .portada-accion .circulo { width: 48px; height: 48px; }
  .portada-pie { bottom: 18px; }
  .portada-pie .container { font-size: 12px; }
  .portada-contador .barra { width: 64px; }
  .portada-deslizar { display: none; } /* en el celular se baja con el dedo y ahí va el botón flotante de WhatsApp */
  .main-header.sobre-portada .mobile-menu-drawer { background: var(--pt-noche); border-bottom-color: var(--pt-linea); }
  .main-header.sobre-portada .mobile-nav-link { color: var(--pt-hueso); }
}
@media (max-width: 520px) {
  .jp-campos { grid-template-columns: 1fr; gap: 26px; }
  .jp-campo select, .jp-campo input, .jp-campo textarea { font-size: 18px; }
  .buscar-portada-campos { grid-template-columns: 1fr; }
  .buscar-portada .campo select, .buscar-portada .campo input { font-size: 20px; }
  .buscar-portada-cierre { flex-direction: column; align-items: flex-start; }
}

/* ─── Sin el botón flotante del bot (el chat se abre desde el pie de página y las redes) ─── */
.floating-whatsapp-btn { display: none !important; }
