/* Shared SEO page helpers for SchedinaAI secondary pages */
.page-main .container {
  max-width: 1240px;
}

.inline-link {
  color: var(--mint);
  font-weight: 700;
}

.inline-link:hover {
  color: #dffff0;
}

/* SEO master layout: breadcrumb + brand header + compact hero */
.internal-top-shell {
  position: relative;
  z-index: 20;
  padding: 28px 0 8px;
}

.breadcrumb,
.desktop-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 1120px;
  margin: 0 auto 24px;
  padding: 0 2px;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.breadcrumb a,
.desktop-breadcrumb a {
  color: rgba(255,255,255,.88);
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}

.breadcrumb a:hover,
.desktop-breadcrumb a:hover {
  color: #ffffff;
}

.breadcrumb span,
.desktop-breadcrumb span {
  color: rgba(255,255,255,.78);
}

.breadcrumb [aria-current="page"],
.desktop-breadcrumb [aria-current="page"],
.breadcrumb .current,
.desktop-breadcrumb .current {
  color: #ffffff;
  font-weight: 700;
}

.internal-page-header {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 2px;
  display: flex;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
  gap: 8px;
  text-align: center !important;
  place-items: center;
}

.internal-page-header .brand-icon,
.internal-page-header .brand-icon img {
  display: block;
}

.internal-page-header .brand-icon {
  margin: 0 auto;
}

.internal-page-header .brand-title,
.internal-page-header .brand-subtitle {
  width: 100%;
  text-align: center;
}

.internal-page-header .brand-icon img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto;
}

.internal-page-header .brand-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
}

.internal-page-header .brand-subtitle {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.84);
}

.seo-menu {
  margin: 0 auto 18px;
}

.hero-card,
.hero {
  scroll-margin-top: 110px;
}

body[data-page="schedine-calcio-oggi"] .hero {
  max-width: 100%;
}

body[data-page="schedine-calcio-oggi"] .internal-page-header {
  margin-bottom: 2px;
}

body[data-page="schedine-calcio-oggi"] .hero h1 {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

body[data-page="schedine-calcio-oggi"] .intro-grid {
  margin-top: 24px;
}

body[data-page="schedine-calcio-oggi"] .intro-card h2 {
  font-size: clamp(28px, 3.3vw, 44px);
}

body[data-page="schedine-calcio-oggi"] .section-top h2 {
  font-size: clamp(30px, 3.6vw, 48px);
}

.hero-card {
  padding: 34px 34px 30px;
}

.hero-card h1 {
  margin-bottom: 16px;
  font-size: clamp(2.15rem, 3.8vw, 3.5rem);
  line-height: 1.08;
}

.hero-card p {
  margin-bottom: 12px;
}

.hero-card .hero-emphasis {
  margin-bottom: 0;
}

.hero-bullets {
  margin-top: 18px;
}

/* Compact hero rules for the daily page */
body[data-page="schedine-calcio-oggi"] .page {
  padding-top: 18px;
}

body[data-page="schedine-calcio-oggi"] .hero {
  margin-top: 14px;
  padding: 32px 28px 28px;
}

body[data-page="schedine-calcio-oggi"] .hero h1 {
  margin: 16px 0 12px;
  font-size: clamp(34px, 5.2vw, 60px);
  line-height: 1.02;
}

body[data-page="schedine-calcio-oggi"] .hero p {
  max-width: 920px;
}

body[data-page="schedine-calcio-oggi"] .meta-row {
  margin-top: 16px;
  gap: 10px;
}

body[data-page="schedine-calcio-oggi"] .meta-pill {
  padding: 12px 16px;
}

body[data-page="schedine-calcio-oggi"] .meta-note {
  margin-top: 10px;
}

body[data-page="schedine-calcio-oggi"] .competition-row {
  margin-top: 12px;
}

body[data-page="schedine-calcio-oggi"] .cta-row {
  margin-top: 18px;
}

@media (max-width: 1024px) {
  .hero-card {
    padding: 30px 26px 26px;
  }

  body[data-page="schedine-calcio-oggi"] .hero {
    padding: 30px 24px 24px;
  }
}

@media (max-width: 768px) {
  .desktop-breadcrumb,
  .internal-page-header {
    display: none;
  }

  .internal-top-shell {
    padding-top: 14px;
  }
}

@media (max-width: 640px) {
  .breadcrumb,
  .desktop-breadcrumb {
    gap: 8px;
    margin-bottom: 20px;
    font-size: 13px;
  }

  .hero-card {
    padding: 26px 18px 22px;
  }

  .hero-card h1 {
    font-size: 1.9rem;
    line-height: 1.1;
  }

  .hero-bullets {
    margin-top: 14px;
  }

  body[data-page="schedine-calcio-oggi"] .page {
    padding-top: 12px;
  }

  body[data-page="schedine-calcio-oggi"] .hero {
    padding: 24px 18px 22px;
  }

  body[data-page="schedine-calcio-oggi"] .hero h1 {
    margin: 14px 0 10px;
    font-size: 1.95rem;
  }

  body[data-page="schedine-calcio-oggi"] .hero p {
    font-size: 15px;
    line-height: 1.6;
  }

  body[data-page="schedine-calcio-oggi"] .meta-row {
    margin-top: 14px;
    gap: 8px;
  }

  body[data-page="schedine-calcio-oggi"] .meta-pill {
    padding: 10px 14px;
    font-size: 14px;
  }

  body[data-page="schedine-calcio-oggi"] .competition-row {
    margin-top: 10px;
    gap: 8px;
  }

  body[data-page="schedine-calcio-oggi"] .cta-row {
    margin-top: 16px;
  }
}

/* Fix: center text inside informational cards across SEO pages */
.content-card,
.link-card,
.cluster-card,
.process-card,
.mini-card,
.stat-card,
.faq-card,
.intro-card,
.mini-faq {
  text-align: center;
}

.content-card ul,
.link-card ul,
.cluster-card ul,
.process-card ul {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.content-card .inline-link,
.link-card .inline-link,
.cluster-card .inline-link,
.process-card .inline-link,
.mini-card .inline-link,
.stat-card .inline-link,
.faq-card .inline-link,
.intro-card .inline-link,
.mini-faq .inline-link {
  display: inline-block;
}
