/*
Theme Name: BackupVerdict Theme
Author: BackupVerdict
Description: Custom theme for BackupVerdict
Version: 1.0
*/

/* ==========================================================================
   SCORE COLOR SYSTEM - Dynamic colors based on score value
   ========================================================================== */

/* 
   Color scheme for scores (3-tier):
   10.0 - 8.0: Indigo (excellent) - #4338ca to #6366f1
   7.9 - 4.0: Orange (mid) - #E8590C to #F97316
   3.9 - 0.0: Red (poor) - #be123c to #e11d48
*/

:root {
  --score-color-excellent-start: #3d5a80;
  --score-color-excellent-end: #5b7aa1;
  --score-color-mid-start: #E8590C;
  --score-color-mid-end: #F97316;
  --score-color-poor-start: #be123c;
  --score-color-poor-end: #e11d48;
  --rz-page-top-spacing: 2rem;

  /* ==========================================================================
     DESIGN SYSTEM COLORS (Designer palette)
     ========================================================================== */
  --rz-color-black: #000000;
  --rz-color-white: #ffffff;
  --rz-color-text: #1c1c28; /* Off-Black */

  --rz-color-dark-blue: #0f1b2d;   /* Navy */
  --rz-color-dark-purple: #0f1b2d; /* Navy */
  --rz-color-purple: #3d5a80;      /* Steel Blue */
  --rz-color-dark-grey: #9b8579;   /* Warm Stone */
  --rz-color-medium-grey: #d9d9d9;
  --rz-color-pearl: #f8f7f4;       /* Off-White */

  --rz-color-golden-yellow: #c9963b; /* Gold */
  --rz-color-mint-green: #75ca83;
  --rz-color-pink: #9b8579; /* Warm Stone */

  /* Semantic tokens */
  --rz-color-bg: var(--rz-color-pearl);
  --rz-color-surface: var(--rz-color-white);
  --rz-color-border: var(--rz-color-medium-grey);
  --rz-color-heading: var(--rz-color-text);
  --rz-color-muted: #5f636f;
  --rz-color-primary: var(--rz-color-purple);
  --rz-color-link: var(--rz-color-purple);
  --rz-color-link-hover: var(--rz-color-dark-purple);

  /* Gradients (designer system) */
  /* Purple Gradient — Figma Button 1 (and stroke) */
  --rz-gradient-purple: linear-gradient(90deg,
    #0f1b2d 0%,
    #3d5a80 50%,
    #0f1b2d 100%
  );
  --rz-gradient-pearl: linear-gradient(180deg, var(--rz-color-pearl) 0%, var(--rz-color-white) 100%);
  --rz-gradient-mint: linear-gradient(135deg, var(--rz-color-mint-green) 0%, var(--rz-color-pearl) 100%);
  --rz-gradient-pink: linear-gradient(135deg, var(--rz-color-pink) 0%, var(--rz-color-purple) 100%);

  /* Progress bars (designer spec) */
  --rz-progress-track: #d9d9d9;
  --rz-progress-stroke: #6b7280;
  --rz-progress-pink: #9b8579;
  --rz-progress-yellow: #fcc800;
  --rz-progress-green: #75ca83;

  /* Buttons (designer spec) */
  --rz-button-height: 32px;
  --rz-button-radius: 8px;
  --rz-button-stroke: 1px;
  --rz-button-padding-x: 12px;
  --rz-button-shadow: 0 4px 4px rgba(107, 114, 128, 0.25);
  --rz-button-secondary-fill: #ffffff;
  --rz-button-primary-text: var(--rz-color-white);
  --rz-button-secondary-text: var(--rz-color-link);

  /* Typography (designer spec) */
  --rz-font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rz-font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --rz-content-max-width: 1280px;
  --rz-page-gutter: 2rem;
}

@media (max-width: 768px) {
  :root {
    --rz-page-gutter: 1rem;
  }
}

@media (min-width: 901px) {
  :root {
    --rz-page-top-spacing: 2.75rem;
  }
}

/* Reset & Basics */
html {
    height: 100%;
    overflow-x: clip;
}

body {
    min-height: 100vh;
    overflow-x: clip;
    width: 100%;
}

body {
    margin: 0;
    font-family: var(--rz-font-body);
    line-height: 1.5;
    color: var(--rz-color-text);
    display: flex;
    flex-direction: column;
}

/* Global headings — design system */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--rz-font-heading);
    color: var(--rz-color-heading);
}

h1,
.review-article__title,
.product-review__title,
.methodology-article__title,
.tos-privacy-article__title,
.advertiser-disclosure-article__title,
.all-guides-page__title,
.guide-article__title,
.all-news-page__title,
.news-article__title,
.awards-page__title,
.contact-article__title,
.all-reviews-title {
    color: var(--rz-color-dark-purple);
}

/* Global links — avoid overriding buttons/CTAs */
.site-main a:not(.product-card__cta-button):not(.product-card__header-cta):not(.product-review__cta-button):not(.product-review-cta__button):not(.product-review__cta-button--secondary):not(.product-review__cta-button--pink):not(.product-review__cta-button--primary):not(.wp-element-button):not(.wp-block-button__link):not(.rz-button--primary):not(.rz-button--secondary):not(.hp-platform-card__btn):not(.hp-guides__btn):not(.article-toc__link):not(.article-toc__child-link):not(.product-review-toc__link):not(.mobile-toc__link):not(.mobile-toc__child-link) {
    color: var(--rz-color-link);
}
.site-main a:not(.product-card__cta-button):not(.product-card__header-cta):not(.product-review__cta-button):not(.product-review-cta__button):not(.product-review__cta-button--secondary):not(.product-review__cta-button--pink):not(.product-review__cta-button--primary):not(.wp-element-button):not(.wp-block-button__link):not(.rz-button--primary):not(.rz-button--secondary):not(.hp-platform-card__btn):not(.hp-guides__btn):not(.article-toc__link):not(.article-toc__child-link):not(.product-review-toc__link):not(.mobile-toc__link):not(.mobile-toc__child-link):hover {
    color: var(--rz-color-link-hover);
}

/* Push footer to bottom */
.site-main {
    flex: 1;
}

a {
    text-decoration: none;
    color: inherit;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

/* Header Styles */
.site-header {
    padding: 0.75rem var(--rz-page-gutter);
    background: var(--rz-color-white);
    position: relative;
    z-index: 10050;
}

.site-header__inner {
    display: flex;
    align-items: center;
    max-width: var(--rz-content-max-width);
    margin: 0 auto;
}

/* ==========================================================================
   NAV AUTH BUTTON — login / email in header
   ========================================================================== */

.nav-auth--desktop {
    position: relative;
    margin-left: auto;
    margin-right: 0;
    flex-shrink: 0;
}

.nav-auth--mobile {
    display: none;
}

.nav-auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 18px;
    font-family: var(--rz-font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--rz-color-white);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    transition: background 0.15s, border-color 0.15s;
}

.nav-auth-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

.nav-auth-btn--login {
    background: var(--rz-color-white);
    color: var(--rz-color-dark-blue);
    border-color: var(--rz-color-white);
    min-width: 100px;
}

.nav-auth-btn--login:hover {
    background: var(--rz-color-pearl);
    border-color: var(--rz-color-pearl);
    color: var(--rz-color-dark-blue);
}

.nav-auth-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: var(--rz-color-white);
    border: 1px solid var(--rz-color-border);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    padding: 4px;
    z-index: 100;
    min-width: 120px;
    width: max-content;
}

.nav-auth-dropdown[hidden] {
    display: none;
}

.nav-auth-logout {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 14px;
    font-family: var(--rz-font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--rz-color-muted);
    background: none;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
    transition: background 0.1s, color 0.1s;
}

.nav-auth-logout:hover {
    background: var(--rz-color-pearl);
    color: var(--rz-color-heading);
}

/* ==========================================================================
   LOGIN PAGE — /sign-in/
   ========================================================================== */

.site-main--login {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 200px);
    padding: 40px 16px;
}

.login-page {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.login-page__card {
    background: var(--rz-color-white);
    border-radius: 16px;
    padding: 40px 36px 32px;
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    text-align: center;
}

.login-page__heading {
    font-family: var(--rz-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--rz-color-heading, #1e293b);
    margin: 0 0 8px;
}

.login-page__subtext {
    font-size: 0.9375rem;
    color: var(--rz-color-muted);
    margin: 0 0 28px;
    line-height: 1.5;
}

.login-page__step[hidden] {
    display: none !important;
}

.login-page__form {
    text-align: left;
}

.login-page__sent-email {
    color: var(--rz-color-heading, #1e293b);
}

/* Page background (keep white; containers provide styling) */
body.has-gradient-header {
    background: linear-gradient(180deg, var(--rz-color-pearl) 0%, #f3eee9 120px, var(--rz-color-pearl) 220px, var(--rz-color-white) 320px);
    background-repeat: no-repeat;
    background-color: var(--rz-color-white);
}

/* ==========================================================================
   DESIGN SYSTEM — TYPOGRAPHY (applied site-wide, not page-specific)
   H1: Outfit Bold 40px
   H2: Outfit SemiBold 32px
   H3: Outfit SemiBold 24px
   H4: Outfit Bold 18px
   Body Large: Inter Regular 18px / 28px
   Body: Inter Regular 16px / 26px
   Body Small: Inter Regular 14px / 22px
   Breadcrumb: Inter Medium 13px
   Tag/Label: Inter SemiBold 11px
   Caption: Inter Regular 12px
   ========================================================================== */

/* Extra info / captions / small text */
.product-card__methodology,
.product-card__extra-caption,
figcaption,
.wp-element-caption {
    font-family: var(--rz-font-body);
    font-weight: 300;
    font-size: 13px;
    line-height: 1.4;
}

/* Score labels, stat labels, small UI text */
.product-card__score-label,
.product-card__stats-label,
.product-card__overall-label {
    font-family: var(--rz-font-body);
    font-weight: 500;
    font-size: 13px;
}

/* Score values */
.product-card__score-value,
.product-card__overall-value {
    font-family: var(--rz-font-body);
    font-weight: 600;
}

/* Product card name */
.product-card__name {
    font-family: var(--rz-font-heading);
}

/* Rank number in product header */
.product-card__header {
    font-family: var(--rz-font-heading);
    font-weight: 700;
}

strong, b {
    font-weight: 600;
}

/* Progress bar track — design system */
.comparison-table__overall-bar-wrap {
  background: var(--rz-progress-track);
  border: 1px solid rgba(107, 114, 128, 0.22);
}

/* Common button / CTA system (site-wide) */
.wp-element-button,
.wp-block-button__link {
    height: var(--rz-button-height);
    line-height: calc(var(--rz-button-height) - (2 * var(--rz-button-stroke)));
    padding: 0 var(--rz-button-padding-x);
    border-radius: var(--rz-button-radius);
    background: var(--rz-color-primary, var(--rz-color-purple));
    color: var(--rz-color-white) !important;
    border: var(--rz-button-stroke) solid var(--rz-color-primary, var(--rz-color-purple));
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--rz-button-shadow);
    transition: filter 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
    box-shadow: var(--rz-button-shadow);
}

.wp-element-button:focus,
.wp-block-button__link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.18), var(--rz-button-shadow);
}

/* Ensure header is transparent on gradient pages */
body.has-gradient-header .site-header {
    background: transparent;
}

body.has-gradient-header .site-main {
    background: var(--rz-color-white);
}

.site-logo {
    font-weight: bold;
    font-size: 1.5rem;
    margin-right: 2rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    line-height: 1;
}

.site-logo .custom-logo-link {
    display: flex;
    align-items: center;
    line-height: 1;
}

.site-logo .custom-logo,
.site-logo img {
    display: block;
    max-height: 32px;
    width: auto !important;
    height: auto !important;
    max-width: 200px;
    object-fit: contain;
}

/* Navigation & Dropdowns */
.main-navigation ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1.5rem;
    align-items: center;
}

.main-navigation li {
    position: relative;
}

.main-navigation a,
.main-navigation button.menu-toggle {
    font-family: var(--rz-font-body);
    font-weight: 500;
    color: #444;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* Top-level nav links - padding on the <a> so click area matches hover area */
.main-navigation > ul > li > :is(a, button) {
    padding: 0.75rem 0;
}

/* Reset user-agent styles on top-level toggle buttons that the shared .main-navigation rule doesn't cover */
.main-navigation > ul > li > button.menu-toggle {
    background: none;
    border: 0;
    cursor: pointer;
    text-align: inherit;
    width: 100%;
}

/* Menu item logos (nav + footer) */
.main-navigation .menu-item-logo {
    display: block;
    max-height: 20px;
    width: auto !important;
    height: auto !important;
    max-width: 140px;
    object-fit: contain;
}

.main-navigation a:hover {
    color: #000;
}

/* Desktop: improve readability for wrapped nav labels */
@media (min-width: 901px) {
    .main-navigation > ul > li > :is(a, button),
    .main-navigation ul ul > li > a,
    .main-navigation ul ul ul a {
        line-height: 1.35;
    }
}

/* Make top-level nav hover area clickable, but reset for dropdowns */
.site-header .main-navigation > ul > li {
    cursor: pointer;
}

.site-header .main-navigation > ul > li > ul.sub-menu,
.site-header .main-navigation > ul > li > ul.sub-menu * {
    cursor: default;
}

.site-header .main-navigation > ul > li > ul.sub-menu a {
    cursor: pointer;
}

.main-navigation > ul > li:hover > :is(a, button) {
    color: #000;
}

/* Click-to-show menu system */
/* Show dropdown when clicked (mega-menu-open class) */
.main-navigation > ul > li.mega-menu-open > ul {
    display: flex !important;
}

/* Primary color for clicked/open state */
.main-navigation > ul > li.mega-menu-open > :is(a, button) {
    color: var(--rz-color-golden-yellow) !important;
}


/* Mega Menu Styling */
/* Level 1 (The main dropdown container) */
.main-navigation ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--rz-color-white);
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    z-index: 100;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    
    /* Vertical Column Layout */
    flex-direction: column;
    gap: 0.5rem;
    /* Fixed width for all single-column dropdowns */
    width: 260px;
}

/* Submenu shown via click (handled by .mega-menu-open class in JS) */

/* Level 2 Items (The Columns / Headers like "Platform") */
.main-navigation ul ul > li {
    flex: 0 0 auto; /* Don't stretch */
    width: 100%;
    padding: 0;
}

/* Level 2 Links - Make all nested links the same size (exclude view-all buttons) */
.main-navigation ul ul > li:not(.menu-item-view-all) > a {
    font-weight: 500;
    color: #374151;
    font-size: 0.95rem;
    letter-spacing: normal;
    padding: 0.4rem 0;
    border-bottom: none;
    margin-bottom: 0;
    display: block;
}

.main-navigation ul ul > li > a:hover {
    color: #000;
}

/* Header style (using data attribute or class) */
.main-navigation ul ul > li > a[data-header="true"],
.main-navigation ul ul > li.menu-item-header > a {
    text-transform: none;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: normal;
    padding: 0.4rem 0;
    margin-bottom: 0;
    color: #1f2937;
}

/* Non-clickable links (when "Disable link" is checked) - desktop only */
.main-navigation a[data-non-clickable="true"],
.main-navigation a[onclick="return false;"],
.mega-menu-column a[data-non-clickable="true"],
.main-navigation ul ul a[data-non-clickable="true"],
.main-navigation ul ul ul a[data-non-clickable="true"] {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
}

/* Level 3 List (The Links inside columns) - Always Visible */
.main-navigation ul ul ul {
    display: block !important; /* Force display block */
    position: static;
    box-shadow: none;
    border: none;
    padding: 0;
    min-width: 0;
    background: transparent;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Level 3 Items */
.main-navigation ul ul ul li {
    margin-bottom: 0.6rem;
}

/* Level 3 Links - Same size as Level 2 */
.main-navigation ul ul ul a {
    padding: 0;
    font-size: 0.95rem;
    color: #666;
    font-weight: normal;
    display: inline-block;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.main-navigation ul ul ul a:hover {
    color: #000;
    text-decoration: underline;
    background: none;
}

/* View All Menu Items - Styled as Buttons (any nesting level) */
.main-navigation ul ul li.menu-item-view-all,
.main-navigation ul ul ul li.menu-item-view-all {
    margin-top: 0.75rem;
    margin-bottom: 0;
    padding-top: 0.25rem;
}

.main-navigation ul ul li.menu-item-view-all a,
.main-navigation ul ul ul li.menu-item-view-all a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #374151;
    font-weight: 500;
    font-size: 0.875rem;
    text-align: center;
    text-decoration: none;
    background: var(--rz-color-white);
    transition: all 0.2s ease;
}

.main-navigation ul ul li.menu-item-view-all a:hover,
.main-navigation ul ul ul li.menu-item-view-all a:hover {
    color: #374151;
    border-color: #d1d5db;
    background-color: #f9fafb;
    text-decoration: none;
}

/* ==========================================================================
   MEGA MENU - Multi-Column Layout
   ========================================================================== */

/* Mega menu with columns */
.main-navigation ul ul.has-mega-columns {
    min-width: auto;
    width: auto;
    padding: 0;
    background: var(--rz-color-white);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    overflow: hidden;
    /* Make focusable for :focus-within to work */
    outline: none;
}


/* Columns wrapper */
.mega-menu-columns {
    display: flex;
}

/* Individual column */
.mega-menu-column {
    width: 50%;
    min-width: 260px;
    list-style: none;
    margin: 0;
    padding: 1.25rem 1.5rem;
    background: var(--rz-color-white);
    white-space: nowrap;
}

/* Alternating column backgrounds - odd columns grey, even columns white */
.mega-menu-column:nth-child(odd) {
    background: #f3f4f6;
}

.mega-menu-column:nth-child(even) {
    background: var(--rz-color-white);
}

/* Single column - white background, match standard dropdown width */
.mega-menu-column:only-child {
    background: var(--rz-color-white);
    width: 260px;
    min-width: 260px;
}

/* ==========================================================================
   COMMENTED OUT: Hover effects for menu columns
   To re-enable: uncomment this section and the JS in functions.php
   ========================================================================== */
/*
.mega-menu-column {
    transition: background 0.2s ease;
}

.mega-menu-column.column-active {
    background: #f3f4f6;
}

.mega-menu-column:only-child.column-active {
    background: var(--rz-color-white);
}
*/

/* Column header - large text */
.mega-menu-column > .menu-item-column-header {
    margin-bottom: 0;
}

.mega-menu-column > .menu-item-column-header > a {
    font-weight: 700;
    font-size: 1.1rem;
    color: #1a1a2e;
    display: block;
    margin-bottom: 1.25rem;
}

/* Column header's direct sub-menu */
.mega-menu-column > .menu-item-column-header > ul.sub-menu {
    display: block !important;
    position: static;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
}

/* Items directly under column header (like "Best For M365" or header groups) */
.mega-menu-column > .menu-item-column-header > ul.sub-menu > li {
    margin-bottom: 0.15rem;
}

.mega-menu-column > .menu-item-column-header > ul.sub-menu > li:not(.menu-item-view-all) > a {
    font-weight: 400;
    font-size: 0.95rem;
    color: #374151;
    display: block;
}

.mega-menu-column > .menu-item-column-header > ul.sub-menu > li:not(.menu-item-view-all) > a:hover {
    color: var(--rz-color-link);
}

/* Header (make bold) items - BIG gap above, wide gap below to children */
.mega-menu-column .menu-item-header {
    margin-top: 1rem !important;
    margin-bottom: 0.75rem !important;
}

/* First header after column title - no extra top margin */
.mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header:first-child {
    margin-top: 0 !important;
}

/* BUT if that first item has children OR is a button, add BIG gap */
.mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children:first-child,
.mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-view-all:first-child {
    margin-top: 2rem !important;
}

.mega-menu-column .menu-item-header > a {
    font-weight: 700 !important;
    color: #374151 !important;
}

/* Nested sub-menu under header items - very tight spacing */
.mega-menu-column .menu-item-header > ul.sub-menu {
    display: block !important;
    position: static;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.mega-menu-column .menu-item-header > ul.sub-menu > li {
    margin-bottom: 0.1rem;
}

.mega-menu-column .menu-item-header > ul.sub-menu > li > a {
    font-weight: 400;
    font-size: 0.95rem;
    color: #374151;
}

.mega-menu-column .menu-item-header > ul.sub-menu > li > a:hover {
    color: var(--rz-color-link);
}

/* View all buttons - big gap above (same as gap after column title) */
.mega-menu-column .menu-item-view-all {
    margin-top: 2rem !important;
}

.mega-menu-column .menu-item-view-all a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #374151 !important;
    font-weight: 500 !important;
    font-size: 0.875rem;
    text-align: center;
    text-decoration: none;
    background: var(--rz-color-white);
}

.mega-menu-column .menu-item-view-all a:hover {
    border-color: #d1d5db;
    background-color: #f9fafb;
    color: #374151 !important;
}


/* ==========================================================================
   MOBILE MENU - Hamburger toggle and slide-out drawer
   ========================================================================== */

/* Mobile Menu Toggle Button - Hidden on desktop */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
    position: relative;
    margin-left: auto;
}

