/* =========================================================
   Pages ville (SEO local) — Mon Poulet Adoré
   ========================================================= */

/* ---- Hero de ville ---- */
.ville-hero {
  padding-block: clamp(120px, 14vw, 170px) clamp(var(--space-7), 7vw, var(--space-9));
  background:
    radial-gradient(110% 80% at 85% 10%, rgba(176,32,30,.13), transparent 55%),
    linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
}
.ville-hero__grid {
  display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(var(--space-6), 5vw, var(--space-9)); align-items: center;
}
.ville-fil {
  font-size: .85rem; color: var(--ink-mute); margin-bottom: var(--space-5);
}
.ville-fil a { color: var(--red-deep); text-decoration: none; font-weight: 600; }
.ville-fil a:hover { text-decoration: underline; }
.ville-fil span[aria-hidden] { margin-inline: 6px; }

.ville-hero h1 {
  font-size: clamp(2.4rem, 6.4vw, 4rem); letter-spacing: -.025em;
}
.ville-hero h1 em { font-style: italic; color: var(--red); }
.ville-hero__sub {
  margin-top: var(--space-5); font-size: clamp(1.05rem, 2.2vw, 1.22rem);
  color: var(--ink-soft); max-width: 46ch;
}
.ville-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-7); }

.ville-hero__art {
  aspect-ratio: 4 / 5; border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-lg); rotate: 1.2deg;
}
.ville-hero__art img { width: 100%; height: 100%; object-fit: cover; }

/* ---- Bandeau d'infos clés ---- */
.ville-bandeau { background: var(--red); color: var(--cream); }
.ville-bandeau__inner {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4); padding-block: var(--space-6); text-align: center;
}
.ville-bandeau div { display: flex; flex-direction: column; gap: 4px; }
.ville-bandeau strong {
  font-family: var(--font-display); font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 600;
}
.ville-bandeau span {
  font-size: .84rem; letter-spacing: .08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--cream) 78%, transparent);
}

/* ---- Corps : texte + encart ---- */
.ville-corps {
  display: grid; grid-template-columns: 1.5fr .9fr;
  gap: clamp(var(--space-6), 5vw, var(--space-8)); align-items: start;
}
.ville-corps h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin-bottom: var(--space-4); }
.ville-corps__texte > p { color: var(--ink-soft); max-width: 62ch; }

.ville-prods { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: var(--space-2); }
.ville-prod {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4);
  padding: var(--space-4) var(--space-5); background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius-md);
}
.ville-prod__nom { font-family: var(--font-display); font-size: 1.14rem; color: var(--ink); font-weight: 600; }
.ville-prod__desc { color: var(--ink-mute); font-size: .95rem; }

.ville-encart {
  background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--red);
  border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-md);
  position: sticky; top: 96px;
}
.ville-encart h3 { font-size: 1.2rem; margin-bottom: var(--space-3); }
.ville-encart p { color: var(--ink-soft); font-size: .98rem; }
.ville-encart__tel { margin: var(--space-4) 0 0; }
.ville-encart__tel a {
  font-family: var(--font-display); font-size: 1.5rem; font-weight: 600;
  color: var(--red); text-decoration: none; letter-spacing: .01em;
}
.ville-encart__tel a:hover { color: var(--red-deep); }

/* ---- Maillage : autres marchés ---- */
.ville-liens { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.ville-lien {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-6); background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius-lg); text-decoration: none; box-shadow: var(--shadow-sm);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color .2s ease;
}
.ville-lien:hover {
  transform: translateY(-5px); box-shadow: var(--shadow-lg);
  border-color: color-mix(in srgb, var(--red) 30%, #fff);
}
.ville-lien__jour {
  font-size: .76rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--red-deep);
}
.ville-lien__ville { font-family: var(--font-display); font-size: 1.5rem; color: var(--ink); font-weight: 600; }

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .ville-hero__grid, .ville-corps { grid-template-columns: 1fr; }
  .ville-hero__art { order: -1; max-width: 420px; rotate: 0deg; }
  .ville-encart { position: static; }
  .ville-liens { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .ville-bandeau__inner { grid-template-columns: 1fr; gap: var(--space-5); }
}

/* Titre ville : saut de ligne visuel sans coller les mots pour les lecteurs d'ecran */
.ville-h1br { display: block; }

/* Emplacement précis, mis en avant dans l'encart de la page ville */
.ville-encart__lieu {
  font-family: var(--font-display);
  font-size: 1.12rem !important;
  color: var(--ink) !important;
  line-height: 1.35;
}
