/* =============================================
   Lucky Fish Casino ZA — Site 1 Stylesheet
   Dark Teal & Yellow theme · CSS prefix: lf-
   Font: Rajdhani + Source Sans 3
   ============================================= */

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

/* ---- Container ---- */
.lf-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:'Rajdhani',sans-serif;font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.5em;letter-spacing:.02em}
h2{font-family:'Rajdhani',sans-serif;font-size:clamp(1.5rem,3vw,2.3rem);margin-bottom:.5em;color:#F5C400;letter-spacing:.02em}
h3{font-size:clamp(1.15rem,2.2vw,1.55rem);margin-bottom:.5em;color:#00C4B4}
.lf-intro-text{color:#5A9E96;max-width:800px;margin-bottom:2rem;font-size:1rem}

/* ---- Action Button ---- */
.lf-action-btn{display:inline-block;padding:12px 28px;background:#F5C400;color:#0A2B2A;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.04em;border-radius:4px;border:none;cursor:pointer;text-decoration:none;transition:background .25s,transform .15s,box-shadow .25s;text-align:center}
.lf-action-btn:hover{background:#FFD633;transform:translateY(-2px);box-shadow:0 4px 16px rgba(245,196,0,.4);color:#0A2B2A}

/* ---- Promo Ribbon ---- */
.lf-ribbon{background:linear-gradient(90deg,#0A2B2A,#1B4A48,#0A2B2A);color:#F5C400;text-align:center;padding:9px 40px;font-size:.82rem;font-weight:600;position:relative;border-bottom:1px solid rgba(245,196,0,.2)}
.lf-ribbon a{color:#F5C400}
.lf-ribbon__close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:#F5C400;padding:4px}

/* ---- Header ---- */
.lf-masthead{position:sticky;top:0;z-index:100;background:rgba(10,43,42,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,196,180,.12);transition:transform .3s,box-shadow .3s}
.lf-masthead.is-scrolled{box-shadow:0 2px 24px rgba(0,0,0,.6)}
.lf-masthead.is-hidden{transform:translateY(-100%)}
.lf-masthead__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;height:66px}
.lf-brand img{height:42px;width:auto}
.lf-primary-nav ul{display:flex;gap:22px;list-style:none;justify-content:center}
.lf-primary-nav a{color:#C8E8E4;font-family:'Rajdhani',sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;letter-spacing:.03em;position:relative;transition:color .2s}
.lf-primary-nav a:hover{color:#00C4B4}
.lf-primary-nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#00C4B4;transition:width .25s}
.lf-primary-nav a:hover::after{width:100%}
.lf-masthead__controls{display:flex;align-items:center;gap:10px}
.lf-nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px}
.lf-nav-toggle span{display:block;width:24px;height:2px;background:#00C4B4;border-radius:2px;transition:transform .3s,opacity .2s}
.lf-nav-toggle.is-active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.lf-nav-toggle.is-active span:nth-child(2){opacity:0}
.lf-nav-toggle.is-active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---- Contents Bar (TOC) ---- */
.lf-contents-bar{background:#081E1D;border-bottom:1px solid rgba(0,196,180,.1);padding:10px 0;overflow-x:auto}
.lf-contents-bar__list{display:flex;gap:8px;list-style:none;flex-wrap:nowrap;white-space:nowrap}
.lf-contents-bar__list a{color:#5A9E96;font-size:.77rem;font-weight:600;padding:5px 12px;border-radius:3px;border:1px solid rgba(0,196,180,.18);transition:all .2s;text-decoration:none;font-family:'Rajdhani',sans-serif;letter-spacing:.04em}
.lf-contents-bar__list a:hover{background:rgba(0,196,180,.1);color:#00C4B4;border-color:#00C4B4}

/* ---- Hero ---- */
.lf-hero-panel{padding:72px 0 56px}
.lf-hero-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lf-hero-panel__text h1{color:#F5C400}
.lf-hero-panel__text p{color:#5A9E96;margin-bottom:2rem}
.lf-hero-panel__img img{border-radius:6px;box-shadow:0 16px 48px rgba(0,0,0,.5);width:100%}

/* ---- Sections ---- */
.lf-section{padding:72px 0}
.lf-section--teal{background:#081E1D}

/* ---- Split Layout ---- */
.lf-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lf-split-layout--flipped .lf-split-layout__visual{order:2}
.lf-split-layout--flipped .lf-split-layout__copy{order:1}
.lf-split-layout__visual img{border-radius:6px;width:100%}
.lf-split-layout__copy h2{color:#F5C400}
.lf-split-layout__copy p{color:#5A9E96;margin-bottom:1.5rem}

/* ---- Sport Icons ---- */
.lf-sport-icons{display:flex;flex-wrap:wrap;gap:16px;margin:1.5rem 0 2rem}
.lf-sport-icon{display:flex;flex-direction:column;align-items:center;gap:6px;background:#0D3535;border:1px solid rgba(0,196,180,.15);border-radius:8px;padding:12px 16px;transition:border-color .25s,transform .25s;min-width:70px}
.lf-sport-icon:hover{border-color:#00C4B4;transform:translateY(-2px)}
.lf-sport-icon span{font-size:.74rem;color:#5A9E96;font-weight:600;font-family:'Rajdhani',sans-serif;letter-spacing:.04em}

/* ---- Numbered Guide ---- */
.lf-numbered-guide{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:2rem}
.lf-numbered-guide--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.lf-numbered-item{display:flex;align-items:flex-start;gap:16px;background:#0D3535;border:1px solid rgba(0,196,180,.1);border-radius:6px;padding:20px 22px;transition:border-color .25s,transform .25s}
.lf-numbered-item:hover{border-color:rgba(0,196,180,.4);transform:translateY(-2px)}
.lf-numbered-item__badge{flex-shrink:0;width:40px;height:40px;background:rgba(245,196,0,.1);border:2px solid #F5C400;color:#F5C400;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.95rem;border-radius:4px;display:flex;align-items:center;justify-content:center}
.lf-numbered-item__body strong{display:block;color:#C8E8E4;margin-bottom:.3em;font-size:.95rem}
.lf-numbered-item__body p{color:#5A9E96;font-size:.87rem;margin:0}

/* ---- Games Overview ---- */
.lf-games-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2rem;margin-bottom:3rem}
.lf-games-card{border-radius:6px;overflow:hidden;background:#0D3535;border:1px solid rgba(0,196,180,.1);transition:transform .3s,border-color .3s}
.lf-games-card:hover{transform:translateY(-4px);border-color:rgba(0,196,180,.4)}
.lf-games-card img{width:100%;height:175px;object-fit:cover}
.lf-games-card__label{padding:12px 16px;display:flex;justify-content:space-between;align-items:center}
.lf-games-card__title{font-family:'Rajdhani',sans-serif;font-weight:700;color:#C8E8E4;font-size:.95rem;letter-spacing:.03em}
.lf-games-card__count{color:#5A9E96;font-size:.8rem}

/* ---- Sub-section ---- */
.lf-games-subsec{margin-top:3rem}
.lf-games-subsec h3{margin-bottom:.8rem}

/* ---- Slots Display ---- */
.lf-slots-display{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1.5rem}
.lf-slot-item{border-radius:6px;overflow:hidden;background:#0D3535;border:1px solid rgba(0,196,180,.07);text-align:center;transition:transform .25s,border-color .25s}
.lf-slot-item:hover{transform:translateY(-3px);border-color:rgba(0,196,180,.35)}
.lf-slot-item img{width:100%;height:115px;object-fit:cover}
.lf-slot-item span{display:block;padding:8px;font-size:.75rem;color:#5A9E96;font-weight:600}

/* ---- Live Display ---- */
.lf-live-display{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:1.5rem}
.lf-live-item{border-radius:6px;overflow:hidden;background:#0D3535;border:1px solid rgba(0,196,180,.07);text-align:center;transition:transform .25s,border-color .25s}
.lf-live-item:hover{transform:translateY(-3px);border-color:rgba(245,196,0,.35)}
.lf-live-item img{width:100%;height:135px;object-fit:cover}
.lf-live-item span{display:block;padding:10px;font-size:.8rem;color:#5A9E96;font-weight:600}

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

/* ---- Info Table ---- */
.lf-tbl-wrap{overflow-x:auto;margin-top:1rem}
.lf-info-table{width:100%;border-collapse:collapse}
.lf-info-table th{background:#081E1D;color:#00C4B4;font-weight:700;padding:12px 16px;text-align:left;font-size:.87rem;border-bottom:2px solid rgba(0,196,180,.2);font-family:'Rajdhani',sans-serif;letter-spacing:.04em}
.lf-info-table td{padding:11px 16px;border-bottom:1px solid rgba(0,196,180,.06);font-size:.86rem;color:#8AB8B4}
.lf-info-table tr:hover td{background:rgba(0,196,180,.03)}

/* ---- Bonus Lineup ---- */
.lf-bonus-lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1.5rem}
.lf-bonus-entry{border-radius:6px;overflow:hidden;background:#0D3535;border:1px solid rgba(0,196,180,.1);transition:transform .3s,border-color .3s}
.lf-bonus-entry:hover{transform:translateY(-4px);border-color:rgba(245,196,0,.4)}
.lf-bonus-entry img{width:100%;height:150px;object-fit:cover}
.lf-bonus-entry__desc{padding:14px 16px}
.lf-bonus-entry__desc strong{display:block;color:#C8E8E4;margin-bottom:.3em}
.lf-bonus-entry__desc span{color:#F5C400;font-size:.88rem;font-weight:600}

/* ---- Bonus Spotlight ---- */
.lf-bonus-spotlight{display:flex;gap:24px;align-items:center;background:#0D3535;border:1px solid rgba(0,196,180,.1);border-radius:6px;padding:24px;margin-top:1.5rem}
.lf-bonus-spotlight img{border-radius:6px;flex-shrink:0}
.lf-bonus-spotlight__text strong{display:block;color:#C8E8E4;font-size:1.05rem;margin-bottom:.4em}
.lf-bonus-spotlight__text p{color:#5A9E96;margin-bottom:1rem;font-size:.9rem}

/* ---- Q&A (FAQ) ---- */
.lf-qa-list{display:flex;flex-direction:column;gap:10px;margin-top:1.5rem}
.lf-qa-item{background:#0D3535;border:1px solid rgba(0,196,180,.1);border-radius:6px;overflow:hidden}
.lf-qa-btn{width:100%;background:none;border:none;color:#C8E8E4;font-size:.93rem;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;font-family:'Source Sans 3',sans-serif}
.lf-qa-btn::after{content:'+';font-size:1.4rem;flex-shrink:0;transition:transform .3s;color:#00C4B4}
.lf-qa-item.is-open .lf-qa-btn::after{transform:rotate(45deg)}
.lf-qa-panel{display:none;padding:0 20px 18px}
.lf-qa-item.is-open .lf-qa-panel{display:block}
.lf-qa-panel p{color:#5A9E96;font-size:.88rem}

/* ---- Expert (Author) ---- */
.lf-expert-section{background:#061816;padding:48px 0;border-top:1px solid rgba(0,196,180,.08)}
.lf-expert-card{display:flex;gap:20px;align-items:flex-start;background:#0D3535;border:1px solid rgba(0,196,180,.1);border-radius:6px;padding:28px}
.lf-expert-card__pic{width:80px;height:80px;border-radius:50%;flex-shrink:0;object-fit:cover;border:2px solid #00C4B4}
.lf-expert-card__content{flex:1}
.lf-expert-card__name{display:block;font-weight:700;color:#C8E8E4;font-size:1rem;margin-bottom:.2em}
.lf-expert-card__role{display:block;color:#2A7A72;font-size:.82rem;margin-bottom:.6em}
.lf-expert-card__content p{color:#5A9E96;font-size:.87rem}

/* ---- Footer ---- */
.lf-footer{background:#040E0D;padding:56px 0 24px;border-top:1px solid rgba(0,196,180,.08)}
.lf-footer__cols{display:grid;grid-template-columns:2fr 1fr 2fr;gap:40px;margin-bottom:40px}
.lf-footer__col--brand img{margin-bottom:12px}
.lf-footer__col--brand p{color:#2A4A46;font-size:.84rem}
.lf-footer__col--nav h4,.lf-footer__col--responsible h4{color:#00C4B4;margin-bottom:12px;font-size:.88rem;font-family:'Rajdhani',sans-serif;letter-spacing:.04em}
.lf-footer__col--nav ul{list-style:none}
.lf-footer__col--nav li{margin-bottom:8px}
.lf-footer__col--nav a{color:#2A4A46;font-size:.84rem;transition:color .2s}
.lf-footer__col--nav a:hover{color:#00C4B4}
.lf-footer__col--responsible p{color:#2A4A46;font-size:.84rem;margin-bottom:12px}
.lf-age-marker{display:inline-block;background:#8B0000;color:#fff;font-weight:700;font-size:.78rem;padding:4px 10px;border-radius:3px}
.lf-footer__legal-bar{border-top:1px solid rgba(0,196,180,.06);padding-top:20px}
.lf-licence-text{color:#1A3430;font-size:.74rem;margin-bottom:.5em}
.lf-copyright-line{color:#1A3430;font-size:.72rem}

/* ---- Promo Dock (fixed) ---- */
.lf-promo-dock{position:fixed;bottom:0;left:0;right:0;z-index:200;background:rgba(10,43,42,.97);border-top:2px solid #00C4B4;display:flex;align-items:center;gap:16px;padding:12px 24px;justify-content:center}
.lf-promo-dock span{color:#C8E8E4;font-size:.87rem;font-weight:600}
.lf-promo-dock__close{background:none;border:none;color:#5A9E96;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1;margin-left:8px}
.lf-promo-dock__close:hover{color:#fff}

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

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:1024px){
  .lf-hero-panel__grid{gap:32px}
  .lf-split-layout{gap:32px}
  .lf-numbered-guide--grid{grid-template-columns:1fr}
  .lf-footer__cols{grid-template-columns:1fr 1fr;gap:28px}
  .lf-footer__col--responsible{grid-column:1/-1}
}

@media(max-width:768px){
  .lf-primary-nav{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(10,43,42,.98);padding:20px;border-bottom:1px solid rgba(0,196,180,.12)}
  .lf-primary-nav.is-open{display:block}
  .lf-primary-nav ul{flex-direction:column;gap:14px;align-items:flex-start}
  .lf-nav-toggle{display:flex}
  .lf-hero-panel__grid{grid-template-columns:1fr}
  .lf-hero-panel__img{order:-1}
  .lf-hero-panel{padding:40px 0 32px}
  .lf-split-layout{grid-template-columns:1fr}
  .lf-split-layout--flipped .lf-split-layout__visual{order:-1}
  .lf-games-overview{grid-template-columns:repeat(2,1fr)}
  .lf-slots-display{grid-template-columns:repeat(3,1fr)}
  .lf-live-display{grid-template-columns:repeat(2,1fr)}
  .lf-bonus-lineup{grid-template-columns:1fr}
  .lf-bonus-spotlight{flex-direction:column}
  .lf-footer__cols{grid-template-columns:1fr}
  .lf-expert-card{flex-direction:column}
  .lf-sport-icons{gap:10px}
}

@media(max-width:480px){
  .lf-games-overview{grid-template-columns:1fr}
  .lf-slots-display{grid-template-columns:repeat(2,1fr)}
  .lf-live-display{grid-template-columns:repeat(2,1fr)}
  .lf-promo-dock{flex-wrap:wrap;text-align:center;gap:8px}
  .lf-masthead__row{grid-template-columns:auto auto}
  .lf-primary-nav{display:none}
  .lf-primary-nav.is-open{display:block}
}

@media(min-width:1440px){
  .lf-wrap{max-width:1320px}
  .lf-slots-display{grid-template-columns:repeat(6,1fr)}
}
