/* Páginas SEO locales de Rastro Ripollet */
.local-seo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 28px;
  align-items: stretch;
  margin-bottom: 38px;
}
.local-seo-hero__copy,
.local-seo-hero__aside,
.local-seo-panel,
.local-seo-card {
  border: 1px solid var(--editorial-line);
  background: var(--editorial-card);
  box-shadow: var(--editorial-card-shadow);
  border-radius: 22px;
}
.local-seo-hero__copy { padding: clamp(28px, 5vw, 52px); }
.local-seo-hero__copy h1 {
  margin: 0 0 18px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.06;
  letter-spacing: -.035em;
}
.local-seo-hero__copy p {
  margin: 0;
  color: var(--editorial-muted);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.7;
}
.local-seo-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.local-seo-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:11px 18px; border-radius:999px;
  text-decoration:none; font-size:14px; font-weight:700;
  border:1px solid var(--editorial-line);
}
.local-seo-btn--primary { background:var(--editorial-text); color:var(--editorial-bg); border-color:var(--editorial-text); }
.local-seo-btn--secondary { background:transparent; color:var(--editorial-text); }
.local-seo-hero__aside {
  padding: 28px;
  display:flex; flex-direction:column; justify-content:space-between;
  background: linear-gradient(145deg, var(--editorial-accent-light), var(--editorial-card));
}
.local-seo-hero__aside strong { font-size:17px; }
.local-seo-facts { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:12px; }
.local-seo-facts li { display:grid; grid-template-columns:22px 1fr; gap:10px; color:var(--editorial-muted); font-size:14px; line-height:1.55; }
.local-seo-facts li span:first-child { color:var(--editorial-accent); font-weight:800; }
.local-seo-section { margin: 54px 0; }
.local-seo-section > h2 { margin:0 0 14px; font-size:clamp(26px, 3.5vw, 38px); letter-spacing:-.025em; }
.local-seo-section > p { max-width:820px; margin:0 0 18px; color:var(--editorial-muted); line-height:1.8; font-size:15.5px; }
.local-seo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.local-seo-card { padding:24px; }
.local-seo-card h2, .local-seo-card h3 { margin:0 0 10px; font-size:20px; }
.local-seo-card p { margin:0; color:var(--editorial-muted); line-height:1.7; font-size:14.5px; }
.local-seo-card a { color:var(--editorial-text); font-weight:700; text-underline-offset:3px; }
.local-seo-panel { padding:clamp(24px,4vw,36px); margin:44px 0; }
.local-seo-panel h2 { margin:0 0 12px; font-size:clamp(24px,3vw,34px); }
.local-seo-panel p { margin:0; color:var(--editorial-muted); line-height:1.75; }
.local-seo-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.local-seo-step { padding:20px; border-radius:16px; background:var(--editorial-accent-light); }
.local-seo-step b { display:block; margin-bottom:7px; }
.local-seo-step p { margin:0; font-size:13.5px; line-height:1.6; }
.local-seo-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.local-seo-links a { padding:9px 13px; border:1px solid var(--editorial-line); border-radius:999px; color:var(--editorial-text); text-decoration:none; font-size:13px; font-weight:600; background:var(--editorial-card); }
.local-seo-note { margin-top:16px; font-size:13px !important; }
@media (max-width: 760px) {
  .editorial-shell { width:min(100% - 28px,1040px); padding-top:26px; }
  .local-seo-hero { grid-template-columns:1fr; gap:14px; }
  .local-seo-hero__copy, .local-seo-hero__aside { border-radius:18px; padding:24px 20px; }
  .local-seo-grid, .local-seo-steps { grid-template-columns:1fr; }
  .local-seo-section { margin:40px 0; }
  .local-seo-panel { margin:34px 0; border-radius:18px; }
}