/* =====================================
   SNSボタン
===================================== */
.social-buttons{ display:flex; gap:40px; justify-content:center; padding:20px 0; }
.social-btn{
  font-size:26px; color:#fff; background:#777; width:50px; height:50px; border-radius:50%;
  display:flex; justify-content:center; align-items:center; text-decoration:none;
  transition:background-color .3s ease, transform .3s ease;
}
.social-btn:hover{ transform:scale(1.1); }
.social-btn.youtube:hover{ background:#FF0000; }
.social-btn.x:hover{ background:#fff; }
.social-btn.instagram:hover{ background:#C13584; }
.social-btn.facebook:hover{ background:#3b5998; }
@media (max-width:768px){
  .social-btn{ width:40px; height:40px; font-size:18px; }
}

/* =====================================
   イベントカード（fade-in）
===================================== */
.fadein-post{ opacity:0; transform:translateY(20px); transition:opacity 1.6s ease, transform 1.2s ease; }
.fadein-post.visible{ opacity:1; transform:translateY(0); }
.event-item-link{ text-decoration:none; display:block; color:inherit; transition:transform .3s, box-shadow .3s; }
.event-item-link:hover{ transform:translateY(-5px); box-shadow:0 6px 12px rgba(0,0,0,.15); }
.fadein-area .event-item{
  background:#F9FAFB; padding:1em; border-left:5px solid transparent;
  background-image:linear-gradient(to bottom,#E5E7EB,#0000);
  background-repeat:no-repeat; background-position:left center; background-size:5px 100%;
  border-radius:10px; box-shadow:0 2px 5px rgba(0,0,0,.08); margin-bottom:1.5em; color:inherit;
}
.fadein-area .event-item .event-date{ font-weight:700; color:#111; margin-bottom:.4em; font-size:1.3em; letter-spacing:.06em; }
.fadein-area .event-item .event-title{ font-size:1.1em; font-weight:600; color:#000; margin-bottom:.4em; }
.fadein-area .event-item .event-excerpt{ font-size:.95em; color:#696969; }
.fadein-area .event-item .event-readmore{ margin-top:.6em; font-size:.9em; color:#696969; font-weight:500; }
.fadein-area .event-item:hover{ box-shadow:0 4px 12px rgba(225,225,225,.2); }
.event-item-link:hover .event-title{ color:#000; }
@media (max-width:768px){
  .fadein-area .event-item{ padding:.8em; font-size:.95em; }
  .fadein-area .event-item .event-title{ font-size:1em; }
  .event-item-link:hover{ transform:none !important; box-shadow:none !important; }
  .fadein-area .event-item .event-readmore{ margin-top:.5em; font-size:.85em; }
}

/* スマホで縦積みになった時の余白（マガジン上・間・ニュース下） */
@media (max-width: 768px){
  /* カラム全体の外側余白（マガジン上・ニュース下） */
  .pba-lists-2col{
    margin-top: 3rem;       /* マガジン上 */
    margin-bottom: 6rem;    /* ニュース下 */
  }

  /* 縦積み時のカラム間隔（マガジンとニュースの間） */
  .pba-lists-2col.wp-block-columns > .wp-block-column{
    margin-bottom: 6rem !important; /* 間隔を強制 */
  }

  /* 最後のカラムのmargin-bottomは消す */
  .pba-lists-2col.wp-block-columns > .wp-block-column:last-child{
    margin-bottom: 0 !important;
  }
}


/* =====================================
   VKボタン（shine）
===================================== */
.vk_button.vk_button-color-custom{ transition:transform .3s, box-shadow .3s; }
.vk_button.vk_button-color-custom:hover{ transform:translateY(-3px); box-shadow:0 6px 12px rgba(255,255,255,.2); }
.vk_button.vk_button-color-custom:hover .vk_button_link_txt{
  text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:#fff;
}

/* =====================================
   過去投稿カード
===================================== */
ul.concert-list{ display:flex; flex-wrap:wrap; justify-content:center; gap:2em; padding:0; list-style:none; }
ul.concert-list li{
  width:280px; background:#000; position:relative; overflow:hidden; border-radius:8px; transition:transform .3s;
}
ul.concert-list li:hover{ transform:scale(1.03); }
ul.concert-list li img{ width:100%; height:auto; object-fit:cover; display:block; }
ul.concert-list a.wp-block-latest-posts__post-title{
  color:#fff; text-decoration:none; display:block; padding:.6em; font-size:1em; font-weight:700;
  background:linear-gradient(to top, rgba(0,0,0,.8), transparent); position:absolute; bottom:0; width:100%;
}