.cslf-results.is-empty .cslf-results-col,
.cslf-results.is-empty .cslf-rail-outer {
  display: none;
}

.cslf-results.is-empty {
  min-height: 0;
  padding-bottom: 0;
}
.cslf-results{
  --bg:#ffffff; --card:#ffffff; --muted:#6b7280; --border:#e5e7eb; --live:#e63946; --shadow:0 1px 2px rgba(0,0,0,.06);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg) !important; margin:0; padding:12px; color:#111827 !important; display:flex; gap:12px;
  max-width:100%; box-sizing:border-box; align-items:flex-start;
}
.cslf-results * {
  color:inherit;
}
.cslf-results .cslf-league-block,
.cslf-results .cslf-match-row,
.cslf-results .cslf-filters,
.cslf-results .cslf-results-col {
  color:#111827 !important;
}
.cslf-filters{
  flex:0 0 180px;
  padding-top:4px;
}
.cslf-field{margin-bottom:10px}
.cslf-results-col{flex:1; min-width:0;}
.cslf-toolbar{display:flex;align-items:center;gap:12px;margin:0 8px 12px}
.cslf-toolbar h1{font-size:18px;margin:0;font-weight:700;color:#111827}
.cslf-field label{display:block;font-weight:600;margin:0 0 6px;color:#111827}
.cslf-filters select{width:100%; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--card); color:#111827; outline:none; font-size:14px}

/* Select2 */
.cslf-results .select2-container{width:100%!important}
.cslf-results .select2-selection--single{
  position:relative;
  height:34px;
  border:1px solid var(--border)!important;
  border-radius:8px!important;
  background:var(--card)!important;
  color:#111827!important;
  display:flex;
  align-items:center;
  padding:0 28px 0 10px;
  font-size:13px;
}
.cslf-results .select2-selection__rendered{
  line-height:1!important;
  padding-left:0!important;
  font-size:13px;
  color:#111827!important;
}
.cslf-results .select2-selection__clear{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%);
  font-size:14px;
}
.cslf-results .select2-selection__arrow{
  position:absolute;
  right:10px!important;
  height:100%!important;
}
.cslf-results .select2-selection__arrow b{
  margin-top:-2px!important;
}
.cslf-results .select2-dropdown{
  font-size:13px;
}
.cslf-results .select2-results__option{
  font-size:13px;
  padding:6px 10px;
}
.cslf-results .select2-results__option--highlighted.select2-results__option--selectable{
  background:#f3f4f6;
}
.cslf-results .select2-dropdown{background:var(--card)!important; border:1px solid var(--border)!important; border-radius:10px!important}
.cslf-results .select2-results__option{color:#111827!important; padding:8px 10px}

/* Rail + nav */
.cslf-rail-outer{display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:8px; width:100%}
.cslf-rail{display:flex; gap:16px; overflow-x:auto; overflow-y:hidden; padding:8px 0; scroll-snap-type:x mandatory; scroll-behavior:smooth}
.cslf-rail::-webkit-scrollbar{height:8px}
.cslf-rail::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:8px}

/* League blocks */
.cslf-league-block{
  flex:0 0 260px;
  scroll-snap-align:start;
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  border-radius:14px;
  padding:14px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:12px;
  color:#111827 !important;
}
.cslf-league-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--muted);
}
.cslf-league-title{
  font-weight:700;
  font-size:12px;
  color:#111827;
  text-transform:uppercase;
}
.cslf-league-country{
  font-size:11px;
  color:var(--muted);
}
.cslf-match-list{
  display:flex;
  flex-direction:row;
  gap:12px;
  overflow-x:auto;
  padding-bottom:4px;
}
.cslf-match-list::-webkit-scrollbar{height:6px}
.cslf-match-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}
.cslf-match-row{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  text-decoration:none;
  color:inherit;
  font-size:13px;
  line-height:1.35;
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease;
  min-width:230px;
}
.cslf-match-row:hover{
  background:#f3f4f6;
  border-color:#d1d5db;
  box-shadow:0 2px 6px rgba(0,0,0,0.1);
}
.cslf-match-line{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:center;
  width:100%;
}
.cslf-match-row .team{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:600;
  min-width:0;
  color:#111827 !important;
}
.cslf-match-row .team span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#111827 !important;
}
.cslf-match-row .team img{
  width:18px;
  height:18px;
  object-fit:contain;
}
.cslf-match-row .score{
  font-size:15px;
  font-weight:700;
  color:#111827;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}
.cslf-match-row .score .cslf-penalties{
  font-size:11px;
  font-weight:700;
  color:#f8365e !important;
  margin-top:2px;
}
.cslf-match-row .team.cslf-loser{
  text-decoration:line-through;
  opacity:0.6;
}
.cslf-match-row .meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding-top:6px;
  border-top:1px solid #e5e7eb;
  width:100%;
  font-size:11px;
  color:var(--muted);
}
.cslf-match-row .meta span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.cslf-match-row .meta .extra{
  flex:1;
  text-align:right;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cslf-match-row .meta .extra:empty{
  display:none;
}
.cslf-live{
  color:#fff;
  background:var(--live);
  border-radius:999px;
  padding:2px 8px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.3px;
}
.cslf-halftime{
  color:#111827;
  background:#fde68a;
  border-radius:999px;
  padding:2px 10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.3px;
}
.cslf-match-row .meta .sub{
  font-size:11px;
  font-weight:600;
}

/* Buttons */
.cslf-nav{width:34px; height:34px; border:none; border-radius:999px; background:var(--card); color:#111827; box-shadow:var(--shadow); cursor:pointer; border:1px solid var(--border)}
.cslf-nav.is-disabled{opacity:.35; pointer-events:none}

.cslf-empty{color:var(--muted); margin:8px}
.cslf-error{color:#ef4444; margin:8px}

@keyframes cslf-shimmer {
  0% { background-position:-200% 0; }
  100% { background-position:200% 0; }
}
.cslf-results.is-loading .cslf-rail,
.cslf-rail.is-loading{
  pointer-events:none;
}
.cslf-skeleton-line{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg, #e5e7eb, #d1d5db, #e5e7eb);
  background-size:200% 100%;
  animation:cslf-shimmer 1.6s ease-in-out infinite;
  opacity:.85;
}
.cslf-skeleton-line.is-sm{
  height:10px;
  width:40%;
}
.cslf-skeleton-line.is-lg{
  height:14px;
  width:60%;
}
.cslf-skeleton-card{
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cslf-skeleton-placeholder{
  gap:14px;
}
.cslf-skeleton-placeholder .cslf-skeleton-card{
  gap:10px;
}

@media (max-width:768px){
  .cslf-results{flex-direction:column}
  .cslf-filters{flex:1;width:100%}
  .cslf-league-block{flex-basis:250px; max-width:260px}
  .cslf-rail-outer{grid-template-columns:30px 1fr 30px}
}

.cslf-results .cslf-card p { 
  display: none !important; 
}

/* 2) <p> vides ou juste <br> à l'intérieur du widget -> on les cache */
.cslf-results p:empty,
.cslf-results p:has(br:only-child) {
  display: none !important;
}

/* 3) Si WordPress entoure TOUT le widget par un <p> (wpautop) :
      on "déplie" ce <p> sans cacher le contenu */
p:has(> .cslf-results) {
  display: contents !important; /* garde le contenu, enlève le <p> */
}

/* Fallback si :has() n’est pas dispo : on supprime l’espace résiduel */
p > .cslf-results { margin: 0 !important; }
