/*
 * Puente CSS para la reconstrucción 100% nativa (bloques de Gutenberg) de
 * las páginas de servicio v2 (servicio.css). Traduce el sistema .sx-btn
 * al marcado que genera core/button y ajusta las imágenes editoriales
 * (wp:image) a las medidas que tenían sus placeholders en el HTML de
 * mano. Se carga al final para poder sobreescribir con seguridad.
 */

/* ---------- Muro de clientes (.sx-mq__tile): logos deformados ----------
   servicios-approved.css solo define max-width:100%/max-height:100% en
   .sx-mq__tile img, sin width:auto — funciona con un <img> de HTML puro
   (sin atributos width/height), pero desde que esos logos se sirven vía
   wp_get_attachment_image() (que sí pone width/height reales, para evitar
   CLS), esos atributos actúan como un width fijo de baja prioridad; sin
   width:auto que lo anule, la imagen se estira a un ancho que no
   corresponde a su alto real. Bug real reportado por el propietario del
   sitio (2026-08-19): varios logos (los de proporción distinta a 120:46)
   se veían deformados en las páginas de servicio. */
.sx-mq__tile img { width: auto; }

/* ---------- Botones (core/button) ----------
   Escopado a variantes .sx-btn--* explícitas: un selector genérico
   ".wp-block-button .wp-block-button__link" aquí se filtraría también al
   botón del header/footer compartido (que no lleva ninguna clase
   .sx-btn--*), pisando su radio pill con el de esta página.
   Radio: pill (var(--radius-pill)), igual que TODOS los botones ya
   construidos en home y blog (native-blocks-bridge.css,
   blog-approved-bridge.css) — no var(--radius-md), que es el valor
   literal de servicio.css pero rompe la consistencia visual del sitio ya
   construido. Se sobreescribe también .sx-btn (botón HTML plano del
   formulario) por la misma razón, sin tocar servicios-approved.css. */
.sx-btn { border-radius: var(--radius-pill); }

/* servicio.css define .sx-btn--accent/--secondary/--lg/--block como
   clases sueltas (pensadas para un único <a class="sx-btn sx-btn--...">
   en el HTML de mano). El bloque nativo core/button pone esas mismas
   clases en el <div class="wp-block-button"> que ENVUELVE al enlace real
   — así que ese div también recibía fondo/padding/tamaño de
   servicio.css, quedando cuadrado y del mismo color detrás del enlace
   (que sí es pill), tapando la curva casi por completo. Se anula
   explícitamente el div envolvente para que solo el enlace interno
   dibuje el botón. */
.wp-block-button[class*="sx-btn--"] {
  background: none;
  color: inherit;
  padding: 0;
  min-height: 0;
  font-size: inherit;
  border: none;
}

.wp-block-button[class*="sx-btn--"] .wp-block-button__link {
  font-family: var(--font-body);
  font-weight: var(--weight-semibold);
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  min-height: 48px;
  padding: 0 22px;
  font-size: 15px;
}
.wp-block-button.sx-btn--lg .wp-block-button__link { min-height: 54px; padding: 0 28px; font-size: 16px; }
.wp-block-button.sx-btn--accent .wp-block-button__link { background: var(--cyan-600); color: var(--text-inverse); }
.wp-block-button.sx-btn--accent .wp-block-button__link:hover { background: var(--navy-700); color: var(--text-inverse); }
.wp-block-button.sx-btn--primary .wp-block-button__link { background: var(--navy-900); color: var(--text-inverse); }
.wp-block-button.sx-btn--primary .wp-block-button__link:hover { background: var(--navy-800); color: var(--text-inverse); }
.wp-block-button.sx-btn--secondary .wp-block-button__link { background: var(--white); color: var(--navy-900); border-color: var(--gray-300); }
.wp-block-button.sx-btn--secondary .wp-block-button__link:hover { border-color: var(--navy-500); background: var(--navy-50); color: var(--navy-900); }
.wp-block-button.sx-btn--outline-inverse .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.wp-block-button.sx-btn--outline-inverse .wp-block-button__link:hover { border-color: #fff; color: #fff; }
.wp-block-buttons.sx-btn--block .wp-block-button__link,
.wp-block-button.sx-btn--block .wp-block-button__link { width: 100%; }

/* ---------- Imágenes editoriales (wp:image en vez de <img-ph>) ----------
   Cada familia conserva la proporción para la que fue compuesta. La altura
   fluida evita que object-fit recorte la ilustración en desktop o móvil. */
.sx-split__media img,
.sx-split__media .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 1030; object-fit: cover; border-radius: var(--radius-lg); }
.sx-fig--wide img,
.sx-fig--wide .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 460; object-fit: cover; border-radius: var(--radius-lg); }
.sx-breakout img,
.sx-breakout .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 1440 / 520; object-fit: cover; border-radius: var(--radius-lg); }
.sx-fig--ads img,
.sx-fig--ads .wp-block-image img { aspect-ratio: 1600 / 345; }
.sx-split__media.wp-block-image,
.sx-fig--wide.wp-block-image,
.sx-breakout.wp-block-image { margin: 0; }

/* ---------- Marquesina de logos (wp:image dentro de .sx-mq__item) ---------- */
.sx-mq__item .wp-block-image { margin: 0; }

/* ---------- Lista numerada (core/list ordered) ----------
   .sx-cards ya define su propio contador CSS sobre <ol>/<li>; el bloque
   nativo core/list con "ordered":true genera exactamente ese marcado,
   sin ajustes adicionales. */

/* ---------- Header fijo compartido ----------
   servicio.css diseñó el hero (.sxsvc-hero__inner) para convivir con el
   header propio del mockup v2 (.sx-hd, position:sticky — no se superpone
   al contenido). Las páginas de servicio reutilizan el header compartido
   de todo el sitio (parts/header.html, .site-header, position:fixed, 64px
   de alto en móvil y 72px desde 768px), que si se superpone. Se suma esa
   altura al padding-top original para que el breadcrumb y el eyebrow no
   queden tapados. */
.sxsvc-hero__inner { padding-top: 104px; }
@media (min-width: 768px) {
  .sxsvc-hero__inner { padding-top: 136px; }
}

/* ---------- Anclas ---------- */
.sxsvc-hero { scroll-margin-top: 88px; }
#que-es, #gmb, #contacto { scroll-margin-top: 88px; }
