/* TuTallerYa v10.65 — ajustes de cierre, limitados a navegación, búsqueda,
   portada y footer. El resto del producto se mantiene intacto. */

/* 1) Mismo lenguaje visual de navegación en Home, resultados y documentos legales. */
body .header.tty-unified-nav {
  z-index: 90;
  background: var(--background);
  box-shadow: none;
  border-bottom: 1px solid var(--line);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.editorial-page .header.tty-unified-nav {
  position: absolute;
  inset: 0 0 auto;
  background: transparent;
  border: 0;
}
body:not(.editorial-page) .header.tty-unified-nav { position: relative; }
body .header.tty-unified-nav .nav-shell,
body.results-page .header.tty-unified-nav .nav-shell {
  width: calc(100% - 7vw);
  max-width: none;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-inline: auto;
  padding: 0;
  border-bottom: 0;
}
body.editorial-page .header.tty-unified-nav .nav-shell {
  border-bottom: 1px solid var(--line);
}
body .header.tty-unified-nav .brand img,
body.results-page .header.tty-unified-nav .brand img {
  width: 125px;
  height: 59px;
  object-fit: contain;
}
body .header.tty-unified-nav .nav-shell nav,
html.js body .header.tty-unified-nav .nav-shell nav {
  display: flex;
  flex: 1;
  order: 0;
  position: static;
  width: auto;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  gap: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
body .header.tty-unified-nav .nav-shell nav a {
  padding: 10px 8px;
  font-size: 11px;
  font-weight: 550;
  color: var(--ink);
  white-space: nowrap;
  background: none;
}
body .header.tty-unified-nav .nav-shell nav a:hover,
body .header.tty-unified-nav .nav-shell nav a:focus-visible { color: var(--blue-ink); }
body .header.tty-unified-nav .nav-actions { display: flex; align-items: center; gap: 12px; }
body .header.tty-unified-nav .theme-toggle {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
}
body .header.tty-unified-nav .nav-cta,
body.results-page .header.tty-unified-nav .nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 9px 17px;
  gap: 12px;
  border-radius: 999px;
  border: 1px solid #155DFD;
  background: #155DFD;
  color: white;
  box-shadow: none;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 650;
}
body .header.tty-unified-nav .nav-cta .icon { width: 17px; height: 17px; }
body .header.tty-unified-nav .nav-cta:hover { background: #0c4fe3; border-color: #0c4fe3; }
body .header.tty-unified-nav .menu-toggle { display: none !important; }
body .header.tty-unified-nav .reading-progress { display: none; }

@media (max-width: 760px) {
  body .header.tty-unified-nav .nav-shell,
  body.results-page .header.tty-unified-nav .nav-shell {
    width: calc(100% - 30px);
    min-height: 68px;
    gap: 9px;
  }
  body .header.tty-unified-nav .brand img,
  body.results-page .header.tty-unified-nav .brand img { width: 103px; height: 51px; }
  body .header.tty-unified-nav .nav-actions { gap: 5px; }
  body .header.tty-unified-nav .theme-toggle { width: 32px; min-width: 32px; height: 32px; }
  body .header.tty-unified-nav .nav-cta,
  body.results-page .header.tty-unified-nav .nav-cta {
    min-height: 34px;
    padding: 8px 11px;
    font-size: 10px;
    gap: 0;
  }
  body .header.tty-unified-nav .nav-cta .icon { display: none; }
  body .header.tty-unified-nav .nav-shell nav a { font-size: 11px; padding: 7px 4px; }
}
@media (max-width: 380px) {
  body .header.tty-unified-nav .nav-shell,
  body.results-page .header.tty-unified-nav .nav-shell {
    width: calc(100% - 20px);
    min-height: 62px;
    gap: 5px;
  }
  body .header.tty-unified-nav .brand img,
  body.results-page .header.tty-unified-nav .brand img { width: 87px; height: 45px; }
  body .header.tty-unified-nav .nav-cta,
  body.results-page .header.tty-unified-nav .nav-cta { font-size: 9px; padding: 7px 8px; }
  body .header.tty-unified-nav .theme-toggle { width: 30px; min-width: 30px; height: 30px; }
}

/* 2) Autocompletado fuera de las tarjetas y de sus contextos de recorte.
   El mismo panel conserva su semántica de listbox y los estados accesibles.
   Las coordenadas de posición se actualizan por JavaScript respecto al input. */
.radar-address-picker { position:relative; min-width:0; }
body > .radar-address-panel.tty-address-portal[hidden] { display:none !important; }
body > .radar-address-panel.tty-address-portal:not([hidden]) {
  position:fixed !important;
  z-index:1100 !important;
  inset:auto !important;
  left:var(--tty-address-left, 12px) !important;
  top:var(--tty-address-top, 12px) !important;
  width:var(--tty-address-width, 350px) !important;
  max-width:calc(100vw - 16px);
  max-height:var(--tty-address-height, 260px) !important;
  min-width:0;
  margin:0;
  overflow-y:auto;
  overflow-x:hidden;
  visibility:hidden;
  box-sizing:border-box;
  box-shadow:0 18px 42px -14px rgba(3, 20, 52, .50);
  overscroll-behavior:contain;
}
body > .radar-address-panel.tty-address-portal[data-tty-positioned="true"]:not([hidden]) {
  visibility:visible;
}
body > .radar-address-panel.tty-address-portal .radar-address-options {
  max-height:var(--tty-address-list-height, 205px) !important;
  overflow-y:auto;
}
/* Google Maps y su atribución quedan visibles sin añadir nuevas filas al
   formulario ni desplazar el botón de búsqueda después de elegir ubicación. */
.editorial-page .e-search-shell .radar-address-picker > #radar-address-detail-attribution:not([hidden]) {
  position:absolute;
  right:0;
  top:calc(100% + 3px);
  max-width:100%;
  margin:0;
  padding:0 1px;
  border:0;
  line-height:1.2;
  font-size:10px;
  background:transparent;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}
/* La confirmación manual también queda fuera del flujo y no cambia el
   alto aprobado de la tarjeta. No modifica su lógica ni sus enlaces. */
.editorial-page .e-search-dock > .radar-location-confirmation:not([hidden]) {
  position:absolute;
  z-index:25;
  top:calc(100% + 12px);
  right:0;
  width:min(420px, 100%);
  box-sizing:border-box;
  margin:0;
  padding:13px 16px;
  border-radius:15px;
  border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));
  background:var(--surface);
  box-shadow:0 16px 34px -18px rgba(3,20,52,.4);
}
.editorial-page .e-search-dock > .radar-location-confirmation[hidden] {display:none !important;}

