/* Ворсик - стиль за референсом Blume: біла база, фіолетовий акцент,
   пастельні плитки товарів, пілюльні кнопки, великі скруглення. */

:root {
  --vorsyk-accent: #00138B;
  --vorsyk-accent-dark: #2233CC;
  --vorsyk-cream: #FBECC1;
  --vorsyk-ink: #1A1830;
  --vorsyk-muted: #6E6A85;
  --vorsyk-line: #ECEAF2;
  --vorsyk-radius: 16px;
}

body { -webkit-font-smoothing: antialiased; }
html { overflow-x: clip; }

/* Кнопки - пілюлі скрізь, включно з Woo */
.wp-element-button,
.wc-block-components-button,
.woocommerce a.button,
.woocommerce button.button,
.single_add_to_cart_button {
  border-radius: 999px !important;
  background: var(--vorsyk-accent);
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 0.7em 1.6em;
  transition: background .15s ease, transform .1s ease;
}
.wp-element-button:hover,
.wc-block-components-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover {
  background: var(--vorsyk-accent-dark);
  color: #fff;
  transform: translateY(-1px);
}

/* Друга кнопка хіро - контурна пілюля */
.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--vorsyk-accent) !important;
  border: 2px solid var(--vorsyk-accent) !important;
}
.is-style-outline .wp-block-button__link:hover {
  background: var(--vorsyk-accent) !important;
  color: #fff !important;
}

/* Картки товарів: пастельна плитка навколо фото, скруглення */
.wc-block-grid__product img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product img,
ul.wp-block-post-template li img {
  border-radius: var(--vorsyk-radius);
}
/* Рівна сітка карток: однакова висота, кнопка завжди внизу */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 48px 36px !important;
  align-items: stretch;
  margin: 32px 0 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.woocommerce ul.products li.product,
