/* ============================================================
   POKEBOL — „aréna" dizajn (WooCommerce + FSE)
   Nočná modrá #0B1020, azúrová #2DD4F0, limetka #A3E635.
   Jazyk: ostré hrany, zrezané rohy, technická mriežka, mono popisky.
   ============================================================ */

:root {
  --pb-base:    #070B16;   /* hlbšie, aby panely mohli vystúpiť */
  --pb-panel:   #101A2E;
  --pb-panel2:  #17233D;
  --pb-line:    #26334F;
  --pb-line-hi: #3B4C74;
  --pb-text:    #E9EFFA;
  --pb-muted:   #8494B8;
  --pb-cyan:    #2DD4F0;
  --pb-cyan-dk: #1AA7C4;
  --pb-lime:    #A3E635;
  --pb-violet:  #B984FF;   /* tretí odtieň: dva akcenty = tech, tri = fólia */
  --pb-amber:   #F5B93B;
  --pb-danger:  #FF6B6B;
  --pb-ink:     #06121C;

  --pb-r:    10px;
  --pb-r-sm: 8px;
  --pb-r-lg: 14px;
  --pb-cut:  14px;

  --pb-display: "Chakra Petch", ui-sans-serif, system-ui, sans-serif;
  --pb-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* fólia: podpisový prvok webu, jediné miesto, kde si dovolíme lesk */
  --pb-foil: linear-gradient(100deg, var(--pb-cyan) 0%, var(--pb-violet) 48%, var(--pb-lime) 100%);
  --pb-card: 5 / 7;        /* pomer zberateľskej karty */

  --pb-grid: none;         /* technická mriežka preč, bola to najväčšia AI stopa */
}

/* ---- základ ---- */
body {
  background: var(--pb-base);
  color: var(--pb-text);
}
a { text-underline-offset: 3px; }
::selection { background: rgba(45,212,240,.35); color: #fff; }
:where(.wp-block-button__link):focus-visible,
:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--pb-lime); outline-offset: 2px;
}

/* zrezaný roh — podpis značky */
.pb-cut { clip-path: polygon(0 0, calc(100% - var(--pb-cut)) 0, 100% var(--pb-cut), 100% 100%, 0 100%); }
.pb-cut-2 { clip-path: polygon(var(--pb-cut) 0, 100% 0, 100% calc(100% - var(--pb-cut)), calc(100% - var(--pb-cut)) 100%, 0 100%, 0 var(--pb-cut)); }

/* mono popisky */
.pb-eyebrow, .pb-head__eye, .pb-kicker {
  display: block; font-family: var(--pb-mono); font-weight: 500;
  text-transform: uppercase; letter-spacing: .16em; font-size: .72rem;
  color: var(--pb-cyan);
}
.pb-bolt-sep { height: 1px; border: 0; margin: 0; background: linear-gradient(90deg, transparent, var(--pb-cyan), var(--pb-lime), transparent); opacity: .55; }

/* obrázky: ostrejšie rohy, bez neónu */
.wp-block-image img,
.wp-block-post-featured-image img,
figure.wp-block-image img,
.wp-block-media-text__media img,
.woocommerce div.product div.images img,
.wc-block-components-product-image img,
.attachment-woocommerce_thumbnail { border-radius: var(--pb-r) !important; }

/* ============================================================
   HLAVIČKA — horný pás (logo + nástroje) a lišta kategórií
   ============================================================ */
.pb-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--pb-base);
  border-bottom: 1px solid var(--pb-line);
}
.pb-bar { background: var(--pb-base); }
.pb-bar__in { padding: .7rem 1.25rem; flex-wrap: nowrap !important; gap: 1rem; }
.pb-tools { flex-wrap: nowrap !important; }
.pb-brand { display: inline-flex !important; align-items: center; text-decoration: none; }
.pb-brand__logo { display: block; height: 88px; width: auto; border-radius: 0 !important; }
@media (max-width: 1200px) { .pb-brand__logo { height: 68px; } }
@media (max-width: 980px) { .pb-brand__logo { height: 48px; } }
@media (max-width: 400px) { .pb-brand__logo { height: 38px; } }

/* lišta kategórií */
.pb-navbar { background: var(--pb-panel); border-top: 1px solid var(--pb-line); }
.pb-navbar::after {
  content: ""; display: block; height: 2px;
  background: linear-gradient(90deg, var(--pb-cyan), var(--pb-lime) 45%, transparent 80%);
}
.pb-nav {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 0 clamp(.2rem, 1vw, 1rem); padding: 0 1.25rem;
}
/* align-items: center, nie stretch — inak sa pri zalomení menu podčiarknutie
   roztiahne na výšku celého riadku a skočí hlboko pod položku */
.pb-nav__cats, .pb-nav__links { display: flex; align-items: center; flex-wrap: wrap; }
.pb-nav__links { margin-left: auto; }
.pb-cat { position: relative; }
.pb-cat__link,
.pb-nav__links a {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .85rem .7rem;
  font-family: var(--pb-mono); font-weight: 500; text-transform: uppercase;
  letter-spacing: .1em; font-size: .78rem; color: var(--pb-text);
  text-decoration: none; white-space: nowrap;
  border-bottom: 2px solid transparent; transition: color .18s, border-color .18s;
}
.pb-nav__links a { color: var(--pb-muted); }
.pb-cat__link:hover, .pb-cat:focus-within .pb-cat__link,
.pb-nav__links a:hover { color: var(--pb-cyan); border-bottom-color: var(--pb-cyan); }
.pb-cat__chev { width: .4rem; height: .4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }

