/* ==========================================================================
   SAMPLE 喫茶 Neon — v1.1 追加スタイル
   既存の埋め込みCSSより後に読み込み、次の2点だけを上書きする。
     A. トップページ .dn-teaser（昼と夜のあいだにある喫茶店。）のスクロール短縮
     B. 全ページの主見出しを 横書き=1行 / 縦書き=1列 に収める
   file:// での直接閲覧を前提としているため、外部依存は一切持たない。
   ========================================================================== */

/* ==========================================================================
   A. DAY / NIGHT 区間のスクロール短縮
   変更前: height:230svh（vhフォールバック 230vh）
   変更後: PC 160svh ／ 899px以下 145svh
   sticky ステージは 100svh のため、進捗 --p の移動距離は
   130svh → 60svh（PC）/ 45svh（モバイル）へ圧縮される。
   sticky構造・昼夜の写真・色温度・ゲージ・DAY/DUSK/NIGHT ラベルは維持。
   ========================================================================== */

@media (min-width: 900px) {
  .dn-teaser { height: 160svh; }
}

@media (max-width: 899px) {
  .dn-teaser { height: 145svh; }
}

/* svh 非対応ブラウザ向けフォールバック（同じ比率） */
@supports not (height: 100svh) {
  @media (min-width: 900px) {
    .dn-teaser { height: 160vh; }
  }
  @media (max-width: 899px) {
    .dn-teaser { height: 145vh; }
  }
}

/* 短くなった距離でも昼→夜が滑らかに繋がるよう、切替のカーブだけ整える */
.dn-teaser__shot--day { opacity: calc(1 - var(--p)); }
.dn-teaser__shot--night { opacity: var(--p); }

/* reduced-motion では進捗演出が止まるため、空スクロールを作らない */
@media (prefers-reduced-motion: reduce) {
  .dn-teaser { height: 100svh; }
  @supports not (height: 100svh) {
    .dn-teaser { height: 100vh; }
  }
}

/* ==========================================================================
   B. 主見出しの改行禁止

   共通方針
     - 主見出しの文言だけを nowrap にする（本文・説明文・住所・メニュー説明は対象外）
     - 収まらない場合は font-size / letter-spacing / 表示幅の調整で対応する
     - 縦書きは max-height ではなく font-size で列の長さを制御する
   ========================================================================== */

/* -------- 共通：見出し内の主文言と補助ラベルを、それぞれ折り返さない -------- */
.hero__title,
.statement__main,
.dn-teaser__title,
.owner-teaser__copy,
.recommend__title-en,
.recommend__title-jp,
.rec__name,
.news-sec__title .label,
.news-sec__jp,
.farewell__line,
.page-open__title,
.creed__title-sm,
.creed__title-lg,
.remake__title-en,
.remake__title-jp,
.greeting__main,
.seats__title-jp,
.seats__title-en,
.seat__name,
.craft__title,
.memory__title .label,
.memory__title-jp,
.menu-open__title,
.menu-open__title > span,
.cat__name-en,
.cat__name-jp,
.night__title,
.shift__title span,
.phase__title-en,
.phase__title-jp,
.switch__title,
.gallery__title .label,
.gallery__title-jp,
.info__title .label,
.info__title-jp,
.map__title .label,
.map__title-jp,
.contact__title .label,
.contact__title-jp,
.access-end__title,
.nf__title {
  white-space: nowrap;
}

/* ==========================  index.html  ========================== */

/* 夜まで、喫茶店。（縦書き8文字） */
.page--home .hero__title {
  font-size: min(7.6rem, 12.5vw, 8.4vh);
  letter-spacing: .02em;
  max-height: none;
}

/* 我が家。（横書き4文字・特大） */
@media (min-width: 900px) {
  .page--home .statement__main { font-size: min(20rem, 21.2vw); }
}
@media (max-width: 899px) {
  .page--home .statement__main { font-size: min(8rem, 20.5vw); }
}

/* 昼と夜のあいだにある喫茶店。（横書き14文字） */
.page--home .dn-teaser__copy {
  max-width: min(60rem, 100%);
}
.page--home .dn-teaser__title {
  font-size: min(3.4rem, calc((min(60rem, 100vw) - 2 * var(--gutter)) / 14.6));
  letter-spacing: .01em;
}

