/* /assets/kamp-footer-approved.css */
/* KAMP footer approved compact one-row design, isolated local candidate 17 Oct 2026 */
body footer.footer.kamp-footer-v2 {display:block!important;position:relative!important;min-height:0!important;height:auto!important;max-height:none!important;box-sizing:border-box!important;margin:0!important;padding:24px clamp(22px,3vw,54px)!important;background:#112641!important;color:#f6f8fc!important;border:0!important;font:14px/1.35 Arial,sans-serif!important;text-align:left!important;overflow:visible!important}
body footer.footer.kamp-footer-v2 * {box-sizing:border-box!important;position:static!important;float:none!important;transform:none!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-inner {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important;align-items:center!important;width:100%!important;max-width:1440px!important;margin:0 auto!important;padding:0!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-main {display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;padding:0!important}
body footer.footer.kamp-footer-v2 .kamp-footer-brand-name {font-size:24px!important;font-weight:750!important;letter-spacing:.01em!important;line-height:1.1!important;color:#fff!important}
body footer.footer.kamp-footer-v2 .kamp-footer-brand-sub {font-size:14px!important;font-weight:400!important;color:#fff!important;line-height:1.35!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-note {font-size:12px!important;font-weight:400!important;color:#b9c6d9!important;line-height:1.35!important;margin:1px 0 0!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-social {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:10px!important;min-width:0!important;margin:0!important;padding:0!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-facebook {display:inline-flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important;color:#fff!important;text-decoration:none!important;font-size:15px!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-facebook svg {width:22px!important;height:22px!important;fill:#fff!important;display:block!important}
body footer.footer.kamp-footer-v2 .kamp-footer-contact-button {display:inline-block!important;background:transparent!important;border:0!important;border-radius:0!important;color:#fff!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;cursor:pointer!important;text-decoration:underline!important;text-underline-offset:4px!important;font:15px/1.4 Arial,sans-serif!important;white-space:nowrap!important}
body footer.footer.kamp-footer-v2 .kamp-footer-contact-phone {color:#fff!important;font-size:14px!important;font-weight:600!important;text-decoration:underline!important;text-underline-offset:3px!important;white-space:nowrap!important}
body footer.footer.kamp-footer-v2 .kamp-footer-contact-phone[hidden] {display:none!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit {display:flex!important;flex-direction:column!important;justify-self:end!important;align-items:flex-end!important;justify-content:center!important;gap:5px!important;margin:0!important;padding:0!important;color:#e4eaf4!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit a {display:block!important;line-height:0!important}
body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit img {display:block!important;width:114px!important;max-width:114px!important;height:auto!important;object-fit:contain!important}
@media(max-width:700px){body footer.footer.kamp-footer-v2{padding:20px 18px!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px 10px!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-main{grid-column:1!important;grid-row:1!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit{grid-column:2!important;grid-row:1!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-social{grid-column:1/-1!important;grid-row:2!important}body footer.footer.kamp-footer-v2 .kamp-footer-brand-name{font-size:20px!important}body footer.footer.kamp-footer-v2 .kamp-footer-brand-sub{font-size:12px!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit img{width:104px!important;max-width:104px!important}}
@media(max-width:360px){body footer.footer.kamp-footer-v2 .kamp-footer-brand-sub{font-size:11px!important}body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit img{width:90px!important;max-width:90px!important}}

/* IWS-BP-CHANGE-001: approved compact desktop footer; mobile styles untouched */
@media (min-width:701px) {
 body footer.footer.kamp-footer-v2 {padding:10px clamp(12px,2vw,35px)!important;min-height:54px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-inner {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:clamp(12px,2vw,32px)!important;max-width:none!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-main {display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;white-space:nowrap!important;flex:0 1 auto!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-brand-name {font-size:15px!important;line-height:1.2!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-brand-sub {font-size:13px!important;line-height:1.2!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-note {display:none!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-social {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:clamp(8px,1.5vw,22px)!important;flex:0 0 auto!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-facebook {gap:5px!important;font-size:13px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-facebook svg {width:17px!important;height:17px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-contact-button {font-size:13px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-contact-phone {font-size:12px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex:0 0 auto!important;font-size:12px!important;}
 body footer.footer.kamp-footer-v2 .kamp-footer-v2-credit img {width:57px!important;max-width:57px!important;height:auto!important;}
}

/* KAMP v1.0 release identifier — unobtrusive; original footer grid untouched. */
body footer.footer.kamp-footer-v2 {position:relative!important; padding-bottom:clamp(15px,1.25vw,19px)!important;}
body footer.footer.kamp-footer-v2 .kamp-release-version {position:absolute;right:clamp(22px,3vw,54px);bottom:3px;font:400 9px/1.1 Arial,sans-serif;color:#c5cfdb;letter-spacing:.025em;white-space:nowrap;opacity:.85;pointer-events:none;}
@media(max-width:700px){body footer.footer.kamp-footer-v2 .kamp-release-version {right:16px;bottom:3px;font-size:9px;}}

/* /assets/kamp-promo.css */
/* KAMP 19.10.2026 — weekend offer (rental fleet): red, visible, on-brand */
.car-card .car-media{position:relative}
.promo-ribbon{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:#c8102e;color:#fff;font-weight:800;font-size:13px;letter-spacing:.02em;padding:7px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(200,16,46,.35)}
.promo-ribbon::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;opacity:.9}
.car-card.has-promo{border-color:#f0b4bd;box-shadow:0 10px 28px rgba(200,16,46,.10)}
.promo-line{color:#c8102e;font-weight:800;font-size:14px;margin:-6px 0 12px}
.promo-box{margin:16px 0 4px;border:1px solid #f0b4bd;border-left:5px solid #c8102e;background:#fff5f6;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;color:#5c1220;font-size:14px}
.promo-box b{color:#c8102e;font-size:16px}
.summary-row.promo-row span,.summary-row.promo-row b{color:#c8102e;font-weight:800}
.rent-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.rent-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;cursor:pointer;display:block}

/* rental section contact (19.10.2026): reveal the rental number on request, like the footer */
.kamp-inline-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}
.kamp-rent-contact{background:#fff;border:1px solid var(--line,#e3e8ef);border-radius:14px;padding:14px 16px}
.kamp-rent-contact span{color:var(--navy,#11243f);font-weight:700;flex:1 1 180px}
.kamp-inline-phone{font-weight:800;font-size:1.15rem;color:var(--navy,#11243f);text-decoration:none}
.kamp-inline-mail{font-weight:700;color:var(--navy,#11243f);text-decoration:underline;word-break:break-all}

/* /assets/kamp-a11y.css */
/* 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)}
a.kamp-encar-car{cursor:pointer;text-decoration:none;color:inherit}a.kamp-encar-car:hover{box-shadow:0 4px 14px rgba(17,36,63,.12)}.kamp-open{color:var(--copper,#99642f);font-weight:700}
