/*
 * Lautada Design System 5.8.40
 * Fuente canónica de ritmo vertical y jerarquía tipográfica del frontend.
 * Se carga después de style.css para evitar seguir acumulando parches allí.
 */

:root {
  --lautada-content-max: 1320px;
  --lautada-page-gutter: clamp(20px, 3vw, 42px);
  --lautada-page-top: clamp(22px, 2.2vw, 30px);
  --lautada-section-gap: clamp(38px, 4vw, 54px);
  --lautada-inner-gap: clamp(16px, 1.8vw, 22px);
  --lautada-card-gap: 10px;

  --lautada-title-h1: clamp(2.25rem, 3.4vw, 3.45rem);
  --lautada-title-h2: clamp(1.65rem, 2.15vw, 2.2rem);
  --lautada-title-h3: clamp(1.3rem, 1.55vw, 1.6rem);
  --lautada-title-h4: 1.12rem;

  --lautada-card-title-h2: clamp(1.2rem, 1.35vw, 1.4rem);
  --lautada-card-title-h3: clamp(1.08rem, 1.15vw, 1.22rem);
  --lautada-card-title-h4: 1rem;
  --lautada-card-pad-unified: clamp(18px, 2vw, 24px);
}

/* --------------------------------------------------------------------------
   1. EJE HORIZONTAL Y ARRANQUE DE PÁGINA
   -------------------------------------------------------------------------- */