/* rozbalenie podkategórií — bez JS (hover + focus-within) */
.pb-cat__sub {
  position: absolute; left: 0; top: 100%; z-index: 200;
  min-width: 230px; padding: .9rem 1rem 1rem;
  background: var(--pb-panel); border: 1px solid var(--pb-line); border-top: 2px solid var(--pb-cyan);
  box-shadow: 0 26px 50px -26px rgba(0,0,0,.9);
  opacity: 0; visibility: hidden; transform: translateY(4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.pb-cat--has-sub:hover .pb-cat__sub,
.pb-cat--has-sub:focus-within .pb-cat__sub { opacity: 1; visibility: visible; transform: none; }
.pb-cat__sub ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .1rem; }
.pb-cat__sub a { display: block; padding: .35rem 0; color: var(--pb-muted); text-decoration: none; font-size: .9rem; }
.pb-cat__sub a:hover { color: var(--pb-text); }
.pb-cat__all {
  display: inline-block; margin-top: .7rem; padding-top: .7rem; border-top: 1px solid var(--pb-line);
  width: 100%; color: var(--pb-cyan); font-family: var(--pb-mono); font-size: .7rem;
  text-transform: uppercase; letter-spacing: .1em; text-decoration: none;
}
.pb-cat__all:hover { color: var(--pb-lime); }

/* účet + košík */
.pokebol-acct { display: inline-flex; align-items: center; gap: .45rem; color: var(--pb-text); text-decoration: none; font-family: var(--pb-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.pokebol-acct:hover { color: var(--pb-cyan); }
.pokebol-ic { display: block; }

/* ============================================================
   TLAČIDLÁ
   ============================================================ */
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.wc-block-components-button,
.pb-btn {
  font-family: var(--pb-display) !important;
  font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em;
  background: var(--pb-cyan) !important; color: var(--pb-ink) !important;
  border: 0 !important; border-radius: var(--pb-r) !important;
  padding: .8em 1.6em; box-shadow: none;
  transition: background .18s, color .18s, transform .15s;
  text-decoration: none; cursor: pointer; display: inline-block;
}
.wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button.alt:hover,
.wc-block-components-button:hover,
.pb-btn:hover { background: var(--pb-lime) !important; color: var(--pb-base) !important; transform: translateY(-1px); }

.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.pb-btn--ghost {
  background: transparent !important; color: var(--pb-cyan) !important;
  border: 1px solid var(--pb-cyan) !important;
}
.pb-btn--ghost:hover { background: rgba(45,212,240,.12) !important; color: var(--pb-cyan) !important; }
.pb-btn--lime { background: var(--pb-lime) !important; color: var(--pb-base) !important; }
.pb-btn--lime:hover { background: var(--pb-cyan) !important; color: var(--pb-ink) !important; }

/* ============================================================
   SEKCIE
   ============================================================ */
.pb-sec { position: relative; }
.pb-sec--dark { background: var(--pb-base); }
.pb-sec--band { background: var(--pb-panel); position: relative; }
.pb-sec--band::before {
  content: ""; position: absolute; inset: 0; background: var(--pb-grid); pointer-events: none;
}
.pb-sec--band > * { position: relative; }

/* editoriálna hlavička sekcie */
.pb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 2.2rem; }
.pb-head__l { display: flex; align-items: flex-start; gap: 1.1rem; }
.pb-num {
  font-family: var(--pb-mono); font-weight: 500; font-size: .78rem; letter-spacing: .12em;
  color: var(--pb-lime); border: 1px solid var(--pb-line); padding: .35rem .5rem; line-height: 1;
  flex: none; margin-top: .35rem;
}
.pb-head h2 { font-size: clamp(1.7rem, 1.25rem + 2.1vw, 2.7rem); margin: 0; }
.pb-head__eye { margin-bottom: .35rem; }
.pb-head__link { font-family: var(--pb-mono); font-weight: 500; text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; color: var(--pb-cyan); text-decoration: none; white-space: nowrap; border-bottom: 1px solid transparent; }
.pb-head__link:hover { color: var(--pb-lime); border-bottom-color: var(--pb-lime); }

/* rámovaný obrázok (nahrádza holo) */
.pb-holo, .pb-frame {
  position: relative; overflow: hidden; border: 1px solid var(--pb-line);
  background: var(--pb-panel);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.pb-holo img, .pb-frame img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.pb-holo::after, .pb-frame::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, var(--pb-cyan), transparent 65%);
}

/* ============================================================
   HERO
   ============================================================ */
.pb-hero {
  position: relative; overflow: hidden;
  background: linear-gradient(150deg, var(--pb-panel2) 0%, var(--pb-base) 72%);
  border-bottom: 1px solid var(--pb-line);
}
.pb-hero::before {
  content: ""; position: absolute; inset: 0; background: var(--pb-grid);
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%);
  mask-image: linear-gradient(180deg, #000, transparent 85%);
  pointer-events: none;
}
.pb-hero__in {
  position: relative; display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
  max-width: 1240px; margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem) 1.25rem clamp(2rem, 4vw, 3.5rem);
}
@media (max-width: 900px) { .pb-hero__in { grid-template-columns: 1fr; } }
.pb-hero h1 {
  font-size: clamp(2.3rem, 1.5rem + 4vw, 4.4rem); margin: .7rem 0 0; text-wrap: balance;
}
.pb-hero h1 em { font-style: normal; color: var(--pb-cyan); }
.pb-hero__sub { color: var(--pb-muted); max-width: 46ch; margin: 1.1rem 0 0; }
.pb-hero__cta { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.8rem; }

/* stĺpec s kartami */
.pb-hero__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; align-items: end; }
.pb-hero__cards .pb-frame { aspect-ratio: 3/4; }
.pb-hero__cards .pb-frame:nth-child(1) { transform: translateY(1.6rem); }
.pb-hero__cards .pb-frame:nth-child(3) { transform: translateY(.8rem); }
@media (max-width: 900px) { .pb-hero__cards .pb-frame { transform: none !important; } }
@media (max-width: 520px) { .pb-hero__cards { grid-template-columns: repeat(2, 1fr); } .pb-hero__cards .pb-frame:nth-child(3) { display: none; } }

/* stat pás */
.pb-stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line);
  background: var(--pb-base);
}
.pb-stats > div { padding: 1.1rem 1.25rem; border-right: 1px solid var(--pb-line); }
.pb-stats > div:last-child { border-right: 0; }
.pb-stats dt { font-family: var(--pb-mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; color: var(--pb-muted); margin: 0 0 .3rem; }
.pb-stats dd { font-family: var(--pb-display); font-weight: 700; font-size: 1.15rem; margin: 0; color: var(--pb-text); }
.pb-stats dd b { color: var(--pb-lime); font-weight: 700; }
@media (max-width: 780px) {
  .pb-stats { grid-template-columns: repeat(2, 1fr); }
  .pb-stats > div:nth-child(2n) { border-right: 0; }
  .pb-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--pb-line); }
}

