/* Wayke Bilhall 0.34.0. Alla selektorer är isolerade under .wayke-app. */
.wayke-app {
  box-sizing: border-box;
  --wk-accent: #af2434;
  --wk-accent-hover: #8f1929;
  --wk-ink: #17191c;
  --wk-muted: #686769;
  --wk-line: #e4e1de;
  --wk-surface: #f7f6f4;
  --wk-paper: #ffffff;
  --wk-radius: 13px;
  --wk-shadow: 0 18px 48px rgba(25, 23, 24, .11);
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 26px 18px 58px;
  color: var(--wk-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.45;
  background: transparent;
}
.wayke-app *, .wayke-app *::before, .wayke-app *::after { box-sizing: border-box; }
.wayke-app a { color: inherit; text-decoration: none; }
.wayke-app a:hover { text-decoration: none; }
.wayke-app img { display: block; max-width: 100%; }
.wayke-app h1, .wayke-app h2, .wayke-app h3, .wayke-app h4, .wayke-app p { margin: 0; }
.wayke-app h1, .wayke-app h2, .wayke-app h3 { line-height: 1.2; color: var(--wk-ink); font-family: inherit; letter-spacing: -.025em; }
.wayke-app button, .wayke-app input, .wayke-app select { font: inherit; }
.wayke-app :focus-visible { outline: 3px solid var(--wk-accent); outline-offset: 3px; }
.wayke-app [hidden] { display: none !important; }
.wayke-app svg { width: 20px; height: 20px; flex: 0 0 auto; }
.wayke-app .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wayke-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 27px; }
.wayke-eyebrow { display: inline-block; margin-bottom: 8px; color: var(--wk-accent); text-transform: uppercase; font-size: .72rem; font-weight: 750; letter-spacing: .15em; }
.wayke-heading h2 { font-size: clamp(2.1rem, 3vw, 3.4rem); font-weight: 760; }
.wayke-heading p { color: var(--wk-muted); margin-top: 8px; font-size: .95rem; }
.wayke-search-panel { margin-bottom: 22px; }
.wayke-form { margin: 0; }
.wayke-search-line { display: flex; gap: 12px; width: 100%; margin-bottom: 13px; align-items: stretch; }
.wayke-search-box { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 13px; padding: 0 20px; background: var(--wk-paper); border: 1px solid var(--wk-line); border-radius: 999px; color: #989392; min-height: 51px; cursor: text; }
.wayke-search-box svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6px; }
.wayke-app .wayke-search-box input { flex: 1 1 auto; min-width: 0; width: 100%; height: 48px; border: 0; box-shadow: none; outline: 0; background: transparent; color: var(--wk-ink); font-size: .92rem; padding: 0; border-radius: 0; }
.wayke-app .wayke-search-box input::placeholder { color: #928c8a; opacity: 1; }
.wayke-search-box:focus-within { border-color: var(--wk-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--wk-accent) 8%, transparent); }
.wayke-app .wayke-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 19px; border: 1px solid var(--wk-line); border-radius: 999px; font-size: .87rem; line-height: 1.3; font-weight: 700; cursor: pointer; background: #fff; color: var(--wk-ink); text-align: center; box-shadow: none; transition: background .16s, border-color .16s, transform .16s; }
.wayke-app .wayke-button:hover { border-color: #bcb7b2; background: var(--wk-surface); color: var(--wk-ink); }
.wayke-app .wayke-button-primary, .wayke-app .wayke-all-filters { color: #fff; background: var(--wk-ink); border-color: var(--wk-ink); }
.wayke-app .wayke-button-primary:hover, .wayke-app .wayke-all-filters:hover { color: #fff; background: var(--wk-accent-hover); border-color: var(--wk-accent-hover); }
.wayke-app .wayke-all-filters { flex: 0 0 auto; min-width: 170px; padding: 13px 19px; white-space: nowrap; }
.wayke-all-filters svg { fill: none; stroke: currentColor; stroke-width: 1.8px; }
.wayke-count-dot { display: inline-grid; place-items: center; background: var(--wk-accent); color: #fff; border-radius: 99px; font-size: .67rem; min-width: 20px; height: 20px; padding: 0 4px; }
.wayke-filter-row { display: flex; gap: 12px; align-items: start; }
.wayke-quick-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; }
.wayke-filter-pop { position: relative; min-width: 0; }
.wayke-filter-pop > summary { list-style: none; }
.wayke-filter-pop > summary::-webkit-details-marker { display: none; }
.wayke-app .wayke-filter-chip { display: inline-flex; gap: 8px; align-items: center; min-height: 40px; border: 1px solid var(--wk-line); border-radius: 999px; padding: 8px 14px; font-weight: 540; font-size: .83rem; color: #444143; background: transparent; white-space: nowrap; cursor: pointer; user-select: none; }
.wayke-app .wayke-filter-chip svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.wayke-filter-chip b { display: grid; place-items: center; background: var(--wk-accent); color: white; border-radius: 99px; width: 19px; height: 19px; font-weight: 700; font-size: .69rem; }
.wayke-app .wayke-filter-pop[open] .wayke-filter-chip, .wayke-app .wayke-filter-chip:hover, .wayke-app .wayke-filter-chip.is-selected { border-color: var(--wk-ink); background: var(--wk-ink); color: white; }
.wayke-pop-content { position: absolute; top: calc(100% + 10px); left: 0; z-index: 40; width: min(320px, calc(100vw - 36px)); max-height: min(530px, 72vh); display: flex; flex-direction: column; gap: 15px; padding: 21px; border: 1px solid var(--wk-line); border-radius: 16px; box-shadow: var(--wk-shadow); background: white; overflow: auto; }
.wayke-filter-pop:nth-last-child(-n+2) .wayke-pop-content { left: auto; right: 0; }
.wayke-check-group, .wayke-range-group { border: 0; padding: 0; margin: 0; min-width: 0; }
.wayke-check-group legend, .wayke-range-group legend { padding: 0 0 10px; color: var(--wk-ink); font-size: .91rem; font-weight: 760; }
.wayke-range-group legend small { font-size: .8rem; color: var(--wk-muted); font-weight: 400; }
.wayke-check-group { display: flex; flex-direction: column; gap: 2px; }
.wayke-check { display: flex; align-items: center; gap: 11px; min-height: 38px; font-size: .88rem; cursor: pointer; }
.wayke-app .wayke-check input { width: 17px; height: 17px; margin: 0; padding: 0; border: 1px solid var(--wk-line); border-radius: 4px; flex: 0 0 auto; accent-color: var(--wk-accent); }
.wayke-check span { flex: 1 1 auto; }
.wayke-check small { color: #999; font-size: .74rem; }
.wayke-filter-hint { color: var(--wk-muted); font-size: .81rem; }
.wayke-range-inputs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.wayke-number { min-width: 0; display: flex; flex-direction: column; gap: 6px; color: var(--wk-muted); font-size: .79rem; }
.wayke-app .wayke-number input { width: 100%; min-width: 0; height: 43px; margin: 0; border: 1px solid var(--wk-line); border-radius: 8px; padding: 9px 11px; color: var(--wk-ink); background: #fff; box-shadow: none; font-size: .9rem; }
.wayke-app .wayke-number input:focus { border-color: var(--wk-accent); outline: 0; }
.wayke-pop-apply { background: var(--wk-ink); color: #fff; border: 0; width: 100%; min-height: 42px; border-radius: 8px; font-size: .85rem; font-weight: 700; cursor: pointer; }
.wayke-pop-apply:hover { background: var(--wk-accent-hover); }
.wayke-active-filters { display: flex; align-items: center; gap: 13px; margin: 12px 0 0; font-size: .79rem; color: var(--wk-muted); }
.wayke-app .wayke-active-filters a { text-decoration: underline; color: var(--wk-accent); font-weight: 700; }
.wayke-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 17px; }
.wayke-toolbar p { color: #605e5f; font-size: .87rem; }
.wayke-toolbar-right { display: flex; gap: 16px; align-items: center; }
.wayke-app .wayke-favorites-link { display: inline-flex; align-items: center; gap: 7px; color: var(--wk-ink); border: 0; background: none; padding: 8px 2px; font-weight: 680; font-size: .82rem; cursor: pointer; }
.wayke-favorites-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.wayke-favorites-link:hover { color: var(--wk-accent); }
.wayke-favorites-link span { background: #f2eded; border-radius: 99px; min-width: 20px; text-align: center; font-size: .75rem; padding: 2px 5px; }
.wayke-app .wayke-sort-label select { appearance: auto; border: 1px solid var(--wk-line); background: var(--wk-paper); border-radius: 999px; height: 42px; font-size: .8rem; color: var(--wk-ink); padding: 7px 28px 7px 13px; cursor: pointer; box-shadow: none; }
.wayke-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 19px; }
.wayke-card { position: relative; min-width: 0; display: flex; flex-direction: column; background: var(--wk-paper); border: 1px solid var(--wk-line); border-radius: 12px; overflow: hidden; transition: border-color .18s, transform .18s, box-shadow .18s; }
.wayke-card:hover { transform: translateY(-3px); border-color: #cbc6c3; box-shadow: 0 14px 34px rgba(34,28,27,.075); }
.wayke-app .wayke-card-link { color: var(--wk-ink); display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.wayke-card-media { aspect-ratio: 1.6; width: 100%; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; background: #f2f1f0; }
.wayke-card-media > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.wayke-card:hover .wayke-card-media > img { transform: scale(1.03); }
.wayke-no-image { color: var(--wk-muted); font-size: .86rem; }
.wayke-card-tags { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 5px; padding-right: 46px; }
.wayke-card-tag { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: rgba(31,28,29,.67); color: #fff; font-size: .69rem; font-weight: 650; backdrop-filter: blur(7px); }
.wayke-app .wayke-heart { position: absolute; top: 11px; right: 11px; z-index: 2; display: grid; place-items: center; width: 37px; height: 37px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; background: rgba(33,31,31,.36); cursor: pointer; box-shadow: none; backdrop-filter: blur(6px); transition: background .15s, color .15s; }
.wayke-heart svg { width: 20px; height: 20px; }
.wayke-app .wayke-heart:hover, .wayke-app .wayke-heart.is-saved { color: white; background: var(--wk-accent); border-color: var(--wk-accent); }
.wayke-heart.is-saved svg { fill: currentColor; }
.wayke-card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 19px 20px 19px; }
.wayke-location { display: flex; align-items: center; gap: 6px; margin-bottom: 9px !important; color: #666364; font-size: .76rem; }
.wayke-location svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.wayke-card-body h3 { min-height: 2.6em; margin-bottom: 13px; font-size: clamp(1rem, 1.25vw, 1.2rem); font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.wayke-features { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 15px; }
.wayke-features > span { font-size: .72rem; color: #595455; background: #f5f4f3; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.wayke-card-footer { display: flex; gap: 8px; align-items: end; justify-content: space-between; padding-top: 13px; border-top: 1px solid var(--wk-line); margin-top: auto; }
.wayke-card-footer > div { display: flex; flex-wrap: wrap; flex-direction: column; gap: 2px; }
.wayke-card-footer small { color: #868081; font-size: .72rem; }
.wayke-card-footer strong { color: var(--wk-ink); font-size: clamp(1.05rem, 1.35vw, 1.35rem); font-weight: 790; letter-spacing: -.02em; }
.wayke-card-footer del { color: #8d8788; font-size: .75rem; }
.wayke-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.wayke-pagination span { color: var(--wk-muted); font-size: .83rem; }
.wayke-app .wayke-pagination a { border: 1px solid var(--wk-line); border-radius: 99px; padding: 10px 17px; font-size: .82rem; }
.wayke-app .wayke-pagination a:hover { background: var(--wk-ink); color: #fff; }
/* Infinite scroll: pagineringen är kvar som reserv för besökare utan JavaScript. */
.wayke-app.is-infinite-enabled .wayke-pagination { display: none; }
.wayke-infinite { display: none; min-height: 46px; margin-top: 25px; text-align: center; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; color: var(--wk-muted); font-size: .85rem; }
.wayke-app.is-infinite-enabled .wayke-infinite { display: flex; }
.wayke-infinite[hidden], .wayke-infinite [hidden] { display: none !important; }
.wayke-infinite p { margin: 0; }
.wayke-infinite-spinner { display: none; width: 21px; height: 21px; border: 2px solid var(--wk-line); border-top-color: var(--wk-accent); border-radius: 50%; animation: wayke-spin .7s linear infinite; }
.wayke-infinite.is-loading-more .wayke-infinite-spinner { display: block; }
@keyframes wayke-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .wayke-infinite-spinner { animation-duration: 1.5s; } }
.wayke-empty, .wayke-message { padding: 38px 30px; background: var(--wk-surface); border: 1px solid var(--wk-line); border-radius: 12px; }
.wayke-empty h3 { font-size: 1.4rem; margin-bottom: 10px; }
.wayke-empty p { margin-bottom: 20px; color: var(--wk-muted); }
.wayke-app.is-loading .wayke-results { opacity: .35; pointer-events: none; }
.wayke-app.is-loading .wayke-search-panel { opacity: .65; }
/* Alla filter öppnas som en tillgänglig native dialog, även på mobil. */
.wayke-app .wayke-filter-modal { position: fixed; inset: 0 0 0 auto; width: min(540px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 0; margin: 0; border: 0; border-radius: 0; background: white; color: var(--wk-ink); box-shadow: -20px 0 60px rgba(0,0,0,.17); overflow: hidden; }
.wayke-filter-modal::backdrop { background: rgba(14,14,15,.52); }
.wayke-filter-modal[open] { display: flex; flex-direction: column; }
.wayke-modal-head { padding: 24px 27px; display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--wk-line); }
.wayke-modal-head small { color: var(--wk-accent); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 700; }
.wayke-modal-head h3 { font-size: 1.6rem; margin-top: 5px; }
.wayke-app .wayke-icon-close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--wk-line); border-radius: 50%; background: white; color: var(--wk-ink); padding: 0; font-size: 1.45rem; font-weight: 300; cursor: pointer; }
.wayke-modal-content { padding: 25px 27px; overflow-y: auto; flex: 1 1 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; align-items: start; gap: 27px 22px; }
.wayke-modal-content > .wayke-check-group { max-height: 300px; overflow-y: auto; }
.wayke-modal-content .wayke-range-group { grid-column: 1 / -1; }
.wayke-modal-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 20px 27px; border-top: 1px solid var(--wk-line); }
.wayke-app .wayke-modal-footer a { color: var(--wk-accent); text-decoration: underline; font-size: .81rem; font-weight: 700; }
/* Favoriter, sparade på användarens enhet. */
.wayke-favorites-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.wayke-favorites-heading h3 { font-size: 1.65rem; margin-bottom: 6px; }
.wayke-favorites-heading p { font-size: .9rem; color: var(--wk-muted); }
.wayke-app.is-favorites .wayke-search-panel { display: none; }
/* Detaljvy: behåll ursprungsversionens galleri och fordonsfakta. */
.wayke-app .wayke-back { display: inline-flex; color: var(--wk-accent); margin-bottom: 22px; font-size: .88rem; font-weight: 700; }
.wayke-detail-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 25px; }
.wayke-detail-header h1 { font-size: clamp(1.8rem, 3vw, 3rem); max-width: 820px; margin-bottom: 13px; }
.wayke-detail-features { font-size: .88rem; }
.wayke-detail-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wayke-detail-save { white-space: nowrap; }
.wayke-detail-save svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.wayke-detail-save.is-saved svg { fill: var(--wk-accent); color: var(--wk-accent); }
.wayke-sold { display: inline-block; padding: 8px 13px; background: #f6dddd; color: #811e1e; border-radius: 8px; font-weight: 750; }
.wayke-gallery { margin-bottom: 30px; }
.wayke-gallery-main { aspect-ratio: 16 / 8; overflow: hidden; border-radius: var(--wk-radius); background: var(--wk-surface); }
.wayke-gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.wayke-thumbnails { display: flex; gap: 10px; padding: 12px 2px; overflow-x: auto; }
.wayke-app .wayke-thumb { padding: 0; border: 2px solid transparent; background: var(--wk-surface); width: 108px; height: 75px; border-radius: 7px; overflow: hidden; flex: 0 0 auto; cursor: pointer; }
.wayke-app .wayke-thumb.is-active { border-color: var(--wk-accent); }
.wayke-thumb img { width: 100%; height: 100%; object-fit: cover; }
.wayke-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(285px,345px); gap: 36px; align-items: start; min-width: 0; max-width: 100%; }
.wayke-detail-content, .wayke-detail-aside { min-width: 0; max-width: 100%; }
.wayke-panel { border-top: 1px solid var(--wk-line); padding: 25px 0; }
.wayke-panel h2 { font-size: 1.55rem; margin-bottom: 17px; }
.wayke-description { font-size: .94rem; line-height: 1.76; overflow-wrap: anywhere; }
.wayke-description p + p { margin-top: 15px; }
.wayke-equipment { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 24px; }
.wayke-equipment li { padding-left: 22px; position: relative; font-size: .9rem; }
.wayke-equipment li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--wk-accent); font-weight: 800; }
.wayke-detail-aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 19px; }
.wayke-price-box, .wayke-contact-box { display: flex; flex-direction: column; gap: 10px; padding: 26px; border: 1px solid var(--wk-line); border-radius: var(--wk-radius); background: #fff; }
.wayke-price-box > span { color: var(--wk-muted); font-size: .83rem; }
.wayke-price-box > strong { font-size: 2rem; }
.wayke-price-box > del { font-size: .85rem; color: #888; }
.wayke-price-box h3, .wayke-contact-box h3 { font-size: 1.08rem; margin-top: 11px; }
.wayke-price-box p, .wayke-contact-box p { font-size: .88rem; color: var(--wk-muted); }
.wayke-contact-box { background: var(--wk-surface); }
@media (max-width: 1340px) { .wayke-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 1000px) {
  .wayke-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wayke-detail-grid { grid-template-columns: minmax(0,1fr); }
  .wayke-detail-aside { position: static; }
}
@media (max-width: 700px) {
  .wayke-app { padding: 18px 12px 40px; }
  .wayke-heading h2 { font-size: 2.05rem; }
  .wayke-heading p { font-size: .86rem; }
  .wayke-search-line { gap: 9px; }
  .wayke-app .wayke-all-filters { min-width: 0; padding: 9px 12px; font-size: 0; }
  .wayke-app .wayke-all-filters svg { width: 21px; height: 21px; }
  .wayke-all-filters .wayke-count-dot { font-size: .7rem; }
  .wayke-quick-filters { flex-wrap: nowrap; overflow-x: auto; padding: 0 0 7px; width: 100%; scrollbar-width: thin; }
  .wayke-filter-pop { position: static; }
  .wayke-pop-content { position: absolute; left: 10px !important; right: 10px !important; top: auto; margin-top: 8px; width: auto; max-width: none; }
  .wayke-filter-row { position: relative; }
  .wayke-toolbar { align-items: start; }
  .wayke-toolbar-right { gap: 10px; }
  .wayke-app .wayke-sort-label select { width: 135px; }
  .wayke-modal-content { gap: 22px 15px; padding: 18px; }
  .wayke-modal-head, .wayke-modal-footer { padding: 18px; }
  .wayke-detail-header { flex-direction: column; }
  .wayke-gallery-main { aspect-ratio: 4 / 3; }
}
@media (max-width: 560px) {
  .wayke-grid { grid-template-columns: 1fr; gap: 13px; }
  .wayke-card-media { aspect-ratio: 1.7; }
  .wayke-card-body { padding: 18px; }
  .wayke-card-body h3 { min-height: 0; font-size: 1.12rem; }
  .wayke-toolbar { flex-wrap: wrap; }
  .wayke-toolbar-left { width: 100%; }
  .wayke-toolbar-right { width: 100%; justify-content: space-between; }
  .wayke-favorites-heading { align-items: start; flex-direction: column; }
  .wayke-modal-content { grid-template-columns: 1fr; }
  .wayke-modal-content > .wayke-check-group { max-height: 220px; }
  .wayke-modal-content .wayke-range-group { grid-column: auto; }
  .wayke-equipment { grid-template-columns: 1fr; }
  .wayke-thumb { width: 80px !important; height: 60px !important; }
}
@media (prefers-reduced-motion: reduce) { .wayke-app *, .wayke-app *::before, .wayke-app *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Kampanjfilter. Synkat med filterpanelen, fungerar utan JS vid formulärskickning. */
.wayke-app .wayke-campaign-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; position: relative; min-height: 40px; padding: 8px 14px; border: 1px solid var(--wk-line); border-radius: 99px; color: #444143; background: transparent; font-size: .83rem; font-weight: 560; cursor: pointer; user-select: none; white-space: nowrap; }
.wayke-app .wayke-campaign-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; overflow: hidden; }
.wayke-app .wayke-campaign-toggle.is-selected, .wayke-app .wayke-campaign-toggle:has(input:checked), .wayke-app .wayke-campaign-toggle:hover { background: var(--wk-ink); border-color: var(--wk-ink); color: #fff; }
.wayke-app .wayke-campaign-toggle:has(input:focus-visible) { outline: 3px solid var(--wk-accent); outline-offset: 3px; }
.wayke-app .wayke-campaign-group { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.wayke-app .wayke-campaign-group .wayke-campaign-toggle { width: auto; }
.wayke-app .wayke-premium-disclaimer { font-size: .82rem; color: var(--wk-muted); line-height: 1.5; margin: 0 0 20px; max-width: 100%; }

/* Egen scope så shortcode fungerar utanför .wayke-app, exempelvis i header.php. */
.wayke-favorites-header { --wk-header-accent: var(--wk-accent, #af2434); display: inline-flex; position: relative; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 12px; border-radius: 99px; border: 1px solid currentColor; color: inherit; font-family: inherit; font-size: .9rem; font-weight: 650; line-height: 1.3; text-decoration: none; vertical-align: middle; white-space: nowrap; transition: color .15s, border-color .15s, background .15s; }
.wayke-favorites-header:hover { border-color: var(--wk-header-accent); color: var(--wk-header-accent); text-decoration: none; }
.wayke-favorites-header:focus-visible { outline: 3px solid var(--wk-header-accent); outline-offset: 3px; }
.wayke-favorites-header > svg { width: 20px; height: 20px; stroke: currentColor; flex-shrink: 0; }
.wayke-favorites-header.has-favorites > svg { fill: currentColor; }
.wayke-favorites-header-count { display: inline-grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 99px; background: var(--wk-header-accent); color: #fff; font-size: .74rem; font-weight: 750; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) { .wayke-favorites-header { min-height: 38px; padding: 7px 10px; } }

/* Fristående bilvy använder temats header och footer. */
.wayke-standalone { width: 100%; margin: 0 auto; min-width: 0; }
.wayke-standalone-inner { width: min(100% - 32px, 1540px); margin: 0 auto; padding: clamp(26px, 5vw, 70px) 0; }


/* v0.11: Toveks-inspirerade tekniska specifikationer, Michelsens färger. */
.wayke-detail .wayke-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:20px; }
.wayke-detail .wayke-section-heading h2 { margin:0; }
.wayke-detail .wayke-section-heading p { font-size:.82rem; color:var(--wk-muted); }
.wayke-spec-layout { display:flex; flex-direction:column; gap:18px; min-width:0; width:100%; }
.wayke-spec-section { display:block; width:100%; min-width:0; margin:0; background:var(--wk-paper); border:1px solid var(--wk-line); border-radius:var(--wk-radius); overflow:hidden; }
.wayke-spec-section h3 { font-size:1rem; font-weight:760; margin:0; padding:15px 18px; border-bottom:1px solid var(--wk-line); background:var(--wk-surface); }
.wayke-spec-list { padding:4px 18px; margin:0; }
.wayke-spec-row { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:11px 0; font-size:.845rem; line-height:1.45; border-bottom:1px solid var(--wk-line); }
.wayke-spec-row:last-child { border-bottom:0; }
.wayke-spec-row dt { color:var(--wk-muted); overflow-wrap:anywhere; }
.wayke-spec-row dd { margin:0; color:var(--wk-ink); font-weight:620; text-align:right; overflow-wrap:anywhere; }
.wayke-equipment-panel .wayke-equipment { margin-top:8px; }
@media (max-width: 760px) {
  .wayke-detail .wayke-section-heading { display:block; }
  .wayke-detail .wayke-section-heading p { margin-top:6px; }
}
@media (max-width: 420px) {
  .wayke-spec-row { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:8px; }
  .wayke-spec-list { padding:4px 13px; }
}

/* v0.13: En kolumn för specifikationer. Lokal horisontell scroll för kategorier. */
.wayke-detail .wayke-panel,
.wayke-detail .wayke-specifications,
.wayke-spec-browser,
.wayke-spec-panel {
  min-width:0;
  max-width:100%;
}
.wayke-spec-browser { width:100%; }
.wayke-spec-tabs { display:none; }
.wayke-spec-browser.is-enhanced .wayke-spec-tabs {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0 0 24px;
  padding:0 0 3px;
}
.wayke-app .wayke-spec-tab {
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:0;
  min-height:42px;
  width:auto;
  padding:10px 16px;
  background:var(--wk-paper);
  border:1px solid var(--wk-line);
  border-radius:999px;
  color:var(--wk-ink);
  font:inherit;
  font-size:.84rem;
  font-weight:660;
  line-height:1.25;
  text-align:center;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease;
}
.wayke-app .wayke-spec-tab:hover { border-color:var(--wk-accent); color:var(--wk-accent); }
.wayke-app .wayke-spec-tab[aria-selected="true"] { background:var(--wk-ink); color:#fff; border-color:var(--wk-ink); }
.wayke-app .wayke-spec-tab:focus-visible { outline:3px solid var(--wk-accent); outline-offset:3px; }
.wayke-spec-panel[hidden] { display:none !important; }
.wayke-spec-section h4 { font-size:1rem; font-weight:760; margin:0; padding:15px 18px; border-bottom:1px solid var(--wk-line); background:var(--wk-surface); }
@media (max-width:760px) {
  .wayke-spec-browser.is-enhanced .wayke-spec-tabs {
    /* Bara knappraden scrollar. Föräldrarna tillåts aldrig växa av knappbredden. */
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    width:100%;
    min-width:0;
    max-width:100%;
    padding:2px 0 12px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .wayke-app .wayke-spec-tab { scroll-snap-align:start; }
}

/* v0.15: Utrustning visas separat under specifikationerna, utan tabellramar. */
.wayke-equipment-panel { min-width:0; max-width:100%; }
.wayke-equipment-panel .wayke-equipment-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 28px;
  margin:0;
  padding:0;
  list-style:none;
}
.wayke-equipment-panel .wayke-equipment-list li {
  position:relative;
  min-width:0;
  padding-left:22px;
  font-size:.91rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.wayke-equipment-panel .wayke-equipment-list li::before {
  content:'✓';
  position:absolute;
  top:0;
  left:0;
  color:var(--wk-accent);
  font-weight:800;
}
/* En sammanhängande lista: knappen ligger alltid under alla synliga utrustningspunkter. */
.wayke-equipment-panel .wayke-equipment-list.is-collapsed .wayke-equipment-extra { display:none !important; }
.wayke-app .wayke-equipment-toggle {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:42px;
  margin-top:24px;
  padding:9px 17px;
  border:1px solid var(--wk-ink);
  border-radius:999px;
  color:var(--wk-ink);
  background:var(--wk-paper);
  cursor:pointer;
  font-size:.86rem;
  font-weight:700;
  line-height:1.4;
}
.wayke-app .wayke-equipment-toggle[hidden] { display:none !important; }
.wayke-app .wayke-equipment-toggle:hover { border-color:var(--wk-accent); color:var(--wk-accent); }
.wayke-app .wayke-equipment-toggle:focus-visible { outline:3px solid var(--wk-accent); outline-offset:3px; }
.wayke-app .wayke-equipment-toggle::after { content:'+'; font-size:1.15rem; }
.wayke-app .wayke-equipment-toggle[aria-expanded="true"]::after { content:'−'; }
.wayke-equipment-toggle .wayke-show-less { display:none; }
.wayke-equipment-toggle[aria-expanded="true"] .wayke-show-more { display:none; }
.wayke-equipment-toggle[aria-expanded="true"] .wayke-show-less { display:inline; }
@media (max-width:560px) {
  .wayke-equipment-panel .wayke-equipment-list { grid-template-columns:minmax(0,1fr); }
}

/* v0.18: Rubrik i detaljvyn, ingen rubrik på bilhallens sökresultat. */
.wayke-app:not(.wayke-detail) .wayke-heading { display:none; }
.wayke-app .wayke-pop-apply { display:none; }
.wayke-app .wayke-range-group { width:100%; min-width:0; }
.wayke-app .wayke-range-group legend { padding-bottom:24px; font-size:1rem; }
.wayke-app .wayke-dual-range {
  position:relative;
  width:100%;
  height:32px;
  margin:0 0 14px;
  min-width:0;
  touch-action:pan-y;
}
.wayke-app .wayke-dual-track {
  position:absolute;
  top:13px;
  left:13px;
  right:13px;
  height:6px;
  border-radius:99px;
  background:#e2e1e1;
  pointer-events:none;
}
.wayke-app .wayke-dual-fill {
  display:block;
  position:absolute;
  top:0;
  bottom:0;
  left:var(--wk-range-start,0%);
  right:calc(100% - var(--wk-range-end,100%));
  border-radius:inherit;
  background:var(--wk-ink);
}
.wayke-app .wayke-dual-range input[type="range"] {
  position:absolute;
  inset:0;
  width:100%;
  height:32px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  outline-offset:6px;
  box-shadow:none;
  pointer-events:none;
  cursor:pointer;
}
.wayke-app .wayke-dual-range input[type="range"]::-webkit-slider-runnable-track { height:6px; background:transparent; border:0; }
.wayke-app .wayke-dual-range input[type="range"]::-moz-range-track { height:6px; background:transparent; border:0; }
.wayke-app .wayke-dual-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:27px;
  height:27px;
  margin-top:-10.5px;
  border:4px solid #fff;
  border-radius:50%;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  background:var(--wk-ink);
  pointer-events:auto;
}
.wayke-app .wayke-dual-range input[type="range"]::-moz-range-thumb {
  width:19px;
  height:19px;
  border:4px solid #fff;
  border-radius:50%;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  background:var(--wk-ink);
  pointer-events:auto;
}
.wayke-app .wayke-dual-range input[type="range"]:focus-visible { outline:2px solid var(--wk-accent); outline-offset:4px; }
.wayke-app .wayke-range-values {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  color:var(--wk-ink);
  font-size:.85rem;
  font-weight:630;
  font-variant-numeric:tabular-nums;
  line-height:1.35;
}
.wayke-app .wayke-range-values output { min-width:0; overflow-wrap:anywhere; }
.wayke-app .wayke-range-values output:last-child { text-align:right; }
.wayke-app .wayke-range-values > span { color:var(--wk-muted); }
.wayke-app .wayke-pop-content .wayke-range-group { min-width:220px; }
.wayke-app .wayke-modal-content .wayke-range-group { padding:5px 0 16px; }
.wayke-app.is-loading .wayke-search-panel { opacity:1; }

/* v0.17: Galleri och fordonsöversikt sida vid sida, innehåll nedanför. */
.wayke-detail .wayke-detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,395px);
  grid-template-areas:"gallery aside" "content aside";
  column-gap:clamp(20px,3vw,40px);
  row-gap:0;
  align-items:start;
  max-width:100%;
  min-width:0;
}
.wayke-detail .wayke-gallery-column { grid-area:gallery; min-width:0; max-width:100%; }
.wayke-detail .wayke-detail-content { grid-area:content; min-width:0; max-width:100%; }
.wayke-detail .wayke-detail-aside { grid-area:aside; align-self:start; position:sticky; top:24px; }
.wayke-detail .wayke-gallery {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:24px;
  width:100%;
  max-width:100%;
  min-width:0;
}
.wayke-detail .wayke-gallery-main {
  aspect-ratio:4 / 3;
  border-radius:var(--wk-radius);
  min-width:0;
  width:100%;
  overflow:hidden;
}
.wayke-detail .wayke-gallery-main img { width:100%; height:100%; object-fit:cover; }
/* En separat, svepbar rad direkt under den aktiva bilden. */
.wayke-detail .wayke-thumbnails {
  display:flex;
  flex-direction:row;
  gap:8px;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto;
  margin:0;
  padding:2px 2px 10px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  touch-action:pan-x;
}
.wayke-detail.wayke-app .wayke-thumb {
  display:block;
  flex:0 0 112px;
  width:112px;
  min-width:0;
  height:80px;
  border-radius:8px;
  scroll-snap-align:start;
}
.wayke-detail .wayke-thumb img { width:100%; height:100%; object-fit:cover; }
.wayke-detail .wayke-price-box { gap:15px; padding:clamp(18px,2vw,27px); }
.wayke-detail .wayke-price-box h1 { font-size:clamp(1.55rem,2vw,2rem); line-height:1.15; letter-spacing:-.025em; overflow-wrap:anywhere; }
.wayke-detail .wayke-price-box .wayke-summary-location { margin:0; color:var(--wk-muted); font-size:.8rem; }
.wayke-detail .wayke-summary-price { display:flex; flex-direction:column; gap:3px; margin:6px 0 0; padding-bottom:16px; border-bottom:1px solid var(--wk-line); }
.wayke-detail .wayke-summary-price > span { font-size:.75rem; color:var(--wk-muted); }
.wayke-detail .wayke-summary-price strong { font-size:clamp(1.55rem,2.4vw,2rem); color:var(--wk-ink); line-height:1.2; }
.wayke-detail .wayke-summary-price del { font-size:.83rem; color:var(--wk-muted); }
.wayke-detail .wayke-summary-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; margin:4px 0 12px; }
.wayke-detail .wayke-summary-facts div { min-width:0; }
.wayke-detail .wayke-summary-facts dt { margin-bottom:3px; font-size:.72rem; color:var(--wk-muted); }
.wayke-detail .wayke-summary-facts dd { margin:0; color:var(--wk-ink); font-size:.86rem; font-weight:730; overflow-wrap:anywhere; }
.wayke-detail .wayke-summary-actions { display:flex; flex-direction:column; gap:9px; }
.wayke-detail .wayke-summary-actions .wayke-button { width:100%; }
.wayke-detail .wayke-detail-favorite { margin-top:0; }
.wayke-detail .wayke-detail-save { width:100%; }
.wayke-detail .wayke-contact-box { margin-top:0; }
@media (max-width:1000px) {
  .wayke-detail .wayke-detail-grid { grid-template-columns:minmax(0,1fr) minmax(290px,340px); column-gap:20px; }
}
@media (max-width:760px) {
  .wayke-detail .wayke-detail-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"gallery" "aside" "content"; }
  .wayke-detail .wayke-detail-aside { position:static; margin-bottom:18px; }
  .wayke-detail .wayke-gallery { margin-bottom:16px; }
  .wayke-detail .wayke-gallery-main { aspect-ratio:4 / 3; }
}
@media (max-width:480px) {
  .wayke-detail .wayke-gallery { gap:8px; }
  .wayke-detail.wayke-app .wayke-thumb { flex:0 0 92px; height:68px; width:92px; border-radius:7px; }
  .wayke-detail .wayke-summary-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* v0.19: Utan dubbel rubrik på detaljsidan; ikon och anläggningsinformation. */
.wayke-detail .wayke-price-box .wayke-summary-location {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  margin:0;
  color:var(--wk-muted);
  font-size:.9rem;
}
.wayke-detail .wayke-summary-location svg {
  width:17px;
  height:17px;
  flex:0 0 auto;
  stroke:currentColor;
  fill:none;
  stroke-width:1.6;
}
.wayke-detail .wayke-contact-box { gap:11px; min-width:0; }
.wayke-detail .wayke-contact-box h3 { margin:0; font-size:1.1rem; }
.wayke-detail .wayke-branch-address {
  color:var(--wk-muted);
  font-style:normal;
  font-size:.87rem;
  overflow-wrap:anywhere;
}
.wayke-detail .wayke-branch-contact {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  padding:12px 0;
  border-top:1px solid var(--wk-line);
}
.wayke-detail .wayke-branch-contact a {
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-width:0;
  font-size:.86rem;
  line-height:1.5;
  color:var(--wk-ink);
  text-decoration:none;
}
.wayke-detail .wayke-branch-contact a span { min-width:0; overflow-wrap:anywhere; }
.wayke-detail .wayke-branch-contact a svg {
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  stroke:var(--wk-accent);
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.wayke-detail .wayke-branch-contact a:hover { color:var(--wk-accent); }
.wayke-detail .wayke-branch-contact a:focus-visible { outline:2px solid var(--wk-accent); outline-offset:3px; border-radius:3px; }
.wayke-detail .wayke-branch-contact .wayke-branch-hours { min-width:0; margin:0; }
.wayke-detail .wayke-branch-hours summary {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:0;
  list-style:none;
  cursor:pointer;
  font-size:.86rem;
  font-weight:400;
  line-height:1.5;
  color:var(--wk-ink);
}
.wayke-detail .wayke-branch-hours summary::-webkit-details-marker { display:none; }
.wayke-detail .wayke-branch-hours summary::marker { content:""; }
.wayke-detail .wayke-branch-hours summary svg {
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  stroke:var(--wk-accent);
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.wayke-detail .wayke-branch-hours summary .wayke-hours-chevron {
  margin-left:auto;
  width:17px;
  height:17px;
  flex-basis:17px;
  color:var(--wk-ink);
  stroke:currentColor;
  transition:transform .2s ease;
}
.wayke-detail .wayke-branch-hours[open] summary .wayke-hours-chevron { transform:rotate(180deg); }
.wayke-detail .wayke-branch-hours summary:focus-visible { outline:2px solid var(--wk-accent); outline-offset:4px; border-radius:3px; }
.wayke-detail .wayke-branch-hours dl { margin:11px 0 1px 29px; display:grid; gap:5px; }
.wayke-detail .wayke-branch-hours dl > div { display:flex; justify-content:space-between; gap:12px; font-size:.82rem; }
.wayke-detail .wayke-branch-hours dt { color:var(--wk-muted); }
.wayke-detail .wayke-branch-hours dd { margin:0; text-align:right; color:var(--wk-ink); white-space:nowrap; }

/* v0.26: Favorithjärtat ligger ovanpå galleriets huvudbild. */
.wayke-detail .wayke-gallery-main { position:relative; display:flex; align-items:center; justify-content:center; }
.wayke-detail .wayke-gallery-main > .wayke-detail-favorite { position:absolute; z-index:3; top:14px; right:14px; margin:0; }
.wayke-detail.wayke-app .wayke-gallery-main .wayke-heart { position:static; width:44px; height:44px; }
.wayke-detail .wayke-gallery-main .wayke-heart svg { width:24px; height:24px; }
/* v0.26: Separata Gravity Forms-modaler. Dialogen flyttas inte i DOM. */
.wayke-detail.wayke-app .wayke-contact-modal {
  position:fixed; inset:0; display:none; box-sizing:border-box;
  margin:auto; width:min(660px, calc(100vw - 32px)); max-width:calc(100vw - 32px);
  max-height:min(90vh, 860px); padding:0;
  color:var(--wk-ink); background:#fff; border:0; border-radius:16px;
  box-shadow:0 25px 75px rgba(0,0,0,.24); overflow:auto; overscroll-behavior:contain;
}
.wayke-detail.wayke-app .wayke-contact-modal[open] { display:block; }
.wayke-detail .wayke-contact-modal::backdrop { background:rgba(14,14,14,.62); }
.wayke-detail .wayke-contact-modal-inner { position:relative; box-sizing:border-box; padding:clamp(22px,4vw,42px); min-width:0; }
.wayke-detail .wayke-contact-modal-inner h2 { padding-right:44px; margin:0 0 24px; font-size:clamp(1.4rem,3vw,1.85rem); line-height:1.25; }
.wayke-detail.wayke-app .wayke-contact-modal-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; padding:0; width:38px; height:38px; border-radius:50%; border:1px solid var(--wk-line); background:#fff; color:var(--wk-ink); cursor:pointer; }
.wayke-detail .wayke-contact-modal-close:hover { border-color:var(--wk-accent); color:var(--wk-accent); }
.wayke-detail .wayke-contact-modal-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.wayke-detail .wayke-contact-modal .gform_wrapper { max-width:100%; }
.wayke-detail .wayke-contact-modal .gform_wrapper input:not([type=checkbox]):not([type=radio]),
.wayke-detail .wayke-contact-modal .gform_wrapper textarea,
.wayke-detail .wayke-contact-modal .gform_wrapper select { max-width:100%; box-sizing:border-box; }
.wayke-detail .wayke-contact-modal .gform_wrapper .gform_button { border:0; border-radius:999px; padding:12px 22px; background:var(--wk-accent); color:#fff; cursor:pointer; }
.wayke-detail .wayke-contact-modal .gform_wrapper .gform_button:hover { background:var(--wk-accent-hover); }
@media(max-width:600px) {
  .wayke-detail.wayke-app .wayke-contact-modal { width:calc(100vw - 22px); max-width:calc(100vw - 22px); max-height:calc(100dvh - 28px); }
  .wayke-detail.wayke-app .wayke-gallery-main .wayke-heart { width:41px; height:41px; }
}

/* v0.28.0: Wayke Ecom GET, separat informationspanel i högerspalten. */
.wayke-app .wayke-finance-box { gap: 12px; }
.wayke-app .wayke-finance-box h3 { margin: 0; }
.wayke-app .wayke-finance-amount { display: flex; flex-direction: column; gap: 3px; }
.wayke-app .wayke-finance-amount small { font-size: .78rem; color: var(--wk-muted); }
.wayke-app .wayke-finance-amount strong { font-size: 1.45rem; line-height: 1.22; color: var(--wk-ink); }
.wayke-app .wayke-finance-facts { margin: 2px 0; }
.wayke-app .wayke-finance-facts > div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--wk-line); padding: 8px 0; font-size: .86rem; }
.wayke-app .wayke-finance-facts dt { color: var(--wk-muted); }
.wayke-app .wayke-finance-facts dd { text-align: right; margin: 0; font-weight: 600; }

/* Wayke v0.30.0: valfri uppåtpil, monteras i body för att inte påverkas av rutnät/overflow. */
button.wayke-scroll-to-top {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 150;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--wk-accent, #af2434);
  color: #fff;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .18);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
}
button.wayke-scroll-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
button.wayke-scroll-to-top:hover { background: var(--wk-accent-hover, #901d2a); }
button.wayke-scroll-to-top:focus-visible { outline: 3px solid var(--wk-accent, #af2434); outline-offset: 3px; }
button.wayke-scroll-to-top svg { width: 23px; height: 23px; display: block; }
@media (max-width: 600px) {
  button.wayke-scroll-to-top { width: 46px; height: 46px; right: max(15px, env(safe-area-inset-right)); bottom: max(17px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  button.wayke-scroll-to-top { transition: none; }
}


/* v0.33: Vertikal filterpanel med en gemensam scroll och ett öppet avsnitt åt gången. */
.wayke-app .wayke-filter-modal { width: min(450px, 100vw); }
.wayke-app .wayke-filter-modal .wayke-modal-head {
  align-items: center;
  padding: 22px 25px;
  min-height: 84px;
}
.wayke-app .wayke-filter-modal .wayke-modal-head h3 { margin: 0; font-size: 1.42rem; }
.wayke-app .wayke-filter-modal .wayke-modal-content {
  display: block;
  min-height: 0;
  padding: 0 25px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.wayke-app .wayke-modal-section {
  display: block;
  border-bottom: 1px solid var(--wk-line);
  min-width: 0;
}
.wayke-app .wayke-modal-section > summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 0;
  min-height: 66px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: var(--wk-ink);
}
.wayke-app .wayke-modal-section > summary::-webkit-details-marker { display: none; }
.wayke-app .wayke-modal-section > summary::marker { content: ''; }
.wayke-app .wayke-modal-section-icon { width: 22px; height: 22px; flex: 0 0 22px; color: #898482; }
.wayke-app .wayke-modal-section-name { font-size: .98rem; line-height: 1.35; font-weight: 580; flex: 1 1 auto; }
.wayke-app .wayke-modal-section-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--wk-accent); color: #fff; font-size: .69rem; font-weight: 700; }
.wayke-app .wayke-modal-section-chevron { width: 17px; height: 17px; color: #8b8784; flex: 0 0 17px; transition: transform .18s ease; }
.wayke-app .wayke-modal-section[open] > summary .wayke-modal-section-chevron { transform: rotate(180deg); }
.wayke-app .wayke-modal-section > summary:hover .wayke-modal-section-name { color: var(--wk-accent); }
.wayke-app .wayke-modal-section-body { padding: 0 0 24px 38px; min-width: 0; }
/* Behåll den semantiska legend-texten för hjälpmedel, men visa inte rubriken dubbelt. */
.wayke-app .wayke-modal-section-body .wayke-check-group > legend,
.wayke-app .wayke-modal-section-body .wayke-range-group > legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Bara hela panelens innehåll scrollar. Varje utfälld filtergrupp visar samtliga alternativ. */
.wayke-app .wayke-modal-section-body .wayke-check-group { max-height: none; overflow: visible; padding-right: 0; }
.wayke-app .wayke-modal-section-body .wayke-check { padding: 3px 0; min-height: 41px; }
.wayke-app .wayke-modal-section-body .wayke-range-group { padding: 14px 0 16px; min-width: 0; }
.wayke-app .wayke-modal-section-body .wayke-campaign-group { overflow: visible; }
.wayke-app .wayke-modal-section-body .wayke-range-values { font-size: .79rem; gap: 7px; }
.wayke-app .wayke-filter-modal .wayke-modal-footer { padding: 18px 25px; flex: 0 0 auto; }
@media (max-width: 560px) {
  .wayke-app .wayke-filter-modal .wayke-modal-head { padding: 18px 21px; min-height: 75px; }
  .wayke-app .wayke-filter-modal .wayke-modal-content { padding: 0 21px; }
  .wayke-app .wayke-modal-section > summary { min-height: 64px; padding: 17px 0; gap: 13px; }
  .wayke-app .wayke-modal-section-body { padding-left: 34px; }
  .wayke-app .wayke-filter-modal .wayke-modal-footer { padding: 16px 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .wayke-app .wayke-modal-section-chevron { transition: none; }
}

/* v0.34: Mobil bilsökning. Alla filter finns i samma panel, inte hoptryckta snabbval. */
.wayke-app .wayke-all-filters-mobile { display: none; }
@media (max-width: 700px) {
  .wayke-app[data-wayke-cars] .wayke-search-panel,
  .wayke-app[data-wayke-cars] .wayke-form,
  .wayke-app[data-wayke-cars] .wayke-search-line { min-width: 0; max-width: 100%; }
  .wayke-app[data-wayke-cars] .wayke-search-line { display: flex; gap: 10px; align-items: stretch; margin-bottom: 0; }
  .wayke-app[data-wayke-cars] .wayke-search-box {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    padding: 0 15px;
    min-height: 50px;
    gap: 9px;
  }
  .wayke-app[data-wayke-cars] .wayke-search-box svg { width: 18px; height: 18px; }
  .wayke-app[data-wayke-cars] .wayke-search-box input {
    display: block;
    width: 100%;
    min-width: 0;
    font-size: 16px; /* Undviker automatisk zoom i iOS vid fokus. */
    text-overflow: ellipsis;
  }
  .wayke-app[data-wayke-cars] .wayke-all-filters {
    flex: 0 0 auto;
    display: inline-flex;
    width: auto;
    min-width: 0;
    min-height: 50px;
    padding: 10px 16px;
    gap: 9px;
    font-size: .89rem;
    font-weight: 700;
    border-radius: 999px;
    background: var(--wk-accent);
    border-color: var(--wk-accent);
    color: #fff;
  }
  .wayke-app[data-wayke-cars] .wayke-all-filters:hover,
  .wayke-app[data-wayke-cars] .wayke-all-filters:focus-visible {
    background: var(--wk-accent-hover);
    border-color: var(--wk-accent-hover);
    color: #fff;
  }
  .wayke-app[data-wayke-cars] .wayke-all-filters-desktop { display: none; }
  .wayke-app[data-wayke-cars] .wayke-all-filters-mobile { display: inline; }
  .wayke-app[data-wayke-cars] .wayke-all-filters .wayke-count-dot {
    background: #fff;
    color: var(--wk-ink);
    font-size: .71rem;
  }
  /* Snabbfiltren är bara för desktop. På mobil används den fullständiga filterpanelen. */
  html.wayke-js .wayke-app[data-wayke-cars] .wayke-filter-row { display: none; }
  .wayke-app[data-wayke-cars] .wayke-active-filters {
    flex-wrap: wrap;
    margin-top: 11px;
    gap: 6px 12px;
    font-size: .82rem;
  }
  /* Utan JavaScript är snabbfiltren en tillgänglig reservlösning. */
  html:not(.wayke-js) .wayke-app[data-wayke-cars] .wayke-all-filters { display: none; }
  html:not(.wayke-js) .wayke-app[data-wayke-cars] .wayke-quick-filters { flex-wrap: wrap; overflow: visible; }
  html:not(.wayke-js) .wayke-app[data-wayke-cars] .wayke-filter-pop { flex: 0 0 auto; min-width: max-content; }
  .wayke-app[data-wayke-cars] .wayke-search-panel { margin-bottom: 20px; }
  .wayke-app[data-wayke-cars] .wayke-toolbar-right { min-width: 0; }
  .wayke-app[data-wayke-cars] .wayke-sort-label { min-width: 0; }
  .wayke-app[data-wayke-cars] .wayke-sort-label select {
    width: auto;
    min-width: 148px;
    max-width: min(195px, 48vw);
  }
}
@media (max-width: 360px) {
  .wayke-app[data-wayke-cars] .wayke-search-line { gap: 7px; }
  .wayke-app[data-wayke-cars] .wayke-search-box { padding: 0 11px; gap: 7px; }
  .wayke-app[data-wayke-cars] .wayke-all-filters { padding: 9px 12px; gap: 6px; }
}


/* v0.37: separat kontaktkort för annonsens tilldelade säljare. */
.wayke-detail .wayke-seller-card {
  gap: 16px;
  background: #fff;
  min-width: 0;
}
.wayke-detail .wayke-seller-card-head {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
}
.wayke-detail .wayke-seller-photo {
  width: 78px;
  height: 78px;
  flex: 0 0 78px;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  background: var(--wk-surface);
}
.wayke-detail .wayke-seller-identity { min-width: 0; flex: 1; }
.wayke-detail .wayke-seller-eyebrow {
  display: block;
  margin-bottom: 5px;
  font-size: .75rem;
  font-weight: 500;
  color: var(--wk-muted);
}
.wayke-detail .wayke-seller-card .wayke-seller-identity h3 {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.wayke-detail .wayke-seller-title {
  margin: 4px 0 0;
  color: var(--wk-muted);
  font-size: .83rem;
  overflow-wrap: anywhere;
}
.wayke-detail .wayke-seller-contact { padding: 14px 0 0; }
@media (max-width: 390px) {
  .wayke-detail .wayke-seller-photo { width: 64px; height: 64px; flex-basis: 64px; }
}


/* 0.39.0: Billån framhävs utan att saknade data leder till påhittade belopp. */
.wayke-app .wayke-card-loan[hidden] { display:none !important; }
.wayke-app .wayke-card-loan {
  display:flex; flex-direction:column; gap:3px; padding:12px 0 1px;
  margin-top:12px; border-top:1px solid var(--wk-line); min-width:0;
}
.wayke-app .wayke-card-loan small { font-size:.76rem; color:var(--wk-muted); }
.wayke-app .wayke-card-loan strong { font-size:1.3rem; line-height:1.2; font-weight:800; color:var(--wk-accent); }
.wayke-app .wayke-card-loan span { color:var(--wk-muted); font-size:.7rem; line-height:1.45; }
.wayke-app .wayke-finance-box { gap:16px; }
.wayke-app .wayke-finance-box h3 { font-size:1.35rem; margin:0; }
.wayke-app .wayke-finance-amount strong { font-size:clamp(1.75rem,2.8vw,2.3rem); color:var(--wk-accent); }
.wayke-app .wayke-loan-slider { display:flex; flex-direction:column; gap:11px; min-width:0; }
.wayke-app .wayke-loan-slider label { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:.9rem; }
.wayke-app .wayke-loan-slider output { font-weight:750; white-space:nowrap; }
.wayke-app .wayke-loan-slider input[type="range"] { width:100%; max-width:100%; cursor:pointer; accent-color:var(--wk-accent); }
.wayke-app .wayke-loan-slider-bounds { display:flex; justify-content:space-between; gap:8px; color:var(--wk-muted); font-size:.72rem; }
.wayke-app .wayke-loan-status { font-size:.8rem; color:var(--wk-muted); min-height:1em; margin:0; }
.wayke-app .loan-notice { display:flex; align-items:flex-start; gap:1rem; width:100%; padding:1.25rem 1.4rem; background:#fff; color:#111; box-sizing:border-box; border:1px solid #e7e7e7; border-radius:8px; overflow-wrap:anywhere; }
.wayke-app .loan-notice svg { flex:0 0 5.5rem; width:5.5rem; height:5.5rem; max-width:100%; }
.wayke-app .loan-notice p { max-width:80ch; line-height:1.4; font-size:1rem; margin:0; color:#111; }
.wayke-app .loan-notice strong { display:block; font-size:1rem; font-weight:700; color:#111; }
.wayke-app .loan-notice a { color:#111; text-decoration:underline; }
@media(max-width:480px) {
  .wayke-app .loan-notice { padding:1rem; gap:.8rem; }
  .wayke-app .loan-notice svg { width:5.5rem; height:5.5rem; flex-basis:5.5rem; }
  .wayke-app .loan-notice p { font-size:1rem; }
  .wayke-app .wayke-loan-slider label { flex-wrap:wrap; }
}

/* v0.40.0: Jämnstora kontant- och lånepriser utan varningsruta i bilkort. */
.wayke-app .wayke-card-footer.has-wayke-loan {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(9px, 1.6vw, 22px);
}
.wayke-app .wayke-card-footer.has-wayke-loan > div {
  min-width: 0;
}
.wayke-app .wayke-card-footer .wayke-card-loan {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
  background: transparent;
}
.wayke-app .wayke-card-footer .wayke-card-loan[hidden] { display:none !important; }
.wayke-app .wayke-card-footer .wayke-card-loan small {
  font-size: .72rem;
  font-weight: 400;
  color: #868081;
  line-height: 1.4;
}
.wayke-app .wayke-card-footer .wayke-card-loan strong {
  color: var(--wk-ink);
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  font-weight: 790;
  letter-spacing: -.02em;
  line-height: 1.35;
  overflow-wrap: break-word;
}

/* v0.40.0: kompakt finansieringspanel på enskild bilsida. */
.wayke-detail .wayke-finance-box {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0;
}
.wayke-detail .wayke-finance-card {
  overflow: hidden;
  border: 1px solid var(--wk-line);
  border-radius: 12px;
  background: #fff;
  min-width: 0;
}
.wayke-detail .wayke-finance-content {
  padding: 16px 17px 18px;
  border-top: 1px solid var(--wk-line);
  display: flex;
  flex-direction: column;
  gap: 17px;
  min-width: 0;
}
.wayke-detail .wayke-finance-subtitle {
  margin: 0;
  font-size: .78rem;
  color: var(--wk-muted);
}
.wayke-detail .wayke-finance-box .wayke-loan-slider { gap: 10px; }
.wayke-detail .wayke-finance-box .wayke-loan-slider label {
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  color: var(--wk-ink);
  font-size: .86rem;
  font-weight: 400;
}
.wayke-detail .wayke-finance-box .wayke-loan-slider output,
.wayke-detail .wayke-loan-readonly strong {
  display: inline-block;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 6px 11px;
  border-radius: 999px;
  background: #f7f7f7;
  color: var(--wk-ink);
  font-size: .82rem;
  font-weight: 720;
  white-space: nowrap;
}
.wayke-detail .wayke-finance-box .wayke-loan-slider input[type="range"] {
  width: 100%;
  min-width: 0;
  margin: 0;
  height: 20px;
  padding: 0;
  accent-color: var(--wk-accent);
}
.wayke-detail .wayke-loan-readonly {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: .86rem;
}
.wayke-detail .wayke-finance-terms-brief {
  margin: 0;
  line-height: 1.55;
  color: var(--wk-muted);
  font-size: .75rem;
  overflow-wrap: anywhere;
}
.wayke-detail .wayke-finance-terms { margin-top: -5px; }
.wayke-detail .wayke-finance-content .wayke-loan-status { margin: 0; min-height: 0; }
.wayke-detail .wayke-finance-content .wayke-loan-status:empty { display:none; }
@media(max-width:480px) {
  .wayke-detail .wayke-finance-content { padding: 14px 12px 16px; }
  .wayke-app .wayke-card-footer.has-wayke-loan { gap: 12px; }
  .wayke-app .wayke-card-footer .wayke-card-loan strong { font-size: 1.14rem; }
}

/* v0.41.0: Billån på detaljsidan är alltid synligt, utan extra rubrik eller dragspel.
   Kreditupplysningen ligger i samma sammanhållna kort och har mindre men läsbar text. */
.wayke-detail .wayke-finance-box { gap: 0; }
.wayke-detail .wayke-finance-card { overflow: hidden; }
.wayke-detail .wayke-finance-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 17px;
  background: #f7f7f7;
  color: var(--wk-ink);
  font-size: .94rem;
}
.wayke-detail .wayke-finance-summary strong {
  text-align: right;
  font-size: clamp(.94rem, 1.5vw, 1.08rem);
  font-weight: 750;
  white-space: nowrap;
}
.wayke-detail .wayke-finance-card > .loan-notice {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin: 0;
  padding: 14px 17px 16px;
  border: 0;
  border-top: 1px solid var(--wk-line);
  border-radius: 0;
  background: #fff;
  color: #111;
}
.wayke-detail .wayke-finance-card > .loan-notice svg {
  flex: 0 0 3.75rem;
  width: 3.75rem;
  height: 3.75rem;
}
.wayke-detail .wayke-finance-card > .loan-notice p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
  color: #111;
}
.wayke-detail .wayke-finance-card > .loan-notice strong {
  display: block;
  font-size: .84rem;
  font-weight: 700;
  color: #111;
}
@media (max-width: 480px) {
  .wayke-detail .wayke-finance-summary { padding: 13px 12px; }
  .wayke-detail .wayke-finance-card > .loan-notice { padding: 13px 12px 15px; gap: .65rem; }
  .wayke-detail .wayke-finance-card > .loan-notice svg {
    width: 3.65rem;
    height: 3.65rem;
    flex-basis: 3.65rem;
  }
}
