/* ============================================================
   RECLAMA LEGAL — Mobile responsive overrides
   Applies <= 768px overrides for all rl-* block components.
   Loaded after components.css + components-r2.css.
   ============================================================ */

@media (max-width: 900px) {
  :root {
    --rl-gutter: 24px;
  }

  /* ---- HEADER ---- */
  .rl-header__row { grid-template-columns: auto auto; }
  .rl-header__nav { display: none; }
  .rl-header__phone { display: none; }

  /* ---- HERO INTERIOR ---- */
  .rl-hero-interior { padding: 120px 0 var(--rl-s-12); }
  .rl-hero-interior__grid { grid-template-columns: 1fr; gap: var(--rl-s-8); }
  .rl-hero-interior h1 { font-size: 40px; }

  /* ---- HERO MINIMAL / 404 ---- */
  .rl-hero-minimal { padding: 110px 0 var(--rl-s-8); }
  .rl-hero-404 { padding: 130px 0 var(--rl-s-12); }
  .rl-hero-404__code { font-size: 140px; }

  /* ---- HERO POST ---- */
  .rl-hero-post { padding-top: 110px; }
  .rl-hero-post h1 { font-size: 32px; }
  .rl-hero-post__meta { font-size: 11px; gap: var(--rl-s-3); }
  .rl-hero-post__featured { aspect-ratio: 4/3; }

  /* ---- SECTIONS ---- */
  .rl-section { padding: var(--rl-s-16) 0; }
  .rl-section-head { grid-template-columns: 1fr; gap: var(--rl-s-6); }
  .rl-section-head__meta { text-align: left; }
  .rl-h2 { font-size: 32px; }
  .rl-h1, .rl-h3 { font-size: 26px; }

  /* ---- TRUST STRIP ---- */
  .rl-trust-strip { grid-template-columns: 1fr 1fr; }

  /* ---- SERVICE GRID ---- */
  .rl-service-grid { grid-template-columns: 1fr; }
  .rl-service-card { min-height: auto; padding: var(--rl-s-6); }

  /* ---- METRICS ---- */
  .rl-metrics { grid-template-columns: 1fr 1fr; gap: var(--rl-s-6); }
  .rl-metric__figure { font-size: 48px; }

  /* ---- PROCESS TIMELINE — vertical ---- */
  .rl-timeline__svg { display: none; }
  .rl-timeline__steps { grid-template-columns: 1fr; }
  .rl-timeline__step {
    padding: 0 0 var(--rl-s-6) 64px;
    position: relative;
  }
  .rl-timeline__step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 31px; top: 64px; bottom: 0;
    width: 1px;
    background: var(--rl-stone-300);
    background-image: linear-gradient(to bottom, var(--rl-navy-900) 50%, transparent 50%);
    background-size: 1px 8px;
  }
  .rl-timeline__circle {
    position: absolute;
    left: 0; top: 0;
    width: 56px; height: 56px;
    font-size: 22px;
  }

  /* ---- COMPARATIVA ---- */
  .rl-compare { grid-template-columns: 1fr !important; }
  .rl-compare__col { padding: var(--rl-s-6); }

  /* ---- METHODOLOGY ---- */
  .rl-method__grid { grid-template-columns: 1fr; }
  .rl-method__pillar { padding: var(--rl-s-8); }
  .rl-method__title { font-size: 28px; }
  .rl-method__num { font-size: 40px; }

  /* ---- CALLOUT ---- */
  .rl-callout { padding: var(--rl-s-16) 0; }
  .rl-callout__grid { grid-template-columns: 1fr; gap: var(--rl-s-8); }
  .rl-callout__quote { font-size: 28px; }
  .rl-sts-card__number { font-size: 120px; }

  /* ---- TEAM ---- */
  .rl-team { grid-template-columns: 1fr; gap: var(--rl-s-4); }
  .rl-team--featured { grid-template-columns: 1fr; }
  .rl-team-card--lead { grid-template-columns: 1fr; }
  .rl-team-card--lead .rl-team-card__photo { min-height: 280px; }
  .rl-team-card--lead .rl-team-card__body { padding: var(--rl-s-6); }

  /* ---- ELIGIBILITY ---- */
  .rl-elig { grid-template-columns: 1fr; }
  .rl-elig__copy { padding: var(--rl-s-8); }
  .rl-elig__title { font-size: 32px; }

  /* ---- ATLAS ---- */
  .rl-atlas__row,
  .rl-atlas__row--1, .rl-atlas__row--2, .rl-atlas__row--3, .rl-atlas__row--4 {
    grid-template-columns: 1fr 1fr;
  }
  .rl-atlas__tile { min-height: 100px; padding: 16px; }
  .rl-atlas__name { font-size: 20px !important; }
  .rl-atlas__tile--lg .rl-atlas__name,
  .rl-atlas__tile--xl .rl-atlas__name,
  .rl-atlas__tile--md .rl-atlas__name { font-size: 24px !important; }
  .rl-coverage-foot { grid-template-columns: 1fr; gap: var(--rl-s-4); }

  /* ---- FAQ ---- */
  .rl-faq-trigger { font-size: 18px; padding: var(--rl-s-4) 0; }
  .rl-faq-panel-inner { padding-left: 32px; }

  /* ---- PROMISES ---- */
  .rl-promises__hd { grid-template-columns: 1fr; gap: var(--rl-s-4); }
  .rl-promises__grid { grid-template-columns: 1fr; }
  .rl-promise { min-height: auto; padding: var(--rl-s-6); }

  /* ---- DOCTRINA ---- */
  .rl-doctrina { grid-template-columns: 1fr; gap: var(--rl-s-6); }
  .rl-doctrina__cover { aspect-ratio: 16/9; }
  .rl-doctrina__cover-num { font-size: 96px; }
  .rl-doctrina__title { font-size: 26px; }

  /* ---- TICKER ---- */
  .rl-ticker__head { display: none; }
  .rl-ticker__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: var(--rl-s-4) 0;
  }
  .rl-ticker__date { order: -1; font-size: 11px; }
  .rl-ticker__matter { font-size: 20px; }
  .rl-ticker__amount {
    font-size: 22px;
    text-align: left;
  }
  .rl-ticker__court, .rl-ticker__bank { font-size: 13px; }

  /* ---- TESTIMONIALS ---- */
  .rl-testimonial { padding: var(--rl-s-8); }
  .rl-testimonial__quote { font-size: 24px; padding-left: 0; }
  .rl-testimonial__mark { position: relative; top: 0; left: 0; font-size: 80px; line-height: 0.5; display: block; }
  .rl-testimonial__foot { grid-template-columns: 1fr; gap: var(--rl-s-3); }
  .rl-testimonial-grid { grid-template-columns: 1fr; }

  /* ---- CTA BAND ---- */
  .rl-cta-band__grid { grid-template-columns: 1fr; gap: var(--rl-s-6); }
  .rl-cta-band__title { font-size: 36px; }

  /* ---- FOOTER ---- */
  .rl-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--rl-s-8); }
  .rl-footer__bottom { grid-template-columns: 1fr; gap: var(--rl-s-3); }
  .rl-footer__bottom-right { justify-content: flex-start; flex-wrap: wrap; }

  /* ---- BLOG BODY ---- */
  .rl-blog-body__layout { grid-template-columns: 1fr; gap: var(--rl-s-8); }
  .rl-blog-body__article p { font-size: 17px; }
  .rl-blog-body__article p:first-of-type::first-letter { font-size: 60px; }
  .rl-blog-body__article h2 { font-size: 26px; }
  .rl-blog-body__article li { font-size: 17px; }
  .rl-pullquote { padding: var(--rl-s-6) 0; }
  .rl-pullquote__quote { font-size: 22px; }
  .rl-cta-inline { grid-template-columns: 1fr; padding: var(--rl-s-6); }

  .rl-author-card { grid-template-columns: 1fr; }
  .rl-author-card__avatar { width: 72px; height: 72px; font-size: 28px; }

  .rl-related__grid { grid-template-columns: 1fr; }

  .rl-sidebar { position: relative; top: 0; margin-top: var(--rl-s-8); }

  /* ---- JUZGADOS ---- */
  .rl-juzgados { grid-template-columns: 1fr; }

  /* ---- CRITERIOS ---- */
  .rl-criterios { grid-template-columns: 1fr; }

  /* ---- CONTACT SPLIT ---- */
  .rl-contact-split { grid-template-columns: 1fr; }
  .rl-contact-split__form,
  .rl-contact-split__info { padding: var(--rl-s-8); }
  .rl-contact-split__form-grid { grid-template-columns: 1fr; }
  .rl-contact-split__info-title { font-size: 28px; }

  /* ---- THANKS ---- */
  .rl-thanks__steps { grid-template-columns: 1fr; }

  /* ---- CITIES INLINE ---- */
  .rl-cities-inline__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 500px) {
  .rl-metrics { grid-template-columns: 1fr; }
  .rl-trust-strip { grid-template-columns: 1fr; }
  .rl-footer__grid { grid-template-columns: 1fr; }
  .rl-atlas__row,
  .rl-atlas__row--1, .rl-atlas__row--2, .rl-atlas__row--3, .rl-atlas__row--4 {
    grid-template-columns: 1fr;
  }
  .rl-cities-inline__grid { grid-template-columns: 1fr; }
}
