/* =====================================================================
   VIANEK — obszar B3: strony informacyjne, prawne, marki, blog, 404, stopka, koszyk/kasa/konto.
   Ładowany po vianek-identity.css (assets/area/*.css). Tylko nadpisania i nowe klasy (vn-*, lg-*).
   ===================================================================== */

/* ---------- wspólne ---------- */
/* strony bez banera: nagłówek jest przyklejony (sticky) i zajmuje miejsce, więc treść nie potrzebuje dodatkowej wysokości nagłówka */
.no-hero main.plain { padding-top: clamp(28px, 3.5vw, 56px); }
.cat-hero.cat-hero-short { min-height: clamp(300px, 44vh, 460px); }
.vn-info-hero .cat-lead { max-width: 52ch; }
.info-main { padding-bottom: 0; }
.info-sec .info-note { font-weight: 300; }
.vn-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.vn-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line); background: var(--card, #fff); font: 400 .875rem/1 var(--f); text-decoration: none; color: var(--ink); transition: background .2s, color .2s, border-color .2s; }
.vn-chips a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
nav.vn-chips { max-width: 1440px; margin: 0 auto; padding: clamp(20px, 2.5vw, 32px) var(--pad) 0; }
.vn-sub { margin: clamp(28px, 3vw, 44px) 0 .8rem; font: 500 .8125rem/1.3 var(--f); letter-spacing: .16em; text-transform: uppercase; }
.lg-head { margin: 0 0 clamp(24px, 3vw, 44px); }
.lg-head .label { margin: 0 0 .9rem; }
.lg-head .plain-title { margin: 0; }
.lg-head .plain-title em { font-style: normal; color: var(--muted); }

/* ---------- O marce ---------- */
.vn-about .vn-series { padding-top: clamp(16px, 2vw, 32px); }
.vn-lines-grid { list-style: none; margin: clamp(20px, 2.5vw, 32px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.vn-lines-grid li { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--c) 14%, var(--paper, #fff)); }
.vn-lines-grid a { display: grid; gap: .35rem; height: 100%; padding: clamp(20px, 2.2vw, 30px); text-decoration: none; color: var(--ink); transition: background .25s; }
.vn-lines-grid a:hover { background: color-mix(in srgb, var(--c) 26%, var(--paper, #fff)); }
.vl-dot { width: 22px; height: 22px; border-radius: 50%; background: var(--c); margin-bottom: .4rem; }
.vn-lines-grid b { font: 500 1.1875rem/1.2 var(--f); }
.vl-role { font: 500 .6875rem/1.3 var(--f); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.vl-txt { font-weight: 300; line-height: 1.55; }
.vn-lines-grid .link { margin-top: .4rem; font-style: normal; font-size: .875rem; }
.vn-concepts { list-style: none; margin: 1.4rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.vn-concepts li { display: grid; gap: .4rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.vn-concepts b { font: 500 1.0625rem/1.3 var(--f); letter-spacing: .02em; }
.vn-concepts span { font-weight: 300; line-height: 1.6; }
.vn-concepts .link { justify-self: start; font-size: .875rem; }
.vn-about .ab-rev .ab-photo { aspect-ratio: 4 / 5; }
.ab-close .btn + .btn { margin-left: .6rem; }
@media (max-width: 1020px) { .vn-lines-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .vn-lines-grid { grid-template-columns: 1fr; }
  .vn-about .ab-rev .ab-photo { aspect-ratio: 16 / 10; }
  .ab-close .btn { width: 100%; }
  .ab-close .btn + .btn { margin: .6rem 0 0; }
}

/* ---------- Gdzie kupić ---------- */
.vn-cards { list-style: none; margin: clamp(20px, 2.5vw, 32px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.vn-card { display: flex; flex-direction: column; gap: .7rem; padding: clamp(20px, 2.2vw, 32px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--card, #fff); }
.vn-card.is-main { background: var(--accent-soft, var(--soft)); }
.vn-card-n { font: 500 .75rem/1 var(--f); letter-spacing: .2em; color: var(--muted); }
.vn-card h3 { margin: 0; font: 400 1.3rem/1.2 var(--f); letter-spacing: -.01em; }
.vn-card p { margin: 0; font-weight: 300; line-height: 1.6; flex: 1; }
.vn-card .btn, .vn-card .link { align-self: flex-start; }
.vn-where-note { margin-top: 1.4rem; }
.vn-where .ab-brands { padding-bottom: 0; }
@media (max-width: 1020px) { .vn-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .vn-cards { grid-template-columns: 1fr; } }

/* ---------- Newsletter ---------- */
.vn-news-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.vn-news-links { list-style: none; margin: 1.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; }
.vn-news-card { padding: clamp(24px, 3vw, 44px); background: var(--card, #fff); border: 1px solid var(--line); }
.vn-news-card h3 { margin: 0 0 1rem; font: 300 clamp(1.6rem, 2.4vw, 2.2rem)/1.1 var(--f); letter-spacing: -.02em; }
.vn-news-consent p { margin: 0 0 1.1rem; font-size: .9375rem; line-height: 1.6; color: var(--muted); }
.vn-news-consent .btn { width: 100%; }
.vn-news-card.is-loaded .vn-news-consent { display: none; }
.vn-news-status { margin: .8rem 0 0; font-size: .9375rem; }
.vn-news-status:empty { display: none; }
.vn-news-embed:empty { display: none; }
.vn-news-embed { margin-top: .4rem; }
.vn-news-legal { margin: 1.2rem 0 0; font-size: .8125rem; line-height: 1.6; color: var(--muted); }
.vn-news-legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
/* formularz GetResponse w stylu sklepu (gdy się wczyta) */
.vn-news-embed input[type=email], .vn-news-embed input[type=text] { height: 52px !important; border: 1px solid var(--line) !important; border-radius: 0 !important; font-family: var(--f) !important; }
.vn-news-embed button, .vn-news-embed input[type=submit] { min-height: 52px !important; border-radius: 0 !important; background: var(--ink) !important; color: #fff !important; font-family: var(--f) !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
@media (max-width: 860px) { .vn-news-grid { grid-template-columns: 1fr; } }

/* ---------- Dostawa i płatność ---------- */
.vn-free { margin: 0 0 1.2rem; padding: .9rem 1.1rem; background: var(--t-sage, var(--soft)); font-size: 1rem; }
.vn-free b { font-weight: 500; }
.vn-ship .ab-close { margin-top: clamp(40px, 6vw, 96px); }

/* ---------- Strony prawne ---------- */
.lg-wrap { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(32px, 5vw, 88px); align-items: start; max-width: 1200px; }
.lg-wrap.lg-notoc { grid-template-columns: minmax(0, 1fr); }
.lg-aside { position: sticky; top: calc(var(--hh) + 24px); max-height: calc(100vh - var(--hh) - 48px); overflow: auto; scrollbar-width: thin; }
.lg-toc { border-top: 1px solid var(--ink); }
.lg-toc summary { list-style: none; cursor: pointer; padding: 1rem 0; font: 500 .75rem/1 var(--f); letter-spacing: .2em; text-transform: uppercase; }
.lg-toc summary::-webkit-details-marker { display: none; }
.lg-toc ol { list-style: none; margin: 0; padding: 0 0 1rem; counter-reset: lg; }
.lg-toc li { border-top: 1px solid var(--line); }
.lg-toc a { display: block; padding: .7rem 0; font-size: .9375rem; line-height: 1.35; text-decoration: none; color: var(--ink); }
.lg-toc a small { display: block; font: 500 .625rem/1.4 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: .15rem; }
.lg-toc a:hover { color: var(--muted); }
.lg-body { max-width: 760px; }
.lg-body > *:first-child { margin-top: 0; }
.lg-body h2 { scroll-margin-top: calc(var(--hh) + 24px); font-size: clamp(1.45rem, 2.2vw, 2rem); margin: 2.2em 0 .7em; padding-top: 1.2em; border-top: 1px solid var(--line); }
.lg-body h2:first-child { padding-top: 0; border-top: 0; }
.lg-k { display: block; margin-bottom: .45rem; font: 500 .6875rem/1.4 var(--f); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.lg-body p, .lg-body li { font-size: 1rem; line-height: 1.75; }
.lg-body ol, .lg-body ul { padding-left: 1.5em; }
.lg-body li { margin: 0 0 .45em; }
.lg-body li > ol, .lg-body li > ul { margin-top: .45em; }
.lg-body address { font-style: normal; margin: 0 0 1.1em; padding: 1rem 1.2rem; background: var(--soft); line-height: 1.7; }
.lg-body strong, .lg-body b { font-weight: 500; }
.lg-body a { overflow-wrap: anywhere; }
/* formularz zwrotu (Flexible Refunds) */
.lg-body .fr-refund-shortcode-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 1rem; align-items: end; max-width: 760px; padding: clamp(18px, 2vw, 28px); border: 1px solid var(--line); background: var(--card, #fff); }
.lg-body .fr-refund-shortcode-field-wrapper { display: grid; gap: .45rem; }
.lg-body .fr-refund-shortcode-label { font: 500 .6875rem/1.4 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.lg-body .fr-refund-shortcode-field { width: 100%; height: 52px; padding: 0 14px; border: 1px solid var(--line); border-radius: 0; background: #fff; font: 300 1rem var(--f); }
.lg-body .fr-refund-shortcode-submit { min-height: 52px; padding: 0 28px; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: #fff; font: 500 .75rem/1 var(--f); letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.lg-body .fr-refund-shortcode-submit:hover { background: var(--accent, #000); border-color: var(--accent, #000); }
.lg-more { margin-top: clamp(40px, 5vw, 80px); padding-top: clamp(24px, 3vw, 40px); border-top: 1px solid var(--line); max-width: 1200px; }
.lg-more .label { margin: 0 0 1rem; }
.lg-more ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lg-more a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line); text-decoration: none; font-size: .875rem; background: var(--card, #fff); }
.lg-more a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 1020px) {
  .lg-wrap { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .lg-aside { position: static; max-height: none; overflow: visible; }
  .lg-toc { border: 1px solid var(--line); background: var(--card, #fff); padding: 0 16px; }
  .lg-toc summary { display: flex; justify-content: space-between; align-items: center; }
  .lg-toc summary::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .25s; }
  .lg-toc[open] summary::after { transform: rotate(-135deg); }
}
@media (max-width: 620px) {
  .lg-body .fr-refund-shortcode-wrapper { grid-template-columns: 1fr; }
  .lg-body .fr-refund-shortcode-submit { width: 100%; }
}

/* ---------- Marki ---------- */
.vn-brand-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.vb-card { display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--card, #fff); }
.vb-card.is-main { background: var(--accent-soft, var(--soft)); }
.vb-head { display: grid; gap: 14px; padding: clamp(24px, 2.6vw, 40px) clamp(20px, 2.2vw, 32px) 16px; text-decoration: none; color: var(--ink); }
.vb-logo { display: flex; align-items: center; height: 56px; }
.vb-logo img { max-height: 44px; max-width: 70%; width: auto; height: auto; object-fit: contain; object-position: left center; transition: opacity .2s; }
.vb-logo b { font: 300 1.8rem/1 var(--f); }
.vb-head:hover .vb-logo img { opacity: .6; }
.vb-meta { font: 500 .6875rem/1.3 var(--f); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.vb-series { list-style: none; margin: 0; padding: 0 clamp(20px, 2.2vw, 32px) clamp(20px, 2.4vw, 32px); display: flex; flex-wrap: wrap; gap: 6px; }
.vb-series a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1px solid var(--line); font-size: .8125rem; text-decoration: none; background: var(--paper, #fff); }
.vb-series a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
@media (max-width: 1020px) { .vn-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* telefon: zwarta siatka 2 kolumn (było 1 kolumna, strona 1511 px), Vianek na całą szerokość */
@media (max-width: 560px) {
  .vn-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vb-card.is-main { grid-column: 1 / -1; }
  .vb-head { gap: 8px; padding: 18px 14px 10px; }
  .vb-logo { height: 40px; }
  .vb-logo img { max-height: 30px; max-width: 100%; }
  .vb-logo b { font-size: 1.35rem; }
  .vb-meta { font-size: .625rem; letter-spacing: .14em; }
  .vb-series { gap: 4px; padding: 0 14px 16px; }
  .vb-series a { min-height: 30px; padding: 0 8px; font-size: .75rem; }
}

/* ---------- 404 ---------- */
.vn-404-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 88px); align-items: center; }
.vn-404-txt .label { margin: 0 0 1rem; }
.vn-404-txt .plain-title em { font-style: normal; color: var(--muted); }
.vn-404-lead { font-size: 1.0625rem; line-height: 1.7; font-weight: 300; max-width: 52ch; margin: 0 0 1.4rem; }
.vn-404-search { display: flex; gap: 0; max-width: 560px; margin: 0 0 1.4rem; }
.vn-404-search input[type=search] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 1px solid var(--line); border-right: 0; border-radius: 0; background: #fff; font: 300 1rem var(--f); }
.vn-404-search .btn { min-height: 52px; }
.vn-404-photo { aspect-ratio: 4 / 3; overflow: hidden; background: var(--soft); }
.vn-404-photo img { width: 100%; height: 100%; object-fit: cover; }
.vn-404-shelf { margin-top: clamp(40px, 5vw, 80px); }
.vn-404-shelf h2 { margin: 0 0 1.2rem; }
.vn-404-shelf h2 em { font-style: normal; color: var(--muted); }
@media (max-width: 860px) {
  .vn-404-top { grid-template-columns: minmax(0, 1fr); } /* INFO-09a: min-content nie rozpycha kolumny */
  .vn-404-photo { order: -1; aspect-ratio: 16 / 9; }
}

/* ---------- Blog ---------- */
.vn-blog-lead { margin: 1rem 0 0; font-size: 1.0625rem; font-weight: 300; color: var(--muted); max-width: 60ch; }
.vn-blog .post-card.is-feat { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.vn-blog .post-card.is-feat .pc-media { position: relative; aspect-ratio: auto; min-height: 340px; height: 100%; }
.vn-blog .post-card.is-feat .pc-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } /* BLOG-02: pionowe zdjęcie nie rozpycha karty */
.vn-blog .post-card.is-feat .pc-body { align-content: center; padding: clamp(24px, 3.5vw, 56px); }
.vn-blog .post-card.is-feat .pc-title { font-size: clamp(1.6rem, 2.6vw, 2.4rem); font-weight: 300; letter-spacing: -.02em; }
.vn-blog .post-card.is-feat .pc-excerpt { font-size: 1rem; }
.post-card { background: var(--card, #fff); }
.pc-media img { display: block; }
.pc-ph { display: block; width: 100%; height: 100%; }
.pc-ph img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.pc-more { margin-top: 4px; font: 500 .6875rem/1 var(--f); letter-spacing: .2em; text-transform: uppercase; }
.post-card:hover .pc-title a { color: var(--muted); }
.vn-post-rel { max-width: 1200px; margin: clamp(48px, 6vw, 96px) auto 0; padding-top: clamp(24px, 3vw, 40px); border-top: 1px solid var(--line); }
.vn-post-rel h2 { margin: 0 0 1.2rem; font-size: clamp(1.6rem, 2.6vw, 2.4rem); font-weight: 300; letter-spacing: -.02em; }
.vn-post-rel h2 em { font-style: normal; color: var(--muted); }
.vn-post-rel .pc-title { font-size: 1.15rem; }
@media (max-width: 860px) {
  .vn-blog .post-card.is-feat { grid-template-columns: 1fr; }
  .vn-blog .post-card.is-feat .pc-media { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 620px) { .vn-post-rel .blog-grid { grid-template-columns: 1fr; } }

/* ---------- Stopka ---------- */
.site-footer .foot-motto { margin: .9rem 0 0; font: 300 1.0625rem/1.3 var(--f); letter-spacing: .02em; color: rgba(255, 255, 255, .85); }
.site-footer .foot-contact { margin: .9rem 0 0; font-size: .9375rem; line-height: 1.7; font-weight: 300; }
.site-footer .foot-contact a { text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.site-footer .foot-contact a:hover { border-bottom-color: #fff; }
.site-footer .foot-contact span { opacity: .65; }
.site-footer .foot-legal-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.site-footer .foot-legal-links a, .site-footer .foot-consent { color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; cursor: pointer; }
@media (max-width: 1020px) {
  .site-footer .foot-legal-links { justify-content: center; }
  .site-footer .foot-contact { text-align: center; }
}

/* ---------- Koszyk (blok Woo) ---------- */
/* znak „+” w polu ilości to pełnoszerokie „＋”, którego nie ma w Poppins (kwadracik): systemowy font tylko dla przycisków */
.wc-block-components-quantity-selector__button { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; font-size: 1.1rem !important; color: var(--ink) !important; opacity: 1 !important; }
/* CART-05: „＋” (U+FF0B) bywa pustym prostokątem nawet w foncie systemowym - rysujemy zwykły „+” */
.wc-block-components-quantity-selector__button--plus { font-size: 0 !important; }
.wc-block-components-quantity-selector__button--plus::before { content: "+"; font: 400 1.1rem/1 var(--f, system-ui), system-ui, sans-serif; }
/* CART-06 / CHK-05: puste kontenery komunikatów w podsumowaniu koszyka i kasy (padding 32 px) */
.wc-block-components-order-meta .wc-block-components-notices:empty,
.wc-block-cart .wc-block-components-notices:empty,
.wc-block-checkout .wc-block-components-notices:empty { display: none; }
/* CART-04a: pod polem kuponu zostawała sama czerwona ikonka (pusty komunikat walidacji); treść błędu pokazuje baner */
.wc-block-components-totals-coupon .wc-block-components-validation-error svg { display: none; }
.wc-block-components-quantity-selector { border-radius: 0 !important; border-color: var(--line) !important; background: #fff; }
.wc-block-components-quantity-selector::after { border-radius: 0 !important; border-color: var(--line) !important; }
.wc-block-components-quantity-selector input { font-family: var(--f) !important; }
/* miniatury pozycji: większe, na ciepłym pastelu (białe tło packshotu znika przez multiply) */
.wc-block-cart-items .wc-block-cart-item__image, .wc-block-components-order-summary-item__image { position: relative; }
.wc-block-cart-item__image a { display: block; background: var(--soft); aspect-ratio: 1; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { display: block; width: 100% !important; max-width: none !important; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.wc-block-components-order-summary-item__image { background: var(--soft); }
.vn-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 104px 1fr auto; }
.vn-cart .wc-block-cart-items td { border-bottom: 0; }
.vn-cart .wc-block-cart-items__row { border-bottom: 1px solid var(--line); }
.vn-cart .wc-block-components-product-name { text-decoration: none !important; font: 400 1rem/1.35 var(--f); color: var(--ink); }
.vn-cart .wc-block-components-product-name:hover { color: var(--muted); }
.vn-cart .wc-block-cart-item__remove-link { color: var(--muted) !important; }
.vn-cart .wc-block-cart-item__total .wc-block-components-product-price__value, .vn-cart .wc-block-components-totals-item__value { font-weight: 500; }
.vn-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .vn-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 500 1.25rem/1.2 var(--f); }
.vn-cart .wc-block-cart__submit-button { width: 100%; }
.wc-block-cart .wc-block-components-sidebar { background: var(--card, #fff); padding: clamp(18px, 2vw, 28px) !important; border: 1px solid var(--line); align-self: flex-start; }
.wc-block-cart .wc-block-cart__totals-title { font: 500 .75rem/1 var(--f) !important; letter-spacing: .2em; text-transform: uppercase; padding: 0 0 1rem !important; border-bottom: 1px solid var(--line); }
.vn-cart .plain-in > .wp-block-woocommerce-cart { margin-top: 0; }
/* pusty koszyk: kafelki jak w sklepie (pastel z koloru produktu --tint) */
.sy-cart-new .ptile .tp-media { background: #fff; }
/* telefon: pozycja koszyka w dwóch kolumnach, cena pod nazwą */
@media (max-width: 700px) {
  .vn-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 84px 1fr; gap: 0 14px; padding: 14px 0; }
  .wc-block-cart .wc-block-components-sidebar { padding: 16px !important; margin-top: 16px; }
  .vn-cart .plain-title { font-size: 2.2rem; }
}

/* ---------- Kasa (blok Woo) ---------- */
.vn-checkout .wc-block-components-checkout-step__title { font: 400 1.35rem/1.2 var(--f); letter-spacing: -.01em; }
.vn-checkout .wc-block-components-checkout-step__heading { margin-bottom: .6rem; }
.vn-checkout .wc-block-components-text-input input, .vn-checkout .wc-block-components-combobox .wc-block-components-combobox-control input, .vn-checkout .wc-blocks-components-select__select, .vn-checkout textarea { border-radius: 0 !important; min-height: 52px; font-family: var(--f) !important; }
.vn-checkout .wc-block-components-radio-control__option, .vn-checkout .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.vn-checkout .wc-block-components-radio-control--highlight-checked::after, .vn-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .vn-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { border-radius: 0 !important; box-shadow: inset 0 0 0 1.5px var(--ink) !important; }
.vn-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-radius: 0; }
.vn-checkout .wc-block-checkout__sidebar { background: var(--card, #fff); border: 1px solid var(--line); padding: clamp(16px, 2vw, 24px) !important; }
.vn-checkout .wc-block-components-checkout-place-order-button { width: 100%; }
/* bez pustego pasa między paskami progów a formularzem; jedna ramka podsumowania (boks kolumny), bez drugiej w środku */
.vn-checkout .plain-in > .wp-block-woocommerce-checkout { margin-top: 0; padding-top: 0; }
.vn-checkout .wc-block-checkout > .wc-block-components-notices { margin-top: 0; }
.vn-checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0; border-radius: 0; }
/* podsumowanie zamówienia: miniatury stałej wielkości (bez tego flex ściska je do 17-32 px przy długich nazwach) */
.vn-checkout .wc-block-components-order-summary-item__image { flex: 0 0 56px; width: 56px; height: 56px; padding-bottom: 0; margin-top: 4px; }
.vn-checkout .wc-block-components-order-summary-item__image > img { width: 56px !important; max-width: none; height: 56px; object-fit: contain; background: var(--paper-2, #efece6); }
.vn-checkout .wc-block-components-order-summary-item__description { min-width: 0; }
.vn-checkout .wc-block-components-order-summary-item__quantity { border-radius: 50%; background: var(--ink); color: #fff; border: 0; box-shadow: none; }
@media (max-width: 700px) {
  .vn-checkout .wc-block-components-checkout-step { padding-left: 0 !important; }
  .vn-checkout .wc-block-components-checkout-step::after, .vn-checkout .wc-block-components-checkout-step__container::after { display: none !important; }
  .vn-checkout .wc-block-components-checkout-step__heading-content { font-size: .875rem; }
  .vn-checkout .wc-block-checkout__sidebar { padding: 0 16px !important; }
  /* zwinięte podsumowanie: ramka boksu wystarcza, bez podwójnych linii i pustego pasa nad tytułem */
  .vn-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { border: 0; padding: 16px 0; }
  .vn-checkout .wc-block-components-address-form { gap: 0 12px; }
  .vn-checkout .plain-title { font-size: 2.2rem; }
}

/* ---------- Konto ---------- */
.vn-account .woocommerce { display: block; }
.vn-account .woocommerce-MyAccount-navigation { margin: 0 0 clamp(20px, 3vw, 36px); }
.vn-account .woocommerce-MyAccount-navigation ul { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.vn-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.vn-account .woocommerce-MyAccount-navigation li { flex: none; }
.vn-account .woocommerce-MyAccount-navigation .is-active a { border-bottom: 2px solid var(--ink); }
.vn-account .woocommerce-MyAccount-content { max-width: 980px; }
.vn-account .woocommerce-MyAccount-content > p { font-size: 1.0625rem; line-height: 1.7; font-weight: 300; }
.vn-account .woocommerce-MyAccount-content a:not(.button):not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.vn-account .woocommerce-orders-table, .vn-account .woocommerce-table { font-size: .9375rem; }
.vn-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.vn-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; padding: 20px; border: 1px solid var(--line); background: var(--card, #fff); }
.vn-account .woocommerce-Addresses address { font-style: normal; line-height: 1.7; }
.vn-account #customer_login .col-1, .vn-account #customer_login .col-2 { background: var(--card, #fff); }
.vn-account .woocommerce form .form-row input.input-text { font-family: var(--f); }
.vn-account .woocommerce-Button, .vn-account .woocommerce-button { min-height: 52px; }
@media (max-width: 700px) {
  .vn-account .woocommerce-Addresses { grid-template-columns: 1fr; }
  .vn-account .woocommerce-orders-table thead { display: none; }
  .vn-account .woocommerce-orders-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .vn-account .woocommerce-orders-table td { border: 0; padding: 0; }
  .vn-account .woocommerce-orders-table td::before { content: attr(data-title); display: block; font-size: .75rem; color: var(--muted); }
}

/* ---------- Koszyk: paski progów (sylveco-upsell) na telefonie i w szufladzie koszyka ----------
   Wtyczka zawija „Kontynuuj zakupy” między tekst a pasek darmowej dostawy; układamy: tekst, pasek, tekst, pasek, przycisk. */
.sq-mc .syup { display: flex; flex-direction: column; }
.sq-mc .syup-ship { display: contents; }
.sq-mc .syup > .syup-t:not(.syup-ship) { order: 1; }
.sq-mc .syup > .syup-bar:not(.syup-ship-bar) { order: 2; }
.sq-mc .syup-ship > span { order: 3; margin: 12px 0 8px; }
.sq-mc .syup-ship-bar { order: 4; }
.sq-mc .syup-more { order: 5; align-self: flex-start; margin-top: 12px; }
.sq-mc .syup.no-disc .syup-ship > span { margin-top: 0; }
@media (max-width: 760px) {
  .syup-host .syup { display: flex; flex-direction: column; }
  .syup-host .syup-ship { display: contents; }
  .syup-host .syup > .syup-t:not(.syup-ship) { order: 1; }
  .syup-host .syup > .syup-bar:not(.syup-ship-bar) { order: 2; }
  .syup-host .syup-ship > span { order: 3; margin: 12px 0 8px; font-size: .875rem; line-height: 1.35; }
  .syup-host .syup-ship-bar { order: 4; }
  .syup-host .syup-more { order: 5; align-self: flex-start; margin-top: 14px; }
  .syup-host .syup.no-disc .syup-ship > span { margin-top: 0; }
}

/* Komunikaty Woo z przyciskiem („dodano do koszyka” + Zobacz koszyk): przycisk w jednej linii z tekstem, bez wystawania poza ramkę */
.woocommerce-message { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.woocommerce-message .button { float: none; order: 2; margin: 0 0 0 auto; flex: none; }
@media (max-width: 700px) { .woocommerce-message .button { margin-left: 0; } }
