/* Opt-in buying-page layout; shared typography and navigation stay unchanged. */
.shopping-comparison-page .article-hero { margin-bottom: .85rem; padding: clamp(18px, 2.2vw, 28px); }
.shopping-comparison-page .article-hero h1 { font-size: clamp(2rem, 3.6vw, 2.8rem); line-height: 1.08; }
.shopping-comparison-page .comparison-short-answer { display: block; margin: 0 0 1.6rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.shopping-comparison-page .comparison-short-answer .answer { max-width: 78ch; margin: 0; font-size: 1.05rem; line-height: 1.55; font-weight: 400; }
.shopping-comparison-page .shopping-shortlist { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; margin: 0 0 3rem; }
.shopping-shortlist-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem 1.5rem; flex-wrap: wrap; border-top: 2px solid var(--ink); padding-top: 1rem; }
.shopping-shortlist-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.1rem); line-height: 1.15; }
.shopping-shortlist-heading > a { min-height: 44px; display: inline-flex; align-items: center; gap: .3rem; font-size: .9rem; font-weight: 700; }
.shopping-context { margin: .3rem 0 1rem; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.shopping-comparison-page .shopping-pick-grid { gap: 1.1rem; }
.shopping-comparison-page .shopping-pick { display: grid; grid-template-columns: 1fr; grid-template-rows: 180px auto 1fr auto; grid-template-areas: 'image' 'name' 'detail' 'actions'; padding: 1rem; border-radius: 14px; overflow: visible; }
.shopping-pick .research-pick-image { grid-area: image; height: 180px; min-height: 0; border: 0; border-radius: 8px; background: #fff; margin: 0 0 .5rem; padding: 0; }
.shopping-pick .research-pick-image img { inset: 0; width: 100%; height: 100%; object-fit: contain; }
.shopping-pick .research-pick-image-link:hover { background: var(--blue-soft); }
.shopping-pick-heading { grid-area: name; padding-top: .85rem; }
.shopping-role { margin: 0 0 .4rem; color: var(--blue-dark); font-size: .82rem; font-weight: 750; line-height: 1.35; }
.shopping-pick-heading h3 { font-family: inherit; margin: 0; color: var(--ink); font-size: 1.2rem; line-height: 1.25; overflow-wrap: anywhere; min-height: 2.5em; letter-spacing: -.015em; }
.shopping-pick-detail { grid-area: detail; }
.shopping-pick-detail > p { margin: .85rem 0 0; font-size: .92rem; line-height: 1.5; }
.shopping-pick-detail .shopping-catch { color: var(--muted); padding-top: .75rem; border-top: 1px solid var(--rule); font-size: .84rem; }
.shopping-catch strong { color: var(--text); font-weight: 650; }
.shopping-pick-actions { grid-area: actions; padding-top: 1rem; }
.shopping-pick-actions .research-pick-action { display: block; }
.shopping-pick-actions .research-pick-action .button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; padding: .7rem .8rem; font-size: .92rem; }
.shopping-research-link { display: flex; justify-content: center; align-items: center; gap: .3rem; min-height: 44px; font-size: .86rem; font-weight: 650; }
.shopping-comparison-page .shopping-context-image { margin-top: 2rem; }
.shopping-context-image .article-lead-image { margin: 0; max-width: 350px; }
.shopping-context-image .article-lead-image img { width: 100%; height: auto; max-height: 240px; object-fit: contain; }
.shopping-context-image > p { color: var(--muted); font-size: .8rem; line-height: 1.5; margin-top: .4rem; }
.shopping-comparison-page :is(.shopping-pick, .article-body h2) { scroll-margin-top: 115px; }
.shopping-comparison-page :is(a,summary,input):focus-visible { outline: 3px solid var(--blue-dark); outline-offset: 3px; }
.shopping-comparison-page .research-pick-image-link:focus-visible { outline-offset: -3px; }
@media (min-width: 721px) and (max-width: 1000px) {
 .shopping-comparison-page .shopping-pick { padding: .85rem; grid-template-rows: 150px auto 1fr auto; }
 .shopping-pick .research-pick-image { height: 150px; }
 .shopping-pick-heading h3 { min-height: 3.75em; font-size: 1.05rem; }
}
@media (max-width: 720px) {
 .shopping-comparison-page .shopping-pick-grid { grid-template-columns: 1fr; gap: 1rem; }
 .shopping-comparison-page .shopping-pick { grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto auto auto; grid-template-areas: 'image name' 'detail detail' 'actions actions'; gap: 0 .8rem; padding: 1rem; }
 .shopping-comparison-page .shopping-pick .research-pick-image { width: 112px; height: 140px; min-height: 0; margin: 0; border: 0; }
 .shopping-pick-heading { padding-top: .25rem; align-self: center; }
 .shopping-pick-heading h3 { min-height: 0; font-size: 1.1rem; }
 .shopping-pick-detail > p { font-size: .96rem; }
 .shopping-pick-detail .shopping-catch { font-size: .87rem; }
 .shopping-pick-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0 .85rem; }
 .shopping-pick-actions .research-pick-action { flex: 1 1 170px; }
 .shopping-research-link { flex: 1 1 85px; }
 .shopping-comparison-page .shopping-context-image { max-width: 350px; }
}
@media (prefers-reduced-motion: reduce) { .shopping-comparison-page * { transition: none !important; scroll-behavior: auto !important; } }

.shopping-article .mobile-socials { flex-wrap: wrap; }
.shopping-article .mobile-menu-panel { width: min(420px, calc(100vw - 32px)); padding: 16px; }
