/* ================================================================
   hero.css — ヒーローセクション・次回例会カード
   ================================================================ */

/* ── ヒーロー ── */
.rc-hero {
  position: relative;
  min-height: 100vh;
  min-height: 630px;
  background:
    linear-gradient(to bottom, rgba(15,31,54,.45) 0%, rgba(15,31,54,.25) 60%, rgba(15,31,54,.5) 100%),
    var(--hero-bg, url('')) center/cover no-repeat;
  display: flex;
  flex-direction: column;
}
.rc-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-height: 600px;
  padding-top: 96px;
}
.rc-hero__catchcopy {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #fff;
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  font-weight: 700;
  justify-content: center;
  align-items: center;
  padding: 0 24px;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.rc-hero__catchcopy .dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--brilliant-4);
  display: inline-block;
}
.rc-hero__bottom {
  padding: 0 24px 32px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

/* ── 次回例会カード ── */
.rc-next-meeting {
  background: var(--base-1);
  border-radius: 10px;
  padding: 20px 24px;
  max-width:500px;
  width: 100%;
  box-shadow: 0 4px 24px rgba(0,0,0,.18);
}
.rc-next-meeting__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.rc-next-meeting__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: var(--rotary-blue);
  color: #fff;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
}
.rc-next-meeting__cal {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 48px; height: 48px;
  border: 2px solid var(--cool-2);
  border-radius: 6px;
  overflow: hidden;
}
.rc-next-meeting__cal-month { background: var(--rotary-blue); color: #fff; font-size: .55rem; width: 100%; text-align: center; padding: 2px 0; }
.rc-next-meeting__cal-day   { font-size: 1.3rem; font-weight: 700; color: var(--cool-5); line-height: 1; padding-top: 4px; }
.rc-next-meeting__title     { font-size: .95rem; font-weight: 700; color: var(--cool-5); margin-bottom: 4px; }
.rc-next-meeting__meta      { font-size: .78rem; color: var(--cool-3); display: flex; gap: 12px; flex-wrap: wrap; }