/* ============================================================
   PRODUKTOVÉ KARTY (klasické aj blokové)
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1.1rem !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after,
ul.products::before, ul.products::after { content: none !important; display: none !important; }

.wc-block-product-template,
.wp-block-woocommerce-product-template,
.wc-block-product-template.is-flex-container,
.wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 1.1rem !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.wc-block-product-template > li.wc-block-product,
.wc-block-product-template.is-flex-container > li {
  width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; float: none !important;
}

.woocommerce ul.products li.product,
ul.products li.product,
li.wc-block-product {
  background: var(--pb-panel);
  border: 1px solid var(--pb-line);
  border-radius: 0;
  padding: .75rem !important; margin: 0 !important;
  display: flex !important; flex-direction: column; height: 100%;
  position: relative; text-align: left; float: none !important; width: auto !important;
  transition: border-color .2s, transform .18s, background .2s;
}
.woocommerce ul.products li.product::before,
li.wc-block-product::before {
  content: ""; position: absolute; left: 0; top: 0; width: 0; height: 2px;
  background: linear-gradient(90deg, var(--pb-cyan), var(--pb-lime));
  transition: width .28s ease;
}
.woocommerce ul.products li.product:hover,
li.wc-block-product:hover { border-color: var(--pb-line-hi); background: var(--pb-panel2); transform: translateY(-2px); }
.woocommerce ul.products li.product:hover::before,
li.wc-block-product:hover::before { width: 100%; }

.woocommerce ul.products li.product img,
ul.products li.product img,
li.wc-block-product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  aspect-ratio: 1/1; object-fit: contain !important; width: 100% !important; height: auto;
  background: var(--pb-base); padding: .4rem; border-radius: var(--pb-r) !important;
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
li.wc-block-product .wp-block-post-title,
li.wc-block-product .wc-block-components-product-name,
.wc-block-grid__product-title {
  font-family: var(--pb-display); font-weight: 700; font-size: .98rem !important;
  color: var(--pb-text) !important; line-height: 1.2; margin: .55rem 0 .3rem !important;
  min-height: 2.4em; text-transform: none;
}
li.wc-block-product .wp-block-post-title a { color: var(--pb-text) !important; text-decoration: none; }
.woocommerce ul.products li.product .price,
li.wc-block-product .wp-block-woocommerce-product-price,
li.wc-block-product .wc-block-components-product-price,
.wc-block-grid__product-price {
  color: var(--pb-lime) !important; font-family: var(--pb-display); font-weight: 700;
  font-size: 1.18rem; margin: 0 0 .8rem !important; display: block;
}
.woocommerce ul.products li.product .price del { color: var(--pb-muted) !important; font-weight: 400; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.added_to_cart,
ul.products li.product a.add_to_cart_button,
li.wc-block-product .wp-block-button,
li.wc-block-product .wc-block-components-product-button {
  margin-top: auto !important; width: 100%; box-sizing: border-box;
}
li.wc-block-product .wp-block-button__link,
li.wc-block-product .wc-block-components-product-button a,
li.wc-block-product .wc-block-components-product-button button,
.woocommerce ul.products li.product a.button {
  width: 100%; text-align: center; white-space: nowrap; padding: .65em 1em !important; font-size: .88rem !important;
}
.woocommerce ul.products li.product .button + .added_to_cart { margin-top: .5rem !important; }

.woocommerce span.onsale, .wc-block-components-product-sale-badge {
  background: var(--pb-lime) !important; color: var(--pb-base) !important;
  border-radius: 0; font-family: var(--pb-mono); font-weight: 500; text-transform: uppercase; letter-spacing: .1em;
  font-size: .68rem; box-shadow: none; min-height: 0; min-width: 0; padding: .25em .6em;
}
.stock.in-stock, .wc-block-components-product-stock-indicator--in-stock { color: var(--pb-lime) !important; }
.stock.out-of-stock { color: var(--pb-danger) !important; }

@media (max-width: 960px) {
  .woocommerce ul.products, ul.products,
  .wc-block-product-template, .wp-block-woocommerce-product-template,
  .wc-block-product-template.is-flex-container,
  .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* ============================================================
   PRODUKT — detail
   ============================================================ */
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--pb-lime); font-family: var(--pb-display); font-weight: 700; font-size: 1.9rem;
}
.single-product div.product .woocommerce-product-gallery { max-width: 440px; }
.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery__wrapper { text-align: center; }
.single-product div.product .woocommerce-product-gallery img {
  max-height: 520px !important; width: auto !important; margin-inline: auto; object-fit: contain;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--pb-panel); border-color: var(--pb-line); border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--pb-panel2); border-bottom-color: var(--pb-cyan); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--pb-line); }
.woocommerce .quantity input.qty { background: var(--pb-panel); color: var(--pb-text); border: 1px solid var(--pb-line); border-radius: var(--pb-r); }

/* ============================================================
   FORMULÁRE / košík / pokladňa / účet
   ============================================================ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.wc-block-components-text-input input, .wc-block-components-textarea,
select, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"] {
  background: var(--pb-panel) !important; color: var(--pb-text) !important;
  border: 1px solid var(--pb-line) !important; border-radius: var(--pb-r) !important;
}
.woocommerce select, .wc-block-components-form select, select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%238C9BC0' stroke-width='1.6'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; background-size: 12px;
  padding: .6rem 2.2rem .6rem .9rem !important;
}
.wc-block-checkout .wc-blocks-components-select__select,
.wc-block-components-address-form select,
.wc-blocks-components-select select {
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
  background-color: var(--pb-panel) !important; color: var(--pb-text) !important;
  border: 1px solid var(--pb-line) !important; border-radius: var(--pb-r) !important;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%238C9BC0' stroke-width='1.6'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right .85rem center !important; background-size: 12px !important;
  padding-right: 2.2rem !important;
}
.wc-blocks-components-select__select option,
.wc-block-components-address-form select option { background: var(--pb-panel) !important; color: var(--pb-text) !important; }

.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner {
  background: var(--pb-panel) !important; color: var(--pb-text) !important;
  border: 1px solid var(--pb-line) !important; border-left: 3px solid var(--pb-cyan) !important;
  border-radius: 0; align-items: center;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--pb-cyan) !important; }
.woocommerce table.shop_table, .woocommerce-cart table.cart, .wc-block-cart, .wc-block-checkout {
  background: var(--pb-panel); border: 1px solid var(--pb-line); border-radius: 0; overflow: hidden;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--pb-line); color: var(--pb-text); }
.wp-block-woocommerce-checkout.wc-block-checkout,
.wp-block-woocommerce-cart.wc-block-cart {
  padding: clamp(1.15rem, 2vw, 2rem) clamp(1.15rem, 2.4vw, 2.25rem) !important; box-sizing: border-box !important;
}
.wc-block-checkout__main, .wc-block-checkout__sidebar { min-width: 0; }
@media (min-width: 900px) {
  .wc-block-components-sidebar-layout.is-large {
    display: grid !important; grid-template-columns: minmax(0,1fr) 370px !important; gap: 2rem !important; align-items: start;
  }
  .wc-block-components-sidebar-layout.is-large > .wc-block-components-main,
  .wc-block-components-sidebar-layout.is-large > .wc-block-components-sidebar {
    max-width: none !important; width: auto !important; flex: none !important; padding: 0 !important;
  }
}
.wc-block-components-sidebar-layout { gap: 0; }
.wc-block-components-sidebar { background: var(--pb-panel); border: 1px solid var(--pb-line); padding: 1.25rem !important; }
.wc-block-components-totals-item { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; }
.woocommerce .wc-block-components-totals-item__value, .woocommerce td.product-total, .woocommerce .cart-subtotal td { text-align: right; }
.wc-block-components-text-input, .wc-block-components-select { border: 0 !important; background: transparent !important; }
.wc-block-components-select .wc-block-components-select__container { border: 0 !important; }
.wc-block-components-select__label, .wc-block-components-text-input label { background: transparent !important; color: var(--pb-muted) !important; }
.wc-block-components-select select { padding: 1.4rem .9rem .5rem !important; }
.wc-block-components-select .wc-block-components-select__label { top: .55rem !important; transform: translateY(0) scale(.78) !important; transform-origin: top left; left: .9rem !important; }
.wc-block-components-radio-control__option { border-radius: var(--pb-r) !important; }
.wc-block-components-radio-control__label { font-weight: 600; }
.wc-block-checkout__terms .wc-block-components-checkbox__input { accent-color: var(--pb-cyan); }
.wc-block-cart__empty-cart__title, .cart-empty { font-family: var(--pb-display); font-weight: 700; }

.woocommerce a.button.wc-forward,
.wc-block-components-notice-banner a.button,
.wc-block-components-notice-banner .wp-element-button,
a.button.wc-forward.wp-element-button,
.woocommerce-message a.button, .woocommerce-info a.button {
  background: var(--pb-lime) !important; color: var(--pb-base) !important; border: 0 !important;
  border-radius: var(--pb-r) !important; font-family: var(--pb-display); font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em; padding: .5em 1.1em !important; box-shadow: none;
}

/* Môj účet */
.woocommerce-account .woocommerce { display: flex !important; gap: 2rem; align-items: flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: 260px !important; flex: 0 0 260px; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; flex: 1 1 auto; padding-left: 0 !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li { background: var(--pb-panel); border: 1px solid var(--pb-line); padding: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active { border-color: var(--pb-cyan); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 44px; padding: 0 1rem !important; color: var(--pb-text); text-decoration: none; font-weight: 600; font-size: .92rem; line-height: 1.2; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--pb-cyan); }
.woocommerce-account .woocommerce-MyAccount-content > *:first-child { margin-top: 0 !important; }
.woocommerce-account form .form-row { max-width: 520px; }
.woocommerce-account form .form-row input.input-text { width: 100%; }
@media (max-width: 782px) {
  .woocommerce-account .woocommerce { flex-direction: column; }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; flex: none; }
}

