/* ==========================================================================
   Mega888 Free Bonus — Shared Stylesheet
   Malaysia Free Bonus Guide — Independent Affiliate Site
   Typography: Playfair Display (display) + Poppins (body) + Fira Code (accent)
   ========================================================================== */

@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/poppins-400.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/poppins-600.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/poppins-700.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/poppins-800.woff2) format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 800;font-display:swap;src:url(assets/fonts/playfair-display-var.woff2) format('woff2');}
@font-face{font-family:'Fira Code';font-style:normal;font-weight:500 600;font-display:swap;src:url(assets/fonts/fira-code-var.woff2) format('woff2');}

:root{
  --dark:#120E1A;
  --dark-deep:#0A0712;
  --dark-card:#221A33;
  --gold:#E8B84B;
  --gold-deep:#C79A2E;
  --purple:#8B5CF6;
  --purple-deep:#7C3AED;
  --cream:#F7F2E7;
  --cream-card:#FFFFFF;
  --ink-light:#F7F2E7;
  --ink-light-dim:#BDB2D6;
  --ink-dark:#120E1A;
  --ink-dark-dim:#5C5468;
  --radius:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
body{
  margin:0;background:var(--dark);color:var(--ink-light);
  font-family:'Poppins',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold);outline-offset:3px;border-radius:6px;
}
.skip-link{
  position:absolute;left:12px;top:-60px;background:var(--gold);color:var(--dark-deep);
  padding:10px 18px;border-radius:10px;font-weight:800;text-decoration:none;z-index:100;transition:top .2s;
}
.skip-link:focus{top:12px;}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:700;margin:0 0 .5em;line-height:1.22;letter-spacing:0;}
.mono{font-family:'Fira Code',monospace;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 24px;}
.eyebrow{font-family:'Fira Code',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;}
.band-dark .eyebrow{color:var(--gold);}
.band-cream .eyebrow{color:var(--purple-deep);}
.ext-icon{width:13px;height:13px;margin-left:6px;vertical-align:-1px;flex:none;}
.affiliate-note{font-family:'Fira Code',monospace;font-size:.66rem;margin-top:8px;}
.band-dark .affiliate-note{color:var(--ink-light-dim);}
.band-cream .affiliate-note{color:var(--ink-dark-dim);}

/* ---------- BAND BACKGROUNDS ---------- */
.band-dark{background:var(--dark);color:var(--ink-light);}
.band-cream{background:var(--cream);color:var(--ink-dark);}
.band-dark p{color:var(--ink-light-dim);}
.band-cream p{color:var(--ink-dark-dim);}
section{padding:64px 0;}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:50;background:rgba(10,7,18,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(247,242,231,.14);
}
nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.1rem;color:var(--ink-light);text-decoration:none;display:inline-flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;flex:none;border-radius:9px;}
.logo span{color:var(--gold);}
.nav-links{display:flex;gap:20px;font-size:.88rem;font-weight:600;font-family:'Poppins',sans-serif;}
.nav-links a{text-decoration:none;color:var(--ink-light-dim);transition:color .2s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold);}
.nav-cta{
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--dark-deep);padding:10px 20px;border-radius:999px;
  font-weight:700;font-size:.86rem;text-decoration:none;white-space:nowrap;font-family:'Poppins',sans-serif;
  display:inline-flex;align-items:center;
}
@media (max-width:860px){ .nav-links{display:none;} }

