﻿    :root {
      --white: #ffffff;
      --black: #000000;
      --gray-1: #333333;
      --gray-2: #4f4f4f;
      --gray-3: #828282;
      --gray-4: #bdbdbd;
      --gray-5: #e0e0e0;
      --gray-6: #f2f2f2;
      --body-bg: #f9f9f9;
      --green-primary: #00b67a;
      --green-dark: #009463;
      --green-hover: #00ba56;
      --cta-primary: #3933ea;
      --cta-dark: #2a25b0;
      --cta-hover: #4a44f0;
      --header-bg: #232f3e;
      --flag-orange: #FF980E;
      --flag-orange-dark: #D17903;
      --deal-red: #f76969;
      --link-blue: #0769ed;
      --tooltip-text: #134f6d;
      --cyan-subtitle: #22d3ee;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    
    body {
      font-family: 'Open Sans', sans-serif;
      font-size: 16px;
      line-height: 1.6;
      color: var(--gray-1);
      background: var(--body-bg);
      -webkit-font-smoothing: antialiased;
    }

    a { color: var(--link-blue); text-decoration: none; }
    a:hover { text-decoration: underline; }
    img { max-width: 100%; height: auto; display: block; }

    /* HEADER */
    .header {
      background: var(--white);
      padding: 15px 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    .header-container {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 8px;
      font-weight: 700;
      font-size: 1.4rem;
      color: var(--gray-1);
    }
    .logo-icon {
      width: 32px;
      height: 32px;
      background: var(--green-primary);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-weight: bold;
    }

    /* LAYOUT */
    .page-wrapper {
      max-width: 1400px;
      margin: 0 auto;
      padding: 20px;
    }
    .top5-section {
      max-width: 920px;
      margin: 0 auto;
    }

    /* ARTICLE WITH SIDEBAR */
    .article-wrapper { display: block; }
    @media (min-width: 1200px) {
      .article-wrapper {
        display: grid;
        grid-template-columns: 1fr 300px;
        gap: 30px;
        max-width: 1200px;
        margin: 0 auto;
        align-items: stretch;
      }
    }
    .main-content { max-width: 850px; }

    .content-card {
      background: var(--white);
      border-radius: 12px;
      padding: 25px;
      margin-bottom: 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    /* HERO */
    .hero {
      background: linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65)),
                  url('https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?w=1200') center/cover;
      background-size: cover;
      background-position: center;
      border-radius: 12px 12px 0 0;
      padding: 60px 30px;
      text-align: center;
      color: var(--white);
      margin-bottom: 0;
    }
    .hero h1 { font-size: 2.4rem; font-weight: 800; margin-bottom: 20px; }
    .hero-meta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 15px;
      flex-wrap: wrap;
      margin-bottom: 15px;
      font-size: 0.9rem;
    }
    .hero-meta .updated {
      display: flex;
      align-items: center;
      gap: 5px;
    }
    .hero-meta .check-icon {
      background: var(--green-primary);
      border-radius: 50%;
      width: 18px;
      height: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .hero-meta .check-icon svg { width: 10px; height: 10px; fill: white; }
    .hero-meta a { color: var(--white); opacity: 0.9; }
    .author-line {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-bottom: 20px;
    }
    .author-avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
    .badge-box {
      display: inline-block;
      border: 2px dashed rgba(255,255,255,0.5);
      padding: 15px 25px;
      border-radius: 8px;
    }
    .badge-box .title { font-weight: 700; font-size: 1.1rem; }
    .badge-box .subtitle { font-size: 0.85rem; opacity: 0.9; }

    /* TRUSTPILOT STARS - Green squares */
    .tp-stars { display: inline-flex; gap: 2px; }
    .tp-star {
      width: 20px;
      height: 20px;
      background: var(--green-primary);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .tp-star svg { width: 12px; height: 12px; fill: white; }
    .tp-star.half { background: linear-gradient(90deg, var(--green-primary) 50%, var(--gray-5) 50%); }
    .tp-star.empty { background: var(--gray-5); }
    .tp-star.empty svg { fill: var(--gray-4); }
    /* Score-based star colors: ≥8 green (default) | 6–7.9 yellow | 3–5.9 orange | <3 red */
    .tp-star.score-yellow { background: #FBBF24; }
    .tp-star.score-yellow.half { background: linear-gradient(90deg, #FBBF24 50%, var(--gray-5) 50%); }
    .tp-star.score-orange { background: #FF980E; }
    .tp-star.score-orange.half { background: linear-gradient(90deg, #FF980E 50%, var(--gray-5) 50%); }
    .tp-star.score-red { background: #dc2626; }
    .tp-star.score-red.half { background: linear-gradient(90deg, #dc2626 50%, var(--gray-5) 50%); }
    /* Bar-fill always stays green regardless of score */
    .yellow-stars { color: #fbbf24; font-size: 1.1rem; letter-spacing: 1px; }

    /* SVG Icons for Pros/Cons */
    .icon-check, .icon-x { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
    .icon-check { fill: var(--green-primary); }
    .icon-x { fill: #dc2626; }

    /* INTRO */
    .intro-text { font-size: 1rem; line-height: 1.8; border-radius: 0 0 12px 12px; }
    .intro-text p { margin-bottom: 15px; }
    
    /* Hero + Intro connected */
    .hero-intro-wrapper {
      background: var(--white);
      border-radius: 12px;
      overflow: hidden;
      margin-bottom: 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    .hero-intro-wrapper .hero { margin-bottom: 0; border-radius: 0; }
    .hero-intro-wrapper .intro-text { 
      padding: 25px; 
      margin-bottom: 0; 
      border-radius: 0;
      box-shadow: none;
    }

    /* ============================================
       PRODUCT CARDS - CRO OPTIMIZED
    ============================================ */
    .product-card {
      border: 2px solid var(--gray-5);
      border-radius: 12px;
      overflow: hidden;
      margin-bottom: 20px;
      background: var(--white);
    }
    .product-card.featured {
      border-color: var(--header-bg);
      box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    }
    .product-card.collapsible {
      max-height: 2000px;
      opacity: 1;
      transition: max-height 0.5s ease, opacity 0.3s ease, margin 0.3s ease;
    }
    .product-card.collapsed {
      max-height: 0;
      opacity: 0;
      margin-bottom: 0;
      border: none;
      overflow: hidden;
    }

    /* Product Header */
    .product-header {
      background: var(--header-bg);
      color: var(--white);
      padding: 0;
      display: flex;
      align-items: stretch;
    }

    /* Featured product card needs margin for ribbon badge */
    .product-card.featured {
      position: relative;
      margin-top: 20px;
    }
    @media (max-width: 900px) {
      .product-card.featured .product-header { padding-left: 70px; }
      .product-card.featured .product-title-area { padding: 10px 12px 10px 10px; }
    }

    /* RIBBON FLAG BADGE - extends above card */
    .rank-badge {
      position: absolute;
      top: -5px;
      left: 20px;
      z-index: 10;
      background: var(--flag-orange);
      color: var(--white);
      font-weight: 800;
      font-size: 1.3rem;
      width: 44px;
      text-align: center;
      padding: 8px 0 10px 0;
      border-radius: 4px 4px 0 0;
      box-shadow: 2px 2px 8px rgba(0,0,0,0.15);
      line-height: 1;
    }
    /* Triangle ribbon tail */
    .rank-badge::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 0;
      width: 0;
      height: 0;
      border-left: 22px solid var(--flag-orange);
      border-right: 22px solid var(--flag-orange);
      border-bottom: 12px solid transparent;
    }
    /* Adjust featured product header for ribbon */
    .product-card.featured .product-header {
      padding-left: 85px;
    }

    .product-title-area {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px 12px 30px;
      flex: 1;
    }
    .product-name { font-size: 1.2rem; font-weight: 700; }
    .product-subtitle { font-size: 0.85rem; color: rgba(255,255,255,0.85); }
    .product-subtitle a { color: rgba(255,255,255,0.85); text-decoration: none; }
    .product-subtitle a:hover { color: white; text-decoration: underline; }
    .product-name a { color: var(--white); text-decoration: none; }
    .product-name a:hover { text-decoration: underline; }

    /* DESKTOP: 4 columns */
    .product-body {
      display: grid;
      grid-template-columns: 180px 1fr 1fr 240px;
      gap: 20px;
      padding: 20px;
      align-items: start;
    }

    /* MOBILE CRO: Reorder elements */
    @media (max-width: 900px) {
      .product-card {
        display: flex;
        flex-direction: column;
      }
      .product-card .product-header { order: 0; }
      .product-image-score { order: 1; }
      .pros-cons-wrapper { order: 2; }
      .product-card .rating-bars { order: 3; }
      .product-card .product-review-text { order: 4; }
      .read-more-zone { order: 5; }
      .cta-zone-mobile { order: 10; }
      .product-body {
        display: flex;
        flex-direction: column;
        padding: 0;
      }
      /* Hide desktop-only elements */
      .desktop-only { display: none !important; }
    }
    @media (min-width: 901px) {
      .mobile-only { display: none !important; }
      .cta-zone-mobile { display: none !important; }
      .product-image-score { display: none !important; }
      .score-info-mobile { display: none !important; }
    }
    /* Mobile score info for CTA boxes - match product cards */
    .score-info-mobile {
      text-align: left;
    }
    .score-info-mobile .score-label { font-size: 0.7rem; margin-bottom: 2px; color: var(--gray-3); }
    .score-info-mobile .score-number { font-size: 2.2rem; font-weight: 800; line-height: 1; color: var(--gray-1); }
    .score-info-mobile .tp-stars { justify-content: flex-start !important; margin: 5px 0 !important; }
    .score-info-mobile .score-rating { font-size: 0.85rem; margin-top: 3px; font-weight: 600; }
    .score-info-mobile .score-reviews { font-size: 0.7rem; margin-bottom: 0; color: var(--gray-3); }

    /* Product Image */
    .product-image {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      padding: 15px;
    }
    .product-image img { max-height: 150px; object-fit: contain; }
    .product-image-placeholder {
      width: 140px;
      height: 140px;
      border-radius: 8px;
      aspect-ratio: 1/1;
    }

    /* Mobile: Image + Score side by side */
    .product-image-score {
      display: flex;
      align-items: center;
      padding: 16px;
      gap: 16px;
    }
    .product-image-score .product-image-placeholder {
      width: 100px;
      height: 100px;
    }
    .product-image-score .score-mini {
      flex: 1;
      text-align: center;
    }
    .product-image-score .score-number {
      font-size: 2.5rem;
      font-weight: 800;
      line-height: 1;
    }

    /* Pros/Cons with SVG icons */
    .pros-cons h4 {
      font-size: 0.85rem;
      font-weight: 700;
      margin-bottom: 10px;
      text-transform: uppercase;
    }
    .pros h4 { color: var(--green-dark); }
    .cons h4 { color: #dc2626; }
    .pros-cons ul { list-style: none; }
    .pros-cons li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin-bottom: 6px;
      font-size: 0.875rem;
      text-align: left;
    }

    /* Pros/Cons wrapper */
    .pros-cons-wrapper {
      display: flex;
      gap: 15px;
      padding: 15px;
      border-top: 1px solid var(--gray-5);
    }
    .pros-cons-wrapper .pros-cons { flex: 1; }

    /* CTA Zone Mobile */
    .cta-zone-mobile {
      padding: 15px;
      text-align: center;
      background: #FFFFFF;
      border-top: 1px solid var(--gray-5);
    }
    .cta-zone-mobile .action-btn { width: 100%; margin-top: 12px; }

    /* Score + CTA Zone Desktop */
    .score-cta-zone { text-align: center; padding-top: 5px; }
    .score-label { font-size: 0.75rem; color: var(--gray-3); margin-bottom: 4px; }
    .score-number { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--gray-1); }
    .score-rating { font-size: 0.9rem; color: var(--gray-2); margin-top: 2px; font-weight: 600; }
    .score-reviews { font-size: 0.75rem; color: var(--gray-3); margin-bottom: 10px; }

    .deal-badge { font-size: 0.8rem; color: var(--deal-red); margin-bottom: 4px; }
    .deal-badge a { color: var(--deal-red); }
    .discount-tag { font-weight: 700; color: var(--deal-red); }
    .discount-tag a { color: var(--deal-red); }

    /* CTA BUTTON */
    .action-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: var(--cta-primary);
      color: var(--white);
      padding: 12px 20px;
      border-radius: 6px;
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
      margin-top: 10px;
      box-shadow: 0 3px 0 var(--cta-dark);
      transition: all 0.15s ease;
    }
    .action-btn:hover { background: var(--cta-hover); text-decoration: none; transform: translateY(-1px); }
    .action-btn .arrow-icon { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; }
    /* Legacy dead-btn class — kept for backward compat. Do not use on new elements. */
    .dead-btn {
      background: #9ca3af;
      color: #f3f4f6;
      box-shadow: 0 3px 0 #6b7280;
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.85;
    }
    .dead-btn:hover { background: #9ca3af; transform: none; box-shadow: 0 3px 0 #6b7280; }
    .action-btn.dead-btn::after { display: none !important; }

    /* Standalone "Currently Unavailable" pill — used in place of competitor amazon CTAs.
       Fully self-contained (no inheritance from .action-btn) so it never accidentally
       picks up the active-CTA blue background or the arrow ::after pseudo-element. */
    .unavailable-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      background: #e5e7eb;
      color: #6b7280;
      padding: 12px 20px;
      border-radius: 6px;
      border: 1px solid #d1d5db;
      font-weight: 600;
      font-size: 0.92rem;
      letter-spacing: 0.01em;
      text-decoration: none;
      text-transform: none;
      margin-top: 10px;
      box-shadow: none;
      cursor: not-allowed;
      pointer-events: none;
      user-select: none;
      opacity: 0.95;
      transition: none;
    }
    .unavailable-pill:hover, .unavailable-pill:focus, .unavailable-pill:active {
      background: #e5e7eb; color: #6b7280; transform: none; text-decoration: none; box-shadow: none;
    }
    .unavailable-pill::before {
      content: "";
      display: inline-block;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='4.93' y1='4.93' x2='19.07' y2='19.07'/></svg>");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
    .unavailable-pill::after { display: none !important; content: none !important; }

    /* SOCIAL PROOF TOOLTIP */
    .tooltip-box {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 12px;
      padding: 10px;
      background: var(--white);
      border: 1px solid var(--gray-5);
      border-radius: 10px;
      box-shadow: 0 1px 10px rgba(0,0,0,0.15);
    }
    .tooltip-icon {
      width: 20px;
      height: 20px;
      background: var(--flag-orange);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .tooltip-icon svg { width: 12px; height: 12px; fill: var(--white); }
    .tooltip-text { font-size: 0.8rem; color: var(--tooltip-text); font-weight: 600; }

    /* Read More Zone */
    .read-more-zone {
      text-align: center;
      padding: 16px;
      border-top: 1px solid var(--gray-5);
    }
    .read-more-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--gray-2);
      font-weight: 600;
      font-size: 0.9rem;
    }
    .read-more-link svg { width: 14px; height: 14px; fill: var(--green-primary); }

    /* Non-featured cards: dark header */
    .product-card:not(.featured) .product-header {
      background: var(--header-bg);
      color: var(--white);
    }
    .product-card:not(.featured) .product-title-area { padding-left: 16px; }
    .product-card:not(.featured) .product-name { color: var(--white); }
    .product-card:not(.featured) .product-subtitle { color: var(--cyan-subtitle); }

    /* TOGGLE BUTTON */
    .toggle-list-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      padding: 15px;
      background: var(--white);
      border: 2px solid var(--gray-5);
      border-radius: 8px;
      font-size: 1rem;
      font-weight: 600;
      color: var(--gray-2);
      cursor: pointer;
      margin-bottom: 20px;
    }
    .toggle-list-btn:hover { background: var(--gray-6); }
    .toggle-list-btn .chevron-icon { width: 16px; height: 16px; fill: var(--gray-3); transition: transform 0.3s; }
    .toggle-list-btn.expanded .chevron-icon { transform: rotate(180deg); }

    /* FEATURED CTA BOX - Dark style like final CTA */
    .featured-cta {
      background: var(--white);
      border: 3px solid var(--header-bg);
      border-radius: 12px;
      padding: 25px;
      margin: 25px 0;
      display: grid;
      grid-template-columns: 160px 1fr 220px;
      gap: 20px;
      align-items: start;
    }
    .featured-cta .score-cta-zone { text-align: center; }
    .featured-cta .score-cta-zone .action-btn { white-space: nowrap; }
    .featured-cta .score-cta-zone .tooltip-text { white-space: nowrap; font-size: 0.75rem; }
    @media (max-width: 900px) {
      .featured-cta { 
        grid-template-columns: 100px 1fr;
        grid-template-rows: auto auto auto;
        text-align: left;
        gap: 12px;
        padding: 15px;
      }
      .featured-cta .rank-corner { 
        grid-row: 1 / 2;
        grid-column: 1 / 2;
      }
      .featured-cta .rank-corner .product-image-placeholder {
        width: 90px !important;
        height: 90px !important;
      }
      .featured-cta .score-info-mobile {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
      }
      .featured-cta .featured-cta-content {
        grid-row: 2 / 3;
        grid-column: 1 / 3;
      }
      .featured-cta .score-cta-zone {
        grid-row: 3 / 4;
        grid-column: 1 / 3;
        text-align: center;
      }
      .featured-cta .score-cta-zone .score-label,
      .featured-cta .score-cta-zone .score-number,
      .featured-cta .score-cta-zone .tp-stars,
      .featured-cta .score-cta-zone .score-rating,
      .featured-cta .score-cta-zone .score-reviews { display: none; }
      .featured-cta .score-cta-zone .action-btn { margin-top: 0; }
    }
    .featured-cta h3 { font-size: 1.3rem; margin-bottom: 8px; color: var(--gray-1); }
    .featured-cta p { font-size: 0.9rem; color: var(--gray-2); margin-bottom: 8px; }
    .featured-cta-content p { font-size: 0.9rem; color: var(--gray-2); margin-bottom: 8px; line-height: 1.6; }
    .featured-cta-content a { font-size: 0.85rem; }
    .featured-cta .rank-corner { position: relative; }
    .featured-cta .rank-corner .rank-tag {
      position: absolute;
      top: -10px;
      left: -10px;
      background: var(--flag-orange);
      color: var(--white);
      padding: 5px 10px;
      font-weight: 800;
      font-size: 0.85rem;
      box-shadow: 2px 2px 0 var(--flag-orange-dark);
    }
    /* Desktop: featured-cta content appears on row 1 col 2 when 3 cols */
    @media (min-width: 901px) {
      .featured-cta {
        grid-template-columns: 160px 1fr 260px;
      }
      .featured-cta .featured-cta-content {
        grid-row: 1;
        grid-column: 2;
      }
      .featured-cta .score-cta-zone {
        grid-row: 1;
        grid-column: 3;
      }
      .final-cta {
        grid-template-columns: 140px 1fr 240px;
      }
      .final-cta .final-cta-content {
        grid-row: 1;
        grid-column: 2;
      }
      .final-cta .score-cta-zone {
        grid-row: 1;
        grid-column: 3;
      }
    }

    /* ============================================
       ARTICLE SECTION - FULL WHITE
    ============================================ */
    .article-section { 
      background: var(--white); 
      padding: 35px 30px; 
      border-radius: 12px; 
      margin-bottom: 25px; 
    }
    @media (max-width: 768px) {
      .article-section {
        margin-left: -20px;
        margin-right: -20px;
        padding: 25px 20px;
        border-radius: 0;
      }
    }
    .article-section h2 {
      font-size: 1.6rem;
      font-weight: 800;
      margin-bottom: 10px;
      line-height: 1.4;
      overflow-wrap: break-word;
      color: var(--gray-1);
    }
    .article-section h3 { 
      font-size: 1.3rem; 
      font-weight: 700;
      margin: 28px 0 15px; 
      color: var(--gray-1); 
    }
    .article-section p { 
      margin-bottom: 18px; 
      line-height: 1.8; 
      color: var(--gray-2);
    }

    /* Article Meta with Rating */
    .article-meta {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-bottom: 25px;
      flex-wrap: wrap;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--gray-5);
    }
    .article-meta .author-info {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .article-meta .author-avatar { width: 36px; height: 36px; }
    .article-meta .date { color: var(--gray-3); font-size: 0.85rem; }
    .article-meta .category {
      background: var(--gray-6);
      padding: 4px 12px;
      border-radius: 4px;
      font-size: 0.8rem;
      color: var(--gray-2);
    }

    .article-image { width: 100%; border-radius: 12px; margin: 20px 0; }
    .article-image-single { max-width: 550px; margin: 25px auto; }
    .highlight-text { font-weight: 700; color: var(--gray-1); background: #fef3c7; padding: 2px 6px; border-radius: 3px; }
    .sale-banner {
      background: linear-gradient(90deg, var(--deal-red), #ff6b6b);
      color: var(--white);
      padding: 12px 20px;
      border-radius: 8px;
      text-align: center;
      font-weight: 700;
      margin-bottom: 20px;
    }
    .sale-banner a { color: var(--white); }
    .steps-section { margin: 25px 0; }

    /* RESULTS BOX */
    .results-box {
      background: var(--gray-6);
      border-left: 4px solid var(--green-primary);
      padding: 25px;
      border-radius: 0 8px 8px 0;
      margin: 25px 0;
    }
    .results-box .result-item { margin-bottom: 18px; }
    .results-box .result-item:last-child { margin-bottom: 0; }
    .results-box .result-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--green-primary);
      color: var(--white);
      width: 22px;
      height: 22px;
      border-radius: 4px;
      font-weight: 700;
      font-size: 0.8rem;
      margin-right: 10px;
    }
    .results-box .result-title { font-weight: 700; color: var(--gray-1); }

    /* REVIEWS */
    .reviews-section { margin-top: 30px; }
    .reviews-section h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 20px; }
    .review-card {
      background: var(--gray-6);
      border-radius: 12px;
      padding: 18px 18px 18px 24px;
      margin-bottom: 15px;
      position: relative;
      border-left: 4px solid var(--green-primary);
    }
    .review-card::before {
      content: """;
      font-size: 4rem;
      color: var(--gray-4);
      position: absolute;
      top: 12px;
      left: 18px;
      line-height: 1;
      font-family: Georgia, serif;
    }
    .review-text {
      font-style: italic;
      margin-bottom: 10px;
      padding-left: 22px;
      padding-top: 12px;
      line-height: 1.6;
      color: var(--gray-2);
      font-size: 0.9rem;
    }
    .review-author {
      font-weight: 700;
      font-size: 0.9rem;
      padding-left: 22px;
      color: var(--gray-1);
    }
    .review-author .location { font-weight: 400; color: var(--gray-3); }
    .review-stars { padding-left: 22px; margin-top: 5px; }

    /* STEPS BOX */
    .steps-box {
      background: var(--gray-6);
      border-radius: 12px;
      padding: 25px;
      margin: 25px 0;
    }
    .step-item {
      display: flex;
      align-items: flex-start;
      gap: 15px;
      margin-bottom: 15px;
    }
    .step-item:last-child { margin-bottom: 0; }
    .step-number {
      background: var(--green-primary);
      color: var(--white);
      width: 26px;
      height: 26px;
      border-radius: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 0.85rem;
      flex-shrink: 0;
    }
    .step-text { font-size: 0.95rem; color: var(--gray-2); }

    /* FINAL CTA */
    .final-cta {
      background: var(--white);
      border: 3px solid var(--header-bg);
      border-radius: 12px;
      padding: 25px;
      margin: 30px 0;
      display: grid;
      grid-template-columns: 140px 1fr 220px;
      gap: 25px;
      align-items: start;
    }
    .final-cta .final-cta-content { overflow: hidden; min-width: 0; }
    .final-cta .final-cta-content .rating-bars { overflow: hidden; }
    .final-cta .final-cta-content .rating-bar .label { width: 220px; min-width: 220px; }
    .final-cta .score-cta-zone { text-align: center; }
    .final-cta .score-cta-zone .action-btn { white-space: nowrap; }
    .final-cta .score-cta-zone .tooltip-text { white-space: nowrap; font-size: 0.75rem; }
    @media (max-width: 900px) {
      .final-cta { 
        grid-template-columns: 100px 1fr;
        grid-template-rows: auto auto auto;
        text-align: left;
        gap: 12px;
        padding: 15px;
      }
      .final-cta .product-img { 
        grid-row: 1 / 2;
        grid-column: 1 / 2;
      }
      .final-cta .product-img .product-image-placeholder {
        width: 90px !important;
        height: 90px !important;
      }
      .final-cta .score-info-mobile {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
      }
      .final-cta .final-cta-content {
        grid-row: 2 / 3;
        grid-column: 1 / 3;
      }
      .final-cta .final-cta-content .rating-bar .label {
        width: 140px;
        min-width: 140px;
      }
      .final-cta .score-cta-zone {
        grid-row: 3 / 4;
        grid-column: 1 / 3;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: none;
      }
      .final-cta .score-cta-zone .score-label,
      .final-cta .score-cta-zone .score-number,
      .final-cta .score-cta-zone .tp-stars,
      .final-cta .score-cta-zone .score-rating,
      .final-cta .score-cta-zone .score-reviews { display: none; }
      .final-cta .score-cta-zone .action-btn { margin-top: 0; }
    }
    .final-cta .product-img { position: relative; }
    .final-cta .rank-tag {
      position: absolute;
      top: -10px;
      left: -10px;
      background: var(--flag-orange);
      color: var(--white);
      padding: 5px 10px;
      font-weight: 800;
      font-size: 0.85rem;
      box-shadow: 2px 2px 0 var(--flag-orange-dark);
    }
    .final-cta h3 { font-size: 1.2rem; margin-bottom: 10px; color: var(--gray-1); }

    /* Rating Bars */
    .rating-bars { margin: 12px 0; overflow: hidden; }
    .rating-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
      font-size: 0.85rem;
    }
    .rating-bar .label { width: 220px; min-width: 220px; flex-shrink: 0; white-space: nowrap; font-size: 0.85rem; font-weight: 600; color: var(--gray-2); text-align: left; }
    @media (max-width: 900px) {
      .rating-bar .label { width: 140px; min-width: 140px; white-space: normal; line-height: 1.3; }
      .product-card .rating-bars { padding: 20px 20px 5px 20px !important; }
    }
    .rating-bar .bar {
      flex: 1;
      min-width: 60px;
      height: 7px;
      background: var(--gray-5);
      border-radius: 3px;
      overflow: hidden;
    }
    .rating-bar .bar-fill { height: 100%; background: var(--green-primary); border-radius: 3px; }
    .rating-bar .value { white-space: nowrap; flex-shrink: 0; font-size: 0.85rem; text-align: right; font-weight: 700; color: var(--gray-1); }

    /* Rating bars in product cards */
    .product-card .rating-bars {
      padding: 20px 20px 5px 20px !important;
      margin: 10px 0 0 0;
      border-top: 1px solid var(--gray-5);
    }

    /* Rating bars in sidebar */
    .sidebar-card .rating-bars {
      overflow: hidden;
    }
    .sidebar-card .rating-bar .label {
      width: 120px;
      min-width: 120px;
      font-size: 0.75rem;
      white-space: normal;
    }
    .sidebar-card .rating-bar .value {
      font-size: 0.75rem;
    }

    /* AUTHOR BIO */
    .author-bio {
      display: flex;
      gap: 20px;
      padding: 25px;
      background: var(--white);
      border-radius: 12px;
      margin-top: 25px;
    }
    @media (max-width: 600px) {
      .author-bio { flex-direction: column; text-align: center; }
      .author-bio .avatar { margin: 0 auto; }
    }
    .author-bio .avatar {
      width: 70px;
      height: 70px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
    }
    .author-bio .bio-content { flex: 1; }
    .author-bio .bio-stars { margin-bottom: 8px; }
    .author-bio h4 { font-size: 0.95rem; margin-bottom: 5px; color: var(--gray-1); }
    .author-bio p {
      color: var(--gray-3);
      font-size: 0.9rem;
      font-style: italic;
      line-height: 1.7;
    }

    /* SIDEBAR - STICKY */
    .sidebar { display: none; }
    @media (min-width: 1200px) {
      .sidebar { display: block; }
      .sidebar-sticky { 
        position: sticky; 
        top: 20px;
        max-height: calc(100vh - 40px);
        overflow-y: auto;
      }
      .sidebar-card {
        background: var(--white);
        border-radius: 12px;
        padding: 20px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
      }
      .sidebar-card .score-number { font-size: 2.5rem; }
      .sidebar-card .score-reviews { margin-bottom: 10px; }
      .sidebar-pros-cons { margin-top: 12px; text-align: left; }
      .sidebar-pros-cons h5 {
        font-size: 0.8rem;
        font-weight: 700;
        margin-bottom: 8px;
        text-transform: uppercase;
      }
      .sidebar-pros-cons .pros h5 { color: var(--green-dark); }
      .sidebar-pros-cons .cons h5 { color: #dc2626; }
      .sidebar-pros-cons ul { list-style: none; font-size: 0.8rem; margin-bottom: 10px; }
      .sidebar-pros-cons li {
        display: flex;
        align-items: flex-start;
        gap: 5px;
        margin-bottom: 4px;
      }
    }

    /* MOBILE STICKY BAR */
    .mobile-sticky-bar {
      display: none;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      background: var(--white);
      padding: 10px 12px;
      box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
      z-index: 1000;
    }
    @media (max-width: 768px) {
      .mobile-sticky-bar { display: flex; align-items: center; gap: 10px; }
      body { padding-bottom: 75px; }
    }
    .mobile-sticky-bar .rank-mini {
      background: var(--flag-orange);
      color: white;
      font-weight: 800;
      font-size: 0.75rem;
      padding: 4px 8px;
      border-radius: 4px;
      box-shadow: 1px 1px 0 var(--flag-orange-dark);
    }
    .mobile-sticky-bar .bestseller-tag {
      background: var(--green-primary);
      color: var(--white);
      font-size: 0.55rem;
      font-weight: 700;
      padding: 2px 5px;
      border-radius: 2px;
      text-transform: uppercase;
    }
    .mobile-sticky-bar .product-info { flex: 1; min-width: 0; overflow: hidden; }
    .mobile-sticky-bar .product-name-link {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--link-blue);
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .mobile-sticky-bar .score-mini {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 0.7rem;
      font-weight: 600;
      color: var(--gray-2);
    }
    .mobile-sticky-bar .score-mini .yellow-stars {
      font-size: 0.65rem;
      letter-spacing: 0;
    }
    .mobile-sticky-bar .mobile-btn {
      background: var(--cta-primary);
      color: var(--white);
      padding: 10px 16px;
      border-radius: 6px;
      font-weight: 700;
      font-size: 0.8rem;
      text-decoration: none;
      box-shadow: 0 2px 0 var(--cta-dark);
      white-space: nowrap;
      flex-shrink: 0;
    }
    .mobile-sticky-bar .mobile-btn:hover { background: var(--cta-hover); text-decoration: none; }

    /* FOOTER */
    .footer { background: var(--body-bg); }
    .footer-disclaimer {
      padding: 25px 20px;
      font-size: 0.72rem;
      color: var(--gray-3);
      line-height: 1.7;
      max-width: 1000px;
      margin: 0 auto;
      border-bottom: 1px solid var(--gray-5);
    }
    .footer-main { text-align: center; padding: 30px 20px; }
    .footer-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-weight: 700;
      font-size: 1.2rem;
      color: var(--gray-1);
      margin-bottom: 20px;
    }
    .footer-links {
      display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
      margin-bottom: 20px;
    }
    .footer-links a { color: var(--gray-2); font-size: 0.85rem; }
    .back-to-top {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--header-bg);
      color: var(--white);
      padding: 10px 20px;
      border-radius: 25px;
      font-size: 0.85rem;
      margin-bottom: 20px;
      cursor: pointer;
      border: none;
    }
    .footer-copyright {
      color: var(--gray-3);
      font-size: 0.8rem;
      padding: 20px;
      border-top: 1px solid var(--gray-5);
    }

    @media (max-width: 768px) {
      /* Hero mobile compact */
      .hero-intro-wrapper { 
        border-radius: 0; 
        margin-left: -20px;
        margin-right: -20px;
        margin-bottom: 15px;
      }
      .hero { 
        padding: 20px 15px; 
        border-radius: 0;
      }
      .hero h1 { font-size: 1.5rem; margin-bottom: 12px; }
      .hero-meta { 
        font-size: 0.75rem; 
        gap: 6px;
        margin-bottom: 10px;
        flex-wrap: nowrap;
      }
      .hero-meta .updated { gap: 3px; }
      .hero-meta .check-icon { width: 14px; height: 14px; }
      .author-line { 
        font-size: 0.85rem; 
        margin-bottom: 12px;
        gap: 5px;
      }
      .author-avatar { width: 22px; height: 22px; }
      .badge-box { 
        padding: 10px 15px; 
      }
      .badge-box .title { font-size: 0.95rem; }
      .badge-box .subtitle { font-size: 0.75rem; }
      .hero-intro-wrapper .tp-star { width: 16px; height: 16px; }
      .hero-intro-wrapper .tp-star svg { width: 10px; height: 10px; }
      .hero-intro-wrapper .intro-text { padding: 15px; }
      .hero-intro-wrapper .intro-text { font-size: 0.9rem; }
      .hero-intro-wrapper .intro-text p { margin-bottom: 10px; }
      .product-card.featured { margin-top: 20px; }
    }
    @media (max-width: 600px) {
      .hero h1 { font-size: 1.3rem; }
      .hero { padding: 20px 12px; }
    }

    /* ============================================
       METHODOLOGY SECTION
    ============================================ */
    .methodology-box {
      background: var(--white);
      border-radius: 12px;
      padding: 25px 30px;
      margin-bottom: 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
      border-left: 4px solid var(--green-primary);
    }
    .methodology-title {
      font-size: 1.3rem;
      font-weight: 800;
      margin-bottom: 10px;
      color: var(--gray-1);
    }
    .methodology-intro {
      font-size: 0.95rem;
      color: var(--gray-2);
      margin-bottom: 20px;
      line-height: 1.7;
    }
    .methodology-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 15px;
    }
    @media (max-width: 600px) {
      .methodology-grid { grid-template-columns: 1fr; }
    }
    .methodology-item {
      background: var(--gray-6);
      border-radius: 8px;
      padding: 18px;
      text-align: center;
    }
    .methodology-icon {
      font-size: 1.8rem;
      margin-bottom: 8px;
    }
    .methodology-item h4 {
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--gray-1);
      margin-bottom: 6px;
    }
    .methodology-item p {
      font-size: 0.85rem;
      color: var(--gray-3);
      line-height: 1.5;
      margin-bottom: 0;
    }

    /* ============================================
       PRODUCT REVIEW TEXT (Products #2-5)
    ============================================ */
    .product-review-text {
      padding: 20px 25px;
      border-top: 1px solid var(--gray-5);
      background: var(--gray-6);
    }
    .product-review-text h4 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--gray-1);
      margin-bottom: 10px;
    }
    .product-review-text p {
      font-size: 0.9rem;
      color: var(--gray-2);
      line-height: 1.7;
      margin-bottom: 12px;
    }
    .product-review-text p:last-child {
      margin-bottom: 0;
    }

    /* ============================================
       BUYING GUIDE
    ============================================ */
    .buying-guide {
      margin-top: 30px;
      padding-top: 25px;
      border-top: 2px solid var(--gray-5);
    }
    .buying-guide h2 {
      font-size: 1.6rem;
      font-weight: 800;
      margin-bottom: 20px;
      color: var(--gray-1);
    }
    .buying-guide h3 {
      font-size: 1.2rem;
      font-weight: 700;
      margin: 22px 0 12px;
      color: var(--gray-1);
    }
    .buying-guide p {
      font-size: 0.95rem;
      color: var(--gray-2);
      line-height: 1.8;
      margin-bottom: 15px;
    }

    /* ============================================
       FAQ ACCORDION
    ============================================ */
    .faq-section {
      margin-top: 30px;
      padding-top: 25px;
      border-top: 2px solid var(--gray-5);
    }
    .faq-section h2 {
      font-size: 1.6rem;
      font-weight: 800;
      margin-bottom: 20px;
      color: var(--gray-1);
    }
    .faq-item {
      border: 1px solid var(--gray-5);
      border-radius: 8px;
      margin-bottom: 10px;
      overflow: hidden;
    }
    .faq-question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 16px 20px;
      background: var(--white);
      border: none;
      cursor: pointer;
      font-size: 1rem;
      font-weight: 600;
      color: var(--gray-1);
      text-align: left;
      font-family: 'Open Sans', sans-serif;
    }
    .faq-question:hover {
      background: var(--gray-6);
    }
    .faq-chevron {
      width: 16px;
      height: 16px;
      fill: var(--gray-3);
      transition: transform 0.3s ease;
      flex-shrink: 0;
      margin-left: 15px;
    }
    .faq-item.open .faq-chevron {
      transform: rotate(180deg);
    }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
    }
    .faq-item.open .faq-answer {
      max-height: 500px;
    }
    .faq-answer p {
      padding: 0 20px 16px;
      font-size: 0.95rem;
      color: var(--gray-2);
      line-height: 1.7;
      margin-bottom: 0;
    }

    /* ============================================
       AUTHOR BIO ENHANCEMENTS
    ============================================ */
    .author-credentials {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 12px;
    }
    .credential-badge {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      background: var(--gray-6);
      padding: 5px 12px;
      border-radius: 20px;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--gray-2);
    }
    /* .author-more-reviews removed — section no longer in template */
    @media (max-width: 600px) {
      .author-credentials {
        justify-content: center;
      }
    }

    /* LOGO IMAGE */
    .logo-img {
      width: 32px !important;
      height: 32px !important;
      max-width: 32px !important;
      display: inline-block !important;
      border-radius: 6px;
      object-fit: contain;
    }

    /* AUTHOR HERO BIO */
    .author-hero-bio {
      font-size: 0.9rem;
      color: rgba(255, 255, 255, 0.85);
      font-style: italic;
      margin-top: -10px;
      margin-bottom: 20px;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
    }

    /* PRODUCT VERDICT */
    .product-verdict {
      background: #fffbeb;
      border-left: 4px solid #f59e0b;
      padding: 12px 16px;
      margin-top: 12px;
      border-radius: 0 8px 8px 0;
      font-size: 0.95rem;
      line-height: 1.5;
    }

    /* LEGAL PAGES */
    .legal-content {
      max-width: 800px;
      margin: 30px auto;
      background: #fff;
      border-radius: 12px;
      padding: 40px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    .legal-content h1 {
      font-size: 2rem;
      font-weight: 800;
      margin-bottom: 10px;
      color: var(--gray-1);
    }
    .legal-content h2 {
      font-size: 1.4rem;
      font-weight: 700;
      margin-top: 30px;
      margin-bottom: 10px;
      color: var(--gray-1);
    }
    .legal-content h3 {
      font-size: 1.1rem;
      font-weight: 700;
      margin-top: 20px;
      margin-bottom: 8px;
    }
    .legal-content p {
      margin-bottom: 15px;
      line-height: 1.7;
      color: var(--gray-2);
    }
    .legal-content ul {
      margin: 10px 0 15px 20px;
      color: var(--gray-2);
    }
    .legal-content ul li {
      margin-bottom: 6px;
      line-height: 1.6;
    }

    /* CONTACT FORM */
    .contact-form {
      max-width: 600px;
    }
    .contact-form .form-group {
      margin-bottom: 20px;
    }
    .contact-form label {
      display: block;
      font-weight: 600;
      margin-bottom: 6px;
      color: var(--gray-1);
    }
    .contact-form input,
    .contact-form textarea {
      width: 100%;
      padding: 10px 14px;
      border: 1px solid var(--gray-5);
      border-radius: 8px;
      font-family: 'Open Sans', sans-serif;
      font-size: 0.95rem;
      transition: border-color 0.2s;
    }
    .contact-form input:focus,
    .contact-form textarea:focus {
      outline: none;
      border-color: var(--cta-primary);
      box-shadow: 0 0 0 3px rgba(57, 51, 234, 0.1);
    }

    /* HOMEPAGE */
    .homepage-hero {
      text-align: center;
      padding: 80px 30px 60px;
      background: linear-gradient(135deg, #232f3e 0%, #37475a 50%, #232f3e 100%);
      border-radius: 16px;
      color: white;
      margin-bottom: 40px;
      position: relative;
      overflow: hidden;
    }
    .homepage-hero::before {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: radial-gradient(circle at 30% 20%, rgba(0,182,122,0.12) 0%, transparent 50%),
                  radial-gradient(circle at 70% 80%, rgba(57,51,234,0.08) 0%, transparent 50%);
      pointer-events: none;
    }
    .homepage-hero h1 {
      font-size: 2.8rem;
      font-weight: 800;
      margin-bottom: 15px;
      letter-spacing: -0.5px;
      position: relative;
    }
    .hero-badge {
      display: inline-block;
      background: rgba(0,182,122,0.2);
      color: var(--green-primary);
      font-size: 0.8rem;
      font-weight: 700;
      padding: 6px 16px;
      border-radius: 20px;
      margin-bottom: 18px;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      position: relative;
    }
    .hero-subtitle {
      font-size: 1.1rem;
      opacity: 0.9;
      max-width: 620px;
      margin: 0 auto 35px;
      line-height: 1.7;
      position: relative;
    }
    .homepage-hero-sub {
      font-size: 1.15rem;
      opacity: 0.9;
      max-width: 600px;
      margin: 0 auto 35px;
      line-height: 1.6;
      position: relative;
    }
    .hero-stats,
    .homepage-hero-stats {
      display: flex;
      justify-content: center;
      gap: 40px;
      flex-wrap: wrap;
      position: relative;
    }
    .hero-stat-divider {
      width: 1px;
      height: 50px;
      background: rgba(255,255,255,0.2);
      align-self: center;
    }
    .hero-stat {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .hero-stat-number {
      font-size: 2rem;
      font-weight: 800;
      color: var(--green-primary);
      line-height: 1.2;
    }
    .hero-stat-label {
      font-size: 0.85rem;
      opacity: 0.8;
      margin-top: 4px;
    }
    @media (max-width: 600px) {
      .homepage-hero { padding: 50px 20px 40px; }
      .homepage-hero h1 { font-size: 1.8rem; }
      .homepage-hero-stats, .hero-stats { gap: 20px; }
      .hero-stat-number { font-size: 1.5rem; }
      .hero-stat-divider { display: none; }
    }

    /* HOMEPAGE SECTIONS */
    .homepage-section,
    .trust-section,
    .how-section {
      margin-bottom: 40px;
    }
    .homepage-section-title,
    .trust-section h2,
    .how-section h2 {
      font-size: 1.6rem;
      font-weight: 800;
      text-align: center;
      margin-bottom: 25px;
      color: var(--gray-1);
    }

    /* TRUST GRID */
    .trust-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 20px;
    }
    .trust-card {
      background: var(--white);
      border-radius: 12px;
      padding: 28px 22px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.06);
      text-align: center;
      border: 1px solid var(--gray-5);
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .trust-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    }
    .trust-icon {
      font-size: 2rem;
      margin-bottom: 12px;
    }
    .trust-card h3 {
      font-size: 1.05rem;
      font-weight: 700;
      margin-bottom: 8px;
      color: var(--gray-1);
    }
    .trust-card p {
      font-size: 0.88rem;
      color: var(--gray-3);
      line-height: 1.6;
    }

    /* PROCESS STEPS */
    .process-steps {
      max-width: 700px;
      margin: 0 auto;
    }
    .process-step {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 20px;
      background: var(--white);
      padding: 20px 24px;
      border-radius: 12px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.05);
      border: 1px solid var(--gray-5);
    }
    .process-number {
      width: 36px;
      height: 36px;
      min-width: 36px;
      background: var(--green-primary);
      color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 1rem;
    }
    .process-step h3,
    .process-content h3 {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 4px;
      color: var(--gray-1);
    }
    .process-step p,
    .process-content p {
      font-size: 0.88rem;
      color: var(--gray-3);
      line-height: 1.6;
      margin: 0;
    }
    .process-connector {
      width: 2px;
      height: 20px;
      background: var(--gray-5);
      margin: -10px auto;
      position: relative;
      z-index: 0;
    }
    .process-step {
      position: relative;
      z-index: 1;
    }

    /* NAV CARDS */
    .homepage-nav {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-bottom: 40px;
    }
    .nav-card {
      background: white;
      border-radius: 12px;
      padding: 28px 24px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.05);
      text-decoration: none;
      transition: transform 0.2s, box-shadow 0.2s;
      border: 1px solid var(--gray-5);
      text-align: center;
    }
    .nav-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.1);
      text-decoration: none;
      border-color: var(--green-primary);
    }
    .nav-card-icon {
      font-size: 2rem;
      margin-bottom: 10px;
    }
    .nav-card h3 {
      color: var(--gray-1);
      font-size: 1.15rem;
      margin-bottom: 8px;
    }
    .nav-card p {
      color: var(--gray-3);
      font-size: 0.88rem;
      line-height: 1.5;
    }

    /* ============================
       COMMENTS SECTION
       ============================ */
    .comments-section-wrapper {
      max-width: 100%;
      margin: 30px 0 0 0;
    }
    .comments-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 0;
      border-bottom: 2px solid #1a1a1a;
      margin-bottom: 20px;
    }
    .comments-count {
      font-size: 0.95rem;
      font-weight: 700;
      color: #1a1a1a;
    }
    .comments-sort-btn {
      font-size: 0.75rem;
      color: #666;
      background: none;
      border: 1px solid #ddd;
      border-radius: 4px;
      padding: 5px 12px;
      cursor: default;
      font-family: inherit;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .comments-sort-btn svg { width: 10px; height: 10px; }

    /* Login prompt */
    .comment-login-box {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 16px;
      background: #fafafa;
      border: 1px solid #e5e5e5;
      border-radius: 8px;
      margin-bottom: 8px;
    }
    .login-avatar-placeholder {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: linear-gradient(135deg, #ddd, #c4c4c4);
      flex-shrink: 0;
    }
    .login-input-fake {
      flex: 1;
      padding: 9px 14px;
      border: 1px solid #ddd;
      border-radius: 20px;
      color: #aaa;
      font-size: 0.82rem;
      background: #fff;
      cursor: default;
    }
    .login-link {
      font-size: 0.78rem;
      color: #4a7bbd;
      text-decoration: underline;
      text-underline-offset: 2px;
      cursor: default;
      white-space: nowrap;
      font-weight: 600;
    }

    /* Comment thread */
    .comment-thread { padding: 0; }
    .comment {
      display: flex;
      gap: 12px;
      padding: 16px 0;
      border-bottom: 1px solid #f0f0f0;
    }
    .comment:last-child { border-bottom: none; }

    /* Avatars */
    .c-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 700;
      color: #fff;
      flex-shrink: 0;
      letter-spacing: 0.5px;
    }
    .c-avatar-img {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
    }

    /* Body */
    .c-body { flex: 1; min-width: 0; }
    .c-meta {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 5px;
      flex-wrap: wrap;
    }
    .c-name { font-size: 0.82rem; font-weight: 700; color: #1a1a1a; }
    .c-badge {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      background: #2c3e50;
      color: #fff;
      font-size: 0.6rem;
      font-weight: 700;
      padding: 2px 7px;
      border-radius: 3px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .c-date { font-size: 0.72rem; color: #aaa; }
    .c-text {
      font-size: 0.85rem;
      line-height: 1.55;
      color: #333;
      margin-bottom: 8px;
      word-wrap: break-word;
    }

    /* Actions bar */
    .c-actions { display: flex; align-items: center; gap: 6px; }
    .c-vote { display: flex; align-items: center; gap: 0; border: none; background: none; padding: 0; cursor: default; }
    .c-vote-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border: none;
      background: none;
      cursor: default;
      color: #bbb;
      padding: 0;
    }
    .c-vote-btn svg { width: 14px; height: 14px; }
    .c-vote-count { font-size: 0.75rem; font-weight: 600; color: #888; min-width: 16px; text-align: center; }
    .c-reply-btn {
      font-size: 0.73rem;
      color: #999;
      cursor: default;
      border: none;
      background: none;
      font-family: inherit;
      padding: 4px 8px;
      font-weight: 600;
      margin-left: 6px;
    }
    .c-share-btn {
      font-size: 0.73rem;
      color: #999;
      cursor: default;
      border: none;
      background: none;
      font-family: inherit;
      padding: 4px 8px;
    }

    /* Nested reply */
    .c-reply-thread {
      margin-top: 14px;
      padding-left: 16px;
      border-left: 2px solid #e0e0e0;
    }
    .c-reply-thread .comment { padding: 12px 0 8px 0; border-bottom: none; }
    .c-reply-thread .c-avatar { width: 30px; height: 30px; font-size: 0.65rem; }
    .c-reply-thread .c-avatar-img { width: 30px; height: 30px; }
    .c-reply-thread .c-text { font-size: 0.82rem; }

    /* Footer / powered by */
    .comments-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 0 0;
      margin-top: 4px;
      border-top: 1px solid #eee;
    }
    .comments-footer-brand {
      font-size: 0.65rem;
      color: #bbb;
      display: flex;
      align-items: center;
      gap: 4px;
      letter-spacing: 0.3px;
    }
    .comments-footer-brand strong { color: #999; font-weight: 700; }
    .comments-footer-links { display: flex; gap: 12px; }
    .comments-footer-links span { font-size: 0.63rem; color: #ccc; cursor: default; }

    /* Comments mobile */
    @media (max-width: 900px) {
      .comments-header { padding: 12px 0; }
      .comments-count { font-size: 0.88rem; }
      .comment-login-box { padding: 12px; gap: 10px; }
      .login-avatar-placeholder { width: 32px; height: 32px; }
      .login-input-fake { padding: 8px 12px; font-size: 0.8rem; }
      .comment-login-box { position: relative; padding-right: 110px; }
      .login-link { position: absolute; right: 12px; font-size: 0.73rem; }
      .comment { gap: 10px; padding: 14px 0; }
      .c-avatar { width: 32px; height: 32px; font-size: 0.7rem; }
      .c-avatar-img { width: 32px; height: 32px; }
      .c-name { font-size: 0.8rem; }
      .c-text { font-size: 0.83rem; line-height: 1.5; }
      .c-reply-thread { padding-left: 10px; margin-left: 4px; }
      .c-reply-thread .c-avatar { width: 26px; height: 26px; font-size: 0.6rem; }
      .c-reply-thread .c-avatar-img { width: 26px; height: 26px; }
      .c-reply-thread .c-text { font-size: 0.8rem; }
      .c-vote-btn { width: 32px; height: 32px; }
      .c-reply-btn { padding: 6px 10px; }
    }
    @media (max-width: 380px) {
      .comment-login-box { padding-right: 12px; flex-wrap: wrap; }
      .login-link { position: static; width: 100%; text-align: right; margin-top: 2px; }
    }

/* ============================================
   ADDITIONS TO /shared/styles.css
   Append these rules to the END of your existing styles.css
   These replace inline SVGs with CSS-generated icons
   ============================================ */

/* ── Inline style fixes (moved from <style> in HTML) ── */
.final-cta { overflow: hidden; }
.final-cta .score-cta-zone { flex-shrink: 0; max-width: 220px; box-sizing: border-box; }
.final-cta .final-cta-content { min-width: 0; flex: 1; overflow: hidden; }
.optional-img { margin: 20px 0; }
.optional-img img { border-radius: 12px; }

/* ── Pro/Con icons via CSS (replaces inline SVGs) ──
   HTML before: <li><svg class="icon-check" ...></svg> Text</li>
   HTML after:  <li>Text</li>
   CSS adds the icon via ::before */
.pros-cons .pros ul li,
.sidebar-pros-cons .pros ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.pros-cons .pros ul li::before,
.sidebar-pros-cons .pros ul li::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5 4.5l-7 7-4-4' stroke='%2300b67a' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  flex-shrink: 0;
}
.pros-cons .cons ul li,
.sidebar-pros-cons .cons ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.pros-cons .cons ul li::before,
.sidebar-pros-cons .cons ul li::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' stroke='%23dc2626' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  flex-shrink: 0;
}
/* Sidebar uses smaller icons */
.sidebar-pros-cons .pros ul li::before,
.sidebar-pros-cons .cons ul li::before {
  width: 12px;
  height: 12px;
  min-width: 12px;
}

/* ── Action button arrow via CSS (replaces inline SVG) ──
   HTML before: <a class="action-btn">Visit site <svg class="arrow-icon" ...></a>
   HTML after:  <a class="action-btn">Visit site</a> */
.action-btn::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 2.5l5 5.5-5 5.5M13 8H2' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  flex-shrink: 0;
}

/* ── FAQ chevron via CSS (replaces inline SVG) ──
   HTML before: <button class="faq-question"><span>Q</span><svg class="faq-chevron" ...></button>
   HTML after:  <button class="faq-question"><span>Q</span></button> */
.faq-question {
  position: relative;
}
.faq-question::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23828282' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 15px;
}
.faq-item.open .faq-question::after {
  transform: rotate(180deg);
}
/* Remove old chevron rules (now handled by ::after) */
.faq-chevron { display: none; }

/* ── Hero check icon via CSS ──
   HTML before: <span class="check-icon"><svg ...></span>
   HTML after:  <span class="check-icon"></span> */
.hero-meta .check-icon svg { display: none; }
.hero-meta .check-icon::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5 2 6' stroke='white' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

/* ── Read more link star via CSS ──
   HTML before: <a class="read-more-link"><svg ...> Text</a>
   HTML after:  <a class="read-more-link">Text</a> */
.read-more-link::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0l1.8 3.6 4 .6-2.9 2.8.7 4L6 9.2 2.4 11l.7-4L.2 4.2l4-.6z' fill='%2300b67a'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  margin-right: 6px;
  flex-shrink: 0;
}

/* ── Comment vote arrows via CSS ──
   HTML before: <span class="c-vote-btn"><svg ...></span>
   HTML after:  <span class="c-vote-btn c-vote-up"></span> / <span class="c-vote-btn c-vote-down"></span> */
.c-vote-btn svg { display: none; }
.c-vote-btn::after {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-vote-up::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='currentColor'%3E%3Cpath d='M8 3l5.5 9H2.5z'/%3E%3C/svg%3E");
  opacity: 0.7;
}
.c-vote-down::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='currentColor'%3E%3Cpath d='M8 13l5.5-9H2.5z'/%3E%3C/svg%3E");
  opacity: 0.4;
}

/* ── Remove old inline SVG icon styles (now handled by CSS) ── */
/* .icon-check, .icon-x are no longer needed in HTML */

/* ===== Audio review player (-c variant) — shared across all -c LPs ===== */
.audio-review-inline {
  margin: 0;
  padding: 18px 25px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #eee;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  align-items: center;
  gap: 16px;
}
.audio-review-inline .audio-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid white;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  flex-shrink: 0;
}
.audio-review-inline .audio-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.audio-review-inline .audio-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.audio-review-inline .audio-play-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  height: 40px;
  background: #4F46E5;
  color: white;
  border: none;
  border-radius: 9px;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
  font-family: inherit;
  flex-shrink: 0;
  white-space: nowrap;
}
.audio-review-inline .audio-play-btn:hover { background: #4338CA; }
.audio-review-inline .audio-play-btn:active { transform: scale(0.99); }
.audio-review-inline .audio-icon-pause { display: none; }
.audio-review-inline.is-playing .audio-icon-play { display: none; }
.audio-review-inline.is-playing .audio-icon-pause { display: inline; }
.audio-review-inline .audio-time {
  font-size: 0.8rem;
  color: #6b7280;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  margin-left: auto;
}
.audio-review-inline .audio-progress-bar {
  width: 100%;
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.audio-review-inline .audio-progress-fill {
  height: 100%;
  background: #4F46E5;
  width: 0%;
  transition: width 0.12s linear;
}
.audio-review-inline .audio-author-name {
  font-size: 0.8rem;
  color: #6b7280;
  line-height: 1.3;
}

/* Sticky compact player */
.audio-review-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: #1a1a2e;
  color: white;
  padding: 9px 14px 12px;
  display: flex;
  align-items: center;
  gap: 11px;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}
.audio-review-sticky.is-visible {
  transform: translateY(0);
}
.audio-review-sticky .audio-sticky-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.25);
  flex-shrink: 0;
}
.audio-review-sticky .audio-sticky-play {
  background: #4F46E5;
  color: white;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1rem;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
}
.audio-review-sticky .audio-sticky-info {
  flex: 1;
  min-width: 0;
}
.audio-review-sticky .audio-sticky-info strong {
  display: block;
  font-size: 0.92rem;
  line-height: 1.2;
}
.audio-review-sticky .audio-sticky-info small {
  display: block;
  font-size: 0.74rem;
  opacity: 0.72;
  line-height: 1.3;
  margin-top: 1px;
}
.audio-review-sticky .audio-sticky-time {
  font-size: 0.75rem;
  opacity: 0.7;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}
.audio-review-sticky .audio-sticky-close {
  background: transparent;
  color: white;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  opacity: 0.65;
  padding: 0 6px;
  font-family: inherit;
  flex-shrink: 0;
}
.audio-review-sticky .audio-sticky-close:hover { opacity: 1; }
.audio-review-sticky .audio-sticky-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255,255,255,0.15);
}
.audio-review-sticky .audio-sticky-fill {
  height: 100%;
  background: #4F46E5;
  width: 0%;
  transition: width 0.12s linear;
}

@media (max-width: 768px) {
  .audio-review-inline {
    margin: 0;
    padding: 15px;
    gap: 12px;
    align-items: flex-start;
  }
  .audio-review-inline .audio-avatar { width: 40px; height: 40px; }
  .audio-review-inline .audio-main { gap: 9px; }
  .audio-review-inline .audio-top { gap: 10px; }
  .audio-review-inline .audio-play-btn { padding: 9px 14px; height: 40px; font-size: 0.85rem; flex: 1; justify-content: center; }
  .audio-review-inline .audio-author-name { font-size: 0.72rem; }
  .audio-review-inline .audio-time { font-size: 0.74rem; }
  .audio-review-sticky {
    padding: 8px 11px 11px;
    gap: 9px;
  }
  .audio-review-sticky .audio-sticky-avatar { width: 34px; height: 34px; }
  .audio-review-sticky .audio-sticky-play { width: 34px; height: 34px; }
  .audio-review-sticky .audio-sticky-info small { display: none; }
  .audio-review-sticky .audio-sticky-info strong { font-size: 0.85rem; }
}


/* ===== Template-3 "-c" layout — scopé .t3c (n'affecte AUCUNE page sans class=t3c) — 2026-06 ===== */
.t3c .pros-cons-stacked { grid-column: 2 / 4; display: flex; flex-direction: column; gap: 4px; padding: 0 4px; }
.t3c .pros-cons-stacked .pros-header { color:#16a34a; font-weight:700; margin:10px 0 6px; font-size:.95rem; letter-spacing:.5px; }
.t3c .pros-cons-stacked .cons-header { color:#dc2626; font-weight:700; margin:16px 0 6px; font-size:.95rem; letter-spacing:.5px; }
.t3c .pros-cons-stacked ul { list-style:none; padding-left:0; margin:0; }
.t3c .pros-cons-stacked li { display:flex; align-items:flex-start; gap:8px; padding:4px 0; line-height:1.45; }
.t3c .pros-cons-stacked .icon-pro { color:#16a34a; font-weight:700; flex-shrink:0; width:18px; text-align:center; }
.t3c .pros-cons-stacked .icon-con { color:#dc2626; font-weight:700; flex-shrink:0; width:18px; text-align:center; }
@media (max-width: 768px) {
  .t3c .pros-cons-stacked { grid-column: 1 / -1; }
  .t3c .product-card .product-image-score.mobile-only { order:1 !important; }
  .t3c .product-card .cta-zone-mobile-mid.mobile-only { order:2 !important; text-align:center !important; padding:0 16px 24px !important; }
  .t3c .product-card .cta-zone-mobile-mid.mobile-only .action-btn { display:inline-block !important; min-width:220px; }
  .t3c .product-card .pros-cons-wrapper.mobile-only { order:3 !important; }
  .t3c .product-card .pros-cons-stacked { order:3 !important; }
  .t3c .product-card .rating-bars { order:4 !important; }
  .t3c .product-card .product-review-text { order:5 !important; }
  .t3c .product-card .read-more-zone.mobile-only { order:6 !important; }
}
