/* ==========================================================================
   product_page.css — продуктовата страница (templates/product/phone.php + phone/*.php; от 10.2026)

   Само kit токени (design-tokens.css). Граматика на цветовете = картата в
   листинга: оранжево = цената, която плащаш; тийл = КУПИ + избраното + парите,
   които остават у теб; зелено = само наличност.

   ДИСЦИПЛИНА (мерена, не на око):
     радиуси  — 16 карти · 12 контроли · 100 хапчета. Нищо друго.
     шрифт    — 15 основен · 14 вторичен · 12 само за дребен шрифт/тагове.
                Заглавия 32/24/20. Цена 36. Без междинни стойности.
     рамки    — 1px line-2 за контроли, 1px line за карти, тийл = избрано.
     сенки    — една: картата за покупка. Всичко друго е плоско.
   ========================================================================== */

.pv, .pv-bar { --pv-r-card: 16px; --pv-r-ctl: 12px; --pv-r-pill: 100px; }
.pv {
     padding: 20px 0 56px; background: var(--sw-bg); font-family: var(--sw-font); color: var(--sw-ink); font-size: 15px; }
.pv a { text-decoration: none; }
.pv a:focus-visible, .pv button:focus-visible, .pv-addon:focus-within {
     outline: 3px solid var(--sw-purple); outline-offset: 2px; border-radius: var(--pv-r-ctl); }

/* ---- трохи: навигация, не съдържание — по-дребни, по-светли, въздух отдолу ---- */
.pv-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--sw-muted); margin-bottom: 28px; }
.pv-crumbs a { color: var(--sw-grey); }
.pv-crumbs a:hover { color: var(--sw-ink); }
.pv-crumbs .fa-chevron-right { font-size: 8px; color: var(--sw-line-2); }
.pv-crumbs .fa-home { color: var(--sw-muted); }

