/* OGS Narzędzia — odliczanie */
.ogs-countdown { --ogs-cd-color: #0f2a40; margin: 1.5em auto; text-align: center; color: var(--ogs-cd-color); }
.ogs-countdown__title { font-size: .85em; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .6em; opacity: .8; }
.ogs-countdown__units { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.ogs-countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 72px; padding: 12px 10px; border: 1px solid rgba(15,42,64,.18); border-radius: 6px; background: rgba(15,42,64,.03); }
.ogs-countdown__num { font-size: 2em; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ogs-countdown__label { font-size: .75em; text-transform: uppercase; letter-spacing: .1em; opacity: .75; margin-top: 4px; }
.ogs-countdown__done { font-size: 1.2em; font-weight: 700; }
.ogs-countdown-error { color: #b32d2e; font-weight: 600; }

/* OGS Narzędzia — karuzela */
.ogs-carousel { --ogs-cs-n: var(--ogs-cs-xs, 1); --ogs-cs-gap: 10px; position: relative; margin: 1.5em 0; }
@media (min-width: 576px)  { .ogs-carousel { --ogs-cs-n: var(--ogs-cs-sm, 2); } }
@media (min-width: 768px)  { .ogs-carousel { --ogs-cs-n: var(--ogs-cs-md, 2); } }
@media (min-width: 1024px) { .ogs-carousel { --ogs-cs-n: var(--ogs-cs-lg, 3); } }
@media (min-width: 1280px) { .ogs-carousel { --ogs-cs-n: var(--ogs-cs-xl, 4); } }
@media (min-width: 1536px) { .ogs-carousel { --ogs-cs-n: var(--ogs-cs-2xl, 5); } }
.ogs-carousel__track { display: flex; gap: var(--ogs-cs-gap); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; outline: none; }
.ogs-carousel__track::-webkit-scrollbar { display: none; }
.ogs-carousel__item { flex: 0 0 calc((100% - (var(--ogs-cs-n) - 1) * var(--ogs-cs-gap)) / var(--ogs-cs-n)); margin: 0; scroll-snap-align: start; }
.ogs-carousel__item img { display: block; width: 100%; height: auto; }
.ogs-carousel__item figcaption { font-size: 13px; line-height: 1.4; padding: 6px 2px 0; color: #555; }
.ogs-carousel__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(15,42,64,.75); color: #fff; font-size: 16px; line-height: 40px; cursor: pointer; opacity: 0; transition: opacity .2s; z-index: 2; padding: 0; }
.ogs-carousel:hover .ogs-carousel__btn, .ogs-carousel__btn:focus-visible { opacity: 1; }
.ogs-carousel__btn--prev { left: 8px; }
.ogs-carousel__btn--next { right: 8px; }
.ogs-carousel__btn[hidden] { display: none; }
@media (hover: none) { .ogs-carousel__btn { opacity: .85; } }
.ogs-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }
.ogs-carousel__dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: rgba(15,42,64,.25); cursor: pointer; }
.ogs-carousel__dots button[aria-selected="true"] { background: #c9a227; }


/* === Tabele ligowe (SPORT) === */
.ogs-tabele { margin: 0 0 28px; }
.ogs-tabele__heading { font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: #c9a227; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid rgba(201,162,39,.35); }
.ogs-tabela { background: #fff; border: 1px solid #e6e8ec; border-radius: 10px; overflow: hidden; margin: 0 0 16px; box-shadow: 0 1px 3px rgba(15,42,64,.06); }
.ogs-tabela__head { background: #0f2a40; color: #fff; padding: 9px 12px; }
.ogs-tabela__title { display: block; font-weight: 700; font-size: 14px; line-height: 1.25; }
.ogs-tabela__sub { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #9fb3c6; margin-top: 2px; }
.ogs-tabela__grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.ogs-tabela__grid th { background: #f3f5f8; color: #5a6b7b; font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; padding: 6px 8px; text-align: center; border-bottom: 1px solid #e6e8ec; }
.ogs-tabela__grid th.c-team { text-align: left; }
.ogs-tabela__grid td { padding: 6px 8px; text-align: center; border-bottom: 1px solid #f0f2f5; color: #243746; }
.ogs-tabela__grid td.c-team { text-align: left; font-weight: 500; }
.ogs-tabela__grid td.c-pos { color: #90a0b0; width: 26px; }
.ogs-tabela__grid td.c-pkt { font-weight: 700; color: #0f2a40; width: 34px; }
.ogs-tabela__grid td.c-m { width: 30px; color: #6b7b8b; }
.ogs-tabela__grid tbody tr:last-child td { border-bottom: 0; }
.ogs-tabela__us td { background: rgba(201,162,39,.16); }
.ogs-tabela__us td.c-team { font-weight: 800; color: #0f2a40; }
.ogs-tabela__us td.c-pos { color: #c9a227; font-weight: 700; }
.ogs-tabela__foot { padding: 7px 12px; font-size: 11px; color: #8a97a4; background: #fafbfc; border-top: 1px solid #f0f2f5; }
.ogs-tabela__foot a { color: #4a6b8a; }
.ogs-tabela__mecze { border-top: 1px solid #f0f2f5; background: #fafbfc; }
.ogs-tabela__mecz { display: flex; align-items: baseline; gap: 8px; padding: 7px 12px; font-size: 12px; line-height: 1.35; }
.ogs-tabela__mecz + .ogs-tabela__mecz { border-top: 1px dashed #e6e8ec; }
.ogs-tabela__mecz-label { flex: 0 0 auto; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: #5a6b7b; padding: 2px 6px; border-radius: 4px; }
.ogs-tabela__mecz--next .ogs-tabela__mecz-label { background: #c9a227; }
.ogs-tabela__mecz-val { color: #0f2a40; font-weight: 600; }
.ogs-tabela__gap td { color: #b4c0cc; letter-spacing: .3em; padding: 2px 8px; background: #fafbfc; }
.ogs-tabela__toggle { display: none; width: 100%; border: 0; border-top: 1px solid #f0f2f5; background: #f3f5f8; color: #0f2a40; font-size: 12px; font-weight: 600; padding: 8px 12px; cursor: pointer; }
.ogs-tabela__toggle:hover { background: #e9edf2; }
.ogs-tabela__gap { display: none; }
/* Widok skrócony na wszystkich ekranach (telefon, laptop, komputer); przycisk rozwija pełną tabelę. */
.ogs-tabela.is-collapsible .ogs-tabela__grid tbody tr:not(.is-vis):not(.ogs-tabela__gap) { display: none; }
.ogs-tabela.is-collapsible .ogs-tabela__gap { display: table-row; }
.ogs-tabela.is-collapsible .ogs-tabela__toggle { display: block; }
.ogs-tabela.is-collapsible.ogs-open .ogs-tabela__grid tbody tr:not(.ogs-tabela__gap) { display: table-row; }
.ogs-tabela.is-collapsible.ogs-open .ogs-tabela__gap { display: none; }
