.compare-page {
    padding-bottom:20px
}
.best-offer-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin:15px 0;
    padding:13px 16px;
    background:#ecfdf5;
    border:1px solid #bbf7d0;
    border-radius:10px
}
.best-offer-row strong {
    color:#15803d;
    font-size:20px
}
.comparison-summary-widget {
    margin-top:20px;
    padding:22px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:13px
}
.section-heading .eyebrow {
    color:var(--brand);
    font-size:11px;
    font-weight:850;
    letter-spacing:.08em
}
.section-heading h2 {
    margin:5px 0 7px;
    font-size:22px
}
.section-heading p {
    margin:5px 0;
    color:var(--muted)
}
.summary-note {
    font-size:12px
}
.summary-product-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:11px;
    margin-top:18px
}
.summary-product-card {
    position:relative;
    padding:15px;
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:10px
}
.summary-product-card.is-leader {
    border:2px solid var(--brand)
}
.summary-product-image {
    display:flex;
    width:100%;
    height:150px;
    align-items:center;
    justify-content:center;
    margin:8px 0 10px;
    background:#fff;
    border-radius:9px
}
.summary-product-image img {
    max-width:100%;
    max-height:140px;
    object-fit:contain
}
.summary-product-card h3 {
    margin:8px 0;
    font-size:15px
}
.summary-score {
    color:var(--brand);
    font-size:29px;
    font-weight:900
}
.summary-score small {
    font-size:13px
}
.summary-product-card ul {
    padding-left:18px
}
.leader-badge {
    display:inline-block;
    padding:3px 7px;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-size:10px;
    font-weight:800
}
.compare-products {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:13px;
    margin-top:22px
}
.compare-product-card {
    padding:14px;
    text-align:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:11px
}
.compare-product-card img {
    height:150px;
    object-fit:contain
}
.compare-product-card h2 {
    font-size:15px
}
.compare-price {
    color:var(--brand);
    font-size:17px
}
.score-table-card,.comparison-table-section {
    margin-top:28px;
    padding:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden
}
.score-table,.comparison-table {
    width:100%;
    overflow-x:auto
}
.score-table-card h2,.comparison-table-section h2 {
    margin-top:0
}
.score-row,.comparison-row {
    display:grid;
    grid-template-columns:minmax(180px,.8fr) repeat(var(--product-count),minmax(220px,1fr));
    width:100%
}
.score-row>* ,.comparison-row>* {
    padding:9px;
    border-bottom:1px solid var(--line)
}
.score-row--head,.comparison-row--head {
    background:var(--soft)
}
.comparison-category {
    margin-top:18px
}
.comparison-category h3 {
    font-size:16px
}
.comparison-table {
    overflow:auto
}
@media(max-width:700px) {
    .comparison-summary-widget {
        padding:15px
    }
    .score-row,.comparison-row {
        grid-template-columns:150px repeat(var(--product-count),minmax(180px,1fr));
        width:max-content;
        min-width:100%
    }
}
/* Compact comparison summary */ .comparison-summary-widget {
    padding:18px;
}
.summary-product-grid {
    gap:10px;
    margin-top:14px;
}
.summary-product-card {
    padding:12px;
}
.summary-product-image {
    width:96px;
    height:84px;
    margin:6px 0 8px;
    background:#fff;
    border:1px solid #eef0f3;
    border-radius:8px;
}
.summary-product-image img {
    max-width:86px;
    max-height:76px;
}
.summary-product-card h3 {
    margin:5px 0 4px;
    font-size:15px;
    line-height:1.3;
}
.summary-score {
    margin:2px 0 5px;
    font-size:24px;
    line-height:1.1;
}
.summary-product-card > strong {
    display:block;
    margin-top:5px;
    font-size:13px;
}
.summary-product-card ul {
    margin:5px 0 0;
    padding-left:18px;
}
.summary-product-card li {
    margin:2px 0;
    font-size:13px;
}
.leader-badge {
    margin-bottom:4px;
}
/* Price/offer comparison */ .offer-compare-card {
    margin-top:28px;
    padding:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
}
.offer-compare-card h2 {
    margin:0 0 14px;
    font-size:21px;
}
.comparison-row--price {
    background:#f8fbff;
}
.table-best-price {
    display:block;
    color:var(--brand);
    font-size:16px;
}
.comparison-row small {
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:11px;
}
.comparison-section-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.comparison-section-heading h2 {
    margin:4px 0 6px;
}
.comparison-section-heading p {
    margin:0;
    color:var(--muted);
    font-size:13px;
}
.comparison-eyebrow {
    display:block;
    color:var(--brand);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}
