﻿    :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;
      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); }
    .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-body {
        display: flex;
        flex-direction: column;
        padding: 0;
      }
      .product-image-score { order: 1; }
      .cta-zone-mobile { order: 2; }
      .pros-cons-wrapper { order: 3; }
      .read-more-zone { order: 4; }
      /* 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;
      background: var(--header-bg);
      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: var(--gray-6);
      border-bottom: 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; }
    .dead-btn {
      background: var(--cta-primary);
      box-shadow: 0 3px 0 var(--cta-dark);
      cursor: default;
      pointer-events: none;
    }
    .dead-btn:hover { background: var(--cta-primary); transform: none; }

    /* SOCIAL PROOF TOOLTIP */
    .tooltip-box {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 12px;
      padding: 10px 16px;
      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.3;
      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 .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 .score-cta-zone {
        grid-row: 3 / 4;
        grid-column: 1 / 3;
        text-align: center;
      }
      .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; }
    .rating-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 6px;
      font-size: 0.8rem;
    }
    .rating-bar .label { width: 75px; color: var(--gray-3); text-align: left; }
    .rating-bar .bar {
      flex: 1;
      height: 6px;
      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 { width: 25px; text-align: right; font-weight: 600; color: var(--gray-2); }

    /* 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;
      }
    }

    /* ============================================
       AUTHOR INTRO CARD (top of page)
    ============================================ */
    .author-intro-card {
      background: var(--white);
      border-radius: 12px;
      padding: 30px 25px;
      margin-bottom: 20px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
      text-align: center;
    }
    .author-intro-avatar {
      width: 80px;
      height: 80px;
      margin: 0 auto 15px;
    }
    .author-intro-avatar img {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--green-primary);
    }
    .author-intro-name {
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--gray-1);
      margin-bottom: 2px;
    }
    .author-intro-title {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--green-primary);
      margin-bottom: 12px;
    }
    .author-intro-bio {
      font-size: 0.9rem;
      color: var(--gray-2);
      line-height: 1.7;
      max-width: 600px;
      margin: 0 auto;
    }
