/* OWNER: local-seo agent — Landings locales (/marketing-digital y /marketing-digital/:slug).
 * Mobile-first. Sólo variables semánticas de docs/THEMING.md (claro por defecto + oscuro). */

/* ---------------------------------------------------------------- hero */
.lp-hero { padding-bottom: clamp(32px, 5vw, 64px); }
.lp-hero__grid { display: grid; gap: var(--mm-space-6); align-items: start; }
.lp-hero__title { max-width: 16ch; text-wrap: balance; }
.lp-hero__lead { margin-top: var(--mm-space-5); max-width: 60ch; }
.lp-hero__lead p + p { margin-top: .8em; }
.lp-hero__lead a { color: var(--mm-accent-text); }
.lp-actions { margin-top: var(--mm-space-6); gap: 12px 16px; }
.lp-hero__visual { display: none; }
.lp-preview {
  display: inline-block;
  margin-bottom: var(--mm-space-4);
  padding: 8px 14px;
  border: 1px solid var(--mm-border-strong);
  border-radius: var(--mm-radius-sm);
  background: var(--mm-accent-soft);
  color: var(--mm-text);
  font-size: var(--mm-fs-small);
}
@media (max-width: 559px) {
  .lp-actions { flex-direction: column; align-items: stretch; }
  .lp-actions .btn { width: 100%; }
}
@media (min-width: 960px) {
  .lp-hero__grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 56px; align-items: center; }
  .lp-hero--premium .lp-hero__visual { display: block; max-width: 420px; }
}

/* ---------------------------------------------------------------- tira de confianza */
.lp-trust {
  margin-top: var(--mm-space-6);
  padding-top: var(--mm-space-5);
  border-top: 1px solid var(--mm-border);
}
.lp-trust__title {
  color: var(--mm-text-subtle);
  font-family: var(--mm-font-display);
  font-weight: var(--mm-fw-label);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lp-trust__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 26px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
/* Logos a color real (sin filtros); en oscuro sobre una ficha clara (--mm-logo-tile-bg, ver tokens.css) */
.lp-trust__item {
  display: grid;
  place-items: center;
  padding: var(--mm-logo-tile-pad);
  border-radius: 10px;
  background: var(--mm-logo-tile-bg);
  transition: transform var(--mm-dur) var(--mm-ease), opacity var(--mm-dur) var(--mm-ease);
}
.lp-trust__img { width: auto; height: 36px; max-width: none; object-fit: contain; }
.lp-trust__item:hover { transform: translateY(-2px); opacity: 0.9; }
@media (min-width: 768px) { .lp-trust__img { height: 40px; } }

/* ---------------------------------------------------------------- tarjetas y paneles */
.lp-card {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius-sm);
  background: var(--mm-surface);
}
.lp-panel {
  padding: clamp(20px, 4vw, 44px);
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius);
  background: var(--mm-bg-alt);
}
.lp-section { padding-block: clamp(28px, 5vw, 56px); }
.lp-section + .lp-section { padding-top: 0; }
.lp-head { display: grid; gap: var(--mm-space-3); margin-bottom: var(--mm-space-6); max-width: 70ch; }
.lp-head .kicker { margin-bottom: 0; }
.lp-head__text { color: var(--mm-text-muted); }
.lp-foot { margin-top: var(--mm-space-5); }
.lp .h-sub { text-wrap: balance; }

