/* URU 四季の雫 記念演出ランチャー v1.0.2 */
.uru-anniversary-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(8px, 2vw, 22px);
  padding-top: 10px;
}
.reservation-info-card .uru-anniversary-contact-details { min-width: 0; margin: 0; padding: 0; }
.reservation-info-card .uru-anniversary-contact-details li { min-width: 0; }
.reservation-info-card .uru-anniversary-contact-details .value { min-width: 0; }
.uru-anniversary-logo-button {
  align-self: end;
  display: block;
  width: clamp(104px, 12vw, 148px);
  height: auto;
  margin: 0 0 4px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: transparent !important;
  cursor: pointer;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: transform .22s ease, filter .22s ease;
}
.uru-anniversary-logo-button img { display:block; width:100%; height:auto; border-radius: 12px; }
.uru-anniversary-logo-button:hover { transform:translateY(-3px); filter:brightness(1.045); }
.uru-anniversary-logo-button:active { transform:scale(.97); }
.uru-anniversary-logo-button:focus-visible { outline:3px solid #c69048; outline-offset:4px; }
.uru-anniversary-modal[hidden], .uru-anniversary-intro[hidden], .uru-anniversary-player[hidden] { display:none !important; }
.uru-anniversary-modal {
  position:fixed; inset:0; z-index:20000;
  display:flex; justify-content:center; align-items:center;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  box-sizing:border-box; isolation:isolate;
}
.uru-anniversary-backdrop { position:absolute; inset:0; background:rgba(4,12,20,.88); backdrop-filter:blur(7px); }
.uru-anniversary-intro {
  position:relative; z-index:1; box-sizing:border-box;
  width:min(92vw, 520px); max-height:calc(100dvh - 32px); overflow-y:auto;
  padding:clamp(20px,4.4vw,44px); border-radius:18px;
  border:1px solid rgba(220,180,110,.55);
  background:linear-gradient(153deg,rgba(24,41,51,.985),rgba(6,16,27,.985));
  box-shadow:0 18px 80px rgba(0,0,0,.5); color:#f6f2eb;
  text-align:center; font-family:'Yu Mincho','Hiragino Mincho ProN',serif;
}
.uru-anniversary-dismiss { position:absolute; top:8px; right:10px; border:0; border-radius:50%; background:transparent; color:#fff; font-size:32px; width:42px; height:42px; cursor:pointer; }
.uru-anniversary-intro-logo { width:84px; height:84px; object-fit:contain; border-radius:50%; margin:0 auto 8px; }
.uru-anniversary-eyebrow { margin:8px auto; font-size:12px; letter-spacing:.16em; color:#e5c994; }
.uru-anniversary-intro h2 { background:transparent !important; color:#f6e1b1 !important; box-shadow:none; border:0; padding:0 !important; margin:7px 0 8px !important; font-size:clamp(30px,6vw,42px) !important; letter-spacing:.12em; }
.uru-anniversary-subtitle { margin:0 0 15px; color:#d7e4eb; letter-spacing:.08em; font-size:15px; }
.uru-anniversary-intro-copy { font-size:clamp(13px,3.3vw,16px); line-height:2; margin:14px 0; color:#f0e9e1; }
.uru-anniversary-load-status { min-height:1.5em; margin:12px 0; font-size:13px; color:#e2c693; }
.uru-anniversary-start {
  display:block; width:100%; padding:13px 16px; margin:12px auto 0;
  color:#211d18; background:linear-gradient(105deg,#f9e9b6,#c99c54);
  border:1px solid #f9df9d; border-radius:999px; font:700 16px/1.5 sans-serif; cursor:pointer;
}
.uru-anniversary-start:disabled, .uru-anniversary-silent:disabled { opacity:.52; cursor:wait; }
.uru-anniversary-start:not(:disabled):hover { filter:brightness(1.1); }
.uru-anniversary-silent { background:transparent; border:0; padding:10px; margin:6px auto 0; color:#d7dce7; text-decoration:underline; cursor:pointer; }
.uru-anniversary-notice { font:12px/1.8 sans-serif; color:#c9c2bf; margin:12px 0 4px; }
.uru-anniversary-direct { display:inline-block; margin-top:4px; font:12px/1.5 sans-serif; color:#dfcfae; text-decoration:underline; }
.uru-anniversary-player { position:absolute; inset:0; z-index:2; background:#050c14; }
/* 事前読み込み時も表示領域サイズを保持する。display:none はWebGLのサイズ取得を壊す。 */
.uru-anniversary-player.uru-anniversary-preparing { visibility:hidden; pointer-events:none; }
.uru-anniversary-frame-host,.uru-anniversary-frame-host iframe { display:block; width:100%; height:100%; border:0; }
.uru-anniversary-player-close { position:absolute; top:max(10px,env(safe-area-inset-top)); right:max(10px,env(safe-area-inset-right)); z-index:5; color:#fff; background:rgba(10,20,30,.8); border:1px solid rgba(255,255,255,.45); border-radius:999px; padding:9px 14px; font:14px sans-serif; cursor:pointer; }
.uru-anniversary-player-close:hover { background:rgba(50,65,75,.94); }
@media(max-width:700px) {
  .uru-anniversary-contact-layout { grid-template-columns:minmax(0, 1fr) 96px; gap:8px; }
  .uru-anniversary-logo-button { width:96px; margin:0 0 6px; }
  .reservation-info-card .uru-anniversary-contact-details li { margin-bottom:5px; padding-bottom:8px; }
  .reservation-info-card .uru-anniversary-contact-details .value { overflow-wrap:anywhere; }
  .uru-anniversary-intro { width:min(94vw, 420px); padding:24px 20px; }
  .uru-anniversary-intro-logo { width:70px; height:70px; }
}
@media(prefers-reduced-motion:reduce) { .uru-anniversary-logo-button { transition:none; } }


/* v1.0.2: 予約カードの他の行と同じ先頭余白に揃える。
   従来の幅148pxのロゴが連絡先2行より高く、電話行の上に空白が生じていた。 */
.reservation-info-card .uru-anniversary-contact-layout {
  align-items: center;
  padding-top: 0;
  gap: clamp(8px, 1.8vw, 16px);
}
.reservation-info-card .uru-anniversary-logo-button {
  width: clamp(76px, 7.6vw, 90px);
  align-self: center;
  margin: 0;
}
.reservation-info-card .uru-anniversary-contact-details {
  align-self: center;
}
@media (max-width: 700px) {
  /* 直前の「支払い方法」などと同じ区切りの余白を復元 */
  .reservation-info-card .uru-anniversary-contact-layout {
    grid-template-columns: minmax(0, 1fr) 74px;
    align-items: center;
    gap: 8px;
    padding-top: 18px;
  }
  .reservation-info-card .uru-anniversary-logo-button {
    width: 74px;
    align-self: center;
  }
  .reservation-info-card .uru-anniversary-contact-details li {
    margin-bottom: 10px;
    padding: 9px 0 15px;
  }
  .reservation-info-card .uru-anniversary-contact-details li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 380px) {
  .reservation-info-card .uru-anniversary-contact-layout {
    grid-template-columns: minmax(0, 1fr) 65px;
    gap: 6px;
  }
  .reservation-info-card .uru-anniversary-logo-button { width: 65px; }
}
