.rest-intro {
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--line);
}

.rest-intro.with-visual {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(1.75rem, 5vw, 5rem);
}

.rest-intro h1 { font-size: clamp(2.65rem, 5.6vw, 5.45rem); }
.rest-intro.with-visual h1 { font-size: clamp(2.65rem, 4.85vw, 4.95rem); }
.rest-intro p:not(.eyebrow) { max-width: 40rem; margin-top: 1.2rem; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.12rem); }
.journal-image img { aspect-ratio: 5 / 4; object-fit: cover; }
.restaurant-page .journal-image img { object-position: 50% 66%; }

.rest-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1.3rem;
}

.rest-jumps a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding: .42rem .85rem;
  border: 1px solid var(--line);
  background: transparent;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
}

.rest-jumps a:hover { border-color: var(--forest); background: var(--forest); color: var(--white); }
.rest-section { padding-block: clamp(2.6rem, 5.5vw, 5rem) clamp(1.75rem, 4vw, 3.2rem); }
.rest-section + .rest-section { border-top: 1px solid var(--line); }
.section-lead { max-width: 45rem; margin-top: .95rem; color: var(--muted); }

.rest-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1.5rem);
  margin-top: 1.45rem;
}

.rest-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.7rem 0 1.4rem;
  border: 1px solid var(--line);
  border-top: 2px solid #b8a17a;
  background: transparent;
}

.rest-card.favorite {
  border-color: var(--forest);
  border-top-color: var(--gold);
  background: var(--forest);
  color: var(--white);
}

.rest-kind {
  margin-bottom: .65rem;
  color: var(--olive);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.5;
}

.rest-place { margin: .35rem 0 .8rem; color: var(--muted); font-size: .9rem; font-weight: 500; }
.rest-card > p:not([class]), .rest-note { color: var(--muted); }
.rest-note { margin-top: .65rem; font-size: .9rem; }

.favorite .rest-kind, .favorite .rest-place { color: var(--gold); }
.rest-card.favorite > p:not([class]) { color: #ece7dc; }
.favorite :focus-visible { outline-color: var(--gold); }

.rest-dining-grid .rest-card { padding-inline: clamp(1rem, 2.1vw, 1.65rem); }

.rest-photo { margin-top: 1.15rem; }

.rest-photo img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--sand);
}

.rest-photo .buron-photo { object-position: 60% 50%; }

.rest-photo figcaption {
  margin-top: .48rem;
  color: var(--muted);
  font-size: .775rem;
  line-height: 1.5;
}

.rest-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1rem;
  margin-top: auto;
  padding-top: .8rem;
}

.rest-links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .25rem;
  font-size: .875rem;
  font-weight: 500;
}

.journal-image figcaption {
  margin-top: .55rem;
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.5;
}


.rest-practical {
  padding-block: clamp(2.6rem, 5.5vw, 5.4rem);
  border-top: 1px solid var(--line);
}

.rest-practical h2 { font-size: clamp(1.9rem, 3.25vw, 3.1rem); }
.rest-practical p { max-width: 47rem; margin-top: .75rem; color: var(--muted); }
.rest-practical .button { margin-top: 1.2rem; }
.rest-source { font-size: .875rem; }

.discover-days {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
  margin-top: 1.5rem;
}

.discover-days article { padding-top: 1rem; border-top: 1px solid var(--line); }
.discover-days h3 { margin-block: .5rem; }
.discover-days p { color: var(--muted); }

.faq-essentials {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.7rem 0 0;
  padding-block: .95rem;
  border-block: 1px solid var(--line);
}

.faq-essentials div { padding: .2rem .55rem .2rem 0; }
.faq-essentials dt { font-size: .82rem; font-weight: 500; }
.faq-essentials dd { margin: .25rem 0 0; color: var(--muted); font: 400 1.2rem/1.35 var(--display); }

.faq-section { padding-top: clamp(2rem, 4.5vw, 3.9rem); padding-bottom: clamp(1.65rem, 4vw, 3.25rem); }
.faq-section h2 { margin-bottom: 1rem; font-size: clamp(1.9rem, 3.3vw, 3.1rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }

.faq-list summary {
  min-height: 3.25rem;
  padding: .9rem .85rem;
  cursor: pointer;
  font-weight: 500;
}

.faq-list summary::marker { color: var(--olive); }
.faq-list summary:hover, .faq-list details[open] summary { background: var(--sand); }

.faq-answer {
  max-width: 51rem;
  padding: .85rem .85rem 1.1rem;
  color: var(--muted);
}

.faq-answer p + p { margin-top: .7rem; }

@media (min-width: 1100px) {
  .restaurant-page #commerces .rest-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 861px) {
  #mende .rest-dining-grid, #aumont .rest-dining-grid { grid-auto-flow: dense; }
  #mende .rest-card.with-photo { grid-area: 1 / 2 / span 3; }
  #aumont .rest-card.with-photo { grid-area: 1 / 1 / span 2; }
  #mende .rest-photo img { aspect-ratio: 5 / 4; }
}

@media (max-width: 860px) {
  .rest-intro.with-visual { grid-template-columns: 1fr; }
  #mende .rest-dining-grid, #aumont .rest-dining-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .rest-grid, .discover-days { grid-template-columns: 1fr; }
  .journal-image img { aspect-ratio: 16 / 9; }
  .faq-essentials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