/* datos rápidos */
.lp-facts__list { display: grid; gap: 14px; margin: 0; }
.lp-facts__list > div { display: grid; gap: 2px; padding-bottom: 14px; border-bottom: 1px solid var(--mm-border); }
.lp-facts__list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.lp-facts__list dt {
  color: var(--mm-text-subtle);
  font-family: var(--mm-font-display);
  font-weight: var(--mm-fw-label);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lp-facts__list dd { margin: 0; color: var(--mm-text); font-weight: 500; }
.lp-facts__list dd span { display: block; color: var(--mm-text-muted); font-size: var(--mm-fs-small); font-weight: 400; }

/* ---------------------------------------------------------------- contexto + aside */
.lp-split { display: grid; gap: var(--mm-space-6); }
.lp-split__main .kicker { margin-bottom: var(--mm-space-3); }
.lp-split__main .h-sub { margin-bottom: var(--mm-space-5); }
.lp-split__aside { display: grid; gap: var(--mm-space-4); align-content: start; }
.lp-mini-cta { display: grid; gap: 10px; background: var(--mm-accent-soft); border-color: color-mix(in srgb, var(--mm-accent-strong) 35%, transparent); }
.lp-mini-cta__title { font-family: var(--mm-font-display); font-weight: 600; color: var(--mm-text); }
.lp-mini-cta__text { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }
@media (min-width: 1000px) {
  .lp-split { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: 56px; }
  .lp-split__aside { position: sticky; top: calc(var(--mm-header-h, 72px) + 24px); }
}

/* texto largo */
.lp-prose { max-width: 72ch; }
.lp-body { margin-inline: auto; }
.lp-body h2 { padding-top: var(--mm-space-5); border-top: 1px solid var(--mm-border); }
.lp-body > h2:first-child { padding-top: 0; border-top: 0; }

/* ---------------------------------------------------------------- grillas */
.lp-grid { display: grid; gap: var(--mm-space-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .lp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.lp-focus__item { display: grid; gap: 10px; align-content: start; }
.lp-focus__icon { color: var(--mm-accent-strong); }
.lp-focus__title { font-size: 1.125rem; line-height: 1.3; }
.lp-focus__title a { color: var(--mm-text); text-decoration: none; }
.lp-focus__title a:hover { color: var(--mm-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.lp-focus__text { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }

/* casos */
.lp-case { padding: 0; overflow: hidden; }
.lp-case__link { display: grid; height: 100%; color: inherit; text-decoration: none; }
.lp-case__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mm-surface-2); border-bottom: 1px solid var(--mm-border); }
.lp-case__img, .lp-case__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--mm-ease); }
.lp-case__link:hover .lp-case__media img { transform: scale(1.03); }
.lp-case__body { display: grid; gap: 8px; padding: 18px 20px 22px; align-content: start; }
.lp-case__meta { color: var(--mm-text-subtle); font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; }
.lp-case__title { font-family: var(--mm-font-display); font-weight: 600; font-size: 1.0625rem; line-height: 1.3; color: var(--mm-text); }
.lp-case__link:hover .lp-case__title { color: var(--mm-accent-text); }
.lp-case__metric { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }
.lp-case__metric strong { display: block; color: var(--mm-accent-text); font-family: var(--mm-font-display); font-size: 1.5rem; line-height: 1.1; }
.lp-case__summary { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }
.lp-case__link:focus-visible { outline: 2px solid var(--mm-focus-color); outline-offset: -2px; }

/* testimonio */
.lp-quote blockquote p { font-size: var(--mm-fs-lead); color: var(--mm-text); }
.lp-quote figcaption { margin-top: var(--mm-space-4); color: var(--mm-text-muted); }

/* ---------------------------------------------------------------- cómo trabajamos */
.lp-panel__head { display: grid; gap: var(--mm-space-3); max-width: 70ch; }
.lp-panel__head .kicker { margin-bottom: 0; }
.lp-panel__text { color: var(--mm-text-muted); }
.lp-steps { display: grid; gap: var(--mm-space-4); margin: var(--mm-space-6) 0 0; padding: 0; list-style: none; }
.lp-step { padding: 18px; border: 1px solid var(--mm-border); border-radius: var(--mm-radius-sm); background: var(--mm-surface); }
.lp-step__num { color: var(--mm-accent-text); font-family: var(--mm-font-display); font-weight: 600; font-size: .875rem; letter-spacing: .06em; }
.lp-step__title { margin: 6px 0 4px; font-size: 1.0625rem; line-height: 1.3; }
.lp-step p { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }
@media (min-width: 700px) { .lp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lp-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------------------------------------------------------------- líder (E-E-A-T) */
.lp-leader {
  display: grid;
  gap: var(--mm-space-5);
  padding: clamp(20px, 4vw, 40px);
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius);
  background: var(--mm-surface);
}
.lp-leader__avatar { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.lp-leader__avatar--initials {
  background: var(--mm-accent-soft);
  border: 1px solid color-mix(in srgb, var(--mm-accent-strong) 40%, transparent);
  color: var(--mm-accent-text);
  font-family: var(--mm-font-display);
  font-weight: 600;
  font-size: 1.75rem;
}
.lp-leader__body .kicker { margin-bottom: var(--mm-space-3); }
.lp-leader__name { font-size: var(--mm-fs-h4); line-height: 1.2; }
.lp-leader__name a { color: var(--mm-text); text-decoration: none; }
.lp-leader__name a:hover { color: var(--mm-accent-text); }
.lp-leader__alt { color: var(--mm-text-subtle); font-weight: 400; font-size: .8em; }
.lp-leader__role { margin-top: 6px; color: var(--mm-text-muted); }
.lp-leader__list { display: grid; gap: 8px; margin: var(--mm-space-5) 0 0; padding: 0; list-style: none; }
.lp-leader__list li { position: relative; padding-left: 22px; color: var(--mm-text-muted); }
.lp-leader__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .6em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--mm-accent-strong);
  transform: rotate(45deg);
}
.lp-leader__links { display: flex; flex-wrap: wrap; gap: 0 24px; margin-top: var(--mm-space-4); }
.lp-leader .lp-chips { margin-top: var(--mm-space-4); }
@media (min-width: 760px) { .lp-leader { grid-template-columns: auto minmax(0, 1fr); gap: 36px; } }