.mobile-menu-toggle__bar {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hamburger to X animation when menu is open */
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__bar:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-menu-overlay.is-visible {
    opacity: 1;
}

/* Mobile Responsive Styles */
@media (max-width: 900px) {
    /* Shared vertical rhythm for mobile nav sections */
    .main-navigation {
        --mobile-nav-section-gap: 0.75rem;
    }
    /* Hide desktop auth, show mobile auth */
    .nav-auth--desktop {
        display: none;
    }
    .nav-auth--mobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 16px 0;
        margin-top: auto;
        border-top: 1px solid #e5e7eb;
        width: 100%;
    }

    .nav-auth__email {
        font-size: 0.875rem;
        color: #111827;
        font-weight: 600;
        line-height: 1.35;
        max-width: min(60vw, 280px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .nav-auth__logout-btn {
        font-size: 0.8125rem;
        color: #64748b;
        background: none;
        border: 1px solid #e2e8f0;
        border-radius: 6px;
        padding: 6px 14px;
        cursor: pointer;
        flex-shrink: 0;
    }

    .nav-auth__logout-btn--mobile {
        min-width: 120px;
        text-align: center;
    }

    .nav-auth--mobile .nav-auth__login-link,
    .nav-auth--mobile .nav-auth__login-link:hover {
        display: block;
        width: 100%;
        text-align: center;
        padding: 12px 16px;
        font-size: 0.9375rem;
        font-weight: 700;
        color: var(--rz-color-white);
        background: var(--rz-color-primary, var(--rz-color-purple));
        border-radius: 8px;
        text-decoration: none;
    }

    /* Show hamburger toggle */
    .mobile-menu-toggle {
        display: flex;
    }
    
    /* Show overlay when menu is open */
    .mobile-menu-overlay {
        display: block;
        pointer-events: none;
    }
    
    .mobile-menu-overlay.is-visible {
        pointer-events: auto;
    }
    
    /* Transform navigation into slide-out drawer */
    .main-navigation {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: 300px;
        max-width: 80vw;
        height: 100vh;
        height: 100dvh;
        background: var(--rz-color-white);
        z-index: 1000;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 60px 1.5rem 0 1.5rem !important;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        transform: translateX(100%);
        transition: transform 0.3s ease;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }
    
    .main-navigation.is-open {
        transform: translateX(0);
    }
    
    /* Menu content wrapper */
    .main-navigation > ul.menu {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure all child elements respect the container boundaries */
    .main-navigation * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Reset any inherited padding/margin on nested lists */
    .main-navigation ul {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Close button - fixed position to stay in top right of drawer */
    .mobile-menu-toggle {
        /* Default: live in the header so it scrolls away */
        position: relative;
        top: auto;
        right: auto;
        z-index: 1002;
    }

    /* Only fix the toggle when the drawer is open (acts as a close button) */
    body.mobile-menu-is-open .mobile-menu-toggle {
        position: fixed;
        top: 16px;
        right: 1.5rem;
    }
    
    /* Hide back to top when menu is open */
    body.mobile-menu-is-open .back-to-top {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none;
    }
    
    /* Ensure header doesn't clip the fixed nav */
    .site-header {
        position: static;
    }
    
    /* Stack menu items vertically */
    .main-navigation ul {
        display: block !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Remove all borders from nested items - only top-level items have dividers */
    .main-navigation ul ul li,
    .main-navigation ul ul ul li {
        border: none !important;
    }
    
    /* On mobile, items with children are always clickable (to toggle submenu) */
    .main-navigation li.menu-item-has-children > a,
    .main-navigation li.menu-item-header.menu-item-has-children > a {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    
    /* ==========================================================================
       TOP-LEVEL ITEMS - Section headers (BEST BACKUP, ALL REVIEWS, etc.)
       Large bold uppercase text, collapsible with children hidden by default
       ========================================================================== */
    
    .main-navigation > ul > li {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .main-navigation > ul > li:last-child {
        border-bottom: none;
    }
    
    .main-navigation > ul > li > :is(a, button) {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 1rem 0 !important;
        font-size: 1.0625rem !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
        color: #111827 !important;
    }

    /* Dropdown arrow for top-level items */
    .main-navigation > ul > li.menu-item-has-children > :is(a, button)::after {
        content: '';
        width: 10px;
        height: 10px;
        border-right: 2px solid #6b7280;
        border-bottom: 2px solid #6b7280;
        transform: rotate(45deg);
        flex-shrink: 0;
        margin-left: 0.75rem;
        transition: transform 0.2s ease;
    }

    /* Arrow rotates when expanded */
    .main-navigation > ul > li.menu-item-has-children.submenu-open > :is(a, button)::after {
        transform: rotate(-135deg);
    }
    
    /* Hide children by default */
    .main-navigation > ul > li > ul.sub-menu {
        display: none !important;
    }
    
    /* Show children when expanded */
    .main-navigation > ul > li.submenu-open > ul.sub-menu {
        display: block !important;
        padding-top: 0 !important;
        padding-bottom: 0.5rem !important;
    }
    
    /* ==========================================================================
       SIMPLE SUBMENUS - Direct children without column structure
       (e.g., ABOUT US > Our Mission, Methodology, or ALL M365 REVIEWS > CloudAlly)
       ========================================================================== */
    
    .main-navigation > ul > li > ul.sub-menu > li:not(.menu-item-column-header):not(.menu-item-header) > a {
        display: block !important;
        padding: 0.5rem 0 !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        color: #374151 !important;
        text-decoration: none !important;
    }
    
    .main-navigation > ul > li > ul.sub-menu > li:not(.menu-item-column-header):not(.menu-item-header) > a:hover {
        color: var(--rz-color-link) !important;
    }
    
    /* Header items (marked as bold) - style as bold section headers */
    .main-navigation > ul > li > ul.sub-menu > li.menu-item-header > a,
    .main-navigation ul ul li.menu-item-header > a {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0.5rem 0 !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        text-transform: none !important;
        color: #111827 !important;
        text-decoration: none !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    
    /* Arrow for header items with children */
    .main-navigation > ul > li > ul.sub-menu > li.menu-item-header.menu-item-has-children > a::after,
    .main-navigation ul ul li.menu-item-header.menu-item-has-children > a::after {
        content: '';
        width: 8px;
        height: 8px;
        border-right: 2px solid #6b7280;
        border-bottom: 2px solid #6b7280;
        transform: rotate(45deg);
        flex-shrink: 0;
        margin-left: 0.75rem;
        transition: transform 0.2s ease;
    }
    
    .main-navigation > ul > li > ul.sub-menu > li.menu-item-header.menu-item-has-children.submenu-open > a::after,
    .main-navigation ul ul li.menu-item-header.menu-item-has-children.submenu-open > a::after {
        transform: rotate(-135deg) !important;
    }
    
    /* Hide children of header items by default */
    .main-navigation > ul > li > ul.sub-menu > li.menu-item-header > ul.sub-menu {
        display: none !important;
    }
    
    /* Show when expanded */
    .main-navigation > ul > li > ul.sub-menu > li.menu-item-header.submenu-open > ul.sub-menu {
        display: block !important;
        padding-left: 0 !important;
    }
    
    /* ==========================================================================
       ALL SUBMENUS - Always visible, stacked vertically
       ========================================================================== */
    
    .main-navigation ul ul,
    .main-navigation ul ul.has-mega-columns {
        position: static !important;
        display: block !important;
        background: var(--rz-color-white) !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Mega menu columns - stack vertically */
    .mega-menu-columns {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    /* Add breathing room after last column group */
    .main-navigation > ul > li.submenu-open > ul.sub-menu .mega-menu-columns {
        padding-bottom: var(--mobile-nav-section-gap) !important;
    }
    
    .mega-menu-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        white-space: normal !important;
        display: block !important;
    }
    
    .mega-menu-column:last-child {
        margin-bottom: 0 !important;
    }

    /* Column group separation (do it on the wrapper to avoid weird stacking) */
    .mega-menu-column:not(:first-child) {
        border-top: 1px solid #e5e7eb !important;
        padding-top: var(--mobile-nav-section-gap) !important;
        margin-top: var(--mobile-nav-section-gap) !important;
    }
    
    .mega-menu-column:nth-child(odd),
    .mega-menu-column:nth-child(even) {
        background: transparent !important;
    }
    
    /* ==========================================================================
       COLUMN HEADERS - Section titles (FOR M365, BEST VPN, VPN REVIEWS)
       Same styling as top-level items
       ========================================================================== */
    
    .mega-menu-column > .menu-item-column-header {
        width: 100% !important;
        margin: 0 !important;
        /* Make column header spacing match top-level → first header spacing */
        padding: var(--mobile-nav-section-gap) 0 0 0 !important;
    }
    
    .mega-menu-column > .menu-item-column-header > a {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        /* Demote column headers so they read as sub-section headings */
        font-size: 1rem !important;
        font-weight: 700 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        color: #111827 !important;
        border-bottom: none !important;
    }
    
    /* No arrow on column headers */
    .mega-menu-column > .menu-item-column-header > a::after {
        display: none !important;
    }
    
    /* ==========================================================================
       MENU ITEMS - Regular links with border separators
       ========================================================================== */
    
    .mega-menu-column > .menu-item-column-header > ul.sub-menu {
        display: block !important;
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        width: 100% !important;
    }
    
    /* Individual menu items */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Mobile: remove desktop "big first item gap" under column headers */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children:first-child,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-view-all:first-child {
        margin-top: 0 !important;
    }
    
    /* Mobile: remove desktop header-item margins inside columns */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    
    /* Links - exclude view-all buttons */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li:not(.menu-item-view-all) > a {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0.5rem 0 !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        color: #374151 !important;
        white-space: normal !important;
        text-decoration: none !important;
    }
    
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li:not(.menu-item-view-all) > a:hover {
        color: var(--rz-color-link) !important;
    }
    
    /* ==========================================================================
       COLLAPSIBLE ITEMS - Items with children (By Location, By Device/OS)
       These can have class menu-item-has-children OR menu-item-header
       Show chevron arrow, click to expand
       ========================================================================== */
    
    /* Any non-column-header item that has a sub-menu gets an arrow */
    .main-navigation li:not(.menu-item-column-header) > a + ul.sub-menu,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > a::after,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > a::after {
        /* Arrow styles applied below */
    }
    
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > a::after,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > a::after {
        content: '';
        width: 8px;
        height: 8px;
        border-right: 2px solid #9ca3af;
        border-bottom: 2px solid #9ca3af;
        transform: rotate(45deg);
        flex-shrink: 0;
        margin-left: 0.75rem;
        transition: transform 0.2s ease;
    }
    
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children.submenu-open > a::after,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header.submenu-open > a::after {
        transform: rotate(-135deg) !important;
    }
    
    /* Collapsible children - HIDDEN by default */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > ul.sub-menu {
        display: none !important;
        position: static !important;
        padding: 0 0 0.25rem 1rem !important;
        margin: 0 !important;
        background: transparent !important;
        width: 100% !important;
    }
    
    /* Show when expanded */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children.submenu-open > ul.sub-menu,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header.submenu-open > ul.sub-menu {
        display: block !important;
    }
    
    /* Expanded child items */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > ul.sub-menu > li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Expanded child links */
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > ul.sub-menu > li > a {
        display: block !important;
        padding: 0.75rem 0 !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        color: #374151 !important;
        white-space: normal !important;
        text-decoration: none !important;
    }
    
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-header > ul.sub-menu > li > a:hover {
        color: var(--rz-color-link) !important;
    }
    
    /* ==========================================================================
       VIEW ALL BUTTONS - Match desktop mega menu button styling
       ========================================================================== */
    
    .mega-menu-column .menu-item-view-all,
    .main-navigation .menu-item-view-all,
    .main-navigation ul .menu-item-view-all,
    .main-navigation ul ul .menu-item-view-all,
    .main-navigation ul ul ul .menu-item-view-all,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-view-all,
    li.menu-item-view-all {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: none !important;
    }
    
    .mega-menu-column .menu-item-view-all a,
    .main-navigation .menu-item-view-all a,
    .main-navigation ul .menu-item-view-all a,
    .main-navigation ul ul .menu-item-view-all a,
    .main-navigation ul ul ul .menu-item-view-all a,
    .main-navigation ul ul ul li.menu-item-view-all a,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-view-all > a,
    li.menu-item-view-all a,
    li.menu-item-view-all > a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0.75rem 1rem !important;
        margin: 0.75rem 0 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 6px !important;
        color: #374151 !important;
        font-weight: 500 !important;
        font-size: 0.875rem !important;
        text-align: center !important;
        text-decoration: none !important;
        background: var(--rz-color-white) !important;
        justify-content: center !important;
    }
    
    .mega-menu-column .menu-item-view-all a:hover,
    .main-navigation .menu-item-view-all a:hover,
    .mega-menu-column > .menu-item-column-header > ul.sub-menu > li.menu-item-view-all > a:hover,
    li.menu-item-view-all a:hover {
        border-color: #d1d5db !important;
        background-color: #f9fafb !important;
        color: #374151 !important;
    }
    
    /* ==========================================================================
       HEADER ITEMS - Bold items within submenus
       ========================================================================== */
    
    .mega-menu-column .menu-item-header > a {
        font-weight: 600 !important;
        color: #1f2937 !important;
    }
    
    /* Keep header on gradient pages properly styled */
    body.has-gradient-header .main-navigation {
        background: var(--rz-color-white);
    }
}

/* Even smaller screens - slightly wider drawer */
@media (max-width: 400px) {
    .main-navigation {
        width: 100%;
        max-width: 85vw;
    }
}


/* Footer Styles */
.site-footer {
    background: var(--rz-color-dark-blue);
    border-top: none;
    padding: 3rem 0 0 0;
    margin-top: 0;
}

/* Footer Navigation Container */
.footer-nav-container {
    max-width: 900px;
    margin: 0 auto;
}

/* Footer Mega Menu Grid - spreads columns across full width */
.footer-menu-items {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-items > li {
    flex: 0 1 auto;
    min-width: 0;
}

/* Level 1 Items - column headers in brand gold */
.footer-menu-items > li > span.footer-menu-header {
    font-family: var(--rz-font-heading);
    font-weight: 600;
    font-size: 14px;
    margin: 0 0 1rem 0;
    text-transform: none;
    letter-spacing: normal;
    color: var(--rz-color-golden-yellow);
    display: block;
}

/* Level 2 Sub-lists */
.footer-menu-items .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-items .sub-menu li {
    margin-bottom: 0.5rem;
}

.footer-menu-items .sub-menu a {
    font-family: var(--rz-font-body);
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    pointer-events: auto;
    cursor: pointer;
}

.footer-menu-items .sub-menu a:hover {
    color: var(--rz-color-white);
    text-decoration: underline;
}

/* Responsive Footer */
@media (max-width: 768px) {
    .footer-menu-items {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }
}
@media (max-width: 480px) {
    .footer-menu-items {
        gap: 1.25rem;
    }
    .footer-content {
        font-size: 0.8rem;
        line-height: 1.6;
    }
    .footer-bottom {
        margin-top: 2rem;
        padding-top: 1.5rem;
    }
}

.footer-bottom {
    margin-top: 3rem;
    padding-top: 0;
}

.footer-content {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.875rem;
    line-height: 1.7;
    text-align: left;
    max-width: 900px;
    margin: 0 auto;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-content p {
    margin: 0.875rem 0;
}

.footer-content a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-content a:hover {
    color: var(--rz-color-white);
    text-decoration: underline;
}

/* Menu Item Logo Styles */
.footer-menu-items .menu-item-logo {
    max-width: 180px;
    max-height: 36px;
    display: block;
    margin-bottom: 0.5rem;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
}

/* Responsive Menu Logo */
@media (max-width: 768px) {
    .footer-menu-items .menu-item-logo {
        max-width: 140px;
        max-height: 32px;
    }
}


/* User Provided Global CSS */
.top10-products { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.top10-products__item { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: start; }
.top10-products__rank { font-weight: 700; font-size: 18px; line-height: 1; padding-top: 10px; color: var(--rz-color-purple); }
.top10-products__card { border: 1px solid var(--rz-color-border); background: var(--rz-color-surface); border-radius: 12px; padding: 14px; display: grid; grid-template-columns: 120px 1fr; gap: 14px; box-shadow: 0 10px 24px rgba(1, 39, 71, 0.06); }
.top10-products__logo { width: 100%; height: auto; display: block; }
.top10-products__title { margin: 0 0 8px; color: var(--rz-color-heading); }
.top10-products__desc { margin: 0 0 10px; }
.top10-products__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.top10-products__pill { border: 1px solid var(--rz-color-border); border-radius: 999px; padding: 4px 10px; font-size: 13px; color: var(--rz-color-muted); background: rgba(240, 252, 254, 0.6); }
@media (max-width: 720px) {
  .top10-products__item { grid-template-columns: 1fr; }
  .top10-products__card { grid-template-columns: 1fr; }
}
.top10-products__points { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.top10-products__points-title { margin: 0 0 6px; font-size: 15px; }
.top10-products__points-list { margin: 0; padding-left: 18px; }
.top10-products__points-cat { font-size: 12px; opacity: .7; color: var(--rz-color-muted); }
@media (max-width: 720px) {
  .top10-products__points { grid-template-columns: 1fr; }
}

.product-section__writeup { margin-top: 12px; }
.product-section__writeup-editor {
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed rgba(0,0,0,.2);
  border-radius: 12px;
  min-height: 48px;
}

.product-section__writeup-editor {
  border-color: var(--rz-color-border);
}

/* Product Stack Sort Dropdown */
.product-stack__sort {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 2rem 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.product-stack__sort-label {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  letter-spacing: 0.01em;
}

.product-stack__sort-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--rz-color-surface);
  background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"%3E%3Cpath fill="%2360657B" d="M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  border: 1px solid var(--rz-color-border);
  border-radius: 6px;
  padding: 8px 36px 8px 12px;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-text);
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
  min-width: 160px;
}

.product-stack__sort-select:hover {
  border-color: var(--rz-color-dark-grey);
  background-color: rgba(240, 252, 254, 0.6);
}

.product-stack__sort-select:focus {
  border-color: var(--rz-color-purple);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.14);
}

@media (max-width: 480px) {
  .product-stack__sort {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .product-stack__sort-select {
    width: 100%;
  }
}

/* ==========================================================================
   PRODUCT STACK & CARD LAYOUT
   ========================================================================== */

/* Product stack container - constrained width matching intro */
.product-stack {
  max-width: 620px;
}

/* Remove visible card wrapper on front-end (keep spacing only) */
.product-card {
  margin-bottom: 0;
}

/* Add divider between product sections */
.product-section:not(:last-child) {
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--rz-color-border);
  margin-bottom: 3rem;
}

.product-section:last-child .product-card {
  margin-bottom: 0;
}

/* WordPress Separator/Divider Block - Match product stack divider style */
.wp-block-separator {
  border: none;
  border-top: none;
  border-bottom: 1px solid var(--rz-color-border);
  margin: 2.5rem 0;
  height: 0;
  background: transparent;
}

.wp-block-separator.is-style-wide {
  border-bottom: 1px solid var(--rz-color-border);
}

.wp-block-separator.is-style-dots {
  border-bottom: 1px solid var(--rz-color-border);
  background: transparent;
}

.wp-block-separator.is-style-dots::before {
  display: none;
}

/* Header: "2. NordVPN: Best Runner-up" */
.product-card__header {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

/* Tighten spacing when sponsored badge is present */
.product-section.is-sponsored .product-card__header {
  margin-top: 0;
}

.product-card__rank-num {
  color: var(--rz-color-heading);
}

.product-card__product-name {
  color: var(--rz-color-heading);
}

.product-card__header-extra {
  color: var(--rz-color-muted);
  font-weight: 400;
}

/* Hero image area - no border/box, same width as body box */
.product-card__hero-wrap {
  width: 100%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

/* Gradient background - toggled via checkbox */
/* CSS background-image kept as visual fallback; the <img> tag in the HTML
   provides preload scanner discoverability for LCP performance. */
.product-card__hero-wrap.has-gradient-bg {
  background-color: var(--rz-color-white);
  background-image: var(--rmb-image-bg, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 2rem;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
  max-height: 320px;
  position: relative;
}

/* Background graphic <img> - provides preload scanner discoverability.
   Sits on top of the CSS background (same image, browser deduplicates the request). */
.product-card__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: 0;
  pointer-events: none;
}

.product-card__hero-wrap.has-gradient-bg .product-card__hero {
  position: relative;
  z-index: 1;
  max-width: 82%;
  max-height: 78%;
  min-height: 55%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.product-card__hero {
  max-width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
  border-radius: 8px;
}

/* Card body — Figma Style 1 "Summary Box" */
.product-card__body {
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 24px 24px 0;
  background: var(--rz-color-white);
}

/* Info row: logo + name + overall rating + header CTAs */
.product-card__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 1rem;
}

.product-card__info-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.product-card__header-ctas {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-shrink: 0;
}

.product-card__header-cta {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  background: var(--rz-color-primary, var(--rz-color-purple));
  color: var(--rz-color-white);
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  white-space: nowrap;
  transition: opacity 0.15s ease, transform 0.15s ease;
  line-height: 1.4;
  align-self: center;
  flex: 1;
  min-width: 100px;
}

/* Top 10 header-cta styles consolidated in FIGMA BUTTONS section at bottom */

.product-card__header-cta:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  color: var(--rz-color-white);
  text-decoration: none;
}

.product-card__header-cta--pink,
.product-card__header-cta--secondary {
  background: linear-gradient(135deg, #be185d 0%, #ec4899 100%);
}

/* Top 10 header-cta secondary styles consolidated in FIGMA BUTTONS section at bottom */

.product-card__logo-wrap {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 8px;
}

.product-card__title-area {
  flex: 1;
}

.product-card__name {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin-bottom: 0.25rem;
}

/* Scores grid - two columns */
.product-card__scores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.5rem;
  padding-bottom: 1rem;
}

/* Overall rating sits at the top of the scores box, spanning both columns */
.product-card__overall-rating {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.product-card__overall-label {
  font-size: 0.875rem;
  color: var(--rz-color-heading);
  font-weight: 500;
}

.product-card__overall-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--rz-color-heading);
}

.product-card__scores-col {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* Individual score row */
.product-card__score-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product-card__score-label {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--rz-color-text);
  font-weight: 500;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-card__score-bar-wrap {
  width: 70px;
  flex-shrink: 0;
  height: 10px;
  background: var(--rz-progress-track);
  border: 1px solid rgba(107, 114, 128, 0.22);
  border-radius: 5px;
  overflow: hidden;
}

.product-card__score-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
  border-radius: 4px;
  transition: width 0.3s ease;
}

.product-card__score-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  min-width: 50px;
  width: 50px;
  flex-shrink: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Methodology link at bottom of scores */
.product-card__methodology {
  margin: 0;
  padding: 28px 0 20px 0;
  border-top: 1px solid rgba(155, 133, 121, 0.46);
  font-size: 0.8125rem;
  color: var(--rz-color-text);
  line-height: 1.5;
  white-space: normal;
}

.product-card__methodology a {
  color: var(--rz-color-link);
  text-decoration: none;
}

.product-card__methodology a:hover {
  text-decoration: underline;
}

/* "See full review" link */
.product-card__review-link {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}

.product-card__review-link:hover {
  text-decoration: underline;
  color: var(--rz-color-link-hover);
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .product-stack {
    max-width: 100%;
    padding: 0 1rem;
  }
  
  .product-card__header {
    font-size: 1.25rem;
  }
  
  .product-card__scores {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  
  .product-card__score-bar-wrap {
    width: 50px;
  }
  
  .product-card__score-value {
    min-width: 45px;
    width: 45px;
    font-size: 0.7rem;
  }
  
  .product-card__info {
    flex-direction: column;
    text-align: center;
  }
  
  .product-card__info-left {
    flex-direction: column;
    text-align: center;
  }
  
  .product-card__header-ctas {
    width: 100%;
    flex-direction: row;
    justify-content: center;
  }
  
  .product-card__overall-rating {
    justify-content: flex-start;
  }
}

/* Description below the scores box */
.product-card__description {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--rz-color-text);
}

.product-card__description p {
  margin: 0 0 1rem 0;
}

.product-card__description p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   GUTENBERG EDITOR - Show divider boxes between products
   ========================================================================== */
/* Gutenberg editor — Figma Style 1 "Summary Box" */
.block-editor-block-list__layout .product-card,
.editor-styles-wrapper .product-card {
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 24px;
  background: var(--rz-color-white);
}

/* WordPress Table Block - Editor Styles */
.editor-styles-wrapper .wp-block-table {
  margin: 1.5rem 0;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-white);
}

.editor-styles-wrapper .wp-block-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  border: none;
}

.editor-styles-wrapper .wp-block-table thead {
  background: var(--rz-color-pearl);
  border-bottom: 1px solid var(--rz-color-border);
}

.editor-styles-wrapper .wp-block-table thead th,
.editor-styles-wrapper .wp-block-table thead th[data-rich-text-placeholder] {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  padding: 0.625rem 0.75rem;
  text-align: left;
  border: none;
  border-right: 1px solid var(--rz-color-border);
}

.editor-styles-wrapper .wp-block-table thead th:last-child {
  border-right: none;
}

.editor-styles-wrapper .wp-block-table tbody tr {
  border-bottom: 1px solid var(--rz-color-border);
}

.editor-styles-wrapper .wp-block-table tbody tr:last-child {
  border-bottom: none;
}

.editor-styles-wrapper .wp-block-table td {
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.5rem 0.75rem;
  border-right: 1px solid var(--rz-color-border);
  vertical-align: middle;
  color: var(--rz-color-text);
  background: var(--rz-color-white);
}

.editor-styles-wrapper .wp-block-table td:last-child {
  border-right: none;
}

/* Row Headers style - first column styled like a label */
.editor-styles-wrapper .wp-block-table.is-style-row-headers td:first-child {
  color: var(--rz-color-text);
  background: var(--rz-color-pearl);
  border-right: 1px solid var(--rz-color-border);
}

.editor-styles-wrapper .wp-block-table figcaption {
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  text-align: center;
  padding: 0.5rem 0.75rem;
  background: var(--rz-color-pearl);
  border-top: 1px solid var(--rz-color-border);
}

/* ==========================================================================
   REVIEW ARTICLE TEMPLATE
   ========================================================================== */

.review-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section spans the full grid width */
.review-article__header {
  max-width: calc(620px + 280px + 2rem); /* content + sidebar + gap */
  margin: 0 auto 2rem auto; /* Centered */
}

h1.review-article__title,
.review-article__title {
  font-family: var(--rz-font-heading);
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

/* Content area */
.review-article__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

/* Remove default WordPress block spacing */
.review-article__content > .wp-block-acf-review-header,
.review-article__content > .wp-block-acf-summary-rankings,
.review-article__content > .wp-block-acf-product-stack,
.review-article__content > .wp-block-acf-article-content-section {
  margin-top: 0;
  margin-bottom: 0;
}

/* Consistent spacing between all blocks */
.review-article__content > * + * {
  margin-top: 3rem;
}

/* Prevent "blank line" Paragraph blocks from creating random extra gaps */
.review-article__content > p:empty,
.review-article__content > .wp-block-paragraph:empty {
  display: none;
  margin: 0;
}

/* Let the container control vertical rhythm (avoid double-spacing) */
.review-article__content > .wp-block-table {
  margin: 0;
}

/* Re-apply the rhythm for blocks that zero their own margins */
.review-article__content > * + .wp-block-table {
  margin-top: 3rem;
}

.review-article__content > * + .comparison-table {
  margin-top: 3rem;
}

/* Separator blocks: remove their own margins and use consistent gap */
.review-article__content > .wp-block-separator {
  margin: 0;
}

.review-article__content > * + .wp-block-separator {
  margin-top: 2rem;
}

.review-article__content > .wp-block-separator + * {
  margin-top: 2rem;
}

/* First block shouldn't have top margin */
.review-article__content > *:first-child {
  margin-top: 0;
}

.review-article__content p {
  margin: 0 0 1.25rem 0;
}

.review-article__content ul:not(.product-card__pros-list):not(.product-card__cons-list),
.review-article__content ol,
.review-article__content .wp-block-list,
.article-content-section__content ul:not(.product-card__pros-list):not(.product-card__cons-list),
.article-content-section__content ol,
.article-content-section__content .wp-block-list,
.collapsible-section__content ul:not(.product-card__pros-list):not(.product-card__cons-list),
.collapsible-section__content ol,
.collapsible-section__content .wp-block-list {
  margin: 0 0 1.25rem 1.5rem;
  padding-left: 1.25rem;
}

.review-article__content li,
.article-content-section__content li,
.collapsible-section__content li {
  margin-bottom: 0.5rem;
}

.review-article__content li:last-child,
.article-content-section__content li:last-child,
.collapsible-section__content li:last-child {
  margin-bottom: 0;
}

.review-article__content ul:last-child,
.review-article__content ol:last-child,
.review-article__content .wp-block-list:last-child,
.article-content-section__content ul:last-child,
.article-content-section__content ol:last-child,
.article-content-section__content .wp-block-list:last-child,
.collapsible-section__content ul:last-child,
.collapsible-section__content ol:last-child,
.collapsible-section__content .wp-block-list:last-child {
  margin-bottom: 0;
}

/* Preserve line breaks entered in Gutenberg text blocks */
.review-article__content .wp-block-paragraph,
.review-article__content p,
.article-content-section__content .wp-block-paragraph,
.article-content-section__content p,
.collapsible-section__content .wp-block-paragraph,
.collapsible-section__content p {
  white-space: pre-wrap;
}

/* Add a little extra breathing room for manual line breaks */
.review-article__content p br,
.article-content-section__content p br,
.collapsible-section__content p br {
  display: block;
  margin-top: 0.35rem;
}

.review-article__content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 2rem 0 1rem 0;
}

.review-article__content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 1.75rem 0 0.75rem 0;
}

/* ==========================================================================
   LIST ITEM WITH TICK/CROSS ICONS (per-item basis)
   ========================================================================== */

/* Individual list item with tick icon style */
li.is-style-tick {
  list-style: none;
  position: relative;
  padding-left: 0.5rem;
}

li.is-style-tick::before {
  content: '✓';
  position: absolute;
  left: -1.25rem;
  color: var(--rz-color-mint-green); /* Green color for tick */
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1.5;
}

/* Individual list item with cross icon style */
li.is-style-cross {
  list-style: none;
  position: relative;
  padding-left: 0.5rem;
}

li.is-style-cross::before {
  content: '✗';
  position: absolute;
  left: -1.25rem;
  color: var(--rz-color-pink); /* Red color for cross */
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1.5;
}

/* ==========================================================================
   ARTICLE CONTENT SECTION BLOCK
   ========================================================================== */

.article-content-section {
  margin-bottom: 0;
  scroll-margin-top: 100px; /* Account for sticky header when scrolling to anchor */
}

.article-content-section__heading {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0 !important; /* Override .review-article__content h2 */
}

/* Standard WP heading blocks in article body should match content-section headers */
.review-article__content .wp-block-heading,
.article-content-section__content .wp-block-heading {
  font-family: var(--rz-font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--rz-color-heading) !important;
}

/* Keep heading text color consistent even if heading contains a link */
.review-article__content .wp-block-heading a,
.article-content-section__content .wp-block-heading a,
.review-article__content .wp-block-heading a:hover,
.article-content-section__content .wp-block-heading a:hover,
.review-article__content .wp-block-heading a:focus,
.article-content-section__content .wp-block-heading a:focus,
.review-article__content .wp-block-heading a:active,
.article-content-section__content .wp-block-heading a:active,
.review-article__content .wp-block-heading a:visited,
.article-content-section__content .wp-block-heading a:visited {
  color: inherit !important;
  text-decoration: none !important;
}

.article-content-section__content {
  color: var(--rz-color-text);
  line-height: 1.7;
}

/* Consistent spacing between elements inside content sections */
.article-content-section__content > * + * {
  margin-top: 1rem;
}

/* Content sections should use the same rhythm for all inner blocks */
.article-content-section__content p {
  margin: 0 0 1.25rem 0;
}

.article-content-section__content p:last-child {
  margin-bottom: 0;
}

.article-content-section__content > .wp-block-table {
  margin: 0;
}

.article-content-section__content > * + .wp-block-table {
  margin-top: 1rem;
}

.article-content-section__content > * + .comparison-table {
  margin-top: 1rem;
}

/* Separator blocks inside content sections: follow section rhythm */
.article-content-section__content > .wp-block-separator {
  margin: 0;
}

.article-content-section__content > * + .wp-block-separator {
  margin-top: 1rem;
}

.article-content-section__content > .wp-block-separator + * {
  margin-top: 1rem;
}

/* Editor styles for Content Section */
.article-content-section__editor-label {
  display: none;
}

.block-editor-block-list__layout .article-content-section__editor-label,
.editor-styles-wrapper .article-content-section__editor-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #059669;
  background: #d1fae5;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.article-content-section__heading-placeholder {
  display: none;
}

.block-editor-block-list__layout .article-content-section__heading-placeholder,
.editor-styles-wrapper .article-content-section__heading-placeholder {
  display: block;
  font-size: 1rem;
  color: var(--rz-color-muted);
  font-style: italic;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
}

.block-editor-block-list__layout .article-content-section__inner,
.editor-styles-wrapper .article-content-section__inner {
  min-height: 80px;
  padding: 1rem;
  border: 2px dashed #d1d5db;
  border-radius: 8px;
  background: #fafafa;
}

/* ==========================================================================
   COLLAPSIBLE SECTION / EXPANDABLE BLOCK
   ========================================================================== */

/* Collapsible section — clean heading + divider style */
.collapsible-section {
  border: none;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.collapsible-section + .collapsible-section {
  margin-top: 1rem;
}

.collapsible-section:last-child {
  margin-bottom: 0;
}

.collapsible-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--rz-color-border, #d9d9d9);
  cursor: pointer;
  text-align: left;
  transition: color 0.15s ease;
}

.collapsible-section__header:hover {
  background: transparent;
}

/* Top 10 product-stack FAQs: no divider under collapsed title */
.product-stack .product-section .collapsible-section:not(.is-open) .collapsible-section__header {
  border-bottom: none;
}

.collapsible-section__title {
  font-family: var(--rz-font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.collapsible-section__icon {
  flex-shrink: 0;
  color: #6b7280;
  transition: transform 0.2s ease;
}

.collapsible-section.is-open .collapsible-section__icon {
  transform: rotate(180deg);
}

.collapsible-section__content {
  padding: 1rem 0;
  color: var(--rz-color-text, var(--rz-color-text));
  font-size: 1rem;
  line-height: 1.7;
  border-top: none;
  background: transparent;
}

.collapsible-section__content[hidden] {
  display: none;
}

.collapsible-section__content p {
  margin: 0 0 1rem 0;
}

.collapsible-section__content p:empty {
  margin: 0;
  min-height: 1rem;
}

.collapsible-section__content p:last-child {
  margin-bottom: 0;
}

/* Images inside collapsible sections and content sections */
.collapsible-section__content img,
.article-content-section__content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

.collapsible-section__content .wp-block-image,
.article-content-section__content .wp-block-image {
  margin: 0.75rem 0;
  border-radius: 8px;
  overflow: hidden;
}

.collapsible-section__content .wp-block-image img,
.article-content-section__content .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}

.collapsible-section__content .wp-block-image figcaption,
.article-content-section__content .wp-block-image figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  text-align: center;
  font-style: italic;
}

/* Video embeds inside collapsible sections and content sections */
.collapsible-section__content .wp-block-embed,
.collapsible-section__content .wp-block-video,
.article-content-section__content .wp-block-embed,
.article-content-section__content .wp-block-video {
  margin: 0.75rem 0;
}

.collapsible-section__content .wp-block-embed__wrapper,
.article-content-section__content .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: 6px;
}

.collapsible-section__content .wp-block-embed__wrapper iframe,
.collapsible-section__content .wp-block-embed__wrapper video,
.article-content-section__content .wp-block-embed__wrapper iframe,
.article-content-section__content .wp-block-embed__wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.collapsible-section__content .wp-block-embed figcaption,
.article-content-section__content .wp-block-embed figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  text-align: center;
  font-style: italic;
}

/* Editor styles for Expandable Block */
.collapsible-section__editor-label {
  display: none;
}

.block-editor-block-list__layout .collapsible-section__editor-label,
.editor-styles-wrapper .collapsible-section__editor-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-link);
  background: rgba(61, 90, 128, 0.12);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.collapsible-section__header-preview {
  display: none;
}

.block-editor-block-list__layout .collapsible-section__header-preview,
.editor-styles-wrapper .collapsible-section__header-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 1.25rem;
  background: transparent;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px 8px 0 0;
}

.collapsible-section__title-placeholder {
  font-size: 1rem;
  color: var(--rz-color-muted);
  font-style: italic;
}

.block-editor-block-list__layout .collapsible-section__inner,
.editor-styles-wrapper .collapsible-section__inner {
  min-height: 60px;
  padding: 1rem 1.25rem;
  border: 1px solid var(--rz-color-border);
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: rgba(155, 133, 121, 0.22);
}

/* Responsive */
@media (max-width: 768px) {
  .review-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .review-article__title {
    font-size: 2rem;
  }
}

/* ==========================================================================
   REVIEW HEADER BLOCK
   ========================================================================== */

.review-header {
  margin-bottom: 0;
}

.review-header__dates {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0 0 0.5rem 0;
}

.review-header__created {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  font-weight: 500;
}

.review-header__calendar-icon {
  flex-shrink: 0;
  color: var(--rz-color-muted);
}

.review-header__updated {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: #059669;
  font-weight: 500;
}

.review-header__tick-icon {
  flex-shrink: 0;
  color: #059669;
}

.review-header__credits {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  margin: 0 0 0.75rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.review-header__separator {
  color: #d1d5db;
}

.review-header__placeholder {
  color: var(--rz-color-muted);
  font-style: italic;
}

.review-header__divider {
  border: none;
  border-top: 1px solid var(--rz-color-border);
  margin: 0.75rem 0 0.75rem 0;
}

/* Breadcrumb navigation */
.review-header__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  margin-bottom: 1.25rem;
}

.review-header__breadcrumb-link {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.review-header__breadcrumb-link:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

.review-header__breadcrumb-sep {
  color: var(--rz-color-muted);
  font-weight: 400;
}

.review-header__breadcrumb-current {
  color: var(--rz-color-text);
  font-weight: 500;
}

.review-header__breadcrumb-placeholder {
  color: var(--rz-color-muted);
  font-style: italic;
}

/* ==========================================================================
   STANDALONE REVIEW BREADCRUMBS BLOCK
   ========================================================================== */

.review-breadcrumbs {
  margin-bottom: 1rem;
}

.review-breadcrumbs .review-header__breadcrumb {
  margin-bottom: 0;
}

.review-breadcrumbs__placeholder {
  color: var(--rz-color-muted);
  font-style: italic;
  font-size: 0.8125rem;
}

/* Editor label for Review Header */
.review-header__editor-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: rgba(155, 133, 121, 0.14);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
  display: inline-block;
}

/* ==========================================================================
   BRUSHED UNDERLINE STYLE (for Content Sections)
   ========================================================================== */

/* Content Section: Brushed Underline */
.article-content-section.is-style-brushed-underline .article-content-section__heading {
  padding-bottom: 0.75rem;
  width: fit-content;
  position: relative;
}

.article-content-section.is-style-brushed-underline .article-content-section__heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--rz-color-golden-yellow) 0%, rgba(201, 150, 59, 0.35) 70%, transparent 100%);
  border-radius: 2px;
}


/* ==========================================================================
   SUMMARY RANKINGS BLOCK
   ========================================================================== */

.summary-rankings {
  max-width: 620px;
  margin: 0 0 2rem 0;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

.summary-rankings__heading {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.75rem 0 !important;
}

.summary-rankings__description {
  font-size: 1rem;
  color: var(--rz-color-text);
  margin: 0 0 1rem 0;
  line-height: 1.6;
}

.summary-rankings__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-white);
}

/* Override global article list indentation/margins for this block */
.review-article__content .summary-rankings__list,
.article-content-section__content .summary-rankings__list {
  margin: 0;
  padding-left: 0;
}

.summary-rankings__item {
  min-height: 40px;
  background: var(--rz-color-pearl);
  padding: 8px 14px;
  display: grid;
  grid-template-columns: 20px minmax(140px, 160px) minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  margin-bottom: 0;
}

.summary-rankings__item:nth-child(even) {
  background: var(--rz-color-white);
}

.summary-rankings__rank {
  font-family: var(--rz-font-body);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  color: var(--rz-color-golden-yellow);
}

