/* Unlimit Service · Sistema visual compartido
   Una sola regla para todas las superficies: azul técnico, cian de acción y
   fondos fríos. Las hojas de cada página conservan su layout y este archivo
   alinea controles, estados y contraste. */
:root {
  --brand-ink: #071a3f;
  --brand-ink-2: #0d2b57;
  --brand-blue: #0d6efd;
  --brand-blue-strong: #0756d2;
  --brand-cyan: #2ab6ef;
  --brand-surface: #ffffff;
  --brand-ice: #f3f7fc;
  --brand-line: #d7e3ef;
  --brand-muted: #5b6f88;
  --brand-radius: 12px;
  --brand-shadow: 0 12px 28px rgba(7, 26, 63, .14);
  --brand-primary-gradient: linear-gradient(135deg, #0b5fda 0%, #147eed 52%, #2ab6ef 100%);
  --brand-primary-gradient-hover: linear-gradient(135deg, #094fb9 0%, #0d6ed8 52%, #1fa4df 100%);
}

/* Botón principal: misma jerarquía y respuesta en sitio público, SEO, acceso,
   portal del cliente y panel. */
:is(
  .seo-button--primary,
  .button--primary,
  .primary-button,
  .auth-submit,
  .header-cta,
  .menu__cta,
  .hero-diagnostic__action,
  .hero-diesel-copy__cta,
  .hero-real-composite__cta,
  .hero-fleet__ad-button,
  .hero-revision__action--schedule,
  .dpf-simulator-launcher__button,
  .service-card__content a
) {
  border: 1px solid rgba(77, 201, 255, .42);
  border-radius: var(--brand-radius);
  color: #fff;
  background: var(--brand-primary-gradient);
  box-shadow: 0 10px 22px rgba(13, 100, 231, .2), inset 0 1px 0 rgba(255, 255, 255, .22);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, filter .18s ease;
}

:is(
  .seo-button--primary,
  .button--primary,
  .primary-button,
  .auth-submit,
  .header-cta,
  .menu__cta,
  .hero-diagnostic__action,
  .hero-diesel-copy__cta,
  .hero-real-composite__cta,
  .hero-fleet__ad-button,
  .hero-revision__action--schedule,
  .dpf-simulator-launcher__button,
  .service-card__content a
):is(:hover, :focus-visible) {
  color: #fff;
  background: var(--brand-primary-gradient-hover);
  box-shadow: 0 14px 28px rgba(13, 100, 231, .28), inset 0 1px 0 rgba(255, 255, 255, .26);
  filter: saturate(1.06);
  transform: translateY(-2px);
}

:is(
  .seo-button--secondary,
  .button--secondary,
  .secondary-button,
  .auth-secondary-button,
  .header-login,
  .menu__login
) {
  border: 1px solid #b8cde5;
  border-radius: var(--brand-radius);
  color: var(--brand-ink);
  background: var(--brand-surface);
  box-shadow: 0 5px 14px rgba(7, 26, 63, .06);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}

:is(
  .seo-button--secondary,
  .button--secondary,
  .secondary-button,
  .auth-secondary-button,
  .header-login,
  .menu__login
):is(:hover, :focus-visible) {
  border-color: #82abe0;
  color: var(--brand-blue-strong);
  background: #eef6ff;
  box-shadow: 0 9px 20px rgba(7, 26, 63, .1);
  transform: translateY(-1px);
}

:is(
  .seo-button,
  .button,
  .primary-button,
  .secondary-button,
  .auth-submit,
  .auth-secondary-button,
  .header-cta,
  .header-login,
  .menu__cta,
  .menu__login,
  .hero-diagnostic__action,
  .hero-diesel-copy__cta,
  .hero-real-composite__cta,
  .hero-fleet__ad-button,
  .hero-revision__action,
  .dpf-simulator-launcher__button,
  .service-card__content a
):focus-visible {
  outline: 3px solid rgba(42, 182, 239, .36);
  outline-offset: 3px;
}

:is(
  .seo-button,
  .button,
  .primary-button,
  .secondary-button,
  .auth-submit,
  .auth-secondary-button,
  .header-cta,
  .header-login,
  .menu__cta,
  .menu__login,
  .hero-diagnostic__action,
  .hero-diesel-copy__cta,
  .hero-real-composite__cta,
  .hero-fleet__ad-button,
  .hero-revision__action,
  .dpf-simulator-launcher__button,
  .service-card__content a
):disabled,
:is(.primary-button, .secondary-button, .auth-submit, .button):disabled {
  box-shadow: none;
  filter: grayscale(.22);
  transform: none;
}

/* Superficies compartidas: evita que las páginas SEO parezcan un producto
   distinto al sitio principal. */
body.seo-page {
  color: var(--brand-ink);
  background: var(--brand-surface);
}

.seo-header {
  border-bottom-color: rgba(215, 227, 239, .92);
  background: rgba(255, 255, 255, .95);
}

.seo-section--soft {
  background: var(--brand-ice);
}

.seo-problem-solution,
.seo-image-section {
  background: var(--brand-surface);
}

.seo-contact {
  border-color: #bfd6ee;
  background: linear-gradient(115deg, #edf6ff 0%, #fff 100%);
  box-shadow: var(--brand-shadow);
}

@media (max-width: 780px) {
  :is(.seo-button, .button, .primary-button, .secondary-button, .auth-submit) {
    min-height: 48px;
  }
}

/* Las páginas SEO usan una acción técnica sobria: azul sólido, sin brillo
   cian ni sombras luminosas. El resto del sistema conserva sus controles. */
.seo-page .seo-button {
  border-radius: 10px;
  box-shadow: none;
  filter: none;
}

.seo-page .seo-button--primary {
  border-color: #0d6efd;
  background: #0d6efd;
  box-shadow: none;
}

.seo-page .seo-button--primary:is(:hover, :focus-visible) {
  border-color: #0756d2;
  background: #0756d2;
  box-shadow: none;
  filter: none;
  transform: translateY(-1px);
}

.seo-page .seo-button--secondary {
  border-color: #b8cde7;
  color: var(--brand-ink);
  background: #fff;
  box-shadow: none;
}

.seo-page .seo-button--secondary:is(:hover, :focus-visible) {
  border-color: #7fa8d8;
  color: var(--brand-blue-strong);
  background: #f5f9ff;
  box-shadow: none;
  transform: translateY(-1px);
}

.seo-page .seo-button:focus-visible {
  outline: 2px solid #0d6efd;
  outline-offset: 3px;
}

/* Capa final de las landing SEO: el sistema de marca se carga después de
   seo-pages.css, por eso estas reglas mantienen el contraste del CTA final. */
body.seo-page .seo-contact {
  border: 0;
  color: #fff;
  background: linear-gradient(125deg, #071a3f 0%, #0f3978 62%, #0a6da6 100%);
  box-shadow: 0 18px 40px rgba(7, 26, 63, .18);
}

body.seo-page .seo-contact__copy h2,
body.seo-page .seo-contact__phone {
  color: #fff;
}

body.seo-page .seo-contact__copy p {
  color: #dbeafe;
}

body.seo-page .seo-contact__copy .seo-contact__local {
  color: #b9d8f5;
}

body.seo-page .seo-contact .seo-button--secondary {
  border-color: rgba(255, 255, 255, .48);
  color: #fff;
  background: rgba(255, 255, 255, .08);
}

body.seo-page .seo-contact .seo-button--secondary:is(:hover, :focus-visible) {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, .16);
}

/* Ajuste minimalista: recupera la lectura limpia del sitio base y evita
   que las páginas nuevas se sientan como una plantilla visual. */
body.seo-page {
  background: #fff;
}

body.seo-page .seo-header {
  box-shadow: none;
  background: #fff;
}

body.seo-page .seo-breadcrumbs {
  margin-top: 20px;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid #e1e8f0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.seo-page .seo-hero {
  margin-top: 0;
  padding: 54px 0 58px;
  border: 0;
  border-bottom: 1px solid #e1e8f0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

body.seo-page .seo-hero__media {
  border: 1px solid #dbe5f0;
  border-radius: 10px;
  box-shadow: none;
}

body.seo-page .seo-hero__media::after {
  display: none;
}

body.seo-page .seo-button,
body.seo-page .seo-button--primary,
body.seo-page .seo-button--secondary {
  border-radius: 8px;
  box-shadow: none;
}

body.seo-page .seo-button--primary {
  border-color: #0d6efd;
  background: #0d6efd;
}

body.seo-page .seo-button--secondary {
  border-color: #c4d3e3;
  color: #071a3f;
  background: #fff;
}

body.seo-page .seo-problem-solution,
body.seo-page .seo-section--soft,
body.seo-page .seo-local-trust,
body.seo-page .seo-topic-network {
  background: #fff;
}

body.seo-page .seo-problem-solution {
  padding-top: 58px;
  padding-bottom: 58px;
}

body.seo-page .seo-problem,
body.seo-page .seo-solution {
  min-height: 0;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid #dbe5f0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.seo-page .seo-problem h2,
body.seo-page .seo-solution h2 {
  margin-top: 8px;
}

body.seo-page .seo-card,
body.seo-page .seo-evidence-card,
body.seo-page .seo-path-card,
body.seo-page .seo-link-group,
body.seo-page .seo-address,
body.seo-page .seo-local-detail {
  border: 0;
  border-top: 1px solid #dbe5f0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.seo-page .seo-card,
body.seo-page .seo-evidence-card,
body.seo-page .seo-path-card {
  min-height: 0;
  padding: 22px 0;
}

body.seo-page .seo-card::before {
  display: none;
}

body.seo-page .seo-card:hover,
body.seo-page .seo-path-card:hover,
body.seo-page .seo-path-card:focus-visible {
  transform: none;
  border-color: #dbe5f0;
  box-shadow: none;
}

body.seo-page .seo-list li {
  border: 0;
  border-top: 1px solid #dbe5f0;
  border-radius: 0;
  background: transparent;
}

body.seo-page .seo-list li:last-child {
  border-bottom: 1px solid #dbe5f0;
}

body.seo-page .seo-list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  column-gap: 8px;
  padding: 14px 0;
}

body.seo-page .seo-list li::before {
  position: static;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  place-self: start;
}

body.seo-page .seo-local-detail {
  padding: 8px 0 8px 22px;
  border-left: 2px solid #0d6efd;
  border-top: 0;
}

body.seo-page .seo-contact {
  border: 1px solid #dbe5f0;
  border-radius: 12px;
  color: #071a3f;
  background: #f7faff;
  box-shadow: none;
}

body.seo-page .seo-contact__copy h2,
body.seo-page .seo-contact__phone {
  color: #071a3f;
}

body.seo-page .seo-contact__copy p,
body.seo-page .seo-contact__copy .seo-contact__local {
  color: #526781;
}

body.seo-page .seo-contact .seo-button--secondary {
  border-color: #c4d3e3;
  color: #071a3f;
  background: #fff;
}

@media (max-width: 780px) {
  body.seo-page .seo-hero {
    padding: 38px 0 42px;
  }

  body.seo-page .seo-problem,
  body.seo-page .seo-solution {
    padding: 20px 0 0;
    border-top: 1px solid #dbe5f0;
    border-left: 0;
  }
}

/* Tipografía sans uniforme inspirada en One UI. */
body.seo-page,
body.seo-page button,
body.seo-page input,
body.seo-page textarea,
body.seo-page select {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
}

body.seo-page h1,
body.seo-page h2,
body.seo-page h3,
body.seo-page .seo-button,
body.seo-page .seo-nav,
body.seo-page .seo-eyebrow {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
}

body.seo-page h1,
body.seo-page h2,
body.seo-page h3 {
  letter-spacing: -.025em;
}

body.seo-page h1 {
  font-weight: 750;
  line-height: 1.04;
}

body.seo-page h2 {
  font-weight: 720;
  line-height: 1.12;
}

body.seo-page h3 {
  font-weight: 700;
  line-height: 1.25;
}
