/* ==========================================================================
   Pages prestations (portrait, événement, animalier, fitness)
   ========================================================================== */

.breadcrumb { padding: 22px var(--gutter) 0; color: var(--muted); font-size: 12px; }
.breadcrumb a { color: var(--muted); text-underline-offset: 3px; }
.breadcrumb span[aria-current] { color: var(--ink); }

.page-hero {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: clamp(36px, 6vw, 100px);
  padding: clamp(40px, 6vw, 80px) var(--gutter) clamp(70px, 8vw, 110px);
}
.page-hero h1 { font-size: clamp(44px, 6vw, 86px); }
.page-lead { max-width: 520px; margin: 28px 0 32px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.page-price { margin: 30px 0 0; color: var(--gold-text); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.page-hero-image { margin: 0; background: #e2d5c2; }
.page-hero-image img { display: block; width: 100%; height: auto; max-height: 640px; object-fit: cover; aspect-ratio: 4 / 5; }

.page-split {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(40px, 8vw, 130px);
  background: var(--cream);
}
.page-split--alt { background: var(--paper); }
.page-heading { align-self: start; }
.page-heading h2 { font-size: clamp(38px, 4.4vw, 62px); }

.page-list { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #cdbfa8; }
.page-list li { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid #cdbfa8; }
.page-list span { color: var(--gold-text); font: 17px var(--serif); }
.page-list h3 { margin: 0 0 8px; font: 400 clamp(23px, 2.2vw, 30px)/1.15 var(--serif); }
.page-list p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.page-split--alt .page-list,
.page-split--alt .page-list li { border-color: var(--line); }

.page-text p { max-width: 600px; margin: 0 0 18px; color: #514b43; font-size: 16px; line-height: 1.85; }

.page-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 16px var(--gutter);
  background: var(--paper);
}
.page-gallery figure { margin: 0; background: #e2d5c2; }
.page-gallery img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.page-plans { background: var(--cream); }
.page-plans .page-heading { margin-bottom: 40px; }

.page-others { padding-block: 70px; border-top: 1px solid var(--line); background: var(--paper); }
.page-others-links { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 18px; }
.page-others-links a { color: var(--ink); font: 400 clamp(22px, 2.2vw, 30px) var(--serif); text-decoration: none; border-bottom: 1px solid transparent; }
.page-others-links a:hover { color: var(--gold-text); border-color: currentColor; }
.page-others-links span { font-size: .6em; }


@media (max-width: 900px) {
  .page-hero,
  .page-split { grid-template-columns: 1fr; }
  .page-hero-image img { max-height: 520px; }
  .page-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-gallery figure:last-child { display: none; }
}
@media (max-width: 560px) {
  .page-list li { grid-template-columns: 36px 1fr; gap: 12px; }
  .page-others-links { flex-direction: column; }
}
