/* Final telephone pass. No rule applies at 601px or wider. */
@media (max-width:600px) {
  /* Current phone route: the outline does not alter row or separator geometry. */
  .mobile-menu__list li.phone-menu-current { position:relative; }
  .mobile-menu__list li.phone-menu-current::before {
    content:""; position:absolute; inset:6px -10px;
    border:1px solid var(--kin); pointer-events:none;
  }
  body[class] { padding-bottom:0; }
  body .mobile-book-bar { display:none !important; }

  /* Keep the existing translated brand line; only the mobile hero CTAs disappear. */
  .page-home .hero__actions { display:none; }
  .page-home .hero__meta { display:block; padding:28px 24px 0; }
  .page-home .hero__meta > :first-child {
    display:block; max-width:32ch; font-size:10px; line-height:1.8;
    letter-spacing:.18em; color:rgba(244,239,231,.9);
  }
  .page-home .hero__meta > :not(:first-child) { display:none; }
  .page-home .hero__body { display:none; }
  .page-home .manifesto { padding-top:72px; padding-bottom:40px; min-height:0; }
  .page-home .manifesto .rule { margin-bottom:30px; }
  .page-home .house { padding-top:24px; padding-bottom:36px; min-height:0; }
  .page-home .house__grid { gap:36px; }
  .page-home .house__text .t-h2 { margin-top:14px; margin-bottom:24px; }
  .page-home .house__quote { margin-top:28px; }
  .page-home .house__cta { margin-top:36px; }
  .page-home .menu-mo { padding-top:40px; padding-bottom:44px; }
  .page-home .menu-mo__head { padding-bottom:30px; gap:20px; }
  .page-home .menu-mo__head .section-num { margin-bottom:20px; }
  .page-home .menu-mo__head .t-h2 { margin-top:10px !important; }
  .page-home .menu-mo__meta { gap:8px; }
  .page-home .menu-mo__meta > div { gap:4px; }
  .page-home .menu-mo__track { gap:44px; }
  .page-home .menu-mo__stage { padding-bottom:30px; }
  .page-home .menu-mo__panel { gap:20px; }
  .page-home .menu-mo__panel__body .t-label { margin-bottom:14px; }
  .page-home .menu-mo__panel__body .t-dishname { margin-bottom:10px; }
  .page-home .menu-mo__panel__body .t-body { margin-bottom:18px; }
  .page-home .menu-mo__foot { margin-top:18px; padding-top:18px; padding-bottom:30px; gap:16px; }
  .page-home .home-experience { padding-top:48px; gap:28px; }
  .page-home .home-lower-title { margin-bottom:18px; }
  .page-home .home-experience__signature { margin-top:18px; }
  .page-home .home-experience__link { margin-top:22px; }

  .carte-page .carte__intro { margin:18px 0 24px; }
  .carte-page .carte__meta { padding:15px 0; margin-bottom:28px; }
  .carte-page .carte__left { padding-bottom:28px; }
  .carte-page .carte__acc summary { padding-top:18px; padding-bottom:18px; }
  .carte-page .carte__acc__body { padding-bottom:22px; }
  .carte-page .carte__acc__desc { margin-bottom:16px; }
  .carte-page .carte__acc__quote { margin-top:16px; }
  .carte-page .accords__grid { padding-top:24px; }
  .carte-page .accords__intro { margin-bottom:24px; }
  .carte-page .accords__col { padding-top:18px; }
  .carte-page .accords__col:first-child { padding-top:0; }
  .carte-page .accords__col + .accords__col { margin-top:18px; }
  .carte-page .accords__col-name { margin-bottom:16px; }
  .carte-page .accords__col-desc { margin-bottom:16px; }
  .carte-page .accords__photo { margin-top:42px; }
  .carte-page .accords + .carte__footer { padding-top:28px; }
  .carte-page .section-divider { --divider-space-before:30px; --divider-space-after:22px; }

  .maison-page .maison-block { padding-top:46px; padding-bottom:46px; }
  .maison-page .maison-block:last-of-type { padding-bottom:0; }
  .maison-page .maison-block__grid { row-gap:26px; }
  .maison-page .maison-block__eyebrow { margin-bottom:24px; }
  .maison-page .maison-block__h { margin-bottom:24px; }
  .maison-page .maison-block__rule { margin-bottom:22px; }
  .maison-page .maison-block__cta { margin-top:24px; }
  .maison-page .maison-block__stack { margin-bottom:24px; }

  /* Return the Contact/Reservation labels to normal flow on phones only. */
  body.contact-page main { padding-top:72px; }
  body.contact-page .contact-wrap { padding-top:16px; }
  body.reservation-page .res-main { padding-top:88px; }
  body:is(.contact-page,.reservation-page) :is(.page-kicker,.page-intro-rule,.page-intro-label) { top:0; }
  body:is(.contact-page,.reservation-page) .page-kicker { margin-bottom:0; }
  body.contact-page .contact-lead > .page-intro-rule,
  body.reservation-page .page-intro-rule { margin-top:8px; margin-bottom:12px; }
  body:is(.contact-page,.reservation-page) .page-intro-label { margin-bottom:20px; }
  .contact-page .contact-lead__title { margin-bottom:16px; }
  .contact-page .contact-lead__lede { margin-bottom:20px; }
  .contact-page .contact-info { margin-top:32px; }
  .reservation-page #res-title { margin-bottom:18px; }
  .reservation-page .res-intro { margin-bottom:20px; }

  /* Common mobile footer: retain every item and the existing two columns. */
  body .foot { padding-top:44px; min-height:0; }
  body .foot__top { row-gap:24px; padding-bottom:38px; }
  body .foot__brand { padding-top:12px; margin-bottom:20px; transform:none; }
  body .foot__legal { padding-top:14px; padding-bottom:max(20px,env(safe-area-inset-bottom)); }
  body:not(.priv-page) .footer-divider { --divider-space-before:30px; --divider-space-after:22px; }

  /* Clear the removed booking bar; keep the close control above the keyboard. */
  body .cc-btn { bottom:calc(16px + env(safe-area-inset-bottom)); }
  body .cc-panel {
    bottom:calc(72px + env(safe-area-inset-bottom) + var(--cc-viewport-bottom,0px));
    max-height:min(560px,calc(var(--cc-viewport-height,100dvh) - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  }
  body .cc-panel__close { width:40px; height:40px; top:6px; right:6px; }
  body .cc-form input { font-size:16px; }

  /* Existing in-page phone reveals; native page navigation has no wrapper fade. */
  @media (prefers-reduced-motion:no-preference) {
    [data-reveal-visual] { transform:translateY(8px); transition:opacity 520ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.22,1,.36,1); }
    [data-reveal-visual="fixed"], [data-reveal-visual].is-in { transform:none; }
    [data-reveal-content], [data-reveal-label] { transition-timing-function:cubic-bezier(.22,1,.36,1); }
  }
}
@media (max-width:359px) {
  .carte-page .carte__meta { gap:8px; }
  .carte-page .carte__meta span { gap:5px; }
}
