/* ============================================================
   PAGES — Styles pour les sous-pages (mentions légales, SEO locales)
   ============================================================ */

/* Nav toujours opaque sur les sous-pages */
.nav--solid {
  background: rgba(250, 250, 247, 0.94);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border-bottom: 1px solid var(--border-subtle);
}

/* Hero de sous-page */
.subpage-hero {
  background: var(--gradient-hero);
  padding: calc(72px + var(--space-2xl)) 0 var(--space-2xl);
  position: relative;
  overflow: hidden;
}

.subpage-hero::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--brand-primary-rgb), 0.10) 0%, transparent 70%);
  top: -200px;
  right: -150px;
  pointer-events: none;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin-bottom: var(--space-md);
}

.breadcrumb a { color: var(--brand-primary); }
.breadcrumb span { color: var(--text-muted); }

.subpage-hero h1 {
  font-size: clamp(2rem, 4.5vw, 3rem);
  margin-bottom: var(--space-md);
  max-width: 840px;
}

.subpage-hero .lead {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: var(--text-secondary);
  max-width: 720px;
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-xl);
}

.subpage-hero__ctas {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}

/* Contenu rédactionnel */
.prose {
  max-width: 820px;
  margin: 0 auto;
}

.prose h2 {
  font-size: var(--fs-h2);
  margin: var(--space-2xl) 0 var(--space-md);
}

.prose h3 {
  font-size: var(--fs-h3);
  margin: var(--space-xl) 0 var(--space-sm);
}

.prose p {
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-md);
}

.prose ul {
  margin: 0 0 var(--space-lg) 0;
  list-style: none;
  display: grid;
  gap: var(--space-sm);
}

.prose ul li {
  position: relative;
  padding-left: 30px;
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}

.prose ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 16px;
  height: 16px;
  background: var(--brand-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

.prose a { color: var(--brand-primary); font-weight: 500; }

/* Grille de prestations locales */
.local-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

.local-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.local-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.local-card__icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-md);
  background: rgba(var(--brand-primary-rgb), 0.1);
  color: var(--brand-primary);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-md);
}

.local-card h3 { font-size: var(--fs-h3); margin-bottom: var(--space-sm); }
.local-card p { font-size: var(--fs-small); color: var(--text-secondary); line-height: var(--lh-relaxed); }

/* Galerie compacte sur sous-page */
.local-photos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

.local-photos img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Bloc légal */
.legal-meta {
  background: var(--bg-section);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.legal-meta dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 10px 24px;
  margin: 0;
}

.legal-meta dt { font-weight: 600; color: var(--text-primary); }
.legal-meta dd { color: var(--text-secondary); margin: 0; }
.legal-meta a { color: var(--brand-primary); }

/* CTA bandeau */
.cta-band {
  text-align: center;
  max-width: 720px;
  margin: var(--space-2xl) auto 0;
}

.cta-band h2 { margin-bottom: var(--space-md); }
.cta-band p { color: var(--text-secondary); margin-bottom: var(--space-lg); }
.cta-band .subpage-hero__ctas { justify-content: center; }

/* Footer compact sous-pages */
.subfooter {
  background: var(--bg-body);
  border-top: 1px solid var(--border-subtle);
  padding: var(--space-xl) 0;
  text-align: center;
}

.subfooter__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}

.subfooter__links a { color: var(--text-secondary); font-size: var(--fs-small); }
.subfooter__links a:hover { color: var(--brand-primary); }
.subfooter__copy { font-size: var(--fs-xs); color: var(--text-muted); }

@media (max-width: 900px) {
  .local-grid { grid-template-columns: 1fr; }
  .local-photos { grid-template-columns: 1fr 1fr; }
  .legal-meta dl { grid-template-columns: 1fr; gap: 4px; }
  .legal-meta dt { margin-top: var(--space-sm); }
}