/* ---------- HERO ---------- */
.hero{padding:60px 0 56px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
@media (max-width:940px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(2rem,4.2vw,3rem);}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero p.lede{font-size:1.04rem;max-width:52ch;margin:18px 0 28px;font-family:'Poppins',sans-serif;}
.page-hero{padding:52px 0 40px;text-align:center;}
.page-hero h1{font-size:clamp(1.8rem,3.8vw,2.6rem);max-width:26ch;margin:0 auto .5em;}
.page-hero p.lede{font-size:1.02rem;max-width:62ch;margin:0 auto;}

.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.cta-pair{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.btn-primary{
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  color:var(--dark-deep);font-weight:700;padding:16px 30px;border-radius:999px;
  text-decoration:none;font-size:1rem;box-shadow:0 8px 24px rgba(232,184,75,.28);
  display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:'Poppins',sans-serif;
}
.btn-secondary{
  border:1.5px solid rgba(247,242,231,.3);color:var(--ink-light);background:rgba(247,242,231,.05);
  padding:15px 28px;border-radius:999px;text-decoration:none;font-weight:600;font-size:1rem;font-family:'Poppins',sans-serif;
}
.band-cream .btn-secondary{border-color:rgba(18,14,26,.25);color:var(--ink-dark);background:rgba(18,14,26,.04);}
.trust-strip{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px;font-size:.85rem;}
.trust-strip span{display:flex;align-items:center;gap:8px;}
.band-dark .trust-strip span{color:var(--ink-light-dim);}
.dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;}

/* ---------- HERO PROMO VISUAL ---------- */
.promo-frame{
  position:relative;display:block;width:100%;max-width:480px;aspect-ratio:1/1;margin:0 auto;
  border-radius:var(--radius);overflow:hidden;
  border:2px solid var(--gold);
  box-shadow:0 0 0 1px rgba(232,184,75,.2),0 0 36px rgba(139,92,246,.24),0 16px 36px rgba(0,0,0,.45);
  transition:transform .25s ease, box-shadow .25s ease;
}
.promo-frame:hover,.promo-frame:focus-visible{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 0 0 1px rgba(232,184,75,.3),0 0 52px rgba(139,92,246,.34),0 20px 44px rgba(0,0,0,.5);
}
.promo-frame img,.promo-frame svg{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- SECTION HEAD ---------- */
.section-head{max-width:640px;margin:0 auto 42px;text-align:center;}
.section-head.tight{margin-bottom:28px;}
.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);}
.section-head p{font-family:'Poppins',sans-serif;}

/* ---------- CARD ---------- */
.card{background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:var(--radius);padding:32px 36px;}
.band-cream .card{background:var(--cream-card);border-color:rgba(18,14,26,.1);box-shadow:0 10px 30px rgba(18,14,26,.08);}
.card h2:first-child,.card h3:first-child{margin-top:0;}
.card p{font-family:'Poppins',sans-serif;}
.card strong{color:var(--gold);}
.band-cream .card strong{color:var(--purple-deep);}

.definition{
  background:var(--cream-card);border:1px solid rgba(18,14,26,.1);
  border-radius:var(--radius);padding:32px 36px;max-width:820px;margin:0 auto;
  box-shadow:0 10px 30px rgba(18,14,26,.08);
}
.definition h2{font-size:1.5rem;color:var(--ink-dark);}
.definition p{color:var(--ink-dark-dim)!important;font-size:1.02rem;font-family:'Poppins',sans-serif;}
.definition strong{color:var(--purple-deep);}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .steps{grid-template-columns:1fr;} }
.step{background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:var(--radius);padding:26px 22px;}
.step .num{font-family:'Fira Code',monospace;font-weight:600;color:var(--gold);font-size:.78rem;letter-spacing:.08em;}
.step h3{font-size:1.05rem;margin:10px 0 8px;color:var(--ink-light);}
.step p{margin:0;color:var(--ink-light-dim)!important;font-size:.92rem;font-family:'Poppins',sans-serif;}

/* ---------- TICKET CARDS ---------- */
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){ .tickets{grid-template-columns:1fr;} }
.ticket-card{background:var(--cream-card);border:1px solid rgba(18,14,26,.1);border-radius:var(--radius);padding:0;overflow:hidden;position:relative;box-shadow:0 10px 26px rgba(18,14,26,.08);}
.ticket-card .tc-head{padding:24px 24px 18px;border-bottom:2px dashed rgba(18,14,26,.16);position:relative;}
.ticket-card .tc-head::before,.ticket-card .tc-head::after{content:"";position:absolute;bottom:-9px;width:18px;height:18px;background:var(--dark);border-radius:50%;}
.ticket-card .tc-head::before{left:-9px;}
.ticket-card .tc-head::after{right:-9px;}
.ticket-card .tc-tag{font-family:'Fira Code',monospace;font-size:.7rem;color:var(--purple-deep);letter-spacing:.1em;text-transform:uppercase;}
.ticket-card h3{font-size:1.3rem;color:var(--ink-dark);margin:8px 0 4px;}
.ticket-card .amount{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--gold-deep);}
.ticket-card .tc-body{padding:20px 24px 26px;}
.ticket-card ul{margin:0;padding:0;list-style:none;font-family:'Poppins',sans-serif;}
.ticket-card li{color:var(--ink-dark-dim);font-size:.9rem;padding:6px 0;display:flex;gap:8px;}
.ticket-card li::before{content:"✓";color:var(--purple-deep);font-weight:800;}
.ticket-card .tc-cta{display:block;text-align:center;margin-top:18px;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--dark-deep);font-weight:700;padding:12px;border-radius:999px;text-decoration:none;font-size:.92rem;font-family:'Poppins',sans-serif;}

