/* ============================================================
   genting-dream-reviews.php — editorial blog-style page
============================================================ */

/* PAGE HERO — blog header */
.bhero{position:relative;color:#fff;overflow:hidden;padding:80px 0 60px}
.bhero-bg{position:absolute;inset:0;z-index:0}
.bhero-bg img{width:100%;height:100%;object-fit:cover}
.bhero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,29,54,.97) 0%,rgba(8,29,54,.85) 50%,rgba(12,42,77,.7) 100%)}
.bhero .wrap{position:relative;z-index:5;max-width:920px}
.crumbs{font-size:.84rem;color:#a9bccf;margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:#cdd9e5}.crumbs a:hover{color:#fff}
.crumbs span{color:#ff9684}
.bhero .tag{display:inline-block;background:var(--coral);color:#fff;padding:6px 16px;border-radius:50px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}
.bhero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);color:#fff;line-height:1.1;margin-bottom:18px;font-weight:700;letter-spacing:-.02em}
.bhero h1 em{font-style:italic;color:#ffb3a3}
.bhero .lede{font-size:clamp(1.05rem,1.7vw,1.2rem);color:#d3deea;line-height:1.6;margin-bottom:28px;max-width:760px}

.author-strip{display:flex;align-items:center;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);flex-wrap:wrap}
.author-strip .avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral-deep));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.05rem;font-family:'Plus Jakarta Sans';flex:none;box-shadow:0 4px 12px rgba(232,80,58,.35)}
.author-meta b{display:block;color:#fff;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.98rem;line-height:1.2}
.author-meta span{font-size:.84rem;color:#a9bccf;display:block;margin-top:3px}
.author-stats{display:flex;gap:24px;font-size:.84rem;color:#a9bccf;margin-left:auto;flex-wrap:wrap}
.author-stats div b{display:block;color:#fff;font-family:'Playfair Display';font-size:1.1rem;font-weight:700}

/* ANNIVERSARY BANNER */
.anniv{background:linear-gradient(120deg,var(--gold) 0%,#d9b06d 100%);color:var(--navy-deep);padding:18px 0;position:relative;overflow:hidden}
.anniv::before{content:'';position:absolute;top:-50%;right:-3%;width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 65%);pointer-events:none}
.anniv .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;position:relative;z-index:2}
.anniv-l{display:flex;align-items:center;gap:14px}
.anniv-l .ai{font-size:1.7rem;background:rgba(8,29,54,.15);width:50px;height:50px;border-radius:12px;display:grid;place-items:center;flex:none}
.anniv-l b{display:block;font-family:'Playfair Display';font-weight:700;font-size:1.05rem;line-height:1.25}
.anniv-l span{font-size:.88rem;color:rgba(8,29,54,.85)}

/* STICKY TABLE OF CONTENTS */
.toc-bar{position:sticky;top:73px;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.toc-bar .wrap{display:flex;gap:8px;overflow-x:auto;padding:13px 26px;scrollbar-width:none;align-items:center}
.toc-bar .wrap::-webkit-scrollbar{display:none}
.toc-bar .toc-label{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-light);flex:none;margin-right:8px;margin-top: 10px}
.toc-bar a{flex:none;font-size:.84rem;font-weight:700;color:var(--slate);padding:6px 13px;border-radius:50px;border:1px solid var(--line);transition:.2s;white-space:nowrap}
.toc-bar a:hover{color:var(--coral);border-color:var(--coral)}
.toc-track .toc-label{flex:none; padding:6px 8px 6px 0; align-self:center;}

/* MAIN ARTICLE LAYOUT */
.article-wrap{max-width:810px;margin:0 auto;padding:60px 20px 30px}
.article-wrap > section{margin-bottom:50px;scroll-margin-top:140px}

/* TYPOGRAPHY — magazine feel */
.article-wrap h2{font-family:'Playfair Display';font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;color:var(--ink);margin-bottom:18px;line-height:1.2;letter-spacing:-.01em}
.article-wrap h3{font-family:'Plus Jakarta Sans';font-size:clamp(1.15rem,1.8vw,1.35rem);font-weight:700;color:var(--navy);margin:30px 0 12px;line-height:1.3}
.article-wrap p{font-size:1.05rem;line-height:1.75;color:var(--ink);margin-bottom:20px;font-weight:400}
.article-wrap p strong{color:var(--navy);font-weight:700}
.article-wrap p em{font-style:italic;color:var(--slate)}

/* DROP CAP for first paragraph */
.lead-para::first-letter{font-family:'Playfair Display';font-size:4.2rem;font-weight:700;float:left;line-height:0.9;padding:6px 12px 0 0;color:var(--coral)}

/* PULL QUOTE */
.pullquote{margin:36px -20px;padding:30px 36px;border-left:4px solid var(--coral);background:linear-gradient(135deg,#fff8f4 0%,#fff 100%);border-radius:0 var(--r) var(--r) 0;font-family:'Playfair Display';font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--navy-deep);position:relative}
.pullquote::before{content:'"';font-size:5rem;color:var(--coral);position:absolute;top:-5px;left:18px;font-family:'Playfair Display';line-height:1;opacity:.2}
.pullquote cite{display:block;margin-top:14px;font-style:normal;font-family:'Plus Jakarta Sans';font-weight:600;font-size:.88rem;color:var(--slate);letter-spacing:.01em}
.pullquote cite::before{content:'— '}

/* INLINE IMAGE WITH CAPTION */
.fig{margin:36px -20px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md)}
.fig img{width:100%;display:block;height:auto;max-height:480px;object-fit:cover}
.fig figcaption{padding:14px 22px;background:#fff;font-size:.86rem;color:var(--slate);font-style:italic;border:1px solid var(--line);border-top:none;line-height:1.5}
.fig figcaption b{color:var(--navy);font-style:normal;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-right:8px}

/* KEY TAKEAWAYS BOX */
.takeaway{background:linear-gradient(135deg,#fff8f4,#fff);border:1px solid #ffd8c8;border-radius:var(--r-lg);padding:24px 28px;margin:30px 0}
.takeaway h4{font-family:'Plus Jakarta Sans';font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.takeaway h4::before{content:'';width:24px;height:2px;background:var(--coral);border-radius:2px}
.takeaway ul{list-style:none}
.takeaway li{font-size:.94rem;color:var(--ink);padding:6px 0;display:flex;gap:10px;line-height:1.55}
.takeaway li::before{content:'✓';color:var(--coral);font-weight:800;flex:none;margin-top:2px}

/* RELATED LINK CARD (interlinks to other pages) */
.related-card{margin:36px 0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:20px 24px;transition:.25s;text-decoration:none;color:inherit;box-shadow:var(--sh-sm)}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:#dfe6ee}
.related-card .ri{font-size:1.5rem;background:var(--coral-soft);width:54px;height:54px;border-radius:13px;display:grid;place-items:center;flex:none}
.related-card .rb{flex:1}
.related-card .rl{font-size:.7rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;display:block}
.related-card .rt{font-family:'Plus Jakarta Sans';font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:3px;display:block}
.related-card .rs{font-size:.88rem;color:var(--slate)}
.related-card .ra{font-size:1.4rem;color:var(--coral);font-weight:700;flex:none}

/* RATING BLOCKS */
.rating-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:30px 0}
.rating-row{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.rating-row .rr-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rating-row .rr-top b{font-family:'Plus Jakarta Sans';font-weight:700;font-size:.95rem;color:var(--ink)}
.rating-row .rr-top .stars{color:var(--coral);font-size:.95rem;letter-spacing:.05em}
.rating-row p{font-size:.85rem;color:var(--slate);margin:0;line-height:1.4}

/* SHOW / EVENT HIGHLIGHT BOX */
.show-card{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-mid) 100%);color:#fff;border-radius:var(--r-lg);padding:30px 32px;margin:30px 0;position:relative;overflow:hidden}
.show-card::before{content:'';position:absolute;top:-40%;right:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(199,154,75,.25),transparent 60%);pointer-events:none}
.show-card > *{position:relative;z-index:2}
.show-card .st{font-size:.74rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.show-card h3{color:#fff;font-family:'Playfair Display';font-size:1.4rem;margin-bottom:10px}
.show-card p{color:#d3deea;font-size:.95rem;line-height:1.6;margin-bottom:0}
.show-card .sm{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;font-size:.84rem;color:#cdd9e5}
.show-card .sm b{color:#ff9684}

/* SOCIAL QUOTE CARDS */
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}
.social-q{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;transition:.25s}
.social-q:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.social-q .sp{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.social-q .sp .si{font-size:1.1rem}
.social-q .sp b{font-size:.84rem;font-weight:700;color:var(--navy)}
.social-q .sp span{font-size:.74rem;color:var(--slate-light);margin-left:auto}
.social-q p{font-size:.9rem;color:var(--ink);line-height:1.5;margin:0;font-style:italic}

/* AUTHOR BIO BOX (end) */
.bio{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin:50px 0 30px}
.bio .bv{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.5rem;font-family:'Plus Jakarta Sans';flex:none;box-shadow:0 6px 18px rgba(232,80,58,.3)}
.bio b{display:block;font-family:'Plus Jakarta Sans';font-weight:700;font-size:1.05rem;color:var(--ink);margin-bottom:4px}
.bio span{display:block;font-size:.84rem;color:var(--coral);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.bio p{font-size:.92rem;color:var(--slate);margin:0;line-height:1.6}

/* RESPONSIVE */
@media(max-width:900px){
  .author-stats{margin-left:0;width:100%;justify-content:flex-start}
  .social-grid{grid-template-columns:1fr 1fr}
  .rating-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .toc-bar{top:69px}
  .article-wrap{padding:40px 22px 20px}
  .article-wrap h2{font-size:1.6rem}
  .pullquote{margin:30px 0;padding:24px 26px;font-size:1.15rem}
  .fig{margin:30px 0}
  .related-card{padding:18px 20px;gap:14px}
  .related-card .ri{width:46px;height:46px;font-size:1.3rem}
  .social-grid{grid-template-columns:1fr}
  .bio{grid-template-columns:1fr;text-align:center;padding:26px 24px}
  .bio .bv{margin:0 auto}
}
@media(max-width:520px){
  .lead-para::first-letter{font-size:3.2rem}
  .anniv-l{gap:10px}
}
