/* Let grid and flex children shrink to the available screen width. */
main, main > section, .article-body, .intro-layout > *, .quick-choices > *,
.product-grid > *, .guide > *, .method > *, .method-columns > *,
.reading-grid > *, .journal-layout > *, .review-heading > *,
.filters > *, .offer-row > *, .spec-grid > * { min-width: 0; }
.intro-layout, .quick-choices, .product-grid, .reading-grid,
.journal-layout, .guide, .method, .method-columns { min-width: 0; }
h1, h2, h3, .breadcrumb, .sources, .fine, .score-context,
.offer-row, .spec-grid dd, .dialog-disclaimer { overflow-wrap: anywhere; }
header nav { flex-wrap: wrap; }
.page-nav { width: 100%; max-width: 100%; overscroll-behavior-x: contain; }
.page-nav > * { flex-shrink: 0; }
.filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.filters label { display: flex; flex-direction: column; gap: 5px; }
.filters select { min-width: 0; max-width: 100%; width: 100%; margin-left: 0; }
.filters #count { margin-left: 0; }
.quick-choice strong { overflow-wrap: anywhere; }
input[type=checkbox] { flex-shrink: 0; }

/* Wide data stays inside an accessible, independently scrolling region. */
.table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow: auto;
  overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.table-wrap:focus-visible { outline: 2px solid #315d83; outline-offset: 3px; }
.table-scroll-hint { display: flex; align-items: center; gap: 8px;
  margin: 0 0 10px; color: #49657b; font-size: 12px; line-height: 1.5; }
.table-scroll-hint span { font-size: 20px; line-height: 1; }
.spec-overview table { min-width: 1120px; table-layout: fixed; }
.spec-overview th, .spec-overview td, .comparison-table th, .comparison-table td {
  overflow-wrap: anywhere; }
.spec-overview th:first-child { width: 140px; }
.spec-overview tr > :first-child, .comparison-table tr > :first-child {
  position: sticky; left: 0; z-index: 1; background: #fff;
  box-shadow: 1px 0 0 #d3dce6; }
.spec-overview tbody tr:nth-child(even) > :first-child { background: #f8fafc; }
.spec-overview thead tr > :first-child,
.comparison-table thead tr > :first-child { background: #eef3f8; z-index: 2; }
.comparison-table { table-layout: fixed; background: #fff;
  min-width: calc(120px + var(--comparison-columns, 2) * 160px); }
.comparison-table th:first-child { width: 120px; }
.comparison-table thead th { background: #eef3f8; }
.comparison-table th:not(:first-child), .comparison-table td { width: 160px; }
dialog { max-width: calc(100% - 24px); overflow-x: hidden; }
#modal-content { min-width: 0; }
.score-sources .table-scroll-hint { font-size: 12px; }

@media (max-width: 1000px) {
  .filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filters label { display: flex; flex-direction: column; gap: 5px; }
  .filters select { width: 100%; margin-left: 0; }
  .filters #count { margin-left: 0; }
}

@media (max-width: 650px) {
  header { padding: 18px 6%; gap: 16px; }
  header nav { justify-content: flex-start; gap: 8px 20px; }
  header nav a { display: inline-flex; align-items: center; min-height: 36px; }
  .brand { font-size: clamp(21px, 6.25vw, 25px); }
  .quick-start h1 { font-size: clamp(26px, 8vw, 32px); }
  .quick-choice { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .quick-choice strong { font-size: clamp(21px, 5.7vw, 25px); }
  .quick-choice .tier-price { font-size: 16px !important; }
  .quick-choice .choice-action { overflow-wrap: anywhere; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 13px; }
  .filters label { min-width: 0; }
  .filters label:has(#sort) { grid-column: 1 / -1; }
  .filters select { font-size: 16px; min-height: 44px; padding: 8px 4px; }
  .filters .reset { min-height: 44px; text-align: left; padding: 0; }
  .filters #count { justify-self: end; }
  .product-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .product-visual { height: 220px; padding: 40px 20px 16px; }
  .product-visual .tag { max-width: calc(100% - 24px); left: 12px;
    font-size: 10px; white-space: normal; }
  .product-info { padding: 18px 18px 0; }
  .product-info h3 { font-size: 24px; }
  .product-info .rating.score-summary { padding: 12px; gap: 13px; min-height: 0; }
  .product-info .score-tile { width: 64px; height: 70px; flex-basis: 64px; }
  .product-info .score-tile strong { font-size: 32px; }
  .product-info .score-title { font-size: 12px; }
  .product-info .score-count { font-size: 11px; }
  .product-info .score-provenance, .product-info .score-status { font-size: 10px; }
  .product-info .tradeoffs { min-height: 0; }
  .product-info .tradeoffs p { font-size: 12px; }
  .bake-chips { flex-wrap: wrap; }
  .bake-chips span { font-size: 10px; }
  .shop-link, .product-info .analysis-link { font-size: 13px; min-height: 44px; }
  .product-card .select-product { font-size: 12px; min-height: 48px; padding: 13px 18px; }
  .rating-guide p { min-width: 0; flex-basis: calc(100% - 45px); font-size: 12px; }
  .rating-guide > a { font-size: 11px; }
  .spec-overview table { min-width: 1080px; font-size: 12px; }
  .spec-overview th:first-child { width: 120px; min-width: 120px; }
  .spec-overview th, .spec-overview td { padding: 12px; }
  .table-scroll-hint { font-size: 12px; }
  .method-columns { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .comparebar { flex-wrap: wrap; bottom: 8px; padding: 12px; gap: 8px 12px; }
  #compare-count { flex: 1 1 100%; font-size: 12px; }
  .comparebar .button { margin-left: 0; min-height: 44px; font-size: 12px; }
  .comparebar .clear { min-height: 44px; font-size: 12px; }
  .review-heading > div { flex-basis: 100%; min-width: 0; }
  .review-heading .score-summary { max-width: 100%; }
  .article-cta .button { max-width: 100%; white-space: normal; gap: 12px; }
  .guide-page h1, dialog h2 { overflow-wrap: anywhere; }
  .size-highlight strong { font-size: 19px; }
  .offer-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .offer-row > span:last-child { justify-self: end; }
  .score-sources table { min-width: 410px; }
  dialog { width: calc(100% - 24px); padding: 16px; max-height: 90vh; max-height: 90dvh; }
  .dialog-header { gap: 12px; margin-bottom: 18px; }
  .dialog-header button { flex-shrink: 0; width: 44px; height: 44px; }
}

@media (max-width: 380px) {
  .quick-choice { grid-template-columns: minmax(0, 1fr); }
  .quick-choice > .choice-label, .quick-choice > strong,
  .quick-choice > .tier-price, .quick-choice > span:not(.choice-label):not(.choice-action):not(.tier-price),
  .quick-choice > .choice-action { grid-column: 1; grid-row: auto; }
  .visual-caption { flex-wrap: wrap; }
}

/* Expanded research, preserving narrow-screen containment. */
.recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.recommendation{min-width:0;border:1px solid #d9dedc;border-top:5px solid #c27a34;background:#fff;padding:24px;border-radius:10px}.recommendation.medium{border-top-color:#486477}.recommendation.premium{border-top-color:#283749}.recommendation h3{font-size:23px;line-height:1.25;margin:12px 0}.recommend-price{font-size:24px;color:#243748}.recommendation p{line-height:1.6;font-size:15px}.recommendation a{font-weight:700;color:#203b50}.tier-shortcuts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.tier-shortcuts button{padding:12px 16px;background:#fff;border:1px solid #bbc5cb;border-radius:7px;color:#203b50;cursor:pointer;font:inherit}.external-reviews{margin:34px 0}.external-review{padding:20px;border:1px solid #d5dce1;border-left:4px solid #344e65;border-radius:8px;margin:14px 0;background:#f6f8fa;overflow-wrap:anywhere}.external-review>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.external-grade{padding:4px 8px;background:#253b50;color:white;border-radius:4px;font-weight:700}.external-review small{display:block;margin-top:10px}.external-review p{line-height:1.6}.test-context{padding:20px;background:#fff5e7;border-left:4px solid #c27a34}.evidence-link{display:block;font-size:13px;margin:10px 0 18px;color:#344e65}.score-status{font-weight:600}.machine-lineup{grid-template-columns:repeat(3,minmax(0,1fr))}.score-sources table{min-width:640px}.recommendations *{overflow-wrap:anywhere}@media(max-width:700px){.recommendations{grid-template-columns:1fr}.recommendation{padding:20px}.recommendation h3{font-size:23px}.tier-shortcuts>span{width:100%}.tier-shortcuts button{flex:1 1 140px}.external-review{padding:16px}.machine-lineup{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Quieter browsing cards: brand, model, score, buying trade-offs. */
.eyebrow,.choice-label,.preview,.method-label,.reading-grid>a>span,.video-kicker{letter-spacing:normal;text-transform:none}.choice-label{font-size:14px;font-weight:600}.preview{font-size:11px;letter-spacing:0}.score-help{margin:0 0 18px;text-align:right;font-size:13px;color:#526678}.score-help a{text-decoration:underline;text-underline-offset:3px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 18px;min-width:0}.product-info .card-heading h3{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;margin:0;line-height:1.2}.product-info .card-heading .card-brand{display:block;font-size:24px;font-weight:750;letter-spacing:-.4px;color:#213d53;text-transform:none}.product-info .card-heading .card-model{display:block;font-size:17px;font-weight:500;letter-spacing:0;color:#526576}.product-info .card-rating.score-summary{display:block;flex:0 0 54px;min-height:0;padding:0;margin:0;background:none;border:0;border-radius:6px}.product-info .card-rating .score-tile{width:54px;height:54px;flex-basis:54px;border-radius:6px}.product-info .card-rating .score-tile strong{font-size:28px;letter-spacing:-.8px}.card-rating:hover .score-tile{outline:2px solid #25445a;outline-offset:3px}.product-info .tradeoffs{min-height:0;margin-bottom:18px}.product-info .tradeoffs p{font-size:14px;line-height:1.5}.product-card .tag{font-size:12px;letter-spacing:0;text-transform:none}.product-info .price-label{font-size:12px}.product-info .card-actions{margin-top:14px}.product-info .analysis-link{font-size:13px}.product-card .select-product{font-size:12px}.reading-grid>a>span{font-size:12px}.method-label{font-size:13px}.recommendation .choice-label{font-size:14px}
@media(max-width:650px){.product-info .card-heading .card-brand{font-size:25px}.product-info .card-heading .card-model{font-size:18px}.product-info .card-rating.score-summary{min-height:0;padding:0}.product-info .tradeoffs p{font-size:14px}.score-help{text-align:left}.product-info .price{margin-top:12px}}

.sort-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.sort-bar>span{font-size:14px;margin-right:6px;color:#526576}.sort-bar button{border:1px solid #bdc9d1;border-radius:7px;background:#fff;color:#243f54;padding:11px 15px;line-height:1.4;font-size:14px;min-height:44px}.sort-bar button[aria-pressed="true"]{background:#243f54;border-color:#243f54;color:#fff;font-weight:600}.sort-bar button:hover{border-color:#243f54}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.product-card .tag{max-width:calc(100% - 24px);white-space:normal;line-height:1.35}.recommendation .choice-label{display:block;line-height:1.45;color:#344f63}@media(max-width:650px){.sort-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sort-bar>span{grid-column:1/-1}.sort-bar button{padding:11px 8px;font-size:13px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.term-help{display:inline;border:0;border-bottom:1px dotted currentColor;background:none;color:inherit;font:inherit;line-height:inherit;padding:2px 0;cursor:help;text-align:inherit;text-decoration:none}.term-help:hover{color:#9b5b25;border-bottom-style:solid}.term-help:focus-visible{outline:2px solid #b8793d;outline-offset:3px}.term-hint{font-size:12px;color:#627384;margin:0 0 8px}.term-dialog{width:480px;max-width:calc(100% - 28px);padding:26px;border:1px solid #c5d0d6;border-radius:12px;background:#fffdf8;color:#243f54;max-height:85dvh;overflow:auto}.term-dialog::backdrop{background:rgba(24,42,55,.55)}.term-dialog form{display:flex;justify-content:flex-end;margin-bottom:14px}.term-close{border:1px solid #b9c8d1;border-radius:6px;padding:9px 14px;background:white;color:#243f54;min-height:44px}.term-dialog h2{font-size:25px;line-height:1.25;margin:0 0 16px}.term-dialog h3{font-size:17px;margin:22px 0 8px}.term-dialog p{font-size:15px;line-height:1.65}.term-note{border-left:3px solid #c78c43;padding-left:14px;color:#526576}.bread-options{list-style:none!important;padding:0!important;margin:10px 0;display:flex;flex-wrap:wrap;gap:8px 14px}.bread-options li{display:flex;gap:7px;align-items:center;font-size:14px;color:#344e65;margin:0!important}.bread-options img{width:28px;height:28px;flex:0 0 28px}.spec-overview .bread-options{display:grid;gap:8px}.spec-overview .bread-options li{font-size:12px}.spec-evidence{margin:16px 0}.spec-evidence summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600}.spec-evidence p{font-size:13px}.spec-evidence a{text-decoration:underline}.comparison-table .bread-options{display:grid}.comparison-table .bread-options li{font-size:12px}@media(max-width:650px){.term-dialog{padding:20px}.bread-options li{font-size:14px}}

/* Editorial routes stay readable at narrow widths. */
.intent-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.intent-links a{background:#eef2f5;color:#243f54;padding:12px 16px;border-radius:7px;font-size:14px;font-weight:650;text-decoration:none}.intent-links a:hover,.guide-choices a:hover{background:#e1e9ef}.guide-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.guide-choices a{display:block;min-width:0;padding:20px;border:1px solid #d4dde4;border-radius:8px;color:#243f54;text-decoration:none;background:#f5f7f9}.guide-choices h3{font-size:19px;line-height:1.3;margin:0 0 10px}.guide-choices p{font-size:14px;line-height:1.6;margin:0}.editorial-table-wrap{max-width:100%;overflow-x:auto;margin:24px 0;overscroll-behavior-x:contain}.editorial-table{width:100%;min-width:580px;border-collapse:collapse;font-size:15px;text-align:left}.editorial-table th,.editorial-table td{padding:14px;border-bottom:1px solid #d7e0e6;vertical-align:top}.editorial-table thead th{background:#243f54;color:#fff}.editorial-table tbody th{font-weight:600;background:#f2f5f7}.editorial-table-wrap:focus-visible{outline:3px solid #486477;outline-offset:3px}.alternative-list{padding-left:20px}.alternative-list li{margin:18px 0}.alternative-list p{margin:5px 0}.practical-addition{border-top:1px solid #d5dee4;margin-top:30px;padding-top:14px}.article-body,.guide-page{min-width:0}.article-body a,.breadcrumb{overflow-wrap:anywhere}.answer-label,.expert-kicker,.reading-aside>span{letter-spacing:normal!important;text-transform:none!important}footer nav{display:flex;flex-wrap:wrap;gap:12px 20px;max-width:100%}footer nav a{font-size:13px;color:#243f54}footer{flex-wrap:wrap;gap:20px}.guide-page .article-body>h2{scroll-margin-top:20px}@media(max-width:700px){.guide-choices{grid-template-columns:1fr}.intent-links{display:grid;grid-template-columns:1fr}.intent-links a{padding:14px}.editorial-table th,.editorial-table td{padding:12px;font-size:14px}.guide-page .breadcrumb{font-size:12px}.guide-page h1{overflow-wrap:break-word}footer nav{width:100%}}

/* Discovery and conversion */
.decision-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:20px 0 30px}.decision-actions a:not(.button){color:#243f54;text-decoration:underline}.reading-nav{margin:20px 0;max-width:850px;border-top:1px solid #d6dfe5;border-bottom:1px solid #d6dfe5;padding:14px 0}.reading-nav summary{cursor:pointer;font-weight:600;color:#243f54}.reading-nav ul{padding-left:22px}.reading-nav li{margin:8px 0}.reading-nav a{text-decoration:underline;text-underline-offset:3px}.buying-questions{max-width:1280px;margin:0 auto;padding:35px 5.5%;color:#243f54}.buying-questions>div{padding:20px 0;border-bottom:1px solid #d6dfe5;max-width:850px}.buying-questions h3{font-size:21px;line-height:1.4;margin:0 0 10px}.buying-questions p{line-height:1.75;margin:0 0 12px}.buying-questions a{font-weight:600;text-decoration:underline}#winkelprijzen,#alternatieven{scroll-margin-top:24px}@media(max-width:650px){.decision-actions{align-items:stretch;flex-direction:column}.decision-actions .button{text-align:center}.reading-nav{font-size:14px}.buying-questions{padding:24px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.bread-size-help{margin:18px 0;padding:14px 18px;border:1px solid #d4dde4;border-radius:8px;background:#f1f5f7;color:#243f54;max-width:850px}.bread-size-help summary{cursor:pointer;font-weight:600}.bread-size-help p,.bread-size-help li{font-size:14px;line-height:1.7}.bread-size-help a{text-decoration:underline}

/* Explicit link colors prevent navigation styles from dimming the price CTA. */
.decision-actions a.button,.decision-actions a.button:visited{background:#243f54;border-color:#243f54;color:#fff;font-weight:600}
.decision-actions a.button:hover{background:#355a74;border-color:#355a74;color:#fff}
.decision-actions a.button:focus-visible{background:#243f54;color:#fff;outline:3px solid #5e8ca8;outline-offset:3px}

/* Footer action: accessible without JavaScript, clear of the floating choice helper. */
footer .back-to-top-row{flex-basis:100%;width:100%;padding-top:16px;padding-bottom:72px;border-top:1px solid #d4dde4}
footer a.back-to-top,footer a.back-to-top:visited{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #aabcc9;border-radius:7px;background:#fff;color:#243f54;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}
footer a.back-to-top:hover{background:#eaf0f4;border-color:#243f54}
footer a.back-to-top:focus-visible{outline:3px solid #355a74;outline-offset:3px}

/* Catalog: keep selection controls beside the results and align buying details. */
.quick-start .intro-copy .compare-entry { background:#243f54; color:white; border-color:#243f54; margin:0 0 16px; }
.quick-start .intro-copy .compare-entry:hover { background:#355a74; }
.catalog-layout { display:grid; grid-template-columns:minmax(175px,215px) minmax(0,1fr); align-items:start; gap:24px; }
.catalog-facets { min-width:0; padding:18px; border:1px solid #d4dde4; border-radius:8px; background:#f3f5f6; color:#243f54; }
.catalog-facets h3 { margin:0 0 16px; font-size:18px; }
.catalog-facets .filters { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; padding:0; margin:0; background:transparent; border:0; }
.catalog-facets .filters label { display:grid; gap:4px; font-size:13px; }
.catalog-facets .filters select {
  appearance:none;box-sizing:border-box;min-width:0;width:100%;margin:0;min-height:42px;
  padding-inline:12px 36px;background-color:#fff;background-repeat:no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23344e65' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:16px 16px;background-position:right 12px center;
}
@media(forced-colors:active){.catalog-facets .filters select {appearance:auto;background-image:none;padding-inline-end:8px}}
.catalog-facets .bread-size-help { padding:12px 0 0; margin:16px 0 0; border:0; border-top:1px solid #ccd6dc; border-radius:0; font-size:13px; background:transparent; }
.catalog-results { min-width:0; }
.catalog-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; border-bottom:2px solid #243f54; padding-bottom:10px; margin-bottom:12px; }
.catalog-tools #count { margin:0; font-size:16px; font-weight:700; color:#243f54; }
.catalog-tools .sort-bar { margin:0; padding:0; }
.catalog-score-help { display:inline-block; margin:16px 0; color:#243f54; text-decoration:underline; }
.catalog-results .product-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.catalog-results .product-card { display:grid; grid-template-columns:minmax(105px,19%) minmax(0,1fr); grid-template-rows:auto auto; border:1px solid #d4dde4; border-radius:8px; background:#fff; min-width:0; overflow:hidden; }
.catalog-results .product-visual { min-width:0; height:auto; min-height:135px; padding:16px 8px; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.catalog-results .product-visual .tag { position:static; order:2; max-width:100%; white-space:normal; text-align:center; font-size:11px; }
.catalog-results .product-photo-button { width:100%; height:100px; }
.catalog-results .product-photo { max-width:100%; width:100%; height:100%; object-fit:contain; }
.catalog-results .product-info { display:grid; grid-template-columns:minmax(0,1fr) minmax(128px,29%); grid-template-areas:"heading heading" "trade spec" "review review" "purchase purchase"; column-gap:18px; align-content:center; padding:16px; min-width:0; }
.catalog-results .card-heading { grid-area:heading; align-self:start; }
.catalog-results .tradeoffs { grid-area:trade; }
.catalog-results .specs { grid-area:spec; margin:6px 0 0; }
.catalog-results .price { grid-area:price; margin:0; text-align:right; align-self:end; }
.catalog-results .price-label { grid-area:label; text-align:right; }
.catalog-results .card-actions { grid-area:action; display:flex; flex-direction:column; align-items:stretch; justify-content:center; text-align:center; margin:6px 0; }
.catalog-results .select-product { grid-column:1/-1; min-height:40px; margin:0; padding:8px 16px; background:#f5f7f8; }
@media(max-width:950px) {
  .catalog-layout { grid-template-columns:minmax(0,1fr); gap:15px; }
  .catalog-facets .filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .catalog-results .product-card { grid-template-columns:78px minmax(0,1fr); }
  .catalog-results .product-info { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "trade" "spec" "review" "purchase"; padding:12px 10px; }
  .catalog-results .product-visual { justify-content:flex-start; padding:14px 4px; }
  .catalog-results .product-photo-button { height:78px; }
  .catalog-results .price,.catalog-results .price-label { text-align:left; }
  .catalog-results .price { margin-top:8px; }
  .catalog-tools .sort-bar { display:flex; flex-wrap:wrap; }
}

.review-heading:has(.review-price-link) > img {
  width: clamp(220px, 25vw, 300px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  padding: 8px;
}
.review-heading a.review-price-link,
.review-heading a.review-price-link:visited {
  display: flex;
  width: min(100%, 320px);
  min-height: 56px;
  padding: 14px 18px;
  justify-content: center;
  align-items: center;
  background: #243f54;
  border-color: #243f54;
  color: white;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
.review-heading a.review-price-link:hover { background: #355a74; }
.review-heading a.review-price-link:focus-visible { outline: 3px solid #355a74; outline-offset: 3px; }
@media (max-width: 650px) {
  .review-heading:has(.review-price-link) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .review-heading:has(.review-price-link) > div { display: contents; }
  .review-heading:has(.review-price-link) h1 { grid-row: 1; margin: 0; overflow-wrap: anywhere; }
  .review-heading:has(.review-price-link) > img {
    grid-row: 2;
    justify-self: center;
    width: min(100%, 250px);
  }
  .review-heading a.review-price-link { grid-row: 3; width: 100%; }
}

/* Homepage: bread photography and the three machines form a single opening spread. */
.quick-start .bakery-hero {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(0,1fr);
  gap: 0;
  align-items: stretch;
  isolation: isolate;
  overflow: hidden;
  border-radius: 14px;
  background: #f2eee6;
}
.bakery-hero .intro-copy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(24px,4vw,58px);
  background: #1a3040;
  color: white;
}
.bakery-hero .bakery-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 50%;
}
.bakery-hero .intro-copy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg,rgba(15,31,43,.93),rgba(15,31,43,.77) 65%,rgba(15,31,43,.65));
}
.quick-start .bakery-hero h1 {color: white; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(36px,4.3vw,62px); line-height: 1.06; letter-spacing: -.035em; margin: 0 0 16px;}
.quick-start .bakery-hero .intro {color: white; font-size: 16px; max-width: 42ch; line-height: 1.6;}
.quick-start .bakery-hero .compare-entry {background: #fff; border-color: white; color: #243f54; font-weight: 700; margin: 4px 0 0;}
.quick-start .bakery-hero .compare-entry:hover {background: #eee7d9;}
.bakery-hero .category-visual {display:flex;flex-direction:column;justify-content:center; background:#f2eee6; padding:clamp(16px,2.3vw,32px);box-shadow:none;border:0;border-radius:0;}
.bakery-hero .lineup-heading {font-family:'Source Serif 4',Georgia,serif;color:#243f54;font-size:clamp(21px,2.3vw,32px);line-height:1.18;letter-spacing:-.02em;margin:0 0 12px;}
.bakery-hero .machine-lineup {margin:0;align-items:stretch;gap:8px;}
.bakery-hero .lineup-model {display:flex;flex-direction:column;justify-content:center;align-items:center;background:white;color:#243f54;border:1px solid #d9d5ca;border-radius:8px;padding:10px 5px;min-width:0;}
.bakery-hero .lineup-picture {height:clamp(70px,8vw,120px);width:100%;}
.bakery-hero .lineup-model>span:not(.lineup-picture) {font-size:12px;}
.bakery-hero .lineup-model small {font-size:11px;overflow-wrap:anywhere;}
@media(prefers-reduced-motion:no-preference) {
  @keyframes bakery-enter {from{transform:translateY(10px);opacity:.45}to{transform:translateY(0);opacity:1}}
  @keyframes bakery-settle {from{transform:scale(1.035)}to{transform:scale(1)}}
  .bakery-hero .bakery-photo {animation:bakery-settle 1s ease-out both;}
  .bakery-hero .intro-copy h1,.bakery-hero .lineup-model {animation:bakery-enter .45s ease-out backwards;}
  .bakery-hero .lineup-model:nth-child(2){animation-delay:.09s;}
  .bakery-hero .lineup-model:nth-child(3){animation-delay:.18s;}
  .bakery-hero .lineup-model:is(:hover,:focus-visible) .lineup-picture {transform:translateY(-4px);}
}
@media(max-width:760px){
  .quick-start .bakery-hero {grid-template-columns:minmax(0,1fr);}
  .bakery-hero .intro-copy {padding:24px 20px;}
  .bakery-hero .category-visual {padding:14px;}
  .bakery-hero .lineup-heading {font-size:21px;margin-bottom:9px;}
  .bakery-hero .lineup-picture {height:65px;}
}

/* Reserve the orange logo accent for links that take readers to a shop. */
:root {
  --buy-fill: #ff992f;
  --buy-hover: #ffa94d;
  --buy-active: #f28d27;
}
body :is(a.shop-link, a.button.brand-buy, a.button.shop-cta, .review-heading a.button.review-price-link, .model-matrix a[data-merchant-link], .offer-row > span:last-child, .choice-offer > span:last-child) {
  background: var(--buy-fill);
  border: 1px solid var(--buy-fill);
  border-radius: 6px;
  color: #18354e;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.model-matrix a[data-merchant-link], .offer-row > span:last-child, .choice-offer > span:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  min-height: 44px;
}
body :is(a.shop-link, a.button.brand-buy, a.button.shop-cta, .review-heading a.button.review-price-link, .model-matrix a[data-merchant-link]):hover,
body :is(.offer-row, .choice-offer):hover > span:last-child {
  background: var(--buy-hover);
  border-color: var(--buy-hover);
}
body :is(a.shop-link, a.button.brand-buy, a.button.shop-cta, .review-heading a.button.review-price-link, .model-matrix a[data-merchant-link]):active,
body :is(.offer-row, .choice-offer):active > span:last-child {
  background: var(--buy-active);
}
body :is(a.shop-link, a.button.brand-buy, a.button.shop-cta, .review-heading a.button.review-price-link, .model-matrix a[data-merchant-link], .offer-row, .choice-offer):focus-visible {
  outline: 3px solid #243f54;
  outline-offset: 3px;
}

.catalog-results .card-heading { display:flex; justify-content:flex-start; align-items:center; gap:12px; }
.catalog-results .card-heading h3 { flex:0 1 auto; min-width:0; }
.catalog-results .card-rating .score-tile { width:44px; height:44px; min-width:44px; }
.catalog-results .card-rating .score-tile strong { font-size:24px; }
.catalog-results .product-info > .analysis-link { grid-area:review; justify-self:start; margin:6px 0; }
.catalog-purchase { grid-area:purchase; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-top:6px; padding-top:12px; border-top:1px solid #d7e0e5; }
.catalog-results .catalog-purchase .price,.catalog-results .catalog-purchase .price-label { margin:0; text-align:left; }
.catalog-purchase .shop-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; }
@media(max-width:360px) { .catalog-purchase .shop-link {width:100%;} }

/* Compact catalogue rows keep the identifying feature and purchase action in view. */
.catalog-results .product-grid { gap: 0; border:1px solid #ccd6dd; border-radius:9px; overflow:hidden; background:white; }
.catalog-results .product-card { grid-template-columns:88px minmax(0,1fr) auto; grid-template-rows:auto; align-items:center; gap:14px; padding:12px 16px; border:0; border-radius:0; box-shadow:none; }
.catalog-results .product-card + .product-card { border-top:1px solid #dde4e8; }
.row-photo { border:0; padding:0; background:white; width:100%; cursor:pointer; }
.row-photo img { display:block; width:100%; height:76px; object-fit:contain; }
.row-details { min-width:0; }
.row-title,.row-buy { display:flex; align-items:center; gap:10px; }
.row-title h3 { font-size:19px; line-height:1.25; margin:0; overflow-wrap:anywhere; }
.row-title h3 a { color:#18354e; text-decoration:none; }
.row-title h3 a:hover { text-decoration:underline; }
.catalog-results .row-title .card-rating .score-tile { width:auto; height:auto; min-width:32px; padding:3px 5px; border-radius:4px; }
.catalog-results .row-title .card-rating .score-tile strong { font-size:16px; line-height:1.3; }
.catalog-results .row-title .card-rating { width:auto; flex:none; }
.row-details p { margin:4px 0 0; font-size:14px; line-height:1.5; color:#475d6b; }
.row-check { display:inline-flex; align-items:center; min-height:44px; gap:8px; color:#243f54; font-size:14px; cursor:pointer; }
.row-check input { width:18px; height:18px; margin:0; accent-color:#243f54; }
.row-check:has(:checked) { font-weight:700; }
.row-check:focus-within { outline:2px solid #456c87; outline-offset:2px; }
.catalog-results .product-card:has(.row-check input:checked) { background:#f1f6f8; }
#comparebar {
  position:fixed;
  inset:auto 0 max(8px,env(safe-area-inset-bottom));
  width:min(900px,calc(100% - 24px));
  max-width:none;
  margin:0 auto;
  z-index:70;
}
#comparebar .button {background:white;color:#18354e;}
#comparebar .button:disabled {opacity:.65;}
body:has(#comparebar:not([hidden])) {padding-bottom:calc(var(--selection-height,88px) + 20px);}
body:has(#comparebar:not([hidden])) .choice-launcher {bottom:calc(var(--selection-height,88px) + 20px + env(safe-area-inset-bottom));}
html:has(#comparebar:not([hidden])) {scroll-padding-bottom:calc(var(--selection-height,88px) + 20px);}
.preparation-name {display:inline-flex;align-items:center;gap:5px;max-width:100%;}
.preparation-name img {width:24px;height:24px;flex:none;}
.preparation-yes {color:#245b45;font-weight:650;}
.preparation-unknown {color:#526675;font-size:.92em;}
.spec-overview td:has(.bread-options), .comparison-table td:has(.bread-options) { vertical-align:top; }
.spec-overview .bread-options,.comparison-table .bread-options { grid-auto-rows:minmax(32px,auto); gap:6px; align-content:start; }
.spec-overview .bread-options li,.comparison-table .bread-options li { grid-row:var(--bread-row); }
.row-buy { gap:14px; flex-wrap:wrap; min-width:0; }
.row-buy strong { font-size:19px; }
.row-details .row-store-link { display:inline-flex; align-items:center; min-height:32px; color:#445965; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
  .catalog-results .product-card { grid-template-columns:64px minmax(0,1fr); gap:5px 10px; padding:12px; }
  .row-buy { grid-column:2; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; }
  .row-title h3 { font-size:17px; }
  .row-title { gap:6px; }
}

/* Let text determine row height while each caption stays within its own cell. */
#overview-table td:has(.table-score) { vertical-align:top; }
.table-wrap :is(th,td), .matrix-wrap :is(th,td), .row-title h3,
.purchase-row > div, .catalog-tools > *, .choice-result, .choice-options button {
  min-width:0;
  overflow-wrap:anywhere;
}
.comparebar { flex-wrap:wrap; }
.comparebar #compare-count { min-width:0; max-width:100%; overflow-wrap:anywhere; }
@media (max-width:650px) {
  header { flex-wrap:wrap; }
  header nav { min-width:0; max-width:100%; }
  .rating-guide > a { margin-left:0; }
}