.summary-rankings__link {
  color: var(--rz-color-dark-blue);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.15s ease;
}

.summary-rankings__link:hover {
  color: var(--rz-color-dark-blue);
  text-decoration: none;
}

.summary-rankings__extra {
  font-family: var(--rz-font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  color: #737378;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.summary-rankings__placeholder {
  color: var(--rz-color-muted);
  font-style: italic;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.8);
  border: 1px dashed var(--rz-color-border);
  border-radius: 8px;
}

.summary-rankings__custom-content {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--rz-color-text);
}

.summary-rankings__custom-content p {
  margin: 0 0 1rem 0;
}

.summary-rankings__custom-content p:last-child {
  margin-bottom: 0;
}

.summary-rankings__custom-content ul,
.summary-rankings__custom-content ol {
  margin: 0 0 1rem 0;
  padding-left: 1.5rem;
}

.summary-rankings__custom-content li {
  margin: 0.5rem 0;
}

.summary-rankings__custom-content a {
  color: var(--rz-color-link);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s ease;
}

.summary-rankings__custom-content a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

/* Editor label for Summary Rankings - inline with heading */
.summary-rankings__editor-label {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: var(--rz-color-border);
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  margin-right: 0.5rem;
  vertical-align: middle;
}

/* ==========================================================================
   EDITOR STYLES - Block labels and structure visibility
   ========================================================================== */

/* Show labels only in editor */
.review-header__editor-label,
.summary-rankings__editor-label {
  display: none;
}

.block-editor-block-list__layout .review-header__editor-label,
.editor-styles-wrapper .review-header__editor-label {
  display: inline-block;
}

/* Summary rankings label is inline with heading */
.block-editor-block-list__layout .summary-rankings__editor-label,
.editor-styles-wrapper .summary-rankings__editor-label {
  display: inline;
}

/* Product Stack editor header */
.product-stack__editor-header {
  display: none;
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #f8f9fa;
  border: 1px dashed #d1d5db;
  border-radius: 4px;
}

.product-stack__editor-label {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: var(--rz-color-border);
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  margin-right: 0.5rem;
  vertical-align: middle;
}

.product-stack__editor-hint {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
}

.block-editor-block-list__layout .product-stack__editor-header,
.editor-styles-wrapper .product-stack__editor-header {
  display: block;
}

/* ==========================================================================
   ARTICLE TOC - Sticky sidebar navigation
   ========================================================================== */

/* Two-column layout wrapper */
.site-main--review {
  position: relative;
}

.review-article__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center; /* Center the grid in the container */
}

.review-article__main {
  min-width: 0;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .review-article__layout {
    display: block;
  }
  
  .review-article__main {
    max-width: 620px;
  }
  
  /* Hide desktop TOC in sidebar */
  .review-article__sidebar .article-toc {
    display: none;
  }
}

/* ==========================================================================
   MOBILE TOC DROPDOWN (Universal - works with all TOC types)
   ========================================================================== */

.mobile-toc {
  display: none;
}

/* Hide mobile TOC (and its spacer) when review gate is active */
body.review-gate-active .mobile-toc,
body.review-gate-active .mobile-toc__spacer {
  display: none !important;
}

@media (max-width: 1100px) {
  .mobile-toc {
    display: block;
    position: relative;
    z-index: 100;
    background: var(--rz-color-white);
    border-bottom: 1px solid rgba(107, 114, 128, 0.22);
    margin: 0 -1rem 1rem -1rem;
    padding: 0 1rem;
  }
  
  /* When fixed at top while scrolling */
  .mobile-toc.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 0 1rem;
    box-shadow: 0 2px 8px rgba(107, 114, 128, 0.15);
  }
  
  /* Spacer to prevent content jump when TOC becomes fixed */
  .mobile-toc__spacer {
    display: none;
    height: 0;
  }
  
  .mobile-toc__spacer.is-active {
    display: block;
  }
  
  .mobile-toc__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 0;
    cursor: pointer;
    user-select: none;
  }
  
  .mobile-toc__current {
    font-family: var(--rz-font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--rz-color-heading, var(--rz-color-dark-purple));
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 1rem;
  }
  
  .mobile-toc__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    color: #6b7280;
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.2s ease;
  }
  
  .mobile-toc.is-open .mobile-toc__toggle {
    transform: rotate(180deg);
  }
  
  .mobile-toc__toggle svg {
    width: 20px;
    height: 20px;
  }
  
  .mobile-toc__dropdown {
    display: none;
    max-height: 60vh;
    overflow-y: auto;
    padding-bottom: 1rem;
    border-top: 1px solid rgba(107, 114, 128, 0.22);
  }
  
  .mobile-toc.is-open .mobile-toc__dropdown {
    display: block;
  }
  
  .mobile-toc__list {
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0 0;
  }
  
  .mobile-toc__item {
    margin-bottom: 0.125rem;
  }
  
  .mobile-toc__link {
    display: block;
    padding: 0.75rem 1rem;
    font-family: var(--rz-font-body);
    font-size: 13px;
    font-weight: 400;
    color: var(--rz-color-heading, var(--rz-color-dark-purple));
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.15s ease;
  }

  .mobile-toc__link:visited,
  .mobile-toc__link:focus,
  .mobile-toc__link:active {
    color: var(--rz-color-heading, var(--rz-color-dark-purple));
    text-decoration: none;
  }
  
  .mobile-toc__link:hover {
    background-color: rgba(155, 133, 121, 0.22);
    color: var(--rz-color-heading, var(--rz-color-dark-purple));
  }
  
  .mobile-toc__item.is-active > .mobile-toc__link,
  .mobile-toc__item.is-current-parent > .mobile-toc__link {
    background-color: rgba(155, 133, 121, 0.22);
    color: var(--rz-color-heading, var(--rz-color-dark-purple));
    font-weight: 600;
  }
  
  .mobile-toc__children {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  
  .mobile-toc__item.is-current-parent .mobile-toc__children,
  .mobile-toc__item.is-expanded .mobile-toc__children {
    max-height: 2000px;
  }
  
  .mobile-toc__child-item {
    margin-bottom: 0.125rem;
  }
  
  .mobile-toc__child-link {
    display: block;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--rz-color-muted);
    text-decoration: none;
    border-radius: 6px;
    transition: background-color 0.15s ease;
  }

  .mobile-toc__child-link:visited,
  .mobile-toc__child-link:focus,
  .mobile-toc__child-link:active {
    color: var(--rz-color-muted);
    text-decoration: none;
  }
  
  .mobile-toc__child-link:hover {
    background-color: rgba(155, 133, 121, 0.14);
    color: var(--rz-color-heading);
  }
  
  .mobile-toc__child-item.is-active > .mobile-toc__child-link {
    background-color: rgba(155, 133, 121, 0.14);
    color: #111827;
    font-weight: 500;
  }

  .mobile-toc__link,
  .mobile-toc__child-link {
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Sponsored indicator removed by design */
  
  /* Backdrop overlay when TOC is open */
  .mobile-toc__backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  
  .mobile-toc__backdrop.is-visible {
    display: block;
    opacity: 1;
  }
  
  /* Prevent body scroll when TOC is open */
  body.mobile-toc-open {
    overflow: hidden;
  }
  
  /* Hide back to top button when TOC is open */
  body.mobile-toc-open .back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none;
  }
}

/* Sidebar container - sticky so it follows scroll */
.review-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.review-article__sidebar {
  /* Match individual product reviews: TOC box is styled on .article-toc__inner */
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

/* TOC styles - positioned via parent sticky container */

:root {
  --rz-toc-active-color: #0f1b2d;
  --rz-toc-default-color: #595966;
  --rz-toc-font-size: 13px;
}

.article-toc__inner {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 24px;
  box-shadow: none;
}

.article-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.article-toc__item {
  position: relative;
  margin-bottom: 0.25rem;
}

.article-toc__link {
  display: block;
  padding: 0.5rem 0.75rem;
  font-family: var(--rz-font-body);
  font-size: var(--rz-toc-font-size);
  font-weight: 400;
  color: var(--rz-toc-default-color);
  text-decoration: none;
  border-radius: 0;
  transition: color 0.15s ease;
  line-height: 1.4;
}

.article-toc__link:hover {
  background-color: transparent;
  color: var(--rz-toc-active-color);
}

/* Active parent state - no font-weight change to prevent layout shift */
.article-toc__item.is-current-parent > .article-toc__link {
  background-color: transparent;
  color: var(--rz-toc-active-color);
  font-weight: 600;
}

/* Some TOC builders add .is-active on the link itself */
.article-toc__link.is-active {
  background-color: transparent;
  color: var(--rz-toc-active-color);
  font-weight: 600;
}

/* Toggle button - hidden as we use hover now */
.article-toc__toggle {
  display: none;
}

/* Children list - flat (no indentation, matches parent items) */
.article-toc__children {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.25s ease, padding 0.3s ease;
}

.article-toc__item:hover .article-toc__children,
.article-toc__item.is-current-parent .article-toc__children,
.article-toc__item.is-expanded .article-toc__children {
  max-height: 1000px;
  opacity: 1;
  padding: 0.25rem 0 0.25rem 1rem;
}

.article-toc__child-item {
  margin-bottom: 0.125rem;
}

.article-toc__child-link {
  display: block;
  padding: 0.5rem 0.75rem;
  font-family: var(--rz-font-body);
  font-size: var(--rz-toc-font-size);
  font-weight: 400;
  color: var(--rz-toc-default-color);
  text-decoration: none;
  border-radius: 0;
  margin-left: 0;
  transition: color 0.15s ease;
  line-height: 1.4;
}

.article-toc__child-link:hover {
  background-color: transparent;
  color: var(--rz-toc-active-color);
}

.article-toc__child-item.is-active > .article-toc__child-link {
  background-color: transparent;
  color: var(--rz-toc-active-color);
  font-weight: 600;
}

/* Placeholder for editor preview */
.article-toc__placeholder {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  font-style: italic;
  margin: 0;
  padding: 0.5rem 0;
}

/* Editor preview adjustments */
.article-toc.is-preview {
  position: relative;
  right: auto;
  top: auto;
  width: 100%;
  max-width: 300px;
  margin: 1rem auto;
}

/* Editor label for the TOC block */
.article-toc__editor-label {
  display: none;
}

.block-editor-block-list__layout .article-toc__editor-label,
.editor-styles-wrapper .article-toc__editor-label {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: rgba(155, 133, 121, 0.14);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

/* Custom scrollbar for TOC */
.article-toc::-webkit-scrollbar {
  width: 4px;
}

.article-toc::-webkit-scrollbar-track {
  background: transparent;
}

.article-toc::-webkit-scrollbar-thumb {
  background: rgba(96, 101, 123, 0.35);
  border-radius: 2px;
}

.article-toc::-webkit-scrollbar-thumb:hover {
  background: rgba(96, 101, 123, 0.55);
}

/* ==========================================================================
   SPONSORED PRODUCT INDICATORS
   ========================================================================== */

/* Sponsored badge for product section */
.product-section.is-sponsored {
  position: relative;
}

.product-section.is-sponsored::before {
  content: 'Sponsored';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rz-color-link);
  color: var(--rz-color-white);
  font-family: var(--rz-font-body);
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid var(--rz-color-link);
  box-shadow: 0px 4px 4px 0px rgba(107, 114, 128, 0.25);
  width: fit-content;
  margin-bottom: 0.5rem;
  margin-top: 0;
  box-sizing: border-box;
}

.product-section.is-sponsored .product-card__header {
  margin-top: 0;
}

/* Sponsored indicators removed by design */

/* ==========================================================================
   INDIVIDUAL PRODUCT REVIEW TEMPLATE
   ========================================================================== */

.product-review {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
  overflow-x: clip;
}

.product-review__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.product-review__title,
.product-review__title {
  font-family: var(--rz-font-heading);
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

.product-review__hero-wrap {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 0 auto;
}

.product-review__body {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

/* Tab content visibility
   Both sections visible by default for SEO - crawlers see all content.
   JS adds 'product-review__body--tabs-enabled' class which activates tab hiding. */
.product-review__section {
  display: block;
}

.product-review__body--tabs-enabled .product-review__section {
  display: none;
}

.product-review__body--tabs-enabled .product-review__section.is-active {
  display: block;
}

.product-review__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: flex-start;
  padding-top: 1.5rem;
}

/* Overview section main content */
.product-review__section--overview .product-review__main {
  max-width: 620px;
}

/* Overview sidebar - just CTA, no TOC */
.product-review__sidebar--overview {
  display: block !important;
}

/* Ensure overview section uses grid layout */
.product-review__section--overview .product-review__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
}

.product-review__main {
  min-width: 0;
}

/* Align main + sidebar to the same top baseline (remove browser default top margins) */
.product-review__main > *:first-child,
.product-review__sidebar > *:first-child {
  margin-top: 0;
}

/* Also remove default top margin on the first Gutenberg block inside our InnerBlocks wrappers */
.product-review-overview__inner > *:first-child,
.product-review-full__inner > *:first-child {
  margin-top: 0;
}

/* Photo blocks (match Top 10 article image rounding) */
.product-review__main .wp-block-image,
.product-review__main figure.wp-block-image {
  margin: 0.75rem 0;
}

.product-review__main .wp-block-image img,
.product-review__main figure.wp-block-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.product-review__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  padding-top: 0;
}

/* Sidebar Info Box — styled to match article-toc__inner */
.product-review__info-box {
  background: #ffffff;
  border: none;
  border-radius: 12px;
  padding: 24px;
  box-shadow: none;
  margin-bottom: 1rem;
}

.product-review__info-box-title {
  font-family: var(--rz-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  margin: 0 0 0.5rem 0;
  padding: 0;
}

.product-review__info-box-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  border-top: 1px solid var(--rz-color-border, #d9d9d9);
}

.product-review__info-box-row {
  border-bottom: 1px solid var(--rz-color-border, #d9d9d9);
}

.product-review__info-box-row:last-child {
  border-bottom: none;
}

.product-review__info-box-label,
.product-review__info-box-value {
  padding: 0.625rem 0;
  font-size: 0.875rem;
  vertical-align: middle;
  width: 50%;
}

.product-review__info-box-label {
  color: var(--rz-color-text, var(--rz-color-text));
  font-weight: 400;
  padding-right: 0.5rem;
}

.product-review__info-box-value {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  font-weight: 500;
  text-align: right;
  padding-left: 0.5rem;
}

/* Sidebar CTA Box */
.product-review__cta-box {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 24px;
  background: var(--rz-gradient-pearl);
  border: none;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.product-review__cta-button {
  display: block;
  padding: 6px 16px;
  background: var(--rz-color-primary, var(--rz-color-purple));
  color: var(--rz-color-white);
  font-family: var(--rz-font-body);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;
  box-shadow: 0 4px 4px rgba(107, 114, 128, 0.25);
  transition: background 0.2s ease, box-shadow 0.2s ease;
  line-height: 1.3;
}

.product-review__cta-button:visited {
  color: var(--rz-color-white);
}

.product-review__cta-button:hover {
  filter: brightness(0.92);
  box-shadow: 0 4px 8px rgba(107, 114, 128, 0.35);
  color: var(--rz-color-white);
  text-decoration: none;
}

/* Secondary CTA variant (legacy: --pink) */
.product-review__cta-button--pink,
.product-review__cta-button--secondary {
  background: linear-gradient(var(--rz-color-white), var(--rz-color-white)) padding-box,
              var(--rz-gradient-purple) border-box;
  border: 1px solid transparent;
  color: var(--rz-color-link);
}

.product-review__cta-button--pink:visited,
.product-review__cta-button--secondary:visited {
  color: var(--rz-color-link);
}

.product-review__cta-button--pink:hover,
.product-review__cta-button--secondary:hover {
  background: linear-gradient(var(--rz-color-pearl), var(--rz-color-pearl)) padding-box,
              var(--rz-gradient-purple) border-box;
  color: var(--rz-color-link);
  box-shadow: 0 4px 10px rgba(107, 114, 128, 0.22);
}

@media (max-width: 1100px) {
  .product-review__layout,
  .product-review__section--overview .product-review__layout {
    display: block;
  }
  
  .product-review__main {
    max-width: 620px;
  }
  
  .product-review__sidebar {
    display: none;
  }
}

@media (max-width: 640px) {
  .product-review__main,
  .product-review__section--overview .product-review__main {
    max-width: 100%;
  }
}

/* ==========================================================================
   PRODUCT REVIEW HERO BLOCK
   ========================================================================== */

.product-review-hero {
  margin-bottom: 2rem;
}

.product-review-hero__image-wrap {
  width: 100%;
  overflow: hidden;
  margin-bottom: 1.5rem;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  aspect-ratio: 120 / 61;
}

.product-review-hero__image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Gradient background - same approach as product cards on Top 10 pages. */
.product-review-hero__image-wrap.has-gradient-bg {
  background-color: var(--rz-color-white);
  position: relative;
}

/* Background graphic <img> - same pattern as .product-card__bg-img on Top 10.
   Lazy-loaded so the hero <img> (fetchpriority=high) is the LCP, not this. */
.product-review-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: 0;
  pointer-events: none;
}

.product-review-hero__image-wrap.has-gradient-bg .product-review-hero__image {
  position: relative;
  z-index: 1;
  max-width: 78%;
  max-height: 70%;
  min-height: 52%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.product-review-hero__placeholder {
  padding: 3rem;
  text-align: center;
  background: rgba(155, 133, 121, 0.10);
  border: 1px dashed var(--rz-color-border);
  border-radius: 16px;
  color: var(--rz-color-muted);
  font-style: italic;
  margin-bottom: 1.5rem;
}

.product-review-hero__tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid rgba(107, 114, 128, 0.22);
}

/* Google Preferred Source button block */
.google-preferred-source {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-start;
}

.google-preferred-source__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.google-preferred-source__img {
  display: block;
  max-width: 150px;
  height: auto;
}

@media (max-width: 640px) {
  .google-preferred-source__img {
    max-width: 130px;
  }
}

/* Editor styles */
.editor-styles-wrapper .google-preferred-source {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-start;
}

.editor-styles-wrapper .google-preferred-source__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.editor-styles-wrapper .google-preferred-source__img {
  display: block;
  max-width: 150px;
  height: auto;
}

.product-review-hero__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  min-width: 140px;
  background: none;
  border: none;
  font-family: var(--rz-font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--rz-color-muted, #6b7280);
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}

.product-review-hero__tab:hover {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.product-review-hero__tab.is-active {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  font-weight: 600;
  cursor: default;
  pointer-events: none;
}

.product-review-hero__tab.is-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--rz-color-link);
}

.product-review-hero__tab svg {
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .product-review-hero__tabs {
    gap: 0;
  }
  
  .product-review-hero__tab {
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.875rem 1rem;
    font-size: 0.8125rem;
    max-width: 140px;
  }
  
  .product-review-hero__tab svg {
    width: 24px;
    height: 24px;
  }
}

/* ==========================================================================
   STICKY BOTTOM TAB BAR (Overview / Full Review)
   ========================================================================== */

.product-review__bottom-tabs {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--rz-color-white);
  border-top: 1px solid var(--rz-color-border);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(100%);
  transition: transform 0.25s ease;
  pointer-events: none;
}

.product-review__bottom-tabs.is-visible {
  transform: translateY(0);
  pointer-events: auto;
}

.product-review__bottom-tabs-inner {
  display: flex;
  justify-content: center;
  gap: 0;
  max-width: 480px;
  margin: 0 auto;
}

.product-review__bottom-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 1;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
  font-family: inherit;
}

.product-review__bottom-tab:hover {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.product-review__bottom-tab.is-active {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  font-weight: 600;
  cursor: default;
  pointer-events: none;
}

.product-review__bottom-tab.is-active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--rz-color-link);
}

.product-review__bottom-tab svg {
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .product-review__bottom-tab {
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.625rem 0.75rem;
    font-size: 0.75rem;
  }
  
  .product-review__bottom-tab svg {
    width: 20px;
    height: 20px;
  }
}

/* ==========================================================================
   PRODUCT REVIEW OVERVIEW BLOCK
   ========================================================================== */

.product-review-overview {
  max-width: 620px;
  margin-bottom: 2.5rem;
  padding-top: 0;
}

.product-review-overview__heading {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
}

.product-review-overview__summary {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1.5rem;
}

.product-review-overview__summary p {
  margin: 0 0 1rem 0;
}

.product-review-overview__summary p:last-child {
  margin-bottom: 0;
}

.product-review-overview__scores-wrap {
  background: rgba(155, 133, 121, 0.10);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.product-review-overview__overall {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.product-review-overview__product-name {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin-bottom: 0.5rem;
}

.product-review-overview__overall-score {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.product-review-overview__score-bar-wrap {
  flex: 1;
  height: 10px;
  background: var(--rz-color-border);
  border-radius: 5px;
  overflow: hidden;
}

.product-review-overview__score-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
  border-radius: 5px;
  transition: width 0.3s ease;
}

.product-review-overview__score-value {
  font-size: 1rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  min-width: 50px;
}

.product-review-overview__individual-scores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.5rem;
}

.product-review-overview__score-row {
  display: grid;
  grid-template-columns: 1fr 80px 50px;
  align-items: center;
  gap: 0.5rem;
}

.product-review-overview__score-label {
  font-size: 0.875rem;
  color: var(--rz-color-text);
  font-weight: 500;
}

.product-review-overview__individual-scores .product-review-overview__score-bar-wrap {
  height: 7px;
}

.product-review-overview__individual-scores .product-review-overview__score-bar {
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
}

.product-review-overview__individual-scores .product-review-overview__score-value {
  font-size: 0.875rem;
  text-align: right;
}

.product-review-overview__additional {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

@media (max-width: 640px) {
  .product-review-overview {
    max-width: 100%;
  }
  
  .product-review-overview__individual-scores {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PRODUCT REVIEW DETAILS BLOCK
   ========================================================================== */

.product-review-details {
  max-width: 620px;
}

.product-review-details__section {
  margin-bottom: 3rem;
  padding-top: 1rem;
}

.product-review-details__section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.product-review-details__section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0;
}

.product-review-details__section-score {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.product-review-details__score-bar-wrap {
  width: 100px;
  height: 8px;
  background: var(--rz-color-border);
  border-radius: 4px;
  overflow: hidden;
}

.product-review-details__score-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
  border-radius: 4px;
}

.product-review-details__score-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--rz-color-heading);
}

.product-review-details__section-intro {
  background: #f0f6fc;
  border-left: 4px solid var(--rz-color-purple);
  padding: 1rem 1.25rem;
  border-radius: 0 8px 8px 0;
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--rz-color-text);
}

.product-review-details__section-intro p {
  margin: 0;
}

/* Yes/No Table */
.product-review-details__yesno-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--rz-color-border);
}

.product-review-details__yesno-row {
  border-bottom: 1px solid var(--rz-color-border);
}

.product-review-details__yesno-row:last-child {
  border-bottom: none;
}

.product-review-details__yesno-label {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: var(--rz-color-text);
  background: var(--rz-color-white);
}

.product-review-details__yesno-value {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: right;
  width: 80px;
}

.product-review-details__yesno-row.is-yes .product-review-details__yesno-value {
  background: color-mix(in srgb, var(--rz-color-mint-green) 18%, var(--rz-color-white));
  color: var(--rz-color-dark-blue);
}

.product-review-details__yesno-row.is-no .product-review-details__yesno-value {
  background: color-mix(in srgb, var(--rz-color-pink) 18%, var(--rz-color-white));
  color: var(--rz-color-dark-purple);
}

.product-review-details__yesno-row.is-other .product-review-details__yesno-value {
  background: color-mix(in srgb, var(--rz-color-golden-yellow) 20%, var(--rz-color-white));
  color: var(--rz-color-heading);
}

.product-review-details__section-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.product-review-details__section-content p {
  margin: 0 0 1rem 0;
}

@media (max-width: 640px) {
  .product-review-details {
    max-width: 100%;
  }
}

/* ==========================================================================
   PRODUCT REVIEW TOC BLOCK
   ========================================================================== */

/* Product Review TOC - matches article-toc styling */
.product-review-toc {
  margin-bottom: 1rem;
}

.product-review-toc__inner {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 24px;
  box-shadow: none;
}

.product-review-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-review-toc__item {
  position: relative;
  margin-bottom: 0.25rem;
}

.product-review-toc__link {
  display: block;
  padding: 0.5rem 0.75rem;
  font-family: var(--rz-font-body);
  font-size: var(--rz-toc-font-size);
  font-weight: 400;
  color: var(--rz-toc-default-color);
  text-decoration: none;
  border-radius: 0;
  transition: color 0.15s ease;
  line-height: 1.4;
}

.product-review-toc__link:hover {
  background-color: transparent;
  color: var(--rz-toc-active-color);
}

.product-review-toc__link.is-active {
  background-color: transparent;
  color: var(--rz-toc-active-color);
  font-weight: 600;
}

/* ==========================================================================
   PRODUCT REVIEW CTA BLOCK
   ========================================================================== */

.product-review-cta {
  margin: 1.5rem 0;
  max-width: 280px;
}

.product-review-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 16px;
  background: var(--rz-color-primary, var(--rz-color-purple));
  color: var(--rz-color-white);
  border-radius: 8px;
  border: 1px solid var(--rz-color-primary, var(--rz-color-purple));
  box-shadow: 0 4px 4px rgba(107, 114, 128, 0.25);
  font-family: var(--rz-font-body);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  white-space: normal;
  line-height: 1.3;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.product-review-cta__button:hover {
  filter: brightness(0.92);
  box-shadow: 0 4px 8px rgba(107, 114, 128, 0.35);
  color: var(--rz-color-white);
}

/* Editor labels */
.product-review-hero__editor-label,
.product-review-overview__editor-label,
.product-review-details__editor-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: rgba(155, 133, 121, 0.14);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
  display: inline-block;
}

.product-review-details__placeholder {
  padding: 2rem;
  text-align: center;
  background: rgba(155, 133, 121, 0.10);
  border: 1px dashed var(--rz-color-border);
  border-radius: 8px;
  color: var(--rz-color-muted);
  font-style: italic;
}

/* ==========================================================================
   PRODUCT REVIEW - NEW INNERBLOCKS ARCHITECTURE
   ========================================================================== */

/* Overview InnerBlocks container */
.product-review-overview__inner {
  /* Container for InnerBlocks content */
}

.product-review-overview__editor-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: rgba(61, 90, 128, 0.16);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  display: inline-block;
}

/* Full Review InnerBlocks container */
.product-review-full {
  padding-top: 0;
}

.product-review-full__inner {
  /* Container for Score Field Sections */
}

.product-review-full__editor-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: rgba(201, 150, 59, 0.22);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  display: inline-block;
}

/* ==========================================================================
   PR-SCORE-SUMMARY BLOCK (for Overview)
   ========================================================================== */

.pr-score-summary {
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 24px;
  margin: 1.5rem 0;
}

.pr-score-summary__main {
  display: block;
}

.pr-score-summary__content {
  width: 100%;
}


.pr-score-summary__placeholder {
  padding: 1rem;
  text-align: center;
  color: var(--rz-color-muted);
  font-style: italic;
}

.pr-score-summary__overall {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--rz-color-border);
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pr-score-summary__product-name {
  display: none; /* Hide duplicate name */
}

.pr-score-summary__overall-score {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pr-score-summary__score-bar-wrap {
  flex: 1;
  width: 70px; /* Constrain width */
  max-width: 140px;
  height: 10px;
  background: var(--rz-progress-track);
  border: 1px solid var(--rz-color-border);
  border-radius: 5px;
  overflow: hidden;
}

.pr-score-summary__score-bar {
  height: 100%;
  background: var(--rz-gradient-purple);
  border-radius: 4px;
  transition: width 0.3s ease;
}

.pr-score-summary__score-value {
  font-family: var(--rz-font-body);
  font-size: 15px;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  min-width: 40px;
  text-align: right;
}

.pr-score-summary__overall-label {
  font-family: var(--rz-font-heading);
  font-size: 15px;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  font-weight: 600;
  white-space: nowrap;
}

.pr-score-summary__individual-scores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.5rem;
}

.pr-score-summary__score-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pr-score-summary__score-label {
  flex: 1;
  font-family: var(--rz-font-body);
  font-size: 13px;
  color: var(--rz-color-text, var(--rz-color-text));
  font-weight: 500;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pr-score-summary__individual-scores .pr-score-summary__score-bar-wrap {
  flex: 0 0 60px;
  width: 60px;
  max-width: 60px;
  height: 10px;
  background: var(--rz-progress-track);
  border: 1px solid var(--rz-color-border);
  border-radius: 5px;
  overflow: hidden;
}

.pr-score-summary__individual-scores .pr-score-summary__score-bar {
  height: 100%;
  background: var(--rz-gradient-purple);
  border-radius: 4px;
}

.pr-score-summary__individual-scores .pr-score-summary__score-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  min-width: 45px;
  width: 45px;
  flex-shrink: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Responsive adjustments for summary box */
@media (max-width: 640px) {
  .pr-score-summary__individual-scores {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  
  .pr-score-summary__individual-scores .pr-score-summary__score-bar-wrap {
    flex: 0 0 45px;
    width: 45px;
    max-width: 45px;
  }
  
  .pr-score-summary__individual-scores .pr-score-summary__score-value {
    min-width: 45px;
    width: 45px;
    font-size: 0.7rem;
  }
  
  .pr-score-summary__overall {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  
  .pr-score-summary__overall-score {
    width: 100%;
  }
  
}

/* Pros & Cons in Score Summary - matches product card styling */
.pr-score-summary__pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rz-color-border);
}

.pr-score-summary__pros,
.pr-score-summary__cons {
  min-width: 0;
}

.pr-score-summary__pros-title,
.pr-score-summary__cons-title {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0 0 0.75rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pr-score-summary__pros-title {
  color: var(--rz-color-heading);
}

.pr-score-summary__pros-title::before {
  content: none;
}

.pr-score-summary__cons-title {
  color: var(--rz-color-heading);
}

.pr-score-summary__cons-title::before {
  content: none;
}

.pr-score-summary__pros-list,
.pr-score-summary__cons-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pr-score-summary__pros-item,
.pr-score-summary__cons-item {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--rz-color-text);
}

.pr-score-summary__pros-item:last-child,
.pr-score-summary__cons-item:last-child {
  margin-bottom: 0;
}

.pr-score-summary__pros-item::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #166534;
  font-weight: 600;
  font-size: 0.75rem;
}

.pr-score-summary__cons-item::before {
  content: '✗';
  position: absolute;
  left: 0;
  color: #92400e;
  font-weight: 600;
  font-size: 0.75rem;
}

@media (max-width: 640px) {
  .pr-score-summary__pros-cons {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

/* Overall Rating Info Tooltip */
.pr-score-summary__overall-score {
  position: relative;
}

.pr-score-summary__info-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--rz-color-muted);
  cursor: pointer;
  border-radius: 50%;
  transition: color 0.15s ease, background-color 0.15s ease;
  flex-shrink: 0;
  margin-left: 0.25rem;
}