/* ---- заглавие: 2 реда — модел / „вариант · ★ оценки" ---------------------- */
.pv-titleblock { margin-bottom: 28px; font-size: 16px; line-height: 1.5; }
.pv-h1 { margin: 0; font-size: inherit; line-height: inherit; }
.pv-h1-model { display: block; margin-bottom: 6px; font-size: 32px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; color: var(--sw-ink); }
.pv-h1-sub { font-size: 16px; font-weight: 500; color: var(--sw-grey); letter-spacing: 0; }
.pv-stars { color: #f5a623; letter-spacing: 1px; font-size: 11px; margin-right: 6px; vertical-align: 1px; }

/* оценки — собствен ред под варианта */
.pv-proof-stars { display: block; margin-top: 8px; font-size: 14px; color: var(--sw-grey); }
.pv-proof-stars b { font-weight: 700; color: var(--sw-ink); }
.pv-proof-stars:hover { color: var(--sw-ink); }

/* наличност — в картата за покупка, над цената */
.pv-instock { margin-bottom: 6px; font-size: 14px; font-weight: 700; color: var(--sw-success); }
.pv-instock i { margin-right: 4px; font-size: 12px; }

/* ---- галерия: стоков рендер на мек фон = нарочно, не „празно" ------------- */
.pv-gallery { position: relative; }
.pv-stage { position: relative; background: var(--sw-bg-soft); border-radius: var(--pv-r-card); padding: 32px; aspect-ratio: 1 / 1;
     display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pv-stage img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; margin: 0 auto; mix-blend-mode: multiply; }
.pv-stage-img, .pv-stage .swiper-main { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.pv-stage .swiper-slide { display: flex; align-items: center; justify-content: center; background: transparent; }
.pv-stage .pcard-tag { position: absolute; top: 16px; z-index: 3; }
.pv-stage .pcard-tag--promo { left: 16px; }
.pv-stage .p3-tag-batt { right: 16px; }
.pv-stage .p3c-cond { position: absolute; left: 16px; bottom: 16px; z-index: 3; }
.pv-thumbs { margin-top: 10px; }
.pv-thumbs .swiper-slide { background: var(--sw-bg-soft); border-radius: var(--pv-r-ctl); padding: 6px; opacity: .6; cursor: pointer; }
.pv-thumbs .swiper-slide-thumb-active { opacity: 1; box-shadow: inset 0 0 0 2px var(--sw-teal-ink); }
.pv-gallery-note { margin: 12px 2px 0; font-size: 12px; color: var(--sw-muted); }
.pv-gallery-note i { margin-right: 4px; }

/* ---- избори ------------------------------------------------------------- */
.pv-opt { margin-bottom: 26px; }
.pv-opt:last-child { margin-bottom: 0; }
.pv-opt-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pv-opt-label { font-size: 16px; font-weight: 700; color: var(--sw-ink); }
.pv-opt-val { font-size: 15px; color: var(--sw-grey); margin-right: auto; }
.pv-opt-label + .pv-opt-val::before { content: "·"; margin-right: 8px; color: var(--sw-muted); }
.pv-help { font-size: 14px; color: var(--sw-grey); text-decoration: underline !important; text-decoration-color: var(--sw-line-2) !important;
     text-underline-offset: 4px; white-space: nowrap; }
.pv-help:hover { color: var(--sw-ink); text-decoration-color: currentColor !important; }

/* общ вид на контрола: редове (състояние) и плочки (батерия/памет/цвят) */
.pv-grade, .pv-tile { display: block; border: 1px solid var(--sw-line-2); border-radius: var(--pv-r-ctl); background: var(--sw-bg);
     color: var(--sw-ink); transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
a.pv-grade:hover, a.pv-tile:hover { border-color: var(--sw-ink); color: var(--sw-ink); }
.pv-grade.is-on, .pv-tile.is-on { border-color: var(--sw-teal-ink); box-shadow: inset 0 0 0 1px var(--sw-teal-ink); background: var(--sw-tint-teal); }
.pv-tile.is-out { color: var(--sw-muted); background: var(--sw-bg-soft); border-style: dashed; cursor: not-allowed; }

/* състояние — редове с ПЪЛНА цена; описанието е вътре в избрания ред */
.pv-grades { display: flex; flex-direction: column; gap: 8px; }
.pv-grade { padding: 15px 16px; }
.pv-grade.is-on { cursor: default; }
.pv-grade-row { display: flex; align-items: center; gap: 12px; }
.pv-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--sw-line-2); flex: none; background: #fff; transition: border .15s ease; }
a.pv-grade:hover .pv-radio { border-color: var(--sw-ink-2); }
.pv-grade.is-on .pv-radio { border: 6px solid var(--sw-teal-ink); }
.pv-grade-name { flex: 1; font-size: 16px; font-weight: 700; }
.pv-grade-price { font-size: 16px; font-weight: 700; white-space: nowrap; }
.pv-grade-price { display: inline-flex; align-items: center; gap: 8px; }
/* разлика спрямо избраното: малко хапче; тийл = по-евтино (оставаш с пари), сиво = по-скъпо */
.pv-grade-diff { font-style: normal; font-size: 12px; font-weight: 700; line-height: 1; padding: 4px 7px; border-radius: var(--pv-r-pill); }
.pv-grade-diff.is-less { background: var(--sw-tint-teal); color: var(--sw-teal-deep); }
.pv-grade-diff.is-more { background: var(--sw-bg-soft); color: var(--sw-grey); }
.pv-tag { font-style: normal; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: var(--pv-r-pill); vertical-align: 1px; }
.pv-tag--new { background: var(--sw-tint-purple); color: var(--sw-purple); }
.pv-grade-desc { display: block; margin: 10px 0 0 32px; font-size: 14px; line-height: 1.55; color: var(--sw-ink-2); }
.pv-facts-inline { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0 32px; }
.pv-facts-inline a { font-size: 14px; font-weight: 600; color: var(--sw-ink); }
.pv-facts-inline a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pv-facts-inline i { color: var(--sw-success); margin-right: 6px; }
.pv-grades-out { margin: 4px 2px 0; font-size: 14px; color: var(--sw-muted); }

/* батерия / памет / цвят — плочки */
.pv-tiles { display: flex; flex-wrap: wrap; gap: 8px; }
.pv-tiles--2 { display: grid; grid-template-columns: 1fr 1fr; }
.pv-tile { display: flex; flex-direction: column; gap: 3px; padding: 13px 14px; min-width: 100px; }
.pv-tile-name { font-size: 15px; font-weight: 700; }
.pv-tile-sub { font-size: 14px; color: var(--sw-grey); }
.pv-tile-price { margin-top: 6px; font-size: 16px; font-weight: 700; }
.pv-tile.is-out .pv-tile-name { font-weight: 600; }
.pv-tile.is-out .pv-tile-price, .pv-tile.is-out .pv-tile-sub { color: var(--sw-muted); font-weight: 500; font-size: 14px; }

/* ---- комплекти: по една карта на бъндъл, собствен бутон -------------------- */
.pv-bundles { padding-top: 22px; border-top: 1px solid var(--sw-line); }
.pv-bundles-head h2.pv-opt-label { margin: 0; }
.pv-bundles .pv-bundle { display: flex; flex-direction: column; }
.pv-bundles .pv-bundle.is-extra { display: none; }
.pv-bundle-foot { margin-top: auto !important; }
.pv-bundle-items { margin-bottom: 10px !important; }
/* десктоп: на цялата ширина под колоните, 3 една до друга, по-голямо заглавие */
@media (min-width: 992px) {
     .pv-bundles { margin-top: 40px; padding-top: 36px; }
     .pv-bundles-head h2.pv-opt-label { font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
     .pv-bundles .pv-opt-head { margin-bottom: 18px; }
     .pv-bundles .pv-bundle-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
     .pv-bundles .pv-bundle { padding: 18px 20px; }
     .pv-bundles.is-open .pv-bundle.is-extra { display: flex; }
     /* 1-2 комплекта: без празни колони (собственик, 09.10). 2 → по половин ред; 1 → една широка карта на 2/3, сумата и бутонът вдясно */
     .pv-bundles .pv-bundle-list.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
     .pv-bundles .pv-bundle-list.is-n1 .pv-bundle { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; column-gap: 28px; }
     .pv-bundles .pv-bundle-list.is-n1 .pv-bundle-top { grid-column: 1; grid-row: 1; }
     .pv-bundles .pv-bundle-list.is-n1 .pv-bundle-items { grid-column: 1; grid-row: 2; margin-bottom: 0 !important; }
     .pv-bundles .pv-bundle-list.is-n1 .pv-bundle-foot { grid-column: 2; grid-row: 1 / 3; flex-direction: column; align-items: stretch; justify-content: center; gap: 12px; margin: 0 !important; padding: 0 0 0 28px; border-top: 0; border-left: 1px dashed var(--sw-line-2); }
     .pv-bundles .pv-bundle-list.is-n1 .pv-bundle-btn { justify-content: center; }
}
@media (max-width: 991.98px) { .pv-bundles { margin-top: 26px; } }
.pv-bundle-list { display: flex; flex-direction: column; gap: 10px; }
.pv-bundle { margin: 0; padding: 12px 14px; border: 1px solid var(--sw-line-2); border-radius: var(--pv-r-ctl); background: var(--sw-bg);
     transition: border-color .15s ease; }
.pv-bundle:hover { border-color: var(--sw-ink); }
.pv-bundle.is-extra { display: none; }
.pv-bundles.is-open .pv-bundle.is-extra { display: block; }
.pv-bundle-top { display: flex; align-items: center; gap: 12px; }
.pv-bundle-thumbs { display: flex; flex: none; }
.pv-bundle-thumb { width: 40px; height: 40px; border-radius: 50%; background: var(--sw-bg-soft); border: 2px solid var(--sw-bg);
     display: grid; place-items: center; overflow: hidden; margin-left: -10px; }
.pv-bundle-thumb:first-child { margin-left: 0; }
.pv-bundle-thumb img { width: 30px; height: 30px; object-fit: contain; mix-blend-mode: multiply; }
.pv-bundle-head { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pv-bundle-head b { font-size: 15px; font-weight: 700; color: var(--sw-ink); line-height: 1.25; }
.pv-bundle-tag { font-style: normal; font-size: 12px; font-weight: 600; color: var(--sw-grey); }
.pv-bundle-tag.is-apple { color: var(--sw-ink); }
.pv-bundle-tag.is-apple::before { content: "\f179"; font-family: "Font Awesome 5 Brands"; font-weight: 400; margin-right: 4px; }
.pv-bundle-price { display: flex; flex-direction: column; align-items: flex-end; flex: none; line-height: 1.2; }
.pv-bundle-price b { font-size: 15px; font-weight: 800; color: var(--sw-ink); }
.pv-bundle-price s { font-size: 12px; color: var(--sw-muted); }
.pv-bundle-items { list-style: none; margin: 10px 0 0; padding: 0 0 0 2px; display: flex; flex-direction: column; gap: 3px; }
.pv-bundle-items li { font-size: 14px; color: var(--sw-ink-2); display: flex; gap: 8px; }
.pv-bundle-items li::before { content: "+"; color: var(--sw-muted); font-weight: 700; width: 10px; flex: none; }
.pv-bundle-items a { color: var(--sw-ink-2); }
.pv-bundle-items a:hover { color: var(--sw-ink); text-decoration: underline; text-underline-offset: 3px; }
.pv-bundle-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--sw-line-2); }
.pv-bundle-total { display: flex; flex-direction: column; line-height: 1.3; }
.pv-bundle-total strong { font-size: 16px; font-weight: 800; color: var(--sw-ink); white-space: nowrap; }
.pv-bundle-total em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--sw-teal-deep); white-space: nowrap; }
@media (max-width: 400px) { .pv .pv-bundle-btn { padding: 10px 12px; font-size: 13px; gap: 6px; } .pv .pv-bundle-total strong { font-size: 15px; } }
.pv-bundle-total small { font-size: 12px; color: var(--sw-grey); }
.pv-bundle-pct { font-style: normal; align-self: flex-end; margin-bottom: 4px; padding: 3px 8px; border-radius: var(--pv-r-pill);
     background: var(--sw-tint-teal); color: var(--sw-teal-deep); font-size: 12px; font-weight: 800; line-height: 1.2; }