/* ============================================================
   PÄTIČKA
   ============================================================ */
.pb-footer { background: var(--pb-panel); border-top: 1px solid var(--pb-line); color: var(--pb-muted); position: relative; }
.pb-footer::before { content: ""; position: absolute; inset: 0; background: var(--pb-grid); pointer-events: none; }
.pb-footer > * { position: relative; }
.pb-footer a { color: var(--pb-muted); text-decoration: none; }
.pb-footer a:hover { color: var(--pb-cyan); }
.pb-footer .wp-block-heading {
  color: var(--pb-text); font-family: var(--pb-mono) !important; font-weight: 500 !important;
  font-size: .74rem !important; text-transform: uppercase; letter-spacing: .16em;
  padding-bottom: .6rem; border-bottom: 1px solid var(--pb-line); margin-bottom: .9rem;
}
.pb-footer .wp-block-list a { display: inline-block; padding: .34rem 0; line-height: 1.2; }
.pb-footer .wp-block-list li { margin: 0; }
.pb-footer__brand { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: .9rem; }
.pb-footer__brand img { display: block; height: 72px; width: auto; border-radius: 0 !important; }
.pb-social { display: flex; gap: .6rem; margin-top: 1.1rem; }
.pb-social a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--pb-line); color: var(--pb-muted); background: var(--pb-base); }
.pb-social a:hover { color: var(--pb-cyan); border-color: var(--pb-cyan); }

/* ============================================================
   OBSAHOVÉ SEKCIE ÚVODKY
   ============================================================ */
