@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root {
  --brand: #157a6e;
  --brand-dark: #0c443c;
  --brand-soft: #d4e7e3;
  --brand-light: #ecf5f3;
  --accent: #499f68;
  --warm: #b4654a;
  --blue: #157a6e;
  --blue-dark: #0c443c;
  --blue-soft: #d4e7e3;
  --blue-light: #ecf5f3;
  --navy: #0c443c;
  --text: #33413d;
  --muted: #5d6a65;
  --line: #dcded7;
  --paper: #f8f6f1;
  --soft-gray: #f6f5f0;
  --shadow: 0 18px 40px rgba(12, 68, 60, .11);
}

body { background: var(--paper); font-family: 'Source Sans 3', 'Segoe UI', sans-serif; }
h1, h2, h3, .brand-text strong { font-family: 'Poppins', 'Segoe UI', sans-serif; }
.top-strip, footer { background: #0c443c; }
header { background: rgba(248, 246, 241, .94); border-bottom-color: rgba(12, 68, 60, .12); }
.nav { min-height: 82px; }
.brand-mark { border-color: rgba(12, 68, 60, .14); box-shadow: 0 6px 18px rgba(12, 68, 60, .08); }
.brand-text strong { color: #0c443c; }
.nav-links { color: #33413d; }
.lang-switch { border-color: #dcded7; }
.lang-switch a.active { background: #157a6e; color: #fff; }

.calendar-hero {
  padding: 48px 0 62px;
  background:
    radial-gradient(circle at 92% 4%, rgba(119, 178, 140, .28), transparent 28%),
    radial-gradient(circle at 5% 78%, rgba(180, 101, 74, .09), transparent 22%),
    linear-gradient(150deg, #f8f6f1 0%, #ecf5f3 100%);
  border-bottom-color: rgba(12, 68, 60, .12);
}

.calendar-hero-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 26px; }
.monthly-calendar-card, .countdown-card, .side-card, .selected-detail {
  border-color: #dcded7;
  box-shadow: 0 18px 40px rgba(12, 68, 60, .1);
}
.monthly-calendar-card { border-radius: 26px; }

.calendar-topbar {
  padding: 24px;
  background: radial-gradient(circle at 96% -30%, #157a6e 0%, #0c443c 58%);
  border-bottom: 0;
}
.calendar-title-block .kicker { color: #9acbac; letter-spacing: .11em; }
.calendar-title-block h1 { color: #fff; letter-spacing: -.035em; }
.calendar-title-block p { color: rgba(255, 255, 255, .76); max-width: 650px; }
.icon-btn, .today-btn, .week-label {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.today-btn:hover, .icon-btn:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .2); color: #fff; }

.filters-panel { padding: 15px 20px; background: #ecf5f3; border-bottom-color: #d4e7e3; }
.filter-btn, .filters-toggle { border-color: #d4e7e3; color: #33413d; }
.filter-btn:hover, .filter-btn.active { background: #157a6e; border-color: #157a6e; color: #fff; }
.month-summary { border-bottom-color: #dcded7; background: #fff; }
.month-summary strong { color: #0c443c; }
.month-grid { background: #dcded7; }
.weekday { color: #5d6a65; background: #f8f6f1; }
.day-cell { background: #fff; }
.day-cell.other-month { background: #f6f5f0; }
.day-cell.today { box-shadow: inset 0 0 0 2px rgba(73, 159, 104, .55); }
.day-cell.selected { box-shadow: inset 0 0 0 2px #157a6e; background: #ecf5f3; }
.day-number { color: #0c443c; }
.today .day-number { background: #157a6e; }
.event-pill.info { background: #ecf5f3; border-color: #d4e7e3; border-left-color: #157a6e; }

.calendar-side { gap: 20px; }
.countdown-card {
  min-height: 278px;
  padding: 27px;
  color: #fff;
  background: radial-gradient(circle at 90% 8%, #1f8f81 0%, #0c443c 64%);
  border: 0;
}
.countdown-card small { color: #9acbac; text-transform: uppercase; letter-spacing: .09em; }
.countdown-number { color: #fff; font-family: 'Poppins', sans-serif; font-size: 64px; }
.countdown-card strong { color: #fff; font-family: 'Poppins', sans-serif; }
.countdown-card p { color: rgba(255, 255, 255, .72); }

.selected-detail { border-radius: 22px; padding: 22px; }
.selected-detail h2, .side-card h3 { color: #0c443c; letter-spacing: -.025em; }
.detail-item { background: #ecf5f3; border-color: #d4e7e3; }
.detail-title, .detail-time { color: #0c443c; }
.side-card { border-radius: 22px; background: #fff; }
.admin-note { background: #0c443c; }
footer { padding: 42px 0 34px; }
.footer-main strong { font-family: 'Poppins', sans-serif; }

@media (max-width: 1120px) {
  .calendar-hero-grid { grid-template-columns: 1fr; }
  .countdown-card { min-height: auto; }
}

@media (max-width: 900px) {
  .nav { min-height: 68px; }
  .mobile-menu { background: #f8f6f1; }
  .calendar-topbar { align-items: stretch; }
}

@media (max-width: 740px) {
  .calendar-hero { padding: 26px 0 36px; }
  .monthly-calendar-card { border-radius: 20px; }
  .calendar-topbar { padding: 20px 16px; }
  .week-nav { width: 100%; }
  .week-label { min-width: 0; flex: 1; }
  .day-cell { background: #fff; }
  .day-cell.today { background: #f0f8f3; }
}
