/* =============================================
   Casino Kartac CZ — Site 1 Stylesheet
   Gold & Dark theme · CSS Grid + Flexbox
   CSS prefix: kc-
   ============================================= */

/* ---- Reset & Base ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Open Sans',sans-serif;background:#0E0C08;color:#E8E0D0;line-height:1.65;overflow-x:hidden}
body.nav-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#C9A84C;text-decoration:none;transition:color .25s}
a:hover{color:#E8CC80}
ul{list-style:none}
table{border-collapse:collapse;width:100%}

/* ---- Container ---- */
.kc-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}

/* ---- Typography ---- */
h1,h2,h3,h4{font-weight:700;line-height:1.2}
h1{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.8vw,2.9rem);margin-bottom:.6em}
h2{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:.5em;color:#C9A84C}
h3{font-size:clamp(1.2rem,2.2vw,1.6rem);margin-bottom:.5em;color:#E8CC80}
.kc-lead{color:#A09080;max-width:800px;margin-bottom:2rem;font-size:1rem}

/* ---- Buttons ---- */
.kc-btn{display:inline-block;padding:13px 30px;background:linear-gradient(135deg,#C9A84C,#8B6914);color:#0E0C08;font-weight:700;font-size:.92rem;border-radius:6px;border:none;cursor:pointer;transition:filter .25s,transform .15s,box-shadow .25s;text-align:center;text-decoration:none}
.kc-btn:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,168,76,.35);color:#0E0C08}
.kc-btn--sm{padding:10px 22px;font-size:.82rem}
.kc-btn--outline{background:transparent;border:2px solid #C9A84C;color:#C9A84C;padding:11px 28px}
.kc-btn--outline:hover{background:#C9A84C;color:#0E0C08}

/* ---- Promo Top Bar ---- */
.kc-topbar{background:linear-gradient(90deg,#8B6914,#C9A84C,#8B6914);color:#0E0C08;text-align:center;padding:9px 40px;font-size:.82rem;font-weight:700;position:relative}
.kc-topbar a{color:#0E0C08}
.kc-topbar__close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:#0E0C08;line-height:1;padding:4px}

/* ---- Header ---- */
.kc-header{position:sticky;top:0;z-index:100;background:rgba(14,12,8,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.15);transition:transform .3s,box-shadow .3s}
.kc-header.is-scrolled{box-shadow:0 2px 24px rgba(0,0,0,.6)}
.kc-header.is-hidden{transform:translateY(-100%)}
.kc-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;height:66px}
.kc-logo img{height:44px;width:auto}
.kc-nav ul{display:flex;gap:26px;justify-content:center;list-style:none}
.kc-nav a{color:#C9A84C;font-size:.88rem;font-weight:600;text-decoration:none;position:relative;transition:color .2s}
.kc-nav a:hover{color:#fff}
.kc-nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#C9A84C;transition:width .25s}
.kc-nav a:hover::after{width:100%}
.kc-header__cta{display:flex;align-items:center;gap:10px}
.kc-burger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px}
.kc-burger span{display:block;width:24px;height:2px;background:#C9A84C;border-radius:2px;transition:transform .3s,opacity .2s}
.kc-burger.is-active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.kc-burger.is-active span:nth-child(2){opacity:0}
.kc-burger.is-active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---- TOC ---- */
.kc-toc{background:#1C1810;border-bottom:1px solid rgba(201,168,76,.12);padding:10px 0;overflow-x:auto}
.kc-toc__list{display:flex;gap:8px;list-style:none;flex-wrap:nowrap;white-space:nowrap}
.kc-toc__list a{color:#A09080;font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:20px;border:1px solid rgba(201,168,76,.2);transition:all .2s;text-decoration:none}
.kc-toc__list a:hover{background:rgba(201,168,76,.1);color:#C9A84C;border-color:#C9A84C}

/* ---- Hero ---- */
.kc-hero{padding:72px 0 56px}
.kc-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.kc-hero__text h1{color:#C9A84C}
.kc-hero__text p{color:#A09080;margin-bottom:1.8rem;font-size:1rem}
.kc-hero__img img{border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.5);width:100%}

/* ---- Segments ---- */
.kc-segment{padding:72px 0}
.kc-segment--alt{background:#12100A}

/* ---- Steps ---- */
.kc-steps{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:2rem}
.kc-steps--horizontal{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.kc-step-item{display:flex;align-items:flex-start;gap:16px;background:#1C1810;border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:20px 22px;transition:border-color .25s,transform .25s}
.kc-step-item:hover{border-color:rgba(201,168,76,.4);transform:translateY(-2px)}
.kc-step-num{flex-shrink:0;width:38px;height:38px;background:linear-gradient(135deg,#C9A84C,#8B6914);color:#0E0C08;font-weight:800;font-size:1rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.kc-step-body strong{display:block;color:#E8CC80;margin-bottom:.3em;font-size:.95rem}
.kc-step-body p{color:#A09080;font-size:.87rem;margin:0}

/* ---- Category Cards ---- */
.kc-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2rem;margin-bottom:3rem}
.kc-cat-card{border-radius:8px;overflow:hidden;background:#1C1810;border:1px solid rgba(201,168,76,.1);transition:transform .3s,border-color .3s}
.kc-cat-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.4)}
.kc-cat-card img{width:100%;height:180px;object-fit:cover}
.kc-cat-card__body{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
.kc-cat-card__label{font-weight:700;color:#E8CC80;font-size:.95rem}
.kc-cat-card__count{color:#A09080;font-size:.82rem}

/* ---- Sub-section ---- */
.kc-subsection{margin-top:3rem}
.kc-subsection h3{margin-bottom:.8rem}

/* ---- Game Grid (slots) ---- */
.kc-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1.5rem}
.kc-game-card{border-radius:6px;overflow:hidden;background:#1C1810;border:1px solid rgba(201,168,76,.08);text-align:center;transition:transform .25s,border-color .25s}
.kc-game-card:hover{transform:translateY(-3px);border-color:rgba(201,168,76,.35)}
.kc-game-card img{width:100%;height:120px;object-fit:cover}
.kc-game-card span{display:block;padding:8px;font-size:.78rem;color:#A09080;font-weight:600}

/* ---- Live & Table Grid ---- */
.kc-live-grid,.kc-table-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:1.5rem}
.kc-live-card,.kc-table-card{border-radius:6px;overflow:hidden;background:#1C1810;border:1px solid rgba(201,168,76,.08);text-align:center;transition:transform .25s,border-color .25s}
.kc-live-card:hover,.kc-table-card:hover{transform:translateY(-3px);border-color:rgba(201,168,76,.35)}
.kc-live-card img,.kc-table-card img{width:100%;height:140px;object-fit:cover}
.kc-live-card span,.kc-table-card span{display:block;padding:10px;font-size:.82rem;color:#A09080;font-weight:600}

/* ---- Split Layout ---- */
.kc-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.kc-split__img img{border-radius:8px;width:100%}
.kc-split__text h2{color:#C9A84C}
.kc-split__text p{color:#A09080;margin-bottom:1.5rem}

/* ---- Payment Bar ---- */
.kc-payment-bar{display:flex;gap:12px;flex-wrap:wrap;margin:1.5rem 0 2rem}
.kc-pay-icon{background:#fff;border-radius:6px;padding:4px 8px;display:flex;align-items:center;justify-content:center;height:44px;max-width:80px}
.kc-pay-icon img{height:36px;max-width:72px;object-fit:contain}

/* ---- Tables ---- */
.kc-table-responsive{overflow-x:auto;margin-top:1rem}
.kc-table{width:100%;border-collapse:collapse}
.kc-table th{background:#1C1810;color:#C9A84C;font-weight:700;padding:12px 16px;text-align:left;font-size:.88rem;border-bottom:2px solid rgba(201,168,76,.2)}
.kc-table td{padding:11px 16px;border-bottom:1px solid rgba(201,168,76,.08);font-size:.87rem;color:#B8A898}
.kc-table tr:hover td{background:rgba(201,168,76,.04)}

/* ---- Bonus Row ---- */
.kc-bonus-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:1.5rem}
.kc-bonus-card{border-radius:8px;overflow:hidden;background:#1C1810;border:1px solid rgba(201,168,76,.1);transition:transform .3s,border-color .3s}
.kc-bonus-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.4)}
.kc-bonus-card img{width:100%;height:160px;object-fit:cover}
.kc-bonus-card__body{padding:14px 16px}
.kc-bonus-card__body strong{display:block;color:#E8CC80;margin-bottom:.3em}
.kc-bonus-card__body span{color:#C9A84C;font-size:.9rem;font-weight:600}

/* ---- Single Bonus ---- */
.kc-single-bonus{display:flex;gap:24px;align-items:center;background:#1C1810;border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:24px;margin-top:1.5rem}
.kc-single-bonus img{border-radius:6px;flex-shrink:0}
.kc-single-bonus__text strong{display:block;color:#E8CC80;font-size:1.05rem;margin-bottom:.4em}
.kc-single-bonus__text p{color:#A09080;margin-bottom:1rem;font-size:.9rem}

/* ---- FAQ ---- */
.kc-faq{display:flex;flex-direction:column;gap:10px;margin-top:1.5rem}
.kc-faq-item{background:#1C1810;border:1px solid rgba(201,168,76,.12);border-radius:8px;overflow:hidden}
.kc-faq-q{width:100%;background:none;border:none;color:#E8CC80;font-size:.95rem;font-weight:600;padding:18px 20px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:color .2s}
.kc-faq-q::after{content:'+';font-size:1.3rem;flex-shrink:0;transition:transform .3s;color:#C9A84C}
.kc-faq-item.is-open .kc-faq-q::after{transform:rotate(45deg)}
.kc-faq-a{display:none;padding:0 20px 18px}
.kc-faq-item.is-open .kc-faq-a{display:block}
.kc-faq-a p{color:#A09080;font-size:.9rem}

/* ---- Author ---- */
.kc-author-section{background:#0A0806;padding:48px 0;border-top:1px solid rgba(201,168,76,.1)}
.kc-author-card{display:flex;gap:20px;align-items:flex-start;background:#1C1810;border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:28px}
.kc-author-card__img{width:80px;height:80px;border-radius:50%;flex-shrink:0;object-fit:cover;border:2px solid #C9A84C}
.kc-author-card__bio{flex:1}
.kc-author-card__name{display:block;font-weight:700;color:#E8CC80;font-size:1rem;margin-bottom:.2em}
.kc-author-card__role{display:block;color:#8B6914;font-size:.82rem;margin-bottom:.6em}
.kc-author-card__bio p{color:#A09080;font-size:.88rem}

/* ---- Footer ---- */
.kc-footer{background:#0A0806;padding:56px 0 24px;border-top:1px solid rgba(201,168,76,.1)}
.kc-footer__grid{display:grid;grid-template-columns:2fr 1fr 2fr;gap:40px;margin-bottom:40px}
.kc-footer__brand img{margin-bottom:12px}
.kc-footer__brand p{color:#706050;font-size:.85rem}
.kc-footer__links h4,.kc-footer__responsible h4{color:#C9A84C;margin-bottom:12px;font-size:.9rem}
.kc-footer__links ul{list-style:none}
.kc-footer__links li{margin-bottom:8px}
.kc-footer__links a{color:#706050;font-size:.85rem;transition:color .2s}
.kc-footer__links a:hover{color:#C9A84C}
.kc-footer__responsible p{color:#706050;font-size:.85rem;margin-bottom:12px}
.kc-age-badge{display:inline-block;background:#8B0000;color:#fff;font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:4px}
.kc-footer__bottom{border-top:1px solid rgba(201,168,76,.08);padding-top:20px}
.kc-disclaimer{color:#504030;font-size:.78rem;margin-bottom:.5em}
.kc-copyright{color:#504030;font-size:.75rem}

/* ---- Fixed Promo ---- */
.kc-promo-fixed{position:fixed;bottom:0;left:0;right:0;z-index:200;background:linear-gradient(90deg,#0E0C08,#1C1810);border-top:2px solid #C9A84C;display:flex;align-items:center;gap:16px;padding:12px 24px;justify-content:center}
.kc-promo-fixed span{color:#E8CC80;font-size:.88rem;font-weight:600}
.kc-promo-fixed__close{background:none;border:none;color:#A09080;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1;margin-left:8px}
.kc-promo-fixed__close:hover{color:#fff}

/* ---- Reveal animation ---- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s}
.reveal.is-visible{opacity:1;transform:none}

/* ============================================
   RESPONSIVE — mobile-first
   ============================================ */

/* 1024px */
@media(max-width:1024px){
  .kc-hero__grid{gap:32px}
  .kc-steps--horizontal{grid-template-columns:repeat(2,1fr)}
  .kc-footer__grid{grid-template-columns:1fr 1fr;gap:28px}
  .kc-footer__responsible{grid-column:1/-1}
}

/* 768px */
@media(max-width:768px){
  .kc-nav{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(14,12,8,.97);padding:20px;border-bottom:1px solid rgba(201,168,76,.15)}
  .kc-nav.is-open{display:block}
  .kc-nav ul{flex-direction:column;gap:14px;align-items:flex-start}
  .kc-burger{display:flex}
  .kc-hero__grid{grid-template-columns:1fr}
  .kc-hero__img{order:-1}
  .kc-hero{padding:40px 0 32px}
  .kc-cat-grid{grid-template-columns:repeat(2,1fr)}
  .kc-game-grid{grid-template-columns:repeat(3,1fr)}
  .kc-live-grid,.kc-table-grid{grid-template-columns:repeat(2,1fr)}
  .kc-bonus-row{grid-template-columns:1fr}
  .kc-split{grid-template-columns:1fr}
  .kc-split__img{order:-1}
  .kc-single-bonus{flex-direction:column}
  .kc-steps--horizontal{grid-template-columns:1fr}
  .kc-footer__grid{grid-template-columns:1fr}
  .kc-author-card{flex-direction:column}
}

/* 320px */
@media(max-width:480px){
  .kc-cat-grid{grid-template-columns:1fr}
  .kc-game-grid{grid-template-columns:repeat(2,1fr)}
  .kc-live-grid,.kc-table-grid{grid-template-columns:repeat(2,1fr)}
  .kc-promo-fixed{flex-wrap:wrap;text-align:center;gap:8px}
  .kc-header__inner{grid-template-columns:auto auto}
  .kc-nav{display:none}
  .kc-nav.is-open{display:block}
}

/* 1440px+ */
@media(min-width:1440px){
  .kc-wrap{max-width:1320px}
  .kc-game-grid{grid-template-columns:repeat(6,1fr)}
}
