/* casinostown.com — этап 08b: главная-портал. Хабы .cst-pt (9 форм) + адаптация старых блоков главной. */
.text-section:has(.cst-pt){max-width:none;margin-right:0}
#article .cst-pt,#article .cst-pt *{-webkit-text-fill-color:currentColor}
@media (max-width:760px){
  body main:has(.cst-pt){margin:0;max-width:none;padding:0 16px}
  body main:has(.cst-pt) .main-wrapper{margin:0;max-width:none}
}

/* ── общее для хабов */
.cst-pt{margin:36px 0 40px;font-family:cstUi,Ubuntu,system-ui,sans-serif;color:var(--cst-ink)}
.cst-pt *,.cst-pt *:before,.cst-pt *:after{box-sizing:border-box}
.cst-pt .cst-pt__h{font-family:cstDisp,Impact,sans-serif;font-weight:400;font-size:30px;line-height:1.05;letter-spacing:.02em;
  margin:0 0 6px;padding:0;color:var(--cst-ink);text-transform:uppercase}
.cst-pt .cst-pt__h:before{content:"";display:inline-block;width:22px;height:6px;border-radius:3px;background:var(--cst-brand);
  margin:0 10px 6px 0;vertical-align:middle}
.cst-pt p{font-family:cstUi,Ubuntu,system-ui,sans-serif}
.cst-pt .cst-pt__s{margin:0 0 16px;font-size:14px;color:var(--cst-ink-2)}
.cst-pt__h+.cst-pt__g,.cst-pt__h+.cst-pt__tk{margin-top:16px}
.cst-pt__g{display:grid;gap:14px}
.cst-pt a.cst-pt__c{display:flex;text-decoration:none;color:var(--cst-ink);background:#fff;border:1px solid var(--cst-line);
  border-radius:var(--cst-r);overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s;min-width:0}
