/* AffiReview Engine (ARE) */
.are-wrap{font-size:16px;line-height:1.65}
.are-wrap h1,.are-wrap h2,.are-wrap h3{line-height:1.25;margin:1.2em 0 .6em}
.are-wrap h1{font-size:28px}

.are-disclosure{font-size:14px;color:#555;margin:.6em 0 1.2em}

.are-cta{border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 8px 18px rgba(0,0,0,.06);margin:18px 0;background:#fff}
.are-cta-in{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.are-cta-media{flex:0 0 auto}
.are-cta-img{display:block;max-height:260px;height:auto;min-width:180px;max-width:240px;width:240px;object-fit:contain;border-radius:10px;background:#f7f7f7}
.are-cta-body{flex:1 1 320px}
.are-cta-title{margin:0 0 8px;font-size:18px}

.are-bullets{margin:8px 0 18px}
.are-bullets li{margin:4px 0}

.are-btn{display:inline-block;margin-top:10px;padding:10px 14px;border-radius:10px;background:#ff9900;color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.are-btn:hover{filter:brightness(.95)}

.are-note{font-size:13px;color:#555;margin-top:8px}
.are-hr{border:0;border-top:1px solid #eee;margin:18px 0}

.are-quick{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fbfbfb}
.are-quick ul{margin:8px 0 0 18px}

.are-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 8px 18px rgba(0,0,0,.05);margin:14px 0;background:#fff}
.are-card-in{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.are-card-img{max-height:240px;height:auto;min-width:180px;max-width:240px;width:240px;object-fit:contain;border-radius:10px;background:#f7f7f7}
.are-mini{font-size:14px;color:#555;margin-top:6px}

.are-table{width:100%;border-collapse:collapse;margin:12px 0}
.are-table th,.are-table td{border:1px solid #e5e7eb;padding:10px;vertical-align:top}
.are-table th{background:#f9fafb;text-align:left}

/* =========================================================
 * Quick Picks (cards) — single source (fixed image heights)
 * ======================================================= */
.are-quick-picks-note{margin:0 0 14px}

.are-quick-picks{
	display:grid;
	gap:22px;
	grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
	margin:16px 0 28px;
}

.are-qp-card{
	border:1px solid #e5e7eb;
	border-radius:18px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.are-qp-media{
	position:relative;
	background:#fafafa;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:18px;
	height:210px;              /* ✅ fixed image box height */
}

.are-qp-media-link{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
}

.are-qp-img{
	width:100%;
	height:100%;               /* ✅ forces equal visual height */
	object-fit:contain;         /* ✅ no cropping */
	display:block;
	border-radius:14px;
}

.are-qp-badge{
	position:absolute;
	top:14px;
	left:14px;
	font-size:12px;
	font-weight:700;
	line-height:1;
	padding:7px 12px;
	border-radius:999px;
	color:#fff;
}

.are-qp-badge--editors{background:#2563eb} /* blue */
.are-qp-badge--runner{background:#059669}  /* green */
.are-qp-badge--upgrade{background:#7c3aed} /* purple */
.are-qp-badge--solid{background:#64748b}   /* slate */
.are-qp-badge--custom{background:#0f172a}  /* dark slate */

.are-qp-content{padding:18px 18px 20px}

.are-qp-title{
	margin:0 0 12px;
	font-size:26px;
	line-height:1.2;
}
.are-qp-title a{text-decoration:none}

.are-qp-bullets{margin:0 0 16px;padding-left:18px}

.are-qp-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:center;
}

.are-qp-btn{white-space:nowrap}
.are-qp-jump{font-weight:600;text-decoration:none}

/* =========================================================
 * Comparison — table header images same height (single source)
 * ======================================================= */
.are-compare-table thead th{vertical-align:top}

.are-compare-head{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	text-align:center;
}

.are-compare-name{
	font-weight:800;
	line-height:1.25;
}

.are-compare-img{
	width:180px;               /* ✅ consistent box */
	height:180px;              /* ✅ same height always */
	object-fit:contain;
	background:#f7f7f7;
	border-radius:12px;
	padding:10px;
	display:block;
}

.are-compare-btn{margin-top:2px}

/* =========================================================
 * Mini review spacing (below each product block)
 * ======================================================= */
.are-mini-review{margin:10px 0 22px}
.are-mini-review ul{margin:10px 0 0 18px}

/* =========================================================
 * Small screens tuning
 * ======================================================= */
@media (max-width:480px){
	.are-qp-media{height:180px}
	.are-qp-title{font-size:22px}
	.are-compare-img{width:140px;height:140px}
}


/* FORCE comparison header images same height (override theme rules) */
.are-wrap .are-compare-table .are-compare-img{
  width: 240px !important;
  height: 240px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

/* =========================================================
 * ARE spacing + CRO (folded in from the former inline block so all CTA
 * styling is file-based and survives in uploads/ahb/are-cro.css)
 * ======================================================= */
.are-wrap .are-cta{max-width:780px;margin:54px auto !important;}
.are-wrap .are-cta + .are-cta{margin-top:64px !important;}
.are-wrap .are-cta + h2{margin-top:48px !important;}
.are-wrap h2{margin-top:56px;}
.are-wrap p{margin-bottom:16px;}

.are-wrap .are-cta-in{gap:18px;align-items:flex-start;}
.are-wrap .are-cta-media{flex:0 0 190px;display:flex;flex-direction:column;gap:10px;}
.are-wrap .are-cta-img{display:block;border-radius:12px;}
.are-wrap .are-cta-eyebrow{font-size:13px;font-weight:800;line-height:1.2;margin-top:2px;}
.are-wrap .are-cta-eyebrow a{color:inherit;text-decoration:none !important;}

.are-wrap .are-cta-body{min-width:240px;}

.are-wrap .are-cta-kicker{opacity:.92;margin-bottom:6px;}
.are-wrap .are-cta-hook{font-weight:800;font-size:20px;line-height:1.15;margin:2px 0 10px;}
.are-wrap .are-cta-title{margin:0 0 8px;font-size:18px;line-height:1.25;}
.are-wrap .are-cta-title a{color:inherit;text-decoration:none !important;}
.are-wrap .are-cta-rsp{margin:6px 0;font-size:13px;line-height:1.35;color:#333;}
.are-wrap .are-cta-why{margin-top:6px;}
.are-wrap .are-cta-speed{margin-top:4px;opacity:.95;}

.are-wrap .are-cta-actions{margin-top:10px;}

.are-wrap .are-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  font-size:15px;
  line-height:1.05;
  text-decoration:none !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  min-height:44px;
  max-width:100%;
  white-space:normal;
  text-indent:0 !important;
  overflow:visible !important;
}
.are-wrap .are-btn-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.are-wrap .are-btn-title{font-weight:900;font-size:15px;line-height:1.05;}
.are-wrap .are-btn-sub{font-weight:600;font-size:12px;line-height:1.1;opacity:.92;}
.are-wrap .are-btn-icon{flex:0 0 auto;font-size:18px;line-height:1;}

/* =========================================================
 * Support-post CRO: semantic callouts, "Related reading" link card, closing band.
 * Shipped WITH the engine (served via uploads/ahb/are-cro.css) so the support layout
 * is styled even if the AHB palette file (frontend-overrides.css) isn't current.
 * Palette tokens with literal fallbacks; scoped under .are-wrap to beat theme defaults.
 * ======================================================= */
.are-wrap .ahb-cro-callout{border:1px solid var(--ahb-border,#e5e7eb);border-left-width:4px;background:var(--ahb-card-bg,#fff);color:var(--ahb-text,#1f2937);border-radius:12px;padding:14px 18px;margin:1.6em 0}
.are-wrap .ahb-cro-callout :is(h2,h3){margin:.1em 0 .4em;font-size:1.15rem}
.are-wrap .ahb-cro-callout > strong:first-child{display:block;margin-bottom:.4em}
.are-wrap .ahb-cro-callout--tip{border-left-color:var(--ahb-accent,#ff9900);background:var(--ahb-accent-soft,#fff7ed)}
.are-wrap .ahb-cro-callout--highlight{border-left-color:var(--ahb-accent,#ff9900);background:var(--ahb-accent-soft,#fff7ed);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.are-wrap .ahb-cro-callout--info{border-left-color:#3b82f6;background:rgba(59,130,246,.08)}
.are-wrap .ahb-cro-callout--info > strong:first-child,.are-wrap .ahb-cro-callout--info :is(h2,h3){color:#2563eb}
.are-wrap .ahb-cro-callout--caution{border-left-color:#f59e0b;background:rgba(245,158,11,.10)}
.are-wrap .ahb-cro-callout--caution > strong:first-child,.are-wrap .ahb-cro-callout--caution :is(h2,h3){color:#b45309}

.are-wrap .ahb-cro-linkcard{background:var(--ahb-card-bg,#fff);border:1px solid var(--ahb-border,#e5e7eb);border-radius:12px;padding:14px 18px;margin:1.6em 0;box-shadow:0 6px 16px rgba(0,0,0,.05)}
.are-wrap .ahb-cro-linkcard__title{font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;opacity:.7;margin:0 0 .55em}
.are-wrap .ahb-cro-linkcard__list{list-style:none;margin:0;padding:0;display:grid;gap:.5em}
.are-wrap .ahb-cro-linkcard__list li{margin:0;padding-left:1.3em;position:relative}
.are-wrap .ahb-cro-linkcard__list li::before{content:"\2192";position:absolute;left:0;color:var(--ahb-accent,#ff9900);font-weight:800}
.are-wrap .ahb-cro-linkcard__list a{color:var(--ahb-accent,#ff9900);text-decoration:none;font-weight:600}
.are-wrap .ahb-cro-linkcard__list a:hover{text-decoration:underline}

.are-wrap .are-closing-band{background:var(--ahb-accent,#ff9900);color:var(--ahb-accent-contrast,#fff);border-radius:16px;padding:clamp(22px,3.5vw,40px) 22px;margin:1.8em 0 0}
.are-wrap .are-closing-band .ahb-cro-band__in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;max-width:1080px;margin:0 auto}
.are-wrap .are-closing-band .ahb-cro-band__title{color:var(--ahb-accent-contrast,#fff);font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:800}
.are-wrap .are-closing-band .ahb-cro-band__sub{color:var(--ahb-accent-contrast,#fff);opacity:.92;margin-top:.25em;max-width:60ch}
.are-wrap .are-closing-band .are-btn{flex:0 0 auto;margin-top:0}
@media (max-width:640px){.are-wrap .are-closing-band .ahb-cro-band__in{justify-content:center;text-align:center}}

/* Affiliate disclosure micro-line (every offer card + the closing band) */
.are-wrap .are-cta-disc{margin-top:8px;font-size:12px;opacity:.7}
.are-wrap .are-closing-band .ahb-cro-band__disc{margin-top:10px;font-size:12px;opacity:.85;text-align:center;color:var(--ahb-accent-contrast,#fff)}
.are-wrap .are-cta-in--noimg .are-cta-body{min-width:0}

/* Comparison head-to-head table — the comparison centerpiece (palette-tokened) */
.are-wrap .are-compare-table{width:100%;border-collapse:separate;border-spacing:0;margin:1.6em 0;border:1px solid var(--ahb-border,#e5e7eb);border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.are-wrap .are-compare-table th,.are-wrap .are-compare-table td{border-bottom:1px solid var(--ahb-border,#e5e7eb);border-right:1px solid var(--ahb-border,#e5e7eb);padding:12px 14px;vertical-align:top;text-align:left}
.are-wrap .are-compare-table tr > :last-child{border-right:0}
.are-wrap .are-compare-table tbody tr:last-child > *{border-bottom:0}
.are-wrap .are-compare-table thead th{background:var(--ahb-accent-soft,#fff7ed);color:var(--ahb-text,#1f2937);text-align:center;border-bottom:2px solid var(--ahb-accent,#ff9900)}
.are-wrap .are-compare-table tbody th{background:var(--ahb-accent-soft,#fff7ed);font-weight:700;color:var(--ahb-text,#1f2937);width:30%}
.are-wrap .are-compare-table tbody tr:nth-child(even) td{background:rgba(0,0,0,.025)}
.are-wrap .are-compare-name{font-weight:800;color:var(--ahb-text,#1f2937);margin-bottom:8px}
.are-wrap .are-compare-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}

.are-wrap .are-btn:hover{filter:brightness(.97);}
.are-wrap .are-btn:focus{outline:2px solid rgba(0,0,0,.15);outline-offset:2px;}
@media (max-width:420px){
  .are-wrap .are-btn{width:100% !important;}
}

.are-wrap .are-proof{margin-top:12px;}
.are-wrap .are-inline-text-cta{max-width:780px;margin:18px auto 30px;}
.are-wrap .are-inline-text-cta a{text-decoration:none !important;}
.are-wrap .are-inline-text-cta strong{background:rgba(255,153,0,.14);padding:3px 8px;border-radius:8px;}

@media (max-width:640px){
  .are-wrap .are-cta{margin:40px auto !important;}
  .are-wrap h2{margin-top:46px;}
  .are-wrap .are-cta-media{flex:0 0 auto;width:100%;}
}