/* 誰でも、いつでも、我が家のように。（縦書き17文字） */
.page--home .owner-teaser__copy {
  white-space: nowrap;
  letter-spacing: .01em;
  max-height: none;
  font-size: min(3.4rem, 6vw, 3.7vh);
}
@media (max-width: 899px) {
  .page--home .owner-teaser__copy {
    max-height: none;
    font-size: min(2.4rem, 7vw, 3.5vh);
  }
}

/* おかえりなさい。（横書き8文字・特大） */
.page--home .farewell__line { font-size: min(10rem, 10.4vw); }
@media (max-width: 599px) {
  .page--home .farewell__line { font-size: min(4.4rem, 10.4vw); }
}

/* ==========================  story.html  ========================== */

/* 古い時間を、今の街で。（縦書き11文字） */
.page--story .page-open__title {
  font-size: min(6rem, 11vw, 5.9vh);
  letter-spacing: .01em;
  max-height: none;
}

/* 我が家と思える空間を。（横書き11文字） */
.page--story .creed__title-lg {
  max-width: none;
  font-size: min(4.4rem, 7.5vw);
  letter-spacing: 0;
}

/* いつもの席。（横書き6文字・2カラムグリッドの左半分に収める） */
@media (min-width: 900px) {
  .page--story .seats__title-jp { font-size: min(7rem, 7.1vw); }
}

/* 誰でも、いつでも、我が家のように。（縦書き17文字） */
.page--story .greeting__main {
  white-space: nowrap;
  letter-spacing: .01em;
  max-height: none;
  font-size: min(4.4rem, 6.4vw, 3.7vh);
}
@media (max-width: 899px) {
  .page--story .greeting__main {
    max-height: none;
    font-size: min(2.6rem, 7.2vw, 3.5vh);
  }
}

/* 灯りが消えるまで、珈琲を。（縦書き13文字） */
.page--story .craft__title {
  letter-spacing: .01em;
  max-height: none;
  font-size: min(2.8rem, 4.4vw, 4.3vh);
}
@media (max-width: 899px) {
  .page--story .craft__title {
    max-height: none;
    font-size: min(1.8rem, 6vw, 4vh);
  }
}

/* 残した記憶が、店になる。（横書き12文字） */
.page--story .memory__title-jp {
  font-size: min(3rem, 7vw);
  letter-spacing: 0;
}

/* ==========================  menu.html  ========================== */

/* 珈琲と、洋食と、少し長い夜。（横書き13文字／3つの装飾spanを1行へ） */
.page--menu .menu-open__title {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0;
  line-height: 1.05;
}
.page--menu .menu-open__t1,
.page--menu .menu-open__t2,
.page--menu .menu-open__t3 {
  margin-left: 0;
  font-size: min(5.4rem, 6.3vw);
}

/* 補助ラベル DESSERT が 1024px で画面右端を越えていたため、収まる大きさに留める */
@media (min-width: 900px) {
  .page--menu .cat__name--flat .cat__name-en { font-size: min(6.4rem, 9vw); }
}

/* 夜のお品書き（縦書き6文字） */
.page--menu .night__title {
  white-space: nowrap;
  max-height: none;
}

/* ========================  day-night.html  ======================== */

/* 昼と夜のあいだにある喫茶店。／ 灯りが消えるまで、珈琲を。（縦書き14・13文字） */
.page--daynight .shift__title span {
  letter-spacing: .01em;
  max-height: none;
  font-size: min(3.8rem, 6.4vw, 4.4vh);
}
@media (max-width: 899px) {
  .page--daynight .shift__title span {
    max-height: none;
    font-size: min(2.2rem, 7.2vw, 4.1vh);
  }
}

/* 看板に、灯が入る。（横書き9文字） */
.page--daynight .switch__title { font-size: min(6.6rem, 9.4vw); }

/* ==========================  access.html  ========================== */

/* はじめての日から。（縦書き9文字） */
.page--access .page-open__title {
  font-size: min(6rem, 11vw, 7vh);
  letter-spacing: .01em;
  max-height: none;
}

/* 灯りをつけて、お待ちしています。（横書き15文字） */
.page--access .info__title-jp {
  font-size: min(3.4rem, 5.6vw);
  letter-spacing: 0;
}

/* ご用があれば、伝票に。（横書き11文字） */
.page--access .contact__title-jp {
  font-size: min(3.2rem, 7.5vw);
  letter-spacing: 0;
}

/* ==========================  404.html  ========================== */

/* その席は、空いていません。（横書き12文字・brを削除済み） */
.page--404 .nf__title { font-size: min(6.4rem, 7vw); }
