:root{
  --primary:#5b2a9d;
  --primary-dark:#3f1a72;
  --primary-light:#7c4dc4;
  --accent-pink:#ec4899;
  --accent-pink-dark:#db2777;
  --bg-body:#ffffff;
  --bg-section:#f4f1fb;
  --bg-card:#ffffff;
  --bg-hero-panel:#ffffff;
  --text-heading:#1f1235;
  --text-body:#5a5468;
  --text-muted:#847e94;
  --border-color:#e7e2f3;
  --badge-bg:#efe7fb;
  --star-color:#f5a623;
}
[data-bs-theme="dark"]{
  --primary:#8b5cf6;
  --primary-dark:#6d28d9;
  --primary-light:#a78bfa;
  --accent-pink:#f472b6;
  --accent-pink-dark:#ec4899;
  --bg-body:#12101c;
  --bg-section:#181428;
  --bg-card:#1e1a30;
  --bg-hero-panel:#211c36;
  --text-heading:#f3f1fa;
  --text-body:#c8c2da;
  --text-muted:#948da8;
  --border-color:#302a49;
  --badge-bg:#2a2246;
  --star-color:#fbbf24;
}
*{box-sizing:border-box;}
body{
  font-family:'Inter',sans-serif;
  background-color:var(--bg-body);
  color:var(--text-body);
  transition:background-color .3s ease, color .3s ease;
}
h1,h2,h3,h4,h5,.brand-name{
  font-family:'Poppins',sans-serif;
  color:var(--text-heading);
}
a{ text-decoration:none; }
.section-pad{ padding:64px 0; }
@media (max-width:767.98px){ .section-pad{ padding:40px 0; } }

