/* =========================================================
   SNACK BAR Lit 新デザイン（2026-10）
   ---------------------------------------------------------
   元データ：顧客が ChatGPT で制作した docs/Lit_Official_Website/index.html
   読み込み：header.php が全フロントページで <link> する（filemtime でキャッシュ更新）
   効く範囲：.lit- で始まるクラスと、lit のブロックがあるページ（body:has(.lit-site)）だけ。
             lit のブロックが無いページの見た目は変えない。
   注意：
   - 共通 style.css が * {margin:0;padding:0} と img{display:block} をかけているので、
     受領デザインが前提にしているブラウザ標準の余白（p の上下 1em 等）はここで明示する
   - 受領 CSS の body::before（固定のネオン光）は合成専用レイヤーで再現（スクロールで描き直さない）
   - 受領 CSS のヘッダー backdrop-filter はほぼ不透明な地の上で効果が見えないため、不透明度だけで再現
   ========================================================= */

/* ---------- ページ全体（lit のブロックがあるページだけ） ---------- */
body:has(.lit-site) {
  background: #050507;
  color: #f7f3f7;
  line-height: normal;
}
body:has(.lit-site)::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 15% 40%, #ff00882b, transparent 28%),
    radial-gradient(circle at 85% 45%, #008cff22, transparent 28%);
  will-change: transform;
}
/* テンプレ共通のふわっと表示を止める（transform が残ると中のモーダルが画面基準にならない／スクロールが重くなる） */
body:has(.lit-site) .fade-up {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
/* 旧ヘッダー・旧フッター（確認用ページで併存するときだけ隠す。切り替え後はそもそも描画されない） */
body:has(.lit-header) .global-header,
body:has(.lit-header) .mobile-nav-overlay,
body:has(.lit-header) #liveWaitStatus,
body:has(.lit-footer) .global-footer,
body:has(.lit-footer) .footer-copy-text,
body:has(.lit-footer) .fc-floating-actions {
  display: none !important;
}
body:has(.lit-footer).has-floating-actions { padding-bottom: 0 !important; }
html.lit-scroll-lock, html.lit-scroll-lock body { overflow: hidden; }

/* ---------- 共通 ---------- */
.lit-site {
  font-family: "Times New Roman", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  color: #f7f3f7;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  /* 共通 style.css の antialiased（Mac で細く描く）を受領デザインと同じ既定に戻す */
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
.lit-site p { margin: 1em 0; }
.lit-site a,
.lit-site a:hover { color: #fff; }
.lit-site section[id] { scroll-margin-top: 84px; }

.lit-site .lit-h2 {
  font-size: 38px;
  letter-spacing: 8px;
  margin: 0 0 20px;
  font-weight: 400;
  line-height: normal;
  font-family: inherit;
  color: #f7f3f7;
}
.lit-site .lit-h2 i { font-style: normal; color: #83dfff; }

/* ---------- ヘッダー ---------- */
.lit-site .lit-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 76px;
  display: flex;
  align-items: center;
  gap: 35px;
  padding: 0 4%;
  background: #050507f5;
  z-index: 1000;
  border-bottom: 1px solid #ffffff12;
}
.lit-site .lit-header-spacer { height: 76px; }
.lit-site .lit-header__brand {
  width: 105px;
  height: 62px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.lit-site .lit-header__logo {
  display: block;
  width: 82px;
  height: 58px;
  object-fit: contain;
  background: #000;
}
.lit-site .lit-nav { display: flex; gap: 28px; margin: auto; }
.lit-site .lit-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 1px;
}
.lit-site .lit-nav a:hover { color: #fff; text-shadow: 0 0 8px #ff1493; }

/* スマホ用メニューボタン（受領デザインはスマホでナビが消えるため追加） */
.lit-site .lit-menu-btn {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #ff1493;
  border-radius: 50%;
  background: #09090d;
  box-shadow: 0 0 14px rgba(255, 20, 147, .35);
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  line-height: 1;
}
.lit-site .lit-menu-btn span {
  display: block;
  width: 18px;
  height: 1px;
  background: #fff;
  transition: transform .25s ease, opacity .25s ease;
}
html.lit-drawer-open .lit-site .lit-menu-btn span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
html.lit-drawer-open .lit-site .lit-menu-btn span:nth-child(2) { opacity: 0; }
html.lit-drawer-open .lit-site .lit-menu-btn span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.lit-site .lit-drawer {
  position: fixed;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 26px;
  padding: 24px 20px 60px;
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 0, 128, .14), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(0, 140, 255, .14), transparent 40%),
    #050507f7;
  overflow-y: auto;
}
.lit-site .lit-drawer[hidden] { display: none; }
.lit-site .lit-drawer a {
  color: #fff;
  font-size: 18px;
  letter-spacing: 4px;
  text-decoration: none;
}
.lit-site .lit-drawer a.lit-drawer__insta {
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 1px;
  border: 1px solid #ff2aa1;
  padding: 12px 22px;
  border-radius: 8px;
}

/* ---------- ヒーロー ---------- */
.lit-site .lit-hero {
  min-height: 78vh;
  background: url('/image/lit/lit-hero.jpg') center / cover no-repeat;
  position: relative;
  display: grid;
  place-items: center;
}
.lit-site .lit-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(#0006, #0002 45%, #000a);
}
.lit-site .lit-hero__content { position: relative; text-align: center; }
.lit-site .lit-hero__title { margin: 0; font-size: inherit; line-height: 0; }
.lit-site .lit-hero__title img {
  display: inline-block;
  width: min(560px, 70vw);
  height: auto;
  mix-blend-mode: screen;
  filter: contrast(1.1);
}
.lit-site .lit-hero__catch { font-size: 28px; margin: 12px; }
.lit-site .lit-hero__en { font-size: 13.33px; letter-spacing: 2px; }

/* ---------- 写真＋文章（ABOUT / DRINK / CHAMPAGNE / CAST） ---------- */
.lit-site .lit-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  min-height: 370px;
  border-top: 1px solid #ff149344;
}
/* 受領 CSS は reverse でも同じ指定で反転しなかった。PC は左右交互にする（顧客回答⑥：お任せ） */
.lit-site .lit-split--reverse { grid-template-columns: 1.2fr 1fr; }
.lit-site .lit-split--reverse .lit-split__img { order: -1; }
.lit-site .lit-split__img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 440px;
  object-fit: cover;
}
.lit-site .lit-split__copy {
  padding: 55px 6%;
  background: linear-gradient(120deg, #050507 55%, #110813);
}
.lit-site .lit-split--reverse .lit-split__copy { background: linear-gradient(240deg, #050507 55%, #110813); }
.lit-site .lit-text { font-size: 17px; line-height: 1.9; }
/* ABOUT 見出し横のロゴ：受領 CSS では .split img（写真用）の指定が勝ち、見出しの下に大きく出る。
   顧客の確認動画もこの見た目なので再現する（.aboutLogo の 58px 指定は実際には効いていなかった） */
.lit-site .lit-h2__logo {
  display: inline-block;
  width: 100%;
  height: 100%;
  max-height: 440px;
  object-fit: cover;
  vertical-align: middle;
  margin-left: 8px;
}

.lit-site .lit-menu-link {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  border: 1px solid #fff;
  padding: 11px 20px;
  margin-top: 8px;
  letter-spacing: .5px;
  font-size: 16px;
}
.lit-site .lit-menu-link:hover { color: #fff; border-color: #ff2aa1; box-shadow: 0 0 16px #ff2aa155; }

/* ---------- SYSTEM ---------- */
.lit-site .lit-system {
  padding: 34px 5% 45px;
  text-align: center;
  background: #07080d;
  border-top: 1px solid #008cff44;
}
.lit-site .lit-system .lit-sub { margin-top: -16px; }
.lit-site .lit-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.lit-site .lit-card {
  padding: 22px 12px;
  border: 1px solid #ff1493;
  border-radius: 4px;
  background: #08080c;
  box-shadow: inset 0 0 20px #ff149312;
  min-width: 0;
}
.lit-site .lit-card--blue { border-color: #168cff; }
.lit-site .lit-card b,
.lit-site .lit-card span { display: block; }
.lit-site .lit-card strong {
  display: block;
  font-size: 27px;
  font-weight: 700;
  color: #ffd9ed;
  margin: 14px 0;
  text-shadow: 0 0 8px #ff1493;
}
.lit-site .lit-card .lit-card__hours {
  font-size: 21px;
  line-height: 1.6;
  color: #fff;
  text-shadow: none;
}
/* 顧客回答②で追加：延長料金 */
.lit-site .lit-card .lit-card__ext {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #ff149344;
  color: #ffd9ed;
}

/* ---------- ACCESS ---------- */
.lit-site .lit-access {
  padding: 55px 6%;
  min-height: 300px;
  background: linear-gradient(110deg, #060609, #09111d);
}
.lit-site .lit-access .lit-access__map { color: #fff; text-decoration: underline; }

/* ---------- フッター ---------- */
.lit-site .lit-footer {
  text-align: center;
  padding: 45px;
  background: #030304;
  border-top: 1px solid #ffffff18;
}
.lit-site .lit-footer__logo {
  display: block;
  width: 130px;
  height: 115px;
  object-fit: contain;
  margin: 0 auto 12px;
}
.lit-site .lit-insta {
  color: #fff;
  text-decoration: none;
  border: 1px solid #ff2aa1;
  padding: 12px 22px;
  border-radius: 8px;
  display: inline-block;
}
.lit-site .lit-insta:hover { box-shadow: 0 0 16px #ff2aa155; }

/* ---------- メニュー画像・COMING SOON の拡大表示 ---------- */
.lit-site .lit-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0, 0, 0, .94);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 68px 14px 30px;
}
.lit-site .lit-modal.is-open,
.lit-site .lit-modal:target { display: flex; }
.lit-site .lit-modal__inner {
  max-width: 980px;
  width: 100%;
  margin: auto;
  position: relative;
  text-align: center;
}
.lit-site .lit-modal__img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid rgba(255, 0, 153, .45);
  box-shadow: 0 0 35px rgba(0, 153, 255, .18);
}
.lit-site .lit-modal__open {
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  color: #ddd;
  text-decoration: underline;
}
.lit-site .lit-modal__close {
  position: fixed;
  right: 18px;
  top: 18px;
  z-index: 10000;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #ff1493;
  background: #09090d;
  color: #fff;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(255, 20, 147, .45);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.lit-site .lit-coming {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 0, 128, .13), transparent 35%),
    radial-gradient(circle at 70% 60%, rgba(0, 140, 255, .14), transparent 40%),
    #050508;
  border: 1px solid rgba(255, 255, 255, .12);
  padding: 50px 20px;
}
.lit-site .lit-coming h3 {
  font-size: clamp(38px, 9vw, 88px);
  font-weight: 700;
  letter-spacing: .12em;
  margin: 0;
  line-height: 1.15;
  background: linear-gradient(90deg, #ff3aa7, #fff, #22a7ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 30px rgba(255, 0, 140, .15);
}
.lit-site .lit-coming p { letter-spacing: .28em; color: #ddd; margin: 18px 0 0; }

/* ---------- スマホ・タブレット ---------- */
@media (max-width: 760px) {
  .lit-site section[id] { scroll-margin-top: 72px; }
  .lit-site .lit-header { height: 64px; padding: 0 16px; }
  .lit-site .lit-header-spacer { height: 64px; }
  .lit-site .lit-nav { display: none; }
  .lit-site .lit-menu-btn { display: inline-flex; }
  .lit-site .lit-hero { min-height: 68vh; }
  .lit-site .lit-hero__title img { width: 82vw; }
  .lit-site .lit-hero__catch { font-size: 21px; }
  .lit-site .lit-split,
  .lit-site .lit-split--reverse { grid-template-columns: 1fr; }
  .lit-site .lit-split--reverse .lit-split__img { order: 0; }
  .lit-site .lit-split--reverse .lit-split__copy { background: linear-gradient(120deg, #050507 55%, #110813); }
  .lit-site .lit-split__img,
  .lit-site .lit-h2__logo { max-height: 330px; }
  .lit-site .lit-split__copy { padding: 38px 7%; }
  .lit-site .lit-h2 { font-size: 30px; letter-spacing: 5px; }
  .lit-site .lit-cards { grid-template-columns: 1fr 1fr; }
  .lit-site .lit-card strong { font-size: 24px; }
}
@media (min-width: 761px) {
  .lit-site .lit-drawer { display: none !important; }
}
@media (max-width: 430px) {
  .lit-site .lit-cards { grid-template-columns: 1fr; }
  .lit-site .lit-hero__en { font-size: 10px; }
}
