/* =========================================================
   PRIME GEAR 商品レビュー
   現行SWELLカスタムの見た目を独立ブロックとして再現
========================================================= */
.pg-review {
  --pg-review-accent:#b00000;
  --pg-review-good:#34c759;
  --pg-review-bad:#8f1d2c;
  max-width:760px;
  margin:2em auto 3em;
  padding:28px 16px 56px;
  background:transparent;
  border:0;
  box-shadow:none;
  color:#1d1d1f;
}
.pg-review *{box-sizing:border-box}
.pg-review__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:48px;
  max-width:680px;
  margin:0 auto;
  padding:0;
}
.pg-review__eyebrow{
  grid-column:1/-1;
  width:100%;
  margin:0 0 10px;
  color:#86868b;
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-align:left;
}
.pg-review__title{
  grid-column:1/-1;
  width:100%;
  margin:0 0 30px;
  padding:0;
  color:#1d1d1f;
  font-size:clamp(24px,3.2vw,33px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.04em;
  text-align:left;
}
.pg-review__image{
  grid-column:1/-1;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 auto 34px;
  padding:0;
}
.pg-review__image img{
  display:block;
  width:auto;
  max-width:min(350px,82%);
  max-height:290px;
  height:auto;
  margin:0 auto;
  border:0;
  border-radius:0;
  object-fit:contain;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.04));
}
.pg-review__rating{
  grid-column:1/-1;
  width:min(340px,100%);
  margin:0 auto 55px;
  padding:0;
  text-align:left;
}
.pg-review__rating-label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  width:100%;
  margin:0 0 10px;
  color:#6e6e73;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
}
.pg-review-score{display:inline-flex;align-items:baseline;gap:3px;margin-left:auto;line-height:1;white-space:nowrap}
.pg-review-score__num{color:#1d1d1f;font-size:17px;font-weight:800;letter-spacing:-.03em}
.pg-review-score__max{color:#9a9a9f;font-size:12px;font-weight:600;letter-spacing:.02em}
.pg-review__rating-value{
  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:0 0 18px;
  line-height:1;
  text-align:left;
}
.pg-review__rating-value::before,
.pg-review__rating-value::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  display:block;
  height:2px;
}
.pg-review__rating-value::before{width:100%;background:rgba(0,0,0,.075)}
.pg-review__rating-value::after{
  width:var(--pg-review-score-rate,0%);
  background:linear-gradient(90deg,#1d1d1f 0%,#b00000 72%,#d43c3c 100%);
  transform-origin:left center;
}
.pg-review__stars{display:inline-flex;align-items:center;gap:.08em;font-size:14px;line-height:1;transform:scale(.9);transform-origin:left center}
.pg-review__star{
  position:relative;
  display:inline-block;
  width:1em;
  color:#d8d8dc;
  line-height:1;
}
.pg-review__star::after{
  content:"★";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--pg-review-star-fill,0%);
  overflow:hidden;
  color:#f5b400;
  white-space:nowrap;
}
.pg-review__merits,.pg-review__demerits{
  position:relative;
  width:auto;
  margin:0;
  padding:36px 0 0;
  background:transparent;
  border-top:1px solid #e5e5e7;
}
.pg-review__merits{grid-column:1/2}
.pg-review__demerits{grid-column:2/3}
.pg-review__merits::after{
  content:"";
  position:absolute;
  top:-1px;
  left:100%;
  width:48px;
  height:1px;
  background:#e5e5e7;
}
.pg-review__section-label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#1d1d1f;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.02em;
}
.pg-review__section-line{display:inline-block;width:22px;height:1px;flex:0 0 auto}
.pg-review__merits .pg-review__section-line{background:var(--pg-review-good)}
.pg-review__demerits .pg-review__section-line{background:var(--pg-review-bad)}
.pg-review .pg-review__list{margin:0 0 0 14px!important;padding:0!important;list-style:none!important}
.pg-review .pg-review__item{
  position:relative;
  margin:0!important;
  padding:11px 0 11px 18px!important;
  color:#424245;
  border-bottom:1px solid rgba(0,0,0,.045);
  font-size:14px;
  line-height:1.68!important;
  list-style:none!important;
}
.pg-review .pg-review__item:last-child{border-bottom:0}
.pg-review .pg-review__item-text{display:block}
.pg-review .pg-review__item::before{
  position:absolute;
  left:0;
  top:11px;
  font-size:13px;
  font-weight:600;
  line-height:1.68;
}
.pg-review__merits .pg-review__item::before{content:"+";color:var(--pg-review-good)}
.pg-review__demerits .pg-review__item::before{content:"−";color:var(--pg-review-bad)}
.pg-review .pg-review__item::marker{content:"";font-size:0}