.pr-score-summary__info-btn:hover {
  color: var(--rz-color-muted);
  background: rgba(155, 133, 121, 0.14);
}

.pr-score-summary__info-btn svg {
  width: 18px;
  height: 18px;
}

.pr-score-summary__info-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.pr-score-summary__info-tooltip {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 100;
  width: 320px;
  padding: 1.25rem;
  background: #1f2937;
  border: 1px solid #334155;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.28);
  color: var(--rz-color-white);
}

.pr-score-summary__info-tooltip[hidden] {
  display: none;
}

.pr-score-summary__info-tooltip-arrow {
  position: absolute;
  top: -8px;
  right: 3px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #334155;
}

.pr-score-summary__info-tooltip-arrow::after {
  content: '';
  position: absolute;
  top: 1.5px;
  left: -7px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #1f2937;
}

.pr-score-summary__info-tooltip-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.pr-score-summary__info-tooltip-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-white);
  flex: 1;
  min-width: 0;
}

.pr-score-summary__info-tooltip-close {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #93c5fd;
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.15s ease;
  flex-shrink: 0;
  white-space: nowrap;
}

.pr-score-summary__info-tooltip-close:hover {
  color: #bfdbfe;
}

.pr-score-summary__info-stats {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.pr-score-summary__info-stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pr-score-summary__info-stat-label {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--rz-color-border);
  font-weight: 500;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pr-score-summary__info-stat-bar {
  flex: 0 0 60px;
  width: 60px;
  max-width: 60px;
  height: 10px;
  background: rgba(255, 255, 255, 0.55);
  border-radius: 5px;
  overflow: hidden;
}

.pr-score-summary__info-stat-bar-fill {
  height: 100%;
  border-radius: 4px;
  width: 0 !important;
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease;
}

.pr-score-summary__info-stat-bar-fill.is-animated {
  width: var(--target-width) !important;
}

/* Tooltip score bar colors - matches site-wide scoring system */
.pr-score-summary__info-stat-bar-fill.score-excellent {
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
}

.pr-score-summary__info-stat-bar-fill.score-mid {
  background: linear-gradient(90deg, var(--score-color-mid-start) 0%, var(--score-color-mid-end) 100%);
}

.pr-score-summary__info-stat-bar-fill.score-poor {
  background: linear-gradient(90deg, var(--score-color-poor-start) 0%, var(--score-color-poor-end) 100%);
}

/* Fine-tuned brightness for tooltip score bars */
.pr-score-summary__info-stat-bar-fill.score-10-0 { filter: brightness(1.0); }
.pr-score-summary__info-stat-bar-fill.score-9-5, .pr-score-summary__info-stat-bar-fill.score-9-6, 
.pr-score-summary__info-stat-bar-fill.score-9-7, .pr-score-summary__info-stat-bar-fill.score-9-8, 
.pr-score-summary__info-stat-bar-fill.score-9-9 { filter: brightness(1.02); }
.pr-score-summary__info-stat-bar-fill.score-9-0, .pr-score-summary__info-stat-bar-fill.score-9-1, 
.pr-score-summary__info-stat-bar-fill.score-9-2, .pr-score-summary__info-stat-bar-fill.score-9-3, 
.pr-score-summary__info-stat-bar-fill.score-9-4 { filter: brightness(1.04); }
.pr-score-summary__info-stat-bar-fill.score-8-5, .pr-score-summary__info-stat-bar-fill.score-8-6, 
.pr-score-summary__info-stat-bar-fill.score-8-7, .pr-score-summary__info-stat-bar-fill.score-8-8, 
.pr-score-summary__info-stat-bar-fill.score-8-9 { filter: brightness(1.06); }
.pr-score-summary__info-stat-bar-fill.score-8-0, .pr-score-summary__info-stat-bar-fill.score-8-1, 
.pr-score-summary__info-stat-bar-fill.score-8-2, .pr-score-summary__info-stat-bar-fill.score-8-3, 
.pr-score-summary__info-stat-bar-fill.score-8-4 { filter: brightness(1.08); }
.pr-score-summary__info-stat-bar-fill.score-7-5, .pr-score-summary__info-stat-bar-fill.score-7-6, 
.pr-score-summary__info-stat-bar-fill.score-7-7, .pr-score-summary__info-stat-bar-fill.score-7-8, 
.pr-score-summary__info-stat-bar-fill.score-7-9 { filter: brightness(1.0); }
.pr-score-summary__info-stat-bar-fill.score-7-0, .pr-score-summary__info-stat-bar-fill.score-7-1, 
.pr-score-summary__info-stat-bar-fill.score-7-2, .pr-score-summary__info-stat-bar-fill.score-7-3, 
.pr-score-summary__info-stat-bar-fill.score-7-4 { filter: brightness(1.03); }
.pr-score-summary__info-stat-bar-fill.score-6-5, .pr-score-summary__info-stat-bar-fill.score-6-6, 
.pr-score-summary__info-stat-bar-fill.score-6-7, .pr-score-summary__info-stat-bar-fill.score-6-8, 
.pr-score-summary__info-stat-bar-fill.score-6-9 { filter: brightness(1.06); }
.pr-score-summary__info-stat-bar-fill.score-6-0, .pr-score-summary__info-stat-bar-fill.score-6-1, 
.pr-score-summary__info-stat-bar-fill.score-6-2, .pr-score-summary__info-stat-bar-fill.score-6-3, 
.pr-score-summary__info-stat-bar-fill.score-6-4 { filter: brightness(1.09); }
.pr-score-summary__info-stat-bar-fill.score-5-5, .pr-score-summary__info-stat-bar-fill.score-5-6, 
.pr-score-summary__info-stat-bar-fill.score-5-7, .pr-score-summary__info-stat-bar-fill.score-5-8, 
.pr-score-summary__info-stat-bar-fill.score-5-9 { filter: brightness(1.0); }
.pr-score-summary__info-stat-bar-fill.score-5-0, .pr-score-summary__info-stat-bar-fill.score-5-1, 
.pr-score-summary__info-stat-bar-fill.score-5-2, .pr-score-summary__info-stat-bar-fill.score-5-3, 
.pr-score-summary__info-stat-bar-fill.score-5-4 { filter: brightness(1.04); }
.pr-score-summary__info-stat-bar-fill.score-4-5, .pr-score-summary__info-stat-bar-fill.score-4-6, 
.pr-score-summary__info-stat-bar-fill.score-4-7, .pr-score-summary__info-stat-bar-fill.score-4-8, 
.pr-score-summary__info-stat-bar-fill.score-4-9 { filter: brightness(1.08); }
.pr-score-summary__info-stat-bar-fill.score-4-0, .pr-score-summary__info-stat-bar-fill.score-4-1, 
.pr-score-summary__info-stat-bar-fill.score-4-2, .pr-score-summary__info-stat-bar-fill.score-4-3, 
.pr-score-summary__info-stat-bar-fill.score-4-4 { filter: brightness(1.12); }
.pr-score-summary__info-stat-bar-fill.score-3-5, .pr-score-summary__info-stat-bar-fill.score-3-6, 
.pr-score-summary__info-stat-bar-fill.score-3-7, .pr-score-summary__info-stat-bar-fill.score-3-8, 
.pr-score-summary__info-stat-bar-fill.score-3-9 { filter: brightness(1.0); }
.pr-score-summary__info-stat-bar-fill.score-3-0, .pr-score-summary__info-stat-bar-fill.score-3-1, 
.pr-score-summary__info-stat-bar-fill.score-3-2, .pr-score-summary__info-stat-bar-fill.score-3-3, 
.pr-score-summary__info-stat-bar-fill.score-3-4 { filter: brightness(1.05); }
.pr-score-summary__info-stat-bar-fill.score-2-5, .pr-score-summary__info-stat-bar-fill.score-2-6, 
.pr-score-summary__info-stat-bar-fill.score-2-7, .pr-score-summary__info-stat-bar-fill.score-2-8, 
.pr-score-summary__info-stat-bar-fill.score-2-9 { filter: brightness(1.1); }
.pr-score-summary__info-stat-bar-fill.score-2-0, .pr-score-summary__info-stat-bar-fill.score-2-1, 
.pr-score-summary__info-stat-bar-fill.score-2-2, .pr-score-summary__info-stat-bar-fill.score-2-3, 
.pr-score-summary__info-stat-bar-fill.score-2-4 { filter: brightness(1.15); }
.pr-score-summary__info-stat-bar-fill.score-1-5, .pr-score-summary__info-stat-bar-fill.score-1-6, 
.pr-score-summary__info-stat-bar-fill.score-1-7, .pr-score-summary__info-stat-bar-fill.score-1-8, 
.pr-score-summary__info-stat-bar-fill.score-1-9 { filter: brightness(1.2); }
.pr-score-summary__info-stat-bar-fill.score-1-0, .pr-score-summary__info-stat-bar-fill.score-1-1, 
.pr-score-summary__info-stat-bar-fill.score-1-2, .pr-score-summary__info-stat-bar-fill.score-1-3, 
.pr-score-summary__info-stat-bar-fill.score-1-4 { filter: brightness(1.25); }
.pr-score-summary__info-stat-bar-fill.score-0-0, .pr-score-summary__info-stat-bar-fill.score-0-1, 
.pr-score-summary__info-stat-bar-fill.score-0-2, .pr-score-summary__info-stat-bar-fill.score-0-3, 
.pr-score-summary__info-stat-bar-fill.score-0-4, .pr-score-summary__info-stat-bar-fill.score-0-5,
.pr-score-summary__info-stat-bar-fill.score-0-6, .pr-score-summary__info-stat-bar-fill.score-0-7, 
.pr-score-summary__info-stat-bar-fill.score-0-8, .pr-score-summary__info-stat-bar-fill.score-0-9 { filter: brightness(1.3); }

.pr-score-summary__info-stat-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-white);
  min-width: 45px;
  width: 45px;
  flex-shrink: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.pr-score-summary__info-explanation {
  margin: 0 0 1rem 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #d1d5db;
}

.pr-score-summary__info-methodology {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}

.pr-score-summary__info-methodology a {
  color: #e8b870 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pr-score-summary__info-methodology a:hover {
  color: #f5cc8a !important;
  text-decoration: underline;
}

/* Visible methodology link (outside tooltip, crawlable by search engines) */
.pr-score-summary__methodology-link {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  color: var(--rz-color-text);
}

.pr-score-summary__methodology-link a {
  color: var(--rz-color-link);
  text-decoration: none;
}

.pr-score-summary__methodology-link a:hover {
  text-decoration: underline;
}

/* Mobile: Bottom sheet style */
@media (max-width: 640px) {
  .pr-score-summary__info-tooltip {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    max-height: 85vh;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 16px 16px 0 0;
    border: none;
    border-top: 1px solid #334155;
    padding: 1.5rem calc(1rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    z-index: 1000;
  }
  
  .pr-score-summary__info-tooltip-arrow {
    display: none;
  }
  
  .pr-score-summary__info-tooltip-header {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 0.75rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #334155;
  }
  
  .pr-score-summary__info-tooltip-close {
    display: flex;
    position: static;
    padding: 0.25rem 0.25rem;
    justify-self: end;
  }
  
  .pr-score-summary__info-tooltip-title {
    font-size: 1.125rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  /* Mobile bottom sheet handle indicator - disabled */
  .pr-score-summary__info-tooltip::before {
    display: none;
  }
  
  /* Backdrop overlay for mobile */
  .pr-score-summary__info-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
  }
  
  .pr-score-summary__info-backdrop[hidden] {
    display: none;
  }
  
  /* Constrain stat row elements to prevent overflow */
  .pr-score-summary__info-stats {
    max-width: 100%;
    overflow: hidden;
  }
  
  .pr-score-summary__info-stat {
    max-width: 100%;
    overflow: hidden;
  }
  
  .pr-score-summary__info-stat-bar {
    flex: 0 0 50px;
    width: 50px;
    max-width: 50px;
  }
  
  .pr-score-summary__info-stat-value {
    min-width: 40px;
    width: 40px;
    font-size: 0.6875rem;
  }
}

/* ==========================================================================
   PR-SCORE-FIELD-SECTION BLOCK (for Full Review)
   ========================================================================== */

.pr-score-field-section {
  margin-bottom: 3rem;
  padding-top: 1rem;
}

.pr-score-field-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.pr-score-field-section__title {
  font-family: var(--rz-font-heading);
  font-size: 24px;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  margin: 0;
}

.pr-score-field-section__score {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pr-score-field-section__score-bar-wrap {
  width: 120px;
  height: 10px;
  background: var(--rz-progress-track);
  border: 1px solid rgba(107, 114, 128, 0.22);
  border-radius: 5px;
  overflow: hidden;
}

.pr-score-field-section__score-bar {
  height: 100%;
  background: var(--rz-gradient-purple);
  border-radius: 5px;
}

.pr-score-field-section__score-value {
  font-family: var(--rz-font-body);
  font-size: 16px;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.pr-score-field-section__placeholder {
  padding: 1.5rem;
  text-align: center;
  background: rgba(155, 133, 121, 0.10);
  border: 1px dashed var(--rz-color-border);
  border-radius: 8px;
  color: var(--rz-color-muted);
  font-style: italic;
}

.pr-score-field-section__content {
  /* Content area for InnerBlocks */
}

.pr-score-field-section__content > *:first-child {
  margin-top: 0;
}

/* Ranking Callout */
.pr-score-field-section__ranking {
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}

.pr-score-field-section__ranking-header {
  font-family: var(--rz-font-body);
  font-size: 15px;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
  margin: 0;
  line-height: 1.5;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--rz-color-border, #d9d9d9);
}

.pr-score-field-section__ranking-header strong {
  font-weight: 600;
}

/* When there's no description, remove border */
.pr-score-field-section__ranking-header:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.pr-score-field-section__ranking-description {
  margin-top: 0.75rem;
  font-family: var(--rz-font-body);
  font-size: 15px;
  color: var(--rz-color-text, var(--rz-color-text));
  line-height: 1.65;
}

.pr-score-field-section__ranking-description p {
  margin: 0;
}

.pr-score-field-section__ranking-description p + p {
  margin-top: 0.5rem;
}

/* Editor preview state */
.pr-score-field-section__ranking--preview {
  opacity: 0.7;
  border: 1px dashed var(--rz-color-border);
}

.pr-score-field-section__ranking-placeholder {
  font-size: 0.85rem;
  color: var(--rz-color-muted);
  font-style: italic;
  margin: 0;
}

/* When only description is shown (no header) */
.pr-score-field-section__ranking-description:first-child {
  margin-top: 0;
}

/* ==========================================================================
   PR-YESNO-TABLE BLOCK
   ========================================================================== */

.pr-yesno-table {
  margin: 1.5rem 0;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-white);
}

/* Tab buttons wrapper */
.pr-yesno-table__tabs-wrapper {
  position: relative;
  background: rgba(155, 133, 121, 0.10);
}

.pr-yesno-table__tabs {
  display: flex;
  gap: 0;
  margin-bottom: 0;
  background: rgba(155, 133, 121, 0.10);
  border-bottom: 1px solid var(--rz-color-border);
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.pr-yesno-table__tabs::-webkit-scrollbar {
  display: none;
}

/* Scroll arrows */
.pr-yesno-table__scroll-arrow {
  position: absolute;
  top: 0;
  bottom: 1px;
  width: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.pr-yesno-table__scroll-arrow--left {
  left: 0;
  background: linear-gradient(90deg, rgba(155, 133, 121, 0.10) 60%, transparent 100%);
  padding-right: 8px;
}

.pr-yesno-table__scroll-arrow--right {
  right: 0;
  background: linear-gradient(270deg, rgba(155, 133, 121, 0.10) 60%, transparent 100%);
  padding-left: 8px;
}

.pr-yesno-table__scroll-arrow.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.pr-yesno-table__scroll-arrow:hover {
  color: var(--rz-color-purple);
}

.pr-yesno-table__scroll-arrow svg {
  width: 16px;
  height: 16px;
  color: var(--rz-color-muted);
  transition: color 0.15s ease;
}

.pr-yesno-table__scroll-arrow:hover svg {
  color: var(--rz-color-purple);
}

.pr-yesno-table__tab {
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rz-color-muted);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
  white-space: nowrap;
  flex-shrink: 0;
}

.pr-yesno-table__tab:hover {
  color: var(--rz-color-purple);
  background: rgba(61, 90, 128, 0.06);
}

.pr-yesno-table__tab.is-active {
  color: var(--rz-color-purple);
  background: var(--rz-color-white);
  border-bottom-color: var(--rz-color-purple);
}

/* Tab panels */
.pr-yesno-table__panel {
  display: none;
}

.pr-yesno-table__panel.is-active {
  display: block;
}

.pr-yesno-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.pr-yesno-table__table td {
  width: 50%;
}

/* Remove border from table when inside the rounded container */
.pr-yesno-table__panel .pr-yesno-table__table,
.pr-yesno-table > .pr-yesno-table__table {
  border: none;
}

.pr-yesno-table__row {
  border-bottom: 1px solid var(--rz-color-border);
}

.pr-yesno-table__row:last-child {
  border-bottom: none;
}

.pr-yesno-table__label,
.pr-yesno-table__value {
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  width: 50% !important;
  box-sizing: border-box;
}

.pr-yesno-table__label {
  color: var(--rz-color-text);
  background: var(--rz-color-pearl);
  border-right: 1px solid var(--rz-color-border);
}

.pr-yesno-table__value {
  text-align: left;
  background: var(--rz-color-white);
}

.pr-yesno-table__row.is-yes .pr-yesno-table__value {
  background: color-mix(in srgb, var(--rz-color-mint-green) 14%, var(--rz-color-white));
  color: var(--score-color-excellent-start);
}

.pr-yesno-table__row.is-no .pr-yesno-table__value {
  background: color-mix(in srgb, var(--rz-color-pink) 14%, var(--rz-color-white));
  color: #7f1d1d;
}

.pr-yesno-table__row.is-other .pr-yesno-table__value {
  background: color-mix(in srgb, var(--rz-color-golden-yellow) 16%, var(--rz-color-white));
  color: #78350f;
}

/* Icon-only display style - no background highlighting */
.pr-yesno-table__row.is-icon-only .pr-yesno-table__value {
  background: var(--rz-color-white);
}

.pr-yesno-table__row.is-yes.is-icon-only .pr-yesno-table__value {
  background: var(--rz-color-white);
  color: var(--score-color-excellent-start);
}

.pr-yesno-table__row.is-no.is-icon-only .pr-yesno-table__value {
  background: var(--rz-color-white);
  color: var(--score-color-poor-start);
}

.pr-yesno-table__row.is-other.is-icon-only .pr-yesno-table__value {
  background: var(--rz-color-white);
  color: var(--rz-color-text);
}

/* Check/Cross icons */
.pr-yesno-table__icon-check,
.pr-yesno-table__icon-cross {
  font-size: 1.125rem;
  font-weight: 600;
  display: inline-block;
}

.pr-yesno-table__icon-check {
  color: var(--score-color-excellent-start);
}

.pr-yesno-table__icon-cross {
  color: var(--score-color-poor-start);
}

/* Text fields - plain background, normal text */
.pr-yesno-table__row.is-text .pr-yesno-table__value {
  background: var(--rz-color-white);
  color: var(--rz-color-text);
}

/* Table Header - styled to match table label cells */
.pr-yesno-table__header {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0;
  padding: 0.625rem 0.75rem;
  background: var(--rz-color-pearl);
  border-bottom: 1px solid var(--rz-color-border);
}

/* Icon-only row height - ensure consistent with regular rows */
.pr-yesno-table__row.is-icon-only .pr-yesno-table__value {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  line-height: 1.25;
}

.pr-yesno-table__placeholder {
  padding: 1.5rem;
  text-align: center;
  background: rgba(155, 133, 121, 0.10);
  color: var(--rz-color-muted);
  font-style: italic;
}

/* Field Groups - Icons Grid */
.pr-yesno-table__row--group .pr-yesno-table__label,
.pr-yesno-table__row--group .pr-yesno-table__value {
  vertical-align: top;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.pr-yesno-table__icons-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
}

.pr-yesno-table__icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem;
  min-width: 40px;
}

.pr-yesno-table__icon-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.pr-yesno-table__icon-label {
  font-size: 0.625rem;
  color: var(--rz-color-muted);
  text-align: center;
  line-height: 1.2;
  max-width: 50px;
  word-wrap: break-word;
  font-weight: 400;
}

/* Field icon in label column */
.pr-yesno-table__label .pr-yesno-table__field-icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}

.pr-yesno-table__label span {
  display: inline;
  vertical-align: middle;
}

.pr-yesno-table__field-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* PR-YESNO-TABLE Figma overrides — now handled in base styles above */

/* ==========================================================================
   WORDPRESS CORE TABLE BLOCK (styled to match Fields Table)
   ========================================================================== */

.wp-block-table {
  margin: 1.5rem 0;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-white);
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  border: none;
}

.wp-block-table figcaption {
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  text-align: center;
  padding: 0.5rem 0.75rem;
  background: var(--rz-color-pearl);
  border-top: 1px solid var(--rz-color-border);
  margin: 0;
}

/* Table header - matches Fields Table header style */
.wp-block-table thead {
  background: var(--rz-color-pearl);
  border-bottom: 1px solid var(--rz-color-border);
}

.wp-block-table thead th {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  padding: 0.625rem 0.75rem;
  text-align: left;
  border: none;
  border-right: 1px solid var(--rz-color-border);
}

.wp-block-table thead th:last-child {
  border-right: none;
}

/* Table body rows */
.wp-block-table tbody tr {
  border-bottom: 1px solid var(--rz-color-border);
}

.wp-block-table tbody tr:last-child {
  border-bottom: none;
}

/* Table cells - default styling (all columns equal) */
.wp-block-table td {
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.5rem 0.75rem;
  border-right: 1px solid var(--rz-color-border);
  vertical-align: middle;
  color: var(--rz-color-text);
  background: var(--rz-color-white);
}

.wp-block-table td:last-child {
  border-right: none;
}

/* Row Headers style - first column styled like a label */
.wp-block-table.is-style-row-headers td:first-child {
  color: var(--rz-color-text);
  background: var(--rz-color-pearl);
  border-right: 1px solid var(--rz-color-border);
}

/* Striped table variant */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background: var(--rz-color-surface);
}

/* Striped + Row Headers combination */
.wp-block-table.is-style-stripes.is-style-row-headers tbody tr:nth-child(odd) td:first-child {
  background: color-mix(in srgb, var(--rz-color-pearl) 90%, var(--rz-color-dark-grey));
}

.wp-block-table.is-style-stripes.is-style-row-headers tbody tr td:first-child {
  background: var(--rz-color-pearl);
}

/* Remove default WordPress table borders (but preserve right-border dividers set above) */
.wp-block-table table {
  border: none;
}

.wp-block-table th,
.wp-block-table td {
  border-top: none;
  border-bottom: none;
  border-left: none;
}

/* Table inside product card - fit within the card styling */
.product-card__inner-content .wp-block-table {
  margin: 1rem 0;
  border-radius: 6px;
}

.product-card__inner-content .wp-block-table:first-child {
  margin-top: 0;
}

.product-card__inner-content .wp-block-table:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   PR-INFO-CALLOUT BLOCK
   ========================================================================== */

.pr-info-callout {
  padding: 1rem 1.25rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  border-left: 4px solid;
  font-family: var(--rz-font-body);
}

.pr-info-callout--info {
  background: #f0f6fc;
  border-left-color: var(--rz-color-link);
}

.pr-info-callout--tip {
  background: #f0fdf4;
  border-left-color: var(--rz-color-mint-green);
}

.pr-info-callout--warning {
  background: var(--rz-color-white)beb;
  border-left-color: #f59e0b;
}

.pr-info-callout--alert {
  background: #fef2f2;
  border-left-color: var(--rz-color-pink);
}

.pr-info-callout__title {
  font-family: var(--rz-font-heading);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.pr-info-callout--info .pr-info-callout__title {
  color: #1e40af;
}

.pr-info-callout--tip .pr-info-callout__title {
  color: #166534;
}

.pr-info-callout--warning .pr-info-callout__title {
  color: #92400e;
}

.pr-info-callout--alert .pr-info-callout__title {
  color: #991b1b;
}

.pr-info-callout__content {
  font-size: 15px;
  line-height: 1.7;
  color: var(--rz-color-text, var(--rz-color-text));
}

.pr-info-callout__content p {
  margin: 0;
}

.pr-info-callout__placeholder {
  color: var(--rz-color-muted);
  font-style: italic;
}

/* ==========================================================================
   HEADER DISCLAIMER BLOCK
   ========================================================================== */

.header-disclaimer {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--rz-color-muted);
  margin-bottom: 0;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-disclaimer p {
  margin: 0;
  display: inline;
}

.header-disclaimer a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
}

.header-disclaimer a:hover {
  text-decoration: underline;
  color: var(--rz-color-link-hover);
}

/* ==========================================================================
   ALL REVIEWS PAGE (/reviews/)
   ========================================================================== */

.site-main--all-reviews {
  background: var(--rz-color-white);
  min-height: 100vh;
}

/* Hero Section */
.all-reviews-hero {
  background: linear-gradient(135deg, var(--rz-color-pearl) 0%, #f3eee9 100%);
  padding: 3rem 1rem 2rem;
  margin-bottom: 2rem;
  border-bottom: none;
}

.all-reviews-hero__inner {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

/* Breadcrumb positioned at top-left within content width */
.all-reviews-hero__breadcrumb {
  text-align: left;
  margin-bottom: 0.75rem;
}

.all-reviews-hero__breadcrumb .review-breadcrumbs {
  margin-bottom: 0;
}

.all-reviews-hero__breadcrumb .review-header {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.all-reviews-hero__breadcrumb .review-header__breadcrumb {
  margin-bottom: 0;
}

/* Hide non-breadcrumb parts of review-header when used in hero breadcrumb area */
.all-reviews-hero__breadcrumb .review-header__meta,
.all-reviews-hero__breadcrumb .review-header__author-section {
  display: none;
}

/* Disclaimer area below hero */
.all-reviews-disclaimer-area {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 1.5rem;
  padding: 0 1rem;
}

.all-reviews-disclaimer-area .header-disclaimer {
  text-align: center;
}

/* ==========================================================================
   SEARCH BOX
   ========================================================================== */

.all-reviews-search {
  position: relative;
  max-width: 480px;
  margin: 0 auto 1.5rem auto;
}

.all-reviews-search__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.all-reviews-search__input {
  width: 100%;
  padding: 12px 44px 12px 16px;
  font-size: 15px;
  font-family: var(--rz-font-body);
  border: 1px solid #6b7280;
  border-radius: 8px;
  background: var(--rz-gradient-pearl);
  color: var(--rz-color-text, var(--rz-color-text));
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.all-reviews-search__input::placeholder {
  color: var(--rz-color-muted);
}

.all-reviews-search__input:focus {
  border-color: var(--rz-color-link);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.18);
}

.all-reviews-search__icon {
  position: absolute;
  right: 1rem;
  color: var(--rz-color-muted);
  pointer-events: none;
  display: flex;
  align-items: center;
}

.all-reviews-search__clear {
  position: absolute;
  right: 1rem;
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: var(--rz-color-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}

.all-reviews-search__clear:hover {
  color: var(--rz-color-heading);
}

.all-reviews-search__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.5rem;
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(107, 114, 128, 0.15);
  z-index: 100;
  max-height: 320px;
  overflow-y: auto;
}

.all-reviews-search__helper {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  margin: 0;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(155, 133, 121, 0.30);
}

.all-reviews-search__results {
  list-style: none;
  margin: 0;
  padding: 0;
}

.all-reviews-search__result-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

.all-reviews-search__result-item:hover {
  background-color: rgba(155, 133, 121, 0.10);
}

.all-reviews-search__result-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
  flex-shrink: 0;
}

.all-reviews-search__result-logo-placeholder {
  width: 28px;
  height: 28px;
  background: rgba(155, 133, 121, 0.14);
  border-radius: 6px;
  flex-shrink: 0;
}

.all-reviews-search__result-name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rz-color-heading);
}

.all-reviews-search__no-results {
  padding: 1rem;
  text-align: center;
  color: var(--rz-color-muted);
  font-size: 0.875rem;
}

.all-reviews-page-content {
  max-width: 1200px; /* Container for main grid */
  margin: 0 auto;
  padding: 0 1rem 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

h1.all-reviews-title,
.all-reviews-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
  text-align: center;
}

.all-reviews-header__content {
  max-width: 620px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  text-align: left;
}

/* Toolbar Row */
/* Toolbar matches the grid layout: 280px (filters) | 620px (products) */
.all-reviews-toolbar {
  width: 100%;
  max-width: calc(620px + 280px + 2rem);
  display: grid;
  grid-template-columns: 280px 620px;
  gap: 2rem;
  align-items: center;
  margin-bottom: 1.5rem;
}

.all-reviews-toolbar__filters {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.all-reviews-toolbar__products {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.all-reviews-filters__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0;
}

.all-reviews-filters__title svg {
  color: var(--rz-color-heading);
}

.all-reviews-filters__reset {
  background: none;
  border: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-link);
  cursor: pointer;
  padding: 0;
  transition: color 0.15s ease;
}

.all-reviews-filters__reset:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

.all-reviews-products__count {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
}

/* Layout: Sidebar + Products */
.all-reviews-layout {
  display: grid;
  grid-template-columns: 280px 620px;
  justify-content: center;
  gap: 2rem;
  align-items: start;
  width: 100%;
  max-width: calc(620px + 280px + 2rem);
  min-height: 100vh; /* Prevent page jumping when filtering reduces results */
}

/* Filters Sidebar - Now just the box content */
.all-reviews-filters {
  background: var(--rz-color-white);
  /* Removed border/padding for clean look, or keep minimal? User said "filter box start" implies a box. */
  /* Let's keep it clean but maybe without the header part inside */
  border: 1px solid var(--rz-color-border);
  border-radius: 12px;
  padding: 1.25rem;
  /* position: sticky; */ /* Disable sticky behavior */
  /* top: 100px; */
  /* max-height: calc(100vh - 120px); */
  /* overflow-y: auto; */
}

/* Sort Dropdown styling override for toolbar */
.all-reviews-products__sort {
  margin: 0;
}

.all-reviews-products__sort-select {
  padding: 0.5rem 2rem 0.5rem 1rem;
  font-size: 0.875rem;
  border-color: var(--rz-color-border);
}

/* Desktop defaults: hide mobile-only controls/overlay chrome */
.all-reviews-mobile-controls {
  display: none;
}

.all-reviews-filters__mobile-header,
.all-reviews-filters__mobile-footer,
.all-reviews-filters-backdrop {
  display: none;
}