/* бутонът на комплекта: като „Добави в количката", но по-малък */
.pv-bundle-btn { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 10px 14px; border: 0; border-radius: var(--pv-r-ctl);
     background: var(--sw-teal-ink); color: #fff; font-family: var(--sw-font); font-size: 14px; font-weight: 800; cursor: pointer;
     transition: background-color .2s ease, transform .2s ease; }
.pv-bundle-btn:hover { background: #22a5a6; transform: translateY(-1px); }
.pv-bundle-btn i { font-size: 13px; }
.pv-bundles-more { margin-top: 10px; padding: 0; border: 0; background: none; font-family: var(--sw-font); font-size: 14px; font-weight: 700; color: var(--sw-ink); cursor: pointer; }
.pv-bundles-more i { font-size: 11px; margin-left: 4px; }

/* ---- карта за покупка (единствената сянка на страницата) ----------------- */
.pv-buy { background: var(--sw-bg); border: 1px solid var(--sw-line); border-radius: var(--pv-r-card); padding: 24px; box-shadow: var(--sw-sh-lg); }
.pv-promo { background: var(--sw-surface-dark); color: #fff; font-size: 14px; font-weight: 600; text-align: center;
     border-radius: var(--pv-r-ctl); padding: 9px 12px; margin-bottom: 18px; cursor: pointer; }
.pv-price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.pv-price { font-size: 36px; font-weight: 800; letter-spacing: -.025em; color: var(--sw-price); line-height: 1.05; }
.pv-price--sm { font-size: 24px; }
.pv-price-was { font-size: 16px; font-weight: 500; color: var(--sw-muted); }
.pv-zero-badge { display: inline-block; padding: 5px 12px; border-radius: var(--pv-r-pill); background: var(--sw-tint-orange, #fff3e6);
     color: #c2410c; font-size: 13px; font-weight: 800; white-space: nowrap; }
.pv-zero-badge:hover { color: #9a3412; }
.pv-save-vs { margin: 4px 0 2px; font-size: 14px; color: var(--sw-grey); }
.pv-save-vs s { color: var(--sw-grey); }
.pv-save { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 10px; font-size: 14px; color: var(--sw-grey); }
.pv-save-chip { display: inline-block; background: var(--sw-tint-teal); color: var(--sw-teal-deep); font-weight: 800; font-size: 14px;
     padding: 5px 12px; border-radius: var(--pv-r-pill); }
.pv-low30 { margin-top: 10px; font-size: 12px; color: var(--sw-muted); }
.pv-form { margin: 16px 0 0; }
.pv-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: var(--pv-r-ctl);
     background: var(--sw-teal-ink); color: #fff; font-family: var(--sw-font); font-weight: 800; font-size: 16px; padding: 17px 22px;
     cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.pv-cta:hover, .pv-cta:focus { background: #22a5a6; transform: translateY(-1px); color: #fff; text-decoration: none; }   /* като линк (<a>) старият a:hover сменяше цвета на текста */
.pv-cta:active { transform: translateY(0); }
.pv-cta--block { width: 100%; }
.pv-credit { display: flex; flex-direction: column; align-items: center; gap: 2px; margin-top: 12px; font-size: 15px; line-height: 1.4; color: var(--sw-ink-2); text-align: center; }
.pv-credit b { font-weight: 700; color: var(--sw-ink); }
.pv-credit u { font-size: 14px; color: var(--sw-teal-deep); font-weight: 600; text-decoration: none; }
.pv-credit:hover { color: var(--sw-ink); }
.pv-credit:hover u { text-decoration: underline; text-underline-offset: 3px; }
.pv-oos { margin-top: 20px; padding: 16px; border-radius: var(--pv-r-ctl); background: var(--sw-bg-soft); font-size: 15px; }
.pv-oos a { display: block; margin-top: 6px; color: var(--sw-teal-deep); font-weight: 700; }

.pv-addon { display: flex; align-items: center; gap: 12px; margin: 10px 0 0; padding: 11px 14px; border: 1px solid var(--sw-line-2);
     border-radius: var(--pv-r-ctl); cursor: pointer; font-weight: 400; transition: border-color .15s ease, background-color .15s ease; }
.pv-addon:hover { border-color: var(--sw-ink); }
.pv-addon:has(input:checked) { border-color: var(--sw-teal-ink); background: var(--sw-tint-teal); }
.pv-addon input { width: 18px; height: 18px; accent-color: var(--sw-teal-ink); flex: none; margin: 0; }
.pv-addon img { width: 40px; height: 40px; object-fit: contain; flex: none; }
.pv-addon-text { display: flex; flex-direction: column; font-size: 14px; line-height: 1.4; color: var(--sw-ink-2); }
.pv-addon-text b { color: var(--sw-ink); font-weight: 600; }
.pv-addon-text small { font-size: 12px; color: var(--sw-grey); }
.pv-addon-text s { color: var(--sw-muted); }

.pv-perks { list-style: none; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--sw-line); display: flex; flex-direction: column; gap: 16px; }
.pv-perks li { display: flex; gap: 14px; align-items: flex-start; }
.pv-perks i { width: 20px; text-align: center; color: var(--sw-ink-2); margin-top: 3px; flex: none; font-size: 15px; }
.pv-perks a { display: flex; flex-direction: column; gap: 1px; line-height: 1.4; color: var(--sw-ink-2); }
.pv-perks a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pv-perks b { font-size: 15px; font-weight: 700; color: var(--sw-ink); }
.pv-perks span { font-size: 14px; color: var(--sw-grey); }
.pv-perk--store i, .pv-perk--store span { color: var(--sw-success); }
.pv-perk--store span { font-weight: 600; }
.pv-perks .pv-perk--store .pv-perk-note { color: var(--sw-grey); font-weight: 400; }
.pv-fineprint { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: var(--sw-muted); }

/* ---- мобилна лента: появява се, когато бутонът в страницата излезе от екрана -- */
.pv-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; align-items: center; gap: 12px;
     padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--sw-line);
     box-shadow: 0 -6px 20px rgba(0,0,0,.08); transform: translateY(110%); transition: transform .25s ease; }
.pv-bar.is-shown { transform: none; }
.pv-bar-money { display: flex; flex-direction: column; line-height: 1.15; flex: 1; min-width: 0; }
.pv-bar-price { font-size: 20px; font-weight: 800; color: var(--sw-price); }
.pv-bar-save { font-size: 12px; font-weight: 700; color: var(--sw-teal-deep); }
.pv-bar .pv-cta { padding: 13px 24px; font-size: 15px; }
@media (max-width: 991.98px) { body { padding-bottom: 76px; } }

/* ==========================================================================
   Разположение — 3 колони
   ========================================================================== */
.pv-a-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, .95fr); gap: 36px; align-items: start; }
.pv-a-media { position: sticky; top: 20px; }
.pv-a-buy { position: sticky; top: 20px; }
@media (max-width: 1199.98px) { .pv-a-grid { gap: 24px; } .pv-buy { padding: 20px; } }
/* нищо за избиране (игрите): 2 колони - снимка | покупка (07.10) */
@media (min-width: 992px) {
     .pv-a-grid--noopts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
     .pv-a-grid--noopts .pv-stage { aspect-ratio: auto; height: 480px; }   /* иначе обложката е ~700px и картата до нея изглежда малка */
}
@media (max-width: 991.98px) {
     .pv-a-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }   /* minmax(0) - иначе слайдерът (няколко снимки) разтяга колоната до милиони px */
     .pv-a-media { order: 1; position: static; }
     .pv-a-buy   { order: 2; position: static; }
     .pv-a-opts  { order: 3; }
     .pv-a .pv-stage { aspect-ratio: auto; height: 230px; padding: 16px; }
}