/* Navbar */
.navbar-custom{
  background-color:var(--bg-body);
  border-bottom:1px solid var(--border-color);
  padding:14px 0;
}
.brand-logo-circle{
  width:42px;height:42px;object-fit:contain;flex-shrink:0;
}
.brand-name{ font-weight:700; font-size:1.15rem; line-height:1.1; margin-bottom:0; }
.brand-tagline{ font-size:.72rem; color:var(--text-muted); }
.navbar-custom .nav-link{
  color:var(--text-heading); font-weight:500; font-size:.95rem; padding:.65rem 1.85rem;
  display:inline-flex; align-items:center; line-height:1;
}
.navbar-custom .nav-link::after{ vertical-align:0 !important; margin-left:.4em !important; }
.navbar-custom .nav-link.active{ color:var(--primary); }
@media (min-width:992px){ .navbar-custom .navbar-nav{ gap:1.25rem; } }
.btn-brand{
  background-color:var(--primary); border-color:var(--primary); color:#fff;
  font-weight:600; border-radius:8px; padding:.55rem 1.2rem; font-size:.9rem;
  transition:background-color .2s ease;
}
.btn-brand:hover{ background-color:var(--primary-dark); border-color:var(--primary-dark); color:#fff; }
.btn-outline-brand{
  border:1.5px solid var(--primary); color:var(--primary); font-weight:600; border-radius:8px; padding:.55rem 1.2rem; font-size:.9rem; background:transparent;
}
.btn-outline-brand:hover{ background-color:var(--primary); color:#fff; }
.btn-pink{
  background-color:var(--accent-pink); border-color:var(--accent-pink); color:#fff; font-weight:600; border-radius:8px;
}
.btn-pink:hover{ background-color:var(--accent-pink-dark); border-color:var(--accent-pink-dark); color:#fff; }

.theme-toggle-btn{
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--border-color);
  background-color:var(--bg-section);
  color:var(--text-heading);
  display:flex;align-items:center;justify-content:center;
  font-size:1.05rem; cursor:pointer;
}
.theme-toggle-btn:hover{ background-color:var(--badge-bg); }

/* Hero */
.hero-section{
  position:relative;
  background-image:
    linear-gradient(90deg, rgba(244,241,251,1) 0%, rgba(244,241,251,1) 34%, rgba(244,241,251,.55) 58%, rgba(244,241,251,0) 82%),
    url('hero-bg.png');
  background-size: cover, cover;
  background-position: center, center right;
  background-repeat: no-repeat, no-repeat;
  padding:56px 0 64px;
  transition:background-image .3s ease;
}
[data-bs-theme="dark"] .hero-section{
  background-image:
    linear-gradient(90deg, rgba(24,20,40,1) 0%, rgba(24,20,40,1) 34%, rgba(24,20,40,.55) 58%, rgba(24,20,40,0) 82%),
    url('hero-bg.png');
}
@media (min-width:992px){ .hero-section{ min-height:560px; display:flex; align-items:center; } }
.hero-badge{
  display:inline-block; background-color:var(--badge-bg); color:var(--primary);
  font-weight:600; font-size:.8rem; padding:.4rem .9rem; border-radius:30px; margin-bottom:1rem;
}
.hero-heading{ font-size:2.6rem; font-weight:700; line-height:1.15; margin-bottom:1rem; }
@media (max-width:767.98px){ .hero-heading{ font-size:1.9rem; } }
.trust-mini{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; font-weight:600; color:var(--text-heading); }
.trust-mini i{ color:var(--primary); font-size:1.1rem; }

.featured-card{
  background-color:var(--bg-hero-panel);
  border:1px solid var(--border-color);
  border-radius:16px; padding:26px;
  box-shadow:0 20px 45px -16px rgba(30,10,60,.45);
  position:relative; z-index:2;
  max-width:380px;
}
@media (min-width:992px){
  .featured-card{ margin-right:42%; }
}
.featured-card h6{ color:var(--primary); font-weight:700; margin-bottom:1.1rem; font-size:1.2rem; }
.featured-item{
  display:flex; align-items:center; gap:1rem; padding:.9rem 0;
  border-bottom:1px solid var(--border-color);
}
.featured-item:last-child{ border-bottom:none; }
.featured-icon{
  width:58px;height:58px;border-radius:12px; flex-shrink:0; overflow:hidden;
  display:flex;align-items:center;justify-content:center; color:#fff; font-size:1.4rem;
  background-color:var(--badge-bg);
}
.featured-icon img{ width:100%; height:100%; object-fit:cover; display:block; }
.featured-title{ font-weight:700; color:var(--text-heading); font-size:1.05rem; margin-bottom:0; }
.featured-sub{ font-size:.83rem; color:var(--text-muted); }
.featured-arrow{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);
  display:flex;align-items:center;justify-content:center; color:var(--text-muted); flex-shrink:0;
}

/* Why trust */
.why-section{ background-color:var(--bg-body); }
.section-title{ font-weight:700; font-size:1.9rem; margin-bottom:.4rem; }
.section-sub{ color:var(--text-muted); font-size:.95rem; }
.section-divider{ display:flex; align-items:center; justify-content:center; gap:.75rem; max-width:240px; margin:0 auto 1rem; }
.divider-line{ flex:1; height:1px; background-color:var(--border-color); }
.divider-icon{
  width:34px;height:34px;border-radius:50%;background-color:var(--badge-bg);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;
}
.why-icon{
  width:56px;height:56px;border-radius:14px;background-color:var(--badge-bg);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 1rem;
}
.why-col{ position:relative; }
@media (min-width:992px){
  .why-col:not(:last-child)::after{
    content:''; position:absolute; top:6px; bottom:6px; right:0; width:1px; background-color:var(--border-color);
  }
}
.why-card{ text-align:center; padding:0 10px; }
.why-card h6{ font-weight:700; font-size:.98rem; margin-bottom:.5rem; }
.why-card p{ font-size:.85rem; color:var(--text-muted); margin-bottom:0; }

/* Reviews */
.reviews-section, .tinted-section{ background-color:var(--bg-section); }
.review-card{
  background-color:var(--bg-card); border-radius:16px; padding:28px 26px; height:100%;
  border:1px solid var(--border-color); position:relative;
  box-shadow:0 10px 30px -18px rgba(30,10,60,.15);
}
.rank-badge{
  position:absolute; top:16px; left:16px; font-size:.68rem; font-weight:700; padding:.3rem .7rem;
  border-radius:20px; color:#fff;
}
.review-logo{
  width:76px;height:76px;border-radius:16px; display:flex;align-items:center;justify-content:center;
  color:#fff; font-size:2rem; margin:36px auto 16px; overflow:hidden; background-color:var(--badge-bg);
}
.review-logo img{ width:100%; height:100%; object-fit:cover; display:block; }
.review-card h5{ text-align:center; font-weight:700; margin-bottom:.3rem; }
.stars{ text-align:center; color:var(--star-color); margin-bottom:.8rem; font-size:.9rem; }
.review-desc{ font-size:.85rem; text-align:center; color:var(--text-muted); margin-bottom:1.1rem; }
.review-features{ list-style:none; padding:0; margin-bottom:1.3rem; }
.review-features li{ display:flex; align-items:center; gap:.55rem; font-size:.85rem; padding:.3rem 0; color:var(--text-body); }
.review-features i{ font-size:.95rem; }

/* Compare banner */
.compare-banner{
  background-image:url('compare-bg-1296.png');
  background-size:cover; background-position:left center; background-repeat:no-repeat;
  border-radius:18px; padding:44px 32px;
  border:1px solid var(--border-color);
  min-height:220px;
  display:flex; align-items:center;
}
@media (min-width:768px){ .compare-banner{ padding-left:320px; min-height:250px; } }
.compare-banner .row{ width:100%; }
.compare-banner h4{ color:var(--text-heading); font-weight:700; }
.compare-banner p{ color:var(--text-body); margin-bottom:0; max-width:420px; }

/* Guides */
.guide-card{
  border-radius:16px; overflow:hidden; background-color:var(--bg-card); border:1px solid var(--border-color); height:100%;
}
.guide-thumb{
  height:170px; display:block; overflow:hidden;
}
.guide-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.guide-card .body{ padding:18px; }
.guide-card h6{ font-weight:700; font-size:.95rem; margin-bottom:.5rem; }
.guide-card p{ font-size:.82rem; color:var(--text-muted); margin-bottom:.8rem; }
.guide-card .read-more{ font-size:.82rem; font-weight:600; color:var(--primary); }

/* Newsletter */
.newsletter-banner{
  background:linear-gradient(120deg,var(--badge-bg),var(--bg-section));
  border-radius:18px; padding:32px; border:1px solid var(--border-color);
}
.crystal-icon{ font-size:3rem; }
.newsletter-banner .form-control{
  border-radius:8px 0 0 8px; border:1px solid var(--border-color); background-color:var(--bg-card); color:var(--text-heading);
}
.newsletter-banner .btn{ border-radius:0 8px 8px 0; }

/* Footer */
footer{
  background:linear-gradient(160deg, #341b6b 0%, #1c0f3d 100%);
  padding-top:56px;
}
footer .brand-name{ color:#fff; }
footer .brand-logo-circle{ filter:brightness(0) invert(1); }
footer h6{ font-weight:700; color:#fff; margin-bottom:1rem; font-size:.95rem; }
footer ul{ list-style:none; padding:0; }
footer ul li{ margin-bottom:.6rem; }
footer ul li a{ color:rgba(255,255,255,.7); font-size:.87rem; }
footer ul li a:hover{ color:#fff; }
footer p{ font-size:.85rem; color:rgba(255,255,255,.65); }
.footer-social{
  width:36px;height:36px;border-radius:50%;background-color:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center; color:#fff; font-size:.95rem;
}
.footer-social:hover{ background-color:rgba(255,255,255,.2); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15); padding:18px 0; margin-top:32px; font-size:.82rem; color:rgba(255,255,255,.6);
}
.footer-moon{ font-size:3rem; opacity:.5; color:#fff; }

/* utility bg colors for icon tiles */
.bg-grad-purple{ background:linear-gradient(135deg,#4c2a8a,#2c1656); }
.bg-grad-pink{ background:linear-gradient(135deg,var(--accent-pink),var(--accent-pink-dark)); }
.bg-grad-rose{ background:linear-gradient(135deg,#f472b6,#c026d3); }
.bg-grad-gold{ background:linear-gradient(135deg,#8b5cf6,#6d28d9); }

/* Interior page header (About/Contact/Legal pages) */
.page-header{
  background-color:var(--bg-section);
  padding:56px 0;
  border-bottom:1px solid var(--border-color);
}
.page-header h1{ font-size:2.1rem; font-weight:700; margin-bottom:.5rem; }
.page-header p{ color:var(--text-muted); margin-bottom:0; max-width:none; }
.breadcrumb-mini{ font-size:.82rem; color:var(--text-muted); margin-bottom:.75rem; }
.breadcrumb-mini a{ color:var(--text-muted); }
.breadcrumb-mini a:hover{ color:var(--primary); }

/* Prose content for legal / info pages */
.prose{ max-width:none; }
.prose h2{ font-size:1.35rem; font-weight:700; margin-top:2rem; margin-bottom:.75rem; }
.prose h2:first-child{ margin-top:0; }
.prose p{ margin-bottom:1rem; line-height:1.75; }
.prose ul{ margin-bottom:1rem; padding-left:1.25rem; }
.prose ul li{ margin-bottom:.5rem; line-height:1.7; }
.prose .updated-badge{
  display:inline-block; font-size:.8rem; color:var(--text-muted); background-color:var(--bg-section);
  padding:.35rem .8rem; border-radius:20px; margin-bottom:1.5rem; border:1px solid var(--border-color);
}

/* Step cards for How It Works */
.step-card{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:16px;
  padding:24px; height:100%; position:relative;
}
.step-number{
  width:40px;height:40px;border-radius:50%; background-color:var(--primary); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:1rem; font-family:'Poppins',sans-serif;
}
.step-card h6{ font-weight:700; margin-bottom:.5rem; }
.step-card p{ font-size:.88rem; color:var(--text-muted); margin-bottom:0; }

/* Contact info cards */
.contact-card{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:16px;
  padding:28px; text-align:center; height:100%;
}
.contact-icon{
  width:56px;height:56px;border-radius:14px;background-color:var(--badge-bg);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 1rem;
}
.contact-card h6{ font-weight:700; margin-bottom:.4rem; }
.contact-card p{ margin-bottom:0; }
.contact-card a{ color:var(--text-body); }
.contact-card a:hover{ color:var(--primary); }

/* Reviews page hero */
.reviews-hero{
  position:relative; overflow:hidden;
  background-color:var(--badge-bg);
  padding:48px 0 56px;
  border-bottom:1px solid var(--border-color);
}
.reviews-hero .deco-flower{
  position:absolute; right:-40px; top:50%; transform:translateY(-50%);
  font-size:15rem; color:var(--primary); opacity:.1; pointer-events:none;
}
.reviews-hero .deco-glow{
  position:absolute; right:10%; top:50%; transform:translateY(-50%);
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.6), transparent 70%);
  pointer-events:none;
}
.reviews-hero .deco-star{ position:absolute; color:var(--primary); opacity:.35; pointer-events:none; }
.reviews-hero h1{ font-size:2.3rem; font-weight:700; margin-bottom:.6rem; }
@media (max-width:767.98px){ .reviews-hero h1{ font-size:1.7rem; } }
.reviews-hero p.lead-text{ color:var(--text-body); max-width:620px; margin-bottom:1.25rem; }

/* Horizontal review row cards */
.review-row{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:18px;
  overflow:hidden; margin-bottom:28px;
  box-shadow:0 12px 30px -20px rgba(30,10,60,.2);
}
.review-row-inner{ display:flex; flex-wrap:wrap; }
.review-media{
  position:relative; width:100%; max-width:280px; min-height:260px; flex-shrink:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff; text-align:center; padding:24px; background-size:cover; background-position:center;
}
@media (max-width:767.98px){ .review-media{ max-width:100%; min-height:200px; } }
.review-media .rank-ribbon{
  position:absolute; top:14px; left:14px; background-color:rgba(255,255,255,.95); color:var(--text-heading);
  font-size:.68rem; font-weight:700; text-align:center; line-height:1.2; padding:.4rem .65rem; border-radius:8px;
}
.review-media .rank-ribbon span{ display:block; color:#c99a2e; font-size:.9rem; }
.review-media img.media-logo{ width:64px; height:64px; object-fit:cover; border-radius:14px; margin-bottom:.85rem; box-shadow:0 8px 18px -6px rgba(0,0,0,.4); }
.review-media .media-name{ font-weight:800; font-size:1.15rem; letter-spacing:.02em; margin-bottom:1.5rem; text-transform:uppercase; }
.review-media .media-domain{ font-size:.78rem; opacity:.85; position:absolute; bottom:14px; left:0; right:0; }
.review-media.has-photo{ justify-content:flex-end; }
.review-media.has-photo::after{
  content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,10,40,0) 45%, rgba(15,8,30,.85) 100%);
}
.review-media.has-photo .media-domain{ position:relative; z-index:2; }
.review-media.has-photo .rank-ribbon{ z-index:2; }
a.review-media{ text-decoration:none; }
.review-body h3 a{ color:inherit; text-decoration:none; }
.review-body h3 a:hover{ color:var(--primary); }

.review-body{ flex:1 1 320px; padding:26px 28px; display:flex; flex-direction:column; justify-content:center; }
.review-body h3{ font-size:1.3rem; font-weight:700; margin-bottom:.15rem; }
.review-subtitle{ color:var(--primary); font-weight:600; font-size:.85rem; margin-bottom:.75rem; }
.review-body .review-desc-text{ color:var(--text-muted); font-size:.9rem; margin-bottom:1.1rem; }
.feature-chip-row{ display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; }
.feature-chip{ display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:var(--text-body); font-weight:500; }
.feature-chip i{ color:var(--primary); font-size:1rem; }

.review-rating-col{
  flex:0 0 260px; max-width:260px; padding:26px 26px; border-left:1px solid var(--border-color);
  display:flex; flex-direction:column; justify-content:center;
}
@media (max-width:991.98px){ .review-rating-col{ border-left:none; border-top:1px solid var(--border-color); flex:1 1 100%; max-width:100%; } }
.review-rating-col .stars-lg{ color:var(--star-color); font-size:1.05rem; }
.review-rating-col .rating-num{ font-weight:700; color:var(--text-heading); margin-left:.35rem; }
.rating-tag{ font-size:.78rem; font-weight:700; color:#e08a1f; margin-bottom:.85rem; display:block; }
.review-checklist{ list-style:none; padding:0; margin-bottom:1.1rem; }
.review-checklist li{ display:flex; align-items:center; gap:.5rem; font-size:.83rem; color:var(--text-body); padding:.2rem 0; }
.review-checklist i{ color:var(--primary); font-size:.9rem; }

/* Methodology box */
.methodology-box{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:18px; overflow:hidden;
}
.methodology-col{ padding:32px; }
.methodology-col + .methodology-col{ border-top:1px solid var(--border-color); }
@media (min-width:992px){
  .methodology-col + .methodology-col{ border-top:none; border-left:1px solid var(--border-color); }
}
.methodology-col h3{ font-size:1.2rem; font-weight:700; margin-bottom:.75rem; }
.methodology-col p{ color:var(--text-muted); font-size:.9rem; margin-bottom:1.25rem; }
.methodology-check{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--text-body); padding:.35rem 0; }
.methodology-check i{ color:var(--primary); }
.stat-row{ display:flex; flex-wrap:wrap; gap:1.75rem; }
.stat-item .stat-num{ font-family:'Poppins',sans-serif; font-weight:800; font-size:1.7rem; color:var(--primary); line-height:1; }
.stat-item .stat-label{ font-size:.78rem; color:var(--text-muted); margin-top:.3rem; }

/* Comparison table (Reviews page) */
.comparison-table{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:16px; overflow:hidden;
  border-collapse:separate; border-spacing:0; margin-bottom:.75rem;
}
.comparison-table thead th{
  background-color:var(--bg-section); color:var(--text-heading); font-size:.78rem; text-transform:uppercase;
  letter-spacing:.03em; font-weight:700; border-bottom:1px solid var(--border-color); padding:14px 16px; white-space:nowrap;
}
.comparison-table tbody td{
  color:var(--text-body); font-size:.88rem; padding:16px; border-bottom:1px solid var(--border-color); vertical-align:middle;
}
.comparison-table tbody tr:last-child td{ border-bottom:none; }
.comparison-table .rating-num{ font-weight:700; color:var(--text-heading); }

/* Partner banner */
.partner-banner{
  background-color:var(--badge-bg); border-radius:18px; padding:36px; border:1px solid var(--border-color);
}
.partner-icon-circle{
  width:88px; height:88px; border-radius:50%; background-color:var(--bg-card);
  display:flex; align-items:center; justify-content:center; font-size:2rem; color:var(--primary);
  box-shadow:0 10px 25px -12px rgba(30,10,60,.3);
}
.partner-eyebrow{ font-size:.78rem; font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:.03em; margin-bottom:.4rem; }
.partner-banner h3{ font-size:1.45rem; font-weight:700; margin-bottom:.6rem; }
.partner-benefit-list{ list-style:none; padding:0; margin:0; }
.partner-benefit-list li{ display:flex; align-items:center; gap:.7rem; font-size:.88rem; color:var(--text-body); padding:.5rem 0; }
.partner-benefit-list i{ color:var(--primary); font-size:1.1rem; }

/* FAQ accordion */
.faq-accordion .accordion-item{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:12px !important;
  margin-bottom:.85rem; overflow:hidden;
}
.faq-accordion .accordion-button{
  background-color:var(--bg-card); color:var(--text-heading); font-weight:600; font-size:.92rem;
  box-shadow:none !important;
}
.faq-accordion .accordion-button:not(.collapsed){ color:var(--primary); background-color:var(--bg-card); }
.faq-accordion .accordion-button::after{ filter: var(--accordion-icon-filter, none); }
[data-bs-theme="dark"] .faq-accordion .accordion-button::after{ filter:invert(1) grayscale(1) brightness(1.8); }
.faq-accordion .accordion-body{ color:var(--text-muted); font-size:.88rem; padding-top:0; }

/* ===== Single review detail page ===== */
.review-eyebrow{ display:flex; align-items:center; gap:.4rem; color:var(--primary); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.6rem; }
.review-detail-title{ font-size:2.1rem; font-weight:700; margin-bottom:.75rem; }
@media (max-width:767.98px){ .review-detail-title{ font-size:1.6rem; } }

.review-sidebar-card{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:18px; overflow:hidden;
}
.review-sidebar-media{
  background-size:cover; background-position:center; min-height:190px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; padding:20px;
}
.review-sidebar-media img{ width:56px; height:56px; border-radius:12px; object-fit:cover; margin-bottom:.75rem; }
.review-sidebar-media .media-name{ font-weight:800; font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; }
.review-sidebar-media.has-photo{ position:relative; justify-content:flex-end; min-height:220px; }
.review-sidebar-media.has-photo::after{
  content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,10,40,0) 40%, rgba(15,8,30,.88) 100%);
}
.review-sidebar-media.has-photo .media-name{ position:relative; z-index:2; }
.review-sidebar-body{ padding:20px; }
.verified-badge{ display:flex; align-items:center; gap:.4rem; font-size:.82rem; font-weight:600; color:var(--primary); margin-bottom:1rem; }
.verified-badge i{ font-size:1rem; }

.meta-stat-row{ display:flex; flex-wrap:wrap; gap:1.5rem 2.25rem; margin:1.25rem 0; }
.meta-stat{ display:flex; align-items:center; gap:.6rem; }
.meta-stat-icon{ width:36px; height:36px; border-radius:9px; background-color:var(--badge-bg); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.meta-stat-label{ font-size:.72rem; color:var(--text-muted); }
.meta-stat-value{ font-size:.88rem; font-weight:700; color:var(--text-heading); }

.rating-overview-card{
  background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:18px; padding:28px; height:100%;
}
.rating-big-num{ font-family:'Poppins',sans-serif; font-weight:800; font-size:3rem; color:var(--text-heading); line-height:1; }
.rating-overview-card .stars-lg{ color:var(--star-color); font-size:1.1rem; }
.rating-overview-label{ font-weight:700; font-size:.85rem; margin-top:.4rem; }
.rating-overview-sub{ font-size:.78rem; color:var(--text-muted); }
.rating-bar-row{ margin-bottom:.85rem; }
.rating-bar-row:last-child{ margin-bottom:0; }
.rating-bar-top{ display:flex; justify-content:space-between; font-size:.82rem; margin-bottom:.35rem; }
.rating-bar-top span:last-child{ font-weight:700; color:var(--text-heading); }
.rating-bar-track{ height:7px; border-radius:20px; background-color:var(--bg-section); overflow:hidden; }
.rating-bar-fill{ height:100%; border-radius:20px; background:linear-gradient(90deg, var(--primary-light), var(--primary)); }

.verdict-card{
  background-color:var(--badge-bg); border:1px solid var(--border-color); border-radius:18px; padding:28px; height:100%;
}
.verdict-icon{ width:44px; height:44px; border-radius:12px; background-color:var(--bg-card); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:1rem; }
.verdict-card h6{ font-weight:700; margin-bottom:.6rem; }
.verdict-card p{ font-size:.85rem; color:var(--text-body); margin-bottom:1rem; }
.verdict-tag{ display:inline-flex; align-items:center; gap:.4rem; color:#1a9c5c; font-weight:700; font-size:.85rem; }

.info-box{ background-color:var(--bg-card); border:1px solid var(--border-color); border-radius:16px; padding:24px; height:100%; }
.info-box.tinted{ background-color:var(--badge-bg); }
.info-box h6{ display:flex; align-items:center; gap:.5rem; font-weight:700; margin-bottom:1rem; }
.info-box ul{ list-style:none; padding:0; margin:0; }
.info-box ul li{ display:flex; align-items:flex-start; gap:.5rem; font-size:.85rem; color:var(--text-body); padding:.3rem 0; }
.info-box .pro-icon{ color:#1a9c5c; }
.info-box .con-icon{ color:#e0433a; }
.info-box p{ font-size:.85rem; color:var(--text-body); }
.info-box .link-arrow{ font-size:.82rem; font-weight:600; color:var(--primary); }

.feature-grid-item{ display:flex; gap:.75rem; padding:.75rem 0; }
.feature-grid-icon{ width:38px; height:38px; border-radius:10px; background-color:var(--badge-bg); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.feature-grid-item h6{ font-size:.88rem; font-weight:700; margin-bottom:.15rem; }
.feature-grid-item p{ font-size:.78rem; color:var(--text-muted); margin-bottom:0; }

.testimonial-row{ display:flex; gap:.9rem; padding:1rem 0; border-bottom:1px solid var(--border-color); }
.testimonial-row:last-child{ border-bottom:none; }
.testimonial-avatar{ width:42px; height:42px; border-radius:50%; background-color:var(--badge-bg); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.testimonial-name{ font-weight:700; font-size:.88rem; }
.testimonial-tag{ font-size:.74rem; color:var(--text-muted); }
.testimonial-stars{ color:var(--star-color); font-size:.78rem; }
.testimonial-text{ font-size:.85rem; color:var(--text-body); margin:.35rem 0; }
.testimonial-date{ font-size:.72rem; color:var(--text-muted); }

.apply-cta-card{
  position:relative; border-radius:18px; overflow:hidden; padding:48px; color:#fff;
  background-image:linear-gradient(180deg, rgba(20,8,40,.25) 0%, rgba(15,6,32,.85) 100%), url('apply-cta-bg.png');
  background-size:cover; background-position:center;
  display:flex; flex-direction:column; justify-content:flex-end;
  min-height:520px; width:100%;
}
@media (max-width:767.98px){ .apply-cta-card{ min-height:420px; padding:32px; } }
.apply-cta-card h4{ color:#fff; font-weight:800; margin-bottom:.85rem; font-size:1.75rem; line-height:1.2; }
.apply-cta-card p{ color:rgba(255,255,255,.9); font-size:1.05rem; margin-bottom:1.4rem; line-height:1.6; }
.apply-cta-list{ list-style:none; padding:0; margin-bottom:1.75rem; }
.apply-cta-list li{ display:flex; align-items:center; gap:.65rem; font-size:1.02rem; font-weight:500; padding:.4rem 0; color:#fff; }
.apply-cta-list i{ color:#a78bfa; font-size:1.2rem; }
.apply-cta-card .btn{ font-size:1.02rem; padding:.75rem 1.5rem; }