.cst-pt a.cst-pt__c:hover{border-color:var(--cst-brand);box-shadow:0 6px 18px rgba(35,24,15,.10);transform:translateY(-1px)}
.cst-pt a.cst-pt__c:focus-visible{outline:3px solid var(--cst-gold);outline-offset:2px}
.cst-pt__m{display:block;flex:none;overflow:hidden;background:var(--cst-line-2)}
.cst-pt__m img{display:block;width:100%;height:100%;object-fit:cover;margin:0;max-width:none;border-radius:0}
.cst-pt__body{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;min-width:0}
.cst-pt__t{display:block;font-weight:700;font-size:16px;line-height:1.25}
.cst-pt__f{display:block;font-size:13.5px;line-height:1.4;color:var(--cst-ink-2)}
.cst-pt a.cst-pt__c:hover .cst-pt__t{color:var(--cst-brand-dk)}
.cst-pt__tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:linear-gradient(140deg,#f6ead6,#efdcc0);color:var(--cst-euca)}
.cst-pt__tile b{font-family:cstDisp,Impact,sans-serif;font-weight:400;font-size:20px;letter-spacing:.04em;color:var(--cst-brand-dk);line-height:1}
.cst-pt__ic{width:30px;height:30px}
.cst-pt a.cst-pt__all{display:inline-block;margin-top:14px;font-weight:700;color:var(--cst-brand-dk);text-decoration:none;
  border-bottom:2px solid var(--cst-gold);padding-bottom:1px}
.cst-pt a.cst-pt__all:hover{color:var(--cst-brand)}

/* 1 ── купоны бонусов */
.cst-pt--coupon .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr))}
.cst-pt--coupon a.cst-pt__c{align-items:stretch;min-height:96px}
.cst-pt--coupon .cst-pt__m{width:110px}
.cst-pt--coupon .cst-pt__body{flex:1}
.cst-pt__stub{flex:none;width:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border-left:2px dashed var(--cst-line);background:#fdf8ef;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--cst-ink-2);position:relative}
.cst-pt__stub:before,.cst-pt__stub:after{content:"";position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;
  background:var(--cst-sand);border:1px solid var(--cst-line)}
.cst-pt__stub:before{top:-9px}.cst-pt__stub:after{bottom:-9px}
.cst-pt__stub b{font-family:cstDisp,Impact,sans-serif;font-weight:400;font-size:34px;line-height:1;color:var(--cst-brand);letter-spacing:.02em}

/* 2 ── типы: крупная карточка + список */
.cst-pt--feature .cst-pt__g{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-auto-flow:dense;gap:10px 18px}
.cst-pt--feature a.cst-pt__c{align-items:center}
.cst-pt--feature .cst-pt__m{width:84px;height:56px;margin:8px 0 8px 8px;border-radius:9px}
.cst-pt--feature .cst-pt__tile .cst-pt__ic{width:22px;height:22px}
.cst-pt--feature .cst-pt__tile b{font-size:13px}
.cst-pt--feature .cst-pt__body{padding:8px 12px}
.cst-pt--feature a.cst-pt__c--lead{grid-column:1;grid-row:1 / span 7;flex-direction:column;align-items:stretch}
.cst-pt--feature .cst-pt__c--lead .cst-pt__m{width:auto;height:auto;flex:1;min-height:240px;margin:0;border-radius:0}
.cst-pt--feature .cst-pt__c--lead .cst-pt__body{padding:18px 20px;flex:none;background:var(--cst-euca);color:#fff}
.cst-pt--feature .cst-pt__c--lead .cst-pt__t{font-size:22px;color:#fff}
.cst-pt--feature .cst-pt__c--lead .cst-pt__f{color:#e3efe9;font-size:15px}
.cst-pt--feature a.cst-pt__c--lead:hover .cst-pt__t{color:#fff}

/* 3 ── устройства: рамки телефонов */
.cst-pt--phone .cst-pt__g{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.cst-pt--phone a.cst-pt__c{flex-direction:column;background:none;border:0;border-radius:0;overflow:visible;gap:10px}
.cst-pt--phone a.cst-pt__c:hover{box-shadow:none}
.cst-pt__scr{display:block;border:7px solid var(--cst-ink);border-top-width:16px;border-bottom-width:18px;border-radius:24px;
  overflow:hidden;aspect-ratio:9/15;background:var(--cst-ink);position:relative}
.cst-pt__scr:before{content:"";position:absolute;top:-10px;left:50%;width:30%;height:4px;margin-left:-15%;border-radius:2px;background:#5d4d3c}
.cst-pt--phone .cst-pt__m{width:100%;height:100%;border-radius:4px}
.cst-pt--phone a.cst-pt__c:hover .cst-pt__scr{border-color:var(--cst-brand-dk)}
.cst-pt--phone .cst-pt__t{font-size:15px;text-align:center}
.cst-pt--phone .cst-pt__f{text-align:center;font-size:13px;margin-top:2px}

/* 4 ── лестница минимального депозита */
.cst-pt--ladder .cst-pt__g{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;
  padding-bottom:14px;border-bottom:4px solid var(--cst-ink)}
.cst-pt--ladder a.cst-pt__c{flex-direction:column;position:relative;padding-bottom:12px}
.cst-pt--ladder .cst-pt__m{width:100%;aspect-ratio:16/10}
.cst-pt--ladder .cst-pt__t{padding:10px 12px 2px;font-size:15px}
.cst-pt--ladder .cst-pt__f{padding:0 12px}
.cst-pt__step{position:absolute;top:10px;left:10px;z-index:1;background:var(--cst-brand);color:#fff;border-radius:8px;padding:4px 9px 2px;
  font-family:cstDisp,Impact,sans-serif;font-size:24px;line-height:1;letter-spacing:.03em;box-shadow:0 2px 0 var(--cst-brand-dk)}
.cst-pt--ladder .cst-pt__c--s1{margin-bottom:0}.cst-pt--ladder .cst-pt__c--s2{margin-bottom:18px}
.cst-pt--ladder .cst-pt__c--s3{margin-bottom:36px}.cst-pt--ladder .cst-pt__c--s4{margin-bottom:54px}
.cst-pt--ladder .cst-pt__c--s5{margin-bottom:72px}
.cst-pt--ladder .cst-pt__c--s5 .cst-pt__step{background:var(--cst-gold);color:var(--cst-ink);box-shadow:0 2px 0 #a8731c}

/* 5 ── право и справка: лист-оглавление */
.cst-pt--docs .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;background:#fff;border:1px solid var(--cst-line);
  border-radius:var(--cst-r);padding:8px 22px;
  background-image:linear-gradient(90deg,transparent calc(50% - .5px),var(--cst-line-2) calc(50% - .5px),var(--cst-line-2) calc(50% + .5px),transparent calc(50% + .5px))}
.cst-pt--docs a.cst-pt__c{border:0;border-bottom:1px dashed var(--cst-line);border-radius:0;align-items:center;background:none;padding:10px 0}
.cst-pt--docs a.cst-pt__c:hover{box-shadow:none;transform:none}
.cst-pt--docs a.cst-pt__c:nth-last-child(-n+2){border-bottom:0}
.cst-pt--docs .cst-pt__m{width:46px;height:46px;border-radius:12px}
.cst-pt--docs .cst-pt__tile{background:#e6efe9;color:var(--cst-euca)}
.cst-pt--docs .cst-pt__tile b{display:none}
.cst-pt--docs .cst-pt__ic{width:24px;height:24px}
.cst-pt--docs .cst-pt__body{padding:0 0 0 14px}
.cst-pt--docs .cst-pt__t{font-size:15.5px}

/* 6 ── платёжки: кошелёк */
.cst-pt--wallet .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cst-pt--wallet a.cst-pt__c{align-items:center;padding:10px;border-left:5px solid var(--cst-euca)}
.cst-pt__logo{background:#fff;display:flex;align-items:center;justify-content:center}
.cst-pt .cst-pt__logo img{width:100%;height:100%;max-width:100%;object-fit:contain}
.cst-pt--wallet .cst-pt__logo{width:132px;height:70px;padding:9px 14px;border-radius:10px;border:1px solid var(--cst-line-2);background:#fbf8f2}

/* 7 ── live-студия */
.cst-pt--studio{background:var(--cst-ink);border-radius:calc(var(--cst-r) + 4px);padding:24px 24px 26px;color:#f6efe2}
#article .cst-pt--studio .cst-pt__h{color:#fff;-webkit-text-fill-color:#fff}
.cst-pt--studio .cst-pt__g{grid-template-columns:repeat(3,minmax(0,1fr))}
.cst-pt--studio a.cst-pt__c{flex-direction:column;background:#33251a;border-color:#4a3828;color:#f6efe2;position:relative}
.cst-pt--studio a.cst-pt__c:hover{border-color:var(--cst-gold)}
.cst-pt--studio .cst-pt__m{width:100%;aspect-ratio:16/10}
#article .cst-pt--studio .cst-pt__t{padding:12px 14px 2px;color:#fff;-webkit-text-fill-color:#fff}
#article .cst-pt--studio a.cst-pt__c:hover .cst-pt__t{color:var(--cst-gold);-webkit-text-fill-color:var(--cst-gold)}
#article .cst-pt--studio .cst-pt__f{padding:0 14px 14px;color:#d9ccb7;-webkit-text-fill-color:#d9ccb7}
.cst-pt__live{-webkit-text-fill-color:#fff!important;position:absolute;top:10px;right:10px;background:rgba(20,13,8,.78);color:#fff;font-size:11px;font-weight:700;
  letter-spacing:.12em;border-radius:20px;padding:4px 10px 4px 22px}
.cst-pt__live:before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;
  background:#e5342b;box-shadow:0 0 0 3px rgba(229,52,43,.3)}

/* 8 ── игры: две доски + билеты */
.cst-pt--boards>.cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cst-pt__board{background:#fff;border:1px solid var(--cst-line);border-radius:var(--cst-r);padding:6px 16px 10px}
.cst-pt .cst-pt__bt{font-family:cstDisp,Impact,sans-serif;font-size:22px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--cst-euca);margin:8px 0 6px;padding:0}
.cst-pt .cst-pt__bt--tk{margin-top:26px}
.cst-pt__board a.cst-pt__c{border:0;border-top:1px solid var(--cst-line-2);border-radius:0;align-items:center;padding:9px 0}
.cst-pt__board a.cst-pt__c:hover{box-shadow:none;transform:none}
.cst-pt__board .cst-pt__m{width:92px;height:58px;border-radius:8px}
.cst-pt__board .cst-pt__body{padding:0 0 0 14px}
.cst-pt__tk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.cst-pt__tk a.cst-pt__c{flex-direction:column;border-style:dashed;position:relative}
.cst-pt__tk .cst-pt__tile{flex-direction:row;justify-content:flex-start;gap:7px;padding:7px 11px;
  background:linear-gradient(90deg,#2c5d4f,#1f4438);color:#cfe3da;border-bottom:2px dashed var(--cst-sand)}
.cst-pt__tk .cst-pt__tile b{font-family:cstUi,Ubuntu,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e9f2ee}
.cst-pt__tk .cst-pt__ic{width:18px;height:18px}
.cst-pt__tk .cst-pt__body{padding:9px 11px 11px;gap:2px;justify-content:flex-start}
.cst-pt__tk .cst-pt__t{font-size:14.5px}
.cst-pt__rtp{font-family:cstDisp,Impact,sans-serif;font-size:20px;letter-spacing:.03em;color:var(--cst-brand);line-height:1.05}
.cst-pt__tk .cst-pt__f{font-size:12.5px}

/* 9 ── стена провайдеров */
.cst-pt--wall .cst-pt__g{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.cst-pt--wall a.cst-pt__c{flex-direction:column;align-items:stretch;text-align:center}
.cst-pt--wall .cst-pt__logo{width:100%;aspect-ratio:16/9;padding:14% 13%;border-bottom:1px solid var(--cst-line-2);background:#fbf8f2}
.cst-pt--wall .cst-pt__logo--shot{padding:0}
.cst-pt--wall .cst-pt__logo--shot img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover}
.cst-pt--wall .cst-pt__t{padding:10px 8px 0;font-size:15px}
.cst-pt--wall .cst-pt__f{padding:2px 8px 12px;font-size:12.5px}

/* ── планшет и телефон */
@media (max-width:1024px){
  .cst-pt--phone .cst-pt__g{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cst-pt__tk{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cst-pt--wall .cst-pt__g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cst-pt--ladder .cst-pt__g{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cst-pt--ladder a.cst-pt__c{margin-bottom:0!important}
}
@media (max-width:760px){
  .cst-pt{margin:28px 0 30px}
  .cst-pt .cst-pt__h{font-size:25px}
  .cst-pt--coupon .cst-pt__g,.cst-pt--docs .cst-pt__g,.cst-pt--wallet .cst-pt__g,.cst-pt--boards>.cst-pt__g,
  .cst-pt--feature .cst-pt__g,.cst-pt--studio .cst-pt__g{grid-template-columns:minmax(0,1fr)}
  .cst-pt--feature a.cst-pt__c--lead{grid-row:auto}
  .cst-pt--feature .cst-pt__c--lead .cst-pt__m{min-height:0;aspect-ratio:16/9}
  .cst-pt--docs .cst-pt__g{background-image:none;padding:4px 14px}
  .cst-pt--docs a.cst-pt__c:nth-last-child(2){border-bottom:1px dashed var(--cst-line)}
  .cst-pt--coupon .cst-pt__m{width:84px}
  .cst-pt__stub{width:78px}.cst-pt__stub b{font-size:28px}
  .cst-pt--phone .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
  .cst-pt--ladder .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cst-pt--studio{padding:18px 14px 20px;margin-left:-4px;margin-right:-4px}
  .cst-pt__tk,.cst-pt--wall .cst-pt__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cst-pt--wallet .cst-pt__logo{width:104px;height:58px}
}

/* ── адаптация старых блоков главной (донорские виджеты; текст и ссылки не меняются) */
/* сетки виджетов: карточки заполняют ячейку */
#article .widget-container>.casino-wrapper{width:auto!important;max-width:none!important;min-width:0}
#article .widget-2-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:16px}
#article .widget-2-cards .card-wrapper-in{width:100%}

/* проданные карточки без логотипа: строка оценок под названием, а не поверх него */
#article .card-casino:not(:has(.card-top-item)) .card-top-title{margin-top:46px}
#article .card-casino:not(:has(.card-top-item)) .rating-list{top:88px!important}

/* карточки игр */
#article .games-3-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px}
#article .card-game{background:#fff;border:1px solid var(--cst-line);border-radius:var(--cst-r);overflow:hidden}
#article .card-game .card-game-top,#article .card-game .card-game-bottom,#article .card-game .game-img,
#article .card-game .game-img img,#article .card-game .game-block-buttons,#article .card-game .demo-block-description,
#article .card-game .card-game-bottom>*{width:auto!important;max-width:none}
#article .card-game .game-img img{width:100%!important;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
#article .card-game .game-block-buttons{display:flex;flex-direction:column;gap:6px;padding:12px 12px 4px}
#article .card-game .demo-link-button{display:block;width:100%!important;height:auto!important;min-height:0;border-radius:10px!important;
  padding:9px 12px!important;font-size:14px;line-height:1.2;text-align:center;white-space:normal;aspect-ratio:auto}
#article .card-game .button-cherry{background:var(--cst-cta);color:#fff;-webkit-text-fill-color:#fff}
#article .card-game .frame-button{background:#fff!important;color:var(--cst-euca-dk)!important;-webkit-text-fill-color:var(--cst-euca-dk)!important;border:1.5px solid var(--cst-euca)!important}
#article .card-game .casino-title{margin:2px 0 0;font-size:12.5px;color:var(--cst-ink-2);text-align:center;white-space:normal}
#article .card-game .card-game-bottom{padding:6px 12px 12px;gap:2px}
#article .card-game .name{font-weight:700;font-size:15px;color:var(--cst-ink)}
#article .card-game .provider{margin:0;font-size:12.5px;color:var(--cst-ink-2)}
#article .widget-games,#article .widget-list:has(.games-3-cards){border-color:var(--cst-line)!important;background:#fdf9f2}

/* карточки чёрного списка */
#article .widget-3-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px}
#article .card-blacklisted{height:auto!important;min-height:0;overflow:visible;border:1px solid var(--cst-line);border-top:4px solid #a3291b;border-radius:var(--cst-r);background:#fff;padding:14px}
#article .card-blacklisted>*{width:auto!important;max-width:none}
#article .card-blacklisted .card-top-link{width:auto!important}
#article .card-blacklisted .card-top-link img{max-height:44px;width:auto;max-width:160px}
#article .card-blacklisted .card-middle,#article .card-blacklisted .card-middle-text{display:block!important;-webkit-line-clamp:unset!important;height:auto!important;max-height:none!important;overflow:visible!important}
#article .card-blacklisted .card-middle-text{display:block!important;-webkit-line-clamp:unset!important;font-size:14px;line-height:1.45;color:var(--cst-ink-2);max-height:none;overflow:visible}
#article .card-blacklisted .card-footer{margin-top:10px;height:auto}
#article .card-blacklisted .review-link{display:inline-block;width:auto!important;height:auto!important;padding:8px 16px;border-radius:10px;
  background:var(--cst-ink);color:#fff;-webkit-text-fill-color:#fff;font-size:14px}

/* таблицы и рамки донорских блоков — в палитру скина */
#article table{border-color:var(--cst-line)}
#article table th,#article table thead td{background:var(--cst-euca)!important;color:#fff;-webkit-text-fill-color:#fff;border-color:var(--cst-euca-dk)}
#article table td{border-color:var(--cst-line-2)}
#article table tr:nth-child(even) td{background:#fdf8ef}
#article .guide-item,#article .widget-list,#article .widget-games{border-color:var(--cst-line)!important}

@media (max-width:760px){
  #article .games-3-cards,#article .widget-3-cards{grid-template-columns:minmax(0,1fr)!important}
  #article .widget-2-cards{grid-template-columns:minmax(0,1fr)!important}
  #article .card-game{display:grid;grid-template-columns:120px minmax(0,1fr)}
  #article .card-game .card-game-top{display:contents}
  #article .card-game .game-img{grid-row:1 / span 2}
  #article .card-game .game-img img{height:100%}
}