/* ---------- FEATURES ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:900px){ .features{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .features{grid-template-columns:1fr;} }
.feature{padding:22px;border-radius:var(--radius);background:var(--dark-card);border:1px solid rgba(247,242,231,.14);}
.feature h3{font-size:1rem;color:var(--ink-light);margin:12px 0 6px;}
.feature p{font-size:.88rem;color:var(--ink-light-dim)!important;margin:0;font-family:'Poppins',sans-serif;}
.feature .icon{width:34px;height:34px;color:var(--gold);}

/* ---------- CHIPS ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.chip{border:1px solid rgba(18,14,26,.14);border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:600;color:var(--ink-dark);background:var(--cream-card);font-family:'Poppins',sans-serif;}
.chip.featured{border-color:var(--purple);color:var(--purple-deep);font-weight:700;}

/* ---------- EEAT ---------- */
.eeat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:760px){ .eeat-grid{grid-template-columns:1fr;} }
.eeat-card{background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:var(--radius);padding:24px;}
.eeat-card h3{font-size:1.02rem;color:var(--ink-light);margin:0 0 8px;}
.eeat-card p{font-size:.92rem;color:var(--ink-light-dim)!important;margin:0;font-family:'Poppins',sans-serif;}
.byline{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;font-family:'Fira Code',monospace;font-size:.76rem;color:var(--ink-light-dim);margin-top:18px;}
.byline strong{color:var(--gold);}

/* ---------- CHECK GRID ---------- */
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;list-style:none;margin:18px 0 0;padding:0;font-family:'Poppins',sans-serif;}
@media (max-width:640px){ .check-grid{grid-template-columns:1fr;} }
.check-grid li{font-size:.95rem;padding:4px 0 4px 26px;position:relative;}
.check-grid li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800;}
.band-cream .check-grid li::before{color:var(--purple-deep);}

/* ---------- FAQ ---------- */
.faq{max-width:780px;margin:0 auto;}
details{background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:14px;padding:18px 22px;margin-bottom:14px;}
.band-cream details{background:var(--cream-card);border-color:rgba(18,14,26,.1);}
summary{cursor:pointer;font-weight:600;color:var(--ink-light);font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Poppins',sans-serif;}
.band-cream summary{color:var(--ink-dark);}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";color:var(--gold);font-size:1.4rem;font-weight:400;}
.band-cream summary::after{color:var(--purple-deep);}
details[open] summary::after{content:"–";}
details p{color:var(--ink-light-dim)!important;margin:14px 0 2px;font-size:.95rem;font-family:'Poppins',sans-serif;}
.band-cream details p{color:var(--ink-dark-dim)!important;}

/* ---------- TESTIMONIALS ---------- */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){ .testimonials{grid-template-columns:1fr;} }
.testi{background:var(--cream-card);border:1px solid rgba(18,14,26,.1);border-radius:var(--radius);padding:24px;box-shadow:0 10px 26px rgba(18,14,26,.08);}
.testi p{color:var(--ink-dark-dim)!important;font-size:.94rem;font-family:'Poppins',sans-serif;}
.testi .who{margin-top:14px;font-family:'Fira Code',monospace;font-size:.78rem;color:var(--purple-deep);}

/* ---------- CTA BANNER ---------- */
.final-cta,.cta-banner{text-align:center;}
.final-cta h2,.cta-banner h2{font-size:clamp(1.6rem,3.4vw,2.4rem);}
.final-cta p,.cta-banner p{max-width:52ch;margin:0 auto 26px;font-family:'Poppins',sans-serif;}

/* ---------- PROSE / LEGAL ---------- */
.prose h2{font-size:1.35rem;margin-top:1.6em;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.1rem;margin-top:1.3em;}
.prose p,.prose li{font-size:.98rem;font-family:'Poppins',sans-serif;}
.prose ul,.prose ol{padding-left:1.3em;}
.prose li{margin:6px 0;}
.updated-note{font-family:'Fira Code',monospace;font-size:.76rem;color:var(--ink-light-dim);margin-bottom:8px;}

