/* KPR Moto Center – sekcja „Pakiety folii PPF” (wersja 2D na zdjęciu, slider pakietów)
   Z paczki KPR_sekcja-pakiety-PPF_dla-deva (12.11.2026); w ODEE zakładki w liczbie pakietów z panelu (grid-auto-flow).
   Wymaga zmiennych i klas bazowych strony (--kpr-*, .kprS, .kprS__head, .kprS__btn). */

.kprPpf{position:relative}
.kprPpf__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:stretch}

/* --- scena ze zdjęciem --- */
.kprPpf__stage{position:relative;align-self:start;width:100%;min-width:0;aspect-ratio:16/11;background:radial-gradient(120% 90% at 50% 70%,#1f1c16 0%,#121212 45%,var(--kpr-ink,#0d0d0d) 75%);border:1px solid var(--kpr-line,#2b2b2b);overflow:hidden;touch-action:pan-y}
.kprPpf__legend{position:absolute;right:16px;bottom:14px;display:flex;gap:14px;font-size:12px;color:var(--kpr-muted,#9a9a9a);pointer-events:none}
.kprPpf__legend span{display:flex;align-items:center;gap:6px}
.kprPpf__legend b{width:10px;height:10px;display:block;background:var(--kpr-gold,#c9a04e);box-shadow:0 0 10px rgba(201,160,78,.7)}
.kprPpf__legend b.is-paint{background:#2c2d30;box-shadow:none;border:1px solid #444}

/* --- etykiety na aucie --- */
.kprPpf__tags{position:absolute;inset:0;pointer-events:none}
.kprPpf__tag{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:500;color:#fff;letter-spacing:.04em;opacity:0;transition:opacity .35s;will-change:transform}
.kprPpf__tag::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--kpr-gold,#c9a04e);box-shadow:0 0 0 4px rgba(201,160,78,.22),0 0 14px rgba(201,160,78,.9);flex:none}
.kprPpf__tag em{font-style:normal;padding:4px 8px;background:rgba(13,13,13,.78);border:1px solid rgba(201,160,78,.45);backdrop-filter:blur(4px)}
.kprPpf__tag.is-on{opacity:1}
.kprPpf__tag.is-left{flex-direction:row-reverse}

/* --- panel / slider --- */
.kprPpf__slide[aria-hidden="true"]{opacity:0}
.kprPpf__panel{display:flex;flex-direction:column;min-width:0}
.kprPpf__tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-bottom:1px solid var(--kpr-line,#2b2b2b);margin:0;padding:0;list-style:none}
.kprPpf__tab{position:relative;appearance:none;background:none;border:0;color:var(--kpr-muted,#9a9a9a);font:inherit;font-size:var(--kpr-small,15px);font-weight:500;padding:14px 6px 16px;text-align:left;cursor:pointer;transition:color .25s;width:100%}
.kprPpf__tab small{display:block;font-size:12px;font-weight:400;opacity:.75;margin-top:2px}
.kprPpf__tab::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--kpr-line,#2b2b2b)}
.kprPpf__tab span.bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--kpr-gold,#c9a04e);z-index:1}
.kprPpf__tab:hover{color:#fff}
.kprPpf__tab[aria-selected="true"]{color:#fff}
.kprPpf__tab[aria-selected="true"] span.bar{width:100%}
.kprPpf.is-auto .kprPpf__tab[aria-selected="true"] span.bar{width:0;animation:kprPpfBar var(--dur,7s) linear forwards}
@keyframes kprPpfBar{to{width:100%}}
.kprPpf__tab:focus-visible{outline:2px solid var(--kpr-gold,#c9a04e);outline-offset:-2px}

.kprPpf__viewport{overflow:hidden;flex:1;touch-action:pan-y}
.kprPpf__track{display:flex;height:100%;transition:transform .6s cubic-bezier(.65,0,.2,1);margin:0;padding:0;list-style:none}
.kprPpf__slide{transition:opacity .45s;flex:0 0 100%;min-width:0;padding:clamp(22px,2.4vw,34px) 0 0;display:flex;flex-direction:column}
.kprPpf__num{font-size:13px;letter-spacing:.2em;color:var(--kpr-gold,#c9a04e);margin:0 0 10px}
.kprPpf__name{font-size:var(--kpr-h3,24px);font-weight:600;color:#fff;margin:0 0 6px;line-height:1.2}
.kprPpf__time{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--kpr-muted,#9a9a9a);margin:0 0 18px}
.kprPpf__time svg{width:15px;height:15px;stroke:var(--kpr-gold,#c9a04e)}
.kprPpf__scope{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.kprPpf__scope li{font-size:13px;color:var(--kpr-text,#d4d4d4);padding:6px 10px;border:1px solid var(--kpr-line,#2b2b2b);background:#141414;display:flex;align-items:center;gap:7px}
.kprPpf__scope li::before{content:"";width:6px;height:6px;background:var(--kpr-gold,#c9a04e);flex:none}
.kprPpf__scope li.is-plus{border-color:rgba(201,160,78,.55)}
.kprPpf__note{font-size:var(--kpr-small,15px);color:var(--kpr-muted,#9a9a9a);margin:0 0 18px;line-height:1.55}
.kprPpf__foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--kpr-line,#2b2b2b);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.kprPpf__price{margin:0;color:var(--kpr-gold-light,#e9d27c);font-size:clamp(20px,1.6vw,26px);font-weight:600;line-height:1.25}
.kprPpf__price small{display:block;font-size:13px;font-weight:400;color:var(--kpr-muted,#9a9a9a)}

.kprPpf__nav{display:flex;align-items:center;gap:10px;margin-top:22px}
.kprPpf__arrow{appearance:none;width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid var(--kpr-line,#2b2b2b);color:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.kprPpf__arrow:hover{border-color:var(--kpr-gold,#c9a04e);background:rgba(201,160,78,.08)}
.kprPpf__arrow svg{width:18px;height:18px;stroke:currentColor}
.kprPpf__count{font-size:13px;letter-spacing:.15em;color:var(--kpr-muted,#9a9a9a);margin-left:6px}
.kprPpf__count b{color:#fff;font-weight:500}

@media (max-width:980px){
  .kprPpf__grid{grid-template-columns:1fr}
  .kprPpf__stage{aspect-ratio:4/3;min-height:0}
}
@media (max-width:560px){
  .kprPpf__tabs{display:flex;overflow-x:auto;scrollbar-width:none}
  .kprPpf__tabs::-webkit-scrollbar{display:none}
  .kprPpf__tabs li{flex:0 0 auto}
  .kprPpf__tab{padding:12px 16px 14px 0;min-width:100px}
  .kprPpf__legend{display:none}
  .kprPpf__tags{display:none}
  .kprPpf__foot .kprS__btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .kprPpf__track{transition:none}
  .kprPpf.is-auto .kprPpf__tab[aria-selected="true"] span.bar{animation:none;width:100%}
}

/* ===== wersja 2D na zdjęciu ===== */
.kprPpf__stage--2d{aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,56px) clamp(12px,2.5vw,36px) clamp(48px,5vw,64px);touch-action:auto}
.kprPpf__car{position:relative;width:100%;aspect-ratio:2000/1036}
.kprPpf__car::before{content:"";position:absolute;left:8%;right:6%;bottom:-3%;height:16%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.75),rgba(0,0,0,0));z-index:0}
.kprPpf__base{position:relative;z-index:1;display:block;width:100%;height:auto}
.kprPpf__gold{position:absolute;inset:0;z-index:2;background:var(--car) center/100% 100% no-repeat;
  -webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;
  opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .45s ease,clip-path 0s linear .45s;pointer-events:none}
.kprPpf__gold.is-on{opacity:.94;clip-path:inset(0 0 0 0);transition:opacity .2s ease,clip-path 1.3s cubic-bezier(.65,0,.25,1)}
.kprPpf__gold::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,244,214,.55) 50%,transparent 60%) no-repeat;background-size:250% 100%;background-position:150% 0;mix-blend-mode:screen}
.kprPpf__gold.is-on::after{animation:kprPpfShine 4.5s ease-in-out 1.2s infinite}
@keyframes kprPpfShine{0%{background-position:150% 0}45%,100%{background-position:-60% 0}}
.kprPpf__gold--lamp.is-on{animation:kprPpfLamp 1.6s ease-in-out infinite alternate}
@keyframes kprPpfLamp{from{filter:brightness(1) drop-shadow(0 0 0 rgba(233,210,124,0))}to{filter:brightness(1.35) drop-shadow(0 0 10px rgba(233,210,124,.9))}}
.kprPpf__car .kprPpf__tags{z-index:3}
.kprPpf__car .kprPpf__tag{transform:translate(-4.5px,-50%)}
.kprPpf__car .kprPpf__tag.is-left{transform:translate(calc(-100% + 4.5px),-50%)}
.kprPpf__stage--2d .kprPpf__legend{bottom:16px}
@media (max-width:560px){.kprPpf__stage--2d{padding:20px 8px 28px}}
@media (prefers-reduced-motion:reduce){.kprPpf__gold,.kprPpf__gold.is-on{transition:opacity .2s}.kprPpf__gold::after,.kprPpf__gold--lamp.is-on{animation:none}}