/* Reservar el espacio del texto de estado evita que seleccionar o escribir
   una dirección provoque saltos verticales del buscador en pantallas estrechas. */
@media (max-width:760px) {
  .editorial-page .e-search-shell .radar-form-help {
    min-height:2.9em;
  }
}

/* En móvil el dock ocupa el ancho real disponible. Las reglas editoriales
   antiguas redefinían width después del layout responsive. */
@media (max-width:760px) {
  .editorial-page .e-search-dock {
    left:18px;
    right:18px;
    width:auto;
  }
}

/* 3) Recuperar el tamaño y altura aprobados en v10.64. Reducir apenas
   el ancho tipográfico para dejar un pequeño espacio con el teléfono,
   sin desplazar el título hacia abajo ni cortar el punto final. */
@media (min-width:761px) {
  .editorial-page .e-title-bottom {
    right:2.2vw;
    font-size:min(6.8vw,16svh);
  }
}

/* 4) Footer aprobado: reducción proporcionada del conjunto sin rehacer el SVG,
   tipografía ni spotlight. */
.footer.footer--beam { padding-top: clamp(14px, 1.65vw, 22px); }
.footer--beam .footer-top { margin-bottom: clamp(5px, .75vw, 10px); gap: clamp(22px, 2.6vw, 46px); }
.footer--beam .footer-kicker,
.footer--beam .footer-heading { padding-bottom: 8px; }
.footer--beam .footer-social { margin-top: 10px; }
.footer--beam .footer-note { margin-top: 12px; }
.footer--beam .footer-legal a { min-height: 35px; padding-block: 4px; }
.footer--beam .footer-brand-unified { flex-basis: 800px; }
.footer--beam .footer-signature { padding-bottom: 2px; }
@media (max-width: 1024px) {
  .footer--beam .footer-top { margin-bottom: 12px; }
  .footer--beam .footer-brand-unified { flex-basis: 760px; }
}
@media (max-width: 700px) {
  .footer.footer--beam { padding-top: 22px; }
  .footer--beam .footer-top { gap: 14px; margin-bottom: 10px; }
  .footer--beam .footer-brand-unified { flex-basis: 100%; }
}

/* Las versiones anteriores tenían un menú móvil emergente con mayor
   especificidad (#menu); no se aplica al único enlace Legal. */
body.editorial-page .header.tty-unified-nav #menu,
body .header.tty-unified-nav #menu {
  position: static;
  order: 0;
  flex: 1 1 auto;
  padding: 0;
  margin: 0;
  width: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