/* ==========================================================================
   Под сгъвката
   ========================================================================== */
.pv-sec .sw-title { margin-bottom: 0; }
.pv-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.pv-sechead .sw-btn { flex: none; }

/* проверки */
.pv-tests { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.pv-tests-intro .sw-title, .pv-tests-intro .sw-eyebrow { text-align: left; justify-content: flex-start; }
.pv-tests-intro p { margin: 16px 0 20px; font-size: 16px; line-height: 1.6; color: var(--sw-ink-2); }
.pv-tests-promise { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.pv-tests-promise li { font-size: 16px; font-weight: 600; }
.pv-tests-promise i { color: var(--sw-success); width: 24px; }
.pv-checks-wrap { background: var(--sw-bg); border: 1px solid var(--sw-line); border-radius: var(--pv-r-card); padding: 24px; }
.pv-checks-title { margin: 0 0 14px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sw-grey); }
.pv-checklist { list-style: none; margin: 0; padding: 0; column-count: 3; column-gap: 24px; }
.pv-checklist li { display: flex; gap: 8px; align-items: baseline; break-inside: avoid; padding: 4px 0; font-size: 14px; line-height: 1.4; color: var(--sw-ink-2); }
.pv-checklist li i { color: var(--sw-teal-ink); font-size: 11px; flex: none; }
@media (max-width: 991.98px) { .pv-checklist { column-count: 2; } }
.pv-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
.pv-check { font-size: 14px; color: var(--sw-ink-2); display: flex; gap: 8px; align-items: baseline; }
.pv-check i { color: var(--sw-teal-ink); font-size: 12px; }
.pv-checks-more { display: none; }


/* отзиви: картата .sw-review е в components.css (07.10) - тук само разликите на продуктовата страница */
.pv-reviews .sw-review { height: 100%; background: var(--sw-bg); border-color: var(--sw-line); box-shadow: none; }
.pv-reviews .sw-review-head { margin-bottom: 12px; }
.pv-reviews .sw-review-src { color: var(--sw-muted); font-size: 12px; }
.pv-reviews .sw-review-text { color: var(--sw-ink-2); font-size: 15px; -webkit-line-clamp: 5; }
.pv-reviews .sw-review-av { width: 40px; height: 40px; font-size: 15px; }
.pv-reviews .sw-review-meta { line-height: 1.3; }
.pv-reviews .sw-review-name { color: var(--sw-ink); font-size: 15px; }
.pv-reviews .sw-review-meta small { font-size: 12px; color: var(--sw-muted); }
.pv-reviews .owl-stage { display: flex; }
/* owl-stage-outer е overflow:hidden и реже 1px рамка на първата карта отляво - малко място за нея */
.home-owl .owl-stage-outer { padding: 2px; margin: -2px; }
.pv-reviews .owl-item { display: flex; }
.pv-reviews .owl-item .sw-review { width: 100%; }

/* характеристики — като текущата: една колона, зебра в светъл тийл; в бяла карта върху мекия фон */
.pv-spectable { max-width: 860px; margin: 0 auto; padding: 8px; background: var(--sw-bg); border: 1px solid var(--sw-line); border-radius: 16px; }
.pv-specrow { display: flex; align-items: baseline; gap: 16px; padding: 12px 18px; border-radius: 10px; font-size: 15px; }
.pv-specrow:nth-child(odd) { background: #f2fbfb; }
.pv-specrow.one_spec_hidden { display: none; }
.pv-specrow dt { flex: 0 0 38%; margin: 0; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--sw-grey); }
.pv-specrow dd { flex: 1; margin: 0; font-weight: 600; color: var(--sw-ink); overflow-wrap: anywhere; }
.pv-specrow dd a { color: var(--sw-teal-deep); }
.pv-specrow dd .fa-check { color: var(--sw-success); margin-right: 4px; }
.pv-more { margin-top: 16px; }
.pv-more--center { text-align: center; }
.pv-more .show_specs { font-size: 14px; font-weight: 700; color: var(--sw-ink); cursor: pointer; }
.pv-more .show_specs i { font-size: 11px; margin-left: 4px; }
.pv-more .show_less_specs { display: none; }

/* магазини — като текущата: компактен списък, статус вдясно, разгъване с адрес/часове/карта */
.pv-stores-lead { margin: 10px 0 0; font-size: 16px; color: var(--sw-ink-2); }
.pv-storelist { max-width: 860px; margin: 0 auto; background: var(--sw-bg); border: 1px solid var(--sw-line); border-radius: 16px; padding: 4px 22px; }
.pv-storeitem { border-bottom: 1px solid var(--sw-line); }
.pv-storeitem:last-child { border-bottom: 0; }
.pv-storeitem-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; color: var(--sw-ink); }
.pv-storeitem-head:hover { color: var(--sw-ink); }
.pv-storeitem-name { font-size: 15px; font-weight: 700; }
.pv-storeitem-name i { color: var(--sw-muted); margin-right: 10px; }
.pv-storeitem-stock { display: inline-flex; align-items: center; gap: 12px; flex: none; }
.pv-storeitem-stock .stock_badge { border-radius: 100px !important; font-size: 12px !important; font-weight: 700; padding: 4px 10px !important; }
.pv-badge-order { background: var(--sw-bg-soft) !important; color: var(--sw-grey) !important; }
.pv-storeitem-caret { font-size: 11px; color: var(--sw-muted); transition: transform .2s ease; }
.pv-storeitem-head:not(.collapsed) .pv-storeitem-caret { transform: rotate(180deg); }
.pv-storeitem-body { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; padding: 0 0 18px; }
.pv-storeitem-info p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--sw-ink-2); }
.pv-storeitem-info b { display: block; margin-bottom: 2px; color: var(--sw-ink); }
.pv-store-map { font-size: 14px; font-weight: 700; color: var(--sw-teal-deep); }
.pv-store-map:hover { color: var(--sw-ink); }
.pv-store-map i { font-size: 11px; margin-left: 4px; }
.pv-storeitem-map { width: 100%; height: 220px; border: 0; border-radius: var(--pv-r-ctl); background: var(--sw-bg-soft); }
@media (max-width: 767.98px) {
     .pv-spectable { padding: 6px; }
     .pv-specrow { padding: 11px 12px; font-size: 14px; }
     .pv-specrow dt { font-size: 12px; }
     .pv-storelist { padding: 2px 16px; }
     .pv-storeitem-name { font-size: 14px; }
     .pv-storeitem-body { grid-template-columns: 1fr; }
}

/* въпроси — kit .sw-faq, без собствената му сянка (единствената е картата за покупка) */
.pv-faq { max-width: 860px; box-shadow: none; }



