.btn-link{
  margin-top:.25rem;display:inline-block;background:none;border:0;padding:0;font:inherit;
  color:#555;text-decoration:underline;cursor:pointer
}
.btn-link:hover{ text-decoration:none }
.btn-link:focus-visible{ outline:2px solid #0a6cff; outline-offset:2px; border-radius:4px }

html.ceny-modal--lock{ overflow:hidden }

/* Modal */
.ceny-modal{
  position:fixed; inset:0; z-index:100001;
  display:none;
  align-items:center;
  justify-content:center;
}
.ceny-modal.is-open,
.ceny-modal.is-closing{
  display:flex;
}

.ceny-modal__overlay{
  position:absolute; inset:0; background:rgba(0,0,0,.5); backdrop-filter:blur(5px)
}

.ceny-modal__dialog{
  position:relative;
  margin:0;
  max-width:900px; width:calc(100% - 2rem);
  background:#fff; color:#111; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.25);
  padding:1.25rem 1.25rem 1rem; outline:none
}

.ceny-modal__close{
  position:absolute; top:.5rem; right:.75rem; background:none; border:0;
  font-size:35px; line-height:1; cursor:pointer; color:#333; z-index:100
}
.ceny-modal__close:hover{ opacity:.8 }
.ceny-modal__close:focus-visible{ outline:2px solid #0a6cff; outline-offset:2px; border-radius:4px }

.ceny-modal__h4{ margin:0 0 .25rem; font-size:1.4rem; text-transform:uppercase; letter-spacing:.02em; opacity:.7;}
.ceny-modal__h2{ margin:0 0 .75rem; font-size:1rem !important; line-height:1.2 }

/* Tabela w modalu */
.ceny-modal__table tr.is-current td{ font-weight:600; }
.ceny-modal__tablewrap{ max-height:60vh; overflow:auto; border:1px solid #eee; border-radius:8px }
.ceny-modal__table{ width:100%; border-collapse:collapse }
.ceny-modal__table th,.ceny-modal__table td{
  padding:.6rem .75rem; border-bottom:1px solid #eee; text-align:left; white-space:nowrap
}
.ceny-modal__table thead th{ position:sticky; top:0; background:#fafafa; z-index:1 }
.ceny-modal__table th:nth-child(2),.ceny-modal__table td:nth-child(2),
.ceny-modal__table th:nth-child(3),.ceny-modal__table td:nth-child(3){
  text-align:right; font-variant-numeric:tabular-nums
}

.badge-current{
  display:inline-block;
  padding:.15rem .4rem;
  border-radius:.35rem;
  background:#e8f8ee;
  color:#177a3a;
  font-size:.75em;
  font-weight:600;
  vertical-align:baseline;
  line-height:1;
  border:1px solid #cfeedd;
  margin-right:.4rem;
}

@media (max-width:600px){
  .ceny-modal__dialog{ margin:0 1rem; width:calc(100% - 2rem); min-height:auto; border-radius:12px }
  .ceny-modal__tablewrap{ max-height:calc(100vh - 140px) }
}

@media (prefers-reduced-motion:no-preference){
  .ceny-modal.is-open .ceny-modal__dialog{
    animation: zisFadeUpIn .22s ease both;
  }
  .ceny-modal.is-open .ceny-modal__overlay{
    animation: zisOverlayIn .22s ease both;
  }

  .ceny-modal.is-closing .ceny-modal__dialog{
    animation: zisFadeUpOut .28s ease both;
  }
  .ceny-modal.is-closing .ceny-modal__overlay{
    animation: zisOverlayOut .22s ease both;
  }

  @keyframes zisFadeUpIn{
    from{ opacity:0; transform:translateY(16px) scale(.995) }
    to  { opacity:1; transform:translateY(0)    scale(1) }
  }
  @keyframes zisFadeUpOut{
    0%   { opacity:1; transform:translateY(0) }
    40%  { opacity:1; transform:translateY(-6px) }
    100% { opacity:0; transform:translateY(12px) }
  }
  @keyframes zisOverlayIn{ from{ opacity:0 } to{ opacity:1 } }
  @keyframes zisOverlayOut{ from{ opacity:1 } to{ opacity:0 } }
}