/* ---------------------------------------------------------------- chips y enlaces */
.lp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lp-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--mm-border-strong);
  border-radius: var(--mm-radius-pill);
  background: var(--mm-surface);
  color: var(--mm-text);
  font-size: var(--mm-fs-label);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color var(--mm-dur) var(--mm-ease), border-color var(--mm-dur) var(--mm-ease);
}
a.lp-chip:hover { border-color: var(--mm-accent); background: var(--mm-accent-soft); }
a.lp-chip:focus-visible { outline: 2px solid var(--mm-focus-color); outline-offset: 2px; }
.lp-chip--accent { border-color: var(--mm-accent-strong); }
.lp-chips--static .lp-chip { min-height: 32px; padding: 5px 12px; font-size: .8125rem; color: var(--mm-text-muted); }
.lp-chip__n { color: var(--mm-text-subtle); font-size: .8em; font-variant-numeric: tabular-nums; }
.lp-links { display: grid; gap: var(--mm-space-5); }
.lp-links__group { display: grid; gap: 10px; }
.lp-links__title { font-size: .8125rem; color: var(--mm-text-subtle); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }

/* ---------------------------------------------------------------- hub */
.lp-zone__item { padding: 0; }
.lp-zone__link { display: grid; gap: 8px; height: 100%; padding: clamp(18px, 3vw, 26px); color: inherit; text-decoration: none; border-radius: inherit; }
.lp-zone__link:hover { background: var(--mm-surface-2); }
.lp-zone__link:focus-visible { outline: 2px solid var(--mm-focus-color); outline-offset: -2px; }
.lp-zone__kicker { color: var(--mm-accent-text); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.lp-zone__title { font-family: var(--mm-font-display); font-weight: 600; font-size: 1.1875rem; line-height: 1.25; color: var(--mm-text); }
.lp-zone__text { color: var(--mm-text-muted); font-size: var(--mm-fs-small); }
.lp-zone__item--main { border-color: var(--mm-accent-strong); background: var(--mm-accent-soft); }
@media (min-width: 700px) { .lp-zone__item--main { grid-column: 1 / -1; } }
.lp-provnav { margin-bottom: var(--mm-space-5); }
.lp-provinces { display: grid; gap: var(--mm-space-4); }
@media (min-width: 700px) { .lp-provinces { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lp-provinces { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lp-province { scroll-margin-top: calc(var(--mm-header-h, 72px) + 16px); }
.lp-province__title { font-size: 1.125rem; margin-bottom: var(--mm-space-3); }
.lp-province__list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lp-province__list a { color: var(--mm-text); text-decoration: none; }
.lp-province__list a:hover { color: var(--mm-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.lp-tag {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 8px;
  border-radius: var(--mm-radius-pill);
  background: var(--mm-accent-soft);
  color: var(--mm-accent-text);
  font-size: .75rem;
  vertical-align: middle;
}
.lp-tag--muted { background: transparent; border: 1px solid var(--mm-border); color: var(--mm-text-subtle); }
.lp-note { margin-top: var(--mm-space-5); color: var(--mm-text-muted); }
.lp-note a { color: var(--mm-accent-text); }

/* CTA final */
.lp-cta .cta__title { max-width: 26ch; margin-inline: auto; text-wrap: balance; }

/* objetivos táctiles cómodos (≥ 40 px) en listas de enlaces */
.lp-province__list { gap: 0; }
.lp-province__list a { display: inline-flex; align-items: center; min-height: 40px; }
.lp-focus__title a { display: inline-flex; align-items: center; min-height: 40px; }
.lp-leader__name a { display: inline-block; padding-block: 8px; }

/* hub: Buenos Aires ocupa todo el ancho, con subgrupos por región y lista en columnas */
.lp-provinces { align-items: start; }
.lp-province--wide { grid-column: 1 / -1; }
.lp-province__lead { color: var(--mm-text-muted); margin-bottom: var(--mm-space-3); }
.lp-province__lead a { color: var(--mm-text); }
.lp-province__sub { margin: var(--mm-space-4) 0 4px; color: var(--mm-text-subtle); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.lp-province__list--cols { display: block; columns: 2 160px; column-gap: 24px; }
.lp-province__list--cols li { break-inside: avoid; }
@media (min-width: 1100px) { .lp-province__list--cols { columns: 4 180px; } }
