/* static/css/today_anniversary_sns.css */
.today-sns-hero{
  margin:1.5rem 0 2.5rem;
  padding:1.4rem;
  border-radius:1rem;
  background:linear-gradient(135deg, #f8fbff, #fffdf2);
  border:.08rem solid #dcecff;
}

.today-sns-hero__label{
  display:block;
  width:fit-content;
  margin:0 auto .8rem;
  padding:.45rem 1.2rem;
  border-radius:999rem;
  background:#0175d8;
  color:#fff;
  font-weight:700;
  font-size:1.15rem;
  text-align:center;
}

.today-sns-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin-top:1.2rem;
}

.today-sns-card{
  position:relative;
  padding:1.1rem;
  border-radius:1rem;
  background:#fff;
  border:.08rem solid #e2e8f0;
  box-shadow:0 .5rem 1.2rem rgba(0,0,0,.06);
  opacity:0;
  transform:translateY(1rem);
  transition:opacity .6s ease, transform .6s ease, box-shadow .2s ease;
}

.today-sns-card.is-visible{
  opacity:1;
  transform:translateY(0);
}

.today-sns-card:hover{
  box-shadow:0 .8rem 1.6rem rgba(0,0,0,.1);
}

.today-sns-card__tag{
  display:inline-block;
  margin-bottom:.5rem;
  padding:.2rem .6rem;
  border-radius:999rem;
  background:#fff4c2;
  color:#7a5a00;
  font-size:.78rem;
  font-weight:700;
}

.today-sns-card h2{
  display:block;
  margin:.3rem 0 .8rem;
  font-size:1.15rem;
  background:none;
  color:#0175d8;
}

.today-sns-card__main{
  font-weight:700;
  line-height:1.7;
}

.today-sns-card__sub{
  font-size:.95rem;
  color:#555;
}

.today-sns-card__post{
  margin-top:.8rem;
  padding-top:.8rem;
  border-top:.08rem dashed #ccc;
  font-size:.95rem;
}

.today-sns-date{
  margin:0 0 1.2rem;
  text-align:center;
  font-size:1rem;
  font-weight:700;
  color:#334155;
}

.today-sns-date__label{
  display:inline-block;
  margin-right:.45rem;
  padding:.18rem .55rem;
  border-radius:999rem;
  background:#9f9f9f;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.04em;
}

@media (max-width:37.5rem){
  .today-sns-cards{
    grid-template-columns:1fr;
  }

  .today-sns-hero{
    padding:1rem;
  }

  .today-sns-hero__label{
    font-size:1rem;
    padding:.4rem 1rem;
  }
}