@media (max-width: 1024px) {
  .all-reviews-layout {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
  
  .all-reviews-filters {
    display: none; /* Use mobile overlay */
  }
  
  .all-reviews-toolbar {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .all-reviews-toolbar__products {
    flex-wrap: wrap;
  }
}

/* Mobile filter/sort controls + full-screen filter overlay */
@media (max-width: 1024px) {
  .all-reviews-toolbar__filters {
    display: none;
  }
  
  .all-reviews-toolbar__products {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.75rem;
  }
  
  .all-reviews-products__count {
    text-align: center;
    font-size: 0.875rem;
    color: #111827;
  }
  
  .all-reviews-mobile-controls {
    display: flex;
    gap: 1rem;
    width: 100%;
  }
  
  .all-reviews-mobile-controls__filter,
  .all-reviews-products__sort {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid var(--rz-color-border);
    border-radius: 10px;
    background: var(--rz-color-white);
    padding: 0.875rem 1rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--rz-color-heading);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    cursor: pointer;
    position: relative;
    min-height: 44px;
  }
  
  .all-reviews-mobile-controls__filter {
    background: var(--rz-color-white);
  }
  
  .all-reviews-products__sort-icon,
  .all-reviews-products__sort-label {
    display: inline-flex;
    align-items: center;
  }
  
  /* Make the native select fill the "Sort" button area */
  .all-reviews-products__sort-select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  
  /* Hide the desktop-y select styling */
  .all-reviews-products__sort {
    margin: 0;
  }
  
  /* Full-screen filter overlay */
  body.all-reviews-filters-open {
    overflow: hidden;
  }
  
  body.all-reviews-filters-open .all-reviews-filters {
    display: block;
  }
  
  .all-reviews-filters {
    position: fixed;
    inset: 0;
    z-index: 10050;
    border-radius: 0;
    border: none;
    padding: 0 1.5rem 5.5rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .all-reviews-filters-backdrop {
    display: none;
  }
  
  body.all-reviews-filters-open .all-reviews-filters-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 10040;
    background: rgba(0,0,0,0.5);
  }
  
  .all-reviews-filters__mobile-header {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--rz-color-white);
    padding: 1rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--rz-color-border);
    margin: 0 -1.5rem 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  .all-reviews-filters__mobile-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rz-color-heading);
  }
  
  .all-reviews-filters__mobile-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
  
  .all-reviews-filters__reset--mobile {
    font-size: 0.875rem;
  }
  
  .all-reviews-filters__close {
    border: none;
    background: none;
    font-size: 28px;
    line-height: 1;
    color: var(--rz-color-muted);
    cursor: pointer;
    padding: 0;
  }
  
  .all-reviews-filters__mobile-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10060;
    background: var(--rz-color-white);
    border-top: 1px solid var(--rz-color-border);
    padding: 1rem 1.5rem;
  }

  /* Disabled filter options (when selecting would yield 0 results) */
  .all-reviews-filters .is-option-disabled {
    opacity: 0.45;
    pointer-events: none;
  }

  .all-reviews-filters .is-option-disabled .all-reviews-toggle__slider,
  .all-reviews-filters .is-option-disabled .all-reviews-checkbox__box {
    background: var(--rz-color-border);
    border-color: var(--rz-color-border);
  }
  
  .all-reviews-filters__apply {
    width: 100%;
    border: none;
    border-radius: 10px;
    padding: 0.875rem 1rem;
    background: var(--rz-color-purple);
    color: var(--rz-color-white);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
  }
  
  .all-reviews-filters__apply:hover {
    background: #3730a3;
  }

  .all-reviews-filters__apply.is-disabled,
  .all-reviews-filters__apply:disabled {
    background: var(--rz-color-border);
    color: var(--rz-color-muted);
    cursor: not-allowed;
  }

  .all-reviews-filters__apply.is-disabled:hover,
  .all-reviews-filters__apply:disabled:hover {
    background: var(--rz-color-border);
  }
  
  /* Hide back-to-top while overlay open */
  body.all-reviews-filters-open .back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

.all-reviews-header__content p {
  margin: 0 0 1rem 0;
}

.all-reviews-header__content p:last-child {
  margin-bottom: 0;
}


/* ==========================================================================
   FILTERS SIDEBAR
   ========================================================================== */

.all-reviews-filters {
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 12px;
  padding: 1.25rem;
  /* position: sticky; */
  /* top: 100px; */
  /* max-height: calc(100vh - 120px); */
  /* overflow-y: auto; */
}

.all-reviews-filters__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.all-reviews-filters__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0;
}

.all-reviews-filters__title svg {
  color: var(--rz-color-muted);
}

.all-reviews-filters__reset {
  background: none;
  border: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-link);
  cursor: pointer;
  padding: 0;
  transition: color 0.15s ease;
}

.all-reviews-filters__reset:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

.all-reviews-filters__count {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  margin-bottom: 1rem;
}

.all-reviews-filters__groups {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Filter Group */
.all-reviews-filter-group {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(155, 133, 121, 0.30);
}

.all-reviews-filter-group:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.all-reviews-filter-group__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-text);
  margin: 0 0 0.75rem 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Toggle Switch */
.all-reviews-filter-toggle {
  margin-bottom: 0.5rem;
}

.all-reviews-filter-toggle:last-child {
  margin-bottom: 0;
}

.all-reviews-filter-toggle--with-icon {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.all-reviews-filter-toggle__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 4px;
}

.all-reviews-toggle {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

.all-reviews-toggle__input {
  opacity: 0;
  width: 0;
  height: 0;
}

.all-reviews-toggle__slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #d1d5db;
  transition: 0.2s;
  border-radius: 24px;
}

.all-reviews-toggle__slider::before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: var(--rz-color-white);
  transition: 0.2s;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(107, 114, 128, 0.15);
}

.all-reviews-toggle__input:checked + .all-reviews-toggle__slider {
  background-color: var(--rz-color-link);
}

.all-reviews-toggle__input:checked + .all-reviews-toggle__slider::before {
  transform: translateX(20px);
}

/* Toggle with label */
.all-reviews-filter-toggle--labeled {
  margin-bottom: 0.625rem;
}

.all-reviews-toggle-label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
}

.all-reviews-toggle-label__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 4px;
}

.all-reviews-toggle-label__text {
  flex: 1;
  font-size: 0.875rem;
  color: var(--rz-color-text);
}

.all-reviews-toggle-label .all-reviews-toggle {
  flex-shrink: 0;
}

/* Multi-select checkboxes */
.all-reviews-filter-multiselect {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.all-reviews-checkbox {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  padding: 0.375rem 0.5rem;
  margin: -0.375rem -0.5rem;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}

.all-reviews-checkbox:hover {
  background-color: rgba(155, 133, 121, 0.10);
}

.all-reviews-checkbox__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.all-reviews-checkbox__box {
  width: 18px;
  height: 18px;
  border: 2px solid #d1d5db;
  border-radius: 4px;
  background: var(--rz-color-white);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.all-reviews-checkbox__input:checked + .all-reviews-checkbox__box {
  background: var(--rz-color-purple);
  border-color: var(--rz-color-link);
}

.all-reviews-checkbox__input:checked + .all-reviews-checkbox__box::after {
  content: '';
  width: 5px;
  height: 9px;
  border: solid var(--rz-color-white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}

.all-reviews-checkbox__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 4px;
}

.all-reviews-checkbox__label {
  font-size: 0.875rem;
  color: var(--rz-color-text);
}

/* Score Minimum Filter (Slider with tick marks) */
.all-reviews-filter-score-min {
  padding: 0.75rem 0 0.5rem;
}

.all-reviews-score-min__labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  margin-bottom: 0;
  padding: 0 9px;
}

.all-reviews-score-min__label {
  text-align: center;
  min-width: 24px;
  font-weight: 500;
  transition: color 0.15s ease;
}

.all-reviews-score-min__label.is-active {
  color: var(--rz-color-link);
  font-weight: 600;
}

.all-reviews-score-min__track {
  position: relative;
  height: 32px;
  margin: 0 9px;
}

.all-reviews-score-min__ticks {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  height: 16px;
}

.all-reviews-score-min__tick {
  width: 2px;
  height: 12px;
  background: #d1d5db;
  border-radius: 1px;
  transition: background-color 0.15s ease;
}

.all-reviews-score-min__tick.is-active {
  background: var(--rz-color-purple);
}

.all-reviews-score-min__line {
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  height: 2px;
  background: #d1d5db;
}

.all-reviews-score-min__line-fill {
  position: absolute;
  top: 12px;
  left: 0;
  height: 2px;
  background: var(--rz-color-purple);
  width: 0%;
  transition: width 0.1s ease;
}

.all-reviews-score-min__slider {
  position: absolute;
  top: 0;
  left: -9px;
  right: -9px;
  width: calc(100% + 18px);
  height: 32px;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  outline: none;
  cursor: pointer;
  margin: 0;
}

.all-reviews-score-min__slider::-webkit-slider-runnable-track {
  height: 32px;
  background: transparent;
}

  .all-reviews-score-min__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  background: var(--rz-color-purple);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  margin-top: 1px;
  box-shadow: 0 2px 6px rgba(61, 90, 128, 0.4);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.all-reviews-score-min__slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 3px 8px rgba(61, 90, 128, 0.5);
}

.all-reviews-score-min__slider::-moz-range-track {
  height: 32px;
  background: transparent;
}

.all-reviews-score-min__slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  background: var(--rz-color-purple);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(61, 90, 128, 0.4);
}

/* Score Range Filter with Histogram */
.all-reviews-filter-score-range {
  padding: 0.5rem 0;
}

.all-reviews-score-range__histogram {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 40px;
  padding: 0 2px;
  margin-bottom: 8px;
}

.all-reviews-score-range__bar {
  flex: 1;
  min-height: 2px;
  background: #e0e7ff;
  border-radius: 2px 2px 0 0;
  transition: background-color 0.15s ease;
}

.all-reviews-score-range__bar.is-in-range {
  background: var(--rz-color-link);
}

.all-reviews-score-range__bar.is-out-of-range {
  background: var(--rz-color-border);
}

.all-reviews-score-range__slider-wrap {
  position: relative;
  height: 24px;
  margin: 0 9px;
}

.all-reviews-score-range__track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--rz-color-border);
  border-radius: 2px;
  transform: translateY(-50%);
}

.all-reviews-score-range__slider {
  position: absolute;
  width: 100%;
  height: 24px;
  top: 0;
  left: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  pointer-events: none;
  margin: 0;
}

.all-reviews-score-range__slider::-webkit-slider-runnable-track {
  height: 24px;
  background: transparent;
}

.all-reviews-score-range__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: var(--rz-color-purple);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  margin-top: 2px;
  box-shadow: 0 2px 6px rgba(61, 90, 128, 0.4);
  transition: transform 0.1s ease;
}

.all-reviews-score-range__slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}

.all-reviews-score-range__slider::-moz-range-track {
  height: 24px;
  background: transparent;
}

.all-reviews-score-range__slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: var(--rz-color-purple);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 2px 6px rgba(61, 90, 128, 0.4);
}

.all-reviews-score-range__slider--min {
  z-index: 2;
}

.all-reviews-score-range__slider--max {
  z-index: 2;
}

.all-reviews-score-range__labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  margin-top: 4px;
  padding: 0 4px;
}

.all-reviews-score-range__label-min,
.all-reviews-score-range__label-max {
  font-weight: 500;
}

/* ==========================================================================
   PRODUCTS SECTION
   ========================================================================== */

.all-reviews-products {
  min-width: 0;
}

.all-reviews-products__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.all-reviews-products__count {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
}

.all-reviews-products__sort {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.all-reviews-products__sort label {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
}

.all-reviews-products__sort-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--rz-color-white);
  background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"%3E%3Cpath fill="%23444" d="M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 0.625rem 2.5rem 0.625rem 1rem;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-heading);
  cursor: pointer;
  transition: all 0.15s ease;
  outline: none;
}

.all-reviews-products__sort-select:hover {
  border-color: var(--rz-color-border);
}

.all-reviews-products__sort-select:focus {
  border-color: var(--rz-color-link);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.15);
}

.all-reviews-products__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.all-reviews-products__empty {
  text-align: center;
  padding: 3rem;
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 12px;
  color: var(--rz-color-muted);
}

/* ==========================================================================
   PRODUCT CARD
   ========================================================================== */

.all-reviews-product-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 10px;
  padding: 1rem;
  box-shadow: 0 1px 3px rgba(107, 114, 128, 0.10), 0 1px 2px rgba(107, 114, 128, 0.06);
  cursor: pointer;
}

.all-reviews-product-card:hover {
  /* No hover effects */
}

.all-reviews-product-card__main {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 1rem;
  align-items: center;
}

@media (max-width: 768px) {
  .all-reviews-product-card__main {
    grid-template-columns: 56px 1fr;
    gap: 1rem;
  }
  
  .all-reviews-product-card__cta {
    grid-column: 1 / -1;
    margin-top: 0.5rem;
  }
}

.all-reviews-product-card__logo {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(155, 133, 121, 0.10);
  border-radius: 10px;
  overflow: hidden;
}

@media (max-width: 768px) {
  .all-reviews-product-card__logo {
    width: 48px;
    height: 48px;
  }
}

.all-reviews-product-card__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.all-reviews-product-card__logo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-muted);
  background: rgba(155, 133, 121, 0.14);
}

.all-reviews-product-card__info {
  min-width: 0;
}

.all-reviews-product-card__name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rz-color-heading);
  margin: 0 0 0.375rem 0;
}

.all-reviews-product-card__score {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.all-reviews-product-card__score-label {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  white-space: nowrap;
}

.all-reviews-product-card__score-bar-wrap {
  flex: 1;
  max-width: 140px;
  height: 8px;
  background: var(--rz-color-border);
  border-radius: 4px;
  overflow: hidden;
}

.all-reviews-product-card__score-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
  border-radius: 4px;
  transition: width 0.3s ease;
}

.all-reviews-product-card__score-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  white-space: nowrap;
  min-width: 55px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.all-reviews-product-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  padding: 0.5rem 0.75rem;
  background: var(--rz-color-purple);
  color: var(--rz-color-white);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  border-radius: 6px;
  white-space: normal;
  line-height: 1.3;
  transition: opacity 0.15s ease, transform 0.1s ease;
}

.all-reviews-product-card__cta:hover {
  opacity: 0.9;
}

.all-reviews-product-card__cta:active {
  transform: scale(0.98);
}

/* Product card fields row */
.all-reviews-product-card__fields {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(155, 133, 121, 0.30);
}

.all-reviews-product-card__field {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.125rem;
  padding: 0.5rem 0.375rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 6px;
  background: rgba(155, 133, 121, 0.10);
}

.all-reviews-product-card__field-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin-bottom: 0;
  opacity: 0.7;
}

.all-reviews-product-card__field-value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  line-height: 1.2;
}

.all-reviews-product-card__field-label {
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  line-height: 1.2;
}

/* Responsive: stack fields on mobile if needed */
@media (max-width: 640px) {
  .all-reviews-product-card__fields {
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr;
  }
}

/* ==========================================================================
   ALL REVIEWS PAGE - RESPONSIVE
   ========================================================================== */

@media (max-width: 640px) {
  .all-reviews-page {
    padding: 1.5rem 1rem 3rem;
  }
  
  h1.all-reviews-title,
  .all-reviews-title {
    font-size: 1.75rem;
  }
  
  .all-reviews-header__content {
    font-size: 1rem;
  }
  
  .all-reviews-products__header {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .all-reviews-product-card__fields {
    gap: 0.75rem;
  }
  
  .all-reviews-product-card__field {
    min-width: calc(50% - 0.375rem);
  }
}

/* ==========================================================================
   SCORE BAR ANIMATION - Animate on scroll into view
   ========================================================================== */

/* Initial state for score bars - width 0 before animation */
[data-score-bar] {
  width: 0 !important;
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease;
}

/* Animated state - width set via inline style */
[data-score-bar].is-animated {
  width: var(--target-width) !important;
}

/* In Gutenberg editor, show score bars at full width immediately */
.block-editor-block-list__layout [data-score-bar],
.editor-styles-wrapper [data-score-bar] {
  width: var(--target-width) !important;
  transition: none;
}

/* ==========================================================================
   SCORE-BASED COLOR CLASSES
   ========================================================================== */

/* Excellent: 8.0 - 10.0 (Indigo) */
[data-score-bar].score-excellent {
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%) !important;
}

/* Mid: 4.0 - 7.9 (Orange) */
[data-score-bar].score-mid {
  background: linear-gradient(90deg, var(--score-color-mid-start) 0%, var(--score-color-mid-end) 100%) !important;
}

/* Poor: 0.0 - 3.9 (Red) */
[data-score-bar].score-poor {
  background: linear-gradient(90deg, var(--score-color-poor-start) 0%, var(--score-color-poor-end) 100%) !important;
}

/* Keep score bar colors clean (no brightness filters) */
[data-score-bar] {
  filter: none !important;
}

/* Fine-tuned brightness adjustments for score steps within each range */
/* 10.0 */
[data-score-bar].score-10-0 { filter: brightness(1.0); }
/* 9.5-9.9 */
[data-score-bar].score-9-5, [data-score-bar].score-9-6, [data-score-bar].score-9-7, 
[data-score-bar].score-9-8, [data-score-bar].score-9-9 { filter: brightness(1.02); }
/* 9.0-9.4 */
[data-score-bar].score-9-0, [data-score-bar].score-9-1, [data-score-bar].score-9-2, 
[data-score-bar].score-9-3, [data-score-bar].score-9-4 { filter: brightness(1.04); }
/* 8.5-8.9 */
[data-score-bar].score-8-5, [data-score-bar].score-8-6, [data-score-bar].score-8-7, 
[data-score-bar].score-8-8, [data-score-bar].score-8-9 { filter: brightness(1.06); }
/* 8.0-8.4 */
[data-score-bar].score-8-0, [data-score-bar].score-8-1, [data-score-bar].score-8-2, 
[data-score-bar].score-8-3, [data-score-bar].score-8-4 { filter: brightness(1.08); }
/* 7.5-7.9 */
[data-score-bar].score-7-5, [data-score-bar].score-7-6, [data-score-bar].score-7-7, 
[data-score-bar].score-7-8, [data-score-bar].score-7-9 { filter: brightness(1.0); }
/* 7.0-7.4 */
[data-score-bar].score-7-0, [data-score-bar].score-7-1, [data-score-bar].score-7-2, 
[data-score-bar].score-7-3, [data-score-bar].score-7-4 { filter: brightness(1.03); }
/* 6.5-6.9 */
[data-score-bar].score-6-5, [data-score-bar].score-6-6, [data-score-bar].score-6-7, 
[data-score-bar].score-6-8, [data-score-bar].score-6-9 { filter: brightness(1.06); }
/* 6.0-6.4 */
[data-score-bar].score-6-0, [data-score-bar].score-6-1, [data-score-bar].score-6-2, 
[data-score-bar].score-6-3, [data-score-bar].score-6-4 { filter: brightness(1.09); }
/* 5.5-5.9 */
[data-score-bar].score-5-5, [data-score-bar].score-5-6, [data-score-bar].score-5-7, 
[data-score-bar].score-5-8, [data-score-bar].score-5-9 { filter: brightness(1.0); }
/* 5.0-5.4 */
[data-score-bar].score-5-0, [data-score-bar].score-5-1, [data-score-bar].score-5-2, 
[data-score-bar].score-5-3, [data-score-bar].score-5-4 { filter: brightness(1.04); }
/* 4.5-4.9 */
[data-score-bar].score-4-5, [data-score-bar].score-4-6, [data-score-bar].score-4-7, 
[data-score-bar].score-4-8, [data-score-bar].score-4-9 { filter: brightness(1.08); }
/* 4.0-4.4 */
[data-score-bar].score-4-0, [data-score-bar].score-4-1, [data-score-bar].score-4-2, 
[data-score-bar].score-4-3, [data-score-bar].score-4-4 { filter: brightness(1.12); }
/* 3.5-3.9 */
[data-score-bar].score-3-5, [data-score-bar].score-3-6, [data-score-bar].score-3-7, 
[data-score-bar].score-3-8, [data-score-bar].score-3-9 { filter: brightness(1.0); }
/* 3.0-3.4 */
[data-score-bar].score-3-0, [data-score-bar].score-3-1, [data-score-bar].score-3-2, 
[data-score-bar].score-3-3, [data-score-bar].score-3-4 { filter: brightness(1.05); }
/* 2.5-2.9 */
[data-score-bar].score-2-5, [data-score-bar].score-2-6, [data-score-bar].score-2-7, 
[data-score-bar].score-2-8, [data-score-bar].score-2-9 { filter: brightness(1.1); }
/* 2.0-2.4 */
[data-score-bar].score-2-0, [data-score-bar].score-2-1, [data-score-bar].score-2-2, 
[data-score-bar].score-2-3, [data-score-bar].score-2-4 { filter: brightness(1.15); }
/* 1.5-1.9 */
[data-score-bar].score-1-5, [data-score-bar].score-1-6, [data-score-bar].score-1-7, 
[data-score-bar].score-1-8, [data-score-bar].score-1-9 { filter: brightness(1.2); }
/* 1.0-1.4 */
[data-score-bar].score-1-0, [data-score-bar].score-1-1, [data-score-bar].score-1-2, 
[data-score-bar].score-1-3, [data-score-bar].score-1-4 { filter: brightness(1.25); }
/* 0.0-0.9 */
[data-score-bar].score-0-0, [data-score-bar].score-0-1, [data-score-bar].score-0-2, 
[data-score-bar].score-0-3, [data-score-bar].score-0-4, [data-score-bar].score-0-5,
[data-score-bar].score-0-6, [data-score-bar].score-0-7, [data-score-bar].score-0-8, 
[data-score-bar].score-0-9 { filter: brightness(1.3); }

/* ==========================================================================
   PRODUCT CARD PROS & CONS
   ========================================================================== */

.product-card__pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.product-card__inner-content > .product-card__pros-cons:first-child {
  margin-top: 0;
}

.product-card__inner-content > .product-card__pros-cons:last-child {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  .product-card__pros-cons {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.product-card__pros,
.product-card__cons {
  min-width: 0;
}

.product-card__pros-title,
.product-card__cons-title {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0 0 0.75rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product-card__pros-title {
  color: var(--rz-color-heading);
}

.product-card__pros-title::before {
  content: none;
}

.product-card__cons-title {
  color: var(--rz-color-heading);
}

.product-card__cons-title::before {
  content: none;
}

.product-card__pros-list,
.product-card__cons-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-card__pros-item,
.product-card__cons-item {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--rz-color-text);
}

.product-card__pros-item:last-child,
.product-card__cons-item:last-child {
  margin-bottom: 0;
}

.product-card__pros-item::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #166534;
  font-weight: 600;
  font-size: 0.75rem;
}

.product-card__cons-item::before {
  content: '✗';
  position: absolute;
  left: 0;
  color: #92400e;
  font-weight: 600;
  font-size: 0.75rem;
}

/* ==========================================================================
   PRODUCT CARD CTA
   ========================================================================== */

.product-card__cta {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.product-card__cta > .product-card__cta-button {
  flex: 0 1 170px !important;
  width: 170px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 40px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.25 !important;
}

/* Base CTA button styles now in FIGMA BUTTONS section below */

/* ==========================================================================
   PRODUCT CARD STATS BOX
   ========================================================================== */

.product-card__stats {
  margin-top: 1.5rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-surface);
}

.product-card__stats-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* Ensures consistent column widths */
}

.product-card__stats-row {
  border-bottom: 1px solid rgba(155, 133, 121, 0.38);
}

.product-card__stats-row:last-child {
  border-bottom: none;
}

.product-card__stats-table--expanded .product-card__stats-row:first-child {
  border-top: 1px solid rgba(155, 133, 121, 0.38);
}

.product-card__stats-label,
.product-card__stats-value {
  padding: 0.875rem 1rem;
  font-size: 0.9375rem;
  vertical-align: middle;
}

.product-card__stats-label {
  color: var(--rz-color-text);
  font-weight: 500;
  background: rgba(240, 252, 254, 0.55);
  width: 160px;
}

.product-card__stats-label-inner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product-card__stats-field-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.product-card__stats-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.product-card__stats-value {
  color: #111827;
  text-align: left;
  background: var(--rz-color-white);
}

/* Value type styling */
.product-card__stats-value.stats-value--yes {
  color: #059669;
  font-weight: 500;
}

.product-card__stats-value.stats-value--no {
  color: #dc2626;
  font-weight: 500;
}

.product-card__stats-value.stats-value--score {
  font-weight: 600;
  color: var(--rz-color-link);
}

/* Icons grid for grouped fields (like "Compatible with") */
.product-card__stats-icons-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

.product-card__stats-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  min-width: 50px;
}

.product-card__stats-icon-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.product-card__stats-icon-label {
  font-size: 0.6875rem;
  color: var(--rz-color-muted);
  text-align: center;
  line-height: 1.2;
  max-width: 60px;
  word-wrap: break-word;
}

/* Row with group icons needs vertical alignment at top */
.product-card__stats-row--group .product-card__stats-label,
.product-card__stats-row--group .product-card__stats-value {
  vertical-align: top;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Expanded section */
.product-card__stats-expanded[hidden] {
  display: none;
}

/* Toggle button */
.product-card__stats-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1rem;
  background: rgba(155, 133, 121, 0.10);
  border: none;
  border-top: 1px solid var(--rz-color-border);
  color: var(--rz-color-purple);
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.product-card__stats-toggle:hover {
  background: rgba(155, 133, 121, 0.14);
  color: var(--rz-color-purple);
}

.product-card__stats-toggle-text[hidden] {
  display: none;
}

.product-card__stats-toggle-icon {
  transition: transform 0.2s ease;
}

.product-card__stats[data-expanded="true"] .product-card__stats-toggle-icon {
  transform: rotate(180deg);
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .product-card__stats-label,
  .product-card__stats-value {
    padding: 0.75rem;
    font-size: 0.875rem;
  }
  
  .product-card__stats-label {
    width: 120px;
  }
  
  .product-card__stats-icon {
    width: 18px;
    height: 18px;
  }
  
  .product-card__stats-icons-grid {
    gap: 0.75rem;
  }
  
  .product-card__stats-icon-item {
    min-width: 40px;
  }
  
  .product-card__stats-icon-img {
    width: 20px;
    height: 20px;
  }
  
  .product-card__stats-icon-label {
    font-size: 0.625rem;
    max-width: 50px;
  }
}

/* ==========================================================================
   PRODUCT CARD EXTRA CONTENT SECTIONS
   ========================================================================== */

.product-card__extra-content {
  margin-top: 1.5rem;
}

/* Text Block */
.product-card__extra-text {
  margin-bottom: 1.25rem;
  color: var(--rz-color-text);
  font-size: 0.9375rem;
  line-height: 1.7;
}

.product-card__extra-text p:last-child {
  margin-bottom: 0;
}

/* Image Block */
.product-card__extra-image {
  margin: 0 0 1.25rem 0;
}

.product-card__extra-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.product-card__extra-caption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  text-align: center;
  font-style: italic;
}

/* Video Block */
.product-card__extra-video {
  margin: 0 0 1.25rem 0;
}

.product-card__extra-video-wrap {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  border-radius: 8px;
}

.product-card__extra-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Expandable Section (Accordion) — Figma "Dropdown" style */
.product-card__expandable {
  border: none;
  border-radius: 0;
  margin-bottom: 0.75rem;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.product-card__expandable:last-child {
  margin-bottom: 0;
}

.product-card__expandable-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--rz-color-border, #d9d9d9);
  cursor: pointer;
  text-align: left;
  transition: color 0.15s ease;
}

.product-card__expandable-header:hover {
  background: transparent;
}

.product-card__expandable-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.product-card__expandable-icon {
  flex-shrink: 0;
  color: #6b7280;
  transition: transform 0.2s ease;
}

.product-card__expandable.is-open .product-card__expandable-icon {
  transform: rotate(180deg);
}

.product-card__expandable-content {
  padding: 1rem 0;
  color: var(--rz-color-text, var(--rz-color-text));
  font-size: 0.9375rem;
  line-height: 1.7;
  border-top: none;
  background: transparent;
}

.product-card__expandable-content[hidden] {
  display: none;
}

.product-card__expandable-content p:last-child {
  margin-bottom: 0;
}

.product-card__expandable-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 0.75rem 0;
}

/* Nested flexible content inside expandable sections */
.product-card__expandable-content-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.product-card__expandable-text {
  color: var(--rz-color-text);
  font-size: 0.9375rem;
  line-height: 1.7;
}

.product-card__expandable-text p:last-child {
  margin-bottom: 0;
}

.product-card__expandable-image {
  margin: 0;
}

.product-card__expandable-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.product-card__expandable-caption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  text-align: center;
  font-style: italic;
}

/* Video in expandable sections */
.product-card__expandable-video,
.article-content-section__expandable-video {
  margin: 0;
}

.product-card__expandable-video-wrap,
.article-content-section__expandable-video-wrap {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  border-radius: 6px;
}

.product-card__expandable-video-wrap iframe,
.article-content-section__expandable-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ==========================================================================
   EDIT PRODUCT LINK (Admin only - Gutenberg editor)
   ========================================================================== */

.rmb-edit-product-link {
  display: block;
  padding: 0.625rem 1rem;
  background: rgba(155, 133, 121, 0.10);
  border-top: 1px solid var(--rz-color-border);
  color: var(--rz-color-purple);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.rmb-edit-product-link:hover {
  background: rgba(155, 133, 121, 0.14);
  color: var(--rz-color-purple);
  text-decoration: none;
}

/* Inline version (in product card after pros/cons) */
.rmb-edit-product-link--inline {
  margin: 1rem 0;
  padding: 0.5rem 1rem;
  background: rgba(61, 90, 128, 0.08);
  border: 1px solid rgba(61, 90, 128, 0.28);
  border-radius: 6px;
  display: inline-block;
}

.rmb-edit-product-link--inline:hover {
  background: rgba(61, 90, 128, 0.12);
  border-color: rgba(61, 90, 128, 0.4);
}

/* In pr-yesno-table context */
.pr-yesno-table .rmb-edit-product-link {
  border-radius: 0 0 8px 8px;
}

/* ==========================================================================
   PRODUCT COMPARISON TABLE
   ========================================================================== */

.comparison-table {
  margin: 0;
}

.comparison-table__editor-notice {
  padding: 1rem 1.25rem;
  background: var(--rz-color-pearl);
  border: 1px dashed var(--rz-color-border);
  border-radius: 6px;
  color: var(--rz-color-muted);
  font-size: 0.875rem;
}

.comparison-table__editor-header {
  margin-bottom: 0.75rem;
}

.comparison-table__editor-label {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-muted);
  background: var(--rz-color-border);
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
}

/* Figma Style 2 — Tables container */
.comparison-table__wrapper {
  overflow-x: auto;
  border: none;
  border-radius: 8px;
  background: var(--rz-color-white);
  position: relative;
}

