/* ============================================================
   otoauta.pl — OFERTA PRO (warianty C i D) — style klasy premium
   Wymaga: otoauta.css (tokeny). Samowystarczalne poza tokenami.
   ============================================================ */

/* ===== Breadcrumb + tytuł ===== */
.op-head { padding:16px 0 12px; }
.op-crumbs { font-size:.82rem; color:var(--muted-2); display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:10px; }
.op-crumbs a { color:var(--muted); }
.op-crumbs a:hover { color:var(--navy-700); }
.op-titlerow { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.op-h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(1.45rem,3.4vw,2.1rem); letter-spacing:-.025em; line-height:1.08; margin:0; }
.op-sub { display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; margin-top:9px; font-size:.86rem; color:var(--muted); }
.op-sub b { color:var(--ink-2); font-weight:700; }
.op-sub .sep { width:4px; height:4px; border-radius:50%; background:var(--line); }
.op-tools { display:flex; gap:8px; }
.op-tool { height:42px; padding:0 14px; border-radius:11px; border:1px solid var(--line); background:#fff; color:var(--ink-2); display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-size:.84rem; font-weight:600; transition:.15s; }
.op-tool:hover { border-color:var(--navy-500); color:var(--navy-700); }
.op-tool.is-active { color:var(--orange-500); border-color:var(--orange-400); background:var(--orange-100); }

/* ===== MOZAIKA (wariant C) ===== */
.mosaic { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:repeat(2, 232px); gap:10px; border-radius:20px; overflow:hidden; }
.mosaic__tile { position:relative; overflow:hidden; cursor:zoom-in; background:var(--bg-2); border:0; padding:0; }
.mosaic__tile:first-child { grid-row:span 2; }
.mosaic__tile img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.mosaic__tile:hover img { transform:scale(1.04); }
.mosaic__badges { position:absolute; top:14px; left:14px; display:flex; gap:6px; z-index:2; }
.mosaic__all { position:absolute; right:8px; bottom:8px; z-index:2; display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--ink); border:0; border-radius:9px; font-weight:700; font-size:.74rem; padding:.38rem .65rem; cursor:pointer; box-shadow:var(--shadow); transition:.15s; }
.mosaic__all:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.mosaic__more { position:absolute; inset:0; background:rgba(8,18,40,.55); display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.25rem; }

/* ===== HERO SHOWROOM (wariant D) ===== */
.show-hero { background:linear-gradient(180deg, var(--navy-950) 0%, #0c1c42 100%); color:#fff; padding:22px 0 0; }
.show-hero .op-crumbs { color:#7f8db0; }
.show-hero .op-crumbs a { color:#aab8d2; }
.show-stage { position:relative; border-radius:20px 20px 0 0; overflow:hidden; aspect-ratio:21/10; background:#000; cursor:zoom-in; }
.show-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; transition:opacity .3s ease; }
.show-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,18,40,.25) 0%, transparent 30%, transparent 55%, rgba(8,18,40,.78) 100%); pointer-events:none; }
.show-stage__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-size:1.2rem; cursor:pointer; display:grid; place-items:center; transition:.15s; }
.show-stage__nav:hover { background:rgba(255,255,255,.3); }
.show-stage__nav.prev { left:16px; } .show-stage__nav.next { right:16px; }
.show-stage__meta { position:absolute; left:20px; bottom:16px; z-index:4; display:flex; gap:8px; flex-wrap:wrap; }
.show-chip { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.13); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.16); color:#fff; font-size:.8rem; font-weight:600; border-radius:999px; padding:.4rem .8rem; }
.show-chip i { color:var(--orange-400); }
.show-stage__count { position:absolute; right:20px; bottom:16px; z-index:4; background:rgba(8,18,40,.65); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-weight:700; font-size:.8rem; border-radius:9px; padding:.4rem .7rem; display:inline-flex; gap:6px; align-items:center; }
.show-stage__fav { position:absolute; right:18px; top:16px; z-index:4; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--ink-2); font-size:1.15rem; display:grid; place-items:center; cursor:pointer; transition:.15s; }
.show-stage__fav:hover { color:var(--orange-500); transform:scale(1.07); }
.show-stage__fav.is-active { color:var(--orange-500); }
.show-thumbs { display:flex; gap:8px; padding:12px 0 18px; overflow-x:auto; }
.show-thumb { flex:none; width:118px; aspect-ratio:16/10; border-radius:10px; overflow:hidden; border:0; padding:0; cursor:pointer; position:relative; opacity:.55; transition:.16s; background:#000; }
.show-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.show-thumb.active { opacity:1; box-shadow:inset 0 0 0 2.5px var(--orange-500); }
.show-thumb.active::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 2.5px var(--orange-500); border-radius:10px; }
.show-thumb:hover { opacity:.9; }

