/* Melody：入口共通レイアウトの店舗テーマだけを担当。 */
:root{
  --entry-accent:#ef89a5;
  --entry-gold:#e7a7ba;
  --entry-gold-soft:#cf7f98;
  --entry-silver:#bc748a;
  --entry-ink:#8f5b6d;
  --entry-muted:#8f6272;
  --entry-line:rgba(214,146,169,.34);
  --entry-heavy:#f7dbe5;
  --entry-page-bg:#fef1f6;
  --entry-card-bg:linear-gradient(180deg,rgba(255,253,254,.94) 0%,rgba(253,242,246,.97) 100%);
  --entry-body-bg:linear-gradient(rgba(255,243,247,.64),rgba(251,234,240,.78));
  --entry-bg-image:url('/melody/imgs/indexbg.jpg');
  --entry-bg-opacity:.46;
  --entry-bg-filter:saturate(1.02) brightness(1.08);
  --entry-bg-position:center;
  --entry-banner-position:center 18%;
  --entry-enter-bg:linear-gradient(135deg,#f5a4ba 0%,#ea7f9e 100%);
  --entry-enter-hover:linear-gradient(135deg,#f29fb5,#e57698);
  --entry-exit-bg:rgba(255,255,255,.84);
  --entry-exit-hover:rgba(255,255,255,.94);
  --entry-title:#985d70;
  --entry-title-sub:#b77d90;
  --entry-copy-shadow:none;
  --entry-eyebrow-bg:rgba(255,255,255,.82);
  --entry-note-bg:rgba(255,255,255,.72);
  --entry-details-bg:rgba(255,255,255,.60);
}
.shop-mark{
  width:min(100%,262px);
  height:124px;
  margin:0 auto 2px;
  background:url('../imgs/melody-entrance-logo.png') center/contain no-repeat;
  opacity:1;
  filter:drop-shadow(0 5px 12px rgba(239,137,165,.16));
}
.shop-mark::before,.shop-mark::after{content:none}

/* Melody entrance decoration: keep the shared structure, add visual sectioning only here. */
.entrance-card{
  border:2px solid rgba(225,104,116,.42);
  background:linear-gradient(180deg,rgba(255,251,253,.97) 0%,rgba(253,235,242,.98) 100%);
  box-shadow:0 24px 62px rgba(135,62,84,.24),0 0 0 5px rgba(255,255,255,.30);
}
.brand-banner{
  border-bottom:3px solid #e98aa3;
  box-shadow:0 4px 0 rgba(255,255,255,.82),0 7px 14px rgba(205,105,137,.12);
}
.entrance-copy{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.90) 0%,rgba(255,235,242,.84) 100%),var(--entry-bg-image) center/cover no-repeat;
  border-bottom:1px solid rgba(225,104,116,.34);
}
.entrance-copy::after{
  content:"";
  display:block;
  width:164px;
  height:2px;
  margin:22px auto -2px;
  background:linear-gradient(90deg,transparent 0%,#ef9bb1 23%,#e16874 50%,#ef9bb1 77%,transparent 100%);
  border-radius:999px;
}
.shop-mark{
  width:min(100%,262px);
  height:124px;
  margin:0 auto 2px;
  border:0;
  border-radius:0;
  background:url('../imgs/melody-entrance-logo.png') center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 5px 12px rgba(239,137,165,.16));
}
.shop-mark::before,.shop-mark::after{content:none}
.eyebrow{
  border-color:rgba(225,104,116,.36);
  background:rgba(255,255,255,.88);
  color:#c25f7c;
  box-shadow:0 2px 8px rgba(220,119,148,.08);
}
.entrance-actions{
  padding-top:20px;
  padding-bottom:20px;
  background:linear-gradient(180deg,rgba(250,205,220,.76) 0%,rgba(255,232,239,.86) 100%);
  border-bottom:1px solid rgba(225,104,116,.30);
}
.entry-button{
  border-color:rgba(225,104,116,.30);
  box-shadow:0 5px 14px rgba(173,76,105,.10);
}
.entry-enter{
  border-color:rgba(255,255,255,.72);
  box-shadow:0 8px 18px rgba(195,76,112,.24),inset 0 0 0 1px rgba(255,255,255,.18);
}
.entry-exit{
  background:rgba(255,255,255,.88);
  border-color:rgba(225,104,116,.28);
  color:#a75a72;
}
.entry-exit .entry-ja{border-left-color:rgba(225,104,116,.28)}
.age-note{
  border-top:0;
  border-bottom:1px solid rgba(225,104,116,.28);
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,228,237,.90),rgba(255,255,255,.94));
  color:#8f6272;
}
.age-note strong{
  border-color:#e16874;
  background:#fff;
  color:#d76080;
  box-shadow:0 0 0 3px rgba(225,104,116,.10);
}
.entrance-details{
  padding:12px 16px 16px;
  border-top:0;
  background:linear-gradient(180deg,rgba(255,244,248,.95),rgba(248,215,226,.82));
}
.entrance-info-card{
  position:relative;
  margin:10px 0 0;
  padding:18px 16px 17px;
  border:1px solid rgba(225,104,116,.26);
  border-radius:11px;
  background:rgba(255,255,255,.86);
  box-shadow:0 6px 15px rgba(173,76,105,.08);
}
.entrance-info-card:nth-child(2){
  background:rgba(255,239,245,.92);
}
.entrance-info-card:last-child{border-bottom:1px solid rgba(225,104,116,.26)}
.entrance-info-title{
  color:#b94f70;
  text-align:center;
}
.entrance-info-title::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin:9px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#e16874,transparent);
}
.entrance-info-body{color:#805968}