.comparison-table__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 500px;
}

/* Header row */
.comparison-table__header-label,
.comparison-table__header-product {
  padding: 0.625rem 0.75rem;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  background: var(--rz-color-pearl);
  border-bottom: 1px solid var(--rz-color-border);
}

.comparison-table__header-label {
  text-align: left;
  width: 130px;
  min-width: 130px;
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--rz-color-pearl);
}

/* Sticky shadow effect on first column */
.comparison-table__header-label::after,
.comparison-table__label::after {
  content: '';
  position: absolute;
  top: 0;
  right: -8px;
  bottom: 0;
  width: 8px;
  background: linear-gradient(to right, rgba(0,0,0,0.06), transparent);
  pointer-events: none;
}

.comparison-table__header-product {
  min-width: 100px;
}

/* Table rows */
.comparison-table__row:last-child .comparison-table__label,
.comparison-table__row:last-child .comparison-table__cell {
  border-bottom: none;
}

.comparison-table__label {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--rz-color-text);
  background: var(--rz-color-pearl);
  border-right: 1px solid var(--rz-color-border);
  border-bottom: 1px solid var(--rz-color-border);
  white-space: nowrap;
  position: sticky;
  left: 0;
  z-index: 1;
}

/* Data cells */
.comparison-table__cell {
  padding: 0.5rem 0.75rem;
  text-align: center;
  font-size: 0.75rem;
  color: var(--rz-color-heading);
  vertical-align: middle;
  border-bottom: 1px solid var(--rz-color-border);
  min-width: 100px;
}

/* zebra striping */
.comparison-table__row:nth-child(even) .comparison-table__cell {
  background: var(--rz-color-surface);
}

.comparison-table__row:nth-child(even) .comparison-table__label {
  background: var(--rz-color-pearl);
}

/* Product header row (combined image + name) */
.comparison-table__row--product_header .comparison-table__cell {
  padding: 0.75rem 0.5rem;
  background: var(--rz-color-pearl) !important;
  border-bottom: 2px solid var(--rz-color-border) !important;
}

.comparison-table__row--product_header .comparison-table__label {
  background: var(--rz-color-pearl) !important;
  border-bottom: 2px solid var(--rz-color-border) !important;
}

.comparison-table__product-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.comparison-table__product-image {
  max-width: 70px;
  max-height: 50px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
}

.comparison-table__product-name {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  text-align: center;
}

/* Link wrapper for product header when review page exists */
.comparison-table__product-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

.comparison-table__product-link:hover .comparison-table__product-name {
  color: var(--rz-color-link);
}

/* Product name/link */
.comparison-table__product-link {
  color: var(--rz-color-dark-blue);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.75rem;
  transition: color 0.15s ease;
}

.comparison-table__product-link:hover {
  color: var(--rz-color-link);
  text-decoration: underline;
}

/* Overall Score display (with bar) */
.comparison-table__overall-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.comparison-table__overall-bar-wrap {
  width: 50px;
  height: 8px;
  background: var(--rz-color-border);
  border-radius: 4px;
  overflow: hidden;
}

.comparison-table__overall-bar {
  height: 100%;
  width: 0;
  border-radius: 4px;
  transition: width 0.6s ease-out;
}

/* Score bar colors */
.comparison-table__overall-bar.score-excellent {
  background: linear-gradient(90deg, var(--score-color-excellent-start) 0%, var(--score-color-excellent-end) 100%);
}

.comparison-table__overall-bar.score-mid {
  background: linear-gradient(90deg, var(--score-color-mid-start) 0%, var(--score-color-mid-end) 100%);
}

.comparison-table__overall-bar.score-poor {
  background: linear-gradient(90deg, var(--score-color-poor-start) 0%, var(--score-color-poor-end) 100%);
}

.comparison-table__overall-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-text);
  min-width: 40px;
}

/* Individual score numbers (colored) */
.comparison-table__score-num {
  font-size: 0.8125rem;
  font-weight: 600;
}

.comparison-table__score-num.score-excellent {
  color: var(--score-color-excellent-start);
}

.comparison-table__score-num.score-mid {
  color: var(--score-color-mid-start);
}

.comparison-table__score-num.score-poor {
  color: var(--score-color-poor-start);
}

/* Yes/No styling */
.comparison-table__yes {
  color: #166534;
  font-weight: 500;
}

.comparison-table__no {
  color: #991b1b;
  font-weight: 500;
}

.comparison-table__cell.is-yes {
  background: color-mix(in srgb, var(--rz-color-mint-green) 12%, var(--rz-color-white));
}

.comparison-table__cell.is-no {
  background: color-mix(in srgb, var(--rz-color-pink) 12%, var(--rz-color-white));
}

/* Links */
.comparison-table__link {
  color: var(--rz-color-purple);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.75rem;
  transition: color 0.15s ease;
}

.comparison-table__link:hover {
  color: var(--rz-color-link);
  text-decoration: underline;
}

/* ==========================================================================
   COMPARISON TABLE — additional Figma styles (cell states, scores, links)
   ========================================================================== */

.comparison-table__cell.is-limited {
  background: color-mix(in srgb, var(--rz-color-golden-yellow) 14%, var(--rz-color-white));
}

.comparison-table__cell.is-neutral {
  background: color-mix(in srgb, var(--rz-color-dark-grey) 12%, var(--rz-color-white));
}

.comparison-table__limited {
  color: #92650a;
  font-weight: 500;
}

.comparison-table__product-name {
  color: var(--rz-color-heading);
  font-family: var(--rz-font-body);
  font-weight: 600;
}

.comparison-table__overall-value {
  color: var(--rz-color-heading);
  font-family: var(--rz-font-body);
  font-weight: 600;
}

.comparison-table__score-num {
  font-family: var(--rz-font-body);
}

.comparison-table__link {
  font-family: var(--rz-font-body);
}

/* WP core table Figma overrides — now handled in base styles above */

/* Responsive */
@media (max-width: 768px) {
  .comparison-table__header-label,
  .comparison-table__label {
    width: 100px;
    min-width: 100px;
    font-size: 0.6875rem;
    padding: 0.5rem;
  }
  
  .comparison-table__header-product,
  .comparison-table__cell {
    padding: 0.5rem 0.375rem;
    font-size: 0.6875rem;
    min-width: 80px;
  }
  
  .comparison-table__product-image {
    max-width: 50px;
    max-height: 40px;
  }
  
  .comparison-table__overall-score {
    flex-direction: column;
    gap: 0.25rem;
  }
  
  .comparison-table__overall-bar-wrap {
    width: 40px;
  }
  
  .comparison-table__product-header {
    gap: 0.25rem;
  }
  
  .comparison-table__product-name {
    font-size: 0.6875rem;
  }
}

/* ==========================================================================
   HOMEPAGE STYLES
   ========================================================================== */

.site-main--homepage {
  --hp-section-title-size: 32px;
}

.hp-stats__title,
.hp-finder__title,
.hp-guides__title {
  text-wrap: balance;
}

.hp-section-kicker {
  display: block;
  width: 40px;
  height: 3px;
  border-radius: 999px;
  background: #c9963b;
  margin-bottom: 16px;
}

/* ── Hero ──────────────────────────────────────────────────── */
.hp-hero {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 546px;
  background: #0e1a2b;
  padding: 140px var(--rz-page-gutter) 120px;
}

.hp-hero::before,
.hp-hero__bg {
  position: absolute;
  top: 0;
  right: max(var(--rz-page-gutter), calc((100% - var(--rz-content-max-width)) / 2));
  width: 100%;
  max-width: 970px;
  height: 100%;
}

.hp-hero::before {
  content: "";
  background: linear-gradient(90deg, #0e1a2b 0%, #0e1a2b 26%, #2f5891 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 80%, transparent 100%);
}

.hp-hero__bg {
  object-fit: cover;
  object-position: center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%, #000 80%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 45%, #000 80%, transparent 100%);
}

.hp-hero__container {
  position: relative;
  z-index: 1;
  max-width: var(--rz-content-max-width);
  margin: 0 auto;
}

.hp-hero__title {
  max-width: 640px;
  font-family: var(--rz-font-heading);
  font-size: clamp(2.25rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--rz-color-white);
  margin: 0 0 20px;
}

.hp-hero__highlight {
  text-decoration: underline;
  text-decoration-color: var(--rz-color-golden-yellow);
  text-decoration-thickness: 4px;
  text-underline-offset: 0.18em;
  text-decoration-skip-ink: none;
}

.hp-hero__subtitle {
  max-width: 548px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

/* ── Platform cards (overlap the hero) ──────────────────────── */
.hp-platforms {
  position: relative;
  z-index: 1;
  margin-top: -94px;
  padding: 0 var(--rz-page-gutter);
}

.hp-platforms__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  max-width: var(--rz-content-max-width);
  margin: 0 auto;
}

.hp-platform-card {
  display: flex;
  flex-direction: column;
  padding: 32px 48px;
  background: var(--rz-color-white);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(14, 26, 43, 0.12);
}

.hp-platform-card__icon {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 20px;
  background: var(--rz-color-pearl);
  border: 1px solid #e5e3de;
  border-radius: 12px;
}

.hp-platform-card__icon img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.hp-platform-card__title {
  margin: 0 0 8px;
  font-family: var(--rz-font-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--rz-color-heading);
}

.hp-platform-card__description {
  max-width: 420px;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--rz-color-muted);
}

.hp-platform-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 28px;
}

.hp-platform-card__count {
  margin: 0;
  font-size: 13px;
  color: var(--rz-color-muted);
}

.hp-platform-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  margin-left: auto;
  padding: 0 16px;
  border-radius: 6px;
  background: var(--rz-color-golden-yellow);
  color: var(--rz-color-white);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease;
}

.hp-platform-card__btn:hover,
.hp-platform-card__btn:focus-visible {
  background: #b5852f;
}

/* ── Stats ──────────────────────────────────────────────────── */
.hp-stats {
  padding: 100px var(--rz-page-gutter) 80px;
  text-align: center;
}

.hp-stats__container {
  max-width: var(--rz-content-max-width);
  margin: 0 auto;
}

.hp-stats__title {
  margin: 0 0 48px;
  font-family: var(--rz-font-heading);
  font-size: var(--hp-section-title-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--rz-color-heading);
}

.hp-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 272px));
  justify-content: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hp-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.hp-stat__value {
  font-family: var(--rz-font-heading);
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--rz-color-golden-yellow);
}

.hp-stat__label {
  font-size: 14px;
  line-height: 1.5;
  color: var(--rz-color-muted);
}

/* ── Vendor logos ───────────────────────────────────────────── */
.hp-vendors {
  padding: 34px var(--rz-page-gutter);
  background: var(--rz-color-pearl);
  text-align: center;
}

.hp-vendors__container {
  max-width: var(--rz-content-max-width);
  margin: 0 auto;
}

.hp-vendors__title {
  margin: 0 0 28px;
  font-family: var(--rz-font-heading);
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 0.04em;
  color: var(--rz-color-heading);
}

.hp-vendors__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px 56px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hp-vendors__logo img {
  display: block;
  width: auto;
  max-width: 140px;
  height: 32px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.55;
  mix-blend-mode: multiply;
}

/* ── Finder ─────────────────────────────────────────────────── */
.hp-finder {
  padding: 80px var(--rz-page-gutter) 96px;
  text-align: center;
}

.hp-finder__container {
  max-width: var(--rz-content-max-width);
  margin: 0 auto;
}

.hp-finder__title {
  margin: 0 0 12px;
  font-family: var(--rz-font-heading);
  font-size: var(--hp-section-title-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--rz-color-heading);
}

.hp-finder__subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--rz-color-muted);
}

.hp-finder__panel {
  max-width: 970px;
  margin: 40px auto 0;
  padding: 12px 12px 20px;
  background: var(--rz-color-pearl);
  border: 1px solid #e5e3de;
  border-radius: 18px;
}

.hp-finder__tabs {
  display: inline-flex;
  gap: 4px;
  margin-bottom: 12px;
  padding: 4px;
  background: var(--rz-color-white);
  border: 1px solid #e5e3de;
  border-radius: 10px;
}

.hp-finder__tab {
  min-width: 180px;
  height: 42px;
  padding: 0 24px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--rz-color-heading);
  font-family: var(--rz-font-body);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.hp-finder__tab:hover {
  background: var(--rz-color-pearl);
}

.hp-finder__tab[aria-selected="true"] {
  background: var(--rz-color-golden-yellow);
  color: var(--rz-color-white);
}

.hp-finder__tab:focus-visible,
.hp-finder__tabpanel:focus-visible {
  outline: 2px solid var(--rz-color-primary);
  outline-offset: 2px;
}

.hp-finder__list {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  text-align: left;
  background: var(--rz-color-white);
  border: 1px solid #ece9e3;
  border-radius: 16px;
}

.hp-finder__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 76px;
  padding: 0 24px;
  box-sizing: border-box;
  transition: background-color 0.15s ease;
}

.hp-finder__item:hover {
  background: var(--rz-color-pearl);
}

.hp-finder__item + .hp-finder__item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  left: 8px;
  height: 1px;
  background: #f0ede8;
}

.hp-finder__logo {
  display: block;
  width: auto;
  max-width: 140px;
  height: 28px;
  object-fit: contain;
}

.hp-finder__name {
  font-size: 16px;
  font-weight: 600;
  color: var(--rz-color-heading);
}

.hp-finder__review,
.hp-finder__all {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.hp-finder__review::after {
  content: "";
  position: absolute;
  inset: 0;
}

.hp-finder__review:focus-visible {
  outline: none;
}

.hp-finder__review:focus-visible::after {
  outline: 2px solid var(--rz-color-primary);
  outline-offset: -2px;
}

.hp-finder__review span {
  display: inline-block;
  transition: transform 0.15s ease;
}

.hp-finder__item:hover .hp-finder__review span {
  transform: translateX(3px);
}

.hp-finder__all {
  display: inline-block;
  margin-top: 20px;
}

/* ── Guides ─────────────────────────────────────────────────── */
.hp-guides {
  padding: 80px var(--rz-page-gutter);
  background: var(--rz-color-white);
}

.hp-guides__container {
  max-width: calc(546px * 2 + 64px);
  margin: 0 auto;
}

.hp-guides__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}

.hp-guides__title {
  margin: 0;
  font-family: var(--rz-font-heading);
  font-size: var(--hp-section-title-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--rz-color-heading);
}

.hp-guides__all {
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.hp-guides__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 546px));
  justify-content: space-between;
  gap: 32px;
}

.hp-guide-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 48px 36px;
  background: var(--rz-color-white);
  border: 1px solid #e5e3de;
  border-radius: 16px;
}

.hp-guide-card__title {
  margin: 0 0 24px;
  font-family: var(--rz-font-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--rz-color-heading);
  text-wrap: balance;
}

.hp-guide-card__excerpt {
  max-width: 420px;
  margin: 0 0 32px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--rz-color-muted);
}

.hp-guides__btn {
  display: inline-flex;
  align-items: center;
  height: 46px;
  margin-top: auto;
  padding: 0 22px;
  border-radius: 8px;
  background: var(--rz-color-golden-yellow);
  color: var(--rz-color-white);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

.hp-guides__btn:hover,
.hp-guides__btn:focus-visible {
  background: #b5852f;
}

/* ── Tablet large (1100px) ── */
@media (max-width: 1100px) {
  .hp-hero {
    padding-top: 100px;
  }

  .hp-stats,
  .hp-guides {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

/* ── Tablet (980px) ── */
@media (max-width: 980px) {
  .hp-platforms__container,
  .hp-guides__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .hp-guides__grid {
    grid-template-columns: minmax(0, 546px);
  }
}

/* ── Mobile (640px) ── */
@media (max-width: 640px) {
  .hp-hero {
    min-height: 0;
    padding-top: 64px;
    padding-bottom: 96px;
  }

  .hp-hero__subtitle {
    font-size: 16px;
  }

  .hp-platforms {
    margin-top: -56px;
  }

  .hp-platform-card {
    padding: 24px;
  }

  .hp-platform-card__footer {
    flex-wrap: wrap;
  }

  .hp-stats {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .site-main--homepage {
    --hp-section-title-size: 24px;
  }

  .hp-stats__title {
    margin-bottom: 32px;
  }

  .hp-stats__grid {
    grid-template-columns: minmax(0, 272px);
    gap: 28px;
  }

  .hp-stat__value {
    font-size: 40px;
  }

  .hp-vendors__logos {
    gap: 20px 32px;
  }

  .hp-vendors__logo img {
    max-width: 110px;
    height: 26px;
  }

  .hp-finder {
    padding-top: 48px;
    padding-bottom: 56px;
  }


  .hp-finder__panel {
    margin-top: 28px;
    padding: 8px 8px 16px;
  }

  .hp-finder__tabs {
    display: flex;
  }

  .hp-finder__tab {
    flex: 1;
    min-width: 0;
    padding: 0 12px;
  }

  .hp-finder__item {
    min-height: 64px;
    padding: 0 16px;
  }

  .hp-finder__logo {
    max-width: 110px;
    height: 24px;
  }

  .hp-guides {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hp-guides__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 28px;
  }


  .hp-guide-card {
    padding: 24px;
  }

  .hp-guide-card__title {
    margin-bottom: 16px;
  }
}

/* ==========================================================================
   PIE CHART BLOCK
   ========================================================================== */

.pie-chart {
  margin: 1.5rem 0;
}

.pie-chart__container {
  background: rgba(155, 133, 121, 0.22);
  border: none;
  border-radius: 8px;
  padding: 1.5rem;
  max-width: 752px;
  box-shadow: none;
}

.pie-chart__header {
  text-align: center;
  margin-bottom: 1.25rem;
}

.pie-chart__title {
  font-family: var(--rz-font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.25rem;
  line-height: 1.3;
}

.pie-chart__subtitle {
  font-family: var(--rz-font-body);
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  margin: 0;
  line-height: 1.4;
}

.pie-chart__body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.pie-chart__chart-wrap {
  flex-shrink: 0;
  width: 200px;
  height: 200px;
}

.pie-chart__svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.pie-chart__segment {
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transform-origin: center;
  stroke: var(--rz-color-white);
  stroke-width: 1;
}

.pie-chart__segment--dimmed {
  opacity: 0.30;
}

.pie-chart__segment--active {
  opacity: 0.90;
  filter: drop-shadow(0 2px 4px rgba(107, 114, 128, 0.25));
}

.pie-chart__percentage {
  pointer-events: none;
  font-family: var(--rz-font-body);
  fill: #000000;
  transition: opacity 0.2s ease;
}

.pie-chart__segment--dimmed + .pie-chart__percentage,
.pie-chart__segment--dimmed ~ .pie-chart__percentage {
  opacity: 1;
}

.pie-chart__legend {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 140px;
}

.pie-chart__legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.pie-chart__legend-item:hover {
  background-color: rgba(155, 133, 121, 0.14);
}

.pie-chart__legend-item--dimmed {
  opacity: 0.30;
}

.pie-chart__legend-item--active {
  opacity: 0.90;
  background-color: rgba(155, 133, 121, 0.22);
}

.pie-chart__legend-color {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  flex-shrink: 0;
}

.pie-chart__legend-label {
  font-family: var(--rz-font-body);
  font-size: 0.875rem;
  color: var(--rz-color-text);
  line-height: 1.3;
}

/* Responsive adjustments */
@media (max-width: 500px) {
  .pie-chart__body {
    flex-direction: column;
    gap: 1.25rem;
  }
  
  .pie-chart__chart-wrap {
    width: 180px;
    height: 180px;
  }
  
  .pie-chart__legend {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.375rem 0.75rem;
    min-width: auto;
  }
  
  .pie-chart__legend-item {
    padding: 0.2rem 0.4rem;
  }
  
  .pie-chart__legend-label {
    font-size: 0.8125rem;
  }
}

/* Editor preview placeholder */
.pie-chart--preview {
  border-radius: 8px;
}

/* ==========================================================================
   SUB-ARTICLES LIST BLOCK
   ========================================================================== */

.sub-articles-list {
  margin: 2rem 0;
}

.sub-articles-list__editor-header {
  background: #f0f6fc;
  border-left: 4px solid #2271b1;
  padding: 12px 15px;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

.sub-articles-list__editor-label {
  font-weight: 600;
  color: #2271b1;
}

.sub-articles-list__grid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.sub-articles-list__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.sub-articles-list__category {
  border-radius: 8px;
  overflow: hidden;
  background: var(--rz-color-white);
  border: 1px solid #6b7280;
}

.sub-articles-list__category--empty {
  visibility: hidden;
}

.sub-articles-list__category-header {
  padding: 0 1rem;
  height: 44px;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.15s ease;
  display: flex;
  align-items: center;
}

.sub-articles-list__category-header:hover {
  opacity: 0.9;
}

.sub-articles-list__category-header:focus {
  outline: none;
}

.sub-articles-list__category-header-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

.sub-articles-list__category-icon-wrapper {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 6px;
  background-color: rgba(255, 255, 255, 0.2);
}

.sub-articles-list__category-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

h3.sub-articles-list__category-title,
.sub-articles-list__category-title {
  flex: 1;
  font-family: var(--rz-font-heading);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  padding: 0;
}

/* Header text color variants */
.sub-articles-list__category-header--light-text .sub-articles-list__category-title,
.sub-articles-list__category-header--light-text .sub-articles-list__category-toggle {
  color: var(--rz-color-white);
}

.sub-articles-list__category-header--dark-text .sub-articles-list__category-title,
.sub-articles-list__category-header--dark-text .sub-articles-list__category-toggle {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.sub-articles-list__category-toggle {
  flex-shrink: 0;
  transition: transform 0s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sub-articles-list__category-content {
  display: block; /* Visible by default for SEO - crawlers see all links */
  background: var(--rz-color-white);
  border-top: 1px solid #6b7280;
}

/* When JS is active, collapse content by default */
.sub-articles-list--js-enabled .sub-articles-list__category-content {
  display: none;
}

/* Expand content when aria-expanded is true (JS toggle) */
.sub-articles-list--js-enabled .sub-articles-list__category-header[aria-expanded="true"] ~ .sub-articles-list__category-content {
  display: block;
}

.sub-articles-list__category-description {
  padding: 1rem 1.25rem;
  font-family: var(--rz-font-body);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* Description text color variants */
.sub-articles-list__category-description--light-text {
  color: var(--rz-color-white);
}

.sub-articles-list__category-description--dark-text {
  color: var(--rz-color-text, var(--rz-color-text));
}

.sub-articles-list__category-description p {
  margin: 0 0 0.5rem 0;
}

.sub-articles-list__category-description p:last-child {
  margin-bottom: 0;
}

.sub-articles-list__articles-wrapper {
  background: var(--rz-color-white);
  padding: 0;
}

.sub-articles-list__articles {
  list-style: none;
  margin: 0;
  padding: 0.75rem 1.25rem;
}

.sub-articles-list__article-item {
  margin-bottom: 0;
}

.sub-articles-list__article-link {
  display: block;
  font-family: var(--rz-font-body);
  font-size: 0.9375rem;
  color: var(--rz-color-text, var(--rz-color-text));
  text-decoration: none;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(107, 114, 128, 0.20);
  transition: color 0.15s ease;
}

.sub-articles-list__article-link:hover {
  color: var(--rz-color-link, var(--rz-color-link));
}

.sub-articles-list__article-item:last-child .sub-articles-list__article-link {
  border-bottom: none;
}

.sub-articles-list__empty {
  padding: 1.5rem 1.25rem;
  text-align: center;
  color: var(--rz-color-muted);
  font-size: 0.875rem;
  background: var(--rz-color-white);
}

.sub-articles-list__empty p {
  margin: 0;
}

/* ---------- Plain style variant (mini dropdown) ---------- */
.sub-articles-list__category--plain {
  background: rgba(155, 133, 121, 0.22);
  box-shadow: 0px 4px 4px 0px rgba(107, 114, 128, 0.50);
}

.sub-articles-list__category-header--plain {
  background: transparent;
}

.sub-articles-list__category-header--plain:hover {
  opacity: 1;
  background: rgba(155, 133, 121, 0.18);
}

.sub-articles-list__category-header--plain .sub-articles-list__category-title {
  color: var(--rz-color-heading, var(--rz-color-dark-purple));
}

.sub-articles-list__category-header--plain .sub-articles-list__category-toggle {
  color: #6b7280;
}

.sub-articles-list__category-header--plain .sub-articles-list__category-icon-wrapper {
  background-color: rgba(107, 114, 128, 0.10);
}

.sub-articles-list__category--plain .sub-articles-list__category-content {
  background: var(--rz-color-white);
}

.sub-articles-list__category--plain .sub-articles-list__category-description {
  background: transparent;
  color: var(--rz-color-text, var(--rz-color-text));
}

/* Responsive */
@media (max-width: 768px) {
  .sub-articles-list__row {
    grid-template-columns: 1fr;
  }
  
  .sub-articles-list__category--empty {
    display: none;
  }
  
  .sub-articles-list__category-header {
    padding: 0 0.875rem;
    height: 40px;
  }
  
  .sub-articles-list__category-icon-wrapper {
    width: 32px;
    height: 32px;
  }
  
  .sub-articles-list__category-title {
    font-size: 0.875rem;
  }
}

/* ==========================================================================
   IMAGE LIGHTBOX MODAL
   ========================================================================== */

/* Clickable image indicator */
.product-review-hero__image-wrap,
.product-card__hero-wrap,
.wp-block-image img,
.product-card__extra-image img {
  cursor: pointer;
}

/* Lightbox overlay */
.rmb-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  padding: 1rem;
  box-sizing: border-box;
  cursor: default;
}

.rmb-lightbox * {
  cursor: default;
}

.rmb-lightbox[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
}

/* Image container */
.rmb-lightbox__container {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transform: scale(0.95);
  transition: transform 0.25s ease;
}

.rmb-lightbox[aria-hidden="false"] .rmb-lightbox__container {
  transform: scale(1);
}

/* Gradient background variant - Product Review Hero proportions */
.rmb-lightbox__container.has-gradient-bg--hero {
  background-color: var(--rz-color-white);
  background-image: var(--rmb-image-bg, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 16px;
  padding: 2rem;
  aspect-ratio: 120 / 61;
  width: min(90vw, 1200px);
  max-height: 85vh;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.rmb-lightbox__container.has-gradient-bg--hero .rmb-lightbox__image {
  max-width: 78%;
  max-height: 70%;
  min-height: 52%;
  min-width: 0;
  width: auto;
  height: auto;
  min-height: 0;
  object-fit: contain;
  box-shadow: none;
  border-radius: 8px;
}

/* Gradient background variant - Product Card proportions */
.rmb-lightbox__container.has-gradient-bg--card {
  background-color: var(--rz-color-white);
  background-image: var(--rmb-image-bg, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 12px;
  padding: 2rem;
  aspect-ratio: 16 / 9;
  width: min(90vw, 900px);
  max-height: 85vh;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.rmb-lightbox__container.has-gradient-bg--card .rmb-lightbox__image {
  max-width: 82%;
  max-height: 78%;
  min-height: 55%;
  min-width: 0;
  width: auto;
  height: auto;
  min-height: 0;
  object-fit: contain;
  box-shadow: none;
  border-radius: 8px;
}

/* The image (default - no gradient) */
.rmb-lightbox__image {
  max-width: 95vw;
  max-height: 92vh;
  min-width: min(600px, 90vw);
  min-height: min(400px, 60vh);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

/* Close button */
.rmb-lightbox__close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  cursor: pointer !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
  z-index: 100000;
}

.rmb-lightbox__close:hover,
.rmb-lightbox__close:focus {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
}

.rmb-lightbox__close:focus {
  outline: 2px solid white;
  outline-offset: 2px;
}

.rmb-lightbox__close svg {
  width: 24px;
  height: 24px;
  stroke: white;
  stroke-width: 2;
}

/* Caption (optional) */
.rmb-lightbox__caption {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  max-width: 80%;
  padding: 0.75rem 1.25rem;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  font-size: 0.875rem;
  line-height: 1.4;
  text-align: center;
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.25s ease 0.1s;
}

.rmb-lightbox[aria-hidden="false"] .rmb-lightbox__caption:not(:empty) {
  opacity: 1;
}

/* Instructions hint */
.rmb-lightbox__hint {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  padding: 0.5rem 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  border-radius: 4px;
  pointer-events: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .rmb-lightbox {
    padding: 0.5rem;
  }
  
  .rmb-lightbox__close {
    top: 0.5rem;
    right: 0.5rem;
    width: 40px;
    height: 40px;
  }
  
  .rmb-lightbox__close svg {
    width: 20px;
    height: 20px;
  }
  
  .rmb-lightbox__hint {
    display: none;
  }
  
  /* Gradient containers on mobile */
  .rmb-lightbox__container.has-gradient-bg--hero,
  .rmb-lightbox__container.has-gradient-bg--card {
    width: 95vw;
    padding: 1rem;
    max-height: 80vh;
  }
  
  .rmb-lightbox__container.has-gradient-bg--hero .rmb-lightbox__image,
  .rmb-lightbox__container.has-gradient-bg--card .rmb-lightbox__image {
    max-width: 92%;
    max-height: 88%;
    min-height: 50%;
  }
  
  .rmb-lightbox__image {
    min-width: min(320px, 85vw);
    min-height: min(200px, 40vh);
  }
}

/* ==========================================================================
   RELATED ARTICLES SECTION (Guides & News)
   Reuses .guide-card and .news-list-item styles from All Guides / All News
   ========================================================================== */

.related-articles {
  margin-top: 3rem;
}

.related-articles__heading {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

/* ==========================================================================
   PAGE FEEDBACK BLOCK (Thumbs Up/Down Widget)
   ========================================================================== */

.page-feedback {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  margin: 2rem 0;
  text-align: center;
}

.page-feedback__question {
  font-family: var(--rz-font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin-bottom: 1rem;
}

.page-feedback__pill {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: var(--rz-color-white);
  border: 1px solid rgba(15, 27, 45, 0.18);
  border-radius: 50px;
  padding: 0.25rem;
  box-shadow: 0 2px 6px rgba(15, 27, 45, 0.10);
}

.page-feedback__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--rz-color-dark-blue);
}

.page-feedback__thumb:hover {
  background: rgba(61, 90, 128, 0.10);
}

.page-feedback__thumb--up:hover {
  color: #2d8b4e;
  background: rgba(45, 139, 78, 0.16);
}

.page-feedback__thumb--down:hover {
  color: #b42318;
  background: rgba(180, 35, 24, 0.14);
}

.page-feedback__thumb--up.is-selected,
.page-feedback__thumb--up:active {
  color: #2d8b4e;
  background: rgba(45, 139, 78, 0.22);
}

.page-feedback__thumb--down.is-selected,
.page-feedback__thumb--down:active {
  color: #b42318;
  background: rgba(180, 35, 24, 0.20);
}

.page-feedback__thumb.is-dimmed {
  opacity: 0.65;
  cursor: pointer;
}

.page-feedback__thumb.is-dimmed:hover {
  opacity: 0.7;
}

.page-feedback__thumb svg {
  width: 22px;
  height: 22px;
}

/* Feedback form (appears when thumbs down is clicked) */
.page-feedback__form {
  width: 100%;
  max-width: 400px;
  margin-top: 1.5rem;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.page-feedback__form.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-feedback__form[hidden] {
  display: none;
}

.page-feedback__label {
  display: block;
  font-family: var(--rz-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-text);
  margin-bottom: 0.5rem;
  text-align: left;
}

.page-feedback__textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #c4c4c4;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-family: var(--rz-font-body);
  color: var(--rz-color-text);
  resize: vertical;
  min-height: 80px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-feedback__textarea:focus {
  outline: none;
  border-color: #999;
  box-shadow: none;
}

.page-feedback__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
  padding: 0.625rem 1.25rem;
  background: var(--rz-color-primary, var(--rz-color-purple));
  color: var(--rz-color-white);
  border: 1px solid var(--rz-color-primary, var(--rz-color-purple));
  border-radius: 8px;
  font-family: var(--rz-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: filter 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 4px rgba(107, 114, 128, 0.25);
}

.page-feedback__submit:hover {
  filter: brightness(0.92);
  box-shadow: 0 4px 8px rgba(107, 114, 128, 0.35);
}

.page-feedback__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: none;
}

/* Success message */
.page-feedback__success {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: var(--rz-color-mint-green);
  font-family: var(--rz-font-body);
  font-size: 0.9375rem;
  font-weight: 500;
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  background: #ecfdf5;
  border-radius: 6px;
}

.page-feedback__success.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-feedback__success[hidden] {
  display: none;
}

.page-feedback__success svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  flex-shrink: 0;
}

/* Editor preview styles */
.page-feedback--preview {
  background: rgba(155, 133, 121, 0.10);
  border: 1px dashed var(--rz-color-border);
  border-radius: 8px;
}

.page-feedback__editor-label {
  display: none;
}

.block-editor-block-list__layout .page-feedback__editor-label,
.editor-styles-wrapper .page-feedback__editor-label {
  display: inline-block;
  font-family: var(--rz-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rz-color-purple);
  background: rgba(155, 133, 121, 0.22);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.page-feedback__pill--preview .page-feedback__thumb {
  cursor: default;
}

.page-feedback__pill--preview .page-feedback__thumb:hover {
  background: transparent;
  color: var(--rz-color-muted);
}

/* Responsive */
@media (max-width: 640px) {
  .page-feedback {
    padding: 1.5rem 1rem;
  }
  
  .page-feedback__question {
    font-size: 1rem;
  }
  
  .page-feedback__thumb {
    width: 44px;
    height: 44px;
  }
  
  .page-feedback__thumb svg {
    width: 20px;
    height: 20px;
  }
  
  .page-feedback__form {
    max-width: 100%;
  }
}

/* ==========================================================================
   METHODOLOGY PAGE TEMPLATE
   ========================================================================== */

/* Methodology page uses has-gradient-header body class (same as Top 10 pages) */
.site-main--methodology {
  background: transparent;
}

.methodology-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.methodology-article__header {
  max-width: calc(620px + 280px + 2rem); /* content + sidebar + gap = 932px */
  margin: 0 auto 2rem auto;
}

/* Two-column layout - matches review articles exactly */
.methodology-article__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center; /* Center the grid in the container */
}

.methodology-article__main {
  min-width: 0;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .methodology-article__layout {
    display: block;
  }
  
  .methodology-article__main {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .methodology-article__sidebar {
    display: none;
  }
}

/* Sidebar container - sticky so it follows scroll */
.methodology-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

h1.methodology-article__title,
.methodology-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

.methodology-article__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  max-width: 620px;
  margin-bottom: 3rem;
}

.methodology-article__intro p {
  margin: 0 0 1rem 0;
}

.methodology-article__intro p:last-child {
  margin-bottom: 0;
}

/* Jump Link - simple text link */
.methodology-article__jump-link {
  margin-top: 1rem;
}

.methodology-article__jump-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: color 0.15s ease;
}

.methodology-article__jump-link a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

.methodology-article__jump-link svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

/* Review Header in Methodology Page */
.methodology-article__header .review-header {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.methodology-article__header .review-header__divider {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Content area - matches review article width exactly */
.methodology-article__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

/* ==========================================================================
   METHODOLOGY SECTIONS
   ========================================================================== */

.methodology-section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.methodology-section--review {
  /* Ensure categories section has divider */
  border-bottom: 1px solid var(--rz-color-border);
}

.methodology-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.methodology-section__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1.25rem 0;
}

.methodology-section__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1.5rem;
  max-width: 720px;
}

.methodology-section__intro p {
  margin: 0 0 1rem 0;
}

.methodology-section__intro p:last-child {
  margin-bottom: 0;
}

.methodology-section__image {
  margin: 1.5rem 0;
}

.methodology-section__image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* ==========================================================================
   WHY TRUST SECTION - Boxed Header with Badges
   ========================================================================== */

/* Trust Section - No container box, just title and items */
.methodology-trust-box {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

.methodology-trust-box__header {
  margin-bottom: 1.5rem;
}

.methodology-trust-box__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0;
  line-height: 1.3;
}

/* At a Glance Summaries - Compact summary box */
.methodology-trust-summaries {
  margin: 0 0 2rem 0;
  padding: 1rem 1.125rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 12px;
}

.methodology-trust-summaries__title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.625rem 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.methodology-trust-summaries__list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.methodology-trust-summary {
  font-size: 0.875rem;
  line-height: 1.5;
}

.methodology-trust-summary__title {
  font-weight: 600;
  color: var(--rz-color-heading);
}

.methodology-trust-summary__text {
  font-weight: 400;
  color: var(--rz-color-text);
}

/* Trust Items - Normal content with dividers */
.methodology-trust-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.methodology-trust-item {
  padding: 1.5rem 0;
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--rz-color-border);
}

.methodology-trust-item:first-child {
  padding-top: 0;
}

.methodology-trust-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.methodology-trust-item__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 0.5rem;
}

.methodology-trust-item__icon {
  color: var(--rz-color-mint-green);
}

.methodology-trust-item__content-wrap {
  /* Content wrapper */
}

.methodology-trust-item__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.75rem 0;
}

.methodology-trust-item__content {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--rz-color-text);
}

.methodology-trust-item__content p {
  margin: 0 0 0.75rem 0;
}

.methodology-trust-item__content p:last-child {
  margin-bottom: 0;
}

.methodology-trust-item__content ul,
.methodology-trust-item__content ol {
  margin: 0.75rem 0;
  padding-left: 1.25rem;
}

.methodology-trust-item__content li {
  margin-bottom: 0.375rem;
}

.methodology-trust-item__content li:last-child {
  margin-bottom: 0;
}

.methodology-trust-item__content a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.methodology-trust-item__content a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

/* ==========================================================================
   REVIEW CATEGORIES - Numbered Boxes (Equal Size)
   ========================================================================== */

.methodology-categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.methodology-category-box {
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 12px;
  min-height: 120px;
}

.methodology-category-box__number {
  display: inline-block;
  color: var(--rz-color-link);
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.methodology-category-box__content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.methodology-category-box__name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0 0 0.375rem 0;
  line-height: 1.3;
}

.methodology-category-box__description {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--rz-color-muted);
  margin: 0;
}

/* ==========================================================================
   METHODOLOGY LINKS - Card Style
   ========================================================================== */

.methodology-links-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.methodology-link-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 12px;
  text-decoration: none;
}

.methodology-link-card:hover {
  border-color: var(--rz-color-border);
}

.methodology-link-card__icon {
  display: none;
}

.methodology-link-card__text {
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-heading);
}

.methodology-link-card__arrow {
  flex-shrink: 0;
  color: var(--rz-color-muted);
}

.methodology-link-card__badge {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.125rem 0.5rem;
  background: color-mix(in srgb, var(--rz-color-golden-yellow) 20%, var(--rz-color-white));
  color: var(--rz-color-heading);
  font-size: 0.6875rem;
  font-weight: 600;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* ==========================================================================
   METHODOLOGY PAGE - RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
  .methodology-categories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .methodology-categories-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .methodology-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .methodology-article__title {
    font-size: 1.75rem !important;
  }
  
  .methodology-article__header {
    max-width: 100%;
  }
  
  .methodology-trust-box__title {
    font-size: 1.25rem;
  }
  
  .methodology-trust-summaries {
    padding: 1rem;
  }
  
  .methodology-trust-item {
    padding: 1.25rem 0;
  }
  
  .methodology-section__title {
    font-size: 1.25rem;
  }
  
  .methodology-trust-item__title {
    font-size: 1rem;
  }
  
  .methodology-categories-grid {
    grid-template-columns: 1fr;
  }
  
  .methodology-category-box {
    min-height: auto;
  }
  
  .methodology-link-card {
    padding: 0.875rem 1rem;
  }
  
  .methodology-link-card__icon {
    width: 40px;
    height: 40px;
  }
  
  .methodology-link-card__text {
    font-size: 0.9375rem;
  }
}

/* ==========================================================================
   PLATFORM METHODOLOGY PAGES
   Follows top 10 article styling conventions
   ========================================================================== */

.platform-methodology-article {
  /* Inherits from methodology-article */
}

.platform-methodology__intro {
  margin-bottom: 2rem;
}

.platform-methodology__intro p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1rem;
}

.platform-methodology__intro p:last-child {
  margin-bottom: 0;
}

/* Categories Section */
.platform-methodology__categories-section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

/* Individual Category */
.platform-methodology__category {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.platform-methodology__category:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.platform-methodology__category-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.platform-methodology__category-weight {
  font-weight: 400;
  color: var(--rz-color-muted);
  font-size: 1rem;
}

.platform-methodology__category-description {
  margin-bottom: 1.5rem;
}

.platform-methodology__category-description p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 0.75rem;
}

.platform-methodology__category-description p:last-child {
  margin-bottom: 0;
}

/* Info Box - Grey box without stripe (matches top 10 style) */
.platform-methodology__info-box {
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 8px;
}

.platform-methodology__info-box-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.75rem 0;
}

.platform-methodology__info-box-content p {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--rz-color-text);
  margin-bottom: 0.75rem;
}

