*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #1a1a1a; background: #fff; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
.page-container { max-width: 720px; margin: 0 auto; padding: 1.5rem 1rem; }
@media (min-width: 768px) { .page-container { padding: 2rem 1.5rem; } }
h1 { font-size: 1.75rem; font-weight: 700; line-height: 1.3; margin-bottom: 1rem; }
h2 { font-size: 1.375rem; font-weight: 600; line-height: 1.35; margin-bottom: 0.75rem; }
h3 { font-size: 1.125rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.5rem; }
p { margin-bottom: 1rem; }
ul, ol { margin-bottom: 1rem; padding-left: 1.5rem; }
blockquote { border-left: 3px solid #d1d5db; padding-left: 1rem; margin-bottom: 1rem; color: #4b5563; }
table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
th, td { padding: 0.5rem; border: 1px solid #e5e7eb; text-align: left; }
th { background: #f9fafb; font-weight: 600; }
hr { border: none; border-top: 1px solid #e5e7eb; margin: 1.5rem 0; }
@media (max-width: 480px) { .page-container { padding: 1rem 0.75rem; } h1 { font-size: 1.5rem; } }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* === Comparison V1 === */
/* Verbatim CSS lifted from reference mockup (comparison-v1-mockup.html).
   All rules scoped under .tpl-comparison_v1 to avoid leaking to other templates.
   Unicode artefacts replaced: â€" → —, \201C → ", \201D → "
*/

.tpl-comparison_v1 {
  --green: #00B67A;
  --green-dark: #009463;
  --navy: #232f3e;
  --heading: #222;
  --body: #4b4b4b;
  --light: #828282;
  --border: #e0e0e0;
  --bg: #f5f5f5;
  --white: #fff;
  --red: #cc0c0c;
  --link: #0769ed;
  --shadow: 0 2px 20px rgba(0,0,0,0.07);
  --gold: #f5a623;
}

.tpl-comparison_v1 * { margin:0; padding:0; box-sizing:border-box; }
.tpl-comparison_v1 { background:var(--bg); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color:var(--body); line-height:1.75; -webkit-font-smoothing:antialiased; }
.tpl-comparison_v1 .container { max-width:1000px; margin:0 auto; padding:0 20px; }

/* ===== HEADER ===== */
.tpl-comparison_v1 .header { background:var(--white); padding:14px 0; border-bottom:1px solid #eee; }
.tpl-comparison_v1 .header .container { display:flex; align-items:center; }
.tpl-comparison_v1 .logo-mark { display:flex; align-items:center; gap:8px; text-decoration:none; }
.tpl-comparison_v1 .logo-icon { width:32px; height:32px; background:var(--green-dark); border-radius:6px; display:flex; align-items:center; justify-content:center; }
.tpl-comparison_v1 .logo-icon svg { width:18px; height:18px; fill:#fff; }
/* Caps the rendered size — never stretches a smaller logo upward.
   Logos can be any natural size; we only enforce an upper bound. */
.tpl-comparison_v1 .logo-img { max-height:40px; width:auto; height:auto; display:block; }
.tpl-comparison_v1 .logo-img.logo-img-sm { max-height:24px; }
.tpl-comparison_v1 .logo-text { font-weight:700; font-size:17px; color:var(--heading); }
.tpl-comparison_v1 .logo-text span { color:var(--green-dark); }

/* ===== HERO ===== */
.tpl-comparison_v1 .hero { padding:24px 0; }
.tpl-comparison_v1 .hero-box {
  border-radius:12px; overflow:hidden; position:relative;
  min-height:380px; display:flex; align-items:center; justify-content:center;
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.tpl-comparison_v1 .hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.65) 100%);
}
.tpl-comparison_v1 .hero-content { position:relative; z-index:1; text-align:center; padding:48px 32px; max-width:700px; }
.tpl-comparison_v1 .hero-content h1 { font-size:38px; font-weight:700; color:#fff; line-height:1.25; margin-bottom:20px; letter-spacing:-0.5px; }
.tpl-comparison_v1 .hero-meta { font-size:14px; color:rgba(255,255,255,0.7); margin-bottom:6px; }
.tpl-comparison_v1 .hero-meta a { color:rgba(255,255,255,0.7); text-decoration:underline; }
.tpl-comparison_v1 .hero-author { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:rgba(255,255,255,0.85); margin-bottom:20px; }
.tpl-comparison_v1 .hero-author .av { width:28px; height:28px; border-radius:50%; background:#555; border:2px solid rgba(255,255,255,0.3); }
.tpl-comparison_v1 .approved-box {
  display:inline-block; border:1px solid rgba(255,255,255,0.35); border-radius:8px;
  padding:14px 24px; text-align:center; backdrop-filter:blur(4px); background:rgba(255,255,255,0.08);
}
.tpl-comparison_v1 .approved-box .title { font-size:16px; font-weight:700; color:#fff; }
.tpl-comparison_v1 .approved-box .sub { font-size:13px; color:rgba(255,255,255,0.7); margin-top:2px; }
.tpl-comparison_v1 .gold-stars { display:flex; gap:3px; justify-content:center; margin-top:6px; }
.tpl-comparison_v1 .gold-stars svg { width:20px; height:20px; fill:var(--gold); }

/* ===== INTRO ===== */
.tpl-comparison_v1 .intro {
  background:var(--white); border:1px solid var(--border); border-radius:12px;
  box-shadow:var(--shadow); padding:28px 32px; margin-bottom:24px;
  font-size:17px; color:var(--body); line-height:1.85;
}
.tpl-comparison_v1 .intro p { margin-bottom:16px; }
.tpl-comparison_v1 .intro p:last-child { margin-bottom:0; }
.tpl-comparison_v1 .intro a { color:var(--link); font-weight:700; text-decoration:underline; }

/* ===== TP STARS ===== */
.tpl-comparison_v1 .tp-stars { display:inline-flex; gap:2px; }
.tpl-comparison_v1 .tp-star { width:24px; height:24px; background:var(--green); border-radius:2px; display:inline-flex; align-items:center; justify-content:center; }
.tpl-comparison_v1 .tp-star svg { width:14px; height:14px; fill:#fff; }
.tpl-comparison_v1 .tp-star.half { background:linear-gradient(90deg,var(--green) 50%,#dcdce6 50%); }
.tpl-comparison_v1 .tp-star.empty { background:#dcdce6; }
.tpl-comparison_v1 .tp-stars.lg .tp-star { width:28px; height:28px; }
.tpl-comparison_v1 .tp-stars.lg .tp-star svg { width:16px; height:16px; }

/* ===== CARD ===== */
.tpl-comparison_v1 .card { background:var(--white); border-radius:12px; box-shadow:var(--shadow); margin-bottom:20px; position:relative; overflow:visible; }
.tpl-comparison_v1 .card.winner { border:3px solid var(--navy); }

/* Pennant */
.tpl-comparison_v1 .pennant {
  position:absolute; z-index:10; top:-8px; left:18px;
  width:56px; background:var(--green-dark); text-align:center;
  padding:12px 0 20px; color:#fff; font-weight:800; font-size:26px; border-radius:2px 2px 0 0;
}
.tpl-comparison_v1 .pennant::after {
  content:""; position:absolute; bottom:-14px; left:0; width:0; height:0;
  border-left:28px solid var(--green-dark); border-right:28px solid var(--green-dark);
  border-bottom:14px solid transparent;
}

.tpl-comparison_v1 .card-head {
  background:var(--navy); padding:16px 24px 16px 90px;
  border-radius:9px 9px 0 0; display:flex; align-items:center; justify-content:space-between;
  font-size:20px; font-weight:700; color:#fff; letter-spacing:-0.2px;
}
.tpl-comparison_v1 .card-head .badge { font-size:12px; background:rgba(255,255,255,0.15); padding:5px 14px; border-radius:4px; letter-spacing:0.3px; font-weight:600; }

.tpl-comparison_v1 .comp-head {
  background:var(--navy); padding:10px 20px;
  border-radius:9px 9px 0 0; font-size:14px; font-weight:600; color:rgba(255,255,255,0.85);
}

.tpl-comparison_v1 .card-body { padding:24px; }

/* Winner card: 4-col layout (image | pros | cons | score+CTA) */
.tpl-comparison_v1 .w-grid { display:flex; gap:20px; }
.tpl-comparison_v1 .w-col-img { flex-shrink:0; width:210px; display:flex; flex-direction:column; align-items:center; }
.tpl-comparison_v1 .w-col-img .card-img { width:210px; height:200px; margin-bottom:12px; }
.tpl-comparison_v1 .card-img {
  background:#f0f0f0; border-radius:8px;
  display:flex; align-items:center; justify-content:center; font-size:11px; color:#bbb;
}
.tpl-comparison_v1 .w-col-pros { flex:1; min-width:0; }
.tpl-comparison_v1 .w-col-cons { width:220px; flex-shrink:0; }
.tpl-comparison_v1 .w-col-score { width:220px; flex-shrink:0; text-align:center; border-left:1px solid #eee; padding-left:20px; }

/* Compact score column for competitors */
.tpl-comparison_v1 .w-col-score.compact { width:180px; padding-left:16px; }
.tpl-comparison_v1 .w-col-score.compact .label { font-size:11px; }
.tpl-comparison_v1 .w-col-score.compact .num { font-size:30px !important; }
.tpl-comparison_v1 .w-col-score.compact .word { font-size:12px; }
.tpl-comparison_v1 .w-col-score.compact .reviews { font-size:11px; }
.tpl-comparison_v1 .w-col-score.compact .tp-star { width:18px; height:18px; }
.tpl-comparison_v1 .w-col-score.compact .tp-star svg { width:11px; height:11px; }
.tpl-comparison_v1 .w-col-score.compact .cta { font-size:13px; padding:9px 14px; background:#6b7280; box-shadow:0 2px 0 #4b5563; }
.tpl-comparison_v1 .w-col-score.compact .cta:hover { background:#555d69; }

.tpl-comparison_v1 .w-col-score .label { font-size:14px; font-weight:700; color:var(--heading); font-style:italic; }
.tpl-comparison_v1 .w-col-score .num { font-size:48px; font-weight:700; color:var(--heading); line-height:1; margin-top:2px; }
.tpl-comparison_v1 .w-col-score .word { font-size:14px; font-weight:600; color:var(--heading); margin-top:4px; }
.tpl-comparison_v1 .w-col-score .reviews { font-size:13px; color:var(--light); margin-top:2px; }

.tpl-comparison_v1 .w-bought {
  display:inline-flex; align-items:center; gap:4px;
  background:var(--white); box-shadow:0 1px 8px rgba(0,0,0,0.1);
  border-radius:16px; padding:5px 10px; margin-top:8px; font-size:11px; color:var(--body); font-weight:500; white-space:nowrap;
}
.tpl-comparison_v1 .w-bought svg { flex-shrink:0; }

/* Pros/Cons cols */
.tpl-comparison_v1 .pc { display:flex; gap:28px; margin-top:18px; padding-top:18px; border-top:1px solid #f0f0f0; }
.tpl-comparison_v1 .pc-col { flex:1; }
.tpl-comparison_v1 .pc-col.narrow { flex:0 0 auto; min-width:220px; }
.tpl-comparison_v1 .pc-h { font-size:14px; font-weight:700; margin-bottom:6px; text-transform:uppercase; letter-spacing:0.5px; }
.tpl-comparison_v1 .pc-h.pro { color:var(--green-dark); }
.tpl-comparison_v1 .pc-h.con { color:var(--red); }
.tpl-comparison_v1 .pc-list { list-style:none; }
.tpl-comparison_v1 .pc-list li { font-size:15px; color:#333; line-height:1.85; padding-left:22px; position:relative; }
.tpl-comparison_v1 .pc-list li svg { position:absolute; left:0; top:5px; width:14px; height:14px; }

.tpl-comparison_v1 .review-link {
  display:inline-flex; align-items:center; gap:4px; margin-top:16px;
  font-size:15px; color:var(--link);
  text-decoration:underline; font-weight:700;
}

/* Limited time — inline red pill */
.tpl-comparison_v1 .ltd { margin-top:10px; font-size:13px; font-weight:700; }
.tpl-comparison_v1 .ltd-label { color:var(--red); }
.tpl-comparison_v1 .ltd-pill { background:var(--red); color:#fff; padding:2px 7px; border-radius:4px; font-size:13px; }

/* CTA */
.tpl-comparison_v1 .cta {
  display:block; background:var(--green); color:#fff; text-align:center;
  padding:14px 20px; border-radius:10px; font-weight:700; font-size:16px; text-decoration:none; cursor:pointer;
  box-shadow:0 2px 0 var(--green-dark); transition:background 0.15s; margin-top:12px;
}
.tpl-comparison_v1 .cta:hover { background:var(--green-dark); }

/* ===== DIVIDER ===== */
.tpl-comparison_v1 .divider { padding:20px 0; text-align:center; }
.tpl-comparison_v1 .div-line { display:flex; align-items:center; margin-bottom:12px; }
.tpl-comparison_v1 .div-line::before,.tpl-comparison_v1 .div-line::after { content:""; flex:1; height:1px; background:#d4d4d4; }
.tpl-comparison_v1 .div-circle {
  width:44px; height:44px; border-radius:50%; background:#fafafa; border:1px solid #d4d4d4;
  display:flex; align-items:center; justify-content:center; margin:0 14px; cursor:pointer;
}
.tpl-comparison_v1 .div-text { font-size:16px; color:#777; }

/* Expand toggle chevron states */
.tpl-comparison_v1 .chevron-up { display:none; }
.tpl-comparison_v1 #cmp-toggle-divider.is-expanded .chevron-down { display:none; }
.tpl-comparison_v1 #cmp-toggle-divider.is-expanded .chevron-up { display:block; }

/* ===== WINNER REPEAT — 3-col grid ===== */
.tpl-comparison_v1 .wr-grid { display:flex; gap:24px; }
.tpl-comparison_v1 .wr-col-img { width:220px; flex-shrink:0; display:flex; flex-direction:column; align-items:center; }
.tpl-comparison_v1 .wr-col-text { flex:1; min-width:0; }
.tpl-comparison_v1 .wr-col-score { width:220px; flex-shrink:0; border-left:1px solid #eee; padding-left:20px; }

/* ===== ADVERTORIAL — 2-col with sidebar ===== */
.tpl-comparison_v1 .adv { background:var(--white); border-radius:12px; box-shadow:var(--shadow); margin-bottom:20px; overflow:visible; }
.tpl-comparison_v1 .adv-layout { display:flex; gap:0; align-items:flex-start; }
.tpl-comparison_v1 .adv-main { flex:1; min-width:0; padding:11px; }
.tpl-comparison_v1 .adv-sidebar { width:280px; flex-shrink:0; padding:24px 20px; border-left:1px solid #eee; position:sticky; top:20px; align-self:flex-start; }
.tpl-comparison_v1 .adv-main h2 { font-size:34px; font-weight:700; color:var(--heading); line-height:1.25; }
.tpl-comparison_v1 .adv-offer { display:block; margin-top:8px; font-size:16px; color:var(--link); text-decoration:underline; font-weight:600; }
.tpl-comparison_v1 .adv-author { display:flex; align-items:center; gap:8px; margin-top:14px; font-size:14px; color:var(--light); }
.tpl-comparison_v1 .adv-author .mini-av { width:28px; height:28px; border-radius:50%; background:#e0e0e0; flex-shrink:0; }
.tpl-comparison_v1 .adv-main p { font-size:17px; color:var(--body); line-height:1.85; margin-top:16px; }
.tpl-comparison_v1 .adv-main h3 { font-size:24px; font-weight:700; color:var(--heading); margin:32px 0 12px; }

/* ===== ADVERTORIAL BODY — semantic rich-text styling ===== */
/* The advertorialBody is one big rich-text field. These rules style standard
   HTML elements (ol, blockquote) to match the reference mockup's visual
   treatment — no custom class names needed in the editor. */

/* Ordered lists → green-bordered result cards */
.tpl-comparison_v1 .adv-body ol {
  list-style: none;
  padding: 0;
  margin: 12px 0;
  counter-reset: result-counter;
}
.tpl-comparison_v1 .adv-body ol li {
  display: flex;
  gap: 14px;
  padding: 14px 16px;
  background: #f9faf9;
  border-left: 3px solid var(--green);
  border-radius: 0 8px 8px 0;
  margin-bottom: 10px;
  font-size: 16px;
  color: var(--body);
  line-height: 1.7;
  counter-increment: result-counter;
}
.tpl-comparison_v1 .adv-body ol li::before {
  content: counter(result-counter) ".";
  font-size: 20px;
  font-weight: 800;
  color: var(--green-dark);
  min-width: 28px;
  flex-shrink: 0;
}
.tpl-comparison_v1 .adv-body ol li strong { color: var(--heading); }

/* Blockquotes → testimonial cards */
.tpl-comparison_v1 .adv-body blockquote {
  padding: 20px 24px;
  background: #fafafa;
  border-radius: 10px;
  margin: 0 0 10px 0;
  border: 1px solid #f0f0f0;
  position: relative;
}
.tpl-comparison_v1 .adv-body blockquote::before {
  content: "\201C";
  position: absolute;
  top: 8px;
  left: 12px;
  font-size: 48px;
  color: #e0e0e0;
  line-height: 1;
  font-family: Georgia, serif;
}
.tpl-comparison_v1 .adv-body blockquote p {
  font-size: 17px;
  color: #333;
  font-style: italic;
  line-height: 1.7;
  padding-left: 28px;
  margin-top: 0;
}
.tpl-comparison_v1 .adv-body blockquote p:last-child {
  font-size: 14px;
  color: var(--light);
  font-weight: 600;
  font-style: normal;
  margin-top: 8px;
}

/* Links in the body */
.tpl-comparison_v1 .adv-body a {
  color: var(--link);
  font-weight: 600;
  text-decoration: underline;
}

/* Heading + paragraph rhythm inside the rich-text body.
   The `.tpl-comparison_v1 *` reset above zeroes browser-default margins, and
   the `.adv-main` defaults (h2: 0, h3: 12px bottom, p: 16px top) leave only
   ~16px between a heading and the paragraph beneath it — visually cramped
   under 34px h2 / 24px h3. Re-establish a typographic rhythm here.

   Operators sometimes try to add blank lines in the editor, but Tiptap
   normalizes whitespace/empty paragraphs, so the spacing has to live in CSS. */
.tpl-comparison_v1 .adv-body h2,
.tpl-comparison_v1 .adv-body h3,
.tpl-comparison_v1 .adv-body h4 {
  margin-top: 32px;
  margin-bottom: 18px;
}
.tpl-comparison_v1 .adv-body > h2:first-child,
.tpl-comparison_v1 .adv-body > h3:first-child,
.tpl-comparison_v1 .adv-body > h4:first-child {
  margin-top: 0;
}
.tpl-comparison_v1 .adv-body p {
  margin-top: 0;
  margin-bottom: 16px;
}
.tpl-comparison_v1 .adv-body > p:last-child {
  margin-bottom: 0;
}

.tpl-comparison_v1 .adv-hero-img {
  width:100%; height:340px;
  border-radius:8px; margin:20px 0; cursor:pointer;
  background-size:cover; background-position:center; background-repeat:no-repeat;
}

/* Results cards */
.tpl-comparison_v1 .result-item {
  display:flex; gap:14px; padding:14px 16px; background:#f9faf9; border-left:3px solid var(--green);
  border-radius:0 8px 8px 0; margin-bottom:10px;
}
.tpl-comparison_v1 .result-num { font-size:20px; font-weight:800; color:var(--green-dark); min-width:28px; }
.tpl-comparison_v1 .result-body { font-size:16px; color:var(--body); line-height:1.7; }
.tpl-comparison_v1 .result-body strong { color:var(--heading); }

/* Testimonials */
.tpl-comparison_v1 .testi {
  padding:20px 24px; background:#fafafa; border-radius:10px; margin-bottom:10px;
  border:1px solid #f0f0f0; position:relative;
}
.tpl-comparison_v1 .testi::before {
  content:"\201C"; position:absolute; top:8px; left:12px;
  font-size:48px; color:#e0e0e0; line-height:1; font-family:Georgia,serif;
}
.tpl-comparison_v1 .testi .quote { font-size:17px; color:#333; font-style:italic; line-height:1.7; padding-left:28px; }
.tpl-comparison_v1 .testi .attr { font-size:14px; color:var(--light); margin-top:8px; font-weight:600; padding-left:28px; }

/* Buy steps */
.tpl-comparison_v1 .buy-steps { font-size:17px; color:var(--body); line-height:2.2; margin-top:10px; }
.tpl-comparison_v1 .buy-steps strong { color:var(--heading); }

/* ===== SCORECARD ===== */
.tpl-comparison_v1 .bars { margin-top:16px; }
.tpl-comparison_v1 .bar-row { margin-bottom:10px; }
.tpl-comparison_v1 .bar-labels { display:flex; justify-content:space-between; font-size:15px; color:var(--heading); margin-bottom:3px; }
.tpl-comparison_v1 .bar-labels .v { font-weight:700; }
.tpl-comparison_v1 .bar-track { background:#e5e7eb; height:9px; border-radius:5px; }
.tpl-comparison_v1 .bar-fill { background:var(--green); height:9px; border-radius:5px; }

/* ===== AUTHOR BIO ===== */
.tpl-comparison_v1 .bio { background:var(--white); border-radius:12px; box-shadow:var(--shadow); padding:24px; margin-bottom:20px; display:flex; gap:14px; }
.tpl-comparison_v1 .bio-av { width:56px; height:56px; border-radius:50%; background:#e0e0e0; flex-shrink:0; }
.tpl-comparison_v1 .bio-name { font-size:17px; font-weight:700; color:var(--heading); }
.tpl-comparison_v1 .bio-text { font-size:15px; color:var(--body); line-height:1.6; margin-top:4px; }

/* ===== STICKY MOBILE FOOTER ===== */
.tpl-comparison_v1 .mobile-sticky {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:100;
  background:var(--navy); padding:10px 16px; box-shadow:0 -2px 12px rgba(0,0,0,0.2);
}
.tpl-comparison_v1 .mobile-sticky-inner { display:flex; align-items:center; gap:10px; max-width:1000px; margin:0 auto; }
.tpl-comparison_v1 .ms-img { width:36px; height:36px; background:#444; border-radius:4px; flex-shrink:0; }
.tpl-comparison_v1 .ms-info { flex:1; min-width:0; }
.tpl-comparison_v1 .ms-name { font-size:13px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tpl-comparison_v1 .ms-score { display:flex; align-items:center; gap:4px; font-size:12px; color:#fff; }
.tpl-comparison_v1 .ms-score .tp-star { width:14px; height:14px; }
.tpl-comparison_v1 .ms-score .tp-star svg { width:9px; height:9px; }
.tpl-comparison_v1 .ms-cta { background:var(--green); color:#fff; padding:10px 18px; border-radius:8px; font-weight:700; font-size:13px; white-space:nowrap; text-decoration:none; flex-shrink:0; }

/* Final CTA box */
.tpl-comparison_v1 .final-cta-box { margin-top:28px;padding:28px;background:var(--white);border:3px solid var(--navy);border-radius:12px;box-shadow:var(--shadow);position:relative;overflow:visible; }
.tpl-comparison_v1 .mobile-cta-block { display:none; }
.tpl-comparison_v1 .final-cta-row2 { display:flex;gap:24px;align-items:flex-start;margin-top:24px;padding-top:20px;border-top:1px solid #eee; }
.tpl-comparison_v1 .final-cta-subtitle { font-size:15px;color:var(--light);margin:0 0 16px; }
.tpl-comparison_v1 .final-cta-subtitle p { margin:0 0 12px; }
.tpl-comparison_v1 .final-cta-subtitle p:last-child { margin-bottom:0; }
.tpl-comparison_v1 .final-cta-subtitle a { color:var(--link);font-weight:600;text-decoration:underline; }
.tpl-comparison_v1 .final-cta-subtitle strong { color:var(--heading); }

@media (max-width:768px) {
  .tpl-comparison_v1 .adv-sidebar { display:none; }
  .tpl-comparison_v1 .mobile-sticky { display:block; }
  .tpl-comparison_v1 .adv-layout { flex-direction:column; }
  .tpl-comparison_v1 { padding-bottom:70px; }
  .tpl-comparison_v1 .w-grid { flex-wrap:wrap;gap:0; }
  .tpl-comparison_v1 .w-col-img { width:auto;flex-shrink:0;order:1;border-right:1px solid #eee;padding-right:16px;margin-right:16px; }
  .tpl-comparison_v1 .w-col-img .card-img { width:130px;height:130px; }
  .tpl-comparison_v1 .w-col-img .review-link { display:none; }
  .tpl-comparison_v1 .w-col-score { flex:1;border-left:none;padding-left:0;text-align:center;order:2;width:auto; }
  .tpl-comparison_v1 .w-col-score.compact { width:auto; }
  .tpl-comparison_v1 .w-cta-group { display:none; }
  .tpl-comparison_v1 .mobile-cta-block { display:block;margin-top:16px;padding-top:16px;border-top:1px solid #eee;text-align:center; }
  .tpl-comparison_v1 .w-col-pros { width:100%;order:4;flex-basis:100%;margin-top:12px; }
  .tpl-comparison_v1 .w-col-cons { width:100%;order:5;flex-basis:100%; }
  .tpl-comparison_v1 .pc { flex-direction:column;gap:12px; }
  .tpl-comparison_v1 .pc-col.narrow { min-width:0; }
  .tpl-comparison_v1 .wr-grid { flex-direction:column; }
  .tpl-comparison_v1 .wr-col-img { width:100%; }
  .tpl-comparison_v1 .wr-col-img .card-img { width:100%;height:200px; }
  .tpl-comparison_v1 .wr-col-score { width:100%;border-left:none;padding-left:0; }
  .tpl-comparison_v1 .final-cta-row2 { flex-wrap:wrap;gap:16px;justify-content:center; }
  .tpl-comparison_v1 .final-cta-bars { display:none; }
  .tpl-comparison_v1 .card-head { padding-left:70px;font-size:15px; }
  .tpl-comparison_v1 .pennant { width:44px;font-size:20px;padding:8px 0 14px; }
  .tpl-comparison_v1 .pennant::after { border-left-width:22px;border-right-width:22px;border-bottom-width:12px;bottom:-12px; }
  .tpl-comparison_v1 .hero-content h1 { font-size:26px; }
  .tpl-comparison_v1 .footer { flex-direction:column;gap:10px;text-align:center; }
  .tpl-comparison_v1 .footer .logo-mark { justify-content:center; }
  .tpl-comparison_v1 .footer .copy { text-align:center; }
}

.tpl-comparison_v1 .disclaimer { padding:16px 0; font-size:12px; color:#aaa; line-height:1.6; }

/* Footer — white card so logos with white backgrounds blend cleanly */
.tpl-comparison_v1 .footer {
  background:var(--white); border-radius:12px; box-shadow:var(--shadow);
  padding:24px 28px; margin-bottom:40px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.tpl-comparison_v1 .footer-links { font-size:13px; color:var(--light); text-align:center; }
.tpl-comparison_v1 .footer-links a { color:var(--body); text-decoration:none; }
.tpl-comparison_v1 .footer-links a:hover { text-decoration:underline; }
.tpl-comparison_v1 .footer .copy { font-size:12px; color:#aaa; text-align:right; white-space:nowrap; }

/* Scroll to top — mobile only */
.tpl-comparison_v1 .scroll-top-btn {
  display:none; position:fixed; right:16px; bottom:20px; z-index:998;
  width:40px; height:40px; border-radius:50%; border:none;
  background:rgba(0,0,0,.6); color:#fff; font-size:16px;
  align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.25); backdrop-filter:blur(4px);
}
@media(min-width:769px) {
  .tpl-comparison_v1 .scroll-top-btn { display:none!important; }
}