/* ---------- CONTACT FORM ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink-light);font-family:'Poppins',sans-serif;}
.form-field input,.form-field textarea{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(247,242,231,.22);
  background:rgba(247,242,231,.06);color:var(--ink-light);font-family:'Poppins',sans-serif;font-size:.95rem;
}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--ink-light-dim);}
.form-field textarea{min-height:120px;resize:vertical;}
.contact-method{display:flex;gap:14px;align-items:flex-start;padding:18px;background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:var(--radius);margin-bottom:16px;}
.contact-method .icon{width:22px;height:22px;color:var(--gold);flex:none;margin-top:2px;}
.contact-method h3{font-size:.95rem;margin:0 0 4px;color:var(--ink-light);}
.contact-method p{font-size:.88rem;margin:0;color:var(--ink-light-dim)!important;font-family:'Poppins',sans-serif;}
.form-note{font-size:.82rem;color:var(--ink-light-dim);margin-top:10px;font-family:'Poppins',sans-serif;}

/* ---------- FOOTER ---------- */
footer{padding:40px 0 30px;font-size:.82rem;color:var(--ink-light-dim);background:var(--dark-deep);font-family:'Poppins',sans-serif;}
footer .legal{max-width:820px;margin:0 auto;text-align:center;}
footer .legal strong{color:var(--gold);}
footer .foot-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left;max-width:1140px;margin:0 auto 28px;}
@media (max-width:760px){ footer .foot-columns{grid-template-columns:1fr 1fr;} }
footer .foot-columns h4{font-family:'Playfair Display',serif;color:var(--ink-light);font-size:.9rem;margin:0 0 12px;}
footer .foot-columns ul{list-style:none;margin:0;padding:0;}
footer .foot-columns li{margin-bottom:8px;}
footer .foot-columns a{text-decoration:none;color:var(--ink-light-dim);font-size:.85rem;}
footer .foot-columns a:hover{color:var(--gold);}

/* ---------- BLOG GRID ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){ .blog-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{background:var(--cream-card);border:1px solid rgba(18,14,26,.1);border-radius:var(--radius);padding:26px;box-shadow:0 10px 26px rgba(18,14,26,.08);display:flex;flex-direction:column;}
.blog-card .blog-tag{font-family:'Fira Code',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--purple-deep);font-weight:600;}
.blog-card h3{font-size:1.15rem;color:var(--ink-dark);margin:10px 0 8px;}
.blog-card p{font-size:.9rem;color:var(--ink-dark-dim);flex-grow:1;font-family:'Poppins',sans-serif;}
.blog-card .blog-read{margin-top:14px;font-weight:600;color:var(--gold-deep);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;}
.blog-card .blog-meta{font-family:'Fira Code',monospace;font-size:.68rem;color:var(--ink-dark-dim);margin-top:6px;}

/* ---------- ARTICLE / BLOG POST ---------- */
.article-meta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-family:'Fira Code',monospace;font-size:.76rem;margin-top:14px;}
.band-dark .article-meta{color:var(--ink-light-dim);}
.article-body{max-width:720px;margin:0 auto;}
.article-body h2{font-size:1.4rem;margin-top:1.7em;color:var(--ink-dark);}
.article-body h2:first-child{margin-top:0;}
.article-body h3{font-size:1.15rem;margin-top:1.3em;color:var(--ink-dark);}
.article-body p,.article-body li{font-size:1rem;color:var(--ink-dark-dim);font-family:'Poppins',sans-serif;}
.article-body ul,.article-body ol{padding-left:1.3em;}
.article-body li{margin:6px 0;}
.article-body strong{color:var(--purple-deep);}
.article-toc{background:var(--cream-card);border:1px solid rgba(18,14,26,.1);border-radius:var(--radius);padding:22px 26px;max-width:720px;margin:0 auto 36px;box-shadow:0 10px 26px rgba(18,14,26,.06);}
.article-toc p.toc-label{font-family:'Fira Code',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--purple-deep);font-weight:600;margin:0 0 10px;}
.article-toc ol{margin:0;padding-left:1.2em;}
.article-toc li{margin:4px 0;}
.article-toc a{color:var(--ink-dark);text-decoration:none;font-size:.92rem;font-family:'Poppins',sans-serif;}
.article-toc a:hover{color:var(--purple-deep);text-decoration:underline;}
.article-cta{background:var(--dark-card);border:1px solid rgba(247,242,231,.14);border-radius:var(--radius);padding:28px 32px;max-width:720px;margin:44px auto 0;text-align:center;}
.article-cta h3{color:var(--ink-light);margin-bottom:8px;}
.article-cta p{color:var(--ink-light-dim);margin-bottom:18px;font-family:'Poppins',sans-serif;}

.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--dark-deep);border-top:1px solid rgba(247,242,231,.14);
  padding:12px 16px;display:none;justify-content:center;
}
.sticky-cta a{width:100%;max-width:420px;text-align:center;}
@media (max-width:760px){ .sticky-cta{display:flex;} body{padding-bottom:74px;} }