/* ===== Pasek kluczowych faktów ===== */
.facts { display:grid; grid-template-columns:repeat(6,1fr); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); margin-top:16px; overflow:hidden; }
.fact { display:flex; flex-direction:column; gap:3px; padding:16px 18px; border-right:1px solid var(--line-2); min-width:0; }
.fact:last-child { border-right:0; }
.fact__l { font-size:.72rem; color:var(--muted); font-weight:600; display:flex; align-items:center; gap:6px; }
.fact__l i { color:var(--orange-500); }
.fact__v { font-family:var(--font-display); font-weight:800; font-size:1.04rem; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ===== Sticky subnav ===== */
.subnav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); margin-top:20px; }
.subnav__in { display:flex; gap:4px; overflow-x:auto; }
.subnav a { flex:none; font-size:.88rem; font-weight:700; color:var(--muted); padding:14px 16px 12px; border-bottom:2.5px solid transparent; white-space:nowrap; }
.subnav a:hover { color:var(--navy-700); }
.subnav a.active { color:var(--navy-700); border-bottom-color:var(--orange-500); }

/* ===== Layout treści ===== */
.op-wrap { display:grid; grid-template-columns:minmax(0,1fr) 384px; gap:28px; align-items:start; padding:22px 0 10px; }
.op-main { min-width:0; display:flex; flex-direction:column; gap:18px; }
.op-aside { position:sticky; top:64px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.op-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow-sm); }
.op-card h2 { font-family:var(--font-display); font-weight:800; font-size:1.22rem; letter-spacing:-.015em; margin:0 0 16px; display:flex; align-items:center; gap:9px; }
.op-card h2 i { color:var(--orange-500); font-size:1.05em; }