/* ---- таблет ---- */
@media (max-width: 991.98px) {
     .pv-tests { grid-template-columns: minmax(0, 1fr); gap: 24px; }   /* minmax(0) - иначе колоната расте по съдържанието и прави хоризонтален скрол на 360px */
     .pv-two { grid-template-columns: 1fr; }
}
/* ---- телефон ---- */
@media (max-width: 767.98px) {
     /* двата чипа (спестяваш + 0%) на един ред до ~340px ширина */
     .pv-save { flex-wrap: wrap; gap: 6px; }   /* „спрямо нов" (07.10) удължи чипа - пренася се на 2 реда само ако не се събира */
     .pv-save-chip, .pv-zero-badge { flex: none; font-size: 13px; padding: 5px 10px; white-space: nowrap; letter-spacing: -.01em; }
     .pv { padding: 12px 0 40px; }
     .pv-crumbs { margin-bottom: 16px; }
     .pv-titleblock { margin-bottom: 18px; }
     .pv-h1-model { font-size: 26px; }
     .pv-h1-sub { font-size: 15px; }
     .pv-gallery-note { display: none; }
     .pv-price { font-size: 32px; }
     .pv-buy { padding: 20px 16px; box-shadow: none; }
     .pv-grade-desc, .pv-facts-inline { margin-left: 0; }
     .pv-checks-wrap { padding: 18px 16px; }
     .pv-checks { grid-template-columns: 1fr 1fr; }
     .pv-checks .pv-check:nth-child(n+11) { display: none; }
     .pv-checks.is-open .pv-check { display: flex; }
     .pv-checks-more { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700; color: var(--sw-ink); cursor: pointer; background: none; border: 0; padding: 0; }
     .pv-sechead { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
     .pv-sechead .sw-btn { width: auto; }
     .pv-panel { padding: 20px 16px; }
     .pv-store-body { grid-template-columns: 1fr; }
}

/* чиповете: под 360px - по-дребни, за да останат на един ред; под 320px - на 2 реда */
@media (max-width: 359.98px) { .pv .pv-save { gap: 5px; } .pv .pv-save-chip, .pv .pv-zero-badge { font-size: 12px; padding: 5px 8px; letter-spacing: -.02em; } }
@media (max-width: 319.98px) { .pv .pv-save { flex-wrap: wrap; } }
/* тесни телефони (≤360px): по-плътен ред със състояние, за да се побере „Много добър" + хапче + цена */
@media (max-width: 360px) {
     .pv .pv-grade { padding: 13px 12px; }
     .pv .pv-grade-row { gap: 10px; }
     .pv .pv-grade-name, .pv .pv-grade-price { font-size: 15px; }
     .pv .pv-grade-price { gap: 6px; }
     .pv .pv-grade-diff { padding: 3px 6px; font-size: 11px; }
     .pv .pv-tiles--2 .pv-tile { padding: 12px 10px; }
     .pv .pv-tiles--2 .pv-tile-sub { font-size: 13px; letter-spacing: -.01em; }
     .pv .pv-buy { padding-left: 14px; padding-right: 14px; }
     .pv .pv-credit { font-size: 13.5px; letter-spacing: -.02em; }
}
@media (max-width: 400px) { .pv .pv-credit { font-size: 14px; letter-spacing: -.015em; } }
@media (max-width: 360px) { .pv .pv-credit { font-size: 13.5px; letter-spacing: -.02em; } }
@media (max-width: 335px) { .pv .pv-credit { font-size: 12.5px; } }
/* под 380px бутонът на комплекта слиза на собствен ред на цялата ширина (между 360 и 380 се опираше в ръба) */
@media (max-width: 379.98px), (min-width: 992px) and (max-width: 1199px) { .pv .pv-bundle-foot { flex-wrap: wrap; } .pv .pv-bundle-btn { width: 100%; justify-content: center; } }



/* гаранция + връщане: мека сива лента в картата, разделена на две; тийл икони в бели кръгчета (собственик, 07.10) */
.pv-trust { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); margin-top: 18px; background: var(--sw-bg-soft);
     border-radius: var(--pv-r-ctl); }
.pv-trust-card { display: flex; align-items: center; gap: 10px; padding: 12px 14px; color: var(--sw-ink-2); line-height: 1.3; min-width: 0; }
.pv-trust-card + .pv-trust-card { border-left: 1px solid var(--sw-line); }
.pv-trust-card:hover { color: var(--sw-ink-2); text-decoration: none; }
.pv-trust-card:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pv-trust-card i { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
     background: #fff; color: var(--sw-teal-deep); font-size: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.pv-trust-card span { min-width: 0; font-size: 13px; color: var(--sw-grey); white-space: nowrap; }
.pv-trust-card b { display: block; font-size: 14px; font-weight: 800; color: var(--sw-ink); }
.pv-fineprint a { color: var(--sw-teal-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }


@media (max-width: 400px), (min-width: 992px) and (max-width: 1279px) { .pv-trust-card { gap: 8px; padding: 11px 10px; } .pv-trust-card i { width: 28px; height: 28px; font-size: 12px; } }
@media (min-width: 992px) and (max-width: 1060px) { .pv-trust-card { gap: 6px; padding: 11px 8px; } .pv-trust-card i { width: 24px; height: 24px; font-size: 11px; } .pv-trust-card b { font-size: 13px; } .pv-trust-card span { font-size: 12px; } }
/* бутонът „Виж всички" под слайдера (заглавията са центрирани като на началната, 07.10) */
.pv-secbtn { margin-top: 28px; }
/* отзивите: 12 точки на мобилно изглеждат като прогрес бар - само стрелките */
@media (max-width: 767px) { .pv-reviews .owl-dots { display: none !important; } }
/* мобилно (07.10): Crisp над лентата; кратък списък с проверки */
[data-pv-lift] { transition: transform .2s ease; }
body.pv-bar-on [data-pv-lift] { transform: translateY(-72px); }
@media (max-width: 767px) {
     .pv-checklist.is-collapsed li:nth-child(n+11) { display: none; }
}
.pv-checks-more { display: none; margin-top: 14px; padding: 0; border: 0; background: none; font-size: 14px; font-weight: 700; color: var(--sw-teal-deep);
     text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 767px) { .pv-checklist.is-collapsed + .pv-checks-more { display: inline-block; } }

/* ===================== Помощни прозорци (07.10) =====================
   Bootstrap modal, kit вид: десктоп - карта в центъра; мобилно - лист отдолу. */
.pv-modal .modal-dialog { max-width: 560px; }
.pv-modal .modal-dialog.modal-lg { max-width: 760px; }
.pv-modal--wide .modal-dialog { max-width: 1100px; }
.pv-modal .modal-content { position: relative; border: 0; border-radius: 20px; padding: 28px; box-shadow: 0 24px 64px rgba(12,12,12,.22); }
.modal-backdrop.show { opacity: .55; }
.pv-modal-x { position: absolute; top: 16px; right: 16px; z-index: 2; width: 36px; height: 36px; border: 0; border-radius: 50%;
     background: var(--sw-bg-soft); color: var(--sw-ink-2); font-size: 15px; display: grid; place-items: center; cursor: pointer; transition: background .15s; }
.pv-modal-x:hover { background: var(--sw-line); }
.pv-modal-head { display: flex; align-items: center; gap: 14px; padding-right: 44px; margin-bottom: 14px; }
.pv-modal-ico { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--sw-tint-teal); color: var(--sw-teal-deep); font-size: 18px; }
.pv-modal-title { margin: 0; font-size: 21px; font-weight: 800; line-height: 1.25; color: var(--sw-ink); letter-spacing: -.01em; }
.pv-modal-lead { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: var(--sw-ink-2); }
.pv-modal-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pv-modal-facts span { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 100px; background: var(--sw-bg-soft);
     font-size: 13px; font-weight: 700; color: var(--sw-ink); }
.pv-modal-facts i { color: var(--sw-teal-deep); font-size: 11px; }
.pv-modal-body { font-size: 15px; line-height: 1.6; color: var(--sw-ink-2); }
.pv-modal-body p { margin: 0 0 10px; }
.pv-modal-body p:last-child { margin-bottom: 0; }
/* общото „еднакво при всички" отдолу */
.pv-modal-same { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--sw-line);
     font-size: 14px; font-weight: 600; color: var(--sw-ink); }
