/* Shared Ginga header effects. */
.site-header{
 position:relative!important;overflow:hidden!important;isolation:isolate;
 background:radial-gradient(ellipse at 78% 28%,rgba(119,199,201,.18),transparent 48%),radial-gradient(ellipse at 18% 75%,rgba(216,107,85,.12),transparent 45%),linear-gradient(120deg,#171f24,#303b3e)!important;
}
.site-header>.ginga-fx{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden;pointer-events:none;}
.site-header>*:not(.ginga-fx){position:relative;z-index:2;}
.site-header .ginga-star{position:absolute;display:block;left:-26px;border-radius:50%;opacity:.75;animation:gkCosmosDrift linear infinite;}
.site-header .ginga-gold{background:#e7c98a;box-shadow:0 0 7px #e7c98a,0 0 18px rgba(231,201,138,.85);}
.site-header .ginga-aqua{background:#77c7c9;box-shadow:0 0 7px #77c7c9,0 0 18px rgba(119,199,201,.85);}
.site-header .ginga-coral{background:#d86b55;box-shadow:0 0 7px #d86b55,0 0 18px rgba(216,107,85,.8);}
.site-header .ginga-white{background:#fff;box-shadow:0 0 7px #fff,0 0 18px rgba(255,255,255,.65);}
.site-header .ginga-star:nth-child(1){top:12%;width:8px;height:8px;animation-duration:16s;animation-delay:-2s;}
.site-header .ginga-star:nth-child(2){top:25%;width:14px;height:14px;animation-duration:21s;animation-delay:-11s;}
.site-header .ginga-star:nth-child(3){top:40%;width:8px;height:8px;animation-duration:18s;animation-delay:-7s;}
.site-header .ginga-star:nth-child(4){top:55%;width:12px;height:12px;animation-duration:24s;animation-delay:-17s;}
.site-header .ginga-star:nth-child(5){top:70%;width:8px;height:8px;animation-duration:19s;animation-delay:-9s;}
.site-header .ginga-star:nth-child(6){top:83%;width:12px;height:12px;animation-duration:23s;animation-delay:-4s;}
.site-header .ginga-star:nth-child(7){top:34%;width:6px;height:6px;animation-duration:27s;animation-delay:-20s;}
.site-header .ginga-star:nth-child(8){top:64%;width:10px;height:10px;animation-duration:20s;animation-delay:-15s;}
.site-header .ginga-star:nth-child(9){top:18%;width:10px;height:10px;animation-duration:25s;animation-delay:-8s;}
.site-header .ginga-star:nth-child(10){top:76%;width:6px;height:6px;animation-duration:28s;animation-delay:-19s;}
.site-header .ginga-orbit{position:absolute;right:42px;top:50%;width:210px;height:210px;margin-top:-105px;border:1px solid rgba(231,201,138,.5);border-radius:50%;animation:gkCosmosOrbit 48s linear infinite;}
.site-header .ginga-orbit::before{content:"";position:absolute;inset:28px;border:1px solid rgba(119,199,201,.42);border-radius:50%;}
.site-header .ginga-orbit::after{content:"";position:absolute;width:9px;height:9px;right:20px;top:40px;border-radius:50%;background:#d86b55;box-shadow:0 0 12px #d86b55;}
.site-header .ginga-orbit-small{position:absolute;left:28%;top:12%;width:64px;height:64px;border:1px solid rgba(119,199,201,.22);border-radius:50%;}
.site-header .ginga-shoot{position:absolute;left:-160px;top:18%;width:100px;height:1px;opacity:0;transform:rotate(-12deg);animation:gkCosmosShoot 14s linear infinite;}
.site-header .ginga-shoot-aqua{background:linear-gradient(90deg,transparent,#77c7c9);animation-delay:-5s;}
.site-header .ginga-shoot-gold{background:linear-gradient(90deg,transparent,#e7c98a);top:58%;animation-delay:-11s;}
@keyframes gkCosmosDrift{0%{transform:translateX(0);opacity:0;}10%{opacity:.8;}50%{transform:translateX(430px) translateY(-6px);opacity:1;}90%{opacity:.65;}100%{transform:translateX(900px) translateY(4px);opacity:0;}}
@keyframes gkCosmosOrbit{to{transform:rotate(360deg);}}
@keyframes gkCosmosShoot{0%,75%{transform:translateX(0) rotate(-12deg);opacity:0;}80%{opacity:.65;}95%{transform:translateX(1000px) translateY(-60px) rotate(-12deg);opacity:0;}100%{opacity:0;}}
@media(prefers-reduced-motion:reduce){.site-header .ginga-star{animation:none;left:35%;opacity:.7;}.site-header .ginga-star:nth-child(2n){left:68%;}.site-header .ginga-star:nth-child(3n){left:85%;}.site-header .ginga-orbit{animation:none;}.site-header .ginga-shoot{animation:none;}}

/* 写真ブロックに薄い額縁感 */
.photo img,
.product-link img,
.product-card img{
  box-shadow:
    0 0 0 1px rgba(231,201,138,.10),
    0 8px 24px rgba(31,36,39,.04);
}

figcaption{
  background:linear-gradient(
    90deg,
    rgba(216,107,85,.03),
    rgba(231,201,138,.05),
    rgba(119,199,201,.04)
  );
}

/* 商品一覧周辺 */
.choose{
  background:linear-gradient(
    90deg,
    rgba(216,107,85,.03),
    rgba(231,201,138,.04),
    rgba(119,199,201,.04)
  );
}

.product-grid{
  background:
    radial-gradient(circle at 8% 10%,rgba(231,201,138,.06),transparent 18%),
    radial-gradient(circle at 90% 90%,rgba(119,199,201,.05),transparent 20%),
    #f9f7f2;
}

.product-card{
  box-shadow:0 8px 20px rgba(27,33,35,.035);
}

/* 賞・レビュー・淡色セクション */
.award{
  background:
    linear-gradient(
      90deg,
      rgba(231,201,138,.07),
      rgba(119,199,201,.05)
    ),
    #f2f4ed;
  border-top:1px solid rgba(231,201,138,.12);
  border-bottom:1px solid rgba(119,199,201,.08);
}

.pale{
  background:
    radial-gradient(circle at 88% 16%,rgba(231,201,138,.07),transparent 18%),
    linear-gradient(180deg,#f4f0e8 0%,#f7f4ee 100%);
}

.reviews{
  background:
    radial-gradient(circle at 10% 12%,rgba(216,107,85,.04),transparent 18%),
    radial-gradient(circle at 92% 86%,rgba(119,199,201,.05),transparent 20%),
    #f0ece4;
}

.review{
  border-top-color:rgba(184,170,147,.48);
}

.review-source{
  display:inline-block;
  padding-bottom:2px;
  border-bottom:1px solid rgba(119,199,201,.22);
}

/* ダークセクションは少しだけ色味を増やす */
.collection-intro{
  background:
    radial-gradient(circle at 88% 18%,rgba(231,201,138,.10),transparent 22%),
    linear-gradient(120deg,#243335 0%,#28383a 58%,#304144 100%);
}

.wish{
  background:
    radial-gradient(circle at 14% 18%,rgba(216,107,85,.08),transparent 20%),
    radial-gradient(circle at 86% 82%,rgba(119,199,201,.08),transparent 22%),
    #293a3d;
}

/* ボタンやリンクにほんのり色味 */
.details-link{
  box-shadow:0 8px 20px rgba(30,39,42,.08);
}

.card-more,
.review-source,
.cover-foot a{
  transition:color .25s ease,border-color .25s ease,opacity .25s ease;
}

/* フッターにもほんのり宇宙感 */
.site-footer{
  background:
    radial-gradient(circle at 88% 16%,rgba(231,201,138,.08),transparent 18%),
    radial-gradient(circle at 10% 84%,rgba(119,199,201,.07),transparent 20%),
    #1b282d;
}

/* スマホでは少し控えめに */
@media(max-width:600px){
  .section::before{
    left:20px;
    right:20px;
  }
  main h2::after{
    width:64px;
  }
}