/* 初回表示アニメーション。JSがreadyを付けた場合だけ初期状態を隠す。 */
@media (prefers-reduced-motion:no-preference){
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__eyebrow,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__title,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__image,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__rating,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__merits,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__demerits,
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__item{
    opacity:0;
    transform:translateY(14px);
  }
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__image{transform:translateY(16px) scale(.96)}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__image img{filter:blur(3.5px) drop-shadow(0 18px 34px rgba(0,0,0,.02))}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__rating-value::after{transform:scaleX(0)}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__star{opacity:0;transform:translateY(4px) scale(.82)}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__section-line{transform:scaleX(0)}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__item::before{opacity:0;transform:translateX(-4px)}
  .pg-review.is-pg-review-ready:not(.is-pg-review-shown) .pg-review__item-text{opacity:0;transform:translateY(7px)}

  .pg-review.is-pg-review-ready .pg-review__image img{transition:filter 1.15s .36s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__section-line{transform-origin:left center;transition:transform .60s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__item::before{transition:opacity .38s ease,transform .55s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__item-text{transition:opacity .56s ease,transform .72s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__eyebrow,
  .pg-review.is-pg-review-ready .pg-review__title,
  .pg-review.is-pg-review-ready .pg-review__image,
  .pg-review.is-pg-review-ready .pg-review__rating,
  .pg-review.is-pg-review-ready .pg-review__merits,
  .pg-review.is-pg-review-ready .pg-review__demerits,
  .pg-review.is-pg-review-ready .pg-review__item{
    transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .90s cubic-bezier(.22,1,.36,1);
  }
  .pg-review.is-pg-review-ready .pg-review__eyebrow{transition-delay:.04s}
  .pg-review.is-pg-review-ready .pg-review__title{transition-delay:.15s}
  .pg-review.is-pg-review-ready .pg-review__image{transition-delay:.36s}
  .pg-review.is-pg-review-ready .pg-review__rating{transition-delay:.68s}
  .pg-review.is-pg-review-ready .pg-review__rating-value::after{transition:transform 1.20s .82s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__star{transition:opacity .50s ease,transform .62s cubic-bezier(.22,1,.36,1)}
  .pg-review.is-pg-review-ready .pg-review__star:nth-child(1){transition-delay:.78s}
  .pg-review.is-pg-review-ready .pg-review__star:nth-child(2){transition-delay:.90s}
  .pg-review.is-pg-review-ready .pg-review__star:nth-child(3){transition-delay:1.02s}
  .pg-review.is-pg-review-ready .pg-review__star:nth-child(4){transition-delay:1.14s}
  .pg-review.is-pg-review-ready .pg-review__star:nth-child(5){transition-delay:1.26s}
  .pg-review.is-pg-review-ready .pg-review__merits{transition-delay:1.26s}
  .pg-review.is-pg-review-ready .pg-review__demerits{transition-delay:1.36s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__section-line{transition-delay:1.34s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__section-line{transition-delay:1.44s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(1){transition-delay:1.46s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(2){transition-delay:1.62s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(3){transition-delay:1.78s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(1){transition-delay:1.54s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(2){transition-delay:1.70s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(3){transition-delay:1.86s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(1)::before{transition-delay:1.48s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(2)::before{transition-delay:1.64s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(3)::before{transition-delay:1.80s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(1)::before{transition-delay:1.56s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(2)::before{transition-delay:1.72s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(3)::before{transition-delay:1.88s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(1) .pg-review__item-text{transition-delay:1.58s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(2) .pg-review__item-text{transition-delay:1.74s}
  .pg-review.is-pg-review-ready .pg-review__merits .pg-review__item:nth-child(3) .pg-review__item-text{transition-delay:1.90s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(1) .pg-review__item-text{transition-delay:1.66s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(2) .pg-review__item-text{transition-delay:1.82s}
  .pg-review.is-pg-review-ready .pg-review__demerits .pg-review__item:nth-child(3) .pg-review__item-text{transition-delay:1.98s}
  .pg-review.is-pg-review-shown .pg-review__eyebrow,
  .pg-review.is-pg-review-shown .pg-review__title,
  .pg-review.is-pg-review-shown .pg-review__image,
  .pg-review.is-pg-review-shown .pg-review__rating,
  .pg-review.is-pg-review-shown .pg-review__merits,
  .pg-review.is-pg-review-shown .pg-review__demerits,
  .pg-review.is-pg-review-shown .pg-review__item{opacity:1;transform:none}
  .pg-review.is-pg-review-shown .pg-review__image img{filter:drop-shadow(0 18px 34px rgba(0,0,0,.04))}
  .pg-review.is-pg-review-shown .pg-review__rating-value::after{transform:scaleX(1);animation:pgReviewBarShine .78s 2.16s ease-out 1}
  .pg-review.is-pg-review-shown .pg-review__star{opacity:1;transform:none}
  .pg-review.is-pg-review-shown .pg-review__section-line{transform:scaleX(1)}
  .pg-review.is-pg-review-shown .pg-review__item::before,.pg-review.is-pg-review-shown .pg-review__item-text{opacity:1;transform:none}
}


@keyframes pgReviewBarShine{
  0%,12%{filter:brightness(1);box-shadow:none}
  48%{filter:brightness(1.34);box-shadow:0 0 7px rgba(176,0,0,.14)}
  100%{filter:brightness(1);box-shadow:none}
}

@media (max-width:640px){
  .pg-review{margin:2em auto 2.6em;padding:26px 14px 48px}
  .pg-review__inner{grid-template-columns:1fr;column-gap:0;max-width:100%}
  .pg-review__eyebrow{font-size:10px;letter-spacing:.2em}
  .pg-review__title{margin-bottom:28px;font-size:25px}
  .pg-review__image{margin-bottom:30px}
  .pg-review__image img{max-width:min(280px,84%);max-height:240px}
  .pg-review__rating{width:min(300px,100%);margin-bottom:44px}
  .pg-review-score__num{font-size:16px}
  .pg-review-score__max{font-size:11.5px}
  .pg-review__rating-value{padding-bottom:16px}
  .pg-review__stars{font-size:13px;transform:scale(.9)}
  .pg-review__merits,.pg-review__demerits{grid-column:1/-1;padding-top:32px}
  .pg-review__demerits{padding-top:34px;border-top:0}
  .pg-review__merits::after{display:none}
  .pg-review__section-label{gap:9px;margin-bottom:15px;font-size:13.5px}
  .pg-review .pg-review__list{margin-left:14px!important;padding:0!important}
  .pg-review .pg-review__item{margin:0!important;padding:10px 0 10px 17px!important;font-size:13.5px;line-height:1.7!important}
  .pg-review .pg-review__item::before{top:10px;font-size:13px}
}


/* =========================================================
 * v0.13.17: Theme compatibility hardening
 * レビュー本体の画像・リストだけをテーマの汎用装飾から保護する。
 * ========================================================= */
.pg-review .pg-review__image img{
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.pg-review .pg-review__list{
  margin:0 0 0 14px!important;
  padding:0!important;
  list-style:none!important;
}
.pg-review .pg-review__item{
  margin:0!important;
  list-style:none!important;
}