.pv-modal-same-t { width: 100%; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--sw-grey); }
.pv-modal-same i { color: var(--sw-teal-deep); margin-right: 7px; }
/* състояния */
.pv-mgrades { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.pv-mgrade { padding: 14px 16px; border: 1px solid var(--sw-line); border-radius: var(--pv-r-ctl, 12px); }
.pv-mgrade.is-on { border-color: var(--sw-teal); background: var(--sw-tint-teal); }
.pv-mgrade-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.pv-mgrade-top b { font-size: 16px; font-weight: 800; color: var(--sw-ink); }
.pv-mgrade-you { font-style: normal; font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 100px; background: var(--sw-teal); color: #fff; }
.pv-mgrade-dots { margin-left: auto; display: inline-flex; gap: 4px; }
.pv-mgrade-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--sw-line); }
.pv-mgrade-dots i.is-full { background: var(--sw-teal); }
.pv-mgrade p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--sw-ink-2); }
/* батерия */
.pv-mbatt { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.pv-mbatt-card { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--sw-line); border-radius: 16px; }
.pv-mbatt-card.is-on { border-color: var(--sw-teal); background: var(--sw-tint-teal); }
.pv-mbatt-ico { font-size: 26px; color: var(--sw-teal-deep); margin-bottom: 4px; }
.pv-mbatt-card b { font-size: 16px; font-weight: 800; color: var(--sw-ink); }
.pv-mbatt-big { font-size: 28px; font-weight: 800; letter-spacing: -.02em; color: var(--sw-ink); line-height: 1.1; }
.pv-mbatt-card ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--sw-ink-2); }
.pv-mbatt-card li i { width: 16px; color: var(--sw-teal-deep); font-size: 12px; margin-right: 6px; }
/* кредитният калкулатор: стария хедър в kit вид */
.pv-modal .modal-header { border: 0; padding: 0 44px 14px 0; }
.pv-modal .modal-header .modal-title { font-size: 21px; font-weight: 800; color: var(--sw-ink); }
.pv-modal .modal-header .close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; margin: 0; padding: 0; border-radius: 50%;
     background: var(--sw-bg-soft); opacity: 1; text-shadow: none; font-size: 22px; line-height: 36px; color: var(--sw-ink-2); }
.pv-modal--wide .modal-body { border-radius: 12px; overflow: hidden; }
.pv-modal .modal-footer { border: 0; padding: 16px 0 0; }

/* мобилно: лист, който се плъзга отдолу */
@media (max-width: 575.98px) {
     .pv-modal .modal-dialog, .pv-modal .modal-dialog.modal-lg, .pv-modal--wide .modal-dialog { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; max-width: none; width: 100%;
          min-height: 0; display: block; transform: translateY(100%); transition: transform .28s cubic-bezier(.2,.8,.2,1); }
     .pv-modal.show .modal-dialog { transform: none; }
     .pv-modal .modal-content { border-radius: 20px 20px 0 0; padding: 26px 18px calc(20px + env(safe-area-inset-bottom)); max-height: 88vh; overflow-y: auto; }
     .pv-modal .modal-content::before { content: ''; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: var(--sw-line); }
     .pv-modal-x, .pv-modal .modal-header .close { top: 14px; right: 12px; }
     .pv-modal-title { font-size: 19px; }
     .pv-modal-ico { width: 40px; height: 40px; font-size: 16px; }
     .pv-mgrades { grid-template-columns: minmax(0,1fr); }
     .pv-mbatt { gap: 8px; }
     .pv-mbatt-card { padding: 14px 12px; }
     .pv-mbatt-big { font-size: 22px; }
     .pv-mbatt-card ul { font-size: 13px; }
}
/* докато прозорец е отворен, Crisp балончето не стои върху него */
body.modal-open .crisp-client { display: none !important; }
.pv-modal .modal-footer .btn { padding: 10px 22px; border-radius: var(--pv-r-ctl, 12px); border: 1px solid var(--sw-line); background: #fff;
     color: var(--sw-ink); font-weight: 700; font-size: 14px; box-shadow: none; }
.pv-modal .modal-footer .btn:hover { border-color: var(--sw-ink-2); }
.pv-mbatt-card li { display: flex; align-items: baseline; gap: 8px; }
.pv-mbatt-card li i { flex: none; margin-right: 0; }
.pv-a-media, .pv-stage { min-width: 0; }
/* галерия с няколко снимки (07.10): слайдът има фон, за да работи multiply (иначе бели квадрати - transform-ът
   на swiper изолира смесването), kit стрелки вместо сините по подразбиране, по-ясни миниатюри */
.pv-stage .swiper-slide { background: var(--sw-bg-soft); }
.pv-stage .swiper-main { overflow: hidden; }
/* обвивката и слайдовете - точно колкото рамката; иначе на мобилно (рамка 198px) слайдът растеше по снимката и тя се режеше горе и долу над ~370px ширина (09.10) */
.pv-stage .swiper-main .swiper-wrapper, .pv-stage .swiper-main .swiper-slide { height: 100%; }
.pv-stage .swiper-button-next, .pv-stage .swiper-button-prev { width: 38px; height: 38px; margin-top: -19px; border-radius: 50%; background: #fff;
     color: var(--sw-ink); box-shadow: 0 2px 8px rgba(12,12,12,.12); }
.pv-stage .swiper-button-next::after, .pv-stage .swiper-button-prev::after { font-size: 14px; font-weight: 800; }
.pv-stage .swiper-button-prev { left: 6px; } .pv-stage .swiper-button-next { right: 6px; }
.pv-thumbs .swiper-slide { opacity: 1; }
.pv-thumbs .swiper-slide img { mix-blend-mode: multiply; width: 100%; height: 100%; object-fit: contain; }
.pv-thumbs .swiper-slide:not(.swiper-slide-thumb-active) { opacity: .75; }
.pv-save-chip small { font-size: inherit; font-weight: 600; }
/* памет на тесни екрани: равни колони вместо min-width 100px (на 320 третата плочка падаше на нов ред) */

