/* Shared */
.fefp, .fefp-searchbox, .fefp-flags-only{font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}

/* ---- Inputs & controls (delikatny reset) ---- */
.fefp input[type="text"],
.fefp input[type="number"],
.fefp input[type="date"],
.fefp .checks label{
  font:inherit; color:#111827;
}
.fefp input[type="text"],
.fefp input[type="number"],
.fefp input[type="date"]{
  width:100%; box-sizing:border-box;
  border:1px solid #e5e7eb; border-radius:8px;
  padding:8px 10px; background:#fff;
}
.fefp input[type="number"]{max-width:140px}

/* Search box */
.fefp-searchbox .fefp-searchbox-form{display:grid;grid-template-columns:36px 1fr 46px;align-items:center;background:#fff;border:1px solid #dfe4ea;border-radius:14px;padding:6px 6px;max-width:780px;margin:0 auto 16px}
.fefp-searchbox .icon{text-align:center;opacity:.8}
.fefp-searchbox .input{border:none;outline:none;padding:8px 10px;font-size:16px}
.fefp-searchbox .go{background:#1d4ed8;color:#fff;border:none;border-radius:10px;height:40px;cursor:pointer}

/* Flags slider (standalone) */
.fefp-flags-only .title{font-size:24px;font-weight:800;color:#1f3b77;text-align:center;margin:0 0 8px}
.fefp-flags-only .flags{display:grid;grid-template-columns:36px 1fr 36px;gap:8px;align-items:center;max-width:780px;margin:0 auto}
.fefp-flags-only .nav{width:36px;height:36px;border-radius:999px;border:1px solid #dfe4ea;background:#eef2ff;cursor:pointer}
.fefp-flags-only .rail{display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;padding:6px}
.fefp-flags-only .flag-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:10px;border:1px solid transparent;min-width:120px;text-decoration:none;color:#111827;background:#fff}
.fefp-flags-only .flag{width:64px;height:42px;border:1px solid #dfe4ea;border-radius:6px;object-fit:cover}
.fefp-flags-only .name{font-size:14px}

/* Filter+ container */
.fefp{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.fefp .side{position:sticky;top:80px;border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fff}
.fefp .side h3{margin:0 0 12px;font-size:18px}
.fefp .field{margin-bottom:12px}
.fefp .field label{font-weight:700;display:block;margin-bottom:6px}
.fefp .price{display:flex;gap:8px;align-items:center}
.fefp .checks{display:flex;flex-direction:column;gap:6px;max-height:220px}
.fefp .checks.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fefp .checks.scroll{overflow:auto}
.fefp .actions{display:flex;gap:8px;margin-top:8px}
.fefp .actions .btn{background:#0ea5e9;color:#fff;border:none;border-radius:8px;padding:8px 10px;cursor:pointer}
.fefp .actions .btn.ghost{background:#fff;color:#111827;border:1px solid #e5e7eb}
.fefp .res .heading{font-size:24px;font-weight:700;color:#1f3b77;margin:0 0 12px}

/* ---- Dual range (jedna linia, 2 thumby) ---- */
/* ---- Dual range (jedna linia, 2 pointery) ---- */
.fefp .range.dual{
  /* połowa średnicy kciuka (18px + 2*3px border = 24px) => 12px */
  --pad:12px;
  position:relative;
  height:32px;
  display:block;
  margin-top:8px;
  overflow:hidden;          /* przytnij ringi na krawędziach */
  user-select:none;
}

/* baza toru (blade tło) */
.fefp .range.dual::before{
  content:"";
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  top:50%;
  transform:translateY(-50%);
  height:8px;
  border-radius:9999px;
  background:#e7eefc;
  z-index:0;
}

/* wypełnienie między wartościami (JS ustawia left/right) */
.fefp .range.dual .fill{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  height:8px;
  border-radius:9999px;
  background:#1d4ed8;
  z-index:1;
  width:auto !important;   /* nadpisz ewentualne width:100% */
  left:var(--pad);
  right:var(--pad);
  pointer-events:none;
}

/* natywne range – tylko jako „silnik”; tor i kciuki ukrywamy */
.fefp .range.dual input[type="range"]{
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  top:0; bottom:0;
  -webkit-appearance:none !important;
  appearance:none !important;
  width:auto;
  margin:0;
  background:transparent !important;
  pointer-events:none;      /* interakcje obsługują handle */
  z-index:0;
}
/* wyłącz natywne tory i progresy */
.fefp .range.dual input[type="range"]::-webkit-slider-runnable-track,
.fefp .range.dual input[type="range"]::-moz-range-track,
.fefp .range.dual input[type="range"]::-moz-range-progress,
.fefp .range.dual input[type="range"]::-ms-track{
  height:0 !important;
  background:transparent !important;
  border:none !important;
  color:transparent !important;
}
/* schowaj natywne kciuki, żeby nie dublowały pointerów */
.fefp .range.dual input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:0; height:0; border:0; box-shadow:none; background:transparent;
}
.fefp .range.dual input[type="range"]::-moz-range-thumb{
  width:0; height:0; border:0; box-shadow:none; background:transparent;
}

/* PRAWIDZIWE pointery (draggable) – dodawane przez JS jako .handle */
.fefp .range.dual .handle{
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
  width:18px; height:18px;
  border-radius:50%;
  background:#fff;
  border:3px solid #1d4ed8;
  box-shadow:0 0 0 4px rgba(29,78,216,.12);
  z-index:3;
  cursor:pointer;
  touch-action:none;        /* płynny drag na dotyku */
}
.fefp .range.dual .handle:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(29,78,216,.18);
}


/* TABLE layout */
.fefp-table .list{display:block}
.fefp-table .fe-row{display:grid;grid-template-columns:160px 1fr 240px;gap:16px;align-items:center;padding:22px 10px;border-bottom:1px solid #eef2f7;background:#fff;border-radius:14px}
.fefp-table .fe-row + .fe-row{margin-top:10px}
.fefp-table .c-date{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;color:#1f2d50}
.fefp-table .c-date .day{font-size:44px;font-weight:900;line-height:1}
.fefp-table .c-date .mon{font-weight:800;color:#273a72;letter-spacing:.04em}
.fefp-table .c-date .yr{opacity:.7}
.fefp-table .c-date .time{font-size:12px;color:#6b7a99}
.fefp-table .teams{display:grid;grid-template-columns:auto 40px auto;gap:12px;align-items:center;font-size:22px;color:#2a3558}
.fefp-table .team{display:flex;align-items:center;gap:10px}
.fefp-table .flag{width:28px;height:20px;border:1px solid #dfe4ea;border-radius:4px;object-fit:cover}
.fefp-table .vs{font-weight:800;opacity:.8;text-align:center}
.fefp-table .meta{margin-top:6px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.fefp-table .meta .stadium{color:#2a3558;opacity:.85}
.fefp-table .meta .left{color:#1d4ed8;text-decoration:none}
.fefp-table .c-cta{text-align:right}
.fefp-table .c-cta .from{font-size:12px;color:#7b8799}
.fefp-table .c-cta .price{font-size:32px;font-weight:900;color:#1f2d50;margin:4px 0 10px}
.fefp-table .c-cta .btn{display:inline-block;background:#1d4ed8;color:#fff;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:700}

/* Cards (optional) */
.fefp .fe-card{display:grid;grid-template-columns:120px 1fr 200px;gap:16px;padding:18px 8px;border-bottom:1px solid #e6e9ef;background:#fff;border-radius:10px}
.fefp .fe-card:last-child{border-bottom:none}

/* Pager */
.fefp .pagination{margin-top:12px}
.fefp .fefp-pager{display:flex;gap:6px;flex-wrap:wrap}
.fefp .fefp-pager a{display:inline-block;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;text-decoration:none;color:#111827}
.fefp .fefp-pager a.on{background:#111827;color:#fff;border-color:#111827}

/* Loading state */
.fefp.is-loading .list{opacity:.6;pointer-events:none}
.fefp.is-loading .pagination{opacity:.6;pointer-events:none}

/* Responsive */
@media(max-width:1100px){
  .fefp{grid-template-columns:1fr}
  .fefp .side{position:relative;top:auto}
  .fefp-table .fe-row{grid-template-columns:1fr; text-align:left}
  .fefp-table .c-cta{text-align:left}
}
.fefp-inline{margin-top:14px}

/* ładniejszy slider flag */
.fefp-flags-only .flags{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center;max-width:980px;margin:0 auto}
.fefp-flags-only .nav{
  width:44px;height:44px;border-radius:999px;border:1px solid #d8e1f3;
  background:#f1f5ff;cursor:pointer;display:grid;place-items:center;
  transition:.15s; font-size:24px; color:#1d4ed8;
}
.fefp-flags-only .nav:hover{background:#e6eeff;transform:translateY(-1px)}
.fefp-flags-only .rail{display:flex;gap:18px;overflow:hidden}
.fefp-flags-only .owl-carousel .owl-stage-outer{overflow:visible}
.fefp-flags-only .flag-wrap{display:block}
.fefp-flags-only .flag-item{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  text-decoration:none;color:#0f172a;background:#fff;border:1px solid #e5e7eb;
  border-radius:12px;padding:10px 10px; width:120px;
  transition:box-shadow .15s, transform .15s;
}
.fefp-flags-only .flag-item:hover{box-shadow:0 6px 20px rgba(0,0,0,.06); transform:translateY(-1px)}
.fefp-flags-only .flag{width:72px;height:48px;border:1px solid #dfe4ea;border-radius:6px;object-fit:cover}
.fefp-flags-only .name{font-size:14px;line-height:1.1;text-align:center}

