/* Adapt only integration boundaries. approved.css retains the original design. */
body.vt-site{--paper:#fffcf8}
html{scroll-behavior:smooth}
.vt-design .vt-brand-image{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply}
.vt-design .vt-brand-image--custom{width:auto;height:clamp(34px,3.2vw,44px);max-width:clamp(160px,18vw,240px)}
.vt-design .vt-footer-brand{display:flex;align-items:center;gap:12px;font-size:30px}
.vt-design .vt-footer-brand small{display:block;font:7px/1.5 Manrope,sans-serif;letter-spacing:2.5px}
.vt-site .vt-design{padding-bottom:0}
.vt-design .container{width:100%}
.vt-design button,.vt-design input,.vt-design select{box-shadow:none;letter-spacing:normal;text-transform:none}
.vt-design .button{color:var(--paper)}
.vt-design .button:hover{color:var(--paper)}
.vt-design .text-link{min-height:44px}
.vt-design .product-card .au-favorite{position:absolute;right:10px;top:10px;background:#fffcf8bd;width:36px;height:36px;border:0;color:var(--ink);z-index:2;padding:9px}
.vt-design .product-card .au-favorite svg{width:17px;height:17px}
.au-favorite[aria-pressed="true"] svg{
    fill:#8F4054 !important;
    stroke:#8F4054 !important;
}
.vt-design .vt-demo-card{display:block;font-size:9px;color:var(--muted);margin-top:9px}
.vt-design .card-bottom{gap:8px;flex-wrap:wrap}
.vt-design .price{white-space:nowrap}
.vt-design .price del{font-size:10px;opacity:.6;margin-right:3px}
.vt-design .price ins{background:none;text-decoration:none}
.vt-design .product-type{min-height:28px}
.vt-design .product-info h3{min-height:54px}
.vt-design .vt-purpose-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:-8px 0 28px;font-size:10px}
.vt-purpose-row label{display:flex;align-items:center;gap:12px}
.vt-purpose-row select{font-size:11px;border:1px solid var(--line);border-radius:7px;max-width:240px;min-height:42px;background:var(--paper)}
.vt-design .search-field input{padding:0;height:28px}
.vt-design .sort-control select{width:auto;height:auto}
.vt-design .vt-search-submit{margin:20px 0}
.vt-design .widget_shopping_cart_content ul{list-style:none;padding:0;margin:0}
.vt-design .woocommerce-mini-cart-item{position:relative;padding:20px 30px 20px 0;border-bottom:1px solid var(--pearl);min-height:110px}
.vt-design .woocommerce-mini-cart-item img{width:70px;height:85px;object-fit:contain;float:left;margin-right:15px}
.vt-design .woocommerce-mini-cart-item .remove{position:absolute;right:0;top:20px}
.vt-design .woocommerce-mini-cart-item .quantity{display:block;border:0;min-width:0;height:auto;font-size:11px;margin-top:8px}
.vt-design .woocommerce-mini-cart__total{margin-top:22px}
.vt-design .woocommerce-mini-cart__buttons{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}
.vt-design .woocommerce-mini-cart__empty-message{padding:25px 0}
.vt-design .vt-saved-notice{padding-bottom:35px;margin-top:-35px}
.vt-design .vt-menu-list{display:flex;gap:25px;list-style:none;padding:0;margin:0}
.vt-design .panel-menu .vt-menu-list{display:flex;flex-direction:column;gap:0}
.vt-design .panel-menu .vt-menu-list a{display:block}
.vt-design [hidden]{display:none!important}
.vt-design dialog[open]{display:block}
.vt-design dialog:not([open]){display:none}
.vt-design .shop-products{margin:0}
.vt-design .shop-title h1{max-width:none}
.vt-site #main:focus{outline:none}
.vt-site .au-chat-launch{border:1px solid #b9965a;box-shadow:0 5px 20px #33252b1c}
.vt-site .au-shortcuts{background:#fff;border-color:#DDE3DC;backdrop-filter:none}
.vt-site .au-shortcuts a{font-family:Manrope,sans-serif;font-size:11px;font-weight:700;color:#55625B;border-radius:14px}
.vt-site .au-shortcuts a[aria-current=page]{color:#1F4D3A;background:#E8EFE9}
.vt-site .journal{--ink:#33252b;--muted:#786b68;--serif:"Cormorant Garamond",Georgia,serif;--paper:#fffcf8;--pearl:#e8d9bf;--gold:#b9965a;--tint:var(--au-tint)}
.vt-site .journal-cover img{object-fit:cover!important}
.vt-site .journal-purchase .button{background:var(--au-accent);color:#fff}
.vt-site .journal-purchase .button:hover{filter:brightness(.9)}
.vt-site .journal-cover .vt-journal-product-cover{object-fit:contain!important}
.vt-site .journal .journal-content{min-width:0}
.vt-site .journal .journal-content p{margin-bottom:1em}
.vt-site .journal .journal-quote{font:500 clamp(30px,4vw,48px)/1.15 "Cormorant Garamond",Georgia,serif;margin:35px 0;padding:30px 0;border-block:1px solid #e8d9bf;color:#9f765f}
.vt-site .vt-story-stage{background:var(--au-tint);border-radius:14px;position:relative;display:grid;place-items:center;padding:25px;margin:30px 0;overflow:hidden}
.vt-site .vt-story-stage:before{content:"";position:absolute;border:1px solid #b9965a50;width:260px;height:260px;border-radius:50%}
.vt-site .vt-story-stage img{max-height:350px;width:100%;object-fit:contain;mix-blend-mode:multiply;position:relative}
.vt-site .vt-inline-photo{margin:30px 0}
.vt-site .vt-inline-photo img{width:100%;max-height:380px;object-fit:cover;border-radius:12px}
.vt-site .vt-inline-photo figcaption{font-size:10px;padding:10px 0;color:#786b68}
.vt-site .vt-motion{font-size:10px;margin-top:15px;min-height:44px;border:1px solid #e8d9bf;border-radius:6px;padding:8px 12px;background:none;color:#786b68}
.vt-site .vt-next-story{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #e8d9bf;padding:35px 0;margin-top:25px}
.vt-site .vt-next-story a{display:flex;align-items:center;gap:18px;flex:1;max-width:520px;padding:14px 18px 14px 14px;border:1px solid #e8d9bf;border-radius:14px;background:#fffcf8;color:#33252b;text-decoration:none;transition:box-shadow .25s,transform .25s}
.vt-site .vt-next-story a:hover{transform:translateY(-3px);box-shadow:0 12px 26px -14px rgba(51,37,43,.3)}
.vt-site .vt-next-story__img{flex-shrink:0;display:grid;place-items:center;width:72px;height:72px;border-radius:10px;background:var(--tint);overflow:hidden}
.vt-site .vt-next-story__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6px}
.vt-site .vt-next-story__title{flex:1;min-width:0;font:26px/1.15 "Cormorant Garamond",Georgia,serif}
.vt-site .vt-next-story__arrow{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border:1px solid #e8d9bf;border-radius:50%;font-size:16px;transition:background .25s,color .25s}
.vt-site .vt-next-story a:hover .vt-next-story__arrow{background:#33252b;color:#fffcf8;border-color:#33252b}
.vt-site .vt-edit-story{display:inline-block;font-size:12px;margin:20px 0;text-decoration:underline}
.vt-site .journal-content .wp-block-file{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px;border:1px solid #e8d9bf;border-radius:10px;margin:20px 0;background:#fffcf8}
.vt-site .journal-content .wp-block-file a{overflow-wrap:anywhere}
.vt-site .vt-doc-sample{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #e8d9bf;padding:22px;border-radius:10px;font-size:12px;margin-top:24px}
.vt-site .vt-doc-sample small{display:block;color:#786b68}
.vt-site .vt-doc-sample a{white-space:nowrap;text-decoration:underline}
.vt-site.vt-no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1101px){.vt-design .desktop-nav{gap:18px;font-size:16px}}
@media(max-width:1100px){.vt-design .desktop-nav{display:none}.vt-design .mobile-menu{display:inline-flex}}
@media(max-width:767px){
 .vt-design .vt-brand-image{width:37px;height:37px}
 .vt-design .vt-brand-image--custom{width:auto;height:clamp(28px,8vw,40px);max-width:clamp(120px,45vw,200px)}
 .vt-design .vt-purpose-row{gap:10px;margin-bottom:20px}
 .vt-purpose-row label{width:100%;justify-content:space-between;gap:8px}
 .vt-purpose-row select{max-width:62%;width:62%}
 .vt-design .shop-toolbar{gap:12px}
 .vt-design .sort-control{min-width:0}
 .vt-design .sort-control select{max-width:180px;font-size:10px}
 .vt-design .product-info h3{min-height:50px;font-size:23px}
 .vt-design .product-type{min-height:30px;font-size:7px;letter-spacing:1px}
 .vt-site-bottom{padding-bottom:70px!important}
 .vt-site .vt-doc-sample{flex-wrap:wrap}
 .vt-site .journal-mobile-nav{z-index:15}
  .vt-site .vt-next-story{flex-direction:column;align-items:stretch;gap:14px}
}
@media(max-width:360px){.vt-design .brand>span{font-size:22px;letter-spacing:2px}.vt-design .brand-mark{width:25px}.vt-design .header-actions{gap:0}.vt-design .card-more{font-size:9px}.vt-design .hero-buttons{gap:14px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vt-site *{animation:none!important;transition:none!important}}
/* VITADIET CZYTELNOSC START */
/* Wklej na samym koncu assets/storefront.css, poza innymi blokami. */

body.vt-site {
  --vt-read-body: 1.125rem;
  --vt-read-ui: 1rem;
  --vt-read-small: .875rem;
}

/* Opisy i odpowiedzi, bez zmiany naglowkow i logo. */
body.vt-site .vt-design :is(
  .hero-copy p, .ritual-copy p, .faq-layout p, .section-head p,
  .shop-title p, .empty p, .chat-message
),
body.vt-site :is(.au-product-description, .au-product-subtitle),
body.vt-site .au-approved-detail details :is(p, li, td, th) {
  font-size: var(--vt-read-body);
  line-height: 1.7;
}
body.vt-site .vt-design details p {
  font-size: var(--vt-read-body) !important;
  line-height: 1.7;
}

/* Przyciski, ceny, karty produktow i etykiety formularzy. */
body.vt-site .vt-design :is(
  .button, .text-link, summary, .palette-chip, .card-more,
  .product-info p, .price, .panel-note, .chat-options button,
  .vt-purpose-row, .sort-control, .footer-main p
),
body.vt-site .vt-design .footer-main > div > a:not(.footer-brand),
body.vt-site :is(
  .au-choice-label, .au-pack, .au-approved-facts > div,
  .au-approved-detail summary, .au-demo-buy .au-demo-cart,
  .au-demo-quantity span, .au-native-cart .single_add_to_cart_button
) {
  font-size: var(--vt-read-ui);
  line-height: 1.5;
}

/* Drobne informacje: nie zmieniamy licznika, ikon ani napisu w logo. */
body.vt-site .vt-design :is(
  .announcement, .eyebrow, .hero-bottom, .image-caption,
  .principles > div, .product-type, .product-index, .vt-demo-card,
  .price del, .result-count, .breadcrumb, .footer-note,
  .woocommerce-mini-cart-item .quantity, .toast
),
body.vt-site :is(
  .au-detail-kicker, .au-gallery-label, .au-gallery-disclaimer, .au-detail-price > span,
  .au-article-invite small, .au-pack small, .au-demo-small,
  .au-story-admin-note, .au-shortcuts a
) {
  font-size: var(--vt-read-small);
  line-height: 1.5;
}
body.vt-site .au-article-invite > span:nth-child(2) > span {
  font-size: var(--vt-read-ui);
  line-height: 1.5;
}
body.vt-site .vt-design :is(.eyebrow, .product-type),
body.vt-site .au-article-invite small {
  letter-spacing: .08em;
}

/* Artykuly: wiekszy tekst glowny, czytelne podpisy. */
body.vt-site .journal :is(.journal-content p, .journal-content li, .journal-lede > p) {
  font-size: 1.25rem;
  line-height: 1.75;
}
body.vt-site .journal :is(.journal-disclaimer, .journal-content .journal-guidance p) {
  font-size: var(--vt-read-body) !important;
  line-height: 1.7 !important;
}
body.vt-site .journal :is(
  .journal-sidebar nav button, .journal-facts > div, .journal-return,
  .journal-purchase p, .journal-purchase .button, .document-row strong,
  .document-row button, .journal-guidance summary, .vt-doc-sample
) {
  font-size: var(--vt-read-ui);
  line-height: 1.5;
}
body.vt-site .journal :is(
  .eyebrow, .journal-byline, .journal-byline small, .journal-cover figcaption,
  .journal-cover figcaption > span, .chapter-kicker, .journal-reading,
  .journal-content cite, .journal-inline-image figcaption, .vt-inline-photo figcaption,
  .journal-facts .awaiting, .document-row > div > span,
  .document-pending, .journal-end, .sidebar-product small, .vt-motion
) {
  font-size: var(--vt-read-small);
  line-height: 1.5;
}

/* Pola formularzy. Wysokosc dopasowuje sie do tekstu. */
body.vt-site .vt-design :is(.search-field input, .chat-form input, .sort-control select),
body.vt-site .vt-purpose-row select,
body.vt-site .journal-mobile-nav select {
  font-size: var(--vt-read-body);
  min-height: 44px;
  height: auto;
  line-height: 1.5;
}

/* Pozwalamy tekstowi sie zawijac zamiast go zmniejszac lub obcinac. */
body.vt-site .vt-design :is(.product-info, .section-head > div),
body.vt-site .au-article-invite > span:nth-child(2) {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.vt-site .vt-design :is(.section-head, .hero-buttons, .shop-toolbar, .sort-control),
body.vt-site .au-pack,
body.vt-site .au-detail-price {
  flex-wrap: wrap;
}
body.vt-site .vt-design .product-type {
  display: block;
  min-height: 0;
}
body.vt-site .vt-design .product-type::before {
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
}
body.vt-site .vt-design .breadcrumb {
  flex-wrap: wrap;
  overflow-wrap: anywhere;
}
body.vt-site .vt-design .card-bottom {
  align-items: flex-start;
}
body.vt-site .au-article-invite > span:last-child {
  flex-shrink: 0;
}

@media (max-width: 760px) {
  body.vt-site .journal :is(.journal-content p, .journal-content li, .journal-lede > p) {
    font-size: var(--vt-read-body);
  }
  body.vt-site .vt-design .sort-control select {
    max-width: 100%;
  }
  body.vt-site .vt-design .hero-buttons {
    row-gap: 12px;
  }
  body.vt-site .au-demo-buy {
    flex-wrap: wrap;
  }
  body.vt-site .au-demo-buy .au-demo-cart {
    flex-basis: 160px;
    min-height: 48px;
  }
}

/* Odstepy w kafelku: bez rezerwowania miejsca na drugi wiersz tytulu. */
body.vt-site .vt-design .product-info h3 {
  min-height: 0;
  margin-top: 6px;
}
body.vt-site .vt-design .product-info {
  padding-top: 10px;
}
body.vt-site .vt-design .product-info p {
  margin-top: 4px;
}
body.vt-site .vt-design .card-bottom {
  margin-top: 10px;
  gap: 6px;
}

/* Ceny: osobna hierarchia zamiast rozmiaru zwyklej etykiety. */
body.vt-site .vt-design .product-card .price {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  white-space: normal;
  max-width: 100%;
}
body.vt-site .au-detail-price > strong {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--au-ink);
  min-width: 0;
}
body.vt-site .vt-design .product-card .price del,
body.vt-site .au-detail-price > strong del {
  font-size: 1.125rem;
  font-weight: 400;
  opacity: .8;
  display: inline-block;
}
body.vt-site .vt-design .product-card .price ins,
body.vt-site .au-detail-price > strong ins {
  font-size: inherit;
  font-weight: inherit;
  background: none;
  text-decoration: none;
  display: inline-block;
}
body.vt-site .vt-design .product-card .price .woocommerce-Price-amount,
body.vt-site .au-detail-price > strong .woocommerce-Price-amount {
  white-space: nowrap;
}

/* Omnibus firmy iworks: komunikat nie dziedziczy wielkiego rozmiaru ceny. */
body.vt-site .vt-design .product-card .price .iworks-omnibus,
body.vt-site .au-detail-price .iworks-omnibus {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  white-space: normal;
  margin: 10px 0 0;
  color: #51464a;
}
/* Panel boczny artykułu — czytelniejszy rozmiar tekstu */
body.vt-site .journal .journal-sidebar .eyebrow {
    font-size: 0.875rem !important;
    line-height: 1.4;
}

body.vt-site .journal .journal-sidebar nav button {
    font-size: 1rem !important;
    line-height: 1.5;
}

body.vt-site .journal .journal-sidebar nav button > span {
    font-size: 1.25rem !important;
}

body.vt-site .journal .journal-sidebar .sidebar-product > span {
    font-size: 1.625rem !important;
    line-height: 1.15;
}

body.vt-site .journal .journal-sidebar .sidebar-product small,
body.vt-site .journal .journal-sidebar .journal-reading,
body.vt-site .journal .journal-sidebar .vt-motion {
    font-size: 0.9375rem !important;
    line-height: 1.5;
}

body.vt-site .journal .journal-sidebar .sidebar-product svg {
    width: 15px;
    height: 15px;
}
/* VITADIET CZYTELNOSC KONIEC */
.vt-design .search-term-value{font-weight:700;font-size:1.00em} /*pogrubienie wyszukanej frazy*/
@media (min-width: 769px) {
    .vt-design.vt-site-top{position:sticky;top:0;z-index:100} /*blokowanie górnego paska*/
}
@media (min-width: 769px) {
    .vt-design .header{height:72px} /*wysokość górnego paska*/
}
@media (max-width: 760px) {
    .vt-design .header{height:64px}
}
.vt-design .announcement{overflow:hidden}
.vt-design .announcement-track{display:inline-block;white-space:nowrap;padding-left:100%;font-weight:600;animation:vt-marquee 12s linear infinite}
@media (min-width:600px){.vt-design .announcement-track{animation-duration:16s}}
@media (min-width:900px){.vt-design .announcement-track{animation-duration:20s}}
@media (min-width:1200px){.vt-design .announcement-track{animation-duration:24s}}
@media (min-width:1600px){.vt-design .announcement-track{animation-duration:28s}}
@keyframes vt-marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-100%)}
} /*potrzebna tylko po to, żeby animacja płynnie się zapętlała, bez skoku*/
.vt-design .header{--paper:#f2f0ea} /*kolor nagłówka*/
.vt-design .announcement{background:#1F4D3A !important;color:#fff}
body.vt-site .journal-sidebar-inner{top:150px}/*spis treści niżej*/
/* Moje konto — dopasowanie do stylu sklepu */
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:6px}
.woocommerce-MyAccount-navigation-link a{border-radius:10px;transition:background-color 180ms ease,color 180ms ease}
.woocommerce-MyAccount-navigation-link:not(.is-active) a:hover{background:var(--pearl)}
.ct-account-welcome{margin-bottom:16px}
.woocommerce-checkout-review-order-table .checkout-item-row{display:flex;align-items:center;gap:10px}
.woocommerce-checkout-review-order-table .checkout-item-thumb{width:40px;height:40px;object-fit:cover;border-radius:8px;flex-shrink:0}
/* Dolny pasek: 5 równych przycisków, Sklep wyróżniony */
.vt-site .au-shortcuts { grid-template-columns: repeat(5, 1fr); }
.vt-site .au-shortcuts a { flex: 1; }
.vt-site .au-shortcuts { overflow: visible; }
.vt-site .au-shortcuts a.vt-bar-shop { color: #1F4D3A; background: none; }
.vt-site .au-shortcuts a.vt-bar-shop svg {
  box-sizing: content-box;
  padding: 20px;
  margin: -20px;
  border-radius: 50%;
  background: #1F4D3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center / 24px no-repeat;
  color: transparent;
  transform: translateY(-28px);
  box-shadow: 0 0 0 4px #fff, 0 6px 16px rgba(31, 77, 58, .3);
}

/* w chwili dotknięcia kółko lekko się wciska */
.vt-site .au-shortcuts a.vt-bar-shop:active svg {
  transform: translateY(-28px) scale(.94);
}
/* Sklep wybrany: napis w pigułce, jak pozostałe */
.vt-site .au-shortcuts a.vt-bar-shop[aria-current=page] {
  background: #E8EFE9;
}
/* Dokumenty w artykule: ikonka typu pliku */
.vt-site .vt-doc-icon { position: relative; flex-shrink: 0; width: 40px; height: 48px; color: var(--c, #786b68); }
.vt-site .vt-doc-icon svg { width: 100%; height: 100%; display: block; }
.vt-site .vt-doc-icon b { position: absolute; left: 50%; bottom: 7px; transform: translateX(-50%); padding: 1px 5px; border-radius: 3px; background: var(--c, #786b68); color: #fff; font: 700 9px/1.4 Manrope, sans-serif; letter-spacing: .5px; }
.vt-site .vt-doc-icon + div { flex: 1; min-width: 0; }
/* Odznaka Bestseller na zdjęciu produktu (1,5 × 1,5 cm), na górze pośrodku */
.vt-site .vt-bestseller-badge {
  position: absolute !important;
  top: -5px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3;
  width: 1.8cm !important;
  height: 1.8cm !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
  transform: translateX(-50%) !important;   /* nie rusza się po najechaniu */
  transition: none !important;
  pointer-events: none;
  filter: drop-shadow(0 4px 8px rgba(51, 37, 43, .25));
}
/* Mniejsza odznaka na kafelkach w sklepie */
.vt-site .product-image .vt-bestseller-badge {
  top: 2px !important;                      /* wyżej */
  width: 1.2cm !important;
  height: 1.2cm !important;
}
/* Mniejsza odznaka RABAT na kafelkach */
.vt-design .product-image .onsale { transform: scale(.6); transform-origin: top left; z-index: 2; }
/* Dolny pasek: pokaż dopiero po poprawieniu przez skrypt (bez migania) */
.vt-site .au-shortcuts:not([data-vt-done]) { visibility: hidden; animation: vt-bar-reveal 0s 1s forwards; }
@keyframes vt-bar-reveal { to { visibility: visible; } }

/* =====================================================================
   STRONA GŁÓWNA: KAPSUŁA „ZAWSZE POD RĘKĄ”
   ===================================================================== */

/* grupa: dopisek + kapsuła, na banerze po prawej */
.vt-design .vt-hero-bubble {
  position: absolute;
  right: 40px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%) scale(.85);
  transform-origin: right center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

/* dopisek nad kapsułą */
.vt-design .vt-hero-note {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 200px;
  margin: 0;
  padding: 11px 16px;
  font-size: 16px;
  line-height: 1.4;
  color: #544434;
  background: #fffcf8c9;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid #ffffff66;
  border-radius: 16px;
}
.vt-design .vt-hero-note svg {
  width: 19px;
  height: 19px;
  color: var(--gold);
}

/* sama kapsuła */
.vt-design .vt-bubble {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 160px;
  height: 400px;
  padding: 56px 12px 52px;
  border-radius: 999px;
  border: 5px solid rgba(255, 255, 255, .75);
  background: linear-gradient(to bottom,
    rgba(255, 255, 255, .85) 0%,
    rgba(255, 255, 255, .6) 30%,
    rgba(255, 255, 255, .04) 58%,
    rgba(255, 255, 255, 0) 100%);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  color: var(--ink);
  overflow: hidden;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.65, 0, .35, 1);
}

/* kolorowe prześwity na dole kapsuły */
.vt-design .vt-bubble::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 -22px 34px -12px rgba(255, 255, 255, .85),
    inset 10px -40px 26px -14px rgba(120, 210, 255, .9),
    inset -10px -40px 26px -14px rgba(255, 130, 210, .9);
}

.vt-design .vt-bubble__text {
  font-family: var(--sans);
  font-size: 30px;
  line-height: 1.1;
  font-weight: 800;          /* grubość tekstu */
  letter-spacing: -.5px;
  text-align: center;
}

/* kod QR na mlecznym tle */
.vt-design .vt-bubble__qr {
  position: absolute;
  left: 50%;
  bottom: 104px;
  width: 134px;
  aspect-ratio: 1;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(var(--n, 24), 1fr);
  gap: 1px;
  z-index: -1;
  overflow: hidden;
  background: rgba(255, 255, 255, .45);
  border-radius: 6px;
  padding: 4px;
  animation: vt-qr-iris 6s linear infinite;
}
.vt-design .vt-bubble__qr i {
  border-radius: 1px;
  background: hsl(var(--h) 85% 50%);
  opacity: 0;
  transform: scale(.4);
  transition: opacity .3s, transform .3s;
}
.vt-design .vt-bubble__qr i.on {
  opacity: 1;
  transform: scale(1);
}
.vt-design .vt-bubble__qr::after {
  content: "";
  position: absolute;
  inset: -50%;
  background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .9) 50%, transparent 58%);
  animation: vt-qr-sweep 3s ease-in-out infinite;
}

/* białe smugi nad kodem */
.vt-design .vt-bubble__streaks {
  position: absolute;
  left: -20%;
  bottom: -6%;
  width: 140%;
  height: 66%;
  z-index: -1;
  opacity: .55;
  pointer-events: none;
  animation: vt-drift 10s ease-in-out infinite alternate;
}

/* strzałka w kapsule */
.vt-design .vt-bubble__arrow {
  transition: transform .45s cubic-bezier(.65, 0, .35, 1);
}
.vt-design .vt-bubble__arrow svg {
  width: 32px;
  height: 32px;
  stroke-width: 2;
}
.vt-design .vt-bubble:hover { transform: translateY(-6px); }
.vt-design .vt-bubble:hover .vt-bubble__arrow { transform: translate(5px, -5px); }

@keyframes vt-qr-iris { to { filter: hue-rotate(360deg); } }
@keyframes vt-qr-sweep {
  0%   { transform: translate(-40%, -40%); }
  100% { transform: translate(40%, 40%); }
}
@keyframes vt-drift {
  0%   { transform: translate(0, 0) rotate(-4deg); }
  100% { transform: translate(-12%, 6%) rotate(5deg); }
}

/* =====================================================================
   STRONA GŁÓWNA: KARUZELA BANERÓW
   ===================================================================== */

.vt-design .hero {
  display: block;
  min-height: 0;
  max-width: 1320px;
  margin: 28px auto 0;
  padding: 0 5%;
}

/* tekst niewidoczny, ale dostępny dla Google i czytników ekranu */
.vt-design .hero-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.vt-design .hero-visual {
  position: relative;
  height: auto;
  overflow: visible;
  background: none;
}

/* ramka z banerami */
.vt-design .vt-stage {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: var(--cream);
}

/* pasek z banerami przesuwany na bok */
.vt-design .vt-slides {
  display: flex;
  align-items: stretch;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.vt-design .vt-slides::-webkit-scrollbar { display: none; }

/* jeden baner */
.vt-design .vt-slide {
  position: relative;
  flex: 0 0 100%;
  display: block;
  height: 100%;
  overflow: hidden;
  background: #33252b;
  scroll-snap-align: start;
}
.vt-design a.vt-slide { cursor: pointer; }
.vt-design .vt-slide picture { display: contents; }

/* rozmyta, powiększona kopia zdjęcia wypełnia wolne miejsce */
.vt-design .vt-slide::before {
  content: "";
  position: absolute;
  inset: -40px;
  background: var(--bg) center / cover no-repeat;
  filter: blur(30px) brightness(.85);
  transform: scale(1.1);
}

/* właściwe zdjęcie: zawsze całe */
.vt-design .vt-slide img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* strzałki: większe, szklane */
.vt-design .vt-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 252, 248, .78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .85);
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(51, 37, 43, .18);
  transform: translateY(-50%);
  transition: background .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s;
}
.vt-design .vt-arrow svg {
  width: 24px;
  height: 24px;
  stroke-width: 1.6;
  transition: transform .25s;
}
.vt-design .vt-arrow:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: #fffcf8;
  transform: translateY(-50%) scale(1.06);
  box-shadow: 0 10px 28px rgba(51, 37, 43, .3);
}
.vt-design .vt-prev { left: 16px; }
.vt-design .vt-next { right: 16px; }
.vt-design .vt-prev:hover svg { transform: translateX(-2px); }
.vt-design .vt-next:hover svg { transform: translateX(2px); }

/* kreski pod banerem = licznik czasu do następnego banera */
.vt-design .vt-dots {
  display: flex;
  gap: 16px;
  margin-top: 16px;
}
.vt-design .vt-dots button {
  position: relative;
  flex: 1;
  height: 4px;
  padding: 0;
  overflow: hidden;
  border-radius: 2px;
  background: var(--pearl);
}
.vt-design .vt-dots button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: left;
}
.vt-design .vt-dots button.run::after {
  animation: vt-dot-fill var(--delay, 7000ms) linear forwards;
}
.vt-design .vt-dots.paused button::after { animation-play-state: paused; }
@keyframes vt-dot-fill { to { transform: scaleX(1); } }

/* =====================================================================
   STRONA GŁÓWNA: NAPIS NA BANERZE
   ===================================================================== */

.vt-design .vt-slide__title {
  --s: 1;                           /* wielkość: mnożnik */
  position: absolute;
  z-index: 1;
  top: 7%;
  left: 6%;
  max-width: calc(100% - 360px);    /* nie wchodzi pod kapsułę po prawej */
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  font-size: calc(clamp(28px, 3.6vw, 60px) * var(--s));
  line-height: 1.02;
  letter-spacing: -.5px;
  pointer-events: none;             /* kliknięcie przechodzi do linku banera */
}

/* wielkość */
.vt-design .vt-slide__title--size-s { --s: .72; }
.vt-design .vt-slide__title--size-l { --s: 1.35; }

/* położenie */
.vt-design .vt-slide__title--bottom { top: auto; bottom: 8%; }

/* czcionka */
.vt-design .vt-slide__title--playfair {
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  letter-spacing: 0;
}
.vt-design .vt-slide__title--script {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  font-size: calc(clamp(38px, 4.8vw, 80px) * var(--s));   /* odręczna jest drobniejsza */
  line-height: 1.1;
  letter-spacing: 0;
}
.vt-design .vt-slide__title--bold {
  font-family: "Open Sans", "Segoe UI", sans-serif;
  font-weight: 800;
  font-size: calc(clamp(26px, 3.2vw, 54px) * var(--s));   /* wyrazista, pogrubiona */
  line-height: 1.12;
  letter-spacing: -.5px;
}
/* kolory metaliczne (na ciemne zdjęcia) */
.vt-design :is(.vt-slide__title--light, .vt-slide__title--rose, .vt-slide__title--silver) {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.vt-design .vt-slide__title--light  { background-image: linear-gradient(100deg, #fff8e6 0%, #f1d58f 35%, #fffaf0 55%, #d9b36a 80%, #fff3d6 100%); }
.vt-design .vt-slide__title--rose   { background-image: linear-gradient(100deg, #fff1ec 0%, #f2b8a6 35%, #fff6f2 55%, #d98f7c 80%, #ffe6de 100%); }
.vt-design .vt-slide__title--silver { background-image: linear-gradient(100deg, #ffffff 0%, #c9ced6 35%, #ffffff 55%, #9aa3ad 80%, #f1f3f6 100%); }

/* kolory pełne */
.vt-design .vt-slide__title--white {
  color: #fffcf8;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
}
.vt-design .vt-slide__title--green {
  color: #1F4D3A;
  text-shadow: 0 1px 12px rgba(255, 252, 248, .7);
}
.vt-design .vt-slide__title--dark {
  color: var(--ink);
  text-shadow: 0 1px 12px rgba(255, 252, 248, .7);
}

/* =====================================================================
   RÓŻNE EKRANY
   ===================================================================== */

/* komputer: baner 16:9, trochę szerszy niż siatka produktów, strzałki na krawędzi */
@media (min-width: 761px) {
  .vt-design .hero {
    width: min(calc(100% - 48px), calc(min(100%, 1320px) * .9 + 80px));
    max-width: none;
    padding: 0;
  }
  .vt-design .vt-stage {
    width: 100%;             /* zawsze pełna szerokość, także gdy działa limit wysokości */
    aspect-ratio: 16 / 9;    /* format 1920 × 1080 */
    max-height: 70vh;        /* na niskich ekranach nie wyższy niż 70% ekranu */
    overflow: visible;
    border-radius: 0;
    background: none;
  }
  .vt-design .vt-slides { border-radius: 16px; }
  .vt-design .vt-prev { left: -28px; }
  .vt-design .vt-next { right: -28px; }
  .vt-design .vt-dots { margin: 16px 40px 0; }
}

/* laptop: kapsuła trochę mniejsza */
@media (max-width: 1100px) {
  .vt-design .vt-hero-bubble { transform: translateY(-50%) scale(.7); }
}

/* telefon */
@media (max-width: 760px) {
  .vt-design .hero { margin-top: 14px; padding: 0 16px; }
  .vt-design .vt-stage { aspect-ratio: 4 / 5; }   /* format 1080 × 1350 */
  .vt-design .vt-arrow { display: none; }
  .vt-design .vt-dots { gap: 8px; margin-top: 12px; }

  .vt-design .vt-hero-bubble { right: 6px; transform: translateY(-50%) scale(.5); }
  .vt-design .vt-hero-note {
    max-width: 220px;
    padding: 12px 18px;
    font-size: 23px;         /* grupa jest pomniejszona, więc tekst większy */
    gap: 12px;
  }
  .vt-design .vt-hero-note svg { width: 26px; height: 26px; }

  .vt-design .vt-slide__title {
    top: 6%;
    max-width: 58%;
    font-size: calc(clamp(24px, 7.5vw, 36px) * var(--s));
  }
  .vt-design .vt-slide__title--script { font-size: calc(clamp(32px, 10vw, 46px) * var(--s)); }
  .vt-design .vt-slide__title--bottom { top: auto; bottom: 6%; }
}

/* bez animacji w systemie: aktywna kreska po prostu pełna */
@media (prefers-reduced-motion: reduce) {
  .vt-design .vt-dots button[aria-current="true"]::after { transform: none; }
}
/* =====================================================================
   SKLEP: UCHWYT DO PRZEWIJANIA KATEGORII
   ===================================================================== */
.vt-design .palette-rail { scrollbar-width: none; }
.vt-design .palette-rail::-webkit-scrollbar { display: none; }

/* tor */
.vt-design .vt-rail-bar {
  position: relative;
  height: 6px;
  margin: 14px 0 24px;
  border-radius: 99px;
  background: var(--pearl, #e8d9bf);
  touch-action: none;
  cursor: pointer;
}
/* większy obszar do złapania palcem */
.vt-design .vt-rail-bar::before {
  content: "";
  position: absolute;
  inset: -14px 0;
}

/* uchwyt */
.vt-design .vt-rail-thumb {
  position: absolute;
  top: 50%;
  left: 0;
  height: 16px;
  margin-top: -8px;
  border-radius: 99px;
  background: #33252b;
  box-shadow: 0 2px 8px rgba(51, 37, 43, .25);
  cursor: grab;
}
/* trzy kreski na środku uchwytu */
.vt-design .vt-rail-thumb::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 6px;
  transform: translate(-50%, -50%);
  background: repeating-linear-gradient(90deg, #fffcf8 0 2px, transparent 2px 5px);
}
.vt-design .vt-rail-bar.is-drag .vt-rail-thumb { cursor: grabbing; }
/* =====================================================================
   KAFELEK: PRZYCISK „DODAJ DO KOSZYKA” W KOLORZE TŁA ZDJĘCIA
   ===================================================================== */
.vt-design .product-card .card-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: var(--accent);
  color: #fff;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: filter .2s, transform .2s;
}
.vt-design .product-card .card-add svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.6;
  flex-shrink: 0;
}
.vt-design .product-card .card-add:hover { filter: brightness(.9); color: #fff; }
.vt-design .product-card .card-add:active { transform: scale(.97); }

/* w trakcie dodawania i po dodaniu */
.vt-design .product-card .card-add.loading { opacity: .6; pointer-events: none; }
.vt-design .product-card .card-add.added::after { content: "✓"; font-weight: 700; }

/* WooCommerce dokleja link „Zobacz koszyk”: chowamy, koszyk jest w dolnym pasku */
.vt-design .product-card .added_to_cart { display: none; }
/* =====================================================================
   KAFELEK: CENA NAD PRZYCISKIEM, PRZYCISK ZAWSZE NA DOLE
   ===================================================================== */
body.vt-site .vt-design .products { align-items: stretch; }

body.vt-site .vt-design .product-card {
  display: flex;
  flex-direction: column;
}
body.vt-site .vt-design .product-card .product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
body.vt-site .vt-design .product-card .card-bottom {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
  margin-top: auto;      /* spycha cenę i przycisk na dół kafelka */
  padding-top: 12px;
}
/* „Poznaj produkt” jako zwykły link, ale w tej samej wysokości co przycisk,
   żeby ceny w rzędzie stały równo */
body.vt-site .vt-design .product-card .card-more {
  align-self: flex-start;
  display: inline-flex;
  align-items: flex-end;
  min-height: 44px;
}
/* Odstęp pod siatką produktów (np. przed „Filozofią VITADIET”) */
body.vt-site .vt-design .vt-catalog { padding-bottom: 64px; }
@media (max-width: 760px) {
  body.vt-site .vt-design .vt-catalog { padding-bottom: 40px; }
}
/* Dolny pasek: znaczek z liczbą produktów przy „Koszyk” */
.vt-site .au-shortcuts a { position: relative; }
.vt-site .au-shortcuts :is(.vt-bar-count, .vt-fav-count) {
  position: absolute;
  top: 2px;
  left: calc(50% + 4px);
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #8F4054;
  color: #fff;
  font: 700 11px/18px Manrope, sans-serif;
  text-align: center;
  box-shadow: 0 0 0 2px #fffcf8;
  pointer-events: none;
}
.vt-site .au-shortcuts :is(.vt-bar-count, .vt-fav-count)[data-count="0"] { display: none; }
/* Ulubione: wypełnione serduszko, gdy coś jest zapisane */
.vt-site .au-shortcuts a.has-favs svg { fill: #8F4054; stroke: #8F4054; }
/* Górne menu na komputerze: wyśrodkowane w pionie, „Sklep” z kółkiem VD */
@media (min-width: 1101px) {
  .vt-design .desktop-nav {
    display: flex;
    align-items: center;
    align-self: center;
  }
  .vt-design .desktop-nav a.vt-nav-shop {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }
  .vt-design .desktop-nav a.vt-nav-shop::before {
    content: "";
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1F4D3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center / 20px no-repeat;
    box-shadow: 0 4px 12px rgba(31, 77, 58, .3);
  }
}
/* Telefon i tablet: górne menu ukryte, działa przycisk menu */
@media (max-width: 1100px) {
  .vt-design .desktop-nav { display: none !important; }
}
/* Wysuwane menu: serduszko przy „Ulubione”, torba przy „Koszyk” */
.vt-design .panel-menu :is(a.vt-nav-fav, a.vt-nav-cart, a.vt-nav-shop) {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vt-design .panel-menu :is(a.vt-nav-fav, a.vt-nav-cart, a.vt-nav-shop)::before { 
  content: "";
  flex-shrink: 0;
  width: 36px;            /* tyle co kółko przy „Sklep”, napisy w jednej linii */
  height: 36px;
  background: currentColor;
  -webkit-mask: var(--icon) center / 22px no-repeat;
  mask: var(--icon) center / 22px no-repeat;
}
.vt-design .panel-menu a.vt-nav-fav {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M12 20S3 14 3 8a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 6-9 12-9 12Z'/%3E%3C/svg%3E");
}
.vt-design .panel-menu a.vt-nav-shop {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}
.vt-design .panel-menu a.vt-nav-cart {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M5 7h14l1 14H4L5 7Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
}
/* =====================================================================
   PRZYCISK CZATU: MAŁY ROBOT VITADIET
   ===================================================================== */
.vt-site .au-chat-launch {
  width: 64px !important;
  height: 90px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url(robot1.png) center bottom / contain no-repeat !important;
  box-shadow: none !important;
  filter: drop-shadow(0 6px 10px rgba(51, 37, 43, .25));
  animation: vt-robot-float 3.5s ease-in-out infinite;
  transition: transform .25s;
}
.vt-site .au-chat-launch svg { display: none; }   /* chowa ikonkę dymku */
.vt-site .au-chat-launch:hover {
  animation-play-state: paused;
  transform: translateY(-4px) rotate(-4deg);
}

/* delikatne unoszenie się robota */
@keyframes vt-robot-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-5px); }
}
@media (prefers-reduced-motion: reduce) {
  .vt-site .au-chat-launch { animation: none; }
}
/* Robot: dymek z powitaniem */
body.vt-site.home .au-chat-launch::before {
    content: var(--vt-bubble-text, "Cześć! Powiedz mi, czego potrzebujesz.");
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  width: 170px;
  padding: 10px 14px;
  border: 1px solid #e8d9bf;
  border-radius: 14px 14px 4px 14px;   /* ostry róg w stronę robota */
  background: #fffcf8;
  box-shadow: 0 6px 18px rgba(51, 37, 43, .15);
  color: #33252b;
  font: 500 13px/1.4 Manrope, sans-serif;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  animation: vt-bubble-in .4s ease-out 1.2s both,
             vt-bubble-out .5s ease-in 8s forwards;
}
@keyframes vt-bubble-in {
  from { opacity: 0; transform: translateY(6px) scale(.95); }
  to   { opacity: 1; transform: none; }
}
@keyframes vt-bubble-out {
  to { opacity: 0; transform: translateY(6px) scale(.95); visibility: hidden; }
}
/* telefon: dymek trochę mniejszy */
@media (max-width: 760px) {
  body.vt-site.home .au-chat-launch::before {
    width: 145px;
    padding: 8px 12px;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .vt-site .au-chat-launch::before { animation: none; }
}
/* Wysuwane menu: liczniki przy „Ulubione” i „Koszyk” */
.vt-design .panel-menu :is(.vt-bar-count, .vt-fav-count) {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: #8F4054;
  color: #fff;
  font: 700 11px/1 Manrope, sans-serif;
}
.vt-design .panel-menu :is(.vt-bar-count, .vt-fav-count)[data-count="0"] { display: none; }
/* Wysuwane menu: wypełnione bordowe serduszko, gdy są ulubione */
.vt-design .panel-menu a.vt-nav-fav.has-favs {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.5'%3E%3Cpath d='M12 20S3 14 3 8a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 6-9 12-9 12Z'/%3E%3C/svg%3E");
}
.vt-design .panel-menu a.vt-nav-fav.has-favs::before { background: #8F4054; }

/* Nagłówek (komputer): wypełnione bordowe serduszko, gdy są ulubione */
.vt-design .header a.has-favs svg { fill: #8F4054; stroke: #8F4054; }
/* Kafelek: etykieta „od … zł/szt.” przy cenach ilościowych */
body.vt-site .vt-design .product-card .card-tier {
  margin-top: -6px;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--accent);
}
/* =====================================================================
   BELKA „DO KOSZYKA” (produkt i dziennik)
   ===================================================================== */
.vt-buybar {
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 60;
  background: #fffcf8f2;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .35s;
}
.vt-buybar__img {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: var(--bar-tint);
  overflow: hidden;
}
.vt-buybar__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 3px; }
.vt-buybar__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  color: inherit;
  text-decoration: none;
}
.vt-buybar__info strong {
  font-size: .9375rem;
  font-weight: 600;
  color: #33252b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vt-buybar__price { font-size: .9375rem; font-weight: 700; color: #33252b; }
.vt-buybar__price del { font-size: .8125rem; font-weight: 400; opacity: .6; margin-right: 4px; }
.vt-buybar__price ins { background: none; text-decoration: none; }
.vt-buybar__price .iworks-omnibus { display: none; }
.vt-buybar__add {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding: 8px 14px;
   border: 0;
  border-radius: 10px;
  background: var(--bar-accent);
  color: #fff;
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
}
.vt-buybar__add:hover { filter: brightness(.9); color: #fff; }
.vt-buybar__add svg { width: 17px; height: 17px; stroke-width: 1.6; }
.vt-buybar__add.loading { opacity: .6; pointer-events: none; }
.vt-buybar__add.added::after { content: "✓"; font-weight: 700; }
.vt-buybar .added_to_cart { display: none; }

/* telefon: pasek u góry ekranu */
@media (max-width: 760px) {
  .vt-buybar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 10px 16px;
    border-bottom: 1px solid #e8d9bf;
    box-shadow: 0 6px 18px -10px rgba(51, 37, 43, .25);
    transform: translateY(-110%);
  }
  .vt-buybar.is-visible { transform: none; }
  .vt-buybar--journal { display: none; }   /* w dzienniku na telefonie jest pasek ze spisem treści */
}

/* komputer: karta w prawym górnym rogu, pod nagłówkiem */
@media (min-width: 761px) {
  .vt-buybar {
    position: fixed;
    top: 128px;
    right: 48px;
    width: 380px;
    padding: 12px 14px;
    border: 1px solid #e8d9bf;
    border-radius: 14px;
    box-shadow: 0 14px 34px -14px rgba(51, 37, 43, .3);
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
  }
  .vt-buybar.is-visible { opacity: 1; transform: none; pointer-events: auto; }
  .vt-buybar__img { width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) { .vt-buybar { transition: none; } }