/* ============================================================
   COUNTRY Guild — schedule.css
   ============================================================ */

/* ── Legend ───────────────────────────────────────────────── */
.schedule-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: center;
  padding: 1.4rem 2rem;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(227,145,177,0.18);
  border-radius: 12px;
  margin-bottom: 2rem;
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.5s, transform 0.5s;
}
.schedule-legend.revealed { opacity: 1; transform: translateY(0); }
.legend-item {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: 'Shippori Mincho', serif;
  font-size: 0.85rem;
  color: #4a3060;
}
.legend-dot {
  width: 12px; height: 12px;
  border-radius: 3px; flex-shrink: 0;
}
.dot-raid    { background: #e04040; }
.dot-nodwar  { background: #345DB0; }
.dot-pvp     { background: #E391B1; }
.dot-party   { background: #5a8a4a; }
.dot-practice{ background: #c9a84c; }
.dot-free    { background: #8a8aaa; }

/* ── Week Calendar ────────────────────────────────────────── */
.week-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.7rem;
  margin-bottom: 2rem;
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s;
}
.week-calendar.revealed { opacity: 1; transform: translateY(0); }

.day-col {
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(227,145,177,0.15);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.day-col:hover { box-shadow: 0 6px 24px rgba(227,145,177,0.15); }
.day-col--weekend { background: rgba(255,240,248,0.9); }

.day-header {
  padding: 0.6rem 0.5rem;
  text-align: center;
  background: rgba(227,145,177,0.08);
  border-bottom: 1px solid rgba(227,145,177,0.15);
}
.day-header--sat .day-name { color: #345DB0; }
.day-header--sun .day-name { color: #e04040; }
.day-name {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 1rem;
  font-weight: 700;
  color: #8a2050;
  line-height: 1;
}
.day-en {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  color: rgba(140,80,100,0.5);
  margin-top: 0.15rem;
}

.day-events { padding: 0.6rem 0.4rem; display: flex; flex-direction: column; gap: 0.45rem; }

.event-block {
  padding: 0.4rem 0.5rem;
  border-radius: 7px;
  border-left: 3px solid;
  background: rgba(255,255,255,0.8);
}
.event-block .ev-time {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  opacity: 0.7;
  margin-bottom: 0.12rem;
}
.event-block .ev-name {
  display: block;
  font-family: 'Shippori Mincho', serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}
.event-block .ev-note {
  display: block;
  font-family: 'Shippori Mincho', serif;
  font-size: 0.65rem;
  opacity: 0.6;
  margin-top: 0.1rem;
}

.event-raid    { border-left-color: #e04040; background: rgba(224,64,64,0.06); }
.event-raid    .ev-name { color: #b03030; }
.event-nodwar  { border-left-color: #345DB0; background: rgba(52,93,176,0.06); }
.event-nodwar  .ev-name { color: #2a4d96; }
.event-pvp     { border-left-color: #E391B1; background: rgba(227,145,177,0.08); }
.event-pvp     .ev-name { color: #c0437a; }
.event-party   { border-left-color: #5a8a4a; background: rgba(90,138,74,0.06); }
.event-party   .ev-name { color: #3a6a2a; }
.event-practice{ border-left-color: #c9a84c; background: rgba(201,168,76,0.08); }
.event-practice .ev-name { color: #8a6a10; }
.event-free    { border-left-color: #8a8aaa; background: rgba(138,138,170,0.06); }
.event-free    .ev-name { color: #6a6a8a; }

/* ── Notice ───────────────────────────────────────────────── */
.schedule-notice {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.4rem 1.8rem;
  background: linear-gradient(135deg, rgba(227,145,177,0.1), rgba(52,93,176,0.06));
  border: 1px solid rgba(227,145,177,0.22);
  border-radius: 12px;
  margin-top: 2rem;
  opacity: 0; transform: translateY(14px);
  transition: opacity 0.5s, transform 0.5s;
}
.schedule-notice.revealed { opacity: 1; transform: translateY(0); }
.notice-icon { font-size: 1.6rem; flex-shrink: 0; }
.notice-text {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.92rem;
  color: #4a3060;
  line-height: 1.8;
}
.notice-text strong {
  color: #8a2050;
  font-size: 1rem;
  display: block;
  margin-bottom: 0.3rem;
}

/* ── Event Detail Cards ───────────────────────────────────── */
.event-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.event-detail-card {
  overflow: hidden;
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.5s, transform 0.5s;
}
.event-detail-card.revealed { opacity: 1; transform: translateY(0); }

.edc-canvas-wrap { width: 100%; height: 150px; overflow: hidden; }
.edc-canvas { width: 100%; height: 100%; display: block; }

.edc-body { padding: 1.2rem 1.4rem 1.5rem; }
.edc-badge {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  padding: 0.2rem 0.7rem;
  border-radius: 4px;
  margin-bottom: 0.6rem;
}
.badge-party    { background: rgba(90,138,74,0.12);  color: #3a6a2a;  border: 1px solid rgba(90,138,74,0.3);  }
.badge-nodwar   { background: rgba(52,93,176,0.1);   color: #2a4d96;  border: 1px solid rgba(52,93,176,0.25); }
.badge-raid     { background: rgba(224,64,64,0.08);  color: #b03030;  border: 1px solid rgba(224,64,64,0.25); }
.badge-pvp      { background: rgba(227,145,177,0.1); color: #c0437a;  border: 1px solid rgba(227,145,177,0.3);}
.badge-practice { background: rgba(201,168,76,0.1);  color: #8a6a10;  border: 1px solid rgba(201,168,76,0.3); }

.edc-body h3 {
  font-family: 'Cinzel', serif;
  font-size: 0.95rem;
  color: #4a1840;
  margin-bottom: 0.5rem;
  letter-spacing: 0.04em;
}
.edc-body p {
  font-family: 'Shippori Mincho', serif;
  font-size: 0.85rem;
  color: #5a4060;
  line-height: 1.8;
  margin-bottom: 0.8rem;
}
.edc-time {
  display: flex; align-items: center; gap: 0.6rem;
  font-family: 'Cinzel', serif;
  font-size: 0.72rem;
  color: #8a5070;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(227,145,177,0.15);
}
.edc-time-label {
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  color: #E391B1;
  background: rgba(227,145,177,0.1);
  padding: 0.1rem 0.5rem;
  border-radius: 4px;
  border: 1px solid rgba(227,145,177,0.25);
}

/* ── CTA ──────────────────────────────────────────────────── */
.schedule-cta {
  text-align: center;
  padding: 3rem 0 1rem;
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.5s, transform 0.5s;
}
.schedule-cta.revealed { opacity: 1; transform: translateY(0); }
.schedule-cta p {
  font-family: 'Shippori Mincho', serif;
  font-size: 1rem;
  color: #8a2050;
  margin-bottom: 1.5rem;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1000px) {
  .event-detail-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 750px) {
  .week-calendar { grid-template-columns: repeat(4, 1fr); }
  .day-col:nth-child(5),
  .day-col:nth-child(6),
  .day-col:nth-child(7) { display: none; }
  .event-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
  .week-calendar { grid-template-columns: repeat(2, 1fr); }
  .day-col:nth-child(n+3) { display: none; }
}