.wc-block-grid__product {
  text-align: center;
  display: flex;
  flex-direction: column;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 10px 10px 14px !important;
  transition: border-color .15s ease, transform .15s ease;
}
.woocommerce ul.products li.product:hover {
  border-color: #EFDBA4;
  transform: translateY(-2px);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0 0 8px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  flex: 0 0 auto;
  padding: 0 4px 2px !important;
  font-size: 0.95rem !important;
  line-height: 1.35;
  min-height: 2.7em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce ul.products li.product .price {
  margin: 0 0 8px !important;
  font-size: 1rem !important;
}
.woocommerce ul.products li.product .button {
  margin-top: auto !important;
  align-self: center;
  padding: 9px 21px;
  font-size: 13px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  color: var(--vorsyk-ink);
  font-weight: 700;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
  color: var(--vorsyk-accent);
  font-weight: 800;
}

/* Акційні ціни за стандартом e-commerce: стара - нейтральна і менша, нова - акцент */
.woocommerce ul.products li.product .price del,
.single-product .price del,
.vorsyk-stickybar-price del,
.price del, del .woocommerce-Price-amount {
  color: #C7C5D1 !important;
  font-weight: 400 !important;
  font-size: 1em;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  margin-right: 10px;
}
.woocommerce ul.products li.product .price ins,
.single-product .price ins,
.vorsyk-stickybar-price ins {
  text-decoration: none;
  color: inherit;
}
ul.products li.product .price ins { color: var(--vorsyk-accent); }

/* Бейдж знижки: у каталозі ховаємо, на картці товару - акуратний червоний біля фото */
.woocommerce ul.products li.product .onsale { display: none !important; }
.single-product .onsale {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 5;
  background: #E24B4A;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 999px;
  line-height: 1.2;
  min-height: 0;
  min-width: 0;
  margin: 0;
}
.single-product .woocommerce-product-gallery { position: relative; }

/* Ніякого зуму по наведенню - лише клік у лайтбокс */
.single-product .zoomImg { display: none !important; }
.single-product .woocommerce-product-gallery__image { cursor: zoom-in; }

/* Ціни й зірочки в акценті там, де доречно */
.woocommerce .star-rating span::before { color: var(--vorsyk-accent); }

/* Шапка: три зони, меню чітко по центру сторінки */
.vorsyk-header { border-bottom: 1px solid var(--vorsyk-line); }
.vorsyk-header-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.vorsyk-header-left { justify-self: start; display: flex; align-items: center; }
.vorsyk-header-logo { height: 84px; width: auto; display: block; }
.vorsyk-header-nav {
  justify-self: center;
  display: flex;
  gap: 28px;
  white-space: nowrap;
}
.vorsyk-header-nav a {
  color: var(--vorsyk-ink);
  font-weight: 600;
  font-size: 1.05rem;
  text-decoration: none;
}
.vorsyk-header-nav a:hover { color: var(--vorsyk-accent); }
.vorsyk-header-right { justify-self: end; display: flex; align-items: center; }
@media (max-width: 900px) {
  .vorsyk-header-grid { grid-template-columns: auto 1fr auto; }
  .vorsyk-header-nav { gap: 14px; font-size: 0.9rem; overflow-x: auto; justify-self: stretch; justify-content: center; }
  .vorsyk-header-nav a { font-size: 0.9rem; }
}

/* Хіро - кобальт бренду, лого + кремові кнопки */
.vorsyk-hero {
  background: linear-gradient(rgba(0,19,139,.60), rgba(0,19,139,.66)), url('hero-flatlay.jpg') center/cover no-repeat;
  border-radius: 20px;
  overflow: hidden;
}
.vorsyk-hero h1, .vorsyk-hero p { color: #FBECC1 !important; text-shadow: 0 2px 12px rgba(0,10,70,.45); }
.vorsyk-hero img.vorsyk-logo { filter: drop-shadow(0 3px 14px rgba(0,10,70,.4)); }
.vorsyk-hero img.vorsyk-logo { max-width: 420px; width: 70%; height: auto; display: block; margin: 0 auto; }
.vorsyk-hero .wp-block-button__link {
  background: #FBECC1 !important;
  color: #00138B !important;
}
.vorsyk-hero .wp-block-button__link:hover { background: #FFF6DA !important; }
.vorsyk-hero .is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #FBECC1 !important;
  border: 2px solid #FBECC1 !important;
}
.vorsyk-hero .is-style-outline .wp-block-button__link:hover {
  background: #FBECC1 !important;
  color: #00138B !important;
}

/* Секція кроків */
.vorsyk-step-circle {
  width: 64px; height: 64px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
  margin: 0 auto 12px;
}

/* Промо-полоска над шапкою (клікабельна) */
.vorsyk-topbar {
  display: block;
  background: var(--vorsyk-cream);
  color: var(--vorsyk-accent);
  text-align: center;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 8px 16px;
  text-decoration: none;
}
.vorsyk-topbar:hover { background: #F6E4AE; color: var(--vorsyk-accent); }

/* Чипи категорій під шапкою (на всіх сторінках) */
.vorsyk-header-chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 16px 2px;
  max-width: 100%;
  overflow-x: auto;
  box-sizing: border-box;
}
@media (max-width: 700px) {
  .vorsyk-header-chips { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; -webkit-overflow-scrolling: touch; }
  .vorsyk-header-chips .vorsyk-chip { flex: 0 0 auto; font-size: 0.85rem; padding: 5px 13px; }
}

/* Переваги - 4 плитки, акцентні, по центру */
.vorsyk-perk {
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 24px 18px;
  text-align: center;
  transition: border-color .15s ease, transform .15s ease;
}
.vorsyk-perk:hover { border-color: var(--vorsyk-accent); transform: translateY(-3px); }
.vorsyk-perk .vorsyk-perk-icon {
  width: 56px; height: 56px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: var(--vorsyk-accent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.vorsyk-perk .vorsyk-perk-icon svg { color: var(--vorsyk-cream) !important; }
.vorsyk-perk h3 { font-size: 1.02rem; font-weight: 800; margin: 0 0 6px; }
.vorsyk-perk p { font-size: 0.88rem; color: var(--vorsyk-muted); margin: 0; line-height: 1.5; }

/* Порівняння: текст зліва + таблиця з галочками справа (референс Wuzzly) */
.vorsyk-compare-wrap {
  display: block;
  text-align: center;
}

.vorsyk-compare-text { text-align: center; }
.vorsyk-compare-text h2 { font-size: 1.8rem; font-weight: 800; line-height: 1.25; margin: 0 0 24px; }
.vorsyk-compare-text p {
  color: var(--vorsyk-muted);
  font-size: 1.02rem;
  line-height: 1.6;
  margin: 0 0 14px;
}
.vorsyk-compare-text p.vorsyk-compare-punch {
  color: var(--vorsyk-accent);
  font-weight: 700;
  font-size: 1.05rem;
  margin-top: 22px;
  padding: 16px 20px;
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
}
.vorsyk-table {
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid var(--vorsyk-cream);
  background: #FFFFFF;
}
.vorsyk-table .vorsyk-table-head {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  background: #FFFCF2;
  border-bottom: 2px solid var(--vorsyk-cream);
}
.vorsyk-table .vorsyk-table-head div {
  padding: 16px 12px;
  font-weight: 800;
  font-size: 0.95rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vorsyk-table .vorsyk-table-head .vorsyk-th-brand span {
  background: var(--vorsyk-accent);
  color: #FFFFFF;
  padding: 5px 16px;
  border-radius: 999px;
}
.vorsyk-table .vorsyk-table-head .vorsyk-th-plain { color: var(--vorsyk-muted); }
.vorsyk-table .vorsyk-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
}
.vorsyk-table .vorsyk-row:nth-child(odd) { background: #FBFAFD; }
.vorsyk-table .vorsyk-row + .vorsyk-row { border-top: 1px solid var(--vorsyk-line); }
.vorsyk-table .vorsyk-row .vorsyk-crit {
  color: var(--vorsyk-ink);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.45;
  padding: 14px 18px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.vorsyk-table .vorsyk-row div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.vorsyk-table .vorsyk-yes span, .vorsyk-table .vorsyk-no span {
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800;
  font-size: 0.95rem;
}
.vorsyk-table .vorsyk-yes span { background: #DFF3EC; color: #0F6E56; }
.vorsyk-table .vorsyk-no span { background: #FBE9E9; color: #C43B3B; }

/* Нитка-роздільник між секціями */
.vorsyk-divider {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 72px auto 8px;
}

/* Відгуки */
.vorsyk-reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 32px;
}
.vorsyk-review {
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 20px;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.vorsyk-review .vorsyk-review-stars { color: #EF9F27; font-size: 0.95rem; letter-spacing: 2px; margin-bottom: 10px; }
.vorsyk-review .vorsyk-review-text { font-size: 0.95rem; line-height: 1.55; color: var(--vorsyk-ink); margin: 0 0 16px; flex: 1; }
.vorsyk-review .vorsyk-review-who { display: flex; align-items: center; gap: 10px; }
.vorsyk-review .vorsyk-review-ava {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 0.85rem;
  color: var(--vorsyk-accent);
  background: #E4E7FA;
  flex-shrink: 0;
}
.vorsyk-review .vorsyk-review-name { font-weight: 700; font-size: 0.9rem; }
.vorsyk-review .vorsyk-review-item { font-size: 0.82rem; color: var(--vorsyk-muted); }

/* Бейджі категорій */
.vorsyk-chip {
  display: inline-block;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 999px;
  padding: 6px 16px;
  font-weight: 600;
  color: var(--vorsyk-ink);
  text-decoration: none;
}
.vorsyk-chip:hover { border-color: var(--vorsyk-accent); color: var(--vorsyk-accent); }

/* Футер у кольорах бренду */
.vorsyk-footer {
  background: var(--vorsyk-accent);
  color: var(--vorsyk-cream);
  margin-top: 72px !important;
}
/* Повітря перед футером на службових сторінках */
.woocommerce-cart main, .woocommerce-checkout main,
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { padding-bottom: 24px; }
.woocommerce-checkout .vorsyk-checkout-main { margin-bottom: 48px !important; }
@media (max-width: 700px) {
  .vorsyk-footer { margin-top: 48px !important; }
}
.vorsyk-footer p { color: var(--vorsyk-cream) !important; }
.vorsyk-footer a { color: #FFFFFF; text-decoration: none; }
.vorsyk-footer a:hover { color: var(--vorsyk-cream); text-decoration: underline; }
.vorsyk-footer .vorsyk-footer-muted { color: #B9C0F0 !important; }

/* Форми охайні */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 12px;
  padding: 10px 14px;
}

/* Картка товару */
.single-product .woocommerce-product-gallery__image img {
  border-radius: 20px;
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
}
.single-product div.product .product_title,
.single-product h1.wp-block-post-title {
  font-size: 1.75rem !important;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 6px !important;
}
.single-product div.product p.price,
.single-product div.product span.price,
.single-product .wc-block-components-product-price {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--vorsyk-accent);
  line-height: 1.1;
  margin: 20px 0 0;
  display: block;
}
.single-product div.product .woocommerce-product-details__short-description {
  color: var(--vorsyk-muted);
  font-size: 1.02rem;
}
.single-product div.product form.cart .quantity .qty {
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 999px;
  padding: 10px 6px;
  text-align: center;
}
.vorsyk-pdp-badges {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  margin: 14px 0 0;
}
.vorsyk-pdp-badges span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #FFFCF2;
  border: 1.5px solid var(--vorsyk-cream);
  color: var(--vorsyk-ink);
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 0.78rem;
  font-weight: 600;
  width: auto;
  flex: 0 0 auto;
}
.vorsyk-pdp-badges svg { width: 14px; height: 14px; }
.vorsyk-pdp-badges svg { color: var(--vorsyk-accent); flex-shrink: 0; }

/* Мета (категорія/теги): компактний рядок без переносів у словах */
.single-product .wp-block-woocommerce-product-meta { margin: 16px 0 0; }
.single-product .product_meta {
  font-size: 0.85rem;
  color: var(--vorsyk-muted);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.single-product .product_meta > span { display: block; word-break: normal; overflow-wrap: normal; }
.single-product .product_meta a { color: var(--vorsyk-muted); text-decoration: underline; }
.single-product .product_meta a:hover { color: var(--vorsyk-accent); }
.single-product .woocommerce-tabs ul.tabs li a { font-weight: 700; }

/* Шкала пухнастості */
.vorsyk-fluff {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: var(--vorsyk-radius);
  padding: 12px 22px;
  margin: 12px 0 0;
}
.vorsyk-fluff-label { font-size: 0.8rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--vorsyk-muted); }
.vorsyk-fluff-stars { color: #EF9F27; letter-spacing: 3px; font-size: 1.05rem; }

/* Зигзаг вигод */
.vorsyk-zigzag { max-width: 1000px; margin: 20px auto 0; display: flex; flex-direction: column; gap: 20px; }
.vorsyk-zz-row {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  border-radius: 24px;
  padding: 28px;
}
/* Фірмові підкладки: крем і світлий кобальт по черзі */
.vorsyk-zz-row:nth-child(1) { background: #EEF1FC; border: 1.5px solid #DDE3F7; }
.vorsyk-zz-row:nth-child(2) { background: #FFFCF2; border: 1.5px solid #EFE3C2; }
/* Мозаїка: у першому ряду медіа праворуч, у другому - ліворуч (незалежно від типу медіа) */
/* Зигзаг: у першому блоку медіа злива, далі чергуємо */
.vorsyk-zz-row:nth-child(1) > img,
.vorsyk-zz-row:nth-child(1) > .vorsyk-zz-video { order: 2; }
.vorsyk-zz-row:nth-child(2) > img,
.vorsyk-zz-row:nth-child(2) > .vorsyk-zz-video { order: 0; }
.vorsyk-zz-row:nth-child(2) > div:not([class]) { order: 1; }
.vorsyk-zz-row img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  border: 1.5px solid var(--vorsyk-cream);
}
.vorsyk-zz-row h3 { font-size: 1.35rem; font-weight: 800; margin: 0 0 10px; }
.vorsyk-zz-row p { color: var(--vorsyk-muted); font-size: 1.02rem; line-height: 1.6; margin: 0; }

/* Опис товару - окрема секція */
.vorsyk-desc { max-width: 1000px; margin: 56px auto 0; }
.vorsyk-desc > h2 { font-size: 1.7rem; font-weight: 800; text-align: center; margin: 0 0 20px; }
.vorsyk-desc-body { background: #F8F7FC; border: 1px solid #ECEBF3; border-radius: 24px; padding: 32px 36px; }
.vorsyk-desc-body > p { color: var(--vorsyk-muted); line-height: 1.75; margin: 0 0 14px; font-size: 1.02rem; }
.vorsyk-desc-body > p:last-child { margin-bottom: 0; }
.vorsyk-desc-body h3 { font-size: 1.15rem; font-weight: 800; margin: 26px 0 12px; }
.vorsyk-desc-body ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px 28px; }
.vorsyk-desc-body ul li { position: relative; padding-left: 20px; color: var(--vorsyk-muted); line-height: 1.5; }
.vorsyk-desc-body ul li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: #00138B; }
.vorsyk-desc-body ul li strong { color: var(--vorsyk-ink, #1A1830); font-weight: 700; }
@media (max-width: 700px) {
  .vorsyk-desc { margin-top: 40px; }
  .vorsyk-desc > h2 { font-size: 1.45rem; }
  .vorsyk-desc-body { padding: 22px; }
  .vorsyk-desc-body ul { grid-template-columns: 1fr; }
}

/* Мінікошик: кнопки в один ряд */
.wc-block-mini-cart__footer-actions { display: flex !important; flex-direction: row !important; gap: 10px !important; }
.wc-block-mini-cart__footer-actions > * { flex: 1 1 0 !important; min-width: 0 !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { width: 100% !important; padding: 12px 8px !important; font-size: 0.88rem !important; line-height: 1.2 !important; text-align: center; }

/* Кошик: апсейл-панель (прогрес до безкоштовної доставки + 1+1) */
.vorsyk-cart-upsell { background: #F8F7FC; border: 1px solid #ECEBF3; border-radius: 14px;
  padding: 14px 16px; margin: 28px 0 0; max-width: 100%; box-sizing: border-box; overflow: hidden; }
.vorsyk-cart-upsell.is-free { background: #E7F7EF; border-color: #BEE7D2; }
.vu-bar-head { font-size: 0.98rem; margin-bottom: 8px; }
.vu-bar-msg b { color: #00138B; }
.vorsyk-cart-upsell.is-free .vu-bar-msg { color: #0F6E56; font-weight: 700; }
.vu-bar { height: 8px; background: #E4E3EF; border-radius: 999px; overflow: hidden; }
.vu-bar-fill { height: 100%; width: 6%; background: linear-gradient(90deg,#00138B,#2233CC); border-radius: 999px; transition: width .45s ease; }
.vorsyk-cart-upsell.is-free .vu-bar-fill { background: #16A96B; }
.vu-title { font-weight: 800; margin: 16px 0 10px; font-size: 1rem; }
.vu-items { display: grid; grid-auto-flow: column; grid-auto-columns: 150px; gap: 12px; overflow-x: auto; padding-bottom: 4px; }
.vu-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ECEBF3; border-radius: 14px; overflow: hidden; text-decoration: none; color: #1A1830; }
.vu-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.vu-name { font-size: 0.8rem; font-weight: 600; padding: 8px 10px 2px; line-height: 1.25; }
.vu-price { font-size: 0.85rem; font-weight: 800; color: #00138B; padding: 0 10px; }
.vu-add { margin: 8px 10px 10px; text-align: center; background: #00138B; color: #fff; border-radius: 999px; padding: 7px; font-size: 0.8rem; font-weight: 700; }
.vu-card:hover .vu-add { background: #2233CC; }
@media (max-width: 700px){ .vu-items { grid-auto-columns: 132px; } }
@media (max-width: 700px) {
  .vorsyk-zz-row { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .vorsyk-zz-row img, .vorsyk-zz-row .vorsyk-zz-video { order: 0; }
}

/* Емоційна секція */
.vorsyk-emotion { text-align: center; max-width: 640px; margin: 64px auto 0; }
.vorsyk-emo-badge {
  display: inline-block;
  background: #DFF3EC;
  color: #0F6E56;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.vorsyk-emotion h2 { font-size: 1.8rem; font-weight: 800; margin: 0 0 14px; }
.vorsyk-emotion p { color: var(--vorsyk-muted); font-size: 1.05rem; line-height: 1.7; }
.vorsyk-emotion mark, .vorsyk-support mark { background: var(--vorsyk-cream); color: var(--vorsyk-ink); padding: 1px 6px; border-radius: 6px; }

/* Дефіцит */
.vorsyk-scarcity {
  max-width: 720px;
  margin: 56px auto 0;
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 22px 26px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.vorsyk-scarcity p { margin: 0; flex: 1; min-width: 240px; color: var(--vorsyk-ink); font-weight: 600; }
.vorsyk-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #E24B4A; margin-right: 6px; }
.vorsyk-scarcity-btn {
  background: var(--vorsyk-accent);
  color: #fff !important;
  font-weight: 700;
  padding: 11px 22px;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
}
.vorsyk-scarcity-btn:hover { background: var(--vorsyk-accent-dark); }

/* Підтримка */
.vorsyk-support { max-width: 640px; margin: 56px auto 0; text-align: center; }
.vorsyk-support-quote { font-size: 1.05rem; line-height: 1.7; color: var(--vorsyk-ink); margin: 0 0 10px; }
.vorsyk-support-name { color: var(--vorsyk-muted); font-weight: 700; margin: 0; }

/* Липка полоса покупки */
.vorsyk-stickybar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #FFFFFF;
  border-top: 1.5px solid var(--vorsyk-line);
  box-shadow: 0 -6px 24px rgba(35, 32, 65, 0.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 24px;
  z-index: 999;
  transform: translateY(110%);
  transition: transform .25s ease;
}
.vorsyk-stickybar.is-visible { transform: translateY(0); }
.vorsyk-stickybar-info { display: flex; flex-direction: column; min-width: 0; }
.vorsyk-stickybar-title { font-weight: 700; font-size: 0.95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vorsyk-stickybar-price { color: var(--vorsyk-accent); font-weight: 800; }
.vorsyk-stickybar-btn {
  background: var(--vorsyk-accent);
  color: #fff;
  border: none;
  font-weight: 700;
  font-size: 1rem;
  padding: 12px 28px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}
.vorsyk-stickybar-btn:hover { background: var(--vorsyk-accent-dark); }

.vorsyk-faq-closer { text-align: center; color: var(--vorsyk-muted); font-size: 0.92rem; margin-top: 14px; }

/* Шапка чекауту: лого + тиха стрічка */
.vorsyk-checkout-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 16px 8px;
}
.vorsyk-checkout-header img { height: 64px; width: auto; }
.vorsyk-checkout-header span { font-size: 0.85rem; color: var(--vorsyk-muted); }

/* FAQ-акордеон */
.vorsyk-pdp-faq { max-width: 760px; margin: 48px auto 0; }
.vorsyk-pdp-faq h2 { font-weight: 800; text-align: center; margin-bottom: 20px; }
.vorsyk-pdp-faq details {
  border: 2px solid var(--vorsyk-cream);
  background: #FFFCF2;
  border-radius: var(--vorsyk-radius);
  padding: 0;
  margin-bottom: 10px;
  overflow: hidden;
}
.vorsyk-pdp-faq summary {
  cursor: pointer;
  font-weight: 700;
  padding: 15px 20px;
  list-style: none;
  position: relative;
}
.vorsyk-pdp-faq summary::-webkit-details-marker { display: none; }
.vorsyk-pdp-faq summary::after {
  content: "+";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vorsyk-accent);
  font-weight: 800;
  font-size: 1.2rem;
}
.vorsyk-pdp-faq details[open] summary::after { content: "−"; }
.vorsyk-pdp-faq details p { padding: 0 20px 16px; margin: 0; color: var(--vorsyk-muted); }

/* Кошик і чекаут: охайні заголовки, кнопки, бейджі */
h1.wp-block-post-title {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.wc-block-components-product-sale-badge {
  background: #E24B4A !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  padding: 4px 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wc-block-cart .wc-block-components-button,
.wc-block-checkout .wc-block-components-button,
.wc-block-mini-cart__footer .wc-block-components-button {
  border-radius: 999px !important;
  background: var(--vorsyk-accent) !important;
  color: #fff !important;
  font-weight: 700;
  border: none !important;
  padding: 14px 24px;
  box-shadow: none !important;
}
.wc-block-cart .wc-block-components-button:hover,
.wc-block-checkout .wc-block-components-button:hover {
  background: var(--vorsyk-accent-dark) !important;
}
.wc-block-components-quantity-selector {
  border: 1.5px solid var(--vorsyk-line) !important;
  border-radius: 999px !important;
  overflow: hidden;
}
.wc-block-components-quantity-selector input { border: none !important; }
.wc-block-cart-item__remove-link { color: var(--vorsyk-muted) !important; font-size: 0.85rem; }
.wc-block-components-product-name { color: var(--vorsyk-ink) !important; font-weight: 700; }
.wp-block-woocommerce-empty-cart-block h2 { font-weight: 800; }

/* Універсальні картки товарів: діють і в «Супутніх товарах» на картці (без .woocommerce-обгортки) */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 48px 36px !important;
  align-items: stretch;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  list-style: none;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
ul.products li.product { max-width: 100%; box-sizing: border-box; }
@media (max-width: 900px) { ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 480px) { ul.products { grid-template-columns: 1fr !important; } }
ul.products li.product {
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 10px 10px 14px !important;
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  position: relative;
  transition: border-color .15s ease, transform .15s ease;
}
ul.products li.product:hover { border-color: #EFDBA4; transform: translateY(-2px); }
ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; }
ul.products li.product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--vorsyk-radius);
  margin: 0 0 8px !important;
}
ul.products li.product .woocommerce-loop-product__title {
  flex: 0 0 auto;
  padding: 0 4px 2px !important;
  font-size: 0.95rem !important;
  font-weight: 700;
  color: var(--vorsyk-ink);
  line-height: 1.35;
  min-height: 2.7em;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.products li.product .price { margin: 0 0 8px !important; font-size: 1rem !important; font-weight: 800; color: var(--vorsyk-accent); }
ul.products li.product .button { margin-top: auto !important; align-self: center; padding: 9px 21px; font-size: 13px; }
ul.products li.product .onsale { display: none !important; }

/* Ціни: нова без жодних підкреслень, стара - тільки блідий сірий перекрес */
.price ins, .price ins .woocommerce-Price-amount {
  text-decoration: none !important;
  border-bottom: none !important;
}
.price del {
  color: #C7C5D1 !important;
  font-weight: 400 !important;
  font-size: 1em !important;
  text-decoration: line-through !important;
  text-decoration-color: #C7C5D1 !important;
  text-decoration-thickness: 1px !important;
  margin-right: 10px;
}
.price del .woocommerce-Price-amount { color: inherit !important; }
ul.products li.product .price ins { color: var(--vorsyk-accent); }

/* Каталог: та сама ширина сітки, що й на головній - картки ідентичні */
.wp-block-woocommerce-product-collection.alignwide,
.wp-block-woocommerce-product-collection {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* «Супутні товари» (блок product-collection): та сама картка, все в одну лінію */
.wp-block-woocommerce-product-collection ul.wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 48px 36px !important;
  align-items: stretch;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  list-style: none;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.wp-block-woocommerce-product-collection li.wc-block-product { max-width: 100%; box-sizing: border-box; }
@media (max-width: 900px) { .wp-block-woocommerce-product-collection ul.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.wp-block-woocommerce-product-collection li.wc-block-product {
  background: #FFFCF2;
  border: 2px solid var(--vorsyk-cream);
  border-radius: var(--vorsyk-radius);
  padding: 10px 10px 14px !important;
  display: flex !important;
  flex-direction: column;
  text-align: center;
  width: 100% !important;
  margin: 0 !important;
  transition: border-color .15s ease, transform .15s ease;
}
.wp-block-woocommerce-product-collection li.wc-block-product:hover { border-color: #EFDBA4; transform: translateY(-2px); }
.single-product .wp-block-woocommerce-product-collection li.wc-block-product:nth-child(n+5) { display: none !important; }
.wp-block-woocommerce-product-collection li.wc-block-product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--vorsyk-radius);
}
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-image { margin: 0 !important; }
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-post-title {
  flex: 0 0 auto;
  font-size: 0.95rem !important;
  font-weight: 700;
  line-height: 1.35;
  margin: 8px 0 4px;
  min-height: 2.7em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-post-title a { color: var(--vorsyk-ink) !important; text-decoration: none; }
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price {
  display: block;
  margin: 0 0 8px !important;
  font-size: 1rem !important;
  font-weight: 800;
  color: var(--vorsyk-accent);
}
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-woocommerce-product-button { margin-top: auto !important; }
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-woocommerce-product-button .button,
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-button {
  border-radius: 999px !important;
  background: var(--vorsyk-accent) !important;
  color: #fff !important;
  font-weight: 700;
  padding: 0.55em 1.4em;
  font-size: 0.9rem;
  border: none !important;
}
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge { display: none !important; }
.wc-block-components-product-price del {
  color: #C7C5D1 !important;
  font-weight: 400 !important;
  font-size: 1em !important;
  text-decoration: line-through !important;
  text-decoration-color: #C7C5D1 !important;
  text-decoration-thickness: 1px !important;
  margin-right: 8px;
}
.wc-block-components-product-price ins { text-decoration: none !important; color: inherit; }

/* Заголовок «Супутні товари» - по центру, як інші секції */
.single-product .related.products > h2,
.single-product .products > h2 {
  text-align: center;
  font-weight: 800;
  margin-top: 48px;
}

/* Чекаут: рядок дефіциту у сводці */
.vorsyk-checkout-scarcity {
  color: #C43B3B;
  font-weight: 700;
  font-size: 0.92rem;
  margin: 4px 0 12px;
}

/* Сторінка «Дякуємо»: технічний email не показуємо */
.woocommerce-order-overview__email { display: none !important; }

/* Чекаут: фірмові дрібниці */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
  accent-color: var(--vorsyk-accent);
  width: 17px; height: 17px;
  vertical-align: -3px;
  margin-right: 8px;
}
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .wc-block-components-notice-banner {
  background: #FFFCF2 !important;
  border: 1.5px solid #EFE3C2 !important;
  border-radius: var(--vorsyk-radius);
  color: var(--vorsyk-ink) !important;
  padding: 14px 20px !important;
  margin: 0 auto 18px;
  max-width: 1240px;
}
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before { color: var(--vorsyk-accent); }
/* Селект «Куди доставити» у стилі полів */
.vorsyk-np-type select, .woocommerce-checkout select {
  width: 100%;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 1rem;
  background: #fff;
  color: var(--vorsyk-ink);
}
.vorsyk-np-type select:focus, .woocommerce-checkout select:focus { border-color: var(--vorsyk-accent); outline: none; }
.woocommerce-checkout #payment { background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 6px;
  padding: 0;
  border: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  background: #fff;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 700; display: inline; }
.woocommerce-checkout #payment div.payment_box {
  background: #FFFCF2 !important;
  border-radius: 10px;
  color: var(--vorsyk-muted);
  font-size: 0.9rem;
  margin-top: 8px;
  padding: 10px 14px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
@media (min-width: 801px) {
  form.woocommerce-checkout #order_review_heading,
  form.woocommerce-checkout #order_review { position: sticky; top: 16px; }
  form.woocommerce-checkout #order_review_heading { top: 0; }
}
.woocommerce-checkout form .form-row label.checkbox { font-weight: 600; display: inline-flex; align-items: center; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { text-align: center; }

/* Класичний чекаут: дві колонки, охайна форма */
form.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  grid-template-areas: "details review" "details review";
  gap: 64px;
  align-items: start;
  margin-top: 24px;
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}
/* Чекаут на всю доступну ширину сторінки */
.woocommerce-checkout .entry-content > .woocommerce,
.woocommerce-checkout .woocommerce {
  max-width: 1240px !important;
  width: 100% !important;
}
.woocommerce-checkout .entry-content { max-width: 1240px !important; }
@media (max-width: 800px) {
  form.woocommerce-checkout { grid-template-columns: 1fr; grid-template-areas: "details" "review"; gap: 24px; }
}
form.woocommerce-checkout #customer_details { grid-area: details; }
form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout #order_review { grid-area: review; }
form.woocommerce-checkout #order_review_heading { align-self: start; }
form.woocommerce-checkout #order_review { margin-top: 46px; }
@media (max-width: 800px) { form.woocommerce-checkout #order_review { margin-top: 0; } }
/* Колонки всередині деталей: поля під одним, «додаткова інформація» знизу */
form.woocommerce-checkout #customer_details > .col-1,
form.woocommerce-checkout #customer_details > .col-2 { width: 100%; float: none; }
form.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-top: 8px; }
form.woocommerce-checkout h3 { font-weight: 800; font-size: 1.15rem; margin: 0 0 12px; }
form.woocommerce-checkout .form-row label { font-weight: 600; font-size: 0.92rem; margin-bottom: 4px; display: block; }
form.woocommerce-checkout .form-row { margin-bottom: 14px; }
form.woocommerce-checkout input.input-text, form.woocommerce-checkout textarea {
  width: 100%;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 1rem;
  background: #fff;
}
form.woocommerce-checkout input.input-text:focus, form.woocommerce-checkout textarea:focus {
  border-color: var(--vorsyk-accent);
  outline: none;
}
#order_review {
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: 16px;
  padding: 18px 20px;
}
#order_review table.shop_table { width: 100%; border: none; margin: 0; table-layout: fixed; }
#order_review table.shop_table td, #order_review table.shop_table th {
  border: none;
  padding: 6px 0;
  line-height: 1.35;
  vertical-align: middle;
}
#order_review table.shop_table th { width: 55%; font-weight: 600; font-size: 0.92rem; }
#order_review table.shop_table td { text-align: right; font-weight: 700; white-space: nowrap; }
#order_review table.shop_table thead th { font-size: 0.78rem; text-transform: uppercase; letter-spacing: .5px; color: var(--vorsyk-muted); padding-bottom: 8px; }
#order_review table.shop_table tfoot tr:last-child th,
#order_review table.shop_table tfoot tr:last-child td { padding-top: 10px; font-size: 1.05rem; }
#order_review .product-name { font-size: 0.92rem; }
#order_review .cart-subtotal th, #order_review .cart-subtotal td { color: var(--vorsyk-muted); font-weight: 600; }
/* Метод доставки: компактно, з переносом */
#order_review .woocommerce-shipping-totals td,
#order_review .woocommerce-shipping-totals .woocommerce-Price-amount {
  font-size: 0.88rem !important;
  font-weight: 600;
  white-space: normal !important;
  line-height: 1.35;
}
#order_review .woocommerce-shipping-totals ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.vorsyk-checkout-scarcity { line-height: 1.35; }
#order_review table.shop_table tfoot tr { border-top: 1px solid #EFE3C2; }
#place_order {
  width: 100%;
  background: var(--vorsyk-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 15px 24px !important;
  margin-top: 14px;
  cursor: pointer;
}
#place_order:hover { background: var(--vorsyk-accent-dark) !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 0.82rem; color: var(--vorsyk-muted); }

/* Сортування каталогу: в межах екрана, пілюлею */
.wc-block-catalog-sorting, .woocommerce-ordering { max-width: 100%; box-sizing: border-box; }
.woocommerce-ordering select.orderby, select.orderby {
  max-width: 100%;
  box-sizing: border-box;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 999px;
  padding: 8px 14px;
  background: #fff;
  font-size: 0.9rem;
}

/* Хлібні крихти: у контейнері, не притиснуті до краю */
.woocommerce-breadcrumb {
  color: var(--vorsyk-muted);
  font-size: .9rem;
  max-width: 1100px;
  margin: 16px auto 0 !important;
  padding: 0 clamp(16px, 4vw, 32px);
}
.woocommerce-breadcrumb a { color: var(--vorsyk-muted); }

/* Липка полоса не перекриває низ сторінки товару */
.single-product { padding-bottom: 84px; }
@media (max-width: 700px) { .single-product { padding-bottom: 100px; } }
.vorsyk-stickybar { padding-left: clamp(16px, 4vw, 32px); padding-right: clamp(16px, 4vw, 32px); }
@media (max-width: 700px) {
  .vorsyk-stickybar { padding: 10px 14px; gap: 10px; }
  .vorsyk-stickybar-title { font-size: 0.82rem; max-width: 42vw; }
  .vorsyk-stickybar-btn { font-size: 0.9rem; padding: 10px 18px; }
}

/* Мобільні дрібниці: нічого не злипається */
@media (max-width: 700px) {
  h1.wp-block-post-title { font-size: 1.45rem !important; }
  .vorsyk-hero { margin-left: 0; margin-right: 0; border-radius: 16px; }
  .vorsyk-pdp-usp { padding: 14px 16px; }
  .vorsyk-fluff { padding: 10px 16px; }
  .vorsyk-designs-row a { width: 64px; height: 64px; }
  .vorsyk-zigzag { gap: 28px; margin-top: 40px; }
  .vorsyk-emotion, .vorsyk-support { margin-top: 40px; }
  .vorsyk-scarcity { flex-direction: column; align-items: flex-start; padding: 18px; }
  .vorsyk-pdp-faq { margin-top: 32px; }
  .vorsyk-reviews { grid-template-columns: 1fr; }
  .vorsyk-compare-wrap { gap: 20px; }
  form.woocommerce-checkout .form-row-first, form.woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; }
  #order_review { padding: 16px; }
  .vorsyk-footer .wp-block-columns { gap: 8px !important; }
}

/* Двоколонкові поля чекаута: грід замість float */
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
  align-items: end;
}
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { width: 100% !important; float: none !important; }
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
@media (max-width: 800px) {
  form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* Картка товару: фото зліва (sticky), купівля справа - як у референсі */
@media (min-width: 901px) {
  .single-product .wp-block-columns:has(.woocommerce-product-gallery) { gap: 32px; align-items: flex-start; }
  .single-product .wp-block-columns:has(.woocommerce-product-gallery) > .wp-block-column:first-child {
    flex: 0 1 50% !important;
    position: sticky;
    top: 24px;
  }
  .single-product .wp-block-columns:has(.woocommerce-product-gallery) > .wp-block-column:last-child {
    flex: 1 1 48% !important;
  }
  .single-product .woocommerce-product-gallery { width: 100% !important; float: none !important; }
  .single-product .woocommerce-product-gallery .flex-viewport { border-radius: 20px; }
  /* Фото на всю ширину колонки - без порожнечі праворуч */
  .single-product .wp-block-woocommerce-product-image-gallery { max-width: 100% !important; width: 100% !important; }
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image { width: 100% !important; }
  .single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
  }
}

/* Права колонка картки: правильний порядок блоків */
.single-product .wp-block-column:has(form.cart) {
  display: flex;
  flex-direction: column;
}
.single-product .wp-block-column:has(form.cart) > .wp-block-post-title { order: 1; }
.single-product .wp-block-column:has(form.cart) > [class*="product-price"],
.single-product .wp-block-column:has(form.cart) > .wp-block-woocommerce-product-price { order: 2; }
.single-product .wp-block-column:has(form.cart) > .wp-block-post-excerpt { order: 2; margin: 2px 0 0; color: var(--vorsyk-muted); font-size: 0.95rem; }
.single-product .wp-block-column:has(form.cart) > .vorsyk-pdp-usp { order: 3; }
.single-product .wp-block-column:has(form.cart) > .vorsyk-fluff { order: 4; }
.single-product .wp-block-column:has(form.cart) > .vorsyk-designs { order: 5; }
.single-product .wp-block-column:has(form.cart) > .vorsyk-limited { order: 6; }
.single-product .wp-block-column:has(form.cart) > [class*="product-price"],
.single-product .wp-block-column:has(form.cart) > .wp-block-woocommerce-product-price { order: 7; margin: 10px 0 0; }
.single-product .wp-block-column:has(form.cart) > .wp-block-add-to-cart-form { order: 8; margin: 16px 0 0 !important; }
.single-product .wp-block-column:has(form.cart) > .wp-block-add-to-cart-form form.cart { margin-bottom: 0 !important; }
.single-product .wp-block-column:has(form.cart) > .vorsyk-pdp-badges { order: 9; }
.single-product .wp-block-column:has(form.cart) > .wp-block-woocommerce-product-meta { order: 10; }
.single-product .wp-block-column:has(form.cart) > * { order: 11; }

/* Інші дизайни: міні-каталог */
.vorsyk-designs { margin: 20px 0 0; }
.vorsyk-designs-label { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--vorsyk-muted); margin-bottom: 10px; }
.vorsyk-designs-row { display: flex; gap: 10px; flex-wrap: wrap; }
.vorsyk-designs-row a {
  display: block;
  width: 76px; height: 76px;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color .15s ease, transform .15s ease;
}
.vorsyk-designs-row a:hover { border-color: var(--vorsyk-accent); transform: translateY(-2px); }
.vorsyk-designs-row img { width: 100%; height: 100%; object-fit: cover; display: block; border: none !important; border-radius: 0 !important; }

/* Залишок на складі: «Залишилось N» - червоним, помітно */
.single-product p.stock.in-stock {
  color: #C43B3B;
  font-weight: 700;
  font-size: 0.92rem;
  margin: 10px 0 0;
}
.single-product p.stock.in-stock::before {
  content: "";
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #E24B4A;
  margin-right: 7px;
}

/* Гачок під сегмент аудиторії */
.vorsyk-segment-hook {
  margin: 10px 0 0 !important;
  padding: 10px 14px;
  background: #F7F9FF;
  border-left: 3px solid var(--vorsyk-accent);
  border-radius: 0 10px 10px 0;
  font-size: 0.93rem;
  line-height: 1.5;
  color: var(--vorsyk-ink);
}

/* Апсел «додати килимок під мишу» */
.vorsyk-upsell {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: var(--vorsyk-radius);
  padding: 10px 14px;
  margin: 0 0 12px;
  cursor: pointer;
  transition: border-color .15s ease;
}
.vorsyk-upsell:hover { border-color: var(--vorsyk-accent); }
.vorsyk-upsell:has(input:checked) { border-color: var(--vorsyk-accent); background: #F7F9FF; }
.vorsyk-upsell input { width: 18px; height: 18px; accent-color: var(--vorsyk-accent); flex-shrink: 0; margin: 0; }
.vorsyk-upsell-img { flex-shrink: 0; line-height: 0; }
.vorsyk-upsell-img img { width: 48px; height: 48px; object-fit: cover; border-radius: 10px; display: block; }
.vorsyk-upsell-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vorsyk-upsell-title { font-weight: 700; font-size: 0.92rem; color: var(--vorsyk-ink); }
.vorsyk-upsell-sub { font-size: 0.82rem; color: var(--vorsyk-muted); }
.vorsyk-upsell-sub .woocommerce-Price-amount { color: var(--vorsyk-accent); font-weight: 700; }

/* Рядки доставки і подарунка під ціною */
.vorsyk-ship-line, .vorsyk-gift-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 8px 0 0 !important;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--vorsyk-ink);
}
.vorsyk-ship-line svg, .vorsyk-gift-line svg { color: var(--vorsyk-accent); flex-shrink: 0; margin-top: 2px; }
.vorsyk-gift-line { color: var(--vorsyk-muted); }

/* Рядок ліміту */
.vorsyk-limited { display: flex; align-items: center; gap: 6px; margin: 20px 0 0 !important; font-size: 0.95rem; font-weight: 600; color: var(--vorsyk-ink); }

/* Кнопки: контурна «в кошик» + залита «купити зараз» */
.single-product form.cart .single_add_to_cart_button {
  background: transparent !important;
  color: var(--vorsyk-accent) !important;
  border: 2px solid var(--vorsyk-accent) !important;
}
.single-product form.cart .single_add_to_cart_button:hover {
  background: var(--vorsyk-accent) !important;
  color: #fff !important;
}
.vorsyk-buynow-btn {
  width: 100%;
  background: var(--vorsyk-accent);
  color: #fff;
  border: none;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 13px 24px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s ease;
}
.vorsyk-buynow-btn:hover { background: var(--vorsyk-accent-dark); }

/* Полка довіри під кнопками: три рівні колонки в кремовій рамці */
.vorsyk-pdp-badges {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 !important;
  align-items: stretch;
  margin: 8px 0 0 !important;
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: var(--vorsyk-radius);
  padding: 12px 8px;
}
.vorsyk-pdp-badges span {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  background: transparent;
  border: none;
  border-right: 1px solid #F0E7D0;
  color: var(--vorsyk-ink);
  padding: 2px 10px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  opacity: 1;
}
.vorsyk-pdp-badges span:last-child { border-right: none; }
.vorsyk-pdp-badges svg { color: var(--vorsyk-accent); width: 22px; height: 22px; flex-shrink: 0; }
@media (max-width: 480px) {
  .vorsyk-pdp-badges { padding: 12px 4px; }
  .vorsyk-pdp-badges span { font-size: 0.72rem; padding: 2px 6px; }
  .vorsyk-pdp-badges svg { width: 19px; height: 19px; }
}

/* Бейдж знижки на фото картки - прибираємо (як у референсі) */
.single-product .onsale,
.single-product .wc-block-components-product-sale-badge { display: none !important; }

/* Порожні мініатюри-фантоми в галереї */
.flex-control-thumbs li:empty { display: none !important; }

/* Стрічка мініатюр галереї */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: 72px !important;
  float: none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 10px;
  cursor: pointer;
  opacity: .7;
  background: #fff;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--vorsyk-accent); }

/* Рамковий блок переваг у правій колонці (як у Wuzzly) */
.vorsyk-pdp-usp {
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: var(--vorsyk-radius);
  padding: 18px 22px;
  margin: 20px 0 0;
}
.vorsyk-pdp-usp p {
  margin: 0;
  padding: 6px 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--vorsyk-ink);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.vorsyk-pdp-usp svg { margin-top: 3px; }
.vorsyk-pdp-usp svg { color: var(--vorsyk-accent); flex-shrink: 0; }

/* Кількість: кнопки плюс-мінус */
.vorsyk-qty {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--vorsyk-line);
  border-radius: 999px;
  overflow: hidden;
}
.vorsyk-qty button {
  border: none !important;
  background: #FFFCF2 !important;
  color: var(--vorsyk-accent) !important;
  font-size: 1.1rem;
  font-weight: 800;
  width: 40px;
  height: 42px;
  cursor: pointer;
  padding: 0 !important;
  border-radius: 0 !important;
}
.vorsyk-qty button:hover { background: var(--vorsyk-cream) !important; }
.vorsyk-qty .qty {
  border: none !important;
  width: 48px;
  height: 42px;
  text-align: center;
  padding: 0 !important;
  border-radius: 0 !important;
  -moz-appearance: textfield;
}
.vorsyk-qty .qty::-webkit-outer-spin-button, .vorsyk-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
/* Кнопки стеком на всю ширину, кількість ховаємо (як у референсі, змінюється в кошику) */
.single-product form.cart { display: flex; flex-direction: column; gap: 12px; }
.single-product form.cart .vorsyk-qty, .single-product form.cart .quantity { display: none !important; }
.single-product form.cart .single_add_to_cart_button {
  width: 100%;
  text-align: center;
  font-size: 1.05rem;
  padding: 15px 24px;
}

/* Мобільна адаптація */
@media (max-width: 700px) {
  .vorsyk-topbar { font-size: 0.72rem; padding: 7px 10px; }
  .vorsyk-header-logo { height: 44px !important; }
  .vorsyk-hero { padding: 36px 18px !important; }
  .vorsyk-hero img.vorsyk-logo { width: 85%; }
  .vorsyk-hero h1 { font-size: 1.3rem !important; }
  .vorsyk-hero p { font-size: 0.95rem !important; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 14px !important; }
  .woocommerce ul.products li.product { padding: 10px 10px 16px !important; }
  .vorsyk-compare-text h2 { font-size: 1.35rem; }
  .vorsyk-table .vorsyk-row .vorsyk-crit { font-size: 0.85rem; padding: 11px 12px; }
  .vorsyk-divider svg { width: 240px; }
  .vorsyk-divider { margin-top: 48px; }
  .single-product form.cart .single_add_to_cart_button { min-width: 100%; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ---- Відео на картці товару: стіл, фактура ворсу, процес ---- */
.vorsyk-video-hero {
  box-sizing: border-box;
  max-width: 1000px;
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  background: #FFFCF2;
  border: 1.5px solid #EFE3C2;
  border-radius: 24px;
  padding: 28px;
}
.vorsyk-vh-media { border-radius: 18px; overflow: hidden; background: #F4F3F7; border: 1.5px solid var(--vorsyk-cream); }
.vorsyk-vh-media video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.vorsyk-vh-badge {
  display: inline-block;
  background: var(--vorsyk-cream);
  color: #854F0B;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
/* Спільний заголовок секції доказів */
.vorsyk-proof-head { max-width: 1000px; margin: 56px auto 0; text-align: center; }
.vorsyk-proof-head h2 { font-size: 1.8rem; font-weight: 800; margin: 0 0 8px; }
.vorsyk-proof-head p { color: var(--vorsyk-muted); font-size: 1.02rem; margin: 0; }

.vorsyk-vh-text h3 { font-size: 1.35rem; font-weight: 800; margin: 0 0 10px; }
.vorsyk-vh-text p { color: var(--vorsyk-muted); font-size: 1.02rem; line-height: 1.6; margin: 0 0 10px; }

/* Відео замість фото в рядку зигзага */
.vorsyk-zz-video {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  border: 1.5px solid var(--vorsyk-cream);
  display: block;
}

/* Секція процесу */
.vorsyk-process { max-width: 1000px; margin: 64px auto 0; }
.vorsyk-proc-head { text-align: center; max-width: 620px; margin: 0 auto 28px; }
.vorsyk-proc-badge {
  display: inline-block;
  background: var(--vorsyk-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.vorsyk-proc-head h2 { font-size: 1.8rem; font-weight: 800; margin: 0 0 10px; }
.vorsyk-proc-head p { color: var(--vorsyk-muted); line-height: 1.7; margin: 0; }
.vorsyk-proc-body { display: grid; grid-template-columns: 1fr 1.05fr; gap: 36px; align-items: center; }
.vorsyk-proc-media { border-radius: 20px; overflow: hidden; border: 2px solid var(--vorsyk-cream); }
.vorsyk-proc-media video { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.vorsyk-proc-steps { counter-reset: proc; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.vorsyk-proc-steps li {
  counter-increment: proc;
  position: relative;
  padding-left: 42px;
  color: var(--vorsyk-muted);
  line-height: 1.6;
}
.vorsyk-proc-steps li::before {
  content: counter(proc);
  position: absolute;
  left: 0;
  top: -2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--vorsyk-cream);
  color: var(--vorsyk-accent);
  font-weight: 800;
  font-size: 14px;
  display: grid;
  place-items: center;
}
.vorsyk-proc-steps b { color: var(--vorsyk-ink); font-weight: 800; }
.vorsyk-proc-note {
  text-align: center;
  color: var(--vorsyk-muted);
  font-size: .95rem;
  margin: 24px auto 0;
  max-width: 620px;
}
@media (max-width: 780px) {
  .vorsyk-video-hero { grid-template-columns: 1fr; gap: 20px; padding: 18px; margin-top: 40px; }
  .vorsyk-proc-body { grid-template-columns: 1fr; gap: 20px; }
  .vorsyk-process { margin-top: 44px; }
  .vorsyk-vh-text h2, .vorsyk-proc-head h2 { font-size: 1.45rem; }
}
@media (prefers-reduced-motion: reduce) {
  .vorsyk-video-hero video, .vorsyk-zz-video, .vorsyk-proc-media video { animation: none; }
}

/* ---- Гарантія замість блоку підтримки ---- */
.vorsyk-guarantee {
  max-width: 900px;
  margin: 48px auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  background: #F8F7FC;
  border: 1px solid #ECEBF3;
  border-radius: 20px;
  padding: 22px 26px;
}
.vorsyk-guar-text { flex: 1; min-width: 260px; }
.vorsyk-guar-text h3 { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; }
.vorsyk-guar-text p { margin: 0; color: var(--vorsyk-muted); line-height: 1.65; }

/* ---- Відгуки: стрічка + маленька кнопка + модалка ---- */
.vorsyk-reviews-section { max-width: 1100px; margin: 56px auto 0; padding: 0 20px; }
.vorsyk-rev-h { text-align: center; font-weight: 800; font-size: 1.5rem; margin: 0 0 4px; }
.vorsyk-rev-cta { text-align: center; margin-top: 22px; }
.vorsyk-rev-btn {
  display: inline-block;
  background: #fff;
  color: var(--vorsyk-accent);
  border: 1px solid #D9D7E6;
  border-radius: 999px;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
}
.vorsyk-rev-btn:hover { border-color: var(--vorsyk-accent); background: #F4F3FB; }

.vorsyk-rev-modal {
  border: 0;
  border-radius: 18px;
  padding: 26px 26px 22px;
  width: min(520px, calc(100vw - 32px));
  box-shadow: 0 20px 60px rgba(20, 20, 60, .22);
  position: relative;
}
.vorsyk-rev-modal::backdrop { background: rgba(20, 20, 60, .45); }
.vorsyk-rev-close {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  background: none;
  font-size: 18px;
  line-height: 1;
  color: #8E8AA6;
  cursor: pointer;
  padding: 4px;
}
.vorsyk-rev-modal .comment-reply-title,
.vorsyk-rev-modal .comment-notes,
.vorsyk-rev-modal .comment-form-cookies-consent,
.vorsyk-rev-modal #comments > h2,
.vorsyk-rev-modal .woocommerce-noreviews { display: none; }
.vorsyk-rev-modal p { margin: 0 0 12px; }
.vorsyk-rev-modal label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 5px; }
.vorsyk-rev-modal textarea,
.vorsyk-rev-modal input[type=text],
.vorsyk-rev-modal input[type=email] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #D9D7E6;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 15px;
  background: #fff;
  font-family: inherit;
}
.vorsyk-rev-modal textarea { min-height: 110px; resize: vertical; }
.vorsyk-rev-modal .stars a, .vorsyk-rev-modal .star-rating { color: #F4B400; }
.vorsyk-rev-modal .form-submit input,
.vorsyk-rev-modal button[type=submit] {
  background: var(--vorsyk-accent);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 11px 26px;
  font-weight: 700;
  cursor: pointer;
  font-size: 15px;
  width: 100%;
}
.vorsyk-rev-modal .commentlist { display: none; }
@media (max-width: 700px) {
  .vorsyk-guarantee { margin-top: 36px; padding: 18px; }
  .vorsyk-reviews-section { margin-top: 40px; }
}

/* ---------- 404 ---------- */
.vorsyk-404 { margin: 28px 0 8px; }
.vorsyk-404-panel {
  background: var(--vorsyk-accent);
  border-radius: var(--vorsyk-radius);
  padding: 56px 32px 48px;
  text-align: center;
  color: #fff;
}
.vorsyk-404-num {
  font-size: clamp(72px, 14vw, 148px);
  line-height: .9;
  font-weight: 800;
  color: var(--vorsyk-cream);
  margin: 0 0 18px;
  letter-spacing: -.02em;
}
.vorsyk-404-star { font-size: .58em; vertical-align: .18em; margin: 0 .04em; }
.vorsyk-404-h {
  font-size: clamp(22px, 3.4vw, 32px);
  line-height: 1.25;
  margin: 0 0 12px;
  color: #fff;
}
.vorsyk-404-sub {
  font-size: 16px;
  line-height: 1.55;
  margin: 0 auto 28px;
  max-width: 34em;
  color: rgba(255,255,255,.82);
}
.vorsyk-404-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border-radius: 999px;
  padding: 5px 5px 5px 20px;
  max-width: 470px;
  margin: 0 auto 24px;
}
.vorsyk-404-search input[type=search] {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 15px;
  color: var(--vorsyk-ink);
}
.vorsyk-404-search button {
  flex: 0 0 auto;
  border: 0;
  cursor: pointer;
  background: var(--vorsyk-accent);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 999px;
  padding: 11px 22px;
}
.vorsyk-404-search button:hover { background: var(--vorsyk-accent-dark); }
.vorsyk-404-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.vorsyk-404-btn {
  display: inline-block;
  border-radius: 999px;
  padding: 12px 26px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.vorsyk-404-btn.is-cream { background: var(--vorsyk-cream); color: var(--vorsyk-accent); }
.vorsyk-404-btn.is-cream:hover { background: #fff; }
.vorsyk-404-btn.is-ghost { border: 1.5px solid rgba(255,255,255,.55); color: #fff; }
.vorsyk-404-btn.is-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.vorsyk-404-lbl {
  text-align: center;
  margin: 34px 0 14px;
  font-size: 13px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--vorsyk-muted);
}
.vorsyk-404-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.vorsyk-404-more {
  text-align: center;
  margin: 52px 0 22px;
}
@media (max-width: 600px) {
  .vorsyk-404-panel { padding: 40px 18px 36px; }
  .vorsyk-404-search { padding: 4px 4px 4px 16px; }
  .vorsyk-404-search button { padding: 10px 16px; font-size: 14px; }
  .vorsyk-404-btn { padding: 11px 20px; font-size: 14px; }
}

/* ---------- Кнопка «весь каталог» під сіткою на головній ---------- */
.vorsyk-catalog-cta { display: flex; justify-content: center; margin: 32px 0 8px; }
.vorsyk-catalog-btn {
  display: inline-block;
  background: transparent;
  color: var(--vorsyk-accent);
  border: 2px solid var(--vorsyk-accent);
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  border-radius: 999px;
  padding: 12px 32px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.vorsyk-catalog-btn:hover {
  background: var(--vorsyk-accent);
  color: #fff;
  transform: translateY(-1px);
}

/* ---------- Картки: менше повітря, щільніша сітка ---------- */
.woocommerce ul.products { gap: 28px 22px !important; }
.woocommerce ul.products li.product { padding: 8px 8px 12px !important; }
.woocommerce ul.products li.product img { margin: 0 0 6px !important; }

/* ---------- Кошик: кнопки в один ряд ---------- */
.wc-block-cart__submit-container,
.wp-block-woocommerce-cart .wc-block-cart__submit {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
}
.wc-block-cart__submit-container > *,
.wc-block-cart__submit-button { width: auto !important; flex: 1 1 auto; }
.wc-block-cart__submit-button { white-space: nowrap; }

/* ---------- Мобільна версія ---------- */
@media (max-width: 700px) {
  /* Товари по два в ряд */
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 12px !important; }
  .woocommerce ul.products li.product { padding: 6px 6px 10px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.82rem !important;
    min-height: 2.5em;
    padding: 0 2px 2px !important;
  }
  .woocommerce ul.products li.product .price { font-size: 0.86rem !important; }
  .woocommerce ul.products li.product .button { padding: 9px 12px !important; font-size: 0.8rem !important; }

  /* Допродаж у кошику - компактний */
  .vorsyk-cart-upsell { padding: 12px 12px 14px; border-radius: 12px; }
  .vorsyk-cart-upsell .vu-title { font-size: 0.92rem; margin: 12px 0 8px; }
}

/* ---------- «Скоро буде в наявності» (Аксесуари) ---------- */
.vorsyk-soon {
  background: #EFEAFB;
  border-radius: var(--vorsyk-radius);
  padding: 44px 28px;
  text-align: center;
  margin: 24px 0 8px;
}
.vorsyk-soon-ico { font-size: 40px; line-height: 1; display: block; margin-bottom: 14px; }
.vorsyk-soon h2 { margin: 0 0 10px; font-size: clamp(20px, 3vw, 26px); color: var(--vorsyk-accent); }
.vorsyk-soon p { margin: 0 auto; max-width: 40em; color: var(--vorsyk-ink); line-height: 1.6; }
.vorsyk-soon-btn {
  display: inline-block; margin-top: 20px;
  background: var(--vorsyk-accent); color: #fff; text-decoration: none;
  font-weight: 700; border-radius: 999px; padding: 12px 28px;
}
.vorsyk-soon-btn:hover { background: var(--vorsyk-accent-dark); color: #fff; }
@media (max-width: 600px) { .vorsyk-soon { padding: 32px 18px; } }

/* Кнопка оформлення - один рядок */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { white-space: nowrap; }

/* ---------- Картки каталогу: прибираємо службовий сміттєвий розмітковий «повітря» ----------
   Woo-цикл лишає порожні <br> (по 27px) і <p> з полями 20px між фото, назвою і ціною.
   Через них картки різної висоти і фото «провалюється» вниз. */
.woocommerce ul.products li.product br { display: none !important; }
.woocommerce ul.products li.product p { margin: 0 !important; }
.woocommerce ul.products li.product p:empty { display: none !important; }
.woocommerce ul.products li.product .onsale { margin: 0 !important; }
/* Кнопка притиснута до низу картки, ціна над нею */
.woocommerce ul.products li.product .button { margin-top: 10px !important; }

/* ---------- Шапка каталогу: лічильник + сортування ---------- */
.wc-block-product-results-count,
.woocommerce-result-count { margin: 0 !important; color: var(--vorsyk-muted); font-size: 14px; }
.wc-block-catalog-sorting select,
.woocommerce-ordering select {
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--vorsyk-line);
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 14px;
  background: #fff;
  color: var(--vorsyk-ink);
}
@media (max-width: 782px) {
  /* Лічильник і сортування - у стовпчик, без виїзду за екран */
  .wc-block-product-results-count,
  .woocommerce-result-count { width: 100%; margin-bottom: 10px !important; }
  .wc-block-catalog-sorting,
  .woocommerce-ordering { width: 100%; }
  .wc-block-catalog-sorting select,
  .woocommerce-ordering select { width: 100%; }

  /* Фільтри компактніші, щоб товари були ближче до верху */
  .vorsyk-header-chips { gap: 8px; }
  .vorsyk-chip { padding: 8px 14px; font-size: 14px; }
}
/* Картки-блоки Woo: та сама пластика, що й у шорткоду */
li.wc-block-product { text-align: center; }
li.wc-block-product .wc-block-components-product-image { margin-bottom: 8px; }
li.wc-block-product .wp-block-post-title { min-height: 2.6em; }

/* Мобільна шапка: однакові відступи від країв екрана */
@media (max-width: 900px) {
  .vorsyk-header > .wp-block-group__inner-container,
  .vorsyk-header { padding-left: 16px !important; padding-right: 16px !important; }
  .vorsyk-header-grid { width: 100%; }
}

/* ---------- Порівняння: заголовок зверху, таблиця під ним, обидва по центру ---------- */
.vorsyk-compare-title {
  font-size: clamp(22px, 3.4vw, 30px);
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  margin: 0 auto 26px;
  max-width: 20em;
}
.vorsyk-compare-wrap .vorsyk-table {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}
@media (max-width: 600px) {
  .vorsyk-compare-title { margin-bottom: 18px; }
}

/* ---------- FAQ на головній (та сама пластика, що й на картці товару) ---------- */
.vorsyk-home-faq { max-width: 820px; margin: 0 auto; }
.vorsyk-home-faq h2 {
  text-align: center;
  font-size: clamp(22px, 3.4vw, 30px);
  font-weight: 800;
  margin: 0 0 24px;
}
.vorsyk-home-faq details {
  border: 1px solid var(--vorsyk-line);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  background: #fff;
}
.vorsyk-home-faq details[open] { border-color: #D8D5E4; background: #FBFAFF; }
.vorsyk-home-faq summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 1rem;
  color: var(--vorsyk-ink);
  list-style: none;
  position: relative;
  padding-right: 28px;
}
.vorsyk-home-faq summary::-webkit-details-marker { display: none; }
.vorsyk-home-faq summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 700;
  color: var(--vorsyk-accent);
  line-height: 1;
}
.vorsyk-home-faq details[open] summary::after { content: "–"; }
.vorsyk-home-faq details p {
  margin: 10px 0 0;
  line-height: 1.6;
  color: var(--vorsyk-muted);
  font-size: 0.95rem;
}
.vorsyk-home-faq .vorsyk-faq-closer {
  text-align: center;
  margin: 22px 0 0;
  color: var(--vorsyk-muted);
  font-size: 0.95rem;
}
@media (max-width: 600px) {
  .vorsyk-home-faq details { padding: 12px 14px; }
  .vorsyk-home-faq summary { font-size: 0.95rem; }
}

/* ═══════ Картка товару: єдиний ритм «медіа зверху - текст під ним по центру» ═══════ */
.vorsyk-video-hero,
.vorsyk-zz-row,
.vorsyk-proc-body { display: block !important; }

/* Медіа однакової ширини і по центру в усіх блоках */
.vorsyk-video-hero .vorsyk-vh-media,
.vorsyk-zz-row > img,
.vorsyk-zz-row > .vorsyk-zz-video,
.vorsyk-proc-body .vorsyk-proc-media {
  display: block;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  order: initial !important;
}

/* Текст під медіа, по центру, з комфортною довжиною рядка */
.vorsyk-video-hero .vorsyk-vh-text,
.vorsyk-zz-row > div:not([class]) {
  order: initial !important;
  text-align: center;
  max-width: 46em;
  margin: 20px auto 0;
}
.vorsyk-video-hero .vorsyk-vh-text h3,
.vorsyk-zz-row h3 { text-align: center; }
.vorsyk-zz-row { text-align: center; }

/* Секція процесу: відео зверху, кроки під ним.
   Сам нумерований список лишаємо ліворуч - по центру цифри читаються погано. */
.vorsyk-proc-body .vorsyk-proc-media { margin-bottom: 24px; }
.vorsyk-proc-steps { max-width: 46em; margin: 0 auto; text-align: left; }

@media (max-width: 700px) {
  .vorsyk-video-hero .vorsyk-vh-media,
  .vorsyk-zz-row > img,
  .vorsyk-zz-row > .vorsyk-zz-video,
  .vorsyk-proc-body .vorsyk-proc-media { max-width: 100%; }
  .vorsyk-video-hero,
  .vorsyk-zz-row { padding: 18px; }
}

/* ═══════ «Нічим не ризикуєш»: прозорий фон, кнопка обведенням ═══════ */
.vorsyk-guarantee {
  background: transparent;
  border: 1.5px solid var(--vorsyk-line);
}
.vorsyk-scarcity-btn {
  background: transparent;
  color: var(--vorsyk-accent) !important;
  border: 2px solid var(--vorsyk-accent);
}
.vorsyk-scarcity-btn:hover {
  background: var(--vorsyk-accent);
  color: #fff !important;
}
@media (max-width: 700px) {
  .vorsyk-guarantee { display: block; text-align: center; padding: 22px 18px; }
  .vorsyk-guarantee .vorsyk-scarcity-btn {
    display: block;
    width: 100%;
    margin-top: 18px;
    box-sizing: border-box;
  }
}

/* ═══════ Відгуки на картці товару = як на головній ═══════ */
.vorsyk-rev-h { font-size: clamp(22px, 3.4vw, 30px); margin: 0 0 6px; }
.vorsyk-rev-sub { text-align: center; color: var(--vorsyk-muted); margin: 0 0 4px; }
.vorsyk-rev-cta { margin-top: 26px; }