.platform-methodology__info-box-content p:last-child {
  margin-bottom: 0;
}

/* Tables - Use existing .wp-block-table styling */
.platform-methodology__category .wp-block-table {
  margin: 1.5rem 0 0 0;
}

.platform-methodology__table-total {
  background: var(--rz-color-pearl);
}

.platform-methodology__table-total td {
  border-top: 2px solid var(--rz-color-border) !important;
}

/* General Sections (Final Scoring, Questions, Summary) */
.platform-methodology__section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.platform-methodology__section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.platform-methodology__section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
}

.platform-methodology__section-content p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 0.75rem;
}

.platform-methodology__section-content p:last-child {
  margin-bottom: 0;
}

/* Questions List */
.platform-methodology__questions-intro {
  font-size: 1rem;
  color: var(--rz-color-text);
  margin-bottom: 1rem;
}

.platform-methodology__questions-list {
  margin: 0 0 1.25rem 0;
  padding: 0 0 0 1.5rem;
  list-style: disc;
}

.platform-methodology__questions-list li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--rz-color-text);
}

.platform-methodology__questions-list li::marker {
  color: var(--rz-color-link);
}

.platform-methodology__questions-outro {
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--rz-color-muted);
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .platform-methodology__category-title {
    font-size: 1.25rem;
  }
  
  .platform-methodology__category-weight {
    display: block;
    font-size: 0.875rem;
    margin-top: 0.25rem;
  }
}

/* ==========================================================================
   ABOUT US PAGE
   Follows methodology page styling conventions
   ========================================================================== */

.about-us-article {
  /* Inherits from methodology-article */
}

/* Sections */
.about-us-section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.about-us-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.about-us-section__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
}

.about-us-section__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.about-us-section__content p {
  margin-bottom: 1rem;
}

.about-us-section__content p:last-child {
  margin-bottom: 0;
}

.about-us-section__content ol,
.about-us-section__content ul {
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}

.about-us-section__content ol li,
.about-us-section__content ul li {
  margin-bottom: 0.75rem;
}

.about-us-section__content ol li:last-child,
.about-us-section__content ul li:last-child {
  margin-bottom: 0;
}

.about-us-section__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1.5rem;
}

.about-us-section__link {
  margin-top: 1rem;
}

.about-us-section__link a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.about-us-section__link a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

/* Statistics */
.about-us-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}

.about-us-stat {
  text-align: center;
  padding: 1.5rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 12px;
}

.about-us-stat__number {
  font-size: 2rem;
  font-weight: 700;
  color: var(--rz-color-link);
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.about-us-stat__label {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rz-color-text);
  line-height: 1.4;
  min-height: 2.8em; /* Reserve space for two lines */
}

/* Team Members */
.about-us-team {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 2rem;
}

.about-us-team-member {
  padding: 2rem;
  background: var(--rz-color-pearl);
  border: none;
  border-radius: 12px;
}

.about-us-team-member__layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.about-us-team-member__header {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  min-height: 120px; /* Match image height to contain content */
}

.about-us-team-member__content {
  flex: 1;
  min-width: 0;
}

.about-us-team-member__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.125rem 0;
}

.about-us-team-member__title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rz-color-muted);
  margin: 0 0 0.625rem 0;
}

.about-us-team-member__linkedin {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4rem 0.75rem;
  background: var(--rz-color-purple);
  color: var(--rz-color-white);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.8125rem;
  border-radius: 5px;
  transition: background-color 0.15s ease;
}

.about-us-team-member__linkedin:hover {
  background: var(--rz-color-dark-purple);
  color: var(--rz-color-white);
}

.about-us-team-member__linkedin svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.about-us-team-member__image-wrap {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
}

.about-us-team-member__image {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.about-us-team-member__bio {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.about-us-team-member__bio p {
  margin-bottom: 1rem;
}

.about-us-team-member__bio p:last-child {
  margin-bottom: 0;
}

/* Clickable team member cards */
a.about-us-team-member--clickable {
  display: block;
  text-decoration: none;
  color: inherit;
}

a.about-us-team-member--clickable:hover .about-us-team-member__name {
  text-decoration: underline;
}

.about-us-team-member__view-profile {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rz-color-border);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rz-color-link);
}

/* Responsive */
@media (max-width: 768px) {
  .about-us-stats {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .about-us-team-member {
    padding: 1.5rem;
  }
  
  .about-us-team-member__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .about-us-team-member__image-wrap {
    width: 150px;
    height: 150px;
  }
  
  .about-us-team-member__name {
    font-size: 1.25rem;
  }
}

/* ==========================================================================
   PERSON/AUTHOR PAGE TEMPLATE
   ========================================================================== */

.site-main--person {
  /* Uses methodology-article base styles */
}

/* Person Profile Intro - left aligned like rest of site */
.person-profile-intro {
  margin-bottom: 1.5rem;
}

.person-profile-intro__photo-wrap {
  width: 200px;
  height: 200px;
  margin-bottom: 1.25rem;
  border-radius: 12px;
  overflow: hidden;
}

.person-profile-intro__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.person-profile-intro__job-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--rz-color-text);
  margin: 0 0 0.5rem 0;
}

.person-profile-intro__linkedin {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-color-link);
  text-decoration: none;
  transition: color 0.15s ease;
}

.person-profile-intro__linkedin:hover {
  color: var(--rz-color-link-hover);
}

.person-profile-intro__linkedin svg {
  width: 16px;
  height: 16px;
}

/* Person Bio Content */
.person-bio {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.person-bio p {
  margin-bottom: 1rem;
}

.person-bio p:last-child {
  margin-bottom: 0;
}

.person-bio h2,
.person-bio h3,
.person-bio h4 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.person-bio ol,
.person-bio ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.person-bio ol li,
.person-bio ul li {
  margin-bottom: 0.5rem;
}

/* Person Divider */
.person-divider {
  border: none;
  border-top: 1px solid var(--rz-color-border);
  margin: 2rem 0;
}

/* Person Sections (for articles lists) */
.person-section {
  margin-bottom: 0;
}

.person-section__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1.25rem 0;
}

.person-section__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.person-section__content p {
  margin-bottom: 1rem;
}

.person-section__content p:last-child {
  margin-bottom: 0;
}

.person-section__content ol,
.person-section__content ul {
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}

.person-section__content ol li,
.person-section__content ul li {
  margin-bottom: 0.75rem;
}

.person-section__content ol li:last-child,
.person-section__content ul li:last-child {
  margin-bottom: 0;
}

.person-section__view-all {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
}

/* Person Articles List */
.person-articles-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.person-article-item {
  display: block;
  padding: 1rem 0;
  border-bottom: 1px solid var(--rz-color-border);
  text-decoration: none;
}

.person-article-item:last-child {
  border-bottom: none;
}

.person-article-item__badges {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.person-article-item__type,
.person-article-item__role {
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  border: 1px solid;
}

.person-article-item__type.type-news {
  color: var(--rz-color-purple);
  background: color-mix(in srgb, var(--rz-color-purple) 8%, var(--rz-color-white));
  border-color: var(--rz-color-border);
}

.person-article-item__type.type-guide {
  color: var(--rz-color-link);
  background: color-mix(in srgb, var(--rz-color-purple) 8%, var(--rz-color-white));
  border-color: var(--rz-color-border);
}

.person-article-item__type.type-review {
  color: var(--score-color-excellent-start);
  background: color-mix(in srgb, var(--rz-color-mint-green) 10%, var(--rz-color-white));
  border-color: var(--rz-color-border);
}

.person-article-item__type.type-top10 {
  color: var(--rz-color-link);
  background: color-mix(in srgb, var(--rz-color-purple) 8%, var(--rz-color-white));
  border-color: var(--rz-color-border);
}

.person-article-item__type.type-article {
  color: var(--rz-color-text);
  background: var(--rz-color-pearl);
  border-color: var(--rz-color-border);
}

.person-article-item__role {
  color: var(--rz-color-muted);
  background: var(--rz-color-pearl);
  border-color: var(--rz-color-border);
}

.person-article-item__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.person-article-item__title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-color-heading);
  flex: 1;
  min-width: 0;
}

.person-article-item:hover .person-article-item__title {
  color: var(--rz-color-link);
}

.person-article-item__date {
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  flex-shrink: 0;
}

/* Review Header Author/Fact-checker Links */
.review-header__person-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  transition: opacity 0.15s ease;
}

.review-header__person-link:hover {
  opacity: 0.7;
}

/* Person Page Responsive */
@media (max-width: 768px) {
  .person-profile-intro__photo-wrap {
    width: 160px;
    height: 160px;
  }
  
  .person-section__title {
    font-size: 1.25rem;
  }
  
  .person-article-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  
  .person-article-item__date {
    font-size: 0.8125rem;
  }
}

/* ==========================================================================
   TOS/PRIVACY PAGE TEMPLATE
   ========================================================================== */

.tos-privacy-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.tos-privacy-article__header {
  max-width: calc(620px + 280px + 2rem); /* content + sidebar + gap = 932px */
  margin: 0 auto 2rem auto;
}

/* Two-column layout - matches review articles exactly */
.tos-privacy-article__container {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center; /* Center the grid in the container */
}

.tos-privacy-article__content {
  min-width: 0;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .tos-privacy-article__container {
    display: block;
  }
  
  .tos-privacy-article__content {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .tos-privacy-article__sidebar {
    display: none;
  }
}

/* Sidebar container - sticky so it follows scroll */
.tos-privacy-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

h1.tos-privacy-article__title,
.tos-privacy-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 2rem 0;
  letter-spacing: -0.01em;
}

/* Review Header in TOS/Privacy Page */
.tos-privacy-article__header .review-header {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.tos-privacy-article__header .review-header__divider {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Introduction section */
.tos-privacy-article__intro {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.tos-privacy-article__intro .tos-privacy-article__section-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.tos-privacy-article__intro .tos-privacy-article__section-content p {
  margin: 0 0 1rem 0;
}

.tos-privacy-article__intro .tos-privacy-article__section-content p:last-child {
  margin-bottom: 0;
}

/* Sections */
.tos-privacy-article__sections {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tos-privacy-article__section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.tos-privacy-article__section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.tos-privacy-article__section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.tos-privacy-article__section-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.tos-privacy-article__section-content p {
  margin: 0 0 1rem 0;
}

.tos-privacy-article__section-content p:last-child {
  margin-bottom: 0;
}

.tos-privacy-article__section-content h3,
.tos-privacy-article__section-content h4 {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 1.5rem 0 0.75rem 0;
}

.tos-privacy-article__section-content h3:first-child,
.tos-privacy-article__section-content h4:first-child {
  margin-top: 0;
}

.tos-privacy-article__section-content ul,
.tos-privacy-article__section-content ol {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.tos-privacy-article__section-content ul li,
.tos-privacy-article__section-content ol li {
  margin-bottom: 0.75rem;
}

.tos-privacy-article__section-content ul li:last-child,
.tos-privacy-article__section-content ol li:last-child {
  margin-bottom: 0;
}

.tos-privacy-article__section-content strong {
  font-weight: 600;
  color: var(--rz-color-heading);
}

.tos-privacy-article__section-content a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.tos-privacy-article__section-content a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .tos-privacy-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .tos-privacy-article__title {
    font-size: 1.75rem !important;
  }
  
  .tos-privacy-article__header {
    max-width: 100%;
  }
  
  .tos-privacy-article__section-title {
    font-size: 1.25rem;
  }
  
  .tos-privacy-article__section {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

/* ==========================================================================
   EMBEDDED CONTACT FORM (Compact version for About Us, Advertiser Disclosure)
   ========================================================================== */

.embedded-contact-form {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: var(--rz-color-white);
  border-radius: 8px;
  border: 1px solid var(--rz-color-border);
}

/* HubSpot Form Styling for embedded forms */
.embedded-contact-form .hs-form fieldset {
  max-width: 100% !important;
}

.embedded-contact-form .hs-form .hs-form-field {
  margin-bottom: 1rem;
}

.embedded-contact-form .hs-form label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-text);
  margin-bottom: 0.25rem;
  display: block;
}

.embedded-contact-form .hs-form .hs-input,
.embedded-contact-form .hs-form input[type="text"],
.embedded-contact-form .hs-form input[type="email"],
.embedded-contact-form .hs-form input[type="tel"],
.embedded-contact-form .hs-form textarea,
.embedded-contact-form .hs-form select {
  width: 100% !important;
  padding: 0.625rem 0.875rem;
  font-size: 0.9375rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 6px;
  background: var(--rz-color-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.embedded-contact-form .hs-form .hs-input:focus,
.embedded-contact-form .hs-form input:focus,
.embedded-contact-form .hs-form textarea:focus,
.embedded-contact-form .hs-form select:focus {
  outline: none;
  border-color: var(--rz-color-purple);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.14);
}

.embedded-contact-form .hs-form textarea {
  min-height: 80px;
  resize: vertical;
}

.embedded-contact-form .hs-form .hs-button,
.embedded-contact-form .hs-form input[type="submit"] {
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--rz-color-white);
  background: var(--rz-color-primary, var(--rz-color-purple));
  border: 1px solid var(--rz-color-primary, var(--rz-color-purple));
  border-radius: 6px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.embedded-contact-form .hs-form .hs-button:hover,
.embedded-contact-form .hs-form input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(107, 114, 128, 0.30);
}

.embedded-contact-form .hs-form .hs-error-msgs {
  list-style: none;
  padding: 0;
  margin: 0.25rem 0 0 0;
}

.embedded-contact-form .hs-form .hs-error-msg {
  color: #dc2626;
  font-size: 0.75rem;
}

.embedded-contact-form .hs-form .hs-form-required {
  color: #dc2626;
}

.embedded-contact-form .submitted-message {
  text-align: center;
  padding: 1.5rem 1rem;
  color: #059669;
}

/* Responsive */
@media (max-width: 640px) {
  .embedded-contact-form {
    padding: 1rem;
    border-radius: 8px;
  }
}

/* ==========================================================================
   ADVERTISER DISCLOSURE PAGE TEMPLATE
   ========================================================================== */

.advertiser-disclosure-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.advertiser-disclosure-article__header {
  max-width: calc(620px + 280px + 2rem); /* content + sidebar + gap = 932px */
  margin: 0 auto 2rem auto;
}

/* Two-column layout - matches review articles exactly */
.advertiser-disclosure-article__container {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center; /* Center the grid in the container */
}

.advertiser-disclosure-article__content {
  min-width: 0;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .advertiser-disclosure-article__container {
    display: block;
  }
  
  .advertiser-disclosure-article__content {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .advertiser-disclosure-article__sidebar {
    display: none;
  }
}

/* Sidebar container - sticky so it follows scroll */
.advertiser-disclosure-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

h1.advertiser-disclosure-article__title,
.advertiser-disclosure-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 2rem 0;
  letter-spacing: -0.01em;
}

/* Review Header in Advertiser Disclosure Page */
.advertiser-disclosure-article__header .review-header {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
}

.advertiser-disclosure-article__header .review-header__divider {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Introduction section */
.advertiser-disclosure-article__intro {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.advertiser-disclosure-article__intro .advertiser-disclosure-article__section-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.advertiser-disclosure-article__intro .advertiser-disclosure-article__section-content p {
  margin: 0 0 1rem 0;
}

.advertiser-disclosure-article__intro .advertiser-disclosure-article__section-content p:last-child {
  margin-bottom: 0;
}

/* Sections */
.advertiser-disclosure-article__section {
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.advertiser-disclosure-article__section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.advertiser-disclosure-article__section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.advertiser-disclosure-article__section-content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1rem;
}

.advertiser-disclosure-article__section-content p {
  margin: 0 0 1rem 0;
}

.advertiser-disclosure-article__section-content p:last-child {
  margin-bottom: 0;
}

/* List styling */
.advertiser-disclosure-article__list {
  margin: 1rem 0;
  padding-left: 1.5rem;
  list-style: disc;
}

.advertiser-disclosure-article__list li {
  margin-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.advertiser-disclosure-article__list li:last-child {
  margin-bottom: 0;
}

.advertiser-disclosure-article__section-content a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.advertiser-disclosure-article__section-content a:hover {
  color: var(--rz-color-link-hover);
  text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .advertiser-disclosure-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .advertiser-disclosure-article__title {
    font-size: 1.75rem !important;
  }
  
  .advertiser-disclosure-article__header {
    max-width: 100%;
  }
  
  .advertiser-disclosure-article__section-title {
    font-size: 1.25rem;
  }
  
  .advertiser-disclosure-article__section {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

/* ==========================================================================
   ALL GUIDES PAGE TEMPLATE
   ========================================================================== */

.all-guides-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section */
.all-guides-page__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.all-guides-page__title,
.all-guides-page__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
}

.all-guides-page__subtitle {
  font-size: 1.125rem;
  color: var(--rz-color-muted);
  margin: 0;
  line-height: 1.6;
}

/* Platform Tabs */
.all-guides-page__tabs {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

.all-guides-tabs {
  display: flex;
  gap: 0.5rem;
  border-bottom: 2px solid var(--rz-color-border);
  padding-bottom: 0;
}

.all-guides-tabs__tab {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-color-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.all-guides-tabs__tab:hover {
  color: var(--rz-color-heading);
}

.all-guides-tabs__tab.is-active {
  color: var(--rz-color-link);
  border-bottom-color: var(--rz-color-link);
  font-weight: 600;
}

/* Platform Content Sections */
.all-guides-page__content {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

.all-guides-platform {
  display: none;
}

.all-guides-platform.is-active {
  display: block;
}

.all-guides-platform__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
}

.all-guides-platform__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin: 0 0 2rem 0;
}

.all-guides-platform__empty {
  padding: 3rem 2rem;
  background: var(--rz-color-pearl);
  border: 1px solid var(--rz-color-border);
  border-radius: 12px;
  text-align: center;
}

.all-guides-platform__empty p {
  font-size: 1.125rem;
  color: var(--rz-color-muted);
  margin: 0;
}

/* Guide Cards Grid */
.all-guides-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .all-guides-grid {
    grid-template-columns: 1fr;
  }
}

/* Guide Card */
.guide-card {
  display: flex;
  flex-direction: column;
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
}

.guide-card__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--rz-color-pearl);
}

.guide-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-card__content {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.guide-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}


.guide-card__excerpt {
  font-size: 0.9375rem;
  color: var(--rz-color-muted);
  margin: 0;
  line-height: 1.6;
  flex: 1;
}

.guide-card__date {
  display: block;
  margin-top: auto;
  padding-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
}

.guide-card__badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: var(--rz-color-pearl);
  color: var(--rz-color-muted);
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 4px;
  margin-top: auto;
}

/* Responsive */
@media (max-width: 768px) {
  .all-guides-page {
    padding: 1.5rem 1rem 3rem;
  }
  
  .all-guides-page__title {
    font-size: 1.75rem !important;
  }
  
  .all-guides-page__header {
    max-width: 100%;
  }
  
  .all-guides-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .all-guides-tabs__tab {
    white-space: nowrap;
    padding: 0.625rem 1rem;
    font-size: 0.9375rem;
  }
}

/* ==========================================================================
   INDIVIDUAL GUIDE TEMPLATE
   ========================================================================== */

.guide-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.guide-article__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.guide-article__title,
.guide-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

/* Two-column layout - matches review articles exactly */
.guide-article__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center;
}

.guide-article__main {
  min-width: 0;
}


.guide-article__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.guide-article__content .wp-block-image,
.news-article__content .wp-block-image {
  border-radius: 8px;
  overflow: hidden;
}

.guide-article__content .wp-block-image img,
.news-article__content .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}

/* Consistent spacing between all blocks - matches review articles */
.guide-article__content > * + * {
  margin-top: 3rem;
}

/* First block shouldn't have top margin */
.guide-article__content > *:first-child {
  margin-top: 0;
}

/* Sidebar container - sticky so it follows scroll */
.guide-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .guide-article__layout {
    display: block;
  }
  
  .guide-article__main {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .guide-article__sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .guide-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .guide-article__title {
    font-size: 1.75rem !important;
  }
  
  .guide-article__header {
    max-width: 100%;
  }
}

/* ==========================================================================
   ALL NEWS PAGE TEMPLATE
   ========================================================================== */

.all-news-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

.all-news-page__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.all-news-page__title,
.all-news-page__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
}

.all-news-page__subtitle {
  font-size: 1.125rem;
  color: var(--rz-color-muted);
  margin: 0;
  line-height: 1.6;
}

.all-news-page__content {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

/* Date Group */
.all-news-date-group {
  margin-bottom: 2.5rem;
}

.all-news-date-group__header {
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-muted);
  margin: 0 0 1rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.all-news-date-group__articles {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* News List Item */
.news-list-item {
  display: block;
  padding: 1rem 0;
  text-decoration: none;
  border-bottom: 1px solid var(--rz-color-border);
}

.news-list-item:last-child {
  border-bottom: none;
}

.news-list-item__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0 0 0.25rem 0;
  line-height: 1.4;
}

.news-list-item__excerpt {
  font-size: 0.9375rem;
  color: var(--rz-color-muted);
  margin: 0;
  line-height: 1.6;
}

/* Empty State */
.all-news-page__empty {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--rz-color-muted);
}

/* Responsive */
@media (max-width: 768px) {
  .all-news-page {
    padding: 1.5rem 1rem 3rem;
  }
  
  .all-news-page__title {
    font-size: 1.75rem !important;
  }
  
  .all-news-page__header,
  .all-news-page__content {
    max-width: 100%;
  }
}

/* ==========================================================================
   INDIVIDUAL NEWS ARTICLE TEMPLATE
   ========================================================================== */

.news-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.news-article__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.news-article__title,
.news-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

/* Two-column layout - matches review articles exactly */
.news-article__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center;
}

.news-article__main {
  min-width: 0;
}

.news-article__content {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

/* Consistent spacing between all blocks - matches review articles */
.news-article__content > * + * {
  margin-top: 3rem;
}

/* First block shouldn't have top margin */
.news-article__content > *:first-child {
  margin-top: 0;
}

/* Sidebar container - sticky so it follows scroll */
.news-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

/* Hide sidebar column on smaller screens */
@media (max-width: 1100px) {
  .news-article__layout {
    display: block;
  }
  
  .news-article__main {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .news-article__sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .news-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .news-article__title {
    font-size: 1.75rem !important;
  }
  
  .news-article__header {
    max-width: 100%;
  }
}

/* ==========================================================================
   AWARDS PAGE TEMPLATE
   ========================================================================== */

.awards-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header section - matches review article width exactly */
.awards-page__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.awards-page__title,
.awards-page__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

/* Two-column layout - matches review articles exactly */
.awards-page__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center;
}

.awards-page__main {
  min-width: 0;
}

/* Sidebar container - sticky so it follows scroll */
.awards-page__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

/* Introduction */
.awards-page__intro {
  margin-bottom: 3rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
}

.awards-page__intro p {
  margin: 0 0 1.25rem 0;
}

.awards-page__intro p:last-child {
  margin-bottom: 0;
}

.awards-page__full-list-link {
  margin-top: 1.5rem;
}

.awards-page__full-list-link a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-weight: 500;
}

.awards-page__full-list-link a:hover {
  text-decoration: underline;
}

/* Award Categories */
.awards-page__categories {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.awards-category {
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.awards-category:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.awards-category__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.awards-category__description {
  font-size: 1rem;
  color: var(--rz-color-muted);
  margin: 0 0 1.5rem 0;
  line-height: 1.6;
}

/* Award Products */
.awards-category__products {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.awards-product {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
}

.awards-product__rank {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rz-gradient-purple);
  color: var(--rz-color-white);
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 50%;
}

.awards-product__logo {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.awards-product__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.awards-product__info {
  flex: 1;
  min-width: 0;
}

.awards-product__name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0;
  line-height: 1.4;
}

.awards-product__name a {
  color: inherit;
  text-decoration: none;
}

.awards-product__name a:hover {
  color: var(--rz-color-link);
}

.awards-product__note {
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  margin: 0.25rem 0 0 0;
  line-height: 1.4;
}

.awards-product__score {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 0.75rem;
  background: #f0fdf4;
  border-radius: 6px;
}

.awards-product__score-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #059669;
  line-height: 1;
}

.awards-product__score-label {
  font-size: 0.6875rem;
  color: var(--rz-color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.125rem;
}

/* FAQs Section */
.awards-faqs {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--rz-color-border);
}

.awards-faqs__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1.5rem 0;
}

.awards-faqs__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.awards-faq {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(155, 133, 121, 0.30);
}

.awards-faq:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.awards-faq__question {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0 0 0.75rem 0;
  line-height: 1.4;
}

.awards-faq__answer {
  font-size: 1rem;
  color: var(--rz-color-text);
  line-height: 1.7;
}

.awards-faq__answer p {
  margin: 0 0 1rem 0;
}

.awards-faq__answer p:last-child {
  margin-bottom: 0;
}

.awards-faq__answer a {
  color: var(--rz-color-link);
  text-decoration: none;
}

.awards-faq__answer a:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 1100px) {
  .awards-page__layout {
    display: block;
  }
  
  .awards-page__main {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .awards-page__sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .awards-page {
    padding: 1.5rem 1rem 3rem;
  }
  
  .awards-page__title {
    font-size: 1.75rem !important;
  }
  
  .awards-page__header {
    max-width: 100%;
  }
  
  .awards-product {
    flex-wrap: wrap;
  }
  
  .awards-product__info {
    flex-basis: calc(100% - 48px - 1rem);
    order: 2;
  }
  
  .awards-product__score {
    order: 3;
    margin-left: auto;
    margin-top: 0.5rem;
  }
}

/* ==========================================================================
   CONTACT PAGE TEMPLATE
   ========================================================================== */

/* Contact page uses has-gradient-header body class */
.site-main--contact {
  background: transparent;
}

.contact-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header - matches all-guides-page alignment */
.contact-article__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.contact-article__title,
.contact-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-dark-purple);
  line-height: 1.2;
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
}