/* „Най-купуван" комплект (07.10) - по реални продажби */
.pv-bundle { position: relative; }
.pv-bundle.is-top { border-color: var(--sw-teal); box-shadow: 0 0 0 1px var(--sw-teal); }
.pv-bundle-badge { position: absolute; top: -11px; left: 16px; z-index: 1; display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px;
     border-radius: 100px; background: var(--sw-teal-deep); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .01em; }
.pv-bundle-badge i { font-size: 10px; }
/* памет: равни колони (07.10) */
.pv .pv-tiles--storage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pv .pv-tiles--storage.pv-tiles--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pv .pv-tiles--storage.pv-tiles--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pv .pv-tiles--storage .pv-tile--sm { min-width: 0; }
.pv .pv-tiles--storage .pv-tile-name { white-space: nowrap; }
@media (max-width: 1199.98px) and (min-width: 992px), (max-width: 480px) {
     .pv .pv-tiles--storage.pv-tiles--n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
     .pv .pv-tiles--storage .pv-tile--sm { padding: 12px 10px; }
}
/* магазин: при hover се подчертава действието (зеленият ред), не заглавието (07.10) */
.pv-perks .pv-perk--store a:hover b { text-decoration: none; }
.pv-perks .pv-perk--store a > span:not(.pv-perk-note) { text-underline-offset: 3px; transition: color .15s; }
.pv-perks .pv-perk--store a:hover > span:not(.pv-perk-note) { text-decoration: underline; }
/* магазините: hover без подчертаване - мек фон на реда, името и стрелката стават тийл (07.10) */
.pv-storeitem-head, .pv-storeitem-head:hover, .pv-storeitem-head:focus { text-decoration: none !important; }
/* hover на цялата ширина и височина на реда: отстъпът е в реда, не в списъка; ъглите се режат от списъка */
.pv-storelist { padding: 0; overflow: hidden; }
.pv-storeitem-head { padding: 16px 22px; transition: background .15s; }
.pv-storeitem-body { padding: 10px 22px 20px; }
@media (max-width: 767.98px) { .pv-storeitem-head { padding: 15px 16px; } .pv-storeitem-body { padding: 8px 16px 18px; } }
.pv-storeitem-head:hover { background: var(--sw-tint-teal); }
.pv-storeitem-head:hover .pv-storeitem-name, .pv-storeitem-head:hover .pv-storeitem-caret { color: var(--sw-teal-deep); }
.pv-storeitem-head:hover .pv-storeitem-name i { color: var(--sw-teal-deep); }
/* по-стегнати секции на десктоп (07.10): 56 → 44px, „Виж всички" 28 → 22px; мобилното е непроменено */
@media (min-width: 992px) {
     .pv-sec.sw-section { padding-top: 44px; padding-bottom: 44px; }
     .pv-a { padding-bottom: 44px; }
     .pv-secbtn { margin-top: 22px; }
}

/* всички предложения се събират на екрана → стрелките са излишни (сиви) */
.pv-related .owl-nav:has(.owl-prev.disabled):has(.owl-next.disabled) { display: none; }

/* ---- кредитен калкулатор (07.10): старият маркъп, kit вид ---- */
.pv-creditm .modal-dialog { max-width: 920px; }
.pv-creditm .modal-body.gray_holder { background: none; }
.pv-creditm .modal-body .p-3 { padding: 0 !important; }
.pv-creditm .modal-body > .p-3.bg-white { margin-bottom: 18px; }
.pv-credit-prod { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 12px 16px; border-radius: 12px; background: var(--sw-bg-soft); }
.pv-credit-prod h5 { margin: 0; font-size: 15px; font-weight: 600; color: var(--sw-ink-2); line-height: 1.4; }
.pv-credit-price { flex: none; font-size: 18px; font-weight: 800; color: var(--sw-price); }
/* периоди: чипове вместо таблица */
.pv-creditm .desktop_vnoski_select .row { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; margin: 0; }
.pv-creditm .vnoski_radio { max-width: none; flex: none; padding: 0; cursor: pointer; }
.pv-creditm .vnoski_radio_inner { position: relative; height: 100%; padding: 8px 4px; border: 1px solid var(--sw-line-2); border-radius: 10px; background: #fff;
     text-align: center; font-size: 13px; line-height: 1.25; color: var(--sw-ink-2); transition: border-color .15s, background .15s; }