body.lautada-site:not(.lautada-page-inicio) #main > :is(.ct-container, .ct-container-full)[data-vertical-spacing],
body.lautada-site:not(.lautada-page-inicio) .site-main > :is(.ct-container, .ct-container-full)[data-vertical-spacing] {
  padding-top: 0 !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > :not(.alignfull),
body.lautada-site.single-lu_actualidad article.lu-single,
body.lautada-site.single-lu_equipo .lu-team-single {
  box-sizing: border-box !important;
  width: min(calc(100% - (2 * var(--lautada-page-gutter))), var(--lautada-content-max)) !important;
  max-width: var(--lautada-content-max) !important;
  margin-inline: auto !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .alignfull.is-layout-constrained > :not(.alignfull),
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .lautada-band > :not(.alignfull) {
  box-sizing: border-box !important;
  width: min(calc(100% - (2 * var(--lautada-page-gutter))), var(--lautada-content-max)) !important;
  max-width: var(--lautada-content-max) !important;
  margin-inline: auto !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .lautada-page-hero {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--lautada-page-top) !important;
  padding-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   2. JERARQUÍA EDITORIAL. SOLO TÍTULOS QUE NO SON DE TARJETA
   -------------------------------------------------------------------------- */
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .lautada-page-hero h1,
body.lautada-site.single-lu_actualidad .lu-single-title,
body.lautada-site.single-lu_equipo .lu-team-single h1 {
  margin: 0 !important;
  font-size: var(--lautada-title-h1) !important;
  line-height: 1.04 !important;
  text-align: left !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-band, .lautada-note, .lautada-warning) > h2,
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-band, .lautada-note, .lautada-warning) > .wp-block-heading:is(h2) {
  font-size: var(--lautada-title-h2) !important;
  line-height: 1.12 !important;
  text-align: left !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-band, .lautada-note, .lautada-warning) > h3,
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-band, .lautada-note, .lautada-warning) > .wp-block-heading:is(h3) {
  font-size: var(--lautada-title-h3) !important;
  line-height: 1.16 !important;
  text-align: left !important;
}

/* --------------------------------------------------------------------------
   3. RITMO VERTICAL ENTRE BLOQUES DE PRIMER NIVEL
   -------------------------------------------------------------------------- */
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > :is(
  .lautada-section,
  .lautada-link-grid,
  .lautada-card-grid,
  .lautada-stat-grid,
  .lautada-team-grid,
  .lautada-bilingual,
  .lautada-note,
  .lautada-warning,
  .lautada-band,
  .lautada-wide-photo,
  .wp-block-columns,
  .lu-teams,
  .wpk-campaign
) {
  margin-top: var(--lautada-section-gap) !important;
  margin-bottom: 0 !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .lautada-page-hero + :is(
  .lautada-section,
  .lautada-link-grid,
  .lautada-card-grid,
  .lautada-stat-grid,
  .lautada-team-grid,
  .lautada-bilingual,
  .lautada-note,
  .lautada-warning,
  .lautada-band,
  .lautada-wide-photo,
  .wp-block-columns,
  figure,
  .lu-teams,
  .wpk-campaign
) {
  margin-top: var(--lautada-section-gap) !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content > .lautada-section:not(.lautada-band) {
  padding-block: 0 !important;
}

/* Título -> texto -> rejilla: relaciones pequeñas y predecibles. */
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-note, .lautada-warning) > :is(h2,h3) + p {
  margin-top: 8px !important;
}

body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content :is(.lautada-section, .lautada-note, .lautada-warning) > p + :is(.wp-block-columns,.lautada-link-grid,.lautada-card-grid,.lautada-stat-grid,.lautada-team-grid) {
  margin-top: var(--lautada-inner-gap) !important;
}

/* Apartados sucesivos dentro de un mismo grupo (Documentos útiles es el caso
   principal): el siguiente título de sección vuelve a abrir un salto grande. */
body.lautada-site.lautada-managed-page:not(.lautada-page-inicio) .entry-content .lautada-section > :is(h2,h3):not(:first-child) {
  margin-top: var(--lautada-section-gap) !important;
}

body.lautada-site.lautada-page-documentos-utiles .entry-content .lautada-documents-sep2026 > .wp-block-columns + h2,
body.lautada-site.lautada-page-documentos-utiles .entry-content .lautada-documents-sep2026 > p + h2 {
  margin-top: var(--lautada-section-gap) !important;
}

body.lautada-site.lautada-page-documentos-utiles .entry-content .lautada-documents-sep2026 > h2 + .wp-block-columns,
body.lautada-site.lautada-page-documentos-utiles .entry-content .lautada-documents-sep2026 > p + .wp-block-columns {
  margin-top: var(--lautada-inner-gap) !important;
}

/* --------------------------------------------------------------------------
   4. TARJETAS: SU TÍTULO ES UN COMPONENTE, NO UN TÍTULO DE SECCIÓN
   -------------------------------------------------------------------------- */
body.lautada-site .entry-content :is(
  .lautada-card,
  .lautada-resource-card,
  .lautada-link-card,
  .lautada-stat,
  .lautada-team-card,
  .lautada-sponsor-card,
  .lautada-highlight-box,
  .lautada-contact-card,
  .lu-card,
  .lu-team-card
) h2 {
  margin: 0 0 var(--lautada-card-gap) !important;
  font-size: var(--lautada-card-title-h2) !important;
  line-height: 1.16 !important;
  text-align: left !important;
}

body.lautada-site .entry-content :is(
  .lautada-card,
  .lautada-resource-card,
  .lautada-link-card,
  .lautada-stat,
  .lautada-team-card,
  .lautada-sponsor-card,
  .lautada-highlight-box,
  .lautada-contact-card,
  .lu-card,
  .lu-team-card
) h3,
body.lautada-site .entry-content .lu-card-title {
  margin: 0 0 var(--lautada-card-gap) !important;
  font-size: var(--lautada-card-title-h3) !important;
  line-height: 1.18 !important;
  text-align: left !important;
}

body.lautada-site .entry-content :is(
  .lautada-card,
  .lautada-resource-card,
  .lautada-link-card,
  .lautada-stat,
  .lautada-team-card,
  .lautada-sponsor-card,
  .lautada-highlight-box,
  .lautada-contact-card,
  .lu-card,
  .lu-team-card
) h4 {
  margin: 0 0 8px !important;
  font-size: var(--lautada-card-title-h4) !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* Refuerzo de especificidad frente a reglas históricas de .entry-content h2. */
body.lautada-site.lautada-managed-page .entry-content .lu-team-card h2,
body.lautada-site.lautada-managed-page .entry-content .lautada-resource-card h2,
body.lautada-site.lautada-managed-page .entry-content .lautada-link-card h2,
body.lautada-site.lautada-managed-page .entry-content .lautada-stat h2 {
  font-size: var(--lautada-card-title-h2) !important;
  line-height: 1.16 !important;
}

body.lautada-site.lautada-managed-page .entry-content .lu-team-card__body,
body.lautada-site.lautada-managed-page .entry-content :is(.lautada-resource-card,.lautada-link-card,.lautada-stat) {
  padding: var(--lautada-card-pad-unified) !important;
}

body.lautada-site .entry-content :is(.lautada-resource-card,.lautada-link-card,.lautada-stat,.lu-team-card) :is(p,ul,ol):last-child {
  margin-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   5. TIENDA Y FICHAS PROPIAS
   -------------------------------------------------------------------------- */
body.lautada-shop-page .lautada-shop-hero,
body.lautada-product-page .product.type-product,
body.single-lu_actualidad article.lu-single,
body.single-lu_equipo .lu-team-single {
  padding-top: var(--lautada-page-top) !important;
}

body.lautada-product-page #main > :is(.ct-container,.ct-container-full)[data-vertical-spacing] {
  padding-top: 0 !important;
}

@media (max-width: 720px) {
  :root {
    --lautada-page-gutter: 18px;
    --lautada-page-top: 18px;
    --lautada-section-gap: 30px;
    --lautada-inner-gap: 14px;
    --lautada-title-h1: clamp(2rem, 9.2vw, 2.55rem);
    --lautada-title-h2: clamp(1.5rem, 6.4vw, 1.8rem);
    --lautada-title-h3: clamp(1.22rem, 5vw, 1.4rem);
    --lautada-card-title-h2: 1.18rem;
    --lautada-card-title-h3: 1.08rem;
    --lautada-card-title-h4: .98rem;
    --lautada-card-pad-unified: 18px;
  }
}