/* ===== Opis ===== */
.op-desc { font-size:.95rem; line-height:1.7; color:var(--ink-2); }
.op-desc p { margin:0 0 12px; }
.op-desc.clamped { max-height:172px; overflow:hidden; position:relative; }
.op-desc.clamped::after { content:""; position:absolute; left:0; right:0; bottom:0; height:64px; background:linear-gradient(transparent,#fff); }
.op-desc-more { margin-top:10px; background:none; border:0; color:var(--navy-700); font-weight:700; font-size:.88rem; cursor:pointer; padding:0; display:inline-flex; align-items:center; gap:6px; }
.op-desc-more:hover { color:var(--orange-600); }

/* ===== Dane techniczne (grupy) ===== */
.spec-group { margin-bottom:18px; }
.spec-group:last-child { margin-bottom:0; }
.spec-group__t { font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-bottom:6px; }
.spec-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.spec-it { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:10px 0; border-bottom:1px solid var(--line-2); font-size:.92rem; }
.spec-it dt { color:var(--muted); margin:0; font-weight:500; }
.spec-it dd { margin:0; font-weight:700; color:var(--ink); text-align:right; }
.spec-it dd .ok { color:var(--green-600); }

/* ===== Wyposażenie (grupy + chipy) ===== */
.eq-group { margin-bottom:16px; }
.eq-group:last-child { margin-bottom:0; }
.eq-group__t { font-size:.86rem; font-weight:800; color:var(--ink); margin-bottom:9px; display:flex; align-items:center; gap:8px; }
.eq-group__t i { color:var(--navy-600); }
.eq-chips { display:flex; flex-wrap:wrap; gap:7px; }
.eq-chip { display:inline-flex; align-items:center; gap:6px; font-size:.82rem; font-weight:600; color:var(--ink-2); background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:.38rem .75rem; }
.eq-chip i { color:var(--green-600); font-size:.8rem; }

/* ===== Historia pojazdu (timeline) ===== */
.hist { position:relative; padding-left:30px; }
.hist::before { content:""; position:absolute; left:9px; top:8px; bottom:8px; width:2px; background:var(--line); }
.hist-it { position:relative; padding:0 0 18px; }
.hist-it:last-child { padding-bottom:0; }
.hist-it__dot { position:absolute; left:-30px; top:2px; width:20px; height:20px; border-radius:50%; background:#fff; border:2px solid var(--green-600); color:var(--green-600); display:grid; place-items:center; font-size:.62rem; }
.hist-it__dot.warn { border-color:var(--gold-600); color:var(--gold-600); }
.hist-it__t { font-weight:700; font-size:.92rem; color:var(--ink); }
.hist-it__s { font-size:.82rem; color:var(--muted); margin-top:1px; }
.hist-cta { margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--navy-50); border-radius:13px; padding:13px 16px; flex-wrap:wrap; }
.hist-cta__t { font-size:.88rem; font-weight:700; color:var(--navy-800); display:flex; align-items:center; gap:9px; }
.hist-cta__t i { font-size:1.2rem; }

/* ===== KARTA CENY (sticky) ===== */
.buy { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); overflow:hidden; }
.buy__head { padding:20px 22px; text-align:center; }
.buy__type { display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; padding:.32rem .65rem; border-radius:8px; background:var(--navy-50); color:var(--navy-700); }
.buy__price { font-family:var(--font-display); font-weight:800; font-size:2.3rem; letter-spacing:-.03em; color:var(--ink); line-height:1.05; margin-top:10px; }
.buy__price small { font-size:.4em; font-weight:700; color:var(--muted); margin-left:2px; }
.buy__under { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:4px; font-size:.82rem; color:var(--muted); flex-wrap:wrap; }
.buy__good { display:inline-flex; align-items:center; gap:5px; color:var(--green-600); font-weight:700; }
.buy__tabs { display:flex; gap:0; margin-top:0; border-bottom:1px solid var(--line); padding:0 22px; }
.buy__tab { flex:1; background:none; border:0; border-bottom:2.5px solid transparent; font-family:var(--font-ui); font-weight:700; font-size:.84rem; color:var(--muted); padding:.65rem 0; cursor:pointer; transition:.14s; }
.buy__tab.active { color:var(--navy-700); border-bottom-color:var(--orange-500); }
.buy__body { padding:18px 22px 22px; }
.buy__row { display:flex; flex-direction:column; gap:9px; }
.buy__split { display:flex; gap:9px; }
.buy__split .btn-oa { flex:1; }
.buy__phone-num { font-family:var(--font-display); font-weight:800; letter-spacing:.02em; }
/* finansowanie */
.fin { display:none; }
.fin.active { display:block; }
.fin__rata { display:flex; align-items:baseline; gap:8px; margin-bottom:14px; }
.fin__rata b { font-family:var(--font-display); font-size:1.7rem; font-weight:800; color:var(--navy-800); letter-spacing:-.02em; }
.fin__rata span { font-size:.82rem; color:var(--muted); }
.fin__ctrl { margin-bottom:13px; }
.fin__ctrl label { display:flex; justify-content:space-between; font-size:.8rem; font-weight:600; color:var(--muted); margin-bottom:5px; }
.fin__ctrl label b { color:var(--ink); font-weight:700; }
.fin__ctrl input[type=range] { width:100%; accent-color:var(--orange-500); }
.fin__note { font-size:.72rem; color:var(--muted-2); margin-top:10px; }
/* negocjacja */
.buy .neg-link { background:none; border:0; color:var(--navy-700); font-weight:700; font-size:.86rem; cursor:pointer; padding:0; display:inline-flex; align-items:center; gap:6px; margin-top:12px; }
.buy .neg-link:hover { color:var(--orange-600); }
.buy .neg-panel { display:none; margin-top:12px; border-top:1px dashed var(--line); padding-top:13px; }
.buy .neg-panel.open { display:block; }
.neg-row { display:flex; gap:8px; }
.neg-row input { flex:1; min-width:0; border:1.5px solid var(--line); border-radius:11px; padding:.62rem .75rem; font-weight:800; font-family:var(--font-display); font-size:1rem; color:var(--navy-800); outline:0; }
.neg-row input:focus { border-color:var(--navy-500); }
.neg-hints { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.neg-hints button { border:1px solid var(--line); background:#fff; border-radius:999px; font-size:.78rem; font-weight:700; color:var(--navy-700); padding:.3rem .65rem; cursor:pointer; }
.neg-hints button:hover { background:var(--navy-50); }
.neg-ok { display:none; margin-top:10px; background:var(--green-100); color:var(--green-600); border-radius:11px; font-size:.84rem; font-weight:700; padding:.65rem .8rem; align-items:center; gap:8px; }
.neg-ok.show { display:flex; }

/* ===== Sprzedawca ===== */
.dealer { display:flex; flex-direction:column; gap:14px; }
.dealer__top { display:flex; align-items:center; gap:13px; }
.dealer__logo { width:56px; height:56px; border-radius:14px; flex:none; display:grid; place-items:center; background:linear-gradient(155deg,var(--navy-600),var(--navy-900)); color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.25rem; }
.dealer__n { font-family:var(--font-display); font-weight:800; font-size:1.04rem; display:flex; align-items:center; gap:7px; }
.dealer__n .bi-patch-check-fill { color:var(--navy-500); font-size:.95rem; }
.dealer__rate { font-size:.84rem; color:var(--gold-600); font-weight:700; }
.dealer__rate span { color:var(--muted-2); font-weight:600; }
.dealer__stats { display:grid; grid-template-columns:1fr 1fr 1fr; border:1px solid var(--line-2); border-radius:12px; overflow:hidden; }
.dealer__stat { padding:10px 6px; text-align:center; border-right:1px solid var(--line-2); }
.dealer__stat:last-child { border-right:0; }
.dealer__stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:.98rem; color:var(--ink); }
.dealer__stat span { font-size:.68rem; color:var(--muted); }
.dealer__loc { font-size:.85rem; color:var(--ink-2); display:flex; gap:8px; align-items:center; }
.dealer__loc i { color:var(--navy-600); }

/* ===== Zaufanie ===== */
.op-trust { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; padding:0; margin:0; }
.op-trust li { list-style:none; display:flex; gap:9px; align-items:flex-start; font-size:.8rem; color:var(--ink-2); }
.op-trust i { color:var(--green-600); margin-top:1px; }

/* ===== Podobne ===== */
.op-similar { display:grid; grid-auto-flow:column; grid-auto-columns:232px; gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; }
.op-similar > * { scroll-snap-align:start; }

/* ===== LIGHTBOX PRO ===== */
.plb { position:fixed; inset:0; z-index:2000; background:rgba(5,10,22,.96); display:none; flex-direction:column; }
.plb.open { display:flex; }
.plb__bar { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; color:#fff; flex:none; }
.plb__cnt { font-weight:700; font-size:.95rem; color:#c4cee0; }
.plb__x { width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.1); color:#fff; font-size:1.2rem; cursor:pointer; }
.plb__x:hover { background:rgba(255,255,255,.22); }
.plb__stage { flex:1; position:relative; display:grid; place-items:center; min-height:0; padding:0 16px; }
.plb__img { max-width:100%; max-height:100%; object-fit:contain; border-radius:6px; }
.plb__nav { position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:0; background:rgba(255,255,255,.12); color:#fff; font-size:1.4rem; cursor:pointer; display:grid; place-items:center; }
.plb__nav:hover { background:rgba(255,255,255,.26); }
.plb__nav.prev { left:20px; } .plb__nav.next { right:20px; }
.plb__strip { display:flex; gap:8px; justify-content:center; padding:14px; overflow-x:auto; flex:none; }
.plb__th { width:80px; height:56px; flex:none; border-radius:8px; overflow:hidden; border:0; padding:0; opacity:.45; cursor:pointer; position:relative; }
.plb__th img { width:100%; height:100%; object-fit:cover; display:block; }
.plb__th.active { opacity:1; }
.plb__th.active::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 2.5px var(--orange-500); border-radius:8px; }

/* ===== Sticky bar mobile ===== */
.op-sticky { position:fixed; left:0; right:0; bottom:0; z-index:1100; background:#fff; border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(8,22,52,.12); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); display:none; align-items:center; gap:12px; }
.op-sticky__p { font-family:var(--font-display); font-weight:800; font-size:1.18rem; color:var(--navy-800); white-space:nowrap; }
.op-sticky__p small { display:block; font-size:.6rem; color:var(--muted); font-weight:600; }
.op-sticky__btns { margin-left:auto; display:flex; gap:8px; }

/* ===== Przełącznik wariantów ===== */
.op-switch { position:fixed; z-index:1080; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:4px; background:rgba(8,22,52,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-radius:999px; padding:5px; box-shadow:var(--shadow-lg); }
.op-switch a { font-size:.78rem; font-weight:700; color:#c4cee0; padding:.4rem .75rem; border-radius:999px; white-space:nowrap; }
.op-switch a.is-active { background:var(--orange-500); color:#fff; }
.op-switch a:hover:not(.is-active){ color:#fff; background:rgba(255,255,255,.1); }

/* ===== Responsywność ===== */
@media (max-width:1120px){ .op-wrap { grid-template-columns:minmax(0,1fr) 340px; } }
@media (max-width:991.98px){
  .op-wrap { grid-template-columns:minmax(0,1fr); }
  .op-aside { position:static; }
  .mosaic { grid-template-rows:repeat(2,190px); }
  .facts { grid-template-columns:repeat(3,1fr); }
  .fact:nth-child(3) { border-right:0; }
  .fact:nth-child(n+4) { border-top:1px solid var(--line-2); }
}
@media (max-width:767.98px){
  .mosaic { grid-template-columns:1fr 1fr; grid-template-rows:220px 130px; }
  .mosaic__tile:first-child { grid-column:span 2; grid-row:span 1; }
  .mosaic__tile:nth-child(n+4) { display:none; }
  .mosaic__tile--more { display:block !important; }
  .facts { grid-template-columns:repeat(2,1fr); }
  .fact { border-right:0; }
  .fact:nth-child(odd) { border-right:1px solid var(--line-2); }
  .fact:nth-child(n+3) { border-top:1px solid var(--line-2); }
  .spec-list { grid-template-columns:1fr; gap:0; }
  .op-trust { grid-template-columns:1fr; }
  .op-sticky { display:flex; }
  body.has-opsticky { padding-bottom:74px; }
  .op-switch { bottom:80px; }
  .show-stage { aspect-ratio:16/11; border-radius:14px 14px 0 0; }
  .show-thumb { width:92px; }
}
@media (max-width:479.98px){
  .buy__price { font-size:2rem; }
  .op-tools { width:100%; }
  .op-tool { flex:1; justify-content:center; padding:0 8px; font-size:0; gap:0; }
  .op-tool i { font-size:1.05rem; }
}

/* ===== Strzałki paska "Inne oferty" ===== */
.sim-nav { position: absolute; top: 50%; transform: translateY(6px); width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); display: grid; place-items: center; cursor: pointer; z-index: 5; color: var(--navy-700); font-size: 1rem; transition: background .15s, color .15s, opacity .15s; }
.sim-nav:hover:not(:disabled) { background: var(--navy-700); color: #fff; }
.sim-nav:disabled { opacity: .32; cursor: default; }
.sim-nav.prev { left: -14px; } .sim-nav.next { right: -14px; }
@media (max-width: 767.98px){ .sim-nav { display: none !important; } }
/* pasek pod tytułem: jednolicie szary (bez czarnych pogrubień) */
.op-sub b { color: inherit; font-weight: 700; }
.op-sub .of-watch b { color: inherit; }