/* Container - matches all-guides-page alignment */
.contact-article__container {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

.contact-article__content {
  background: transparent;
}

/* Introduction */
.contact-article__intro {
  margin: 0 0 2rem 0;
}

.contact-article__intro p {
  font-size: 1.125rem;
  line-height: 1.7;
  color: #475569;
  margin: 0;
}

.contact-article__intro p + p {
  margin-top: 1rem;
}

/* Two Column Grid */
.contact-article__grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  align-items: start;
}

/* Form Column */
.contact-article__form-column {
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 2.5rem;
}

.contact-article__form-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 0.5rem;
}

.contact-article__form-description {
  font-size: 1rem;
  color: var(--rz-color-muted);
  margin: 0 0 1.5rem;
  line-height: 1.5;
}

.contact-article__form-wrapper {
  margin-bottom: 1.5rem;
}

.contact-article__form-placeholder {
  padding: 2rem;
  background: var(--rz-color-pearl);
  border-radius: 8px;
  text-align: center;
  color: var(--rz-color-muted);
}

.contact-article__form-placeholder a {
  color: var(--rz-color-purple);
  text-decoration: underline;
}

.contact-article__response-time {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--rz-color-muted);
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid var(--rz-color-border);
}

.contact-article__response-time svg {
  flex-shrink: 0;
  color: var(--rz-color-purple);
}

/* Methods Column */
.contact-article__methods-column {
  background: var(--rz-color-white);
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  padding: 2rem;
}

.contact-article__methods-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1.5rem;
}

/* Contact Methods */
.contact-methods {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.contact-method {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.contact-method__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rz-color-pearl);
  border-radius: 12px;
  flex-shrink: 0;
}

.contact-method__icon svg {
  width: 22px;
  height: 22px;
  color: var(--rz-color-purple);
}

.contact-method__content {
  flex: 1;
  min-width: 0;
}

.contact-method__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rz-color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}

.contact-method__value {
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-color-heading);
  word-break: break-word;
}

.contact-method__value--link {
  color: var(--rz-color-purple);
  text-decoration: none;
  transition: color 0.15s ease;
}

.contact-method__value--link:hover {
  color: var(--rz-color-purple);
  text-decoration: underline;
}

/* Additional Info */
.contact-article__additional-info {
  max-width: 700px;
  margin: 3rem auto 0;
  padding: 1.5rem 2rem;
  background: var(--rz-color-pearl);
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  text-align: center;
}

.contact-article__additional-info p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--rz-color-muted);
  margin: 0;
}

.contact-article__additional-info p + p {
  margin-top: 0.75rem;
}

/* HubSpot Form Styling */
.contact-article__form-wrapper .hs-form fieldset {
  max-width: 100% !important;
}

.contact-article__form-wrapper .hs-form .hs-form-field {
  margin-bottom: 1.25rem;
}

.contact-article__form-wrapper .hs-form label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rz-color-text);
  margin-bottom: 0.375rem;
  display: block;
}

.contact-article__form-wrapper .hs-form .hs-input,
.contact-article__form-wrapper .hs-form input[type="text"],
.contact-article__form-wrapper .hs-form input[type="email"],
.contact-article__form-wrapper .hs-form input[type="tel"],
.contact-article__form-wrapper .hs-form textarea,
.contact-article__form-wrapper .hs-form select {
  width: 100% !important;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 8px;
  background: var(--rz-color-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.contact-article__form-wrapper .hs-form .hs-input:focus,
.contact-article__form-wrapper .hs-form input:focus,
.contact-article__form-wrapper .hs-form textarea:focus,
.contact-article__form-wrapper .hs-form select:focus {
  outline: none;
  border-color: var(--rz-color-purple);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.14);
}

.contact-article__form-wrapper .hs-form textarea {
  min-height: 120px;
  resize: vertical;
}

.contact-article__form-wrapper .hs-form .hs-button,
.contact-article__form-wrapper .hs-form input[type="submit"] {
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--rz-color-white);
  background: var(--rz-color-primary, var(--rz-color-purple));
  border: 1px solid var(--rz-color-primary, var(--rz-color-purple));
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.contact-article__form-wrapper .hs-form .hs-button:hover,
.contact-article__form-wrapper .hs-form input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(107, 114, 128, 0.35);
}

.contact-article__form-wrapper .hs-form .hs-error-msgs {
  list-style: none;
  padding: 0;
  margin: 0.375rem 0 0 0;
}

.contact-article__form-wrapper .hs-form .hs-error-msg {
  color: #dc2626;
  font-size: 0.8125rem;
}

.contact-article__form-wrapper .hs-form .hs-form-required {
  color: #dc2626;
}

.contact-article__form-wrapper .submitted-message {
  text-align: center;
  padding: 2rem 1rem;
  color: #059669;
}

/* Responsive - matches all-guides-page breakpoints */
@media (max-width: 980px) {
  .contact-article__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  .contact-article__methods-column {
    order: -1;
  }
  
  .contact-methods {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }
  
  .contact-method {
    flex-basis: calc(50% - 0.5rem);
  }
}

@media (max-width: 768px) {
  .contact-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .contact-article__title {
    font-size: 1.75rem !important;
  }
  
  .contact-article__header {
    max-width: 100%;
  }
  
  .contact-article__intro p {
    font-size: 1rem;
  }
  
  .contact-article__form-column {
    padding: 1.5rem;
    border-radius: 12px;
  }
  
  .contact-article__form-title {
    font-size: 1.25rem;
  }
  
  .contact-article__methods-column {
    padding: 1.5rem;
    border-radius: 12px;
  }
  
  .contact-method {
    flex-basis: 100%;
  }
}

/* ==========================================================================
   ADVERTISE WITH US PAGE TEMPLATE
   ========================================================================== */

/* Advertise page uses has-gradient-header body class */
.site-main--advertise {
  background: transparent;
}

.advertise-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--rz-page-top-spacing) 1rem 4rem;
}

/* Header - matches other page templates */
.advertise-article__header {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto 2rem auto;
}

h1.advertise-article__title,
.advertise-article__title {
  font-size: 2.25rem !important;
  font-weight: 700;
  color: var(--rz-color-heading);
  line-height: 1.2;
  margin: 0 0 1rem 0;
  letter-spacing: -0.01em;
}

/* Container */
.advertise-article__container {
  max-width: calc(620px + 280px + 2rem);
  margin: 0 auto;
}

/* Two-column layout with sidebar */
.advertise-article__layout {
  display: grid;
  grid-template-columns: 620px 280px;
  gap: 2rem;
  align-items: start;
  justify-content: center;
}

.advertise-article__main {
  min-width: 0;
}

.advertise-article__content {
  background: transparent;
}

/* Sidebar - matches review-article__sidebar positioning */
.advertise-article__sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

/* Introduction */
.advertise-article__intro {
  margin-bottom: 2.5rem;
}

.advertise-article__intro p {
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin-bottom: 1rem;
}

.advertise-article__intro p:last-child {
  margin-bottom: 0;
}

/* Sections */
.advertise-section {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--rz-color-border);
}

.advertise-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.advertise-section__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0 0 1.5rem 0;
}

.advertise-section__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--rz-color-text);
  margin: 0 0 1.5rem 0;
}

/* Benefits List */
.advertise-benefits {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.advertise-benefit {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.advertise-benefit__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(61, 90, 128, 0.10) 0%, rgba(201, 150, 59, 0.10) 100%);
  border-radius: 10px;
  flex-shrink: 0;
}

.advertise-benefit__icon svg {
  width: 20px;
  height: 20px;
  color: var(--rz-color-purple);
}

.advertise-benefit__content {
  flex: 1;
  min-width: 0;
}

.advertise-benefit__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rz-color-heading);
  margin: 0 0 0.375rem 0;
}

.advertise-benefit__description {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--rz-color-muted);
  margin: 0;
}

/* Contact Form Section */
.advertise-section--contact {
  border-bottom: none;
}

.advertise-form-wrapper {
  margin-top: 1rem;
  padding: 1.5rem;
  background: var(--rz-color-white);
  border-radius: 8px;
  border: 1px solid var(--rz-color-border);
}

.advertise-form-placeholder {
  padding: 2rem;
  background: var(--rz-color-pearl);
  border-radius: 8px;
  text-align: center;
  color: var(--rz-color-muted);
}

.advertise-form-placeholder a {
  color: var(--rz-color-purple);
  text-decoration: underline;
}

/* HubSpot Form Styling for Advertise page */
.advertise-form-wrapper .hs-form fieldset {
  max-width: 100% !important;
}

.advertise-form-wrapper .hs-form .hs-form-field {
  margin-bottom: 1rem;
}

.advertise-form-wrapper .hs-form label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-text);
  margin-bottom: 0.25rem;
  display: block;
}

.advertise-form-wrapper .hs-form .hs-input,
.advertise-form-wrapper .hs-form input[type="text"],
.advertise-form-wrapper .hs-form input[type="email"],
.advertise-form-wrapper .hs-form input[type="tel"],
.advertise-form-wrapper .hs-form textarea,
.advertise-form-wrapper .hs-form select {
  width: 100% !important;
  padding: 0.625rem 0.875rem;
  font-size: 0.9375rem;
  border: 1px solid var(--rz-color-border);
  border-radius: 6px;
  background: var(--rz-color-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.advertise-form-wrapper .hs-form .hs-input:focus,
.advertise-form-wrapper .hs-form input:focus,
.advertise-form-wrapper .hs-form textarea:focus,
.advertise-form-wrapper .hs-form select:focus {
  outline: none;
  border-color: var(--rz-color-purple);
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.14);
}

.advertise-form-wrapper .hs-form textarea {
  min-height: 80px;
  resize: vertical;
}

.advertise-form-wrapper .hs-form .hs-button,
.advertise-form-wrapper .hs-form input[type="submit"] {
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--rz-color-white);
  background: var(--rz-color-primary, var(--rz-color-purple));
  border: 1px solid var(--rz-color-primary, var(--rz-color-purple));
  border-radius: 6px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.advertise-form-wrapper .hs-form .hs-button:hover,
.advertise-form-wrapper .hs-form input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(107, 114, 128, 0.30);
}

.advertise-form-wrapper .hs-form .hs-error-msgs {
  list-style: none;
  padding: 0;
  margin: 0.25rem 0 0 0;
}

.advertise-form-wrapper .hs-form .hs-error-msg {
  color: #dc2626;
  font-size: 0.75rem;
}

.advertise-form-wrapper .hs-form .hs-form-required {
  color: #dc2626;
}

.advertise-form-wrapper .submitted-message {
  text-align: center;
  padding: 1.5rem 1rem;
  color: #059669;
}

/* Responsive */
@media (max-width: 980px) {
  .advertise-article__layout {
    display: block;
  }
  
  .advertise-article__main {
    max-width: 620px;
    margin: 0 auto;
  }
  
  .advertise-article__sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .advertise-article {
    padding: 1.5rem 1rem 3rem;
  }
  
  .advertise-article__title {
    font-size: 1.75rem !important;
  }
  
  .advertise-article__header {
    max-width: 100%;
  }
  
  .advertise-article__intro p {
    font-size: 1rem;
  }
  
  .advertise-section__title {
    font-size: 1.25rem;
  }
  
  .advertise-benefit {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .advertise-benefit__icon {
    width: 36px;
    height: 36px;
  }
  
  .advertise-benefit__icon svg {
    width: 18px;
    height: 18px;
  }
  
  .advertise-form-wrapper {
    padding: 1rem;
    border-radius: 8px;
  }
}


/* ==========================================================================
   404 ERROR PAGE
   ========================================================================== */

.site-main--404 {
  background: transparent;
}

.error-404 {
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.error-404__container {
  max-width: 500px;
  margin: 0 auto;
  padding: 4rem 2rem;
  text-align: center;
}

.error-404__code {
  display: block;
  font-size: 5rem;
  font-weight: 800;
  line-height: 1;
  color: rgba(201, 150, 59, 0.45);
  letter-spacing: -0.02em;
}

.error-404__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--rz-color-heading);
  margin: 0.5rem 0 0;
}

.error-404__message {
  font-size: 1rem;
  color: var(--rz-color-muted);
  line-height: 1.6;
  margin: 0.75rem 0 0;
}

.error-404__nav {
  margin-top: 2rem;
}

.error-404__list {
  list-style: disc;
  margin: 0;
  padding: 0 0 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: left;
  display: inline-flex;
}

.error-404__list a {
  color: var(--rz-color-link);
  text-decoration: none;
  font-size: 0.9375rem;
}

.error-404__list a:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  .error-404__container {
    padding: 2.5rem 1.25rem;
  }

  .error-404__code {
    font-size: 3.5rem;
  }

  .error-404__title {
    font-size: 1.375rem;
  }
}

/* ==========================================================================
   FIGMA BUTTONS — SITE-WIDE (FINAL OVERRIDES)
   THE SINGLE SOURCE OF TRUTH for all button styles.
   Every visual property uses !important to guarantee it wins the cascade.
   Class names: --secondary (new) and --pink (legacy backward compat).
   ========================================================================== */

/* ---- Shared base (all buttons) ---- */
.product-card__cta-button,
.product-card__header-cta,
.product-review__cta-button,
.product-review-cta__button,
.wp-element-button,
.wp-block-button__link,
.rz-button--primary,
.rz-button--secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  height: auto !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  box-shadow: 0 4px 4px rgba(107, 114, 128, 0.25) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-align: center !important;
  text-decoration: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

/* ---- BUTTON 1 (Primary) — default ---- */
.product-card__cta-button:not(.product-card__cta-button--secondary):not(.product-card__cta-button--pink),
.product-card__header-cta:not(.product-card__header-cta--secondary):not(.product-card__header-cta--pink),
.product-review__cta-button:not(.product-review__cta-button--secondary):not(.product-review__cta-button--pink),
.product-review-cta__button,
.wp-element-button,
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link.has-text-color,
.wp-block-button .wp-block-button__link.has-background,
.rz-button--primary {
  background: var(--rz-color-primary, var(--rz-color-purple)) !important;
  border-color: var(--rz-color-primary, var(--rz-color-purple)) !important;
  color: var(--rz-color-white) !important;
}

/* ---- BUTTON 1 (Primary) — hover ---- */
.product-card__cta-button:not(.product-card__cta-button--secondary):not(.product-card__cta-button--pink):hover,
.product-card__header-cta:not(.product-card__header-cta--secondary):not(.product-card__header-cta--pink):hover,
.product-review__cta-button:not(.product-review__cta-button--secondary):not(.product-review__cta-button--pink):hover,
.product-review-cta__button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover,
.rz-button--primary:hover {
  filter: brightness(0.95) !important;
  color: var(--rz-color-white) !important;
  box-shadow: 0 4px 8px rgba(107, 114, 128, 0.35) !important;
}

/* ---- BUTTON 2 (Secondary) — default ---- */
.product-card__cta-button--secondary,
.product-card__cta-button--pink,
.product-card__header-cta--secondary,
.product-card__header-cta--pink,
.product-review__cta-button--secondary,
.product-review__cta-button--pink,
.rz-button--secondary {
  background: linear-gradient(var(--rz-color-white), var(--rz-color-white)) padding-box,
              var(--rz-gradient-purple) border-box !important;
  color: var(--rz-color-link) !important;
}

/* ---- BUTTON 2 (Secondary) — hover ---- */
.product-card__cta-button--secondary:hover,
.product-card__cta-button--pink:hover,
.product-card__header-cta--secondary:hover,
.product-card__header-cta--pink:hover,
.product-review__cta-button--secondary:hover,
.product-review__cta-button--pink:hover,
.rz-button--secondary:hover {
  background: linear-gradient(var(--rz-color-pearl), var(--rz-color-pearl)) padding-box,
              var(--rz-gradient-purple) border-box !important;
  color: var(--rz-color-link) !important;
  box-shadow: 0 4px 10px rgba(107, 114, 128, 0.22) !important;
}

/* ---- Visited states — keep button colors stable ---- */
a.product-card__cta-button:visited,
a.product-card__header-cta:visited,
a.product-review__cta-button:visited,
a.product-review-cta__button:visited,
a.wp-element-button:visited,
a.wp-block-button__link:visited,
.wp-block-button a.wp-block-button__link:visited,
a.rz-button--primary:visited {
  color: var(--rz-color-white) !important;
}
a.product-card__cta-button--secondary:visited,
a.product-card__cta-button--pink:visited,
a.product-card__header-cta--secondary:visited,
a.product-card__header-cta--pink:visited,
a.product-review__cta-button--secondary:visited,
a.product-review__cta-button--pink:visited,
a.rz-button--secondary:visited {
  color: var(--rz-color-link) !important;
}

/* ---- Focus ring for accessibility ---- */
.product-card__cta-button:focus-visible,
.product-card__header-cta:focus-visible,
.product-review__cta-button:focus-visible,
.product-review-cta__button:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.25), 0 4px 4px rgba(107, 114, 128, 0.25) !important;
}

/* ---- Suppress generic link hover underline on buttons ---- */
a.product-card__cta-button:hover,
a.product-card__header-cta:hover,
a.product-review__cta-button:hover,
a.product-review-cta__button:hover,
a.wp-element-button:hover,
a.wp-block-button__link:hover {
  text-decoration: none !important;
}

/* ==========================================================================
   REVIEW GATE — email gate overlay on full reviews
   ========================================================================== */

.review-gate-wrap {
  position: relative;
}

.review-gate-content {
  transition: filter 0.3s ease;
}

.review-gate-wrap.is-gated .review-gate-content {
  max-height: 900px;
  overflow: hidden;
  filter: blur(6px);
  -webkit-filter: blur(6px);
  pointer-events: none;
  user-select: none;
}

/* The overlay card */
.review-gate {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  padding: 0 16px;
  justify-content: center;
  align-items: flex-start;
  padding-top: 200px;
}

.review-gate-wrap.is-gated .review-gate {
  display: flex;
}

/* Card */
.review-gate__card {
  background: var(--rz-color-white);
  border-radius: 16px;
  padding: 40px 36px 32px;
  max-width: 460px;
  width: 100%;
  box-shadow:
    0 8px 30px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.review-gate__heading {
  font-family: var(--rz-font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rz-color-heading, #1e293b);
  margin: 0 0 8px;
}

.review-gate__subtext {
  font-size: 0.9375rem;
  color: var(--rz-color-muted);
  margin: 0 0 28px;
  line-height: 1.5;
}

/* Form layout */
.review-gate__form {
  text-align: left;
}

.review-gate__row {
  display: flex;
  gap: 12px;
}

.review-gate__row .review-gate__field {
  flex: 1;
}

.review-gate__field {
  margin-bottom: 16px;
}

.review-gate__label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rz-color-text);
  margin-bottom: 6px;
}

.review-gate__input {
  display: block;
  width: 100%;
  padding: 10px 14px;
  font-size: 0.9375rem;
  font-family: var(--rz-font-body);
  border: 1.5px solid var(--rz-color-border);
  border-radius: 8px;
  background: var(--rz-color-pearl);
  color: var(--rz-color-heading);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.review-gate__input:focus {
  outline: none;
  border-color: var(--rz-color-dark-blue);
  box-shadow: 0 0 0 3px rgba(15, 27, 45, 0.1);
  background: var(--rz-color-white);
}

.review-gate__input::placeholder {
  color: #9ca3af;
}

/* Error message */
.review-gate__error {
  font-size: 0.8125rem;
  color: #dc2626;
  min-height: 0;
  overflow: hidden;
  transition: min-height 0.2s ease;
}

.review-gate__error:not(:empty) {
  min-height: 1.4em;
  margin-bottom: 12px;
}

/* Submit button */
.review-gate__submit {
  display: block;
  width: 100%;
  padding: 13px 20px;
  font-size: 1rem;
  font-weight: 600;
  font-family: var(--rz-font-body);
  color: var(--rz-color-white);
  background: var(--rz-color-purple);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.review-gate__submit:hover {
  background: var(--rz-color-dark-blue);
  box-shadow: 0 4px 12px rgba(15, 27, 45, 0.25);
}

.review-gate__submit:active {
  transform: translateY(1px);
}

.review-gate__submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.review-gate__privacy {
  font-size: 0.75rem;
  color: var(--rz-color-muted);
  margin: 12px 0 0;
  line-height: 1.5;
  text-align: center;
}

.review-gate__privacy a {
  color: inherit;
  text-decoration: underline;
}

/* ---- Unlocked state ---- */
.review-gate-wrap.is-unlocked .review-gate {
  display: none !important;
}

.review-gate-wrap.is-unlocked .review-gate-content {
  max-height: none;
  overflow: visible;
  filter: none;
  -webkit-filter: none;
}

/* ---- Step transitions ---- */

.review-gate__step[hidden] {
  display: none !important;
}

/* ---- OTP input ---- */

.review-gate__otp-wrapper {
  margin-bottom: 16px;
}

.review-gate__otp-input {
  display: block;
  width: 100%;
  padding: 14px 16px;
  font-family: var(--rz-font-heading);
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: 0.5em;
  text-align: center;
  border: 2px solid var(--rz-color-border);
  border-radius: 10px;
  background: #f8fafc;
  color: var(--rz-color-heading, #1e293b);
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}

.review-gate__otp-input:focus {
  outline: none;
  border-color: var(--rz-color-dark-blue);
  box-shadow: 0 0 0 3px rgba(15, 27, 45, 0.1);
  background: var(--rz-color-white);
}

.review-gate__otp-input::placeholder {
  color: var(--rz-color-border);
  letter-spacing: 0.5em;
}

/* ---- Verify step footer ---- */

.review-gate__verify-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
  font-size: 0.8125rem;
  color: var(--rz-color-muted);
  flex-wrap: wrap;
}

.review-gate__resend-btn,
.review-gate__back-btn {
  background: none;
  border: none;
  color: var(--rz-color-primary, var(--rz-color-purple));
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  padding: 2px 4px;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.15s;
}

.review-gate__resend-btn:hover,
.review-gate__back-btn:hover {
  text-decoration-color: currentColor;
}

.review-gate__resend-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.review-gate__resend-status {
  font-size: 0.75rem;
  color: var(--rz-color-purple);
}

.review-gate__divider {
  color: var(--rz-color-border);
  user-select: none;
}

.review-gate__sent-email {
  color: var(--rz-color-heading, #1e293b);
}

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .review-gate-wrap.is-gated .review-gate-content {
    max-height: 700px;
  }

  .review-gate__card {
    padding: 28px 20px 24px;
  }

  .review-gate__heading {
    font-size: 1.25rem;
  }

  .review-gate__row {
    flex-direction: column;
    gap: 0;
  }

  .review-gate__otp-input {
    font-size: 1.5rem;
    padding: 12px 14px;
  }

  .review-gate__verify-footer {
    flex-direction: column;
    gap: 8px;
  }

  .review-gate__divider {
    display: none;
  }
}

/* ==========================================================================
   BRAND COLOR ROLLOUT LAYER
   Color-only overrides for visible rebrand (no sizing/layout changes).
   ========================================================================== */

/* Top strip behavior on pages using gradient-header class */
body.has-gradient-header {
  background: linear-gradient(
    180deg,
    var(--rz-color-dark-blue) 0%,
    var(--rz-color-dark-blue) 64px,
    var(--rz-color-pearl) 64px,
    var(--rz-color-pearl) 100%
  );
  background-repeat: no-repeat;
  background-color: var(--rz-color-pearl);
}

/* ==========================================================================
   MINIMAL STABILIZATION LAYER
   Keep brand direction without forcing full-site component restyles.
   ========================================================================== */
:root {
  --rz-color-dark-blue: #0f1b2d;
  --rz-color-golden-yellow: #c9963b;
  --rz-color-text: #1c1c28;
  --rz-color-heading: #1c1c28;
  --rz-color-link: #3d5a80;
  --rz-color-link-hover: #0f1b2d;
  --rz-color-pearl: #f8f7f4;
  --rz-color-muted: #5f636f;

  --score-color-excellent-start: #2d8b4e;
  --score-color-excellent-end: #2d8b4e;
  --score-color-mid-start: #e8b931;
  --score-color-mid-end: #e8b931;
  --score-color-poor-start: #c0392b;
  --score-color-poor-end: #c0392b;
  --rz-progress-track: #e5e7eb;
}

/* Header/nav only */
.site-header,
body.has-gradient-header .site-header {
  background: var(--rz-color-dark-blue);
}

.main-navigation > ul > li > a,
.main-navigation > ul > li > button.menu-toggle {
  color: var(--rz-color-white);
}

.main-navigation > ul > li:hover > a,
.main-navigation > ul > li:hover > button.menu-toggle,
.main-navigation > ul > li.mega-menu-open > a,
.main-navigation > ul > li.mega-menu-open > button.menu-toggle {
  color: var(--rz-color-golden-yellow) !important;
}

/* Keep critical score/meta typography readable */
.product-card__overall-label,
.pr-score-summary__overall-label,
.product-card__score-label,
.pr-score-summary__score-label {
  color: var(--rz-color-heading) !important;
}

/* Keep review/methodology links readable */
.product-card__review-link {
  color: var(--rz-color-muted) !important;
}
.product-card__methodology a,
.pr-score-summary__methodology-link a {
  color: var(--rz-color-dark-blue) !important;
}

.product-card__review-link:hover {
  color: var(--rz-color-link) !important;
}
.product-card__methodology a:hover,
.pr-score-summary__methodology-link a:hover {
  color: var(--rz-color-link) !important;
}

/* Tooltip methodology link sits on a dark background — use light gold */
.pr-score-summary__info-methodology a {
  color: #e8b870 !important;
}

.pr-score-summary__info-methodology a:hover {
  color: #f5cc8a !important;
}

