/* KAMP 19.10.2026 — text contrast >= 4.5:1 (WCAG AA), per the IWS optimisation method. Same palette, slightly deeper copper and grey.
   Remove this one file to return to the previous colours. */
:root{--copper:#99642f;--muted:#5f6b7c}
/* Catalogue: keep room for the cards while they load, so the sections below do not jump (CLS). */
#inventory:empty{min-height:80vh}
/* width/height attributes only reserve the aspect ratio; the layout's own CSS still decides the size. */
:where(img[width][height]){height:auto}
/* privacy (19.10.2026) */
.kamp-footer-privacy{display:block;margin-top:6px;font-size:12px;color:#d7e2f0;text-decoration:underline;text-underline-offset:2px}
.kamp-privacy-note{font-size:12.5px;line-height:1.5;color:var(--muted,#5f6b7c);margin:8px 0 0}.kamp-privacy-note a{text-decoration:underline}
/* back to top + catalogue paging (19.10.2026) */
.kamp-to-top{position:fixed;right:18px;bottom:22px;z-index:60;width:48px;height:48px;border-radius:50%;border:0;background:#11243f;color:#fff;box-shadow:0 8px 22px rgba(17,36,63,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.kamp-to-top.show{opacity:.92;transform:none;pointer-events:auto}.kamp-to-top:hover{opacity:1}.kamp-to-top:focus-visible{outline:3px solid #99642f;outline-offset:2px}
@media(max-width:760px){.kamp-has-dock .kamp-to-top{bottom:84px}.kamp-to-top{right:14px;width:44px;height:44px}}
.kamp-more{text-align:center;margin:22px 0 4px}.kamp-more .btn{min-width:260px}.kamp-more .btn span{opacity:.8;font-weight:600}.kamp-more-note{font-size:13px;color:var(--muted,#5f6b7c);margin-top:8px}
.kamp-matches{margin-top:18px;border:1px solid var(--line,#e3e8ef);border-radius:16px;padding:16px;background:#fff}.kamp-matches h3{margin:0 0 10px;color:var(--navy,#11243f);font-size:1.05rem}
.kamp-matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.kamp-match{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line,#e3e8ef);border-radius:12px;background:#fff;padding:0;overflow:hidden;cursor:pointer;font:inherit;color:inherit}
.kamp-match img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#dde3ea}.kamp-match span{padding:8px 10px;font-size:13.5px;line-height:1.45}.kamp-matches-note{font-size:13px;color:var(--muted,#5f6b7c);margin:10px 0 0}

.kamp-encar-wait{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 0;font-weight:600}.kamp-encar-wait small{flex-basis:100%;font-weight:400;color:var(--muted,#5f6b7c)}
.kamp-spin{width:18px;height:18px;border:3px solid #d6dde6;border-top-color:var(--copper,#99642f);border-radius:50%;animation:kampspin .9s linear infinite}@keyframes kampspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.kamp-spin{animation-duration:3s}}.kamp-encar-car{cursor:default}
@media (max-width:520px){.kamp-matches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kamp-match span{font-size:12.5px}}
.kamp-req-extras{border:1px solid var(--line,#e3e8ef);border-radius:12px;padding:10px 14px;background:#fafbfc}.kamp-req-extras summary{cursor:pointer;font-weight:700;font-size:14px;color:#263b54;min-height:28px;list-style-position:inside}
.kamp-req-extras .check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px;margin-top:10px}.kamp-req-extras label{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:400;min-height:32px}
.kamp-req-count{color:var(--copper,#99642f)}
.m01-field.kamp-req-extras .check-grid label{justify-content:flex-start;text-align:left;font-weight:400;font-size:14px;color:inherit;line-height:1.3}
.m01-field.kamp-req-extras input[type=checkbox]{width:20px;height:20px;min-height:0;flex:0 0 20px;margin:0;padding:0;accent-color:var(--navy,#11243f)}