.comparison-differences {
    border-color:#cfe3ff;
}
.comparison-row--different {
    background:#fff;
}
.comparison-row--different:nth-child(even) {
    background:#fafcff;
}
.comparison-feature-name {
    font-weight:700;
    color:#374151;
}
.comparison-different-value {
    position:relative;
    font-weight:600;
}
.comparison-different-value::before {
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:7px;
    border-radius:50%;
    background:var(--brand);
    vertical-align:middle;
}
/* Technical comparison difference filter */ .comparison-table-toolbar {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}
.comparison-table-toolbar h2 {
    margin:0 0 5px
}
.comparison-table-toolbar p {
    margin:0;
    color:var(--muted);
    font-size:13px
}
.difference-toggle {
    display:inline-flex;
    align-items:center;
    gap:9px;
    flex:0 0 auto;
    cursor:pointer;
    user-select:none;
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    font-size:13px;
    font-weight:700;
    color:#374151;
}
.difference-toggle input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.difference-toggle__control {
    position:relative;
    width:34px;
    height:19px;
    border-radius:999px;
    background:#d7dce3;
    transition:background .18s ease;
}
.difference-toggle__control::after {
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.18);
    transition:transform .18s ease;
}
.difference-toggle input:checked + .difference-toggle__control {
    background:var(--brand)
}
.difference-toggle input:checked + .difference-toggle__control::after {
    transform:translateX(15px)
}
.difference-toggle input:focus-visible + .difference-toggle__control {
    outline:2px solid var(--brand);
    outline-offset:2px
}
.comparison-row.is-same-spec {
    display:none
}
.comparison-category.is-empty-difference-category {
    display:none
}
@media(max-width:700px) {
    .comparison-table-toolbar {
        flex-direction:column;
        align-items:stretch
    }
    .difference-toggle {
        align-self:flex-start
    }
}
/* Comparison summary — notebook-style card layout */ .comparison-summary-widget {
    margin-top:28px;
    padding:28px 30px;
    background:#fff;
    border:1px solid var(--line,#dfe3e8);
    border-radius:18px;
    box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.comparison-summary-widget .section-heading {
    margin-bottom:22px;
}
.comparison-summary-widget .section-heading .eyebrow {
    display:block;
    margin-bottom:8px;
    color:var(--brand,#0a74da);
    font-size:12px;
    font-weight:850;
    letter-spacing:.08em;
}
.comparison-summary-widget .section-heading h2 {
    margin:0 0 16px;
    color:#172033;
    font-size:28px;
    line-height:1.2;
}
.comparison-summary-widget .section-heading p {
    margin:8px 0;
    color:#42526b;
    font-size:15px;
    line-height:1.65;
}
.comparison-summary-widget .section-heading .summary-note {
    margin-top:14px;
    color:#64748b;
    font-size:13px;
}
.comparison-summary-widget .summary-product-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:18px;
    margin-top:0;
}
.comparison-summary-widget .summary-product-card {
    position:relative;
    min-width:0;
    padding:22px 24px;
    background:#f8fafc;
    border:1px solid #dfe5ec;
    border-radius:16px;
}
.comparison-summary-widget .summary-product-card.is-leader {
    background:#eff6ff;
    border:2px solid var(--brand,#0a74da);
    box-shadow:inset 0 3px 0 var(--brand,#0a74da);
}
.comparison-summary-widget .leader-badge {
    display:inline-flex;
    align-items:center;
    margin:0 0 14px;
    padding:6px 11px;
    border-radius:999px;
    background:var(--brand,#0a74da);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.comparison-summary-widget .summary-product-image {
    display:flex;
    width:88px;
    height:76px;
    align-items:center;
    justify-content:center;
    margin:0 0 12px;
    background:#fff;
    border:1px solid #e5e9ef;
    border-radius:10px;
}
.comparison-summary-widget .summary-product-image img {
    max-width:78px;
    max-height:68px;
    object-fit:contain;
}
.comparison-summary-widget .summary-product-card h3 {
    margin:0 0 8px;
    color:#172033;
    font-size:18px;
    line-height:1.35;
}
.comparison-summary-widget .summary-product-card h3 a {
    color:inherit;
    text-decoration:none;
}
.comparison-summary-widget .summary-score {
    margin:0 0 16px;
    color:var(--brand,#0a74da);
    font-size:34px;
    font-weight:900;
    line-height:1;
}
.comparison-summary-widget .summary-score small {
    font-size:14px;
    font-weight:800;
}
.comparison-summary-widget .summary-product-card > strong {
    display:block;
    padding-top:14px;
    border-top:1px solid #e1e6ec;
    color:#29364a;
    font-size:13px;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.comparison-summary-widget .summary-product-card ul {
    margin:10px 0 0;
    padding:0;
    list-style:none;
}
.comparison-summary-widget .summary-product-card li {
    position:relative;
    margin:8px 0;
    padding-left:26px;
    color:#42526b;
    font-size:14px;
    line-height:1.45;
}
.comparison-summary-widget .summary-product-card li::before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#16a34a;
    font-weight:900;
}
@media(max-width:700px) {
    .comparison-summary-widget {
        padding:20px 16px;
        border-radius:14px;
    }
    .comparison-summary-widget .section-heading h2 {
        font-size:23px;
    }
    .comparison-summary-widget .summary-product-grid {
        grid-template-columns:1fr;
    }
    .comparison-summary-widget .summary-product-card {
        padding:18px;
    }
}
/* =========================================================
   Generic comparison summary component
   ========================================================= */  .comparison-summary {
    margin-top:28px;
    padding:30px;
    background:#fff;
    border:1px solid var(--line,#dfe3e8);
    border-radius:18px;
    box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.comparison-summary__eyebrow {
    margin-bottom:8px;
    color:var(--brand,#0a74da);
    font-size:12px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.comparison-summary > h2 {
    margin:0 0 22px;
    color:#172033;
    font-size:28px;
    line-height:1.2;
}
.comparison-summary__lead {
    margin:0 0 10px;
    color:#42526b;
    font-size:16px;
    line-height:1.65;
}
.comparison-summary__lead strong {
    color:#172033;
}
.comparison-summary > p:not(.comparison-summary__lead):not(.comparison-summary__note) {
    margin:7px 0;
    color:#42526b;
    font-size:15px;
    line-height:1.55;
}
.comparison-summary__note {
    margin:18px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}
.comparison-summary__products {
    display:grid;
    grid-template-columns:repeat(         auto-fit,         minmax(300px,1fr)     );
    gap:18px;
    margin-top:28px;
}
.comparison-summary-card {
    position:relative;
    min-width:0;
    padding:24px 26px;
    background:#f8fafc;
    border:1px solid #dfe5ec;
    border-radius:16px;
}
.comparison-summary-card.is-leader {
    background:#eff6ff;
    border:2px solid var(--brand,#0a74da);
    box-shadow:inset 0 3px 0 var(--brand,#0a74da);
}
.comparison-summary-card__badge {
    display:inline-flex;
    align-items:center;
    margin:0 0 16px;
    padding:6px 12px;
    border-radius:999px;
    background:var(--brand,#0a74da);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.comparison-summary-card__head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding-bottom:18px;
    border-bottom:1px solid #e1e6ec;
}
.comparison-summary-card__head h3 {
    margin:0;
    color:#172033;
    font-size:18px;
    line-height:1.35;
}
.comparison-summary-card__score {
    display:flex;
    align-items:flex-end;
    flex:0 0 auto;
    color:var(--brand,#0a74da);
    line-height:1;
}
.comparison-summary-card__score strong {
    font-size:36px;
    font-weight:900;
}
.comparison-summary-card__score span {
    margin:0 0 3px 2px;
    font-size:13px;
    font-weight:800;
}
.comparison-summary-card__section {
    margin-top:18px;
}
.comparison-summary-card__section h4 {
    margin:0 0 12px;
    color:#29364a;
    font-size:13px;
    font-weight:850;
    letter-spacing:.03em;
}
.comparison-summary-list {
    margin:0;
    padding:0;
    list-style:none;
}
.comparison-summary-list li {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:10px 0;
    color:#42526b;
    font-size:14px;
    line-height:1.45;
}
.comparison-summary-list__icon {
    display:flex;
    flex:0 0 20px;
    width:20px;
    height:20px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:13px;
    font-weight:900;
}
.comparison-summary-list--positive .comparison-summary-list__icon {
    color:#16a34a;
}
.comparison-summary-list--warning .comparison-summary-list__icon {
    background:#fef3c7;
    color:#d97706;
}
.comparison-summary-list li div {
    min-width:0;
}
.comparison-summary-list li strong {
    display:block;
    color:#29364a;
    font-size:14px;
}
.comparison-summary-list li small {
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:12px;
}
@media(max-width:700px) {
    .comparison-summary {
        padding:20px 16px;
        border-radius:14px;
    }
    .comparison-summary > h2 {
        font-size:23px;
    }
    .comparison-summary__products {
        grid-template-columns:1fr;
    }
    .comparison-summary-card {
        padding:18px;
    }
    .comparison-summary-card__head {
        gap:12px;
    }
    .comparison-summary-card__score strong {
        font-size:30px;
    }
}
