/* ==========================================================================
   /kalendarz-bran-ryb/ (page-kalendarz-bran-ryb.php) - ładowane tylko na tej stronie.
   Wspólne elementy (sekcje, tabele, FAQ, widget) - main.css (.kal-odl-*).
   Kolor oceny znaczy zawsze to samo: 1 słabe - piasek, 2 średnie - jasny błękit,
   3 dobre - morska zieleń, 4 bardzo dobre - głęboka woda.
   ========================================================================== */

.kal-ryb {
  --ryb-woda: #0F3442;
  --ryb-woda-2: #1D5A6C;
  --ryb-jasny: #BFD6DE;
  --ryb-ochra: #E2C376;
  --ryb-o1: #ECE7DA;
  --ryb-o2: #CFE3EA;
  --ryb-o3: #7DBFA6;
  --ryb-o4: #1D5A6C;
}
.kal-ryb-o--slabe { background: var(--ryb-o1); color: #4A4436; }
.kal-ryb-o--srednie { background: var(--ryb-o2); color: #16404D; }
.kal-ryb-o--dobre { background: var(--ryb-o3); color: #0B2C25; }
.kal-ryb-o--bdobre { background: var(--ryb-o4); color: #fff; }

/* Przełącznik lat */
.kal-ryb-lata { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; font-size: 0.88rem; }
.kal-ryb-lata a, .kal-ryb-lata span {
  padding: 7px 14px; border: 1px solid var(--kal-line); border-radius: 999px;
  background: var(--kal-paper-raised); color: var(--kal-navy); font-weight: 600; text-decoration: none;
}
.kal-ryb-lata a:hover { border-color: var(--kal-brass); color: var(--kal-brass); }
.kal-ryb-lata .is-aktywny { background: var(--ryb-woda); border-color: var(--ryb-woda); color: #fff; }

.kal-ryb-uwaga { margin: 0 0 24px; padding: 14px 18px; border-left: 4px solid var(--kal-brass); background: var(--kal-paper-raised); font-size: 0.95rem; }

/* Plakietka oceny */
.kal-ryb-ocena {
  display: inline-flex; align-items: baseline; justify-content: center; min-width: 2.1em; padding: 2px 7px;
  border-radius: 8px; font-weight: 800; line-height: 1.3; font-variant-numeric: tabular-nums;
}
.kal-ryb-ocena small { font-size: 0.68em; font-weight: 600; opacity: 0.75; }

/* Panel „dziś i jutro” */
.kal-ryb-dzis { margin: 0 0 28px; padding: 22px 26px; border-radius: 14px; color: #fff; background: linear-gradient(160deg, var(--ryb-woda), var(--ryb-woda-2)); }
.kal-ryb-dzis__glowa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-bottom: 16px; }
.kal-ryb-dzis h2 { margin: 0; color: #fff; font-size: clamp(1.4rem, 3.6vw, 1.9rem); line-height: 1.2; }
.kal-ryb-dzis__karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px; }
.kal-ryb-dzis .kal-ryb-karta { background: rgba(255, 255, 255, 0.09); border-color: rgba(255, 255, 255, 0.18); color: #fff; }
.kal-ryb-dzis .kal-ryb-karta__kiedy { color: var(--ryb-ochra); }
.kal-ryb-dzis .kal-ryb-karta small, .kal-ryb-dzis .kal-ryb-karta__slonce, .kal-ryb-dzis .kal-ryb-karta__faza { color: var(--ryb-jasny); }
.kal-ryb-dzis .kal-ryb-o--bdobre { background: var(--ryb-ochra); color: var(--ryb-woda); }
.kal-ryb-dzis__kolejne, .kal-ryb-dzis__ochrona { margin: 14px 0 0; font-size: 0.93rem; color: #fff; }
.kal-ryb-dzis__ochrona { margin-top: 6px; }
.kal-ryb-dzis__kolejne b, .kal-ryb-dzis__ochrona b { color: var(--ryb-ochra); }
.kal-ryb-dzis__przypis { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.2); font-size: 0.82rem; color: var(--ryb-jasny); }
@media (max-width: 560px) {
  .kal-ryb-dzis { padding: 20px 16px; }
}

.kal-ryb-miasto { display: inline-flex; align-items: center; gap: 8px; font-size: 0.88rem; font-weight: 600; }
.kal-ryb-miasto select { padding: 7px 10px; max-width: 100%; border: 1px solid var(--kal-line); border-radius: var(--kal-radius); background: #fff; color: var(--kal-ink); font: inherit; font-weight: 400; }
.kal-ryb-miasto[hidden], .kal-ryb-akcje [hidden], .kal-ryb-szczegol[hidden] { display: none; }

/* Karta dnia (panel i szczegóły dnia w miesiącu) */
.kal-ryb-karta { padding: 14px 16px; border: 1px solid var(--kal-line); border-radius: 10px; background: #fff; }
.kal-ryb-karta__kiedy { margin: 0 0 8px; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ryb-woda-2); }
.kal-ryb-karta__glowa { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.kal-ryb-karta__glowa .kal-ryb-ocena { font-size: 1.7rem; padding: 4px 12px; border-radius: 10px; }
.kal-ryb-karta__glowa p { margin: 0; }
.kal-ryb-karta__ocena { font-weight: 700; font-size: 1.05rem; }
.kal-ryb-karta__faza { font-size: 0.88rem; color: #555; }
.kal-ryb-karta__okresy { list-style: none; margin: 0; padding: 0; font-size: 0.92rem; line-height: 1.5; }
.kal-ryb-karta__okresy small { color: #666; }
.kal-ryb-karta__okresy b { font-variant-numeric: tabular-nums; }
.kal-ryb-okres--drugorzedny b { font-weight: 600; }
.kal-ryb-karta__slonce { margin: 8px 0 0; font-size: 0.86rem; color: #555; }

/* Tabela 14 dni */
.kal-ryb-tabela th small { color: #666; font-weight: 400; }
.kal-ryb-tabela td { font-variant-numeric: tabular-nums; }
.kal-ryb-tabela tr.is-dzis th, .kal-ryb-tabela tr.is-dzis td { background: #F1F7F9; }
.kal-ryb-tabela__nazwa { font-size: 0.86rem; color: #444; }
@media (max-width: 640px) {
  .kal-ryb-tabela, .kal-ryb-tabela tbody, .kal-ryb-tabela tr, .kal-ryb-tabela th, .kal-ryb-tabela td { display: block; width: auto; }
  .kal-ryb-tabela thead { display: none; }
  .kal-ryb-tabela caption { display: block; }
  .kal-ryb-tabela tr { padding: 8px 12px; border-bottom: 1px solid var(--kal-line); }
  .kal-ryb-tabela th, .kal-ryb-tabela td { padding: 2px 0; border: 0; }
  .kal-ryb-tabela td[data-l]::before { content: attr(data-l) ": "; color: #555; font-size: 0.8rem; }
}

/* Legenda */
.kal-ryb-legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 0.86rem; }
.kal-ryb-legenda li { display: inline-flex; align-items: center; gap: 6px; }
.kal-ryb-kw { display: inline-block; width: 16px; height: 16px; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.08); }

/* Miesiące */
.kal-ryb-miesiace { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); gap: 14px; margin-top: 14px; }
.kal-ryb-miesiac { padding: 14px 14px 12px; border: 1px solid var(--kal-line); border-radius: var(--kal-radius); background: #fff; }
.kal-ryb-miesiac h3 { margin: 0 0 10px; font-size: 1.05rem; }
.kal-ryb-siatka { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.kal-ryb-siatka__dt { font-size: 0.72rem; font-weight: 700; text-align: center; color: #666; }
.kal-ryb-d {
  position: relative; aspect-ratio: 1; min-height: 34px; padding: 0; border: 0; border-radius: 6px;
  font: inherit; font-size: 0.86rem; font-weight: 600; cursor: pointer; font-variant-numeric: tabular-nums;
}
.kal-ryb-d i { position: absolute; top: 1px; right: 3px; font-size: 0.62rem; font-style: normal; line-height: 1; }
.kal-ryb-d:hover, .kal-ryb-d:focus-visible { outline: 2px solid var(--ryb-woda); outline-offset: 1px; }
.kal-ryb-d[aria-pressed="true"] { outline: 2px solid var(--kal-brass); outline-offset: 1px; }
.kal-ryb-d.is-dzis { box-shadow: inset 0 0 0 2px var(--kal-brick); }
.kal-ryb-szczegol { margin: 10px 0 0; }
.kal-ryb-szczegol .kal-ryb-karta { padding: 12px; background: #F6FAFB; }
.kal-ryb-miesiac__dni { margin: 10px 0 0; font-size: 0.88rem; line-height: 1.45; }

/* Sezon gatunków: na wąskim ekranie tabela przewija się w poziomie w swojej ramce */
.kal-ryb .kal-odl-tabela-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kal-ryb-sezon { min-width: 540px; }
.kal-ryb-sezon th, .kal-ryb-sezon td { padding: 6px 4px; text-align: center; }
.kal-ryb-sezon tbody th { text-align: left; padding-left: 10px; white-space: nowrap; }
.kal-ryb-sezon td { position: relative; border-left: 2px solid #fff; }
.kal-ryb-sezon .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.kal-ryb-a0 { background: #F4F2EC; }
.kal-ryb-a1 { background: #D9E9EE; }
.kal-ryb-a2 { background: #7DBFA6; }
.kal-ryb-a3 { background: #1D5A6C; }
.kal-ryb-och { background: repeating-linear-gradient(135deg, #F4E1D9 0 5px, #E6B9A6 5px 7px); }
.kal-ryb-gatunki { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 14px; margin-top: 22px; }
.kal-ryb-gatunek { padding: 16px 18px; border: 1px solid var(--kal-line); border-radius: var(--kal-radius); background: #fff; scroll-margin-top: 90px; }
.kal-ryb-gatunek h3 { margin: 0 0 8px; font-size: 1.1rem; }
.kal-ryb-gatunek > p { margin: 0 0 10px; font-size: 0.93rem; line-height: 1.55; }
.kal-ryb-gatunek__fakty { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0; font-size: 0.86rem; }
.kal-ryb-gatunek__fakty dt { font-weight: 700; color: var(--ryb-woda-2); }
.kal-ryb-gatunek__fakty dd { margin: 0; }
@media (max-width: 420px) {
  .kal-ryb-gatunek__fakty { grid-template-columns: 1fr; }
  .kal-ryb-gatunek__fakty dd { margin-bottom: 4px; }
}

/* Przepisy */
.kal-ryb-przepisy th small { display: block; font-weight: 400; color: #555; font-style: italic; }
.kal-ryb-przepisy th small.kal-ryb-wody { font-style: normal; color: var(--ryb-woda-2); font-weight: 600; }
.kal-ryb-wariant th, .kal-ryb-wariant td { background: var(--kal-paper-raised); }
.kal-ryb-war td { padding-top: 6px; font-size: 0.82rem; color: #555; }
.kal-ryb-prz { color: var(--ryb-woda-2); }
@media (max-width: 640px) {
  .kal-ryb-przepisy, .kal-ryb-przepisy tbody, .kal-ryb-przepisy tr, .kal-ryb-przepisy th, .kal-ryb-przepisy td { display: block; width: auto; }
  .kal-ryb-przepisy thead { display: none; }
  .kal-ryb-przepisy caption { display: block; }
  .kal-ryb-przepisy tr { padding: 8px 12px; border-bottom: 1px solid var(--kal-line); }
  .kal-ryb-przepisy th, .kal-ryb-przepisy td { padding: 2px 0; border: 0; }
  .kal-ryb-przepisy td[data-l]:empty { display: none; }
  .kal-ryb-przepisy td[data-l]::before { content: attr(data-l) ": "; color: #555; font-size: 0.8rem; }
}

.kal-ryb-akcje { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }

/* Wydruk A4 */
#kal-ryb-druk { display: none; }
@media print {
  @page { size: A4 portrait; margin: 9mm; }
  body.kal-ryb-drukuje > :not(#kal-ryb-druk) { display: none !important; }
  body.kal-ryb-drukuje { background: #fff !important; }
  body.kal-ryb-drukuje #kal-ryb-druk { display: block; }
  .kal-ryb-a4 { color: #111; font-family: Arial, Helvetica, sans-serif; font-size: 9pt; line-height: 1.25; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .kal-ryb-a4__tytul { margin: 0; font-size: 20pt; font-weight: 700; }
  .kal-ryb-a4__pod { margin: 1mm 0 4mm; font-size: 9pt; color: #444; }
  .kal-ryb-a4__rok { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5mm 6mm; }
  .kal-ryb-a4__m p { margin: 0 0 1mm; font-size: 11pt; font-weight: 700; }
  .kal-ryb-a4__siatka { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.6mm; }
  .kal-ryb-a4__siatka span { padding: 1mm 0; text-align: center; font-size: 8.5pt; border-radius: 1mm; }
  .kal-ryb-a4__dt { font-weight: 700; color: #555; }
  .kal-ryb-a4__o1 { background: #ECE7DA; }
  .kal-ryb-a4__o2 { background: #CFE3EA; }
  .kal-ryb-a4__o3 { background: #7DBFA6; }
  .kal-ryb-a4__o4 { background: #1D5A6C; color: #fff; font-weight: 700; }
  .kal-ryb-a4__stopka { margin: 5mm 0 0; font-size: 9pt; text-align: center; color: #555; }
}
