/* Shared entry points and the standalone manual comparison. */
.site-header-with-compare { flex-wrap:wrap; gap:12px 24px; }
.site-header-with-compare>nav { flex-wrap:wrap; }
.manual-compare-entry { margin:18px 0 0; font-size:15px; }
.manual-compare-entry a { color:var(--purple); font-weight:700; text-underline-offset:3px; }
.cmp-main { max-width:1180px; margin:auto; padding:50px 30px 64px; }
.compare-page [hidden] { display:none!important; }
.cmp-skip { position:absolute; z-index:10; top:8px; left:8px; padding:12px 18px; background:#fff; color:var(--purple); transform:translateY(-150%); }
.cmp-skip:focus { transform:none; }
.cmp-hero { max-width:820px; margin-bottom:42px; }
.cmp-hero h1 { font-size:48px; margin:18px 0; }
.cmp-hero .intro { font-size:18px; max-width:760px; }
.cmp-context { color:var(--muted); font-size:15px; }
.cmp-context a { color:var(--purple); font-weight:600; }
.cmp-picker-heading,.cmp-comparison-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.cmp-picker-heading h2,.cmp-comparison h2 { font-size:28px; margin:8px 0; }
.cmp-picker-heading p { margin:4px 0 16px; }
.cmp-jump-link { background:transparent; border:0; color:var(--purple); font-weight:600; font-size:14px; }
.cmp-search { max-width:780px; margin:8px 0 22px; }
.cmp-search label { display:block; font-weight:700; margin:0 0 8px; }
.cmp-search input { width:100%; min-height:52px; background:#fff; }
.cmp-search .tiny { margin:8px 0 0; }
.cmp-selection { background:var(--pale); border:1px solid #ded7f1; border-radius:18px; padding:20px; margin-bottom:20px; }
.cmp-selection-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cmp-selection-heading h3 { font-size:20px; margin:0; }
.cmp-selection-heading>strong { font-size:14px; color:var(--purple); }
.cmp-selected-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0; margin:14px 0 0; list-style:none; }
.cmp-selected-list:empty { display:none; }
.cmp-selected-list li { display:flex; align-items:center; gap:9px; min-width:0; padding:10px 8px 10px 12px; border:1px solid #d7cfee; border-radius:12px; background:#fff; }
.cmp-selected-number { display:grid; place-items:center; min-width:25px; height:25px; border-radius:50%; background:var(--pale); font-size:12px; font-weight:700; color:var(--purple); }
.cmp-selected-name { min-width:0; font-size:13px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.cmp-remove { margin-left:auto; min-width:44px; min-height:44px; border:0; background:transparent; color:var(--purple); border-radius:8px; font-size:25px; }
.cmp-remove:hover { background:var(--pale); }
.cmp-selection-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cmp-selection-actions .primary,.cmp-selection-actions .secondary { min-height:44px; font-size:14px; }
.cmp-selection-actions button { white-space:normal; max-width:100%; }
.cmp-selection button:disabled,.cmp-card button:disabled,.cmp-bottom-actions button:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; transform:none; }
.cmp-status { color:#3c3760; margin:12px 0 0; font-size:14px; }
.cmp-status:empty,#comparison-error:empty { display:none; }
.cmp-share-fallback { margin-top:18px; max-width:760px; }
.cmp-share-fallback label { display:block; margin:0 0 7px; }
.cmp-share-fallback input { width:100%; background:#fff; }
.cmp-share-fallback p { margin:7px 0 0; }
.cmp-catalogue-count { font-size:14px; color:var(--muted); }
.cmp-catalogue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cmp-card { min-width:0; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-1); }
.cmp-card.is-selected { border-color:var(--purple); box-shadow:0 0 0 1px var(--purple); }
.cmp-card-heading { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cmp-chosen { font-size:12px; color:var(--purple); font-weight:700; }
.cmp-card h3 { font-size:19px; line-height:1.35; margin:14px 0 8px; overflow-wrap:anywhere; }
.cmp-card .cmp-configuration { font-weight:700; margin:0 0 6px; font-size:14px; }
.cmp-sku { font-size:12px; color:var(--muted); overflow-wrap:anywhere; margin:0 0 12px; }
.cmp-card-specs { font-size:14px; line-height:1.6; margin:0 0 14px; }
.cmp-card-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 8px; margin:auto 0 0; }
.cmp-card-price strong { color:var(--purple); font-size:25px; }
.cmp-card-price span { font-size:13px; color:var(--muted); }
.cmp-price-date { display:block; font-size:12px; color:var(--muted); line-height:1.5; margin:5px 0 14px; font-weight:400; }
.cmp-card>button { width:100%; min-height:46px; font-size:14px; white-space:normal; }
.cmp-empty { grid-column:1/-1; background:#fff; border:1px dashed #c7bfdc; border-radius:16px; padding:26px; }
.cmp-empty h3 { margin:0 0 10px; font-size:20px; }
.cmp-empty p { color:var(--muted); max-width:700px; }
.cmp-comparison { margin-top:54px; padding-top:26px; border-top:1px solid var(--line); scroll-margin-top:20px; }
#comparison-heading,#catalogue-title { scroll-margin-top:20px; }
.cmp-toggle { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; margin:0; cursor:pointer; }
.cmp-toggle input { appearance:auto; width:20px; height:20px; min-width:20px; margin:0; padding:0; accent-color:var(--purple); }
.cmp-notice { margin:20px 0 14px; }
.cmp-shopping-note { color:var(--muted); font-size:14px; max-width:960px; }
.cmp-table-scroll { width:100%; max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:#fff; margin-top:12px; -webkit-overflow-scrolling:touch; }
.cmp-table-scroll:focus-visible { outline:3px solid var(--purple); outline-offset:4px; }
.cmp-table { border-collapse:collapse; width:100%; min-width:740px; table-layout:fixed; font-size:14px; line-height:1.55; }
.cmp-table caption { text-align:left; padding:16px; font-size:15px; font-weight:700; background:#fff; }
.cmp-table th,.cmp-table td { vertical-align:top; text-align:left; border-top:1px solid var(--line); border-right:1px solid var(--line); padding:16px; overflow-wrap:anywhere; }
.cmp-table th:last-child,.cmp-table td:last-child { border-right:0; }
.cmp-table thead th { background:var(--pale); }
.cmp-table thead th:first-child { width:160px; }
.cmp-table tbody th { background:#faf9fd; font-weight:600; }
.cmp-table-name { display:block; font-size:17px; line-height:1.4; }
.cmp-table-condition { display:block; font-size:12px; font-weight:500; color:var(--muted); margin-top:8px; }
.cmp-table-price { display:block; font-size:27px; color:var(--purple); margin-top:14px; }
.cmp-table-retailer { display:block; font-size:13px; font-weight:500; }
.cmp-shop-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:16px 0 2px; }
.cmp-shop-links .secondary { padding:10px 12px; font-size:13px; white-space:normal; }
.cmp-affiliate-note { font-size:12px; font-weight:400; color:var(--muted); }
.cmp-card .cmp-card-view { width:auto; align-self:flex-start; margin-top:6px; }
.cmp-amazon { font-size:13px; font-weight:600; text-underline-offset:3px; color:var(--purple); }
.cmp-bottom-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
@media(max-width:900px) {
 .cmp-catalogue { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cmp-selected-list { grid-template-columns:1fr; }
 .cmp-selected-list li { padding:6px 8px 6px 12px; }
}
@media(max-width:680px) {
 .site-header-with-compare { align-items:flex-start; }
 .site-header-with-compare>nav { flex-wrap:wrap; gap:6px 14px; justify-content:flex-start; }
 .cmp-main { padding:30px 20px 44px; }
 .cmp-hero { margin-bottom:30px; }
 .cmp-hero h1 { font-size:35px; }
 .cmp-hero .intro { font-size:16px; }
 .cmp-picker-heading h2,.cmp-comparison h2 { font-size:24px; }
 .cmp-catalogue { grid-template-columns:1fr; }
 .cmp-card { padding:20px; }
 .cmp-selection { padding:16px; }
 .cmp-selection-actions>.primary { width:100%; }
 .cmp-table-scroll { border-radius:10px; }
 .cmp-table { min-width:740px; }
 .cmp-comparison-heading { gap:16px; }
 .cmp-toggle { min-height:44px; }
}
@media print {
 .compare-page header,.compare-page footer,.cmp-hero,.cmp-picker,.cmp-toggle,.cmp-bottom-actions,.cmp-shop-links { display:none; }
 .cmp-main { max-width:none; padding:0; }
 .cmp-comparison { margin:0; padding:0; border:0; }
 .cmp-table-scroll { overflow:visible; border:0; }
 .cmp-table { min-width:0; font-size:10px; }
 .cmp-table th,.cmp-table td { padding:6px; }
 .cmp-table thead th:first-child { width:100px; }
 .cmp-table-name { font-size:12px; }
 .cmp-table-price { font-size:16px; }
}
