/*
 * Jasny motyw inspirowany układem programu zebrania z jw.org.
 * Motyw nie używa logo, ikon ani oficjalnych grafik JW.
 */
:root {
  --jw-bg: #f5f5f5;
  --jw-surface: #ffffff;
  --jw-surface-2: #f0f0f0;
  --jw-surface-3: #e7e7e7;
  --jw-text: #222222;
  --jw-muted: #6a6f76;
  --jw-border: #bfc4ca;
  --jw-soft-border: #e2e5e8;
  --jw-blue: #24758f;
  --jw-blue-soft: #e8f5f9;
  --jw-yellow: #9a6b00;
  --jw-yellow-soft: #fff5d1;
  --jw-red: #b1433d;
  --jw-red-soft: #fff0ef;
  --jw-link: #235f9b;
  --jw-mine-bg: #fff7df;
  --jw-mine-border: #d8a600;
}

body.theme-jw_light {
  background: var(--jw-bg);
  color: var(--jw-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.theme-jw_light .navbar { background:#fff !important; border-bottom:1px solid #d7dce2 !important; box-shadow:0 2px 10px rgba(15,23,42,.06) !important; }
.theme-jw_light .navbar-brand { color:#303030 !important; font-weight:700; }
.theme-jw_light .navbar-brand::before { content:""; display:inline-block; width:.55rem; height:1.45rem; background:#5f6368; margin-right:.55rem; vertical-align:-.28rem; border-radius:1px; }
.theme-jw_light .nav-link { color:#4b5563 !important; border-radius:.35rem; margin:0 .1rem; }
.theme-jw_light .nav-link:hover,
.theme-jw_light .nav-link.active { background:#ececec; color:#111827 !important; }
.theme-jw_light .card { background:#fff; border:1px solid #d7dce2 !important; border-radius:.35rem; box-shadow:0 1px 4px rgba(15,23,42,.05) !important; }
.theme-jw_light .card-title { color:#222; font-weight:700; border-left:4px solid #6b7280; padding-left:.65rem; }
.theme-jw_light .btn-primary { background:#4b5563; border-color:#4b5563; }
.theme-jw_light .btn-primary:hover { background:#374151; border-color:#374151; }
.theme-jw_light .btn-outline-secondary { color:#374151; border-color:#9ca3af; }
.theme-jw_light .btn-outline-secondary:hover { background:#4b5563; border-color:#4b5563; color:#fff; }
.theme-jw_light a { color:var(--jw-link); }
.theme-jw_light .text-muted { color: var(--jw-muted) !important; }
.theme-jw_light .form-control,
.theme-jw_light .form-select { background:#fff; color:#222; border-color:#c9ced6; border-radius:.25rem; }
.theme-jw_light .form-control:focus,
.theme-jw_light .form-select:focus { border-color:#6b7280; box-shadow:0 0 0 .2rem rgba(75,85,99,.18); }
.theme-jw_light .dropdown-menu { border-color:#d7dce2; box-shadow:0 10px 28px rgba(15,23,42,.12); }
.theme-jw_light .dropdown-item:hover,
.theme-jw_light .dropdown-item:active { background:#efefef; color:#111827; }
.theme-jw_light .table { --bs-table-bg:#fff; --bs-table-striped-bg:#f7f7f7; --bs-table-hover-bg:#efefef; border-color:#d7dce2; }
.theme-jw_light .table th { background:#eee; color:#303030; border-color:#d7dce2; font-weight:700; }
.theme-jw_light .alert-info,
.theme-jw_light .badge-soft { background:#e9eef5 !important; color:#264766 !important; border-color:#c9d6e5 !important; }

/* Plan zebrań — styl programu */
.theme-jw_light .jw-meeting-program {
  max-width: 820px;
  background:#fff;
  color:#222;
  border:1px solid #d7dce2;
  box-shadow:0 2px 14px rgba(15,23,42,.06);
}
.theme-jw_light .program-week-header { padding:1.1rem 1.55rem .85rem; border-bottom:1px solid #70757c; }
.theme-jw_light .program-week-range { font-size:1.55rem; font-weight:700; line-height:1.1; color:#333; }
.theme-jw_light .program-bible-reading { color:var(--jw-blue); font-size:.82rem; font-weight:800; letter-spacing:.03em; margin-top:.5rem; }
.theme-jw_light .program-meta-line { margin-top:.55rem; color:#444; font-size:.92rem; display:flex; flex-wrap:wrap; gap:.55rem; }
.theme-jw_light .program-week-type { color:#222; background:#f1f3f5; border:1px solid #cbd1d8; padding:.1rem .45rem; border-radius:.25rem; }
.theme-jw_light .program-special-note { margin-top:.75rem; background:#e8f5f9; border-left:4px solid var(--jw-blue); padding:.75rem .9rem; color:#164a5c; }
.theme-jw_light .program-empty { padding:1.25rem 1.55rem; color:var(--jw-muted); }
.theme-jw_light .program-meeting-block { border-bottom:1px solid #e2e5e8; }
.theme-jw_light .program-meeting-titlebar { display:flex; justify-content:space-between; gap:.75rem; align-items:center; padding:.75rem 1.55rem; border-bottom:1px solid #d0d5da; color:#222; }
.theme-jw_light .program-meeting-titlebar span { color:#58606a; margin-left:.4rem; }
.theme-jw_light .program-cancel-badge { color:#fff !important; background:#b1433d; padding:.2rem .55rem; border-radius:.25rem; font-size:.82rem; font-weight:700; }
.theme-jw_light .program-cancel-box { margin:1rem 1.55rem; background:#fff0ef; border-left:4px solid var(--jw-red); padding:.85rem; color:#7b2722; }
.theme-jw_light .program-section-heading { display:flex; align-items:center; gap:.45rem; padding:.75rem 1.55rem .55rem; font-size:1.22rem; font-weight:800; letter-spacing:.01em; border-bottom:1px solid #8a8f95; }
.theme-jw_light .program-section-heading .section-icon { display:inline-flex; align-items:center; justify-content:center; min-width:1.25rem; height:1.25rem; color:#fff; font-size:.78rem; border-radius:.12rem; font-weight:900; }
.theme-jw_light .section-treasures { color:var(--jw-blue); }
.theme-jw_light .section-ministry { color:var(--jw-yellow); }
.theme-jw_light .section-living { color:var(--jw-red); }
.theme-jw_light .section-weekend,
.theme-jw_light .section-memorial,
.theme-jw_light .section-neutral { color:#333; }
.theme-jw_light .section-treasures .section-icon { background:var(--jw-blue); }
.theme-jw_light .section-ministry .section-icon { background:#bf8500; }
.theme-jw_light .section-living .section-icon { background:var(--jw-red); }
.theme-jw_light .section-weekend .section-icon,
.theme-jw_light .section-memorial .section-icon,
.theme-jw_light .section-neutral .section-icon { background:#555; }
.theme-jw_light .program-section-body { background:#fff; }
.theme-jw_light .program-section-body.section-treasures { background:#f2f2f2; }
.theme-jw_light .program-item { padding:1rem 1.55rem; border-bottom:1px solid #e2e5e8; }
.theme-jw_light .program-item:hover { background:#fafafa; }
.theme-jw_light .program-section-body.section-treasures .program-item:hover { background:#e9eef1; }
.theme-jw_light .program-item-title { font-weight:800; line-height:1.35; }
.theme-jw_light .program-item-no { margin-right:.25rem; }
.theme-jw_light .section-treasures .program-item-title { color:var(--jw-blue); }
.theme-jw_light .section-ministry .program-item-title { color:var(--jw-yellow); }
.theme-jw_light .section-living .program-item-title { color:var(--jw-red); }
.theme-jw_light .program-item-icon { color:#555; margin-right:.35rem; }
.theme-jw_light .program-item-subline { margin-top:.2rem; color:#5e6670; font-size:.92rem; display:flex; flex-wrap:wrap; gap:.3rem .65rem; }
.theme-jw_light .program-assignee { color:#222; font-weight:600; }
.theme-jw_light .program-assignee.is-mine { background:var(--jw-mine-bg); border:1px solid var(--jw-mine-border); color:#4f3900; border-radius:.25rem; padding:.05rem .35rem; }
.theme-jw_light .program-note { margin-top:.85rem; color:#262626; font-size:.94rem; line-height:1.52; }
.theme-jw_light .assignment-mine { background:var(--jw-mine-bg) !important; border-left:5px solid var(--jw-mine-border) !important; }
.theme-jw_light .meeting-picker-card { position: sticky; top:5rem; }

@media (max-width: 768px) {
  .theme-jw_light main.container-fluid { padding-left:0; padding-right:0; }
  .theme-jw_light .meeting-page > .col-lg-3 { padding-left:1rem; padding-right:1rem; }
  .theme-jw_light .jw-meeting-program { border-left:0; border-right:0; max-width:none; }
  .theme-jw_light .program-week-header,
  .theme-jw_light .program-meeting-titlebar,
  .theme-jw_light .program-section-heading,
  .theme-jw_light .program-item { padding-left:1rem; padding-right:1rem; }
  .theme-jw_light .program-week-range { font-size:1.35rem; }
  .theme-jw_light .program-section-heading { font-size:1.05rem; }
}


/* Plan zebrań fix29: osoby/przydziały w prawej kolumnie */
.theme-jw_light .program-item-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(220px, 34%);
  gap:1rem 1.25rem;
  align-items:start;
}
.theme-jw_light .program-item-assignments {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  align-items:stretch;
}
.theme-jw_light .program-assignee-card {
  background:#ffffff;
  border:1px solid #d8dee5;
  border-left:4px solid #8a8f95;
  border-radius:.35rem;
  padding:.45rem .6rem;
  box-shadow:0 1px 4px rgba(15,23,42,.04);
  text-align:left;
}
.theme-jw_light .program-section-body.section-treasures .program-assignee-card { background:#f8f9fa; }
.theme-jw_light .program-assignee-role {
  color:#6b7280;
  font-size:.74rem;
  font-weight:800;
  line-height:1.15;
  margin-bottom:.12rem;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.theme-jw_light .program-assignee-name { color:#111827; font-weight:800; line-height:1.25; }
.theme-jw_light .program-assignee-extra { color:#5e6670; font-size:.82rem; line-height:1.25; margin-top:.12rem; }
.theme-jw_light .program-assignee-card.is-mine {
  background:var(--jw-mine-bg);
  border-color:var(--jw-mine-border);
  border-left-color:var(--jw-mine-border);
}
.theme-jw_light .program-assignee-card.is-mine .program-assignee-role,
.theme-jw_light .program-assignee-card.is-mine .program-assignee-name,
.theme-jw_light .program-assignee-card.is-mine .program-assignee-extra { color:#4f3900; }

@media (max-width: 768px) {
  .theme-jw_light .program-item-layout { grid-template-columns:1fr; gap:.65rem; }
  .theme-jw_light .program-item-assignments { align-items:stretch; }
  .theme-jw_light .program-assignee-card { max-width:none; }
}

/* Fix: sekcje techniczne bez nagłówka, np. otwarcie zebrania. */
.theme-jw_light .program-section-body.section-no-heading .program-item:first-child { border-top:0; }

.program-cleaning-groups {
  margin-top: .85rem;
  padding: .7rem .85rem;
  border-left: 4px solid #6b7280;
  background: rgba(107, 114, 128, .08);
  font-size: .95rem;
}
.program-cleaning-group { display: inline; }

/* Fix30: lżejsza typografia przydziałów w planie zebrań */
.theme-jw_light .program-assignee-card {
  border-left-width:3px;
  padding:.42rem .6rem;
  box-shadow:none;
}
.theme-jw_light .program-assignee-role {
  font-size:.72rem;
  font-weight:600;
  text-transform:none;
  letter-spacing:.01em;
  color:#6b7280;
}
.theme-jw_light .program-assignee-name {
  font-weight:600;
  color:#1f2937;
}
.theme-jw_light .program-assignee-extra {
  font-weight:400;
}


/* Fix47: przydzielone osoby zawsze po prawej stronie punktu programu.
   Poprzednia wersja na telefonie przełączała układ na jedną kolumnę, przez co osoba
   pojawiała się pod spodem na całą szerokość. Ten override utrzymuje układ 2-kolumnowy
   także na widoku mobilnym, tylko z węższą kolumną osoby. */
.theme-jw_light .program-item-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(118px, 34vw, 190px);
  gap: .45rem .55rem;
  align-items: start;
}
.theme-jw_light .program-item-main {
  min-width: 0;
}
.theme-jw_light .program-item-assignments {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: .25rem;
  min-width: 0;
}
.theme-jw_light .program-assignee-card {
  display: block;
  width: 100%;
  max-width: none;
  padding: .26rem .38rem;
  border-left-width: 2px;
  border-radius: .28rem;
  overflow-wrap: anywhere;
}
.theme-jw_light .program-assignee-role {
  font-size: .61rem;
  line-height: 1.06;
  margin-bottom: .05rem;
  font-weight: 650;
}
.theme-jw_light .program-assignee-name {
  font-size: .83rem;
  line-height: 1.12;
  font-weight: 650;
}
.theme-jw_light .program-assignee-extra {
  font-size: .68rem;
  line-height: 1.12;
  margin-top: .05rem;
}

@media (min-width: 769px) {
  .theme-jw_light .program-item-layout {
    grid-template-columns: minmax(0, 1fr) clamp(170px, 24%, 230px);
    gap: .65rem .85rem;
  }
  .theme-jw_light .program-assignee-card {
    padding: .30rem .46rem;
  }
  .theme-jw_light .program-assignee-role {
    font-size: .64rem;
  }
  .theme-jw_light .program-assignee-name {
    font-size: .88rem;
  }
}

@media (max-width: 430px) {
  .theme-jw_light .program-item {
    padding-left: .95rem;
    padding-right: .95rem;
  }
  .theme-jw_light .program-item-layout {
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: .38rem .45rem;
  }
  .theme-jw_light .program-item-title {
    font-size: .98rem;
  }
  .theme-jw_light .program-item-subline {
    font-size: .88rem;
  }
  .theme-jw_light .program-assignee-card {
    padding: .24rem .34rem;
  }
  .theme-jw_light .program-assignee-role {
    font-size: .58rem;
  }
  .theme-jw_light .program-assignee-name {
    font-size: .79rem;
  }
  .theme-jw_light .program-assignee-extra {
    font-size: .66rem;
  }
}

@media (max-width: 360px) {
  .theme-jw_light .program-item-layout {
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: .32rem .38rem;
  }
  .theme-jw_light .program-assignee-name {
    font-size: .76rem;
  }
}
