/* casinosafest.com — хабы главной (08b). Префикс saf-hx: saf-hub зарезервирован под C05.F2.
   Квадратные углы, токены LEDGER, ширина — колонка .saf-prose. */
.saf-hx{margin:38px 0 34px;border-top:3px solid var(--saf-ink);padding-top:14px}
.saf-hx--h2{margin-top:46px}
.saf-prose .saf-hx h2,.saf-prose .saf-hx h3.saf-hx__h{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:600;
  font-size:26px;line-height:1.1;letter-spacing:.01em;margin:4px 0 14px;border:0;padding:0;text-transform:none}
.saf-prose .saf-hx h2{font-size:34px}
.saf-hx__k{display:block;font-family:"Barlow Condensed",Impact,sans-serif;font-size:14px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--saf-red);margin:0}
.saf-hx__l{margin:0 0 18px;color:var(--saf-ink)}
.saf-hx ul,.saf-hx ol{list-style:none;margin:0;padding:0}
.saf-hx li{margin:0;padding:0;text-indent:0!important}
.saf-hx li:before,.saf-hx li:after{content:none!important;display:none!important}
.saf-hx a{color:inherit;text-decoration:none}
.saf-hx img{display:block;max-width:100%;height:auto}
.saf-hx__t{display:block;font-weight:800;font-size:16px;line-height:1.25;color:var(--saf-ink)}
.saf-hx__d{display:block;font-size:14px;line-height:1.45;color:var(--saf-mute);margin-top:4px}
.saf-hx a:hover .saf-hx__t{color:var(--saf-red)}
.saf-hx a:focus-visible{outline:2px solid var(--saf-navy);outline-offset:2px}
.saf-hx__more{margin:14px 0 0;font-size:14.5px;line-height:1.7;color:var(--saf-mute)}
.saf-hx__more b{color:var(--saf-ink);font-weight:700;margin-right:4px}
.saf-hx__more a{color:var(--saf-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.saf-hx__more a:hover{color:var(--saf-red)}
.saf-hx .saf-hx__more a,.saf-hx .saf-hx__more a:hover{display:inline;position:static;height:auto;padding:0;margin:0;
  border:0;background:none;grid-template-columns:none;font-weight:400}
.saf-hx .saf-hx__all a,.saf-hx .saf-hx__all a:hover{display:inline-flex;position:static;height:auto;padding:0 0 1px;
  margin:0;border:0;border-bottom:2px solid currentColor;background:none;grid-template-columns:none}
.saf-hx__all{margin:14px 0 0;text-align:right}
.saf-hx__all a{display:inline-flex;align-items:center;gap:8px;font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:17px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--saf-red);
  border-bottom:2px solid currentColor;padding-bottom:1px}
.saf-hx__all a:hover{color:var(--saf-red-d)}
.saf-hx__ic{display:flex;align-items:center;justify-content:center;background:var(--saf-navy);color:#fff}
.saf-hx__ic svg{width:44%;height:44%}

/* 1 · ledger — пронумерованные строки журнала */
.saf-hx--ledger li{border-bottom:1px solid var(--saf-line)}
.saf-hx--ledger li:first-child{border-top:1px solid var(--saf-line)}
.saf-hx--ledger a{display:grid;grid-template-columns:44px 58px minmax(0,1fr) 18px;gap:16px;align-items:center;padding:13px 6px}
.saf-hx--ledger a:hover{background:var(--saf-sand)}
.saf-hx__n{font-family:"Barlow Condensed",Impact,sans-serif;font-size:28px;font-weight:600;color:var(--saf-red);line-height:1}
.saf-hx--ledger .saf-hx__ic{width:58px;height:58px}
.saf-hx__ar{color:var(--saf-mute);font-size:18px}

/* 2 · flags — флаги штатов */
.saf-hx--flags ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px}
.saf-hx--flags img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--saf-line);margin-bottom:9px}
.saf-hx--flags .saf-hx__t{font-size:15px}
.saf-hx--flags .saf-hx__d{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* 3 · spread — разворот: крупный кадр + столбец устройств */
.saf-hx--spread ul{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 26px}
.saf-hx--spread li.saf-hx__big{grid-row:span 6}
.saf-hx--spread li.saf-hx__big img{width:100%;aspect-ratio:16/11;object-fit:cover;margin-bottom:12px}
.saf-hx--spread li.saf-hx__big .saf-hx__t{font-size:21px}
.saf-hx--spread li:not(.saf-hx__big) a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;
  padding:9px 0;border-bottom:1px solid var(--saf-line)}
