.rating-block{
  --primary: var(--c-primary, #46a28d);
  --primary-a: var(--c-primary-alpha, #46a28d66);
  --accent: var(--c-accent, #e74516);
  --danger: var(--c-danger, #e91f1b);
  --success: var(--c-success, #1db67e);
  --text: var(--c-text, #586974);

  --border: rgba(88,105,116,0.18);
  --muted: rgba(88,105,116,0.78);
  --shadow: 0 10px 30px rgba(20,30,35,0.06);

  --logo-size: 150px;
  --item-pad: 12px;
  --radius: 16px;
  --mini-gap: 10px;
}

/* ===== top + help ===== */
.rating-top{ display:flex; align-items:center; margin:0 0 10px; }
.rating-top__title{ position:relative; display:flex; align-items:center; gap:8px; font-weight:900; color:rgba(28,40,45,0.9); }

.rating-help{
  width:22px;height:22px;border-radius:999px;
  border:1px solid rgba(70,162,141,0.35);
  background: rgba(70,162,141,0.10);
  color: rgba(28,40,45,0.9);
  font-weight:900; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  padding:0; line-height:1;
}

.rating-help-pop{
  display:none; position:absolute; left:0; top:calc(100% + 10px);
  width:min(360px, calc(100vw - 24px));
  background:#fff; border:1px solid var(--border); border-radius:14px;
  box-shadow:0 16px 40px rgba(20,30,35,0.12);
  padding:10px 12px; z-index:30; color:rgba(88,105,116,0.95);
}
.rating-help-pop__t{ font-weight:900; color:rgba(28,40,45,0.9); margin-bottom:6px; font-size:12px; }
.rating-help-pop__p{ font-size:12px; margin:4px 0; line-height:1.35; }
.rating-top__title.is-help-open .rating-help-pop{ display:block; }

/* ===== filters (present, no JS binding) ===== */
.rating-filters{ margin:0 0 14px; }
.rf-row{
  display:flex; gap:12px; flex-wrap:wrap; align-items:end;
  padding:12px; background:#fff; border:1px solid var(--border);
  border-radius:16px; box-shadow:var(--shadow);
}
.rf-field{ display:flex; flex-direction:column; gap:6px; }
.rf-field--name{ flex:1 1 280px; min-width:260px; }
.rf-field--num{ flex:0 1 170px; min-width:160px; }
.rf-label{ font-size:12px; color:rgba(88,105,116,0.85); }
.rf-input{
  height:40px; padding:0 12px; border-radius:12px;
  border:1px solid rgba(88,105,116,0.22);
  background:#fff; color:var(--text); outline:none;
}
.rf-input:focus{ border-color:rgba(70,162,141,0.55); box-shadow:0 0 0 3px rgba(70,162,141,0.18); }
.rf-reset{
  height:40px; padding:0 14px; border-radius:12px;
  border:1px solid rgba(88,105,116,0.22); background:#fff;
  color:rgba(28,40,45,0.9); cursor:pointer; font-weight:800;
}
.rf-reset:hover{ border-color:rgba(70,162,141,0.45); background:rgba(70,162,141,0.08); }

/* ===== list + item ===== */
.casino-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  counter-reset: casino;
}

.casino-item{
  counter-increment: casino; /* ВАЖНО: инкремент здесь */
  display:grid;
  grid-template-columns: var(--logo-size) 0.8fr 0.9fr 1.3fr 0.85fr;
  gap:12px;
  align-items:start;
  padding:var(--item-pad);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* ===== col1: logo + badge ===== */
.ci-logo{
  width:var(--logo-size);
  height:var(--logo-size);
  border-radius:18px;
  overflow:hidden;
  border:0;
  background:transparent;
  box-shadow:0 10px 22px rgba(20,30,35,0.10);
  position: relative;
}

/* ВАЖНО: растягиваем только ОСНОВНОЕ лого (последняя картинка в .ci-logo) */
.ci-logo > img:last-child{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Бейдж отдельно */
.ci-logo > img.casino-place-icons{
  position:absolute;
  top: 1px;
  left: 6px;
  z-index: 2;
  width:35px;
  height:53px;
  object-fit:contain;
  display:block;
  pointer-events:none;
}

/* ВАЖНО: цифра рисуется НЕ на img, а на контейнере */
.ci-logo::after{
  content: counter(casino);
  position:absolute;
  top: 1px;
  left: 6px;
  width:35px;
  height:53px;
  z-index: 3;

  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top: 12px;          /* оптическое центрирование внутри бейджа */
  box-sizing:border-box;

  font-family: 'circularMedium', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  text-align:center;
  pointer-events:none;
  text-shadow: 0 1px 1px rgba(0,0,0,0.25);
}

/* Чуть уменьшаем шрифт для двузначных мест (10+) */
.casino-list > article.casino-item:nth-of-type(n+10) .ci-logo::after{
  font-size: 14px;
  padding-top: 13px;
}

/* ===== col2: name + rating + promo ===== */
.ci-main{
  height:var(--logo-size);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:10px;
  padding-top:4px;
  min-width:0;
}

.ci-name{
  text-align:center;
  font-size:18px;
  font-weight:900;
  letter-spacing:0.6px;
  text-transform:uppercase;
  color:rgba(28,40,45,0.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* rating: red -> green */
.ci-rating{
  border-radius:14px;
  padding:10px 12px;
  background: rgba(70,162,141,0.08);
  border:1px solid rgba(70,162,141,0.18);
}
.ci-rating__row{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:8px; }
.ci-rating__k{
  font-size:12px; font-weight:900; letter-spacing:0.6px; text-transform:uppercase;
  color:rgba(88,105,116,0.82);
}
.ci-rating__v{ font-size:14px; font-weight:900; color:rgba(28,40,45,0.92); white-space:nowrap; }
.ci-rating__bar{ height:6px; border-radius:999px; background:rgba(88,105,116,0.18); overflow:hidden; }
.ci-rating__fill{
  display:block; height:100%; border-radius:999px;
  background: linear-gradient(90deg, var(--danger) 0%, var(--success) 100%);
}

/* promo: width by content, not full */
.ci-promo{ display:flex; justify-content:center; }
.ci-promo__box{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:9px 10px;
  border-radius:12px;
  border:2px dashed rgba(70,162,141,0.55);
  background:transparent;
  cursor:pointer;
  user-select:none;
  width: fit-content;
}
.ci-promo__code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight:900; font-size:14px;
  color:rgba(28,40,45,0.92);
  white-space:nowrap;
}
.ci-promo__ic{ color:rgba(88,105,116,0.70); display:inline-flex; }
.ci-promo__box:hover .ci-promo__ic{ color:var(--primary); }

.ci-promo__toast{
  position:absolute;
  right:10px;
  top:-10px;
  transform:translateY(-6px);
  opacity:0;
  pointer-events:none;

  font-size:11px;
  font-weight:900;
  color:#1db67e;
  background:#fff;
  border:1px solid rgba(29,182,126,0.22);
  border-radius:999px;
  padding:4px 8px;
  box-shadow:0 10px 18px rgba(20,30,35,0.10);
  transition:opacity .18s ease, transform .18s ease;
}
.casino-item.is-copied .ci-promo__toast{ opacity:1; transform:translateY(0); }
.casino-item.is-copied .ci-promo__box{ border-color: rgba(29,182,126,0.65); }

/* ===== col3: No-deposit bonus (no shadow) ===== */
.ci-nd{
  height:var(--logo-size);
  border-radius:5px;
  border:2px dashed rgba(88,105,116,0.16);
  background:#fff;
  padding:8px 12px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}

.ci-nd__title{
  width:100%;
  text-align: center;
  font-size:12px;
  font-weight:900;
  color: rgba(88, 105, 116, 0.92);
  padding-top:2px;
  text-transform: uppercase;
}

.ci-nd__main{ margin-top:4px; }
.ci-nd__fs{
  font-size:18px;
  font-weight:900;
  color:var(--primary);
  letter-spacing:0.2px;
}

.ci-nd__dot{
  width:6px; height:6px;
  border-radius:999px;
  background: rgba(88,105,116,0.45);
}

.ci-nd__wager{
  font-size:13px;
  font-weight:800;
  color: #e74516;
}

/* Terms line + button */
.ci-nd__terms{
  margin-top:auto;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  position:relative;
}
.ci-nd__terms-line{
  width:100%;
  border-bottom:1px dashed rgba(88,105,116,0.28);
}
.ci-nd__terms-btn{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  color:rgba(88,105,116,0.85);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}
.ci-nd__terms-btn:hover{ color:rgba(28,40,45,0.9); }

/* Terms popover (hidden by default) */
.ci-nd__terms-pop{
  display:none;
  position:absolute;
  left:0;
  right:0;
  bottom: calc(100% + 8px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(20,30,35,0.12);
  padding:10px 12px;
  font-size:12px;
  color:rgba(88,105,116,0.95);
  z-index:25;
}
.ci-nd__terms-pop.is-open{ display:block; }

/* ===== col4: mini grid (ref background + watermark icons) ===== */
.ci-mini-grid{
  height:var(--logo-size);
  display:grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--mini-gap);
  align-content:stretch;
}

.ci-mini{
  position:relative;
  border-radius:14px;
  border:1px solid rgba(88,105,116,0.12);
  background:#f3f7fb;
  padding:10px 12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.ci-mini__k{
  font-size:12px;
  font-weight:900;
  color:rgba(28,40,45,0.86);
  margin-bottom:6px;
}
.ci-mini__v{
  font-size:13px;
  font-weight:900;
  color:rgba(88,105,116,0.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Watermark icons */
.ci-mini::after{
  content:"";
  position:absolute;
  right:10px;
  top:10px;
  width:28px;
  height:28px;
  opacity:.14;
  background-repeat:no-repeat;
  background-size:contain;
  filter: grayscale(100%);
}

/* inline SVG icons */
.ci-mini[data-ic="type"]::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z' stroke='%23586974' stroke-width='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4' stroke='%23586974' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ci-mini[data-ic="percent"]::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M19 5 5 19' stroke='%23586974' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7.5 7.5h.01M16.5 16.5h.01' stroke='%23586974' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ci-mini[data-ic="sum"]::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2v20' stroke='%23586974' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M16 7.5c0-1.93-1.79-3.5-4-3.5s-4 1.57-4 3.5 1.2 3 4 3 4 1.07 4 3-1.79 3.5-4 3.5-4-1.57-4-3.5' stroke='%23586974' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ci-mini[data-ic="wager"]::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M17 2v6h-6' stroke='%23586974' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 22v-6h6' stroke='%23586974' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 8a8 8 0 0 0-14.9-3M4 16a8 8 0 0 0 14.9 3' stroke='%23586974' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ===== col5: CTA + countries aligned to mini grid rows ===== */
.ci-cta{
  height:var(--logo-size);
  display:flex;
  flex-direction:column;
  gap: var(--mini-gap);
}

.ci-cta__top{
  height: calc((var(--logo-size) - var(--mini-gap)) / 2);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ci-btn{
  height:44px;
  width: min(100%, 240px);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--primary);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 12px 20px rgba(70,162,141,0.18);
  white-space:nowrap;
}
.ci-btn:hover{ background: #1db67e; }

.ci-cta__bottom{
  height: calc((var(--logo-size) - var(--mini-gap)) / 2);
  display:flex;
  align-items:stretch;
  justify-content:center;
}

.ci-countries{
  width:100%;
  text-align:center;
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.ci-countries__k{
  font-size:12px;
  font-weight:900;
  color:rgba(88,105,116,0.78);
  margin-bottom:6px;
}

.ci-countries__v{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow:hidden;
  text-align: left;

  font-size:12px;
  line-height:1.35;
  color:rgba(88,105,116,0.92);
  font-style: italic;
  padding-right:34px;
  max-height: calc((var(--logo-size) - var(--mini-gap)) / 2 - 22px);
}

/* "ещё" — появляется только при overflow (JS) */
.ci-more{
  display:none;
  position:absolute;
  right:0;
  bottom:0;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  color: var(--primary);
}
.ci-more:hover{ text-decoration: underline; }

/* popover for countries */
.ci-popover{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top: calc(100% + 8px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(20,30,35,0.12);
  padding:10px 12px;
  font-size:12px;
  color:rgba(88,105,116,0.95);
  z-index:20;
}
.ci-popover.is-open{ display:block; }

/* ===== Responsive ===== */
@media (max-width: 980px){
  .casino-item{
    grid-template-columns: var(--logo-size) 1fr;
    grid-template-areas:
      "logo main"
      "nd nd"
      "mini mini"
      "cta cta";
  }
  .ci-logo{ grid-area:logo; }
  .ci-main{ grid-area:main; height:auto; }
  .ci-nd{ grid-area:nd; height:auto; }
  .ci-mini-grid{ grid-area:mini; height:auto; }
  .ci-cta{ grid-area:cta; height:auto; }
  .ci-cta__top, .ci-cta__bottom{ height:auto; }
  .ci-countries__v{ max-height:none; -webkit-line-clamp: 2; }
}

@media (max-width: 640px){
  .rating-block{ --logo-size: 150px; }

  .rf-field--name{ min-width:100%; flex:1 1 100%; }
  .rf-field--num{ min-width: calc(50% - 6px); flex:1 1 calc(50% - 6px); }
  .rf-reset{ width:100%; }

  .casino-item{
    grid-template-columns: var(--logo-size) 1fr;
    grid-template-areas:
      "logo main"
      "nd nd"
      "mini mini"
      "cta cta";
    gap: 12px;
    align-items: start;
  }

  .ci-logo{ grid-area: logo; }
  .ci-main{
    grid-area: main;
    height: auto;
    padding-top: 0;
    justify-content: flex-start;
  }

  .ci-name{ text-align: center; }
  .ci-promo{ justify-content: center; width:100%; }
  .ci-promo__box{ width:100%; }

  .ci-nd{ grid-area: nd; height: auto; }
  .ci-mini-grid{ grid-area: mini; height: auto; }
  .ci-cta{ grid-area: cta; height: auto; }
  .ci-cta__top, .ci-cta__bottom{ height: auto; }

  .ci-countries__v{
    -webkit-line-clamp: 2;
    max-height: none;
  }
}

/* ===== Show all casinos button + hide items 11-15 ===== */
.casino-item.is-more{
  display: none;
}
.casino-item.is-more.is-more-open{
  display: grid;
}

.casino-showall-wrap{
  display:flex;
  justify-content:center;
  padding: 6px 0 2px;
}

.casino-showall{
  height: 44px;
  font-size: 12px;
  padding: 0 18px;
  border-radius: 10px;
  border: 1px dashed rgba(88, 105, 116, 0.92);
  background: #f3f7fb;
  color: rgba(88, 105, 116, 0.92);
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 18px rgba(20,30,35,0.06);
  text-transform: uppercase;
}

.casino-showall:hover{
  box-shadow: 0 14px 26px rgba(20,30,35,0.12);
}