.pv-creditm .vnoski_radio:hover .vnoski_radio_inner { border-color: var(--sw-ink-2); }
.pv-creditm .vnoski_radio.active_vnoski_radio .vnoski_radio_inner { border-color: var(--sw-teal); background: var(--sw-tint-teal); color: var(--sw-teal-deep); font-weight: 700; }
.pv-creditm .vnoski_radio.is-zero .vnoski_radio_inner::after { content: '0%'; position: absolute; top: -8px; right: -4px; padding: 1px 6px; border-radius: 100px;
     background: var(--sw-price); color: #fff; font-size: 10px; font-weight: 800; line-height: 1.4; }
.pv-creditm #vnoski_select { height: 46px; border-radius: 12px; border-color: var(--sw-line-2); font-size: 15px; }
.pv-creditm .mobile_vnoski_select label { font-size: 14px; font-weight: 600; color: var(--sw-ink-2); text-align: left !important; }
/* резултатът */
.pv-creditm .one_vnoska_holder { margin-top: 14px; padding: 16px 18px; border: 1px solid var(--sw-line); border-radius: 16px; background: #fff; }
.pv-creditm .one_vnoska_holder > .row { margin: 0; row-gap: 12px; }
.pv-credit-bank { max-width: 96px !important; }
.pv-creditm .text-bold-orange { color: var(--sw-price); font-weight: 800; }
.pv-creditm .text-bold-orange span, .pv-creditm .text-bold-orange { font-size: 26px !important; letter-spacing: -.02em; line-height: 1.1; }
.pv-creditm .vnoska-title-smaller { font-size: 13px; line-height: 1.6; color: var(--sw-grey); border-color: var(--sw-line) !important; }
.pv-credit-zero { display: inline-block; margin-top: 6px; padding: 3px 9px; border-radius: 100px; background: var(--sw-tint-teal); color: var(--sw-teal-deep); font-size: 12px; font-weight: 700; }
.pv-creditm .add-to-vnoski-cart.pv-cta { padding: 12px 16px; font-size: 14px; width: 100%; white-space: nowrap; }
.pv-creditm .text-center.d-block.d-lg-none { margin-top: 14px; }
@media (max-width: 991.98px) { .pv-creditm .text-center.d-block.d-lg-none .pv-cta { width: 100%; max-width: none; } }
.pv-creditm .desktop_vnoski_select .row { padding-top: 9px; }   /* място за етикета „0%" над чипа */
.pv-credit-prod h5 { text-align: left; }
@media (min-width: 992px) {
     .pv-creditm .one_vnoska_holder .col-lg-3 { flex: 0 0 auto; max-width: none; width: auto; }
     .pv-creditm .one_vnoska_holder .col-lg-7 { flex: 1 1 0; max-width: none; }
     .pv-creditm .one_vnoska_holder .col-lg-2 { flex: 0 0 auto; max-width: none; width: auto; }
     .pv-creditm .add-to-vnoski-cart.pv-cta { padding: 13px 22px; }
}
@media (max-width: 991.98px) {
     .pv-creditm .one_vnoska_holder .text-right { text-align: center !important; }
     .pv-creditm .vnoska-title-smaller { text-align: left; }
}
.pv-creditm .vnoski_radio, .pv-creditm .vnoski_radio_inner, .pv-creditm .desktop_vnoski_select, .pv-creditm .modal-body { overflow: visible; }
/* старите правила от black.css (.vnoski_radio: квадратна рамка + тийл фон при избран) - чипът е само вътрешният елемент */
.pv-creditm .vnoski_radio, .pv-creditm .vnoski_radio:first-child, .pv-creditm .vnoski_radio:last-child { border: 0 !important; border-radius: 0; background: none; color: inherit; }
.pv-creditm .active_vnoski_radio { background: none; color: inherit; }
.pv-creditm .vnoski_radio_inner { white-space: normal; overflow: visible; }
.pv-creditm .one_vnoska_holder { margin-bottom: 0; }

/* 08.10 CLS: преди Swiper да тръгне миниатюрите са 25% широки (~97px) и после стават 77px - всичко под галерията подскача
   (лаптоп: CLS 0.117 → 0.035). Резервираме същата подредба, която Swiper слага (5 на ред, 5px разстояние, само 1-вият слайд) */
.pv-thumbs:not(.swiper-initialized) .swiper-wrapper { display: flex; }
.pv-thumbs:not(.swiper-initialized) .swiper-slide { width: calc((100% - 20px) / 5); margin-right: 5px; flex-shrink: 0; }
.pv-stage .swiper-main:not(.swiper-initialized) .swiper-slide:not(:first-child) { display: none; }

/* 08.10 „виж комплектите ›" (scrollIntoView) спираше под лепкавия хедър на телефона (56px) и режеше заглавието */
#pv-bundles { scroll-margin-top: 76px; }

/* 08.10 телефон: дълъг модел („Samsung Galaxy S24 Ultra 5G") пренасяше трохите на 2 реда с висяща стрелка - 1 ред, последната се реже с „…" */
@media (max-width: 767.98px) {
     .pv-crumbs { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
     .pv-crumbs > * { flex-shrink: 0; }
     .pv-crumbs > a:last-child { flex-shrink: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}

/* 09.10 (собственик): по-видими значки на снимката и подзаглавие; „Поръчай до 16:00 днес"; „30+ продадени" */
.pv-stage .pcard-tag { font-size: 14px; padding: 5px 13px; gap: 6px; }
.pv-stage .pcard-tag--promo { left: 18px; } .pv-stage .p3-tag-batt { right: 18px; } .pv-stage .pcard-tag { top: 18px; }
.pv-h1-sub { font-size: 18px; font-weight: 600; color: var(--sw-ink-2); }
.pv-perks span.pv-cutoff { font-size: 14px; font-weight: 600; color: var(--sw-teal-ink); }
/* по-видим (собственик, 09.10): бранд лилаво върху светъл лилав фон (--sw-tint-purple + --sw-purple = 5.37:1, AA) */
.pv-sold { display: inline-flex; align-items: center; gap: 8px; margin: 2px 0 10px; padding: 6px 13px 6px 11px; border-radius: var(--sw-r-pill, 100px);
     background: var(--sw-tint-purple); color: var(--sw-purple); font-size: 14px; font-weight: 600; line-height: 1.3; }
.pv-sold i { font-size: 13px; }
.pv-sold b { font-weight: 800; }
@media (max-width: 767.98px) {
     .pv-stage .pcard-tag { font-size: 13px; padding: 4px 11px; top: 12px; }
     .pv-stage .pcard-tag--promo { left: 12px; } .pv-stage .p3-tag-batt { right: 12px; }
     .pv-h1-sub { font-size: 16px; }
}

/* 09.10 Цвят - мостри със снимка (вместо 30px иконка в ред). Снимката стои на сива „сцена" като голямата галерия,
   избраният е с тийл рамка + отметка в ъгъла, изчерпаният - сив (grayscale) с „Изчерпан". */
.pv-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
.pv-swatch { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 8px 10px;
     border: 1px solid var(--sw-line-2); border-radius: var(--pv-r-ctl); background: var(--sw-bg); color: var(--sw-ink); text-align: center;
     transition: border-color .15s, box-shadow .15s, transform .15s; }
.pv-swatch-img { display: flex; align-items: center; justify-content: center; width: 100%; height: 72px; border-radius: calc(var(--pv-r-ctl) - 4px); background: var(--sw-bg-soft); }
.pv-swatch-img img { max-width: 78%; max-height: 60px; object-fit: contain; mix-blend-mode: multiply; transition: transform .2s; }
.pv-swatch-name { font-size: 13px; font-weight: 700; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
.pv-swatch-out { position: absolute; top: 44px; left: 50%; z-index: 1; transform: translate(-50%, -50%); padding: 3px 8px; border-radius: 999px; background: #fff; border: 1px solid var(--sw-line); font-size: 11px; font-weight: 700; line-height: 1.2; color: var(--sw-muted); white-space: nowrap; box-shadow: 0 1px 3px rgba(17, 24, 39, .08); } /* значка върху снимката, без да уголемява картата (09.10) */
a.pv-swatch:hover { border-color: var(--sw-ink); color: var(--sw-ink); box-shadow: 0 6px 16px rgba(17, 24, 39, .08); transform: translateY(-2px); }
a.pv-swatch:hover .pv-swatch-img img { transform: scale(1.06); }
a.pv-swatch:focus-visible { outline: 2px solid var(--sw-teal-ink); outline-offset: 2px; }
.pv-swatch.is-on { border-color: var(--sw-teal-ink); box-shadow: inset 0 0 0 1px var(--sw-teal-ink); background: var(--sw-tint-teal); }
.pv-swatch.is-on .pv-swatch-img { background: #fff; }
.pv-swatch-check { position: absolute; top: -7px; right: -7px; z-index: 1; display: flex; align-items: center; justify-content: center;
     width: 22px; height: 22px; border-radius: 50%; background: var(--sw-teal-ink); color: #fff; font-size: 11px; box-shadow: 0 0 0 2px #fff; }
.pv-swatch.is-out { border-style: dashed; background: var(--sw-bg); cursor: not-allowed; }
.pv-swatch.is-out .pv-swatch-img img { filter: grayscale(1); opacity: .45; }
.pv-swatch.is-out .pv-swatch-name { color: var(--sw-muted); font-weight: 600; }
@media (max-width: 575.98px) {
     .pv-swatches { gap: 8px; }
     .pv-swatch-img { height: 64px; }
     .pv-swatch-img img { max-height: 54px; }
     .pv-swatch-out { top: 40px; }
}

/* 09.10 „Виж още N комплекта" нямаше hover */
.pv-bundles-more:hover { color: var(--sw-teal-ink); text-decoration: underline; text-underline-offset: 3px; }