.saf-hx--spread li:not(.saf-hx__big) img{width:96px;height:64px;object-fit:cover}
.saf-hx--spread li:not(.saf-hx__big) .saf-hx__d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}

/* 4 · split — 2×2, кадр слева, текст справа, песочная подложка */
.saf-hx--split ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.saf-hx--split a{display:grid;grid-template-columns:42% minmax(0,1fr);background:var(--saf-sand);height:100%}
.saf-hx--split img{width:100%;height:100%;min-height:132px;object-fit:cover}
.saf-hx--split .saf-hx__b{padding:14px 14px 14px 16px;border-left:3px solid var(--saf-red)}

/* 5 · table — касса: знак · метод · о чём страница · ссылка */
.saf-hx__tb{width:100%;border-collapse:collapse;font-size:14.5px;margin:0}
/* каркас: .saf-prose table{min-width:460px}, рамки ячеек и зебра .saf-body — для кассы не нужны */
.saf-body .saf-prose table.saf-hx__tb{min-width:0;margin:0;background:none;font-size:14.5px}
.saf-body .saf-prose .saf-hx__tb th,.saf-body .saf-prose .saf-hx__tb td{border:0;border-bottom:1px solid var(--saf-line);background:none}
.saf-body .saf-prose .saf-hx__tb th{border-bottom:2px solid var(--saf-ink)}
.saf-hx__tb th{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:600;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--saf-mute);text-align:left;padding:0 10px 8px;border-bottom:2px solid var(--saf-ink)}
.saf-hx__tb td{padding:11px 10px;border-bottom:1px solid var(--saf-line);vertical-align:middle;color:var(--saf-mute);line-height:1.4}
.saf-hx__tb tr:hover td{background:var(--saf-sand)}
.saf-hx__tb .saf-hx__lg{width:88px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid var(--saf-line);padding:4px 8px}
.saf-hx__tb .saf-hx__lg img{max-height:26px;width:auto;max-width:100%;object-fit:contain}
.saf-hx__m{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--saf-ink);white-space:nowrap}
.saf-hx__go{white-space:nowrap;font-weight:700;color:var(--saf-navy)!important}
.saf-hx__go:hover{color:var(--saf-red)!important}

