/* Scoped Canadian review modules within OH Newspaper's existing design. */
.jr-review { --jr-orange:#d5490d; --jr-navy:#12344d; --jr-yellow:#fff4c4; }
.jr-review *, .jr-review *::before, .jr-review *::after { box-sizing:border-box; }
.jr-review .article-head { max-width:1020px; }
.jr-review .article-head h1 { font-size:clamp(36px,4.5vw,54px); line-height:1.07; }
.jr-review .disclosure a { text-decoration:underline; }
.jr-byline { display:flex; flex-wrap:wrap; gap:7px 18px; line-height:1.6; }
.jr-cover { max-width:1080px; margin:12px auto 24px; }
.jr-cover-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid #d9dde1; background:#fff; }
.jr-product-image { display:flex; justify-content:center; align-items:center; min-width:0; background:#fff; }
.jr-product-image img { display:block; width:100%; height:auto; object-fit:contain; margin:0 auto; }
.jr-cover .jr-product-image img { aspect-ratio:1; }
.jr-cover-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:36px; background:#fff6d4; }
.jr-cover-copy h2 { font:700 clamp(27px,3vw,38px)/1.12 var(--serif); margin:14px 0; }
.jr-cover-price { font:700 38px/1.2 var(--serif); color:var(--jr-navy); margin:0 0 12px; }
.jr-cover-price del { font:400 20px var(--sans); color:#697077; margin-left:6px; }
.jr-save { display:inline-block; padding:7px 12px; background:#c13e0a; color:#fff; font:800 13px/1.25 var(--sans); }
.jr-cover-copy > p:not([class]) { font:17px/1.6 var(--serif); margin:17px 0; }
.jr-cover small, .jr-model-summary small { display:block; margin-top:12px; color:#5d6267; font:11px/1.5 var(--sans); }
.jr-cover figcaption, .jr-campaign figcaption, .jr-lifestyle figcaption { padding-top:9px; color:#666f76; font:11px/1.5 var(--sans); }
.jr-layout { grid-template-columns:190px minmax(0,760px); gap:42px; }
.jr-layout > *, .jr-cover-grid > *, .jr-model-top > *, .jr-verdict-grid > *, .jr-pro-con > * { min-width:0; }
.jr-review .jr-toc { display:block; }
.jr-toc strong { display:block; padding:12px 0 3px; text-transform:uppercase; font:800 11px var(--sans); color:var(--jr-navy); }
.jr-body { overflow-wrap:break-word; }
.jr-body > section { margin-bottom:40px; scroll-margin-top:25px; }
.jr-body h2 { line-height:1.15; }
.jr-body > section:first-child h2 { margin-top:12px; }
.jr-body h3 { line-height:1.2; }
.jr-review .button { max-width:100%; white-space:normal; text-align:center; line-height:1.5; padding:13px 16px; }
.jr-shop { background:var(--jr-navy); }
.jr-shop:hover { background:#087ca1; }
.jr-review a:focus-visible, .jr-review summary:focus-visible { outline:3px solid #d35b1d; outline-offset:4px; }
.jr-text-link { display:inline-block; color:#b93a08; font:800 16px/1.5 var(--sans); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:2px; }
.jr-text-link:hover { color:#8c2c06; }
.jr-verdict-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:25px 0; }
.jr-verdict-grid > div { padding:17px; border-top:3px solid var(--jr-orange); background:#f3f5f6; }
.jr-verdict-grid strong { color:var(--jr-navy); font:800 13px/1.4 var(--sans); }
.jr-verdict-grid p { margin:9px 0 0; font-size:15px; line-height:1.6; }
.jr-offer-panel { padding:28px; background:#fff7da; border:1px solid #e2d59d; }
.jr-body .jr-offer-panel h2 { margin-top:12px; }
.jr-offer-panel ul { padding-left:22px; }
.jr-offer-panel li { margin:10px 0; }
.jr-dated-offer { border-left:3px solid var(--jr-orange); padding:17px 20px; margin:20px 0; background:#fff; }
.jr-dated-offer strong { font:800 13px var(--sans); }
.jr-dated-offer p { margin-bottom:0; }
.jr-fine-print { border-top:1px solid #d9cba0; padding-top:15px; font-size:14px; }
.jr-campaign { margin:0 0 40px; }
.jr-campaign .jr-product-image img { aspect-ratio:1600 / 667; }
.jr-table-hint { color:#667078; font:12px/1.5 var(--sans); }
.jr-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid #d8dde1; margin:18px 0 24px; }
.jr-table-scroll:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.jr-table { width:100%; min-width:650px; border-collapse:collapse; font:14px/1.5 var(--sans); }
.jr-table caption { text-align:left; padding:13px 15px; background:#f1f4f6; font-size:12px; }
.jr-table th, .jr-table td { padding:14px; text-align:left; vertical-align:top; border-bottom:1px solid #d9dfe3; }
.jr-table thead { background:var(--jr-navy); color:#fff; }
.jr-table tbody tr:nth-child(even) { background:#f4f7f8; }
.jr-table th[scope=row] { width:23%; }
.jr-table a { text-decoration:underline; }
.jr-table del { color:#717b82; }
.jr-note { padding:20px 22px; border-left:4px solid var(--blue); background:#eff7fa; }
.jr-note strong, .jr-tradeoff strong { font:800 12px var(--sans); text-transform:uppercase; letter-spacing:.04em; }
.jr-note p, .jr-tradeoff p { margin:9px 0 0; }
.jr-model { margin:30px 0; border:1px solid #d8dde1; background:#fff; scroll-margin-top:25px; }
.jr-model-top { display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); align-items:center; background:#f3f5f6; }
.jr-model-media { display:flex; flex-direction:column; align-items:center; padding:18px; background:#fff; }
.jr-model-media .jr-product-image img { aspect-ratio:1; }
.jr-model-media .jr-save { margin-top:12px; }
.jr-model-summary { padding:24px; }
.jr-model-summary h3 { margin-top:10px; }
.jr-model-price { margin:10px 0; }
.jr-model-price strong { color:var(--jr-navy); font:700 30px/1.3 var(--serif); }
.jr-model-price del { margin-left:6px; color:#6a737a; font:15px var(--sans); }
.jr-model-summary ul { padding-left:18px; font:14px/1.6 var(--sans); }
.jr-model-summary li { margin-bottom:7px; }
.jr-model-analysis { padding:3px 26px 22px; }
.jr-tradeoff { padding:18px 20px; border-left:3px solid var(--jr-orange); background:#fff3eb; }
.jr-lifestyle { margin:26px 0; }
.jr-lifestyle .jr-product-image { max-width:560px; margin:0 auto; }
.jr-lifestyle .jr-product-image img { aspect-ratio:1; }
.jr-pro-con { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.jr-pro-con > div { padding:22px; background:#f3f5f6; border-top:3px solid var(--jr-navy); }
.jr-pro-con h3 { margin-top:0; }
.jr-pro-con ul { padding-left:19px; font-size:16px; }
.jr-pro-con li { margin-bottom:10px; }
.jr-final { padding:30px; background:var(--jr-navy); color:#fff; margin-top:28px; }
.jr-final .eyebrow { color:#ffe16c; }
.jr-body .jr-final h2 { margin-top:12px; }
.jr-final .button { background:var(--yellow); color:#1d252c; }
.jr-final .button:hover { background:#fff; }
.jr-faq details { border-top:1px solid #cfd7dc; padding:17px 0; }
.jr-faq details:last-child { border-bottom:1px solid #cfd7dc; }
.jr-faq summary { cursor:pointer; font-weight:700; }
.jr-faq details p { margin-bottom:0; }
.jr-method { padding-top:6px; border-top:1px solid #d8dde1; }
.jr-method p, .jr-method li { font-size:15px; }
.jr-sources { padding-left:20px; }
.jr-sources li { margin-bottom:7px; }
.jr-body a:not(.button):not(.jr-product-image):not(.jr-text-link) { color:#17627f; text-decoration:underline; }
@media(max-width:980px) {
  .jr-layout { grid-template-columns:minmax(0,1fr); max-width:800px; gap:25px; }
  .jr-review .jr-toc { position:static; display:flex; flex-wrap:wrap; gap:8px 16px; }
  .jr-toc strong { width:100%; }
  .jr-toc a { padding:7px 0; }
  .jr-cover-copy { padding:25px; }
  .jr-cover-copy h2 { font-size:30px; }
}
@media(max-width:720px) {
  .jr-cover-grid, .jr-verdict-grid, .jr-model-top, .jr-pro-con { grid-template-columns:minmax(0,1fr); }
  .jr-cover-grid > .jr-product-image { padding:14px; }
  .jr-cover-grid > .jr-product-image img { max-width:390px; }
  .jr-cover-copy { padding:25px; }
  .jr-model-media .jr-product-image { max-width:330px; width:100%; }
  .jr-model-summary { padding:24px; }
  .jr-model-analysis { padding:3px 22px 20px; }
  .jr-offer-panel, .jr-final { padding:22px; }
}
@media(max-width:380px) {
  .jr-review .article-head h1 { font-size:34px; }
  .jr-cover-copy, .jr-model-summary { padding:20px; }
  .jr-cover-price { font-size:34px; }
  .jr-offer-panel, .jr-final, .jr-pro-con > div { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .jr-review * { scroll-behavior:auto; transition:none; } }
