/* WCAG 2.2 AA improvements: visible focus, controls, reflow and readable data. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #d8f68a;outline-offset:4px;scroll-margin-block:24px}
summary{cursor:pointer;min-height:44px;padding:10px 0}button,input,select,textarea{min-height:44px}input,select,textarea{border-color:#7b898d}select{border:1px solid #7b898d}
.small,.local-note,.price-provenance,.card-set,.card-price>span,.footer-bottom,.eyebrow{font-size:max(.75rem,12px)}
.prose a,.price-panel a,.market-table a,.history-detail a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.breadcrumbs a,.footer-links a,.search-hints a,.text-link,.remove-card{display:inline-flex;align-items:center;min-height:28px}.footer-links,.search-hints{gap:16px}
.price-panel-refined{padding:26px;background:linear-gradient(130deg,#20291b,#191d20);border:1px solid #536447;border-radius:16px}
.price-panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.price-panel-top .eyebrow{margin:0;color:#d8f68a}.price-scope{font-size:.8rem;color:#c2ccc0}
.price-panel-refined .detail-price{display:block;font-size:clamp(2.6rem,5vw,4rem);margin:14px 0 10px;line-height:1.15;font-variant-numeric:tabular-nums}.price-summary{color:#c2ccc0;max-width:48ch}
.price-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.price-facts dt{color:#b8c2b8;font-size:.8rem}.price-facts dd{margin:4px 0 0;overflow-wrap:anywhere}.price-method{border-top:1px solid #536447}.price-method p{font-size:.9rem;color:#c2ccc0;line-height:1.7}
.market-table-wrap{max-width:100%;outline-offset:-3px}.market-table th{color:#c2ccc0}.history-controls select{border-color:#7b898d}.history-chart circle{stroke-width:2}.history-chart [data-detail]{scroll-margin-top:20px}.history-chart button{min-width:44px;min-height:44px}
@media(max-width:600px){.price-panel-refined{padding:20px}.price-facts{grid-template-columns:1fr;gap:12px}.filter-fields{flex-wrap:wrap}.filter-fields label{min-width:0;flex-basis:calc(50% - 10px)}.collection-toolbar{flex-wrap:wrap}.text-link{white-space:normal}.history-chart{min-width:0}.history-controls label{min-width:0;flex-basis:calc(50% - 16px)}.price-panel-top{align-items:flex-start}}
@media(forced-colors:active){.button,.price-panel-refined,.history-controls select{border:1px solid ButtonText}.history-chart circle{fill:ButtonText;stroke:Canvas}.history-chart line,.history-chart polyline{stroke:CanvasText}}

/* Rights form: native controls, explicit labels and visible keyboard focus. */
.rights-form { display:grid; gap:12px; max-width:760px; margin:28px 0 64px; }
.rights-form label { color:var(--text,#f1f3ed); font-weight:600; margin-top:12px; }
.rights-form input:not([type=checkbox]), .rights-form textarea { box-sizing:border-box; width:100%; min-height:48px; padding:12px 14px; border:1px solid #8a969d; border-radius:8px; background:#171d20; color:#f1f3ed; font:inherit; }
.rights-form textarea { resize:vertical; }
.rights-form :focus-visible { outline:3px solid #c5f277; outline-offset:4px; }
.rights-form .rights-check { display:flex; align-items:flex-start; gap:12px; font-weight:400; }
.rights-check input { flex:0 0 24px; width:24px; height:24px; margin-top:4px; accent-color:#c5f277; }
.rights-form button { min-height:48px; justify-self:start; margin-top:16px; white-space:normal; }
.rights-feedback { border:1px solid #c5f277; border-radius:12px; padding:20px; margin:24px 0; overflow-wrap:anywhere; }
body:has(.rights-form) .page-heading h1 { font-size:clamp(1.75rem,4vw,3.5rem); hyphens:auto; }
.set-tile--preview { overflow:hidden; }
.set-art.set-art--cards { display:flex; align-items:center; justify-content:center; gap:12px; height:190px; padding:12px 0 20px; margin-bottom:22px; background:radial-gradient(ellipse at center,#c5f27712,transparent 70%); }
.set-preview-card { display:block; flex:0 1 108px; min-width:0; transform:translateY(5px) rotate(-6deg); transition:transform .2s ease; }
.set-preview-card:nth-child(2) { transform:translateY(-5px); }
.set-preview-card:nth-child(3) { transform:translateY(5px) rotate(6deg); }
.set-art--cards .set-preview-card img { display:block; width:100%; height:auto; max-width:100%; max-height:160px; object-fit:contain; border-radius:6px; filter:drop-shadow(0 8px 10px #0005); }
.set-tile--preview:hover .set-preview-card,.set-tile--preview:focus-visible .set-preview-card { transform:translateY(-5px); }
@media(max-width:600px) {
 .set-tile.set-tile--preview { display:block; }
 .set-art.set-art--cards { height:170px; margin-bottom:16px; gap:12px; }
 .set-art--cards .set-preview-card img { max-height:145px; }
}
@media(prefers-reduced-motion:reduce) { .set-preview-card { transition:none; } }

/* Keep preview images above their captions at every breakpoint. */
.set-tile.set-tile--preview { display:block; }
.set-tile h3,.card-info h3 { overflow-wrap:anywhere; }

.set-search { margin-block:24px; }
.search-scope { margin-bottom:12px; color:var(--muted); }
@media(max-width:1000px) and (min-width:681px) {
 .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .set-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:850px) {
 .hero { grid-template-columns:1fr; gap:35px; }
 .hero-stage { width:100%; max-width:410px; margin-inline:auto; }
 .catalog-search input { font-size:16px; }
 .value-strip { flex-wrap:wrap; }
}
@media(max-width:680px) {
 .set-art.set-art--cards { height:170px; margin-bottom:16px; gap:12px; }
 .set-art--cards .set-preview-card img { max-height:145px; }
 .set-tile.set-tile--preview { padding:22px; }
 .catalog-search { max-width:100%; }
 .catalog-search input::placeholder { font-size:12px; }
 .term-heading h1 { font-size:clamp(2rem,8vw,46px); overflow-wrap:anywhere; }
}

/* Inline catalog search shares the header row with brand and navigation. */
.header-inner--search { gap:24px; }
.header-inner--search .brand { flex-shrink:0; }
.header-inner--search .site-nav { flex-shrink:0; margin-left:0; }
.catalog-search.header-search { flex:1 1 280px; min-width:0; max-width:360px; margin:0 auto; padding:2px 2px 2px 14px; gap:4px; }
.header-search input { padding:8px 0; font-size:16px; }
.header-search .button { padding:10px; min-width:44px; min-height:44px; }
.header-search .button .icon { display:block; width:20px; height:20px; }
@media(max-width:1100px) {
 .header-inner--search { flex-wrap:wrap; justify-content:space-between; gap:16px; padding-block:16px; }
 .js .header-inner--search .menu-toggle { display:inline-flex; min-height:44px; }
 .header-inner--search .site-nav { width:100%; flex-wrap:wrap; padding-top:16px; border-top:1px solid var(--line); }
 .js .header-inner--search .site-nav:not(.is-open) { display:none; }
}
@media(max-width:600px) {
 .header-inner--search { gap:12px; }
 .header-inner--search .brand { order:0; }
 .header-inner--search .menu-toggle { order:1; }
 .header-inner--search .header-search { order:2; flex-basis:100%; max-width:none; }
 .header-inner--search .site-nav { order:3; margin-top:0; }
}

.catalog-total { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:8px 14px; margin-bottom:18px; border:1px solid #536447; border-radius:8px; background:#1c2519; color:var(--text); font-size:14px; max-width:100%; }
.catalog-total strong { color:var(--accent); font-size:20px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.catalog-total > .icon { color:var(--accent); width:18px; height:18px; }
.catalog-total:hover { border-color:var(--accent); }

.price-offers { margin-top:20px; padding-top:20px; border-top:1px solid #536447; }
.price-offers h2 { font-size:18px; letter-spacing:0; }
.price-offers ul { padding:0; margin:16px 0; list-style:none; }
.price-offers li + li { border-top:1px solid #536447; }
.price-offers li a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; min-height:60px; text-decoration:none; }
.price-offers small { display:block; color:#c2ccc0; font-size:12px; }
.price-offer-amount { display:flex; align-items:center; gap:8px; font-weight:600; white-space:nowrap; }
@media(max-width:380px) { .price-offers li a { flex-wrap:wrap; } }

/* Compact price panel with a distinct, actionable marketplace row. */
.price-panel-refined { padding:20px; }
.price-panel-refined .detail-price { font-size:clamp(2.3rem,4vw,3.1rem); margin:10px 0 6px; }
.price-panel-refined .price-summary { max-width:none; }
.price-panel-refined .price-facts { margin:14px 0; gap:12px; }
.price-panel-refined .price-facts dd { font-size:14px; margin-top:2px; }
.price-panel-refined .price-facts dt { font-size:12px; }
.price-panel-refined .price-offers { margin-top:14px; padding-top:14px; }
.price-offers ul { margin:12px 0 8px; }
.price-offers li + li { border-top:0; margin-top:8px; }
.price-offers li a { display:grid; grid-template-columns:1fr auto auto; gap:12px; padding:12px; background:#2a3820; border:1px solid #829c58; border-radius:10px; color:#e8f5d7; }
.price-offers li a:hover { background:#344527; border-color:#d8f68a; }
.price-offers li a strong { font-size:16px; }
.price-offer-amount { font-size:18px; color:#d8f68a; }
.offer-cta { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:8px 10px; background:#d8f68a; color:#17200f; border-radius:6px; font-size:12px; font-weight:600; }
.offer-cta .icon { width:16px; height:16px; }
.price-offers .text-link { font-size:12px; }
.price-panel-refined .price-method { margin-top:14px; }
.price-panel-refined .price-method summary { font-size:13px; padding:10px 0 0; }
@media(max-width:1100px) and (min-width:681px), (max-width:420px) {
 .price-offers li a { grid-template-columns:1fr auto; gap:8px; }
 .price-offers .offer-cta { grid-column:1 / -1; }
}

/* Marketplace indicators remain separate from the card's reference price. */
.card-price-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;text-align:right}
.card-marketplaces{display:inline-flex;gap:4px;flex-shrink:0}
.card-marketplace{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;font:bold 11px/1 Arial,sans-serif;border:1px solid #64705c}
.card-marketplace--tradera{background:#d8fa86;color:#17220c}
.card-marketplace--ebay{background:#fff;color:#b62025}
@media(max-width:420px){.card-price-meta{gap:5px;font-size:11px}}

.card-marketplace--ebay{width:28px;font-size:10px;letter-spacing:-.5px}

#aktuella-annonser .section-heading{margin-bottom:12px}
#aktuella-annonser h2{font-size:clamp(24px,3vw,32px)}
.offer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.offer-toolbar p{max-width:650px;margin:0;font-size:12px}
.offer-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
.offer-toolbar select{min-width:160px;min-height:44px;padding:8px 12px}
#aktuella-annonser .offer{padding:12px 0;gap:16px;grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) auto}
#aktuella-annonser .offer-market>.icon{display:none}
#aktuella-annonser .offer-market h3{font-size:15px;margin:0 0 3px}
#aktuella-annonser .offer-market span{font-size:11px;line-height:1.4}
#aktuella-annonser .offer-amount strong{font-size:18px}
#aktuella-annonser .offer-amount span{font-size:11px}
#aktuella-annonser .offer-amount small{font-size:10px}
#aktuella-annonser .offer>.button{padding:8px 12px;min-height:44px;font-size:12px}
@media(max-width:680px){.offer-toolbar{align-items:start;flex-direction:column;gap:10px}#aktuella-annonser .offer{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}#aktuella-annonser .offer-amount{grid-column:1;padding-left:0}#aktuella-annonser .offer>.button{grid-column:2;grid-row:1/3}}

.offer-details{font-size:11px}.offer-details summary{cursor:pointer;padding:4px 0;min-height:24px}.offer-details small,.offer-details span{display:block;max-width:360px}

/* Data-led card summary, kept separate from long-form prose. */
.card-guide { border:1px solid var(--line,#344044); border-radius:20px; padding:clamp(20px,3vw,40px); background:#151b1c; }
.card-guide-heading { max-width:850px; margin-bottom:24px; }
.card-guide-heading h2 { font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.2; margin:8px 0 12px; overflow-wrap:anywhere; }
.card-guide-heading>p:last-child { color:#b7c2c5; line-height:1.65; margin:0; }
.card-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.card-guide-box { min-width:0; background:#1c2426; border:1px solid #354246; padding:22px; border-radius:14px; }
.card-guide-box h3 { color:#b7c2c5; font-size:.9rem; font-weight:500; margin:0 0 14px; }
.card-guide-box p { font-size:.95rem; line-height:1.55; margin:12px 0; overflow-wrap:anywhere; }
.card-guide-box .card-guide-value { font-size:clamp(1.8rem,3vw,2.4rem); font-weight:650; color:#eff4e8; line-height:1.15; margin:0 0 16px; }
.card-guide-value span { font-size:.9rem; font-weight:400; color:#b7c2c5; }
.card-guide-note { display:block; color:#b7c2c5; font-size:.85rem; line-height:1.6; }
.card-guide-box .text-link { margin-top:8px; min-height:44px; }
.card-guide-method { margin-top:20px; border-bottom:1px solid #354246; padding-bottom:16px; }
.card-guide-method summary { cursor:pointer; min-height:44px; padding:10px 0; }
.card-guide-method p { max-width:900px; color:#b7c2c5; line-height:1.7; font-size:.95rem; }
.card-guide-related h3 { font-size:.9rem; color:#b7c2c5; margin:20px 0 12px; }
.card-guide-related ul { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.card-guide-related a { display:flex; gap:16px; justify-content:space-between; align-items:center; min-height:44px; padding:10px 14px; border:1px solid #4e5c60; border-radius:10px; color:#e8eddd; text-decoration:none; overflow-wrap:anywhere; }
.card-guide-related a:hover { border-color:#c5f277; color:#c5f277; }
@media(max-width:760px) { .card-guide-grid { grid-template-columns:1fr; } .card-guide-related li { width:100%; } }

.detail-copy .card-intro { margin:24px 0 32px; line-height:1.75; max-width:65ch; }
.detail-copy .card-intro + .price-panel { margin-top:0; }

/* Discovery, readable guides and device-local set checklists. */
.search-example{font-size:.85rem;color:#abb8bb;margin:10px 0 0}
.entry-links,.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.entry-links{margin-top:12px;margin-bottom:20px}
.entry-links>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:16px 20px;border:1px solid #435052;border-radius:12px;text-decoration:none;color:#eff3e8;background:#192022}
.guide-tile{padding:26px;border:1px solid #354246;border-radius:18px;background:#171e20;min-width:0}
.guide-tile h3{font-size:1.35rem;line-height:1.3;margin:12px 0}.guide-tile h3 a{text-decoration:none;color:#eff3e8}
.guide-tile p{color:#b7c2c5;line-height:1.7}.guide-tile .text-link{min-height:44px}
.reading-panel{max-width:820px;margin-inline:auto}.reading-panel h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.12;overflow-wrap:anywhere}
.reading-panel h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.3;margin:36px 0 16px;scroll-margin-top:120px}
.reading-panel p{font-size:1.05rem;line-height:1.85;color:#c8d1d0}.reading-panel .reading-intro{font-size:1.2rem;color:#eff3e8;margin:24px 0}
.guide-toc{padding:16px 24px;border:1px solid #435052;border-radius:14px;background:#192022}.guide-toc a{display:inline-block;padding:8px 0;color:#d4f584}
.guide-actions,.personal-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.card-gameplay,.set-checklist{border:1px solid #435052;border-radius:16px;padding:18px 24px;margin:32px 0;background:#171e20}
.card-gameplay summary,.set-checklist summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
.card-gameplay h2{font-size:1.25rem;margin:24px 0 12px}.attack-list{list-style:none;padding:0}.attack-list li{padding:16px 0;border-top:1px solid #354246}.attack-list p{max-width:75ch;line-height:1.7;font-size:.95rem}
.fact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fact-list dt{color:#b7c2c5;font-size:.85rem}.fact-list dd{margin:8px 0 0}
.term-highlights{padding:20px 24px;background:#192022;border:1px solid #354246;border-radius:16px;margin:28px 0}.term-highlights h2{font-size:1.25rem}.term-highlights ul{list-style:none;margin:0;padding:0}.term-highlights li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #354246;padding:12px 0}.term-highlights a{color:#d4f584}.term-highlights strong{white-space:nowrap}
.table-scroll{overflow-x:auto}.set-checklist table{width:100%;border-collapse:collapse}.set-checklist th,.set-checklist td{text-align:left;padding:10px 12px;border-bottom:1px solid #354246}.set-checklist th{font-size:.85rem;color:#b7c2c5}.checklist-toggle{font-size:.85rem;min-height:44px;padding:8px 12px}.set-checklist a{color:#d4f584}
.catalog-card{position:relative}.owned-marker{position:absolute;top:12px;left:12px;z-index:2;background:#d4f584;color:#172016;border-radius:6px;font-size:.75rem;padding:5px 8px}.owned-marker[hidden]{display:none}
.collection-views{display:flex;flex-wrap:wrap;gap:8px}.collection-views [aria-pressed=true]{border-color:#d4f584;color:#d4f584}
.nav-guide-link{font-size:.95rem;white-space:nowrap;color:#bcc8c9}.offer-filter-note{flex-basis:100%;margin:0 0 12px}
.term-logo{object-fit:contain;max-width:240px;height:120px}.term-description p{max-width:75ch}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.entry-links{grid-template-columns:1fr}.fact-list{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-toolbar{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:520px){.fact-list{grid-template-columns:1fr}.card-gameplay,.set-checklist,.guide-tile,.term-highlights{padding:16px}.term-highlights li{flex-wrap:wrap;gap:8px}.set-checklist th,.set-checklist td{padding:10px 6px}.reading-panel h1{font-size:2.2rem}}

/* Discovery pages and local set filters; offer data remains server-rendered. */
.pokemon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.pokemon-tile{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none}
.pokemon-tile:hover{border-color:var(--accent)}.pokemon-tile span{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted)}
.pokemon-tile .icon{width:18px}.pokemon-tile[hidden],.set-checklist tr[hidden]{display:none}
.discovery-search{display:grid;gap:8px;max-width:420px}.discovery-search input{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.checklist-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:18px 0}.checklist-controls label{display:grid;gap:8px}.checklist-controls select{min-width:240px}
.offer-filter-note{display:flex;align-items:center;gap:10px}.offer-filter-note input{width:18px;height:18px;accent-color:var(--accent)}
.nav-discovery-link{white-space:nowrap;font-size:13px;color:var(--muted)}.site-nav{gap:22px}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;justify-content:space-between;padding-block:16px}.js .menu-toggle{display:inline-flex;min-height:44px}.site-nav{width:100%;flex-wrap:wrap;margin-left:0;padding-top:14px;border-top:1px solid var(--line)}.js .site-nav:not(.is-open){display:none}.pokemon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.pokemon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pokemon-tile{padding:16px}.checklist-controls select{min-width:0;max-width:100%}.checklist-controls{align-items:flex-start;gap:10px}.set-checklist td,.set-checklist th{font-size:.85rem}.set-checklist table{min-width:640px}}