/* 6 · art — тёмная полоса, плитки темы с иконкой */
.saf-hx--art{background:var(--saf-navy-d);color:#fff;border-top-color:var(--saf-red);padding:16px 22px 22px}
.saf-hx--art .saf-hx__k{color:#ff9aa7}
.saf-prose .saf-hx--art h3.saf-hx__h{color:#fff}
.saf-hx--art ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14)}
.saf-hx--art li{background:var(--saf-navy-d)}
.saf-hx--art a{display:block;padding:16px 16px 18px;height:100%}
.saf-hx--art a:hover{background:var(--saf-navy)}
.saf-hx--art .saf-hx__ic{width:46px;height:46px;background:var(--saf-red);margin-bottom:12px}
.saf-hx--art .saf-hx__t{color:#fff}
.saf-hx--art a:hover .saf-hx__t{color:#fff;text-decoration:underline}
.saf-hx--art .saf-hx__d{color:#c6d1df}

/* 7 · steps — ведущий кадр + пронумерованные шаги */
.saf-hx--steps .saf-hx__wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px;align-items:start}
.saf-hx--steps .saf-hx__lead img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:12px}
.saf-hx--steps .saf-hx__lead .saf-hx__t{font-size:20px}
.saf-hx--steps ol{counter-reset:sx}
.saf-hx--steps ol a{display:grid;grid-template-columns:34px 76px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;
  border-bottom:1px solid var(--saf-line)}
.saf-hx--steps ol li:first-child a{padding-top:0}
.saf-hx__no{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--saf-ink);color:#fff;
  font-family:"Barlow Condensed",Impact,sans-serif;font-size:19px;font-weight:600}
.saf-hx--steps ol .saf-hx__ic{width:76px;height:76px;background:var(--saf-sand);color:var(--saf-navy)}
.saf-hx--steps ol a:hover .saf-hx__ic{background:var(--saf-navy);color:#fff}

/* 8 · ill — плитки-иллюстрации бонусов */
.saf-hx--ill ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.saf-hx--ill a{display:block;border:1px solid var(--saf-line);height:100%;background:#fff}
.saf-hx--ill img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--saf-line)}
.saf-hx--ill .saf-hx__b{display:block;padding:12px 14px 14px}
.saf-hx--ill a:hover{border-color:var(--saf-ink)}

/* 9 · photo — фото-сетка игр, название на плашке поверх кадра */
.saf-hx--photo ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.saf-hx--photo .saf-hx__f{position:relative;display:block;margin-bottom:8px}
.saf-hx--photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.saf-hx--photo .saf-hx__f .saf-hx__t{position:absolute;left:0;bottom:0;background:var(--saf-ink);color:#fff;
  padding:5px 9px;font-size:14px;font-weight:800}
.saf-hx--photo a:hover .saf-hx__f .saf-hx__t{background:var(--saf-red);color:#fff}
.saf-hx--photo .saf-hx__d{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* 10 · wall — стена знаков студий */
.saf-hx--wall ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--saf-line);
  border-left:1px solid var(--saf-line)}
.saf-hx--wall li{border-right:1px solid var(--saf-line);border-bottom:1px solid var(--saf-line)}
.saf-hx--wall a{display:block;padding:16px 16px 18px;height:100%}
.saf-hx--wall a:hover{background:var(--saf-sand)}
.saf-hx--wall .saf-hx__lg{height:62px;display:flex;align-items:center;margin-bottom:10px}
.saf-hx--wall .saf-hx__lg img{max-height:54px;max-width:170px;width:auto;object-fit:contain}
.saf-hx--wall .saf-hx__d{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 11 · mosaic — спорт, кадры без текста, подпись поверх */
.saf-hx--mosaic ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:150px;gap:6px}
.saf-hx--mosaic li.saf-hx__big{grid-column:span 2;grid-row:span 2}
.saf-hx--mosaic li:last-child:not(.saf-hx__big){grid-column:1/-1}
.saf-hx--mosaic a{position:relative;display:block;height:100%;overflow:hidden;background:var(--saf-ink)}
.saf-hx--mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.saf-hx--mosaic a:hover img{transform:scale(1.04)}
.saf-hx--mosaic .saf-hx__b{position:absolute;left:0;right:0;bottom:0;padding:26px 11px 9px;
  background:linear-gradient(transparent,rgba(12,17,22,.9))}
.saf-hx--mosaic .saf-hx__t{color:#fff;font-size:15px}
.saf-hx--mosaic a:hover .saf-hx__t{color:#fff}
.saf-hx--mosaic .saf-hx__d{color:#dfe5ec;font-size:12.5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.saf-hx--mosaic li.saf-hx__big .saf-hx__t{font-size:21px}
.saf-hx--mosaic li.saf-hx__big .saf-hx__d{-webkit-line-clamp:2;font-size:14px}

@media (max-width:860px){
  .saf-hx--flags ul,.saf-hx--photo ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .saf-hx--mosaic ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .saf-prose .saf-hx h2{font-size:28px}
  .saf-prose .saf-hx h3.saf-hx__h{font-size:23px}
  .saf-hx--flags ul,.saf-hx--photo ul,.saf-hx--ill ul,.saf-hx--wall ul,.saf-hx--art ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .saf-hx--spread ul,.saf-hx--split ul,.saf-hx--steps .saf-hx__wrap{grid-template-columns:minmax(0,1fr)}
  .saf-hx--spread li.saf-hx__big{grid-row:auto;margin-bottom:6px}
  .saf-hx--split a{grid-template-columns:38% minmax(0,1fr)}
  .saf-hx--ledger a{grid-template-columns:30px 46px minmax(0,1fr);gap:11px}
  .saf-hx--ledger .saf-hx__ic{width:46px;height:46px}
  .saf-hx--ledger .saf-hx__ar{display:none}
  .saf-hx--art{padding:14px 14px 16px}
  .saf-hx--art a{padding:13px 12px 14px}
  .saf-hx--mosaic ul{grid-auto-rows:128px}
  .saf-hx__tb,.saf-hx__tb tbody{display:block;width:100%}
  .saf-hx__tb thead{display:none}
  .saf-hx__tb tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 0;border-bottom:1px solid var(--saf-line)}
  .saf-body .saf-prose .saf-hx__tb td{padding:0;border:0}
  .saf-hx__tb tr{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .saf-hx__tb td.saf-hx__c{grid-column:1 / -1;order:3;font-size:13.5px}
  .saf-hx__tb td:last-child{grid-column:1 / -1;order:4}
  .saf-hx--wall li:last-child:nth-child(odd){grid-column:1 / -1}
  .saf-hx__all{text-align:left}
}
@media (max-width:420px){
  .saf-hx--photo ul,.saf-hx--flags ul{gap:14px 10px}
  .saf-hx--wall .saf-hx__lg img{max-width:130px}
}