/* dlaždice kategórií — ikonové karty */
.pb-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 980px) { .pb-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .pb-tiles { grid-template-columns: 1fr; } }
.pb-tile {
  --pb-tile-a: var(--pb-cyan);
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 190px; padding: 1.2rem 1.25rem 1.15rem; overflow: hidden; text-decoration: none;
  border: 1px solid var(--pb-line); background: var(--pb-panel);
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
  transition: border-color .2s, transform .2s, background .2s;
}
.pb-tile:hover { border-color: var(--pb-tile-a); transform: translateY(-3px); background: var(--pb-panel2); }
.pb-tile--pokemon       { --pb-tile-a: #F5B93B; }
.pb-tile--one-piece     { --pb-tile-a: #FF6B6B; }
.pb-tile--lorcana       { --pb-tile-a: #9B8CFF; }
.pb-tile--riftbound     { --pb-tile-a: #2DD4F0; }
.pb-tile--magic-the-gathering { --pb-tile-a: #E8542F; }
.pb-tile--prislusenstvo { --pb-tile-a: #A3E635; }
.pb-tile--ostatne-tcg   { --pb-tile-a: #7DD3C0; }
.pb-tile__art {
  position: absolute; inset: 0; display: block; pointer-events: none;
  background: linear-gradient(160deg, var(--pb-panel2), var(--pb-base));
  background:
    radial-gradient(120% 100% at 100% 0%, color-mix(in srgb, var(--pb-tile-a) 22%, transparent), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 13px),
    linear-gradient(160deg, var(--pb-panel2), var(--pb-base));
  transition: opacity .3s;
}
.pb-tile::before {
  content: ""; position: absolute; right: -34px; top: -34px; width: 130px; height: 130px;
  border: 2px solid var(--pb-tile-a); opacity: .28; transform: rotate(45deg);
  transition: opacity .3s, transform .5s; pointer-events: none;
}
.pb-tile:hover::before { opacity: .5; transform: rotate(58deg); }
.pb-tile__ic {
  position: relative; z-index: 2; width: 56px; height: 56px; margin-bottom: auto;
  display: grid; place-items: center; color: var(--pb-tile-a);
  border: 1px solid var(--pb-line); background: rgba(11,16,32,.55);
  transition: border-color .2s, transform .25s;
}
.pb-tile:hover .pb-tile__ic { border-color: var(--pb-tile-a); transform: translateY(-2px); }
.pb-tile__label { position: relative; z-index: 2; display: flex; flex-direction: column; gap: .15rem; margin-top: 1.1rem; }
.pb-tile__label b {
  font-family: var(--pb-display); font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  font-size: clamp(1.05rem, .92rem + .5vw, 1.35rem); line-height: 1.08; color: #fff;
}
.pb-tile__label > span {
  font-family: var(--pb-mono); font-size: .68rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--pb-tile-a);
}

/* ikony v lište kategórií */
.pb-cat__link .pb-ic { flex: none; opacity: .85; }
.pb-cat__link:hover .pb-ic, .pb-cat:focus-within .pb-cat__link .pb-ic { opacity: 1; }
.pb-cat--pokemon .pb-ic       { color: #F5B93B; }
.pb-cat--one-piece .pb-ic     { color: #FF6B6B; }
.pb-cat--lorcana .pb-ic       { color: #9B8CFF; }
.pb-cat--riftbound .pb-ic     { color: #2DD4F0; }
.pb-cat--prislusenstvo .pb-ic { color: #A3E635; }
.pb-cat--ostatne-tcg .pb-ic   { color: #7DD3C0; }

/* kontaktné fakty v sekcii „kto sme" */
.pb-facts { list-style: none; margin: 1.4rem 0; padding: 0; display: grid; gap: 0; }
.pb-facts li { display: flex; gap: 1rem; align-items: baseline; padding: .7rem 0; border-top: 1px solid var(--pb-line); }
.pb-facts li:last-child { border-bottom: 1px solid var(--pb-line); }
.pb-facts span { flex: 0 0 9.5rem; font-family: var(--pb-mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; color: var(--pb-muted); }
.pb-facts a { color: var(--pb-cyan); text-decoration: none; }
.pb-facts a:hover { color: var(--pb-lime); }
@media (max-width: 520px) { .pb-facts li { flex-direction: column; gap: .2rem; } .pb-facts span { flex: none; } }

/* aktuality split */
.pb-news { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
@media (max-width: 820px) { .pb-news { grid-template-columns: 1fr; } }
.pb-news__media .pb-frame { aspect-ratio: 1/1; }
@media (max-width: 820px) { .pb-news__media { max-width: 420px; margin-inline: auto; } }
.pb-news__list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 0; }
.pb-news__list li { padding: 1rem 0 1rem 3.2rem; position: relative; border-top: 1px solid var(--pb-line); counter-increment: pbn; }
.pb-news__list li:last-child { border-bottom: 1px solid var(--pb-line); }
.pb-news__list li::before {
  content: "0" counter(pbn); position: absolute; left: 0; top: 1.05rem;
  font-family: var(--pb-mono); font-size: .72rem; letter-spacing: .1em; color: var(--pb-cyan);
}
.pb-news__list { counter-reset: pbn; }
.pb-news__list h3 { font-size: 1.05rem !important; margin: 0 0 .2rem !important; }
.pb-news__list p { font-size: .9rem; color: var(--pb-muted); margin: 0; }

/* prečo my */
.pb-why { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
@media (max-width: 900px) { .pb-why { grid-template-columns: 1fr; } }
.pb-why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.pb-why__grid .pb-holo, .pb-why__grid .pb-frame { aspect-ratio: 3/4; }
.pb-vals { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.pb-vals li { display: flex; gap: 1rem; align-items: flex-start; padding: 1.1rem 0; border-top: 1px solid var(--pb-line); }
.pb-vals li:last-child { border-bottom: 1px solid var(--pb-line); }
.pb-vals__ic { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--pb-line); color: var(--pb-cyan); background: var(--pb-base); }
.pb-vals h3 { font-size: 1.02rem !important; margin: 0 0 .2rem !important; }
.pb-vals p { font-size: .9rem; color: var(--pb-muted); margin: 0; }

/* brand citát */
.pb-sec--quote { background: var(--pb-panel2); position: relative; overflow: hidden; }
.pb-sec--quote::before { content: ""; position: absolute; inset: 0; background: var(--pb-grid); pointer-events: none; }
.pb-quote { position: relative; text-align: center; padding-block: clamp(3.5rem, 8vw, 6rem); max-width: 820px; margin-inline: auto; }
.pb-quote__eye { margin-bottom: 1.1rem; }
.pb-quote__text {
  font-family: var(--pb-display); font-weight: 700; text-transform: uppercase; line-height: 1.02;
  font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3.4rem); margin: 0; text-wrap: balance; color: var(--pb-text);
}
.pb-quote__text b { color: var(--pb-cyan); font-weight: 700; }
.pb-quote__sub { display: block; margin-top: 1.1rem; color: var(--pb-muted); font-size: 1.02rem; }

/* o nás */
.pb-about { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
@media (max-width: 820px) { .pb-about { grid-template-columns: 1fr; } }
.pb-about__media .pb-holo, .pb-about__media .pb-frame { aspect-ratio: 4/3; }
.pb-about p { color: var(--pb-muted); }
.pb-about strong { color: var(--pb-text); }

/* záverečné CTA */
.pb-cta { background: var(--pb-base); border-top: 1px solid var(--pb-line); position: relative; text-align: center; }
.pb-cta::before { content: ""; position: absolute; left: 0; top: -1px; width: 220px; height: 2px; background: linear-gradient(90deg, var(--pb-cyan), var(--pb-lime)); }
.pb-cta__in { max-width: 680px; margin: 0 auto; position: relative; }

/* karty/panely v obsahu */
.pb-card, .pb-feat { background: var(--pb-panel); border: 1px solid var(--pb-line); padding: 1.3rem 1.2rem; }
.pb-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 800px) { .pb-features { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .pb-features { grid-template-columns: 1fr; } }
.pb-feat:hover { border-color: var(--pb-line-hi); }
.pb-feat__ic { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--pb-line); color: var(--pb-cyan); margin-bottom: .8rem; }
.pb-feat h3 { font-size: 1.02rem !important; margin: 0 0 .3rem !important; }
.pb-feat p { font-size: .88rem; color: var(--pb-muted); margin: 0; }

.pb-chip {
  display: inline-flex; align-items: center; gap: .4rem; font-family: var(--pb-mono); font-weight: 500;
  text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; padding: .3em .7em;
  border: 1px solid var(--pb-line); color: var(--pb-muted);
}

/* ---- kontaktný formulár ---- */
.pb-form { display: flex; flex-direction: column; gap: 1rem; max-width: none; }
.pb-form label { display: flex; flex-direction: column; gap: .35rem; font-family: var(--pb-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--pb-muted); }
.pb-form .pb-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pb-form input, .pb-form textarea {
  background: var(--pb-panel) !important; color: var(--pb-text) !important;
  border: 1px solid var(--pb-line) !important; border-radius: var(--pb-r) !important;
  padding: .7rem .8rem; font-family: var(--pb-body, inherit); font-size: 1rem; font-weight: 400; text-transform: none; letter-spacing: 0;
}
.pb-form input:focus, .pb-form textarea:focus { border-color: var(--pb-cyan) !important; outline: none; }
.pb-form button { align-self: flex-start; cursor: pointer; }
.pb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pb-form-ok, .pb-form-err { padding: .9rem 1.1rem; margin-bottom: 1rem; font-weight: 600; border: 1px solid; }
.pb-form-ok { background: rgba(163,230,53,.1); color: var(--pb-lime); border-color: rgba(163,230,53,.4); }
.pb-form-err { background: rgba(255,107,107,.1); color: var(--pb-danger); border-color: rgba(255,107,107,.4); }
@media (max-width: 600px) { .pb-form .pb-form-row { grid-template-columns: 1fr; } }

/* ============================================================
   VYHĽADÁVANIE + MINI-KOŠÍK V HLAVIČKE
   ============================================================ */
.pb-tools { gap: .8rem !important; }
.pb-search, .pb-tools .wc-block-product-search { margin: 0 !important; min-width: 200px; }
.pb-tools .wc-block-product-search .wc-block-product-search__fields,
.pb-search .wc-block-product-search__fields,
.pb-search .wp-block-search__inside-wrapper {
  border: 1px solid var(--pb-line) !important; border-radius: var(--pb-r) !important;
  background: var(--pb-panel) !important; overflow: hidden; display: flex; align-items: center; padding: 2px;
}
.pb-tools .wc-block-product-search input,
.pb-search input.wp-block-search__input {
  background: transparent !important; border: 0 !important; color: var(--pb-text) !important;
  font-family: var(--pb-mono) !important; font-size: .8rem; letter-spacing: .04em;
  padding: .42rem .8rem !important; width: clamp(130px, 15vw, 210px);
}
.pb-tools .wc-block-product-search input::placeholder { color: var(--pb-muted); }
.pb-tools .wc-block-product-search button.wc-block-product-search__button,
.pb-search button.wp-block-search__button {
  border-radius: var(--pb-r) !important; width: 2.1rem; height: 2.1rem; min-width: 2.1rem;
  padding: 0 !important; margin: 0 !important; display: grid; place-items: center;
  background: var(--pb-cyan) !important; color: var(--pb-ink) !important; box-shadow: none !important;
}
.pb-tools .wc-block-product-search button svg { fill: currentColor; }
.pb-tools .wc-block-product-search__label,
.pb-tools .wc-block-product-search label {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.pb-header .wc-block-mini-cart__button {
  display: inline-flex !important; align-items: center; gap: .5rem;
  padding: .42rem .8rem !important; border-radius: var(--pb-r);
  background: var(--pb-panel); border: 1px solid var(--pb-line); color: var(--pb-text) !important;
  font-family: var(--pb-mono); font-size: .78rem; transition: border-color .2s, background .2s;
}
.pb-header .wc-block-mini-cart__button:hover { border-color: var(--pb-cyan); background: var(--pb-panel2); }
.pb-header .wc-block-mini-cart__icon { color: var(--pb-cyan); }
.pb-header .wc-block-mini-cart__amount { color: var(--pb-lime) !important; font-family: var(--pb-display); font-weight: 700; }
.pb-header .wc-block-mini-cart__badge {
  background: var(--pb-lime) !important; color: var(--pb-base) !important;
  font-weight: 700; border-radius: 999px; min-width: 1.15rem; height: 1.15rem; box-shadow: none;
}

/* ============================================================
   BURGER + MOBIL
   ============================================================ */
.pb-burger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 auto; background: var(--pb-panel); border: 1px solid var(--pb-line); border-radius: var(--pb-r); cursor: pointer; color: var(--pb-text); }
.pb-burger span, .pb-burger span::before, .pb-burger span::after { display: block; width: 20px; height: 2px; background: currentColor; transition: transform .25s ease, opacity .2s ease, background .2s; }
.pb-burger span { position: relative; }
.pb-burger span::before, .pb-burger span::after { content: ""; position: absolute; left: 0; }
.pb-burger span::before { top: -6px; } .pb-burger span::after { top: 6px; }
.pb-header.pb-nav-open .pb-burger span { background: transparent; }
.pb-header.pb-nav-open .pb-burger span::before { transform: translateY(6px) rotate(45deg); }
.pb-header.pb-nav-open .pb-burger span::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 980px) {
  .pb-bar__in { padding: .5rem .9rem !important; }
  .pb-header .pb-search, .pb-header .wc-block-product-search { display: none !important; }
  .pokebol-acct span { display: none; }
  .pokebol-acct { gap: 0; }
  .pb-tools { gap: .5rem !important; }
  .pb-burger { display: inline-flex; }

  /* lišta kategórií sa schová pod burger (zavretá nezaberá miesto) */
  .pb-navbar { display: none; border-top: 0; }
  .pb-navbar::after { display: none; }
  .pb-header.pb-nav-open .pb-navbar { display: block; border-top: 1px solid var(--pb-line); }
  .pb-nav {
    flex-direction: column; align-items: stretch; padding: .2rem 1rem .7rem;
    max-height: 78vh; overflow-y: auto;
  }
  .pb-nav__cats, .pb-nav__links { flex-direction: column; align-items: stretch; margin-left: 0; width: 100%; }
  .pb-cat { border-bottom: 1px solid var(--pb-line); }
  .pb-nav__links a { border-bottom: 1px solid var(--pb-line); }
  .pb-cat__link, .pb-nav__links a {
    display: flex; justify-content: space-between; width: 100%;
    padding: .8rem .2rem; font-size: .88rem; border-bottom-color: transparent;
  }
  .pb-cat__link:hover, .pb-nav__links a:hover { border-bottom-color: transparent; }
  /* podkategórie na mobile: vždy rozbalené, odsadené */
  .pb-cat__sub {
    position: static; opacity: 1; visibility: visible; transform: none;
    min-width: 0; border: 0; border-top: 0; box-shadow: none;
    background: transparent; padding: 0 0 .6rem 1rem;
  }
  .pb-cat__all { display: none; }

  .wc-block-catalog-sorting, .woocommerce-ordering { max-width: 100% !important; width: 100% !important; float: none !important; box-sizing: border-box; margin-bottom: .6rem; }
  .wc-block-catalog-sorting select, .woocommerce-ordering select, select.orderby { max-width: 100% !important; width: 100% !important; box-sizing: border-box; }
  .wc-block-product-collection__toolbar { flex-wrap: wrap; gap: .4rem; }
}
@media (max-width: 900px) {
  ul.products li.product h2, li.wc-block-product .wp-block-post-title { font-size: .9rem !important; line-height: 1.25; }
  /* text tlačidla sa musí zmestiť aj v dvojstĺpcovej mriežke */
  ul.products li.product .button,
  li.wc-block-product .wp-block-button__link,
  li.wc-block-product .wc-block-components-product-button a,
  li.wc-block-product .wc-block-components-product-button button {
    font-size: .72rem !important; letter-spacing: .02em !important;
    padding: .6em .4em !important; white-space: normal !important;
    line-height: 1.15; overflow-wrap: anywhere; text-align: center;
  }
  li.wc-block-product { padding: .6rem !important; }
}

/* ============================================================
   ROZLOŽENIE / ČITATEĽNOSŤ
   ============================================================ */
.wp-block-group.alignwide.is-layout-constrained > .woocommerce,
.wp-block-group.alignwide.is-layout-constrained > .pb-tiles,
.wp-block-group.alignwide.is-layout-constrained > .pb-features,
.wp-block-group.alignwide.is-layout-constrained > .wp-block-columns { max-width: none !important; }
.woocommerce .products { width: 100%; }

.wp-block-post-content > p,
.wp-block-post-content > .wp-block-list,
.wp-block-post-content > h2,
.wp-block-post-content > h3,
.wp-block-post-content > h4 { max-width: 74ch; margin-left: 0 !important; margin-right: auto !important; }
.wp-block-post-content > h2 { font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.8rem) !important; line-height: 1.2; margin-top: 2.2rem; }
.wp-block-post-content > h3 { font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.32rem) !important; line-height: 1.25; margin-top: 1.6rem; }
.wp-block-post-content > h4 { font-size: 1.08rem !important; }
.wp-block-post-content img, .entry-content img { border-radius: var(--pb-r); }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
  .wp-block-button__link, .woocommerce a.button, .woocommerce ul.products li.product, .pb-tile img { transition: none !important; }
}

/* poznámka pod hlavičkou sekcie (napr. sekcia zatiaľ bez produktov) */
.pb-note { color: var(--pb-muted); font-size: .95rem; margin: -1rem 0 1.6rem; }

/* ============================================================
   BANNEROVÝ SLIDER (úvodná sekcia)
   ============================================================ */
.pb-slider {
  position: relative; overflow: hidden; background: var(--pb-panel);
  border: 1px solid var(--pb-line);
  max-width: 1240px; margin: 1.5rem auto 0;
}
@media (max-width: 1300px) { .pb-slider { margin-inline: 1.25rem; } }
.pb-slider__track { position: relative; width: 100%; }
.pb-slider__slide {
  position: absolute; inset: 0; opacity: 0; visibility: hidden;
  transition: opacity .5s ease, visibility .5s;
}
.pb-slider__slide.is-active { position: relative; opacity: 1; visibility: visible; }
.pb-slider__slide img,
.pb-slider__slide a { display: block; width: 100%; }
.pb-slider__slide img {
  display: block; width: 100%; height: auto;
  object-fit: contain; border-radius: 0 !important;
  aspect-ratio: 1600 / 640;
}
.pb-slider::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--pb-cyan), var(--pb-lime) 45%, transparent 85%);
}
.pb-slider__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 44px; height: 44px; border: 1px solid var(--pb-line); cursor: pointer;
  background: rgba(11,16,32,.62); color: var(--pb-text);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: background .2s, border-color .2s;
}
.pb-slider__nav:hover { background: rgba(11,16,32,.85); border-color: var(--pb-cyan); color: var(--pb-cyan); }
.pb-slider__nav::before {
  content: ""; position: absolute; top: 50%; left: 50%; width: .6rem; height: .6rem;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
}
.pb-slider__nav--prev { left: .8rem; }
.pb-slider__nav--next { right: .8rem; }
.pb-slider__nav--prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.pb-slider__nav--next::before { transform: translate(-70%, -50%) rotate(-45deg); }
.pb-slider__dots { position: absolute; left: 0; right: 0; bottom: 1rem; z-index: 3; display: flex; justify-content: center; gap: .5rem; }
.pb-slider__dot {
  width: 28px; height: 4px; padding: 0; border: 0; cursor: pointer;
  background: rgba(230,237,250,.35); transition: background .2s, width .2s;
}
.pb-slider__dot.is-active { background: var(--pb-cyan); width: 44px; }
.pb-slider__dot:hover { background: var(--pb-lime); }
@media (max-width: 640px) {
  /* banner zostáva celý, neede sa orezávať */
  .pb-slider__nav { width: 34px; height: 34px; }
  .pb-slider__dots { bottom: .4rem; }
  .pb-slider__dot { width: 20px; }
  .pb-slider__dot.is-active { width: 32px; }
}
@media (prefers-reduced-motion: reduce) { .pb-slider__slide { transition: none; } }

/* hero pod slidrom je nižší a namiesto fotiek nesie prehľad */
.pb-hero--slim .pb-hero__in { padding-block: clamp(2rem, 4vw, 3.2rem) clamp(1.6rem, 3vw, 2.6rem); align-items: center; }
.pb-hero--slim h1 { font-size: clamp(1.9rem, 1.3rem + 2.8vw, 3.4rem); }
.pb-stats--hero {
  grid-template-columns: repeat(2, 1fr); border: 1px solid var(--pb-line); background: rgba(18,26,48,.55);
}
.pb-stats--hero > div { border-right: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line); }
.pb-stats--hero > div:nth-child(2n) { border-right: 0; }
.pb-stats--hero > div:nth-child(n+3) { border-bottom: 0; }

/* ============================================================
   PÄTIČKA — ikonová, menej textových stĺpcov
   ============================================================ */
.pb-foot-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: .6rem; margin: 0 0 2rem; padding: 0; list-style: none; }
@media (max-width: 900px) { .pb-foot-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .pb-foot-cats { grid-template-columns: repeat(2, 1fr); } }
.pb-foot-cats a {
  display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center;
  padding: .95rem .5rem; border: 1px solid var(--pb-line); background: var(--pb-base);
  font-family: var(--pb-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--pb-muted); transition: border-color .2s, color .2s, transform .18s;
}
.pb-foot-cats a:hover { border-color: var(--pb-cyan); color: var(--pb-text); transform: translateY(-2px); }
.pb-foot-cats .pb-ic { color: var(--pb-cyan); }
.pb-foot-cats li:nth-child(1) .pb-ic { color: #F5B93B; }
.pb-foot-cats li:nth-child(2) .pb-ic { color: #FF6B6B; }
.pb-foot-cats li:nth-child(3) .pb-ic { color: #9B8CFF; }
.pb-foot-cats li:nth-child(4) .pb-ic { color: #2DD4F0; }
.pb-foot-cats li:nth-child(5) .pb-ic { color: #A3E635; }
.pb-foot-cats li:nth-child(6) .pb-ic { color: #7DD3C0; }

.pb-foot-contact { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.pb-foot-contact a {
  display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .9rem;
  border: 1px solid var(--pb-line); background: var(--pb-base); color: var(--pb-text);
  font-family: var(--pb-mono); font-size: .78rem; letter-spacing: .04em;
  transition: border-color .2s, color .2s;
}
.pb-foot-contact a:hover { border-color: var(--pb-cyan); color: var(--pb-cyan); }
.pb-foot-contact svg { flex: none; color: var(--pb-cyan); }

.pb-footer .wp-block-columns { margin-bottom: 0; }
.pb-foot-links { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; margin: 0; padding: 0; list-style: none; }
.pb-foot-links a { font-size: .88rem; padding: .3rem 0; display: inline-block; }

/* formulár na odstúpenie od zmluvy */
.pb-ods select { width: 100%; }
.pb-ods__pouc { font-size: .86rem; color: var(--pb-muted); line-height: 1.5; margin: .2rem 0 .4rem; }
.pb-ods__pouc a { color: var(--pb-cyan); }
.pb-form textarea { min-height: 5rem; }

/* dlaždica s grafikou značky */
.pb-tile--foto { min-height: 230px; }
.pb-tile--foto .pb-tile__art {
  background-size: cover; background-position: center; background-repeat: no-repeat;
  transform: scale(1.02);
}
.pb-tile--foto .pb-tile__art::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,16,32,.25) 0%, rgba(11,16,32,.55) 45%, rgba(11,16,32,.93) 100%);
}
.pb-tile--foto:hover .pb-tile__art { transform: scale(1.06); }
.pb-tile--foto .pb-tile__ic { background: rgba(11,16,32,.72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.pb-tile--foto .pb-tile__label b { text-shadow: 0 2px 12px rgba(11,16,32,.9); }
@media (max-width: 520px) { .pb-tile--foto { min-height: 200px; } }


/* ============================================================
   OPRAVY ROZLOŽENIA
   ============================================================ */

/* výpisy končili tesne nad pätičkou */
body.woocommerce-shop main,
body.tax-product_cat main,
body.tax-product_tag main,
body.single-product main,
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main { padding-bottom: clamp(3.5rem, 6vw, 5.5rem); }

/* súvisiace produkty potrebujú vzduch nad sebou */
.wp-block-woocommerce-related-products,
.related.products { margin-top: clamp(2.5rem, 5vw, 4rem); }

/* ---- KOŠÍK A POKLADŇA: vnútorné odsadenie ---- */
.wc-block-cart, .wc-block-checkout {
  padding: clamp(1.25rem, 2.4vw, 2rem) !important;
  box-sizing: border-box;
}
@media (min-width: 900px) {
  .wc-block-components-sidebar-layout.is-large > .wc-block-components-main {
    padding: 0 clamp(1.25rem, 2.5vw, 2.25rem) 0 0 !important;
  }
  .wc-block-components-sidebar-layout.is-large > .wc-block-components-sidebar {
    padding: 1.4rem !important;
  }
}
.wc-block-cart-items th,
.wc-block-cart-items td { padding-block: .9rem !important; }
.wc-block-cart-items__header th { padding-bottom: .7rem !important; }
.wc-block-components-product-name { line-height: 1.3; }
.wc-block-components-totals-wrapper { padding: .85rem 0 !important; }
/* tlačidlo do pokladne nemusí byť cez celú šírku panela */
.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart__submit-button { width: 100%; max-width: 22rem; margin-inline: auto; }

/* ============================================================
   FÓLIA — podpisový prvok
   Karta je to, čo sa tu predáva. Jej pomer, vrecko a lesk fólie
   nesú charakter webu. Lesk je zámerne len na jednom mieste.
   ============================================================ */
@keyframes pb-foil-run { to { background-position: 220% 0; } }

.pb-foil-line {
  height: 2px; border: 0; margin: 0;
  background: var(--pb-foil); background-size: 220% 100%;
  opacity: .9;
}

/* ---- hlavička sekcie: namiesto čísla fóliová hrana ---- */
.pb-head { align-items: flex-end; margin-bottom: 2.4rem; }
.pb-head__l { position: relative; padding-left: 1.1rem; align-items: center; }
.pb-head__l::before {
  content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 3px;
  background: var(--pb-foil); background-size: 100% 220%;
}
.pb-head h2 { letter-spacing: -.005em; }
.pb-head__eye { color: var(--pb-muted); letter-spacing: .18em; }

/* ---- produktová karta ako vrecko v albume ---- */
.woocommerce ul.products li.product,
ul.products li.product,
li.wc-block-product {
  background: linear-gradient(180deg, var(--pb-panel2) 0%, var(--pb-panel) 62%);
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-r);
  overflow: hidden;
  transition: border-color .22s, transform .22s, box-shadow .25s;
}
.woocommerce ul.products li.product::before,
li.wc-block-product::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; width: auto;
  background: var(--pb-foil); background-size: 220% 100%;
  opacity: 0; transition: opacity .25s;
}
.woocommerce ul.products li.product:hover,
li.wc-block-product:hover {
  transform: translateY(-3px);
  border-color: var(--pb-line-hi);
  box-shadow: 0 18px 40px -26px rgba(0,0,0,.9);
}
.woocommerce ul.products li.product:hover::before,
li.wc-block-product:hover::before { opacity: 1; animation: pb-foil-run 2.6s linear infinite; }

/* obrázok v pomere karty, posadený do vrecka */
.woocommerce ul.products li.product img,
ul.products li.product img,
li.wc-block-product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  aspect-ratio: var(--pb-card) !important;
  object-fit: contain !important;
  width: 100% !important; height: auto;
  padding: .7rem !important;
  border-radius: var(--pb-r-sm) !important;
  background: radial-gradient(115% 85% at 50% 0%, #17233D 0%, #0A1120 100%) !important;
  box-shadow: inset 0 1px 0 rgba(233,239,250,.06), inset 0 -20px 34px -24px #000;
}
.pb-card-media { border-radius: var(--pb-r-sm); overflow: hidden; }

li.wc-block-product .wp-block-post-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--pb-display); font-weight: 600; letter-spacing: 0;
  font-size: 1rem !important; min-height: 2.5em;
}
/* cena je údaj, patrí do mono */
.woocommerce ul.products li.product .price,
li.wc-block-product .wp-block-woocommerce-product-price,
li.wc-block-product .wc-block-components-product-price {
  font-family: var(--pb-mono) !important; font-weight: 500;
  font-size: 1.12rem; letter-spacing: -.01em; color: var(--pb-lime) !important;
}

/* ---- dlaždice kategórií: bez štvorcového čipu, s fóliovou hranou ---- */
.pb-tile { border-radius: var(--pb-r); clip-path: none; }
.pb-tile--foto .pb-tile__ic { display: none; }
.pb-tile::before { display: none; }
.pb-tile::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3;
  background: var(--pb-foil); background-size: 220% 100%;
  opacity: .55; transition: opacity .25s;
}
.pb-tile:hover::after { opacity: 1; animation: pb-foil-run 2.6s linear infinite; }
.pb-tile__label b { font-size: clamp(1.25rem, 1rem + .8vw, 1.7rem); letter-spacing: -.01em; }
.pb-tile__label > span { font-family: var(--pb-mono); color: var(--pb-muted); }

/* ---- pás faktov pod hero: bez štvorcov, len deliace vlásočnice ---- */
.pb-stats--hero {
  border: 0; background: transparent;
  grid-template-columns: repeat(2, 1fr); gap: 0;
}
.pb-stats--hero > div {
  border: 0 !important; border-left: 1px solid var(--pb-line) !important;
  padding: .9rem 1.2rem;
}
.pb-stats--hero > div:nth-child(2n+1) { border-left: 0 !important; }
.pb-stats--hero > div:nth-child(n+3) { margin-top: .3rem; }
.pb-stats dt { color: var(--pb-muted); letter-spacing: .16em; }
.pb-stats dd { font-family: var(--pb-display); font-weight: 600; font-size: 1.05rem; }

/* ---- panely dostanú zaoblenie, nie ostré rohy ---- */
.pb-filter, .pb-anketa, .pb-card, .pb-feat,
.wc-block-components-sidebar,
.woocommerce table.shop_table, .wc-block-cart, .wc-block-checkout,
.pokebol-mega__panel, .pb-cat__sub { border-radius: var(--pb-r); }
.pb-chip, .pb-avail { border-radius: 999px; }
.pb-holo, .pb-frame { border-radius: var(--pb-r); clip-path: none; }
.pb-holo::after, .pb-frame::after { background: var(--pb-foil); opacity: .85; }

/* ---- sekcie bez technickej mriežky ---- */
.pb-sec--band::before, .pb-sec--quote::before, .pb-footer::before, .pb-hero::before { display: none; }
.pb-sec--band { background: var(--pb-panel); }
.pb-hero { background: linear-gradient(165deg, var(--pb-panel2) 0%, var(--pb-base) 68%); }
.pb-navbar::after { background: var(--pb-foil); height: 2px; }
.pb-header::after { display: none; }

@media (prefers-reduced-motion: reduce) {
  li.wc-block-product:hover::before,
  .pb-tile:hover::after { animation: none; }
}

/* ---- dorovnanie zvyšných hranatých prvkov ---- */
.pb-foot-cats a, .pb-foot-contact a, .pb-social a,
.pb-vals__ic, .pb-feat__ic, .pb-tile__ic,
.pb-anketa, .pb-anketa__btn, .pb-burger,
.pb-form input, .pb-form textarea, .pb-form select,
.woocommerce .quantity input.qty,
.wc-block-components-radio-control__option { border-radius: var(--pb-r-sm); }
.pb-foot-contact a, .pb-social a { border-radius: 999px; }
.pb-social a { width: 40px; height: 40px; }

/* pätička: dlaždice kategórií nech dýchajú a reagujú */
.pb-foot-cats a { padding: 1.05rem .6rem; transition: border-color .2s, color .2s, transform .18s, background .2s; }
.pb-foot-cats a:hover { background: var(--pb-panel2); }

/* detail produktu: cena ako údaj, tlačidlo nie cez celú šírku */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wp-block-woocommerce-product-price .woocommerce-Price-amount {
  font-family: var(--pb-mono) !important; letter-spacing: -.01em;
}
.single-product .wp-block-add-to-cart-form button.single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button { min-width: 14rem; }

/* ---------------------------------------------------------------------------
 * Pokladňa — oprava „biele na bielom" pri ZVOLENEJ možnosti.
 * WooCommerce blokový checkout dáva vybranej doprave/platbe svetlé pozadie, no v
 * tmavej téme ostal text svetlý → nečitateľné (doprava poslať/vyzdvihnutie aj
 * platba karta/Google Pay). Vynútime tmavé pozadie + svetlý text + cyan rám.
 * ------------------------------------------------------------------------- */
.wc-block-components-radio-control__option {
  background: var(--pb-panel2) !important;
  color: var(--pb-text) !important;
  border: 1px solid var(--pb-line) !important;
}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option .wc-block-components-radio-control__label,
.wc-block-components-radio-control__option .wc-block-components-radio-control__label-group,
.wc-block-components-radio-control__option .wc-block-components-radio-control__description,
.wc-block-components-radio-control__option .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option .wc-block-components-radio-control__secondary-description {
  color: var(--pb-text) !important;
}
/* vybraná (checked) možnosť — čitateľná, cyan zvýraznenie */
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option--checked-option-highlight,
.wc-block-components-radio-control__option:has(input:checked) {
  background: var(--pb-panel) !important;
  border-color: var(--pb-cyan) !important;
  box-shadow: inset 0 0 0 1px var(--pb-cyan) !important;
}
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option--checked *,
.wc-block-components-radio-control__option:has(input:checked),
.wc-block-components-radio-control__option:has(input:checked) .wc-block-components-radio-control__label,
.wc-block-components-radio-control__option:has(input:checked) .wc-block-components-radio-control__secondary-label {
  color: var(--pb-text) !important;
}
/* WC „highlight" prekrytie vybranej možnosti nesmie prekryť text bielou plochou */
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked::after,
.wc-block-components-radio-control__option--checked-option-highlight::after {
  background: transparent !important;
}
