/* KovaiGuide Wedding Date Finder (BRUsoft). All rules are scoped under .kgw */
.kgw {
  --kgw-ink: #231f1c;
  --kgw-muted: #667069;
  --kgw-line: #dfe3de;
  --kgw-surface: #ffffff;
  --kgw-panel: #f5f7f4;
  --kgw-accent: #9b1b30;
  --kgw-gold: #b9770e;
  --kgw-good: #1e6b4a;
  --kgw-good-bg: #eaf5ef;
  --kgw-avg: #8a5a00;
  --kgw-avg-bg: #fdf3dc;
  --kgw-avoid: #8c2f2f;
  --kgw-avoid-bg: #fbeeed;

  box-sizing: border-box;
  max-width: 820px;
  margin: 1.5rem auto;
  padding: 1.25rem;
  background: var(--kgw-surface);
  color: var(--kgw-ink);
  border: 1px solid var(--kgw-line);
  border-radius: 10px;
  font-family: "Noto Sans Tamil", "Latha", "Nirmala UI", "Tamil MN", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
.kgw *, .kgw *::before, .kgw *::after { box-sizing: border-box; }
.kgw p { margin: 0; }
.kgw ul { margin: .4rem 0 0; padding-left: 1.2rem; }

/* Controls */
.kgw .kgw-top { display: flex; justify-content: flex-end; margin-bottom: .75rem; }
.kgw .kgw-lang { display: inline-flex; }
.kgw button, .kgw select {
  font: inherit; font-size: .95rem; color: var(--kgw-ink); background: var(--kgw-surface);
  border: 1px solid var(--kgw-line); border-radius: 6px; min-height: 44px; padding: 0 .8rem; cursor: pointer;
}
.kgw .kgw-lang button { border-radius: 0; margin-left: -1px; }
.kgw .kgw-lang button:first-child { border-radius: 6px 0 0 6px; margin-left: 0; }
.kgw .kgw-lang button:last-child { border-radius: 0 6px 6px 0; }
.kgw .kgw-lang button[aria-pressed="true"] { background: var(--kgw-accent); border-color: var(--kgw-accent); color: #fff; font-weight: 600; }
.kgw button:focus-visible, .kgw select:focus-visible, .kgw input:focus-visible, .kgw a:focus-visible, .kgw summary:focus-visible {
  outline: 3px solid var(--kgw-gold); outline-offset: 2px;
}
.kgw .kgw-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .75rem; }
.kgw .kgw-field { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; color: var(--kgw-muted); }
.kgw .kgw-field select { width: 100%; color: var(--kgw-ink); }
.kgw .kgw-days { margin: 1rem 0 0; padding: 0; border: 0; }
.kgw .kgw-days legend { font-size: .9rem; color: var(--kgw-muted); padding: 0; margin-bottom: .35rem; }
.kgw .kgw-chip { display: inline-block; margin: 0 .35rem .35rem 0; }
.kgw .kgw-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kgw .kgw-chip span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 .85rem;
  border: 1px solid var(--kgw-line); border-radius: 6px; background: var(--kgw-surface); cursor: pointer; font-size: .92rem;
}
.kgw .kgw-chip input:checked + span { background: var(--kgw-accent); border-color: var(--kgw-accent); color: #fff; font-weight: 600; }
.kgw .kgw-chip input:focus-visible + span { outline: 3px solid var(--kgw-gold); outline-offset: 2px; }
.kgw .kgw-actions { margin-top: .75rem; }
.kgw .kgw-find { background: var(--kgw-accent); border-color: var(--kgw-accent); color: #fff; font-weight: 600; padding: 0 1.4rem; }
.kgw .kgw-find:hover { background: #7f1526; }

/* Results */
.kgw .kgw-out { margin-top: 1.25rem; }
.kgw .kgw-summary { font-weight: 600; margin-bottom: .5rem; }
.kgw .kgw-muted { color: var(--kgw-muted); }
.kgw .kgw-month h2 {
  margin: 1.4rem 0 .6rem; font-size: 1.25rem; line-height: 1.3; color: var(--kgw-accent);
  padding-bottom: .3rem; border-bottom: 1px solid var(--kgw-line);
}
.kgw .kgw-card {
  margin: 0 0 .75rem; padding: .85rem 1rem; border: 1px solid var(--kgw-line);
  border-left: 5px solid var(--kgw-line); border-radius: 6px; background: var(--kgw-surface);
}
.kgw .kgw-card.kgw-good { border-left-color: var(--kgw-good); }
.kgw .kgw-card.kgw-avg { border-left-color: var(--kgw-gold); }
.kgw .kgw-card.kgw-avoid { border-left-color: var(--kgw-avoid); }
.kgw .kgw-card header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.kgw .kgw-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.kgw .kgw-pill { display: inline-flex; gap: .3rem; align-items: center; padding: .1rem .7rem; border-radius: 999px; font-weight: 600; font-size: .88rem; }
.kgw .kgw-pill-good { background: var(--kgw-good-bg); color: var(--kgw-good); }
.kgw .kgw-pill-avg { background: var(--kgw-avg-bg); color: var(--kgw-avg); }
.kgw .kgw-pill-avoid { background: var(--kgw-avoid-bg); color: var(--kgw-avoid); }
.kgw .kgw-tamil { color: var(--kgw-gold); font-weight: 600; margin-top: .1rem; }
.kgw .kgw-line { margin-top: .3rem; }
.kgw .kgw-slots, .kgw .kgw-nalla { margin-top: .3rem; font-variant-numeric: tabular-nums; }
.kgw .kgw-nalla { color: #1d63b8; }
.kgw .kgw-warn { margin-top: .5rem; padding: .5rem .7rem; background: var(--kgw-avg-bg); border-radius: 6px; font-size: .92rem; }
.kgw details summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.kgw .kgw-more { margin-top: .35rem; font-size: .95rem; }
.kgw .kgw-more summary { color: var(--kgw-accent); }
.kgw .kgw-link { color: var(--kgw-accent); }
.kgw .kgw-rules { margin-top: 1.25rem; border-top: 1px solid var(--kgw-line); }
.kgw .kgw-rules summary { color: var(--kgw-accent); }
.kgw .kgw-share { margin-top: 1rem; }
.kgw .kgw-sharebtn {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem;
  background: #1f8f4e; color: #fff; text-decoration: none; font-weight: 600; border-radius: 6px;
}
.kgw .kgw-sharebtn:hover { background: #187540; color: #fff; }
.kgw .kgw-note { margin-top: 1rem; font-size: .85rem; color: var(--kgw-muted); }

@media (max-width: 520px) {
  .kgw { padding: 1rem .85rem; border-radius: 0; border-left: 0; border-right: 0; }
}
@media print { .kgw .kgw-top, .kgw .kgw-form, .kgw .kgw-days, .kgw .kgw-actions, .kgw .kgw-share { display: none; } }
