:root {
  --bg: #f4f5f2;
  --surface: #ffffff;
  --ink: #151917;
  --muted: #65706a;
  --line: #dfe4df;
  --accent: #256b4b;
  --accent-dark: #174833;
  --accent-soft: #e8f2ec;
  --gold: #9a6a12;
  --gold-soft: #fff4d7;
  --shadow: 0 18px 50px rgba(19, 30, 24, .08);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.55;
}
a { color: inherit; }
.shell { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.hero {
  background:
    radial-gradient(circle at 82% 10%, rgba(78, 143, 106, .25), transparent 32%),
    linear-gradient(145deg, #0e1210, #18201b 62%, #122d20);
  color: #fff;
  padding: 72px 0 58px;
  overflow: hidden;
}
.hero__inner { position: relative; }
.hero h1 { margin: 8px 0 14px; max-width: 830px; font-size: clamp(42px, 7vw, 78px); line-height: .98; letter-spacing: -0.045em; }
.hero h1 span { color: #8bd0a9; }
.hero__lead { max-width: 760px; margin: 0; color: #cbd4ce; font-size: clamp(18px, 2vw, 22px); }
.eyebrow { text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 800; color: #9cb3a6; }
.eyebrow--dark { color: var(--accent); }
.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 999px; text-decoration: none; font-weight: 800; border: 1px solid transparent; }
.btn--primary { background: #fff; color: #111; }
.btn--ghost { border-color: rgba(255,255,255,.22); color: #fff; background: rgba(255,255,255,.06); }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 42px; max-width: 860px; }
.stat { padding: 16px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.055); backdrop-filter: blur(6px); }
.stat strong { display: block; font-size: 25px; }
.stat span { color: #bfc9c2; font-size: 13px; }
.notice { margin-top: 28px; padding: 16px 18px; border-radius: 15px; border: 1px solid #d9e5dc; background: #eef5f0; color: #294236; }
.section { padding: 58px 0 12px; }
.section__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.section h2 { margin: 5px 0 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -0.035em; }
.products { display: grid; gap: 18px; }
.product { position: relative; display: grid; grid-template-columns: minmax(260px, 38%) 1fr; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.product--winner { border-color: #c9d9cf; box-shadow: 0 22px 58px rgba(32, 90, 60, .12); }
.product__rank { position: absolute; z-index: 2; top: 14px; left: 14px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(15,20,17,.9); color: #fff; font-weight: 900; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.product__image { min-height: 330px; background: #e6e7e3; overflow: hidden; }
.product__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.product__image:hover img { transform: scale(1.025); }
.product__body { padding: 28px; }
.product__topline { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-dark); font-size: 12px; font-weight: 900; }
.badge--best { background: var(--gold-soft); color: var(--gold); }
.badge--verified { background: #e7edf9; color: #315a96; }
.product h3 { margin: 0; font-size: clamp(23px, 3vw, 32px); line-height: 1.12; letter-spacing: -0.02em; }
.product__sub { margin: 7px 0 20px; color: var(--muted); }
.keydata { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.keydata > div { min-width: 0; padding: 11px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fbfcfa; }
.keydata span, .price span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.keydata strong { display: block; margin-top: 2px; font-size: 15px; overflow-wrap: anywhere; }
.extended { display: block; color: #44504a; font-size: 14px; margin-top: 16px; }
.price { margin-top: 18px; padding: 14px 16px; background: #f5f7f4; border-radius: 13px; }
.price strong { display: block; font-size: 22px; }
.price small { color: var(--muted); }
.links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.links a { text-decoration: none; font-size: 13px; font-weight: 850; color: var(--accent-dark); padding: 9px 11px; border: 1px solid #cddbd2; border-radius: 10px; background: #f5faf7; }
.links a:hover { background: #eaf4ee; }
.sourcebox { margin: 40px 0 70px; padding: 28px; border: 1px solid var(--line); background: var(--surface); border-radius: var(--radius); display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: start; }
.sourcebox p { margin: 2px 0 0; color: var(--muted); }
footer { border-top: 1px solid var(--line); background: #ecefeb; }
.footer__inner { min-height: 82px; display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #4f5c55; font-size: 14px; }
.footer__inner a { font-weight: 800; text-decoration: none; }
@media (max-width: 900px) {
  .product { grid-template-columns: 1fr; }
  .product__image { min-height: 300px; max-height: 470px; }
  .keydata { grid-template-columns: repeat(2, 1fr); }
  .sourcebox { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .shell { width: min(100% - 20px, 1120px); }
  .hero { padding: 50px 0 40px; }
  .hero h1 { font-size: 46px; }
  .stats { grid-template-columns: 1fr; }
  .section { padding-top: 42px; }
  .section__head { align-items: flex-start; flex-direction: column; }
  .product__body { padding: 22px 18px; }
  .product__image { min-height: 255px; }
  .keydata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__inner { flex-direction: column; justify-content: center; padding: 20px 0; }
}

/* Galerie */
.product__image.gallery-trigger { position: relative; width: 100%; border: 0; padding: 0; cursor: zoom-in; font: inherit; text-align: left; }
.gallery-badge { position: absolute; right: 14px; bottom: 14px; z-index: 2; padding: 8px 11px; border-radius: 999px; background: rgba(10,14,12,.82); color: #fff; font-size: 12px; font-weight: 850; backdrop-filter: blur(7px); box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.gallery-modal { position: fixed; inset: 0; z-index: 9999; display: none; padding: 24px; background: rgba(6,10,8,.88); backdrop-filter: blur(10px); }
.gallery-modal.is-open { display: grid; place-items: center; }
.gallery-modal__panel { width: min(1120px, 100%); max-height: calc(100vh - 48px); overflow: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: #111613; color: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.45); }
.gallery-modal__close { position: fixed; top: 20px; right: 24px; z-index: 10001; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(20,25,22,.86); color: #fff; font-size: 31px; line-height: 1; cursor: pointer; }
.gallery-modal__header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 22px 24px 16px; }
.gallery-modal__header h2 { margin: 4px 0 0; font-size: clamp(22px, 3vw, 36px); line-height: 1.08; }
.gallery-count { color: #b7c4bc; font-weight: 800; white-space: nowrap; }
.gallery-stage { position: relative; display: grid; place-items: center; min-height: min(68vh, 720px); background: #080b09; overflow: hidden; }
.gallery-stage img { width: 100%; height: min(68vh, 720px); object-fit: contain; display: block; }
.gallery-nav { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); width: 50px; height: 58px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(15,20,17,.72); color: #fff; font-size: 36px; cursor: pointer; backdrop-filter: blur(6px); }
.gallery-nav--prev { left: 14px; }
.gallery-nav--next { right: 14px; }
.gallery-nav[disabled] { opacity: .28; cursor: default; }
.gallery-thumbs { display: flex; gap: 9px; overflow-x: auto; padding: 13px 18px; background: #0e1310; scrollbar-width: thin; }
.gallery-thumb { flex: 0 0 88px; width: 88px; height: 66px; padding: 0; border: 2px solid transparent; border-radius: 9px; overflow: hidden; background: #222; cursor: pointer; }
.gallery-thumb.is-active { border-color: #8bd0a9; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-modal__footer { display: flex; justify-content: space-between; gap: 16px; padding: 14px 20px 18px; color: #aebbb3; font-size: 13px; }
.gallery-modal__footer a { color: #aee3c3; font-weight: 850; text-decoration: none; }
body.gallery-open { overflow: hidden; }
@media (max-width: 650px) {
  .gallery-modal { padding: 0; }
  .gallery-modal__panel { width: 100%; max-height: 100vh; height: 100vh; border-radius: 0; }
  .gallery-modal__close { top: 10px; right: 10px; }
  .gallery-modal__header { padding: 18px 60px 12px 16px; align-items: flex-start; flex-direction: column; gap: 4px; }
  .gallery-stage { min-height: 58vh; }
  .gallery-stage img { height: 58vh; }
  .gallery-nav { width: 42px; height: 52px; }
  .gallery-nav--prev { left: 8px; }
  .gallery-nav--next { right: 8px; }
  .gallery-modal__footer { flex-direction: column; }
}

/* v16: oferty i kalkulatory */
.offer-list{margin:12px 0 14px;border:1px solid rgba(20,35,29,.12);border-radius:14px;overflow:hidden;background:#fff}
.offer-list__title{padding:10px 12px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#f3f6f4;color:#516158}
.offer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid rgba(20,35,29,.09);text-decoration:none;color:inherit}
.offer-row:hover{background:#f7faf8}.offer-row span{display:flex;flex-direction:column;gap:2px}.offer-row strong{font-size:.92rem}.offer-row small{font-size:.75rem;color:#66756c}.offer-row b{white-space:nowrap;font-size:.9rem}
.calc{margin-top:14px;padding:14px;border:1px solid rgba(20,35,29,.12);border-radius:16px;background:#f8faf9}
.calc__title{font-weight:850;margin-bottom:10px}.calc__inputs{display:grid;grid-template-columns:1fr 120px;gap:10px}.calc label{font-size:.76rem;color:#59675f;font-weight:700}.calc input,.calc select{display:block;width:100%;margin-top:5px;padding:10px 11px;border-radius:10px;border:1px solid #cfd8d2;background:#fff;font:inherit;color:#17211c}.calc__result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.calc__result>div{padding:9px 10px;background:#fff;border-radius:10px;border:1px solid rgba(20,35,29,.08);display:flex;flex-direction:column}.calc__result span{font-size:.72rem;color:#6a786f}.calc__result strong{font-size:.96rem;margin-top:2px}.calc-total-row strong{font-size:1.08rem}.calc__note{display:block;margin-top:8px;color:#748078;font-size:.7rem;line-height:1.35}
@media(max-width:620px){.calc__inputs{grid-template-columns:1fr 95px}.offer-row{align-items:flex-start}.calc__result{grid-template-columns:1fr 1fr}}
.calc-grand-row{background:#eef6f1!important;border-color:#bad5c4!important}.calc-grand-row strong{font-size:1.12rem!important}

/* v17: bieżący kurs EUR/PLN z bezpłatnego API NBP */
.fx-price-pln{font-style:normal;font-size:.68em;font-weight:800;color:#37624c;margin-left:.35em;white-space:nowrap}
.price .fx-rate-note{display:inline;text-transform:none;letter-spacing:0;font-size:inherit;font-weight:inherit;color:inherit}
.offer-row b .fx-offer-pln{display:block;margin-top:2px;font-size:.72rem;font-weight:700;color:#60736a;white-space:nowrap}
.calc-fx-row{background:#f0f7f3!important;border-color:#c5ddcf!important}
.calc-fx-row strong{font-size:1.08rem!important;color:#24543b}

/* v19: świeży PDF + pobieranie bieżącego zdjęcia */
.hero__actions button.btn{font:inherit;cursor:pointer}
.gallery-modal__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gallery-download-btn,.gallery-view-btn{border:1px solid rgba(174,227,195,.38);border-radius:10px;background:#193124;color:#d8f6e4;padding:9px 12px;font:inherit;font-size:13px;font-weight:850;cursor:pointer}
.gallery-download-btn:hover,.gallery-view-btn:hover{background:#244532}
.gallery-download-btn:disabled,.gallery-view-btn:disabled{opacity:.55;cursor:wait}
.pdf-status{display:inline-flex;align-items:center;margin-left:8px;font-size:12px;color:#b8c4be}
@media(max-width:650px){.gallery-modal__footer{gap:10px}.gallery-modal__actions{width:100%;justify-content:space-between}}

/* v20 — sortowanie i ranking */
.sort-panel{margin:22px 0 18px;padding:20px;border:1px solid var(--line,#dfe3e8);border-radius:18px;background:var(--card,#fff);box-shadow:0 8px 28px rgba(20,30,40,.05)}
.sort-panel__head h2{margin:.15rem 0 .3rem;font-size:1.35rem}.sort-panel__head p{margin:0;color:var(--muted,#667085)}
.sort-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.sort-btn{appearance:none;border:1px solid #cfd6df;background:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;transition:.18s ease}.sort-btn:hover{transform:translateY(-1px);border-color:#8d99a8}.sort-btn.is-active{background:#17202a;color:#fff;border-color:#17202a}.sort-btn--value.is-active{background:#5a4510;border-color:#5a4510}.ranking-note{display:none;margin-top:14px;padding:12px 14px;border-radius:12px;background:#faf7ed;color:#514315;font-size:.92rem;line-height:1.45}.sort-panel[data-current="value"] .ranking-note{display:block}.badge--score{background:#f6edcf!important;color:#59450d!important}.product__rank{transition:.2s ease}
@media(max-width:650px){.sort-buttons{display:grid;grid-template-columns:1fr 1fr}.sort-btn{border-radius:12px;padding:10px 8px;font-size:.86rem}.sort-panel{padding:15px}}

/* v22: zwarty widok mobilny + rozwijane sekcje */
.mobile-detail-section { margin-top: 12px; }
.mobile-detail-section > summary { display: none; }

@media (max-width: 650px) {
  .hero { padding: 34px 0 28px; }
  .hero h1 { font-size: 38px; }
  .hero__lead { font-size: 16px; }
  .hero__actions { margin-top: 18px; gap: 8px; }
  .hero__actions .btn { min-height: 42px; padding: 0 14px; font-size: 13px; }
  .stats { margin-top: 24px; gap: 8px; }
  .stat { padding: 11px 13px; }
  .stat strong { font-size: 20px; }
  .notice { margin-top: 18px; padding: 12px 13px; font-size: 13px; }
  .section { padding-top: 30px; }
  .section h2 { font-size: 29px; }
  .sort-panel { padding: 14px; margin-bottom: 14px; }
  .sort-panel__head h2 { font-size: 24px; }
  .sort-panel__head p { font-size: 13px; margin-bottom: 10px; }
  .sort-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  .sort-btn { min-height: 40px; padding: 8px 9px; font-size: 12px; line-height: 1.2; }
  .ranking-note { font-size: 12px; padding: 10px 11px; }

  .products { gap: 12px; }
  .product { border-radius: 16px; box-shadow: 0 10px 28px rgba(19,30,24,.07); }
  .product__rank { top: 9px; left: 9px; width: 34px; height: 34px; font-size: 14px; }
  .product__image { min-height: 0; height: 210px; max-height: 210px; }
  .product__image img { object-position: center; }
  .gallery-badge { right: 9px; bottom: 9px; padding: 6px 9px; font-size: 11px; }
  .product__body { padding: 15px 14px 14px; }
  .product__topline { margin-bottom: 7px; gap: 5px; }
  .badge { padding: 4px 7px; font-size: 10px; }
  .product h3 { font-size: 20px; line-height: 1.12; }
  .product__sub { margin: 4px 0 10px; font-size: 12px; }
  .price { margin-top: 10px; padding: 10px 11px; }
  .price span { font-size: 9px; }
  .price strong { font-size: 18px; line-height: 1.25; }
  .price small { display: block; margin-top: 2px; font-size: 11px; line-height: 1.3; }

  .mobile-detail-section {
    margin: 8px 0 0;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fafbf9;
    overflow: clip;
  }
  .mobile-detail-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 9px 11px;
    cursor: pointer;
    list-style: none;
    color: #27342e;
    font-size: 12px;
    font-weight: 900;
    user-select: none;
  }
  .mobile-detail-section > summary::-webkit-details-marker { display: none; }
  .mobile-detail-section > summary::after {
    content: '＋';
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    color: var(--accent);
  }
  .mobile-detail-section[open] > summary::after { content: '−'; }
  .mobile-detail-section[open] > summary { border-bottom: 1px solid var(--line); background: #f2f6f3; }
  .mobile-detail-section__content { padding: 10px; }

  .mobile-detail-section .keydata { margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); border-radius: 9px; }
  .mobile-detail-section .keydata > div { padding: 8px 9px; }
  .mobile-detail-section .keydata span { font-size: 9px; }
  .mobile-detail-section .keydata strong { font-size: 13px; }
  .mobile-detail-section .extended { margin-top: 9px; font-size: 12px; line-height: 1.4; }
  .mobile-detail-section .extended p { margin: 6px 0; }
  .mobile-detail-section .offer-list { margin: 0; border: 0; border-radius: 0; }
  .mobile-detail-section .offer-list__title { display: none; }
  .mobile-detail-section .offer-row { padding: 9px 3px; gap: 7px; }
  .mobile-detail-section .offer-row span strong { font-size: 12px; }
  .mobile-detail-section .offer-row small { font-size: 10px; }
  .mobile-detail-section .offer-row > b { font-size: 12px; }
  .mobile-detail-section .calc { margin: 0; padding: 0; border: 0; background: transparent; }
  .mobile-detail-section .calc__title { display: none; }
  .mobile-detail-section .calc__inputs { grid-template-columns: 1fr 92px; gap: 8px; }
  .mobile-detail-section .calc label { font-size: 10px; }
  .mobile-detail-section .calc input,
  .mobile-detail-section .calc select { min-height: 39px; font-size: 14px; }
  .mobile-detail-section .calc__result { gap: 6px; }
  .mobile-detail-section .calc__result > div { padding: 8px 9px; }
  .mobile-detail-section .calc__result span { font-size: 9px; }
  .mobile-detail-section .calc__result strong { font-size: 13px; }
  .mobile-detail-section .calc__note { font-size: 10px; line-height: 1.35; }
  .links { margin-top: 9px; gap: 6px; }
  .links a { padding: 7px 8px; font-size: 11px; }

  .sourcebox { margin: 28px 0 40px; padding: 18px; gap: 14px; }
}

/* v23 — mocno skompresowana góra strony na telefonie */
@media (max-width: 650px) {
  .shell { width: min(100% - 16px, 1120px); }

  .hero { padding: 14px 0 12px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .11em; line-height: 1.15; }
  .hero h1 {
    margin: 4px 0 5px;
    max-width: none;
    font-size: 25px;
    line-height: 1.02;
    letter-spacing: -.035em;
  }
  .hero__lead {
    max-width: none;
    font-size: 11px;
    line-height: 1.3;
    color: #c7d0ca;
  }
  .hero__actions {
    margin-top: 9px;
    gap: 6px;
    flex-wrap: nowrap;
  }
  .hero__actions .btn {
    min-height: 32px;
    padding: 0 11px;
    font-size: 10.5px;
    white-space: nowrap;
  }

  .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-top: 10px;
    max-width: none;
  }
  .stat {
    min-width: 0;
    padding: 6px 7px;
    border-radius: 10px;
  }
  .stat strong {
    font-size: 16px;
    line-height: 1.05;
  }
  .stat span {
    margin-top: 2px;
    font-size: 8.5px;
    line-height: 1.15;
  }

  main.shell > .notice {
    margin-top: 7px;
    padding: 7px 9px;
    border-radius: 10px;
    font-size: 10px;
    line-height: 1.3;
  }

  .section { padding-top: 17px; }
  .section__head { margin-bottom: 10px; }
  .section__head .eyebrow { font-size: 9px; }
  .section h2 { margin-top: 2px; font-size: 23px; }

  .sort-panel { margin: 9px 0 10px; padding: 9px; border-radius: 13px; }
  .sort-panel__head h2 { margin: 0; font-size: 17px; }
  .sort-panel__head p, .sort-panel__head .eyebrow { display: none; }
  .sort-buttons { margin-top: 7px; gap: 5px; }
  .sort-btn { min-height: 34px; padding: 6px 5px; font-size: 10px; border-radius: 9px; }
  .ranking-note { margin-top: 7px; font-size: 10px; padding: 7px 8px; }
}

/* v24 — mobilny wygląd zbliżony do makiety / zdjęcia */
@media (max-width: 650px) {
  :root {
    --bg: #07100c;
    --surface: rgba(12, 18, 15, .78);
    --ink: #f2f6f2;
    --muted: #b9c7bf;
    --line: rgba(255,255,255,.11);
    --accent: #2db06d;
    --accent-dark: #0e1a14;
    --accent-soft: rgba(45,176,109,.16);
    --shadow: 0 18px 50px rgba(0,0,0,.22);
    --radius: 22px;
  }

  html, body { background: #07100c; }
  body {
    color: var(--ink);
    background:
      radial-gradient(circle at 84% 10%, rgba(31, 119, 71, .34), transparent 22%),
      radial-gradient(circle at 18% 55%, rgba(22, 69, 46, .24), transparent 25%),
      linear-gradient(180deg, #08100c 0%, #08120d 52%, #0b140f 100%);
  }
  .shell { width: min(100% - 24px, 1120px); }

  .hero {
    padding: 18px 0 8px;
    background: transparent;
    color: #fff;
    overflow: visible;
  }
  .hero__inner {
    position: relative;
    padding-right: 138px;
  }
  .hero .eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    letter-spacing: .12em;
    color: #a7b8af;
  }
  .hero .eyebrow::before {
    content: "🛡";
    font-size: 14px;
    line-height: 1;
  }
  .hero h1 {
    margin: 8px 0 8px;
    max-width: none;
    font-size: 25px;
    line-height: 1.04;
    letter-spacing: -.04em;
  }
  .hero h1 span { color: #7cdfa8; }
  .hero__lead {
    max-width: 520px;
    margin: 0;
    font-size: 12px;
    line-height: 1.38;
    color: #d5ddd8;
  }
  .hero__actions {
    position: absolute;
    top: 20px;
    right: 0;
    margin: 0;
    gap: 8px;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    width: 128px;
  }
  .hero__actions .btn {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 850;
    box-shadow: none;
  }
  .btn--primary {
    background: #ffffff;
    color: #101412;
  }
  .btn--ghost {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.16);
    color: #fff;
  }

  .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
    max-width: none;
  }
  .stat {
    padding: 14px 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
    backdrop-filter: blur(10px);
  }
  .stat strong {
    font-size: 18px;
    line-height: 1.05;
    color: #fff;
  }
  .stat span {
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.18;
    color: #b8c6be;
  }

  main.shell { margin-top: 10px; }
  main.shell > .notice {
    margin-top: 0;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.04);
    color: #d9e4dd;
    font-size: 12px;
    line-height: 1.45;
  }
  main.shell > .notice strong,
  main.shell > .notice b { color: #f4fbf7; }

  .section { padding-top: 22px; }
  .section__head { margin-bottom: 6px; }
  .section__head .eyebrow { display: none; }
  .section__head h2 {
    margin: 0;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #dce7df;
    font-weight: 800;
  }

  .sort-panel {
    margin: 10px 0 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .sort-panel__head { display: none; }
  .sort-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 0;
  }
  .sort-btn {
    min-height: 48px;
    padding: 0 12px;
    justify-content: flex-start;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: #eff6f1;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
  }
  .sort-btn.is-active {
    background: linear-gradient(180deg, #2aac69, #1d8d52);
    color: #fff;
    border-color: transparent;
  }
  .sort-btn--value.is-active { background: linear-gradient(180deg, #5d7b22, #406315); border-color: transparent; }
  .ranking-note {
    margin-top: 10px;
    padding: 12px 13px;
    border-radius: 14px;
    background: rgba(255, 238, 184, .10);
    color: #f0e6b8;
    font-size: 11px;
    line-height: 1.42;
  }

  .products { gap: 16px; }
  .product {
    position: relative;
    display: block;
    padding: 16px;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.11);
    background:
      radial-gradient(circle at 88% 22%, rgba(34,119,73,.22), transparent 26%),
      linear-gradient(180deg, rgba(16,23,19,.92), rgba(13,19,16,.94));
    box-shadow: 0 18px 46px rgba(0,0,0,.25);
    color: #fff;
  }
  .product--winner { border-color: rgba(88, 206, 132, .28); }
  .product__rank {
    top: 16px;
    left: 16px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(180deg, #2aac69, #20854f);
    box-shadow: 0 10px 22px rgba(27,105,62,.35);
    font-size: 16px;
  }
  .product__image {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 120px;
    height: 120px;
    min-height: 0;
    max-height: none;
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
  }
  .product__image img { object-fit: cover; }
  .gallery-badge {
    right: 8px;
    bottom: 8px;
    padding: 5px 8px;
    font-size: 10px;
    background: rgba(15,20,17,.78);
  }
  .product__body {
    padding: 0;
    color: #fff;
  }
  .product__topline,
  .product h3,
  .product__sub,
  .price {
    margin-left: 134px;
    margin-right: 0;
  }
  .product__topline {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    min-height: 24px;
    padding-right: 116px;
  }
  .badge {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(45,176,109,.18);
    color: #a9edc6;
    font-size: 10px;
    font-weight: 800;
  }
  .badge--best { background: rgba(255,224,128,.14); color: #ffe29e; }
  .product h3 {
    font-size: 19px;
    line-height: 1.14;
    letter-spacing: -.02em;
    margin-top: 0;
    margin-bottom: 6px;
    padding-right: 118px;
  }
  .product__sub {
    margin-top: 0;
    margin-bottom: 10px;
    color: #c0ccc5;
    font-size: 12px;
  }
  .price {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 108px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    text-align: right;
  }
  .price span {
    display: none;
  }
  .price strong {
    font-size: 18px;
    line-height: 1.08;
    color: #fff;
  }
  .price small {
    display: block;
    margin-top: 8px;
    color: #b9c7bf;
    font-size: 10.5px;
    line-height: 1.35;
  }
  .keydata, .extended, .offer-list, .calc, .links {
    margin-left: 0;
  }

  .mobile-detail-section {
    margin-top: 10px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
    overflow: hidden;
  }
  .mobile-detail-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 0 14px;
    color: #edf6f0;
    font-size: 14px;
    font-weight: 800;
  }
  .mobile-detail-section > summary::after {
    content: '›';
    font-size: 26px;
    line-height: 1;
    font-weight: 300;
    color: #a5c3b2;
    transform: rotate(0deg);
    transition: transform .18s ease;
  }
  .mobile-detail-section[open] > summary::after {
    transform: rotate(90deg);
  }
  .mobile-detail-section[open] > summary {
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
  }
  .mobile-detail-section__content { padding: 12px; }
  .mobile-detail-section .keydata {
    grid-template-columns: repeat(2, minmax(0,1fr));
    border-color: rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
  }
  .mobile-detail-section .keydata > div {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.015);
  }
  .mobile-detail-section .keydata span,
  .mobile-detail-section .offer-row small,
  .mobile-detail-section .calc__result span,
  .mobile-detail-section .calc label,
  .calc__note { color: #a9b9b0; }
  .mobile-detail-section .keydata strong,
  .mobile-detail-section .offer-row strong,
  .mobile-detail-section .offer-row b,
  .mobile-detail-section .calc__result strong,
  .calc input, .calc select { color: #fff; }
  .mobile-detail-section .offer-list {
    background: transparent;
    border: 0;
  }
  .mobile-detail-section .offer-row {
    border-top-color: rgba(255,255,255,.08);
    color: #fff;
  }
  .mobile-detail-section .offer-row:hover { background: rgba(255,255,255,.03); }
  .mobile-detail-section .calc {
    background: transparent;
    border: 0;
    padding: 0;
  }
  .mobile-detail-section .calc input,
  .mobile-detail-section .calc select {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
    border-radius: 12px;
  }
  .mobile-detail-section .calc__result > div {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.08);
  }
  .mobile-detail-section .calc-grand-row,
  .mobile-detail-section .calc-fx-row {
    background: rgba(45,176,109,.11) !important;
    border-color: rgba(45,176,109,.22) !important;
  }

  .links {
    margin-top: 12px;
    gap: 8px;
  }
  .links a {
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: #ebf6ef;
    border-radius: 12px;
    padding: 9px 10px;
  }

  .sourcebox {
    margin: 24px 0 34px;
    padding: 18px;
    border-color: rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: #dce7df;
  }
  .sourcebox p { color: #bfcbc4; }
  footer {
    border-top-color: rgba(255,255,255,.08);
    background: rgba(0,0,0,.15);
  }
  .footer__inner { color: #b6c2bb; }

  .gallery-modal__panel {
    background: #101613;
    border-color: rgba(255,255,255,.10);
  }
}

/* v25 — dopracowanie mobilne 1:1 względem makiety */
.mobile-label { display: none; }
.mobile-ranking-title { display: none; }
.mobile-quickdata { display: none; }
.mobile-image-download { display: none; }

@media (max-width: 650px) {
  .desktop-label { display: none; }
  .mobile-label { display: inline; }

  .hero__inner { padding-right: 0; }
  .hero {
    padding-top: 22px;
    padding-bottom: 12px;
  }
  .hero .eyebrow { margin-bottom: 2px; }
  .hero h1 {
    max-width: calc(100% - 190px);
    font-size: 24px;
    margin: 7px 0 7px;
  }
  .hero__lead {
    max-width: calc(100% - 150px);
    font-size: 11.5px;
  }
  .hero__actions {
    top: 26px;
    width: auto;
    flex-direction: row;
    gap: 8px;
  }
  .hero__actions .btn {
    min-width: 74px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 18px;
    font-size: 12px;
  }

  .stats {
    margin-top: 20px;
    gap: 9px;
  }
  .stat {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 13px 12px;
  }
  .stat strong { font-size: 20px; }
  .stat span { font-size: 10.5px; }

  main.shell > .notice {
    margin-top: 12px;
    padding: 13px 15px;
    font-size: 11.5px;
  }

  .section { padding-top: 22px; }
  .sort-panel { margin-top: 0; margin-bottom: 14px; }
  .sort-panel::before {
    content: 'SORTOWANIE';
    display: block;
    margin: 0 0 10px 2px;
    color: #c6d4cc;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
  }
  .sort-buttons {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .sort-btn {
    min-height: 46px;
    border-radius: 15px;
    padding: 0 12px;
    font-size: 11px;
  }
  .mobile-ranking-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 2px 2px 12px;
    color: #dce8e0;
    font-size: 11px;
    line-height: 1.2;
  }
  .mobile-ranking-title strong { letter-spacing: .08em; }
  .mobile-ranking-title span { color: #aebdb4; font-weight: 600; }
  .mobile-ranking-title b {
    margin-left: 2px;
    width: 19px;
    height: 19px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    font-size: 10px;
    color: #c9d7cf;
  }

  .product {
    min-height: 300px;
    padding: 14px 14px 12px;
    border-radius: 20px;
  }
  .product__rank {
    top: 14px;
    left: 14px;
    width: 34px;
    height: 34px;
    border-radius: 0 0 10px 0;
  }
  .product__image {
    top: 14px;
    left: 14px;
    width: 118px;
    height: 118px;
    border-radius: 14px;
  }
  .gallery-badge {
    right: 7px;
    bottom: 7px;
    padding: 4px 7px;
    border-radius: 9px;
  }
  .product__topline,
  .product h3,
  .product__sub {
    margin-left: 134px;
  }
  .product__topline {
    min-height: 20px;
    padding-right: 104px;
    margin-bottom: 7px;
  }
  .product h3 {
    padding-right: 102px;
    font-size: 18px;
    line-height: 1.16;
    margin-bottom: 7px;
  }
  .product__sub {
    margin-bottom: 5px;
    font-size: 11px;
  }
  .price {
    top: 16px;
    right: 14px;
    width: 98px;
  }
  .price strong { font-size: 17px; }
  .price small {
    margin-top: 7px;
    font-size: 9.8px;
    line-height: 1.35;
  }

  .mobile-quickdata {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0 134px;
    padding-right: 2px;
  }
  .mobile-quickdata span {
    padding: 5px 8px;
    border-radius: 9px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.045);
    color: #e6efe9;
    font-size: 9.8px;
    line-height: 1.1;
  }
  .mobile-quickdata span:first-child {
    background: rgba(45,176,109,.18);
    border-color: rgba(45,176,109,.22);
    color: #b8f0cf;
  }
  .mobile-image-download {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0 2px;
    color: #9ee6bc;
    font-size: 10.5px;
    font-weight: 750;
    text-decoration: none;
  }
  .mobile-image-download::before { content: '⇩'; font-size: 16px; }

  .mobile-detail-section {
    margin-top: 9px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    background: transparent;
  }
  .mobile-detail-section:first-of-type { margin-top: 12px; }
  .mobile-detail-section > summary {
    min-height: 48px;
    padding: 0 4px;
    font-size: 13px;
  }
  .mobile-detail-section > summary::before {
    display: inline-block;
    margin-right: 8px;
    width: 22px;
    text-align: center;
    color: #dbe9e0;
    font-size: 16px;
  }
  .mobile-detail-section--properties > summary::before { content: '☷'; }
  .mobile-detail-section--offers > summary::before { content: '🛒'; }
  .mobile-detail-section--calc > summary::before { content: '▦'; }
  .mobile-detail-section > summary::after { margin-left: auto; }
  .mobile-detail-section[open] > summary { background: transparent; }
  .mobile-detail-section__content { padding: 10px 0 2px; }

  .links {
    margin-top: 10px;
  }
}

/* v26 — faktyczne dopasowanie mobilnego układu do referencyjnego renderu */
[hidden] { display: none !important; }
.stat__icon { display:none; }
.mobile-max-temp { display:none; }
.mobile-product-info { display:contents; }
.mobile-label svg, .sort-btn svg, .stat__icon { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

@media (max-width:650px) {
  /* Góra */
  .hero { padding: 18px 0 10px; }
  .hero__inner { padding-right: 0; }
  .hero .eyebrow { margin:0 0 8px; font-size:9px; letter-spacing:.14em; }
  .hero h1 { max-width: calc(100% - 154px); margin:0; font-size:22px; line-height:1.07; }
  .hero__lead { max-width: calc(100% - 120px); margin-top:10px; font-size:11.5px; line-height:1.35; }
  .hero__actions { top:20px; right:0; width:auto; flex-direction:row; gap:8px; }
  .hero__actions .btn { min-width:70px; min-height:38px; padding:0 12px; border-radius:16px; font-size:11.5px; }
  .mobile-label { align-items:center; gap:6px; }
  .mobile-label svg { width:17px; height:17px; }

  .stats { gap:9px; margin-top:18px; }
  .stat { min-height:78px; padding:12px 10px; display:grid; grid-template-columns:28px 1fr; align-items:center; gap:8px; }
  .stat__icon { display:block; width:24px; height:24px; color:#dce8e0; }
  .stat strong { font-size:18px; }
  .stat span { font-size:10px; line-height:1.15; }
  main.shell { margin-top:8px; }
  main.shell>.notice { margin-top:0; padding:12px 14px; font-size:11px; line-height:1.45; }

  /* Sortowanie */
  .section { padding-top:18px; }
  .sort-panel { margin-bottom:12px; }
  .sort-panel::before { margin-bottom:9px; font-size:9px; }
  .sort-buttons { gap:8px; }
  .sort-btn { display:flex; align-items:center; gap:8px; min-height:44px; padding:0 11px; border-radius:14px; font-size:10.8px; text-align:left; }
  .sort-btn svg { flex:0 0 19px; width:19px; height:19px; }
  .mobile-ranking-title { margin:4px 2px 10px; font-size:10.5px; }

  /* Karta produktu — kluczowa poprawka */
  .products { gap:14px; }
  .product { min-height:0; padding:14px; border-radius:20px; overflow:hidden; }
  .product__rank { top:14px; left:14px; z-index:6; width:36px; height:36px; border-radius:0 0 10px 0; font-size:16px; }

  /* Nadpisanie reguły .product__image.gallery-trigger, która wcześniej wymuszała width:100% */
  .product .product__image.gallery-trigger {
    position:absolute;
    top:14px;
    left:14px;
    width:118px;
    height:126px;
    min-height:0;
    max-height:none;
    border-radius:14px;
    overflow:hidden;
  }
  .product .product__image.gallery-trigger img { width:100%; height:100%; object-fit:cover; }
  .gallery-badge { right:7px; bottom:7px; padding:4px 7px; border-radius:8px; font-size:9.5px; }
  .mobile-image-download { position:absolute; top:148px; left:16px; z-index:3; margin:0; font-size:10.5px; }

  .product__body { padding:0; }
  .mobile-product-info {
    display:block;
    min-height:156px;
    margin:0 102px 0 132px;
    padding:0;
  }
  .mobile-product-info .product__topline { display:none; }
  .mobile-product-info h3,
  .mobile-product-info .product__sub,
  .mobile-product-info .mobile-quickdata {
    margin-left:0;
    margin-right:0;
    padding-right:0;
  }
  .mobile-product-info h3 { margin:1px 0 7px; font-size:17px; line-height:1.16; }
  .mobile-product-info .product__sub { display:none; }
  .mobile-max-temp { display:block; margin:0 0 8px; color:#c4d0c9; font-size:10.8px; line-height:1.3; }
  .mobile-max-temp strong { color:#74dda1; }
  .mobile-quickdata { display:flex; flex-wrap:wrap; gap:5px; margin:0; }
  .mobile-quickdata span { padding:5px 7px; border-radius:8px; font-size:9.2px; line-height:1.05; }

  .price { top:16px; right:14px; width:92px; margin:0; padding:0; text-align:right; }
  .price strong { font-size:16px; line-height:1.08; }
  .price small { margin-top:7px; font-size:9.3px; line-height:1.34; color:#aebdb4; }
  .price--eur strong { font-size:15px; }
  .price--eur .fx-price-pln { display:block; margin:5px 0 0; font-size:10px; color:#74dda1; white-space:normal; }

  /* rozwijane pasy na pełną szerokość karty */
  .mobile-detail-section { margin:0 -14px; border-radius:0; border-left:0; border-right:0; border-bottom:0; border-top:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.015); }
  .mobile-detail-section:first-of-type { margin-top:10px; }
  .mobile-detail-section > summary { min-height:48px; padding:0 16px; font-size:12.5px; }
  .mobile-detail-section > summary::before { margin-right:9px; width:20px; font-size:16px; }
  .mobile-detail-section > summary::after { font-size:24px; }
  .mobile-detail-section__content { padding:12px 14px 4px; }
  .links { margin-top:12px; }

  /* na bardzo wąskich telefonach cena i środek nie mogą się na siebie nakładać */
  @media (max-width:370px) {
    .product .product__image.gallery-trigger { width:104px; height:116px; }
    .mobile-image-download { top:138px; }
    .mobile-product-info { margin-left:116px; margin-right:86px; min-height:146px; }
    .price { width:80px; }
    .price strong { font-size:14.5px; }
    .mobile-product-info h3 { font-size:15.5px; }
    .mobile-quickdata span { font-size:8.6px; padding:4px 6px; }
  }
}

/* v27 — dopasowanie do realnego wąskiego viewportu telefonu */
@media (max-width: 650px) {
  /* HERO: koniec z nachodzeniem tytułu na Ranking/PDF */
  .hero__inner {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas:
      "eyebrow eyebrow"
      "title title"
      "lead actions"
      "stats stats";
    column-gap: 10px;
    row-gap: 0;
  }
  .hero .eyebrow { grid-area: eyebrow; }
  .hero h1 {
    grid-area: title;
    max-width: none;
    width: 100%;
    margin: 2px 0 9px;
    padding: 0;
    font-size: 22px;
    line-height: 1.05;
    white-space: normal;
  }
  .hero__lead {
    grid-area: lead;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 2px 0 0;
    font-size: 11px;
    line-height: 1.34;
  }
  .hero__actions {
    grid-area: actions;
    position: static;
    width: auto;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: flex-end;
    gap: 6px;
  }
  .hero__actions .btn {
    min-width: 60px;
    min-height: 36px;
    padding: 0 10px;
    border-radius: 15px;
    font-size: 10.5px;
  }
  .hero__actions .mobile-label { gap: 4px; }
  .hero__actions .mobile-label svg { width: 14px; height: 14px; }

  /* STATYSTYKI: ikona + liczba w pierwszym rzędzie, opis na całą szerokość pod spodem */
  .stats {
    grid-area: stats;
    margin-top: 14px;
    gap: 7px;
  }
  .stat {
    min-width: 0;
    min-height: 72px;
    padding: 10px 9px 9px;
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    grid-template-rows: auto auto;
    grid-template-areas: "icon value" "label label";
    column-gap: 7px;
    row-gap: 5px;
    align-content: center;
  }
  .stat__icon { grid-area: icon; width: 21px; height: 21px; }
  .stat > div { display: contents; }
  .stat strong {
    grid-area: value;
    align-self: center;
    min-width: 0;
    font-size: 17px;
    white-space: nowrap;
  }
  .stat span {
    grid-area: label;
    margin: 0;
    font-size: 9px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  /* Niepotrzebnie długa informacja o kursie zabierała prawą kolumnę karty */
  .product .price .fx-rate-note { display: none !important; }
  .product .price small {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* KARTA PRODUKTU: więcej miejsca dla nazwy i parametrów */
  .product {
    padding: 12px;
  }
  .product__rank {
    top: 12px;
    left: 12px;
  }
  .product .product__image.gallery-trigger {
    top: 12px;
    left: 12px;
    width: 106px;
    height: 118px;
  }
  .mobile-image-download {
    top: 138px;
    left: 14px;
    max-width: 108px;
    font-size: 9.6px;
  }
  .mobile-product-info {
    min-height: 150px;
    margin-left: 118px;
    margin-right: 82px;
  }
  .mobile-product-info h3 {
    font-size: 16px;
    line-height: 1.14;
    overflow-wrap: anywhere;
  }
  .mobile-max-temp {
    font-size: 10px;
    margin-bottom: 7px;
  }
  .mobile-quickdata {
    gap: 4px;
  }
  .mobile-quickdata span {
    padding: 4px 6px;
    font-size: 8.5px;
    max-width: 100%;
  }
  .price {
    top: 13px;
    right: 12px;
    width: 76px;
  }
  .price strong { font-size: 14.5px; }
  .price--eur strong { font-size: 13.5px; }
  .price--eur .fx-price-pln {
    font-size: 9.5px;
    line-height: 1.15;
  }
  .price small {
    margin-top: 6px;
    font-size: 8.6px;
    line-height: 1.28;
  }
  .gallery-badge {
    max-width: calc(100% - 12px);
    font-size: 8.8px;
    white-space: nowrap;
  }

  .mobile-detail-section:first-of-type { margin-top: 6px; }
  .mobile-detail-section { margin-left: -12px; margin-right: -12px; }
  .mobile-detail-section > summary {
    min-height: 46px;
    padding: 0 14px;
    font-size: 12px;
  }

  /* Sortowanie też ma być zwarte bez ściskania tekstu */
  .sort-buttons { gap: 7px; }
  .sort-btn {
    min-width: 0;
    min-height: 43px;
    padding: 7px 9px;
    font-size: 10px;
    line-height: 1.15;
  }
  .sort-btn svg { flex-basis: 17px; width: 17px; height: 17px; }
}

@media (max-width: 390px) {
  .shell { width: calc(100% - 18px); }
  .hero { padding-top: 15px; }
  .hero h1 { font-size: 21px; }
  .hero__lead { font-size: 10.5px; }
  .hero__actions .btn { min-width: 57px; min-height: 34px; padding: 0 8px; font-size: 10px; }
  .stat { min-height: 68px; padding-inline: 7px; }
  .stat strong { font-size: 16px; }
  .stat span { font-size: 8.5px; }

  .product .product__image.gallery-trigger { width: 100px; height: 112px; }
  .mobile-image-download { top: 131px; max-width: 102px; }
  .mobile-product-info { margin-left: 111px; margin-right: 76px; min-height: 145px; }
  .mobile-product-info h3 { font-size: 15px; }
  .price { width: 70px; }
  .price strong { font-size: 13.5px; }
  .price--eur strong { font-size: 12.8px; }
  .price small { font-size: 8px; }
  .mobile-quickdata span { font-size: 8.1px; }
}


/* v30 — zwarty dół strony na telefonie */
@media (max-width: 650px) {
  /* rozwijane rzędy produktów: niższe i równiej rozmieszczone */
  .mobile-detail-section > summary {
    min-height: 43px;
    padding: 0 13px;
    font-size: 11.5px;
    letter-spacing: -.01em;
  }
  .mobile-detail-section > summary::before {
    width: 18px;
    margin-right: 8px;
    font-size: 14px;
  }
  .mobile-detail-section > summary::after { font-size: 21px; }
  .mobile-detail-section__content { padding: 9px 11px 5px; }

  /* linki i dokumenty nie wiszą już jako wielkie przyciski pod kartą */
  .mobile-detail-section--links .mobile-detail-section__content { padding: 9px 11px 11px; }
  .mobile-detail-section--links .links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 6px;
    margin: 0;
  }
  .mobile-detail-section--links .links a {
    min-width: 0;
    padding: 7px 8px;
    border-radius: 10px;
    font-size: 9.5px;
    line-height: 1.2;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .mobile-detail-section--links > summary::before { content: '↗'; }

  /* Metodyka jako jeden kompaktowy, zwijany pasek */
  .sourcebox {
    display: block;
    margin: 18px 0 18px;
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.10);
  }
  .methodology-details { margin: 0; }
  .methodology-details > summary {
    list-style: none;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    padding: 10px 13px;
    cursor: pointer;
  }
  .methodology-details > summary::-webkit-details-marker { display: none; }
  .methodology-details > summary::after {
    content: '›';
    font-size: 23px;
    font-weight: 300;
    color: #9eb9aa;
    transition: transform .18s ease;
  }
  .methodology-details[open] > summary::after { transform: rotate(90deg); }
  .methodology-label {
    color: #55c989;
    font-size: 9px;
    line-height: 1;
    letter-spacing: .11em;
    font-weight: 900;
  }
  .methodology-details > summary strong {
    color: #eef5f0;
    font-size: 12px;
    line-height: 1.2;
  }
  .methodology-details__content {
    padding: 0 13px 12px;
    border-top: 1px solid rgba(255,255,255,.07);
  }
  .methodology-details__content p {
    margin: 10px 0 0;
    color: #aebdb4;
    font-size: 10.5px;
    line-height: 1.45;
  }

  /* Stopka: jedna niska linia zamiast dużego bloku */
  footer { margin-top: 0; }
  .footer__inner {
    min-height: 52px;
    padding: 0;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
    font-size: 10px;
  }
  .footer__inner span {
    max-width: 70%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .footer__inner a {
    white-space: nowrap;
    font-size: 10px;
  }
}


/* v34 — iPhone / iOS Safari integration */
html {
  min-height: 100%;
  background: #07100c;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  min-height: 100%;
  min-height: 100dvh;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
}
button, a, summary, input, select {
  -webkit-tap-highlight-color: transparent;
}
button, a, summary {
  touch-action: manipulation;
}
button:active, .btn:active, .sort-btn:active, .links a:active, .offer-row:active {
  transform: scale(.985);
}
input, select, textarea {
  /* prevents Safari auto-zoom on form focus */
  font-size: 16px !important;
}
.hero {
  padding-top: max(18px, env(safe-area-inset-top, 0px));
}
footer {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Dynamic Island / notch / Home indicator aware gallery */
.gallery-modal {
  width: 100%;
  height: 100%;
  height: 100dvh;
  padding:
    max(0px, env(safe-area-inset-top, 0px))
    max(0px, env(safe-area-inset-right, 0px))
    max(0px, env(safe-area-inset-bottom, 0px))
    max(0px, env(safe-area-inset-left, 0px));
  overscroll-behavior: contain;
}
.gallery-modal__panel {
  max-height: 100%;
  max-height: 100dvh;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.gallery-modal__close {
  top: calc(10px + env(safe-area-inset-top, 0px));
  right: calc(10px + env(safe-area-inset-right, 0px));
}
.gallery-stage {
  touch-action: pan-y pinch-zoom;
  user-select: none;
  -webkit-user-select: none;
}
.gallery-stage img {
  touch-action: pan-y pinch-zoom;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  transition: transform .16s ease, opacity .16s ease;
  will-change: transform;
}
.gallery-stage.is-swiping img {
  transition: none !important;
}
.gallery-thumbs {
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
}
.gallery-thumb {
  scroll-snap-align: center;
}
.gallery-modal__footer {
  padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
}

@media (display-mode: standalone) {
  body { padding-top: env(safe-area-inset-top, 0px); }
  .hero { padding-top: 10px; }
  footer { padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 650px) {
  .mobile-detail-section > summary,
  .sort-btn { min-height: 44px; }

  .gallery-modal__panel {
    height: 100%;
    height: 100dvh;
  }
  .gallery-stage {
    min-height: 0;
    height: min(62dvh, 680px);
  }
  .gallery-stage img {
    height: min(62dvh, 680px);
  }
}


/* v35 — Android / Chrome / gesture navigation */
html {
  overscroll-behavior-x: none;
}
body {
  overscroll-behavior-x: none;
}

/* Android cutouts / gesture bar are handled by the same safe-area variables where supported. */
@supports (padding: max(0px)) {
  body {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* Chrome standalone/PWA: keep tappable content clear of system gesture area. */
@media (display-mode: standalone) {
  .footer__inner {
    min-height: 54px;
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
  }
}

/* Avoid accidental horizontal page scrolling while preserving gallery swipes. */
main, header, footer, .product, .sort-panel {
  max-width: 100%;
  overflow-x: clip;
}
.gallery-modal, .gallery-stage, .gallery-thumbs {
  overflow-x: hidden;
}
.gallery-thumbs {
  overflow-x: auto;
}

/* Android touch feedback without the grey Chrome highlight. */
@media (hover: none) and (pointer: coarse) {
  .btn, .sort-btn, summary, .offer-row, .links a, .gallery-thumb, .gallery-nav {
    -webkit-tap-highlight-color: transparent;
  }
}


/* v49 — zwarty i czytelny desktop; bez zmian w widoku mobilnym */
@media (min-width: 901px) {
  .shell { width: min(1240px, calc(100% - 40px)); }

  .hero { padding: 38px 0 30px; }
  .hero h1 { margin: 5px 0 9px; max-width: 920px; font-size: clamp(38px, 4.4vw, 58px); line-height: 1; }
  .hero__lead { max-width: 850px; font-size: 16px; line-height: 1.4; }
  .hero__actions { margin-top: 18px; gap: 8px; }
  .hero__actions .btn { min-height: 38px; padding: 0 14px; font-size: 12.5px; }
  .stats { margin-top: 24px; gap: 9px; max-width: 900px; }
  .stat { padding: 11px 14px; border-radius: 13px; }
  .stat strong { font-size: 20px; }
  .stat span { font-size: 11px; }

  .notice { margin-top: 16px; padding: 11px 14px; border-radius: 12px; font-size: 13px; }
  .section { padding-top: 28px; }
  .section__head { margin-bottom: 14px; }
  .section h2 { font-size: clamp(26px, 3vw, 36px); }

  .sort-panel { margin: 12px 0 14px; padding: 13px 14px; border-radius: 14px; box-shadow: 0 5px 18px rgba(20,30,40,.04); }
  .sort-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .sort-panel__head .eyebrow { font-size: 9px; }
  .sort-panel__head h2 { margin: 1px 0 2px; font-size: 17px; }
  .sort-panel__head p { font-size: 12px; }
  .sort-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
  .sort-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 9px;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
  }
  .sort-btn svg {
    display: block;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .ranking-note { margin-top: 9px; padding: 8px 10px; border-radius: 9px; font-size: 11px; line-height: 1.35; }

  .products { gap: 12px; }
  .product { grid-template-columns: minmax(235px, 31%) 1fr; border-radius: 16px; box-shadow: 0 10px 30px rgba(19,30,24,.06); }
  .product__image { min-height: 260px; }
  .product__rank { top: 10px; left: 10px; width: 34px; height: 34px; font-size: 13px; }
  .gallery-badge { right: 10px; bottom: 10px; padding: 6px 9px; font-size: 10px; }
  .product__body { padding: 18px; }
  .product__topline { gap: 5px; margin-bottom: 6px; }
  .badge { padding: 4px 7px; font-size: 10px; }
  .product h3 { font-size: clamp(20px, 2vw, 26px); }
  .product__sub { margin: 4px 0 11px; font-size: 12px; }
  .keydata { border-radius: 9px; }
  .keydata > div { padding: 7px 9px; }
  .keydata span, .price span { font-size: 9px; }
  .keydata strong { margin-top: 1px; font-size: 12.5px; }
  .extended { margin-top: 9px; font-size: 12px; line-height: 1.42; }
  .extended p { margin: 6px 0; }
  .price { margin-top: 10px; padding: 9px 11px; border-radius: 10px; }
  .price strong { font-size: 18px; }
  .price small { font-size: 10.5px; line-height: 1.3; }

  .offer-list { margin: 8px 0 9px; border-radius: 10px; }
  .offer-list__title { padding: 7px 9px; font-size: 10px; }
  .offer-row { gap: 10px; padding: 7px 9px; }
  .offer-row strong { font-size: 12px; }
  .offer-row small { font-size: 10px; line-height: 1.25; }
  .offer-row b { font-size: 11.5px; }

  .calc { margin-top: 9px; padding: 10px; border-radius: 11px; }
  .calc__title { margin-bottom: 7px; font-size: 12px; }
  .calc__inputs { grid-template-columns: minmax(180px, 1fr) 100px; gap: 7px; }
  .calc label { font-size: 10px; }
  .calc input, .calc select { margin-top: 3px; padding: 7px 8px; border-radius: 8px; font-size: 12px; }
  .calc__result { gap: 6px; margin-top: 7px; }
  .calc__result > div { padding: 6px 8px; border-radius: 8px; }
  .calc__result span { font-size: 9.5px; }
  .calc__result strong, .calc-total-row strong, .calc-grand-row strong, .calc-fx-row strong { font-size: 12px !important; }
  .calc__note { margin-top: 6px; font-size: 9.5px; }

  .links { gap: 6px; margin-top: 9px; }
  .links a { padding: 6px 8px; border-radius: 8px; font-size: 10.5px; }
  .sourcebox { margin: 26px 0 44px; padding: 18px; border-radius: 16px; gap: 18px; }
  .footer__inner { min-height: 58px; font-size: 12px; }
}


/* v50 — desktop: sortowanie bez białych kafelków + progresywne ujawnianie danych */
@media (min-width: 901px) {
  /* Sortowanie: bez białej karty i bez białych przycisków. */
  .sort-panel {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .sort-panel__head {
    padding: 0 1px;
  }
  .sort-buttons {
    gap: 6px;
    margin-top: 8px;
  }
  .sort-btn,
  .sort-btn--value {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #ccd5cf;
    border-radius: 8px;
    background: #e7ece8 !important;
    color: #304038;
    box-shadow: none;
  }
  .sort-btn:hover {
    transform: none;
    background: #dce4de !important;
    border-color: #b9c7bd;
  }
  .sort-btn.is-active,
  .sort-btn--value.is-active {
    background: #245f43 !important;
    border-color: #245f43 !important;
    color: #fff;
    box-shadow: 0 3px 9px rgba(36,95,67,.16);
  }
  .sort-btn svg {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
  }
  .ranking-note {
    border: 1px solid #e0ddcf;
    background: #f3f0e6;
  }

  /* Na karcie od razu pokazujemy tylko cztery parametry kluczowe. */
  .mobile-quickdata {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 8px 0 2px;
    padding: 7px 0;
    border-top: 1px solid #e1e6e2;
    border-bottom: 1px solid #e1e6e2;
  }
  .mobile-quickdata span {
    position: relative;
    padding: 1px 11px;
    border: 0;
    background: transparent;
    color: #435047;
    font-size: 10.5px;
    line-height: 1.35;
    white-space: nowrap;
  }
  .mobile-quickdata span:first-child {
    padding-left: 0;
    color: #1e6847;
    font-weight: 850;
  }
  .mobile-quickdata span:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    width: 1px;
    height: 60%;
    background: #d7ddd8;
  }

  /* Reszta danych / ofert / kalkulator / dokumentacja dopiero po kliknięciu. */
  .mobile-detail-section {
    margin-top: 6px;
    border: 1px solid #e0e5e1;
    border-radius: 9px;
    background: #f8faf8;
    overflow: hidden;
  }
  .mobile-detail-section > summary {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 31px;
    padding: 0 10px;
    list-style: none;
    cursor: pointer;
    color: #39473f;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 800;
    user-select: none;
  }
  .mobile-detail-section > summary::-webkit-details-marker { display: none; }
  .mobile-detail-section > summary::after {
    content: '+';
    margin-left: auto;
    color: #647168;
    font-size: 15px;
    font-weight: 600;
  }
  .mobile-detail-section[open] > summary {
    border-bottom: 1px solid #e0e5e1;
    background: #f1f5f2;
    color: #1e5c40;
  }
  .mobile-detail-section[open] > summary::after { content: '−'; }
  .mobile-detail-section__content {
    padding: 8px 9px 9px;
  }
  .mobile-detail-section .keydata {
    margin: 0;
  }
  .mobile-detail-section .extended {
    margin-top: 7px;
  }
  .mobile-detail-section .offer-list,
  .mobile-detail-section .calc,
  .mobile-detail-section .links {
    margin-top: 0;
    margin-bottom: 0;
  }

  /* Cena zostaje stale widoczna jako najważniejsza informacja zakupowa. */
  .price {
    margin-top: 8px;
  }
}


/* v53 — wybór oferty bezpośrednio w kalkulatorze */
.calc-offer-label{grid-column:1/-1}
.calc-offer{font-weight:800}
.calc-offer-row{background:#eef6f1!important;border-color:#bad5c4!important;grid-column:1/-1}
.calc-offer-row strong{font-size:.92rem!important}
.calc-grand-row strong.is-unknown{color:#8a5b15!important;font-size:.82rem!important;line-height:1.25}
@media(min-width:900px){
  .calc__inputs{grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) 92px}
  .calc-offer-label{grid-column:auto}
  .calc-offer{min-width:240px}
}
@media(max-width:620px){
  .calc-offer-label{grid-column:1/-1}
  .calc-offer-row{grid-column:1/-1}
}

/* v54 — desktop: wysokość karty zależy od treści, a nie od proporcji zdjęcia */
@media (min-width: 901px) {
  .product {
    align-items: stretch;
  }

  /* Obraz nie bierze udziału w wyliczaniu wysokości wiersza siatki.
     Wysokość całej karty wyznacza prawa kolumna z realną treścią. */
  .product .product__image,
  .product .product__image.gallery-trigger {
    position: relative;
    align-self: stretch;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
  }

  .product .product__image img,
  .product .product__image.gallery-trigger img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}


/* v55 — telefony: bardziej wyeksponowane zdjęcia produktów */
@media (max-width: 650px) {
  .product {
    padding: 12px;
    border-radius: 20px;
  }

  .product .product__image.gallery-trigger {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    width: calc(100% + 24px);
    height: 228px;
    margin: -12px -12px 12px;
    border: 0;
    border-radius: 20px 20px 14px 14px;
    overflow: hidden;
    background: rgba(255,255,255,.03);
  }

  .product .product__image.gallery-trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .product__rank {
    top: 12px;
    left: 12px;
    z-index: 8;
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .gallery-badge {
    right: 10px;
    bottom: 10px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 10px;
  }

  .mobile-image-download {
    position: static;
    display: inline-flex;
    margin: -1px 0 10px;
    max-width: none;
    font-size: 10.5px;
  }

  .product__body { padding: 0; }

  .mobile-product-info {
    min-height: 0;
    margin: 0;
  }

  .mobile-product-info h3 {
    font-size: 18px;
    line-height: 1.16;
    margin: 0 0 8px;
  }

  .mobile-max-temp {
    margin: 0 0 9px;
    font-size: 11px;
  }

  .mobile-quickdata {
    margin: 0 0 10px;
    gap: 5px;
  }

  .mobile-quickdata span {
    font-size: 9px;
    padding: 5px 7px;
  }

  .price {
    position: static;
    top: auto;
    right: auto;
    width: auto;
    margin: 0 0 10px;
    padding: 11px 12px;
    text-align: left;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
  }

  .price span {
    display: block;
    margin-bottom: 4px;
    color: #a9b9b0;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
  }

  .price strong {
    font-size: 18px;
    line-height: 1.12;
  }

  .price--eur strong { font-size: 17px; }

  .price small {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.35;
  }

  .price--eur .fx-price-pln {
    display: inline;
    margin-left: .35em;
    font-size: .68em;
  }

  .mobile-detail-section:first-of-type { margin-top: 8px; }
  .mobile-detail-section { margin-left: -12px; margin-right: -12px; }
}

@media (max-width: 390px) {
  .product .product__image.gallery-trigger {
    height: 204px;
  }

  .mobile-product-info h3 { font-size: 16.5px; }
  .price strong { font-size: 16.5px; }
  .price--eur strong { font-size: 15.8px; }
}


/* v56 — mobilnie: brak przycisku pod miniaturą; akcje pełnej rozdzielczości tylko w galerii */
.mobile-image-download { display: none !important; }

@media (max-width: 650px) {
  .gallery-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }

  .gallery-download-btn,
  .gallery-view-btn {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 12px;
    text-align: center;
  }

  .gallery-modal__actions #gallerySource {
    grid-column: 1 / -1;
    display: block;
    padding: 4px 2px 0;
    text-align: center;
  }
}

/* v57 — kolejność akcji galerii: Pokaż zdjęcie po lewej, Pobierz zdjęcie po prawej */


/* v60 — wejście do kalkulatora kosztu całego zakupu */
.cost-compare-cta{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:13px 15px;border:1px solid #c9ddd0;border-radius:15px;background:#f2f8f4;color:#173d2a;text-decoration:none;box-shadow:0 8px 24px rgba(26,75,49,.06)}
.cost-compare-cta__icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#256b4b;color:#fff;font-size:19px}.cost-compare-cta span:nth-child(2){display:flex;min-width:0;flex-direction:column}.cost-compare-cta b{font-size:13px}.cost-compare-cta small{margin-top:1px;color:#617168;font-size:10px}.cost-compare-cta__arrow{margin-left:auto;font-size:27px;line-height:1;color:#48705a}
@media(max-width:650px){.cost-compare-cta{margin-top:10px;padding:11px 12px;border-color:rgba(92,211,142,.18);background:rgba(45,176,109,.08);color:#e9f7ef}.cost-compare-cta__icon{flex-basis:36px;width:36px;height:36px;background:linear-gradient(180deg,#2aac69,#20854f)}.cost-compare-cta b{font-size:12px}.cost-compare-cta small{color:#aebfb5;font-size:9px}.cost-compare-cta__arrow{color:#8ddbae}}


/* v61 — punkty opłacalności zawsze widoczne */
.badge--score[hidden] { display: inline-flex !important; }
.mobile-profit-score { display: none; }
@media (max-width:650px) {
  .mobile-profit-score {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 9px;
    padding: 5px 8px;
    border: 1px solid rgba(57,199,123,.24);
    border-radius: 9px;
    background: rgba(57,199,123,.13);
    color: #9ee6bc;
    font-size: 9.5px;
    line-height: 1.1;
    font-weight: 900;
  }
}


/* v62 — mobilny kalkulator: naprawa jasnego paska "Wybrana oferta" */
@media (max-width: 650px) {
  .mobile-detail-section .calc-offer-row {
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }
  .mobile-detail-section .calc-offer-row span {
    color: #aebdb4 !important;
  }
  .mobile-detail-section .calc-offer-row strong {
    color: #f4fbf7 !important;
    font-size: 13px !important;
    line-height: 1.28;
  }
}
