/* =====================================================================
   V4 → dev2: карточка товара, вариант 2 (12.10.2026, после замечаний владельца «как старая»).
   Вид — V4 components/storefront/product-v4 (product-v4.module.css), основа — настоящая карточка CS-Cart:
   всё содержимое боевого сайта остаётся, меняются оформление и порядок блоков.
   Добавленные в шаблон элементы (blocks/product_templates/default_template.tpl): .v4p-pills, .v4p-lead, .v4p-brew.
   ===================================================================== */
.ty-page-controller-products.ty-page-mode-view > .container { max-width: 1240px !important; }
.ty-product-detail { color: #1E2421; font-family: var(--v4-sans); }

/* крошки — мелко, как в V4 */
.ty-page-controller-products.ty-page-mode-view .ty-breadcrumbs { font-size: 13px !important; text-transform: none !important; padding: 18px 0 !important; border: 0 !important; }
.ty-page-controller-products.ty-page-mode-view .ty-breadcrumbs * { text-transform: none !important; letter-spacing: 0 !important; }
.ty-page-controller-products.ty-page-mode-view .ty-breadcrumbs-delimiter__bottom { display: none; }

/* ---------- верх: фото + покупка ---------- */
@media (min-width: 1007px) and (orientation: landscape) {
  .ty-product-detail > .clearfix > form { display: grid !important; grid-template-columns: 1.05fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
  .ty-product-detail > .clearfix > form::before, .ty-product-detail > .clearfix > form::after { display: none !important; }
  .ty-product-detail .image-wrap { float: none !important; width: auto !important; margin: 0 !important; position: sticky; top: calc(var(--v4-sticky-h, 0px) + 16px); }
  .ty-product-detail .product-info { float: none !important; width: auto !important; margin: 0 !important; padding-top: 6px; }
  .ty-product-detail .image-border { display: grid !important; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; width: auto !important; }
  .ty-product-detail .ty-product-thumbnails { order: -1; width: 84px !important; max-height: 620px; overflow-y: auto; scrollbar-width: none; margin: 0 !important; }
  .ty-product-detail .ty-product-thumbnails .cm-image-gallery { max-width: none !important; display: flex; flex-direction: column; gap: 10px; }
}
.ty-product-detail .ty-product-img {
  background: #F4F6F5; border-radius: 28px; overflow: hidden; display: grid !important; place-items: center;
  width: auto !important; max-width: none !important; aspect-ratio: 1 / .95; margin: 0 !important;
}
.ty-product-detail .ty-product-img img { width: 78%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 20px 40px rgba(60, 30, 90, .18); }
.ty-product-detail .ty-product-thumbnails__item {
  display: block !important; width: 84px !important; height: 84px !important; margin: 0 !important; padding: 0 !important;
  border-radius: 12px; overflow: hidden; border: 2px solid transparent !important; background: #F4F6F5; box-sizing: border-box;
}
.ty-product-detail .ty-product-thumbnails__item.active { border-color: #0F5C45 !important; }
.ty-product-detail .ty-product-thumbnails__item img { width: 100% !important; height: 100% !important; object-fit: cover; }

/* метки, название, краткое описание */
.ty-product-detail .v4p-pills { display: flex; gap: 8px; margin: 0 0 14px; }
.ty-product-detail .v4p-pill, .ty-product-detail .v4p-pillDark { border-radius: 999px; padding: 5px 13px; font-size: 12px; font-weight: 700; line-height: 1.4; }
.ty-product-detail .v4p-pill { border: 1.5px solid #008556; color: #008556 !important; }
.ty-product-detail .v4p-pillDark { background: #0F5C45; color: #fff !important; border-radius: 4px; }
.ty-product-detail .et-title .ty-mainbox-title {
  font: 600 clamp(34px, 4.2vw, 54px)/1.04 var(--v4-cond), sans-serif !important; letter-spacing: -.015em !important;
  color: #1E2421 !important; text-transform: none !important; margin: 0 0 10px !important; text-align: left !important;
}
.ty-product-detail .v4p-lead { font-size: 18px !important; line-height: 1.45; color: #555 !important; margin: 0 0 12px !important; }

/* правая колонка: порядок как в V4 — оценка/страна → фасовки → цена → кнопка с сердечком → заваривание */
.ty-product-detail .product-info-container {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 52px; column-gap: 12px;
  grid-template-areas: "rating sku" "opts opts" "price price" "btns wish" "brew brew" "rest rest";
}
.ty-product-detail .product-info-container > * { grid-area: rest; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.ty-product-detail .product-info-container > .sku-options-wrapper { grid-area: sku; justify-self: end; white-space: nowrap; }
.ty-product-detail .product-info-container > .et-rating-brand { grid-area: rating; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding-bottom: 18px; border-bottom: 1px solid #E3E7E5; margin-bottom: 18px !important; }
.ty-product-detail .et-rating-brand::before, .ty-product-detail .et-rating-brand::after { display: none !important; }
.ty-product-detail .et-rating-brand > * { float: none !important; margin: 0 !important; }
.ty-product-detail .product-info-container > .options-wrapper, .ty-product-detail .product-info-container > .ty-product-group-links { grid-area: opts; }
.ty-product-detail .product-info-container > .price-wrap { grid-area: price; display: flex !important; align-items: baseline; gap: 10px; margin: 18px 0 12px !important; padding: 0 !important; border: 0 !important; }
.ty-product-detail .product-info-container > .vs-product-wishlist { grid-area: wish; align-self: center; }
.ty-product-detail .product-info-container > .buttons-container { grid-area: btns; }
.ty-product-detail .product-info-container > .v4p-brew { grid-area: brew; }
.ty-product-detail .product-info-container > .vs-product-price-mobile { display: none !important; }

.ty-product-detail .et-brand .ty-features-list { font-size: 14px; color: #0F5C45 !important; }
.ty-product-detail .et-brand .ty-features-list::before { content: "📍 "; }
.ty-product-detail .ty-product-rating [class*="ty-icon-star"] { color: #f2a900 !important; font-size: 14px !important; }
.ty-product-detail .vs-sku, .ty-product-detail .vs-sku * { color: #6E746F !important; font-size: 12px !important; }
.ty-product-detail .ty-qty-in-stock { color: #0F5C45 !important; font-weight: 600; font-size: 14px; }
.ty-product-detail .et-price .ty-price-num { font: 500 34px/1 var(--v4-sans), sans-serif !important; color: #1E2421 !important; }

/* фасовки — плитками; подпись формы — таблеткой */
.ty-product-detail .ty-product-options__item { margin: 0 !important; padding: 0 !important; width: auto !important; }
.ty-product-detail .ty-product-options__item > label, .ty-product-detail .ty-product-options__item .ty-control-group__label { display: none !important; }
.ty-product-detail .ty-product-options__group-links {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin: 0 !important;
}
.ty-product-detail .ty-product-options__group-links .ty-product-group-link {
  grid-column: 1 / -1; justify-self: start; display: inline-flex !important; align-items: center; gap: 6px; margin: 0 0 6px !important;
  background: #f3f3f3; border-radius: 999px; padding: 8px 18px !important; font-weight: 700; font-size: 14px; color: #0F5C45 !important;
  width: auto !important; height: auto !important; line-height: 1.2 !important;
}
.ty-product-detail .ty-product-options__group-links .ty-product-group-link::before {
  position: static !important; display: inline-block !important; flex: 0 0 auto; margin: 0 !important; transform: none !important; width: 16px !important; height: 16px !important; background-size: contain !important;
}
.ty-product-detail .ty-product-options__button {
  position: relative; display: flex !important; flex-direction: column; gap: 2px; align-items: flex-start; text-align: left;
  width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 12px 14px !important;
  border: 1.5px solid #E3E7E5 !important; background: #fff !important; border-radius: 14px !important;
  font: 700 15px var(--v4-sans), sans-serif !important; color: #1E2421 !important; cursor: pointer; box-shadow: none !important;
}
.ty-product-detail .ty-product-options__button .ty-variant-price { font-size: 13px !important; font-weight: 400 !important; color: #666 !important; }
.ty-product-detail .ty-product-options__button.product_variant_button_selected { border-color: #0F5C45 !important; background: #F4F6F5 !important; }
.ty-product-detail .ty-product-options__button.product_variant_button_selected::after { content: "✓"; position: absolute; right: 12px; top: 12px; color: #008556; font-weight: 700; }

/* количество и «в корзину»: одна кнопка (как решает тема), одна надпись, без значка */

.ty-product-detail .et-button-container { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; }
.ty-product-detail .et-button-container::before, .ty-product-detail .et-button-container::after { display: none !important; }
.ty-product-detail .et-button-container .ty-product-qty { float: none !important; margin: 0 !important; }
.ty-product-detail .et-qty .ty-value-changer {
  display: flex !important; align-items: center; height: 52px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important;
  overflow: hidden; background: #fff; width: auto !important; padding: 0 6px !important;
}
.ty-product-detail .et-qty .ty-value-changer__input { border: 0 !important; height: 48px !important; width: 40px !important; text-align: center; font-weight: 700; background: none !important; }
.ty-product-detail .et-button-container .ty-product-add-button { flex: 1 1 auto; float: none !important; margin: 0 !important; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 52px !important; padding: 0 20px !important;
  background: #008556 !important; border: 0 !important; border-radius: 6px !important; color: #fff !important;
  font-size: 0 !important; line-height: 1 !important; text-transform: none !important; box-shadow: none !important;
}
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn > * { display: none !important; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn::after { content: var(--v4t-atc, "Add to cart"); font: 500 16px var(--v4-sans), sans-serif; color: #fff; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn:hover { background: #006B45 !important; }
.ty-product-detail .vs-product-wishlist .vs-add-to-wishlist {
  display: flex !important; align-items: center; justify-content: center; width: 52px !important; height: 52px !important;
  border: 1.5px solid #9fb3ae !important; border-radius: 50% !important; background: #fff !important; margin: 0 !important;
}

/* полоса заваривания */
.ty-product-detail .v4p-brew { display: flex; gap: 16px; align-items: center; margin-top: 16px; background: #F4F6F5; border-radius: 14px; padding: 12px 16px; font-size: 14px; color: #1E2421 !important; text-decoration: none !important; }
.ty-product-detail .v4p-brewLink { margin-left: auto; font-weight: 700; color: #0F5C45 !important; }

/* ---------- низ: всё содержимое боевой карточки, в раскладке V4 ---------- */
/* заголовки разделов — маленькой зелёной подписью, как «kicker» в V4 */
.ty-product-detail .tab-list-title {
  border: 0 !important; background: none !important; padding: 56px 0 0 !important; margin: 0 0 8px !important; text-align: left !important;
  font: 700 12px var(--v4-sans), sans-serif !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #008556 !important;
}
.ty-product-detail .tab-list-title.ty-description-header__mobile { display: none !important; }
.ty-product-detail .ty-wysiwyg-content { font-size: 16px; line-height: 1.7; }

/* происхождение и кофеин — плашка */
.ty-product-detail .ty-product-extra-block { background: #F4F6F5; border-radius: 28px; padding: 28px 32px !important; border: 0 !important; }
.ty-product-detail .ty-product-extra-block__title, .ty-product-detail .ty-product-extra-block__header {
  font: 600 18px var(--v4-cond), sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: #1E2421 !important;
}

/* описание: слева крупный заголовок V4, справа весь текст боевого сайта */
@media (min-width: 1007px) and (orientation: landscape) {
  .ty-product-detail .content-description { display: grid !important; grid-template-columns: 1fr 1.3fr; gap: 48px; align-items: start; }
  .ty-product-detail .content-description::before {
    content: var(--v4t-love, "A little more\A to fall in love with."); white-space: pre-line;
    font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--v4-cond), sans-serif; letter-spacing: -.015em; color: #0F5C45;
    position: sticky; top: calc(var(--v4-sticky-h, 0px) + 24px);
  }
}
.ty-product-detail .content-description table, .ty-product-detail .content-description td { border: 0 !important; padding: 0 !important; width: 100% !important; }
.ty-product-detail .content-description h2, .ty-product-detail .content-description h3, .ty-product-detail .content-description strong {
  font-family: var(--v4-sans) !important; text-transform: none !important;
}
.ty-product-detail .content-description h2, .ty-product-detail .content-description h3 {
  font: 600 22px/1.2 var(--v4-cond), sans-serif !important; color: #1E2421 !important; margin: 24px 0 10px !important;
}
.ty-product-detail .content-description p, .ty-product-detail .content-description li { font-size: 17px !important; line-height: 1.7 !important; }

/* как заваривать — четыре карточки-шага, как «ready, set, steep.» */
.ty-product-detail .ty-product-extra-block__preparation { background: none !important; padding: 0 !important; margin-top: 56px; }
.ty-product-detail .ty-product-extra-block__preparation .ty-product-extra-block__header {
  font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--v4-cond), sans-serif !important; color: #0F5C45 !important; text-align: left !important; margin: 0 0 18px !important;
}
.ty-product-detail .ty-product-extra-block__preparation > div:not([class]) { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ty-product-detail .ty-product-extra-block__col-4 {
  float: none !important; width: auto !important; margin: 0 !important; background: #F4F6F5; border-radius: 22px; padding: 22px !important;
  display: flex !important; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left !important;
}
.ty-product-detail .ty-product-extra-block__col-4 .ty-product-extra-block__col_icon img { width: 44px !important; height: 44px !important; }
.ty-product-detail .ty-product-extra-block__col-4 .ty-product-extra-block__col_value {
  font: 600 24px/1.1 var(--v4-cond), sans-serif !important; color: #0F5C45 !important; text-transform: none !important;
}

/* детали — плашка в две колонки, как «the finer details» */
.ty-product-detail .content-features {
  background: #F4F6F5; border-radius: 28px; padding: clamp(24px, 4vw, 48px) !important;
  display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 0 40px;
}
.ty-product-detail .content-features .ty-product-feature { display: grid; grid-template-columns: 160px 1fr; padding: 14px 0; border-bottom: 1px solid #E3E7E5; margin: 0 !important; }
.ty-product-detail .content-features .ty-product-feature__label { font-weight: 700; width: auto !important; float: none !important; }
.ty-product-detail .content-features .ty-product-feature__value { width: auto !important; float: none !important; margin: 0 !important; }

/* отзывы — карточки в три колонки, как «kind words» */
.ty-product-detail .posts-table { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ty-product-detail .posts-table > .posts-more__button, .ty-product-detail .posts-table > .posts-more__content { grid-column: 1 / -1; }
.ty-product-detail .posts-table .r-post {
  float: none !important; width: auto !important; margin: 0 !important; background: #F4F6F5; border-radius: 22px; padding: 22px !important; border: 0 !important;
  display: flex !important; flex-direction: column; gap: 10px; box-sizing: border-box;
}
.ty-product-detail .posts-table .r-post > * { float: none !important; width: auto !important; }
.ty-product-detail .posts-table [class*="ty-icon-star"] { color: #f2a900 !important; }

@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .ty-product-img { border-radius: 20px; }
  .ty-product-detail .content-features { grid-template-columns: 1fr; }
  .ty-product-detail .content-features .ty-product-feature { grid-template-columns: 1fr 1fr; }
  .ty-product-detail .ty-product-extra-block__preparation > div:not([class]) { grid-template-columns: 1fr 1fr; }
  .ty-product-detail .posts-table { grid-template-columns: 1fr; }
}

/* одна кнопка «в корзину»: правило «спрятать» — сильнее правила «показать» выше */
@media (min-width: 1007px) and (orientation: landscape) { .ty-product-detail .et-button-container .ty-product-add-button .ty-btn.hidden-desktop { display: none !important; } }
@media (max-width: 1006px), (orientation: portrait) { .ty-product-detail .et-button-container .ty-product-add-button .ty-btn.visible-desktop { display: none !important; } }
.ty-product-detail .et-button-container { padding: 0 !important; }
/* «Loose Tea»: значок темы — картинкой фона; ставим его слева от текста */
.ty-product-detail .ty-product-options__group-links .ty-product-group-link { padding-left: 40px !important; background-position: 16px center !important; background-size: 18px 18px !important; background-repeat: no-repeat !important; background-color: #f3f3f3 !important; }
/* лишние линии темы вокруг фасовок и цены */
.ty-product-detail .product-info-container > .options-wrapper, .ty-product-detail .product-info-container > .price-wrap, .ty-product-detail .product-info-container > .buttons-container { border: 0 !important; box-shadow: none !important; }
.ty-product-detail .product-info-container > .options-wrapper::before, .ty-product-detail .product-info-container > .options-wrapper::after, .ty-product-detail .product-info-container > .price-wrap::before, .ty-product-detail .product-info-container > .price-wrap::after { display: none !important; }
.ty-product-detail .vs-opt-block { border-top: 0 !important; padding-top: 0 !important; }
.ty-product-detail .product-info-container { grid-template-areas: "sku sku" "rating rating" "opts opts" "price price" "btns wish" "brew brew" "rest rest" !important; }
.ty-product-detail .product-info-container > .sku-options-wrapper { justify-self: start; margin-bottom: 8px !important; }
/* детали — без зелёного фона строк старой темы; описание и отзывы — текст по левому краю */
.ty-product-detail .content-features .ty-product-feature, .ty-product-detail .content-features .ty-product-feature * { background: none !important; }
.ty-product-detail .content-description, .ty-product-detail .content-description *, .ty-product-detail .posts-table .r-message, .ty-product-detail .posts-table .r-message * { text-align: left !important; }

/* ---------- телефон и планшет (12.10.2026): тема поднимает название над фото абсолютным положением с местом
   фиксированной высоты — метки и описание V4 туда не влезали и наезжали на фото. Ставим всё в обычный поток:
   метки + название + описание → фото → покупка. ---------- */
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail > .clearfix > form { display: flex !important; flex-direction: column; padding-top: 0 !important; }
  .ty-product-detail > .clearfix > form > .product-info { display: contents !important; }
  .ty-product-detail .et-title { position: static !important; order: -1; height: auto !important; margin: 0 0 14px !important; }
  .ty-product-detail .et-title .ty-mainbox-title { height: auto !important; overflow: visible !important; font-size: 32px !important; white-space: normal !important; }
  .ty-product-detail .image-wrap { order: 0; margin: 0 0 18px !important; }
  .ty-product-detail .product-info-container { order: 1; }
  .ty-product-detail .vs-sku, .ty-product-detail .vs-stock { position: static !important; }
  .ty-product-detail .et-rating-brand { height: auto !important; overflow: visible !important; }
  .ty-product-detail .image-border { display: flex !important; flex-direction: column; gap: 12px; }
  .ty-product-detail .ty-product-thumbnails { order: 2; width: auto !important; position: static !important; }
  .ty-product-detail .ty-product-thumbnails .cm-image-gallery { display: flex !important; flex-direction: row !important; gap: 10px; max-width: none !important; }
  .ty-product-detail .ty-product-thumbnails__item { width: 72px !important; height: 72px !important; }
  .ty-product-detail .v4p-brew { flex-wrap: wrap; }
}
@media (max-width: 1006px), (orientation: portrait) {
  /* место, которое тема резервировала сверху под поднятое название, больше не нужно */
  .ty-product-detail.product-main-info { padding-top: 0 !important; }
  .ty-product-detail .ty-product-rating-mobile { position: static !important; }
  .ty-product-detail .v4p-lead { text-align: left !important; }
  .ty-product-detail .et-qty .ty-value-changer { width: 96px !important; justify-content: space-between; padding: 0 10px !important; }
  .ty-product-detail .et-qty .ty-value-changer__buttons { display: flex !important; flex-direction: column; }
  .ty-product-detail .et-button-container, .ty-product-detail .et-button-container .ty-product-add-button, .ty-product-detail .et-button-container .ty-btn { min-width: 0 !important; }
}
/* сердечко — своя ячейка справа от кнопки, без смещений темы; миниатюры на телефоне — квадраты */
.ty-product-detail .product-info-container > .vs-product-wishlist { position: static !important; width: 52px !important; height: 52px; margin: 0 !important; justify-self: end; }
.ty-product-detail .vs-product-wishlist > span, .ty-product-detail .vs-product-wishlist .vs-add-to-wishlist { position: static !important; top: auto !important; right: auto !important; left: auto !important; transform: none !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .ty-product-thumbnails__item { flex: 0 0 72px !important; min-width: 72px !important; }
  .ty-product-detail .ty-product-thumbnails__item img { width: 72px !important; height: 72px !important; max-width: none !important; }
}
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn, .ty-product-detail .et-qty .ty-value-changer { box-sizing: border-box !important; }

/* ===== 12.10.2026, замечания владельца: переключатель форм, карточка фактов, «the finer details» ===== */
/* переключатель «Loose Tea | Tea Bags», как groupTabs в V4 */
.ty-product-detail .v4p-groupTabs { display: inline-flex; background: #f3f3f3; border-radius: 999px; padding: 4px; margin: 0 0 16px; gap: 2px; }
.ty-product-detail .v4p-group {
  border: 0 !important; background: none !important; border-radius: 999px !important; padding: 8px 18px !important; cursor: pointer;
  font: 700 14px var(--v4-sans), sans-serif !important; color: #1E2421 !important; box-shadow: none !important; height: auto !important; text-transform: none !important;
}
.ty-product-detail .v4p-group.v4p-groupOn { background: #fff !important; color: #0F5C45 !important; box-shadow: 0 1px 4px rgba(0,0,0,.1) !important; }
.ty-product-detail .v4p-sizeHead { display: flex; justify-content: space-between; margin: 0 0 10px; font-weight: 700; font-size: 15px; }
.ty-product-detail .ty-product-options__group-links.v4p-off { display: none !important; }
/* при переключателе подпись формы над плитками не нужна; у одной формы — тоже (её показывает метка над названием) */
.ty-product-detail .ty-product-options__group-links .ty-product-group-link { display: none !important; }

/* старый блок «происхождение / значки / кофеин» — содержимое показано в карточке фактов */
.ty-product-detail .content-origin_caffeine.v4p-moved { display: none !important; }
.ty-product-detail .product-info-container > .v4p-facts { grid-area: facts; }
.ty-product-detail .product-info-container { grid-template-areas: "sku sku" "rating rating" "opts opts" "price price" "btns wish" "brew brew" "facts facts" "rest rest" !important; }
.ty-product-detail .v4p-facts { margin-top: 12px; border: 1px solid #E3E7E5; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; }
.ty-product-detail .v4p-factsRow { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ty-product-detail .v4p-fact { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ty-product-detail .v4p-fact small { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #6E746F !important; margin-bottom: 2px; }
.ty-product-detail .v4p-fact strong { font-weight: 600; font-size: 15px; color: #1E2421; }
.ty-product-detail .v4p-fact strong span { font-weight: 400; color: #6E746F; }
.ty-product-detail .v4p-map { width: 36px; height: 36px; object-fit: contain; flex: 0 0 36px; }
.ty-product-detail .v4p-meter { display: flex; gap: 3px; margin-top: 6px; }
.ty-product-detail .v4p-meter i { width: 18px; height: 5px; border-radius: 3px; background: #E3E7E5; }
.ty-product-detail .v4p-meter i.v4p-on { background: #008556; }
.ty-product-detail .v4p-chips { display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid #E3E7E5; padding-top: 12px; }
.ty-product-detail .v4p-chip { display: inline-flex; align-items: center; gap: 6px; background: #F4F6F5; border-radius: 999px; padding: 4px 10px 4px 4px; font-size: 12px; font-weight: 600; color: #1E2421; }
.ty-product-detail .v4p-chip img { width: 22px; height: 22px; object-fit: contain; }

/* «the finer details», как в V4 */
.ty-product-detail .v4p-details { background: #F4F6F5; border-radius: 28px; padding: clamp(24px, 4vw, 48px); margin: 48px 0 0; }
.ty-product-detail .v4p-kicker { font: 700 12px var(--v4-sans), sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: #008556 !important; margin: 0 0 8px !important; }
.ty-product-detail .v4p-serif { font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--v4-cond), sans-serif !important; color: #0F5C45 !important; margin: 0 0 18px !important; text-transform: none !important; letter-spacing: -.015em !important; }
.ty-product-detail .v4p-details dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; margin: 0; }
.ty-product-detail .v4p-details dl > div { display: grid; grid-template-columns: 160px 1fr; padding: 14px 0; border-bottom: 1px solid #E3E7E5; }
.ty-product-detail .v4p-details dt { font-weight: 700; }
.ty-product-detail .v4p-details dd { margin: 0; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .v4p-details dl { grid-template-columns: 1fr; }
  .ty-product-detail .v4p-details dl > div { grid-template-columns: 130px 1fr; }
  .ty-product-detail .v4p-factsRow { grid-template-columns: 1fr; }
}

/* ===== правая колонка точно как в V4 (12.10.2026, снимок владельца) ===== */
.ty-product-detail .product-info-container > .sku-options-wrapper,
.ty-product-detail .et-rating-brand .vs-stock,
.ty-product-detail .et-rating-brand .et-brand,
.ty-product-detail .et-rating-brand #attributes_head,
.ty-product-detail .et-rating-brand .ty-product-rating-mobile { display: none !important; }
.ty-product-detail .product-info-container > .et-rating-brand { border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; }
.ty-product-detail .v4p-rating { font-size: 14px; color: #1E2421 !important; text-decoration: none !important; }
.ty-product-detail .v4p-rating span { color: #f2a900; letter-spacing: 2px; }
.ty-product-detail .product-info-container > .v4p-factsLine { grid-area: facts; }
.ty-product-detail .product-info-container { grid-template-areas: "rating rating" "facts facts" "opts opts" "price price" "btns wish" "brew brew" "rest rest" !important; }
.ty-product-detail .v4p-factsLine { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; font-size: 14px; color: #0F5C45; padding: 0 0 18px; margin: 0 0 18px; border-bottom: 1px solid #E3E7E5; }
.ty-product-detail .v4p-f { color: #0F5C45 !important; }
.ty-product-detail .v4p-badges { display: inline-flex; gap: 4px; margin-left: auto; }
.ty-product-detail .v4p-badges img { width: 26px; height: 26px; object-fit: contain; }
.ty-product-detail .v4p-facts { display: none !important; }
.ty-product-detail .v4p-sizeHead::after { content: var(--v4t-pouch, "Resealable pouch"); font-weight: 400; font-size: 12px; color: #777; }
.ty-product-detail .product-info-container > .price-wrap { margin: 18px 0 12px !important; }
.ty-product-detail .v4p-priceNote { font-size: 12px; color: #777 !important; }
/* «− 1 +» в строку */
.ty-product-detail .et-qty .ty-value-changer { width: auto !important; padding: 0 4px !important; }
.ty-product-detail .et-qty .ty-value-changer__buttons { display: contents !important; }
.ty-product-detail .et-qty .ty-value-changer__decrease { order: -1; }
.ty-product-detail .et-qty .ty-value-changer__input { order: 0; }
.ty-product-detail .et-qty .ty-value-changer__increase { order: 1; }
.ty-product-detail .et-qty .ty-value-changer__increase, .ty-product-detail .et-qty .ty-value-changer__decrease {
  display: grid !important; place-items: center; width: 40px !important; height: 48px !important; font-size: 20px !important; line-height: 1 !important;
  color: #1E2421 !important; text-decoration: none !important; position: static !important; border: 0 !important; background: none !important;
}
/* «Add to bag — цена» */
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn::after { content: attr(data-v4label) !important; font-weight: 600 !important; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn:not([data-v4label])::after { content: var(--v4t-bag, "Add to bag") !important; }
/* на фото — подпись вида и строка, под фото — подпись, как в V4 */
.ty-product-detail .ty-product-img { position: relative; }
.ty-product-detail .v4p-stageTag { position: absolute; top: 18px; left: 18px; background: #fff; border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; letter-spacing: .06em; z-index: 2; }
.ty-product-detail .v4p-stageNote { position: absolute; bottom: 18px; left: 22px; font-size: 11px; letter-spacing: .14em; color: #6b6480; z-index: 2; }
.ty-product-detail .v4p-galleryNote { text-align: center; font-size: 12px; color: #777 !important; margin: 12px 0 0 98px; }
/* ссылки-якоря под верхом */
.ty-product-detail .v4p-anchors { display: flex; justify-content: center; gap: 36px; border-top: 1px solid #E3E7E5; border-bottom: 1px solid #E3E7E5; margin: 48px 0 0; padding: 16px 0; font-size: 15px; }
.ty-product-detail .v4p-anchors a { color: #1E2421 !important; text-decoration: none !important; }
.ty-product-detail .v4p-anchors a:hover { color: #008556 !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .v4p-galleryNote { margin-left: 0; }
  .ty-product-detail .v4p-anchors { gap: 16px; font-size: 13px; flex-wrap: wrap; }
  .ty-product-detail .v4p-badges { margin-left: 0; }
}
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .ty-product-options__group-links, .ty-product-detail .vs-opt-block, .ty-product-detail .ty-product-options, .ty-product-detail .ty-product-options__item { width: 100% !important; max-width: none !important; }
  .ty-product-detail .ty-product-options__group-links { grid-template-columns: 1fr 1fr !important; }
  .ty-product-detail .et-button-container .ty-product-add-button .ty-btn::after { content: var(--v4t-bag, "Add to bag") !important; }
}
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .et-qty .ty-value-changer__increase, .ty-product-detail .et-qty .ty-value-changer__decrease { width: 30px !important; }
  .ty-product-detail .et-qty .ty-value-changer__input { width: 30px !important; }
  .ty-product-detail .et-button-container .ty-product-add-button .ty-btn { white-space: nowrap; padding: 0 12px !important; }
}
.ty-product-detail .et-qty .ty-value-changer__input { padding: 0 !important; min-width: 30px !important; box-sizing: border-box !important; font-size: 16px !important; color: #1E2421 !important; }

/* фото товара — чисто, без окантовки (12.10.2026, слово владельца): без серой подложки, круга, тени и надписей поверх */
.ty-product-detail .ty-product-img { background: none !important; border-radius: 0 !important; aspect-ratio: auto !important; overflow: visible !important; }
.ty-product-detail .ty-product-img img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0 !important; box-shadow: none !important; }
.ty-product-detail .v4p-stageTag, .ty-product-detail .v4p-stageNote { display: none !important; }
.ty-product-detail .ty-product-img .ty-product-additional-group-info { display: none !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .ty-product-thumbnails { width: 100% !important; height: auto !important; max-height: none !important; }
  .ty-product-detail .ty-product-thumbnails .cm-image-gallery { width: 100% !important; height: auto !important; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: none; }
  .ty-product-detail .image-wrap, .ty-product-detail .image-border { height: auto !important; }
}

/* ===== нет в наличии (12.10.2026, замечание владельца): «Out of stock» + «Notify me», как в V4 ===== */
/* надпись «Add to bag» — только у настоящей кнопки корзины (data-v4label ставит v4-tovar.js) */
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn:not([data-v4label]) { font-size: 15px !important; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn:not([data-v4label])::after { content: none !important; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn:not([data-v4label]) > * { display: revert !important; }
/* без наличия количество не выводится — пустой блок не занимает место */
.ty-product-detail .et-button-container .ty-product-qty:not(:has(input)) { display: none !important; }
.ty-product-detail .ty-product-add-button:has(.ty-product-out-of-stock) { display: flex !important; flex-direction: column; gap: 12px; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn.ty-product-out-of-stock {
  background: #e6e9e8 !important; color: #6b7472 !important; border: 0 !important; border-radius: 6px !important; height: 52px !important;
  cursor: default; opacity: 1 !important; font-weight: 600 !important;
}
.ty-product-detail .bis-wrapper-cnt { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; background: #F4F6F5; border-radius: 18px; padding: 16px 18px; width: 100% !important; box-sizing: border-box; }
.ty-product-detail .bis-wrapper-cnt::before { content: var(--v4t-notify, "Notify me when it’s back"); flex: 1 1 100%; font: 700 15px var(--v4-sans), sans-serif; color: #0F5C45; }
.ty-product-detail .bis-wrapper { float: none !important; flex: 1 1 0; order: 0; width: auto !important; min-width: 0; margin: 0 !important; }
.ty-product-detail .bis-wrapper .ty-product-notify-email { display: block !important; width: 100% !important; margin: 0 !important; }
.ty-product-detail .ty-product-notify-email__input { width: 100% !important; height: 46px !important; border: 1.5px solid #dcdcdc !important; border-radius: 999px !important; padding: 0 16px !important; font-size: 15px !important; box-sizing: border-box !important; background: #fff !important; }
.ty-product-detail .ty-product-notify-input-btn-desktop { order: 1; flex: 0 0 auto; margin: 0 !important; }
.ty-product-detail .et-button-container .ty-product-add-button .bis-wrapper-cnt .ty-btn {
  width: auto !important; height: 46px !important; padding: 0 20px !important; border-radius: 999px !important; background: #008556 !important; color: #fff !important;
  border: 0 !important; font: 600 15px var(--v4-sans), sans-serif !important; text-transform: none !important; display: inline-flex !important; align-items: center;
}
.ty-product-detail .ty-product-notify-input-btn-mobile { display: none !important; }
.ty-product-detail .bis-wrapper-cnt { border: 0 !important; box-shadow: none !important; background-image: none !important; position: relative; }
.ty-product-detail .bis-wrapper-cnt::after { display: none !important; content: none !important; }
.ty-product-detail .ty-product-add-button:has(.ty-product-out-of-stock)::before, .ty-product-detail .ty-product-add-button:has(.ty-product-out-of-stock)::after { display: none !important; content: none !important; }
.ty-product-detail .ty-product-add-button:has(.ty-product-out-of-stock) { background: none !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .bis-wrapper-cnt { flex-direction: column; align-items: stretch; }
  .ty-product-detail .bis-wrapper, .ty-product-detail .ty-product-notify-input-btn-desktop { flex: 1 1 auto; width: 100% !important; }
  .ty-product-detail .et-button-container .ty-product-add-button .bis-wrapper-cnt .ty-btn { width: 100% !important; justify-content: center; }
}
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .bis-wrapper-cnt, .ty-product-detail .bis-wrapper-cnt * { position: static !important; transform: none !important; }
  .ty-product-detail .bis-wrapper-cnt { display: flex !important; gap: 10px; padding: 14px !important; height: auto !important; }
  .ty-product-detail .bis-wrapper-cnt::before { display: block !important; }
  .ty-product-detail .ty-product-notify-input-btn-desktop { display: inline-flex !important; margin: 0 !important; }
  .ty-product-detail .ty-product-notify-email__input { height: 46px !important; }
}

/* плавность при выборе фасовки (12.10.2026) */
.ty-product-detail .product-info-container > .options-wrapper,
.ty-product-detail .product-info-container > .price-wrap,
.ty-product-detail .product-info-container > .buttons-container { transition: opacity .2s ease; }
.ty-product-detail .product-info-container.v4p-loading > .price-wrap,
.ty-product-detail .product-info-container.v4p-loading > .buttons-container { opacity: .45; }
.ty-product-detail .ty-product-options__button { transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important; }
.ty-product-detail .v4p-group { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important; }
@keyframes v4pFadeIn { from { opacity: .45; } to { opacity: 1; } }
.ty-product-detail .product-info-container > .price-wrap, .ty-product-detail .product-info-container > .buttons-container { animation: v4pFadeIn .25s ease; }

/* отзывы: первые три, остальные по кнопке */
.ty-product-detail .posts-table > .r-post.v4p-hiddenReview { display: none !important; }
.ty-product-detail .v4p-moreReviews {
  grid-column: 1 / -1; justify-self: center; margin: 8px 0 0; background: #fff; color: #0F5C45; border: 1.5px solid #0F5C45;
  border-radius: 999px; padding: 10px 24px; font: 600 15px var(--v4-sans), sans-serif; cursor: pointer;
}
.ty-product-detail .v4p-moreReviews:hover { background: #F4F6F5; }

/* 17.10.2026, слово владельца: плашку формы («Loose leaf») не показываем — остаётся только вид чая;
   значки свойств (без кофеина, без молочного, KSR…) крупнее — их почти не было видно */
.ty-product-detail .v4p-pills .v4p-pill { display: none !important; }
.ty-product-detail .v4p-badges { gap: 8px; }
.ty-product-detail .v4p-badges img { width: 40px; height: 40px; }
@media (max-width: 640px) { .ty-product-detail .v4p-badges img { width: 34px; height: 34px; } }
/* сердце «в избранное»: ровно 52×52, как кнопка, — раньше 54px с рамкой и вылезало за край колонки (17.10.2026, замечание владельца) */
.ty-product-detail .vs-product-wishlist > span { display: block !important; width: 52px !important; height: 52px !important; }
.ty-product-detail .vs-product-wishlist .vs-add-to-wishlist { box-sizing: border-box !important; width: 52px !important; height: 52px !important; min-width: 0 !important; margin: 0 !important; }

/* переключатель Loose Tea / Tea Bags крупнее и со значками — листик и пакетик, как в плитках каталога (17.10.2026, слово владельца);
   значок — маской, цвет берёт от текста кнопки */
.ty-product-detail .v4p-groupTabs { padding: 5px; gap: 4px; margin-bottom: 18px; }
.ty-product-detail .v4p-group { display: inline-flex !important; align-items: center; gap: 8px; padding: 11px 22px !important; font-size: 15.5px !important; }
.ty-product-detail .v4p-group.ty-product-group-link-0::before, .ty-product-detail .v4p-group.ty-product-group-link-1::before {
  content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor;
  -webkit-mask: var(--v4p-ico) center / contain no-repeat; mask: var(--v4p-ico) center / contain no-repeat;
}
.ty-product-detail .v4p-group.ty-product-group-link-0 { --v4p-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21c.5-4.5 2.5-8 7-10'/%3E%3Cpath d='M9 18c6.2 0 10.5-3.3 11-12V4h-4C8.7 4 6 7.3 6 12c0 1.3.3 2.6 1 4'/%3E%3C/svg%3E"); }
.ty-product-detail .v4p-group.ty-product-group-link-1 { --v4p-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v4'/%3E%3Cpath d='M7 8h10l1 13H6z'/%3E%3Cpath d='M10 13h4'/%3E%3C/svg%3E"); }

/* код товара (SKU) снова виден — справа в строке звёзд, мелко и серо; CS-Cart сам меняет его при выборе фасовки
   (17.10.2026, слово владельца; с 12.10 был скрыт под образец V4) */
.ty-product-detail .product-info-container { grid-template-areas: "rating sku" "facts facts" "opts opts" "price price" "btns wish" "brew brew" "rest rest" !important; }
.ty-product-detail .product-info-container > .sku-options-wrapper { display: block !important; grid-area: sku !important; justify-self: end; align-self: center; white-space: nowrap; margin: 0 0 14px !important; }
.ty-product-detail .product-info-container > .sku-options-wrapper .ty-sku-item { display: inline-flex; gap: 4px; margin: 0 !important; padding: 0 !important; }
.ty-product-detail .product-info-container > .sku-options-wrapper label, .ty-product-detail .product-info-container > .sku-options-wrapper span { font: 500 12.5px Inter, system-ui, sans-serif !important; color: #8A8F8C !important; letter-spacing: .02em; }

/* сердце, когда товар уже в избранном (класс vs-delete-from-wishlist): тот же круг 52px, светло-розовый — раньше был квадрат */
.ty-product-detail .vs-product-wishlist .vs-delete-from-wishlist { display: flex !important; align-items: center; justify-content: center; box-sizing: border-box !important; width: 52px !important; height: 52px !important; margin: 0 !important; border: 1.5px solid #E9B9C1 !important; border-radius: 50% !important; background: #FDF1F3 !important; box-shadow: none !important; }
.ty-product-detail .vs-product-wishlist .vs-delete-from-wishlist:hover { border-color: #B5263A !important; }

/* ===== переключатель формы — переработан (17.10.2026, слово владельца «по своему усмотрению»):
   две равные карточки во всю ширину колонки, живые значки (v4-tovar.js): развесной — листики покачиваются и падает листок,
   пакетики — пакетик окунается в чашку, идёт пар. Движение — у выбранной карточки и при наведении ===== */
.ty-product-detail .v4p-groupTabs { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); width: 100%; box-sizing: border-box; padding: 6px !important; gap: 6px !important; border-radius: 18px !important; background: #F4F6F5 !important; margin: 0 0 18px !important; }
.ty-product-detail .v4p-group { display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 10px 16px !important; border-radius: 14px !important; font: 600 15.5px var(--v4-sans), Inter, sans-serif !important; color: #4A524D !important; }
.ty-product-detail .v4p-group:hover { background: rgba(255,255,255,.6) !important; color: #1E2421 !important; }
.ty-product-detail .v4p-group.v4p-groupOn { background: #fff !important; color: #0F5C45 !important; box-shadow: 0 6px 16px rgba(15,40,32,.08), 0 0 0 1.5px #CFE3D9 inset !important; }
.ty-product-detail .v4p-group.ty-product-group-link-0::before, .ty-product-detail .v4p-group.ty-product-group-link-1::before { content: none !important; display: none !important; }
.ty-product-detail .v4p-ico { flex: 0 0 32px; width: 32px; height: 32px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ty-product-detail .v4p-ico * { transform-box: view-box; }
.ty-product-detail .v4p-lf { fill: currentColor; fill-opacity: .14; }
.ty-product-detail .v4p-lf1 { transform-origin: 16px 27px; }
.ty-product-detail .v4p-lf2 { transform-origin: 15.5px 27px; }
.ty-product-detail .v4p-lf3 { fill: currentColor; fill-opacity: .55; stroke-width: 1.2; transform-origin: 19.6px 6px; }
.ty-product-detail .v4p-cup { fill: #C9A15A; fill-opacity: .28; }
.ty-product-detail .v4p-bag { fill: currentColor; fill-opacity: .12; }
.ty-product-detail .v4p-tag { fill: currentColor; fill-opacity: .25; stroke-width: 1.2; }
.ty-product-detail .v4p-steam { opacity: .35; }
@keyframes v4pSwayA { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(5deg); } }
@keyframes v4pSwayB { 0%, 100% { transform: rotate(5deg); } 50% { transform: rotate(-6deg); } }
@keyframes v4pFall { 0% { transform: translate(0, -3px) rotate(0); opacity: 0; } 15% { opacity: 1; } 75% { opacity: 1; } 100% { transform: translate(-7px, 17px) rotate(140deg); opacity: 0; } }
@keyframes v4pDip { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4.5px); } }
@keyframes v4pSteam { 0% { transform: translateY(2px); opacity: 0; } 40% { opacity: .9; } 100% { transform: translateY(-6px); opacity: 0; } }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-lf1 { animation: v4pSwayA 3.2s ease-in-out infinite; }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-lf2 { animation: v4pSwayB 3.2s ease-in-out infinite; }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-lf3 { animation: v4pFall 2.8s ease-in infinite .4s; }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-bagDip { animation: v4pDip 2.2s ease-in-out infinite; }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-st1 { animation: v4pSteam 2.2s ease-out infinite; }
.ty-product-detail .v4p-group:is(.v4p-groupOn, :hover) .v4p-st2 { animation: v4pSteam 2.2s ease-out infinite 1.1s; }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .v4p-ico * { animation: none !important; } }
@media (max-width: 640px) { .ty-product-detail .v4p-group { min-height: 50px; gap: 8px; font-size: 14.5px !important; } .ty-product-detail .v4p-ico { flex-basis: 28px; width: 28px; height: 28px; } }

/* ===== блок заваривания «ready, set, steep.» по образцу владельца (17.10.2026); разметка — howtodoit.tpl ===== */
.v4br { margin: 8px 0 24px; font-family: var(--v4-sans), Inter, system-ui, sans-serif; }
.v4br [hidden] { display: none !important; }
.v4br-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 16px; }
.v4br-k { margin: 0 0 6px !important; font: 700 12px Inter, system-ui, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: #008556 !important; }
.v4br-title { margin: 0 !important; padding: 0 !important; border: 0 !important; font: 600 clamp(30px, 3.2vw, 44px)/1.05 var(--v4-sans), Inter, sans-serif !important; letter-spacing: -.02em; color: #0F5C45 !important; text-transform: none !important; }
.v4br-note { max-width: 260px; margin: 0 !important; font: 400 13.5px/1.5 Inter, system-ui, sans-serif !important; color: #6E746F !important; text-align: right; }
.v4br-mode { display: inline-flex; gap: 4px; padding: 4px; margin: 0 0 16px; border-radius: 999px; background: #EEF4F1; }
.v4br-mode button { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: none; cursor: pointer; font: 600 14px Inter, system-ui, sans-serif; color: #4A524D; transition: background .2s, color .2s; }
.v4br-mode button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.v4br-mode button.v4br-on { background: #0F5C45; color: #fff; }
.v4br-mode button:not(.v4br-on):hover { color: #0F5C45; }
.v4br-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 !important; padding: 0 !important; list-style: none; border-radius: 18px; overflow: hidden; background: #FEF6DA; animation: v4brIn .35s ease both; }
.v4br-steps li { position: relative; display: flex; flex-direction: column; gap: 6px; margin: 0 !important; padding: 22px 22px 26px !important; list-style: none; }
.v4br-steps li + li { border-left: 1px solid rgba(15,40,32,.07); }
.v4br-n { position: absolute; top: 18px; right: 20px; font: 500 12px Inter, system-ui, sans-serif; color: #A99560; }
.v4br-i { display: block; width: 30px; height: 30px; margin: 0 0 14px; font-style: normal; }
.v4br-i svg { width: 30px; height: 30px; overflow: visible; fill: none; stroke: #0F5C45; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.v4br-i svg * { transform-box: view-box; }
.v4br-v { font: 600 21px/1.2 var(--v4-sans), Inter, sans-serif; color: #0F5C45; letter-spacing: -.01em; }
.v4br-sub { margin-top: -4px; font: 500 13px Inter, system-ui, sans-serif; font-style: normal; color: #6E746F; }
.v4br-t { font: 600 14px Inter, system-ui, sans-serif; color: #1E2421; }
.v4br-d { font: 400 13px/1.5 Inter, system-ui, sans-serif; color: #6E746F; }
.v4br-tip { display: flex; align-items: flex-start; gap: 14px; margin: 14px 0 0; padding: 16px 20px; border-radius: 16px; background: #EAF5EF; animation: v4brIn .35s ease both; }
.v4br-tip svg { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; fill: none; stroke: #008556; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.v4br-tip b { display: block; margin: 0 0 2px; font: 600 14px Inter, system-ui, sans-serif; color: #0F5C45; }
.v4br-tip span { font: 400 13.5px/1.5 Inter, system-ui, sans-serif; color: #4A524D; }
/* живые значки */
@keyframes v4brIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes v4brHand { to { transform: rotate(360deg); } }
@keyframes v4brSteam { 0% { transform: translateY(1px); opacity: 0; } 40% { opacity: 1; } 100% { transform: translateY(-4px); opacity: 0; } }
@keyframes v4brLevel { 0%, 100% { transform: scaleY(.55); } 50% { transform: scaleY(1); } }
@keyframes v4brSpoon { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-12deg); } }
@keyframes v4brFlake { to { transform: rotate(360deg); } }
.v4br-hand { transform-origin: 12px 12px; animation: v4brHand 6s linear infinite; }
.v4br-st { animation: v4brSteam 2.4s ease-out infinite; }
.v4br-st2 { animation-delay: 1.2s; }
.v4br-level { stroke: #C9A15A; stroke-width: 2.4; transform-origin: 12px 17.5px; animation: v4brLevel 3s ease-in-out infinite; }
.v4br-spoon { transform-origin: 17px 21px; animation: v4brSpoon 3.4s ease-in-out infinite; }
.v4br-flake { transform-origin: 12px 12px; animation: v4brFlake 12s linear infinite; }
@media (prefers-reduced-motion: reduce) { .v4br *, .v4br-steps, .v4br-tip { animation: none !important; } }
@media (max-width: 960px) { .v4br-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .v4br-steps li:nth-child(3) { border-left: 0; } .v4br-steps li:nth-child(n+3) { border-top: 1px solid rgba(15,40,32,.07); } }
@media (max-width: 560px) { .v4br-head { flex-direction: column; align-items: flex-start; } .v4br-note { text-align: left; } .v4br-steps { grid-template-columns: 1fr; } .v4br-steps li + li { border-left: 0; border-top: 1px solid rgba(15,40,32,.07); } }
section.v4br h2.v4br-title, .ty-product-detail section.v4br h2.v4br-title { color: #0F5C45 !important; }
.v4br-steps li { gap: 4px; padding: 24px 24px 28px !important; }
.v4br-v { margin: 0 0 8px; }
.v4br-sub { margin: -8px 0 6px; }

/* описание: левая колонка — заголовок «A little more to fall in love with.» и ингредиенты таблетками (v4-tovar.js, 17.10.2026);
   прежний заголовок-псевдоэлемент и блок «Featured ingredients» скрыты */
.ty-product-detail .content-description.v4p-hasLove::before { content: none !important; display: none !important; }
#main_ingredients, .ty-product-detail .content_main_ingredients { display: none !important; }
.ty-product-detail .v4p-love { align-self: start; }
@media (min-width: 1007px) and (orientation: landscape) { .ty-product-detail .v4p-love { position: sticky; top: calc(var(--v4-sticky-h, 0px) + 24px); } }
.ty-product-detail .content-description h2.v4p-loveTitle { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--v4-cond), sans-serif !important; letter-spacing: -.015em; color: #0F5C45 !important; text-transform: none !important; }
.ty-product-detail .v4p-ingPills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.ty-product-detail .content-description .v4p-ingPills li { margin: 0 !important; padding: 6px 14px !important; list-style: none; border: 1px solid #DCE6E1; border-radius: 999px; background: #F4F6F5; font: 500 14px/1.3 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.ty-product-detail .content-description .v4p-ingPills li::before, .ty-product-detail .content-description .v4p-ingPills li::marker { content: none !important; }

/* «the finer details» по образцу владельца (17.10.2026): светло-зелёная полоса, слева заголовок с подписью, справа строки со значками */
.ty-product-detail .v4p-details.v4p-details2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 32px 56px; align-items: start; background: #EEF5F1; border-radius: 28px; padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 64px); }
.ty-product-detail .v4p-details2 .v4p-kicker { margin: 0 0 8px !important; }
.ty-product-detail .v4p-details2 h2.v4p-serif { margin: 0 0 12px !important; }
.ty-product-detail .v4p-detSub { margin: 0 !important; font: 400 15px/1.5 Inter, system-ui, sans-serif !important; color: #6E746F !important; }
.ty-product-detail .v4p-details2 dl { display: block !important; margin: 0 !important; }
.ty-product-detail .v4p-details2 dl > div { display: grid !important; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0 !important; border-bottom: 1px solid #D5E4DC !important; }
.ty-product-detail .v4p-details2 dl > div:last-child { border-bottom: 0 !important; }
.ty-product-detail .v4p-details2 dt { display: flex; align-items: center; gap: 10px; font: 500 15px Inter, system-ui, sans-serif !important; color: #3E6B58 !important; }
.ty-product-detail .v4p-details2 dt svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: #0F5C45; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ty-product-detail .v4p-details2 dd { margin: 0 !important; font: 400 15px/1.5 Inter, system-ui, sans-serif !important; color: #1E2421 !important; }
@media (max-width: 860px) { .ty-product-detail .v4p-details.v4p-details2 { grid-template-columns: 1fr; } .ty-product-detail .v4p-details2 dl > div { grid-template-columns: 140px minmax(0, 1fr); } }
/* «Nutrition facts» в «the finer details», под заголовком слева (17.10.2026, вариант A) */
.ty-product-detail .v4p-nfCard { max-width: 340px; margin: 26px 0 0; padding: 18px 20px; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,40,32,.06); }
.ty-product-detail .v4p-nfCard .nf-container { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.ty-product-detail .v4p-nfCard .nf-title { font-family: var(--v4-sans), Inter, sans-serif !important; color: #0F5C45 !important; }
/* старый блок «Details» (Preparation / Ingredients, вкладка features) не показываем: то же есть в «the finer details»
   и в «ready, set, steep.» (17.10.2026, слово владельца) */
.ty-product-detail #features, .ty-product-detail .content_features, #product_main_detail_info_ #features, #product_main_detail_info_ .content_features { display: none !important; }

/* ===== «ready, set, steep.» — шапка-баннер с живой чашкой и отступы между блоками (17.10.2026, слово владельца) ===== */
.ty-product-detail .v4p-details.v4p-details2 { margin-bottom: 0 !important; }
.v4br { margin: 64px 0 56px !important; }
.v4br-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: center; gap: 24px; margin: 0 0 18px; padding: 28px clamp(22px, 4vw, 44px); border-radius: 24px; overflow: hidden;
  background: radial-gradient(circle at 6% 0%, rgba(255,214,170,.5), transparent 45%), radial-gradient(circle at 96% 100%, rgba(198,230,210,.85), transparent 52%), linear-gradient(135deg, #FFF8EC, #EEF7F1); }
.v4br-hero .v4br-head { margin: 0 0 16px; }
.v4br-hero .v4br-note { text-align: left; max-width: 300px; }
.v4br-hero .v4br-head { flex-direction: column; align-items: flex-start; gap: 10px; }
.v4br-hero .v4br-mode { margin: 0; background: rgba(255,255,255,.7); }
.v4br-art { width: 100%; height: auto; overflow: visible; }
.v4br-art * { transform-box: view-box; }
.v4br-ring { fill: none; stroke: rgba(15,92,69,.12); stroke-width: 3; }
.v4br-ringOn { fill: none; stroke: #008556; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 465; stroke-dashoffset: 465; transform: rotate(-90deg); transform-origin: 120px 104px; animation: v4brTimer 6s linear infinite; }
.v4br-saucer { fill: #fff; stroke: #CFE3D9; stroke-width: 2; }
.v4br-cupB { fill: #fff; stroke: #0F5C45; stroke-width: 2.4; stroke-linejoin: round; }
.v4br-hdl { fill: none; stroke: #0F5C45; stroke-width: 2.4; stroke-linecap: round; }
.v4br-tea { fill: #E9CC8C; stroke: #0F5C45; stroke-width: 2.4; animation: v4brBrew 6s ease-in-out infinite; }
.v4br-str { fill: none; stroke: #8A8F8C; stroke-width: 1.6; }
.v4br-tagA { fill: #F3DFA9; stroke: #B8934A; stroke-width: 1.5; }
.v4br-bagA { fill: #F7EBD0; stroke: #B8934A; stroke-width: 1.6; stroke-linejoin: round; }
.v4br-dip { animation: v4brDipB 3s ease-in-out infinite; }
.v4br-steam { fill: none; stroke: #9FB3AE; stroke-width: 2.4; stroke-linecap: round; opacity: 0; animation: v4brSteamB 3s ease-out infinite; }
.v4br-sB { animation-delay: 1s; } .v4br-sC { animation-delay: 2s; }
.v4br-fall { fill: #2E9E6B; opacity: 0; animation: v4brFallB 4.5s ease-in infinite; transform-origin: 120px 96px; }
.v4br-fA { transform-origin: 72px 35px; } .v4br-fB { transform-origin: 163px 27px; animation-delay: 2.2s; }
.v4br-cube { fill: rgba(220,240,250,.92); stroke: #8CC4F0; stroke-width: 1.6; animation: v4brBob 2.6s ease-in-out infinite; }
.v4br-cB { animation-delay: .6s; } .v4br-cC { animation-delay: 1.2s; }
.v4br-spark { fill: none; stroke: #8CC4F0; stroke-width: 2; stroke-linecap: round; animation: v4brTwinkle 2.4s ease-in-out infinite; transform-origin: center; }
.v4br-pB { animation-delay: .8s; } .v4br-pC { animation-delay: 1.6s; }
.v4br:not([data-mode="iced"]) .v4br-ice { display: none; }
.v4br[data-mode="iced"] .v4br-hot { display: none; }
.v4br[data-mode="iced"] .v4br-tea { fill: #F1D99B; animation-name: v4brBrewIced; }
.v4br[data-mode="iced"] .v4br-ringOn { stroke: #5AA9E6; }
@keyframes v4brTimer { to { stroke-dashoffset: 0; } }
@keyframes v4brBrew { 0% { fill: #F4E6BF; } 70% { fill: #C98A3D; } 100% { fill: #F4E6BF; } }
@keyframes v4brBrewIced { 0%, 100% { fill: #F6E7BE; } 50% { fill: #E2B76A; } }
@keyframes v4brDipB { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(10px); } }
@keyframes v4brSteamB { 0% { transform: translateY(6px); opacity: 0; } 35% { opacity: .9; } 100% { transform: translateY(-14px); opacity: 0; } }
@keyframes v4brFallB { 0% { transform: translate(0, 0) rotate(0); opacity: 0; } 15% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translate(var(--fx, 30px), 60px) rotate(200deg); opacity: 0; } }
.v4br-fB { --fx: -30px; }
@keyframes v4brBob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(2.5px) rotate(4deg); } }
@keyframes v4brTwinkle { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .v4br-art * { animation: none !important; } .v4br-steam, .v4br-fall { opacity: .6; } .v4br-ringOn { stroke-dashoffset: 120; } }
@media (max-width: 720px) { .v4br-hero { grid-template-columns: 1fr; } .v4br-art { max-width: 220px; margin: 0 auto; } }

/* «Nutrition facts» в нашем стиле (17.10.2026, слово владельца): Inter, зелёные линии вместо чёрных, крупные калории,
   поле порции и кнопка — таблетками; кнопка раскрывает и сворачивает (v4-tovar.js) */
.ty-product-detail .v4p-nfCard, .ty-product-detail .v4p-nfCard * { font-family: Inter, system-ui, sans-serif !important; }
.ty-product-detail .v4p-nfCard .nf-title { margin: 0 0 6px !important; font: 600 18px/1.2 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; letter-spacing: -.01em; }
.ty-product-detail .v4p-nfCard .nf-serving { display: flex; align-items: center; gap: 8px; margin: 0 0 12px !important; font-size: 13.5px !important; color: #6E746F !important; }
.ty-product-detail .v4p-nfCard .nf-modifier-field { width: 64px !important; height: 32px !important; margin: 0 !important; padding: 0 10px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #F7F9F8 !important; font: 600 14px Inter, system-ui, sans-serif !important; color: #1E2421 !important; text-align: center; box-shadow: none !important; }
.ty-product-detail .v4p-nfCard .nf-modifier-field:focus { outline: none; border-color: #008556 !important; background: #fff !important; }
.ty-product-detail .v4p-nfCard .nf-bar1, .ty-product-detail .v4p-nfCard .nf-bar2 { height: 0 !important; margin: 8px 0 !important; border: 0 !important; border-top: 2px solid #0F5C45 !important; background: none !important; }
.ty-product-detail .v4p-nfCard .nf-line { padding: 6px 0 !important; border: 0 !important; border-bottom: 1px solid #E8EEEB !important; font-size: 13.5px !important; color: #1E2421 !important; }
.ty-product-detail .v4p-nfCard .nf-calories .nf-line { display: grid !important; grid-template-columns: 1fr auto; align-items: end; border-bottom: 0 !important; }
.ty-product-detail .v4p-nfCard .nf-amount-per_serving { grid-column: 1 / -1; font: 500 12px Inter, system-ui, sans-serif !important; color: #6E746F !important; text-transform: none !important; }
.ty-product-detail .v4p-nfCard .nf-calories-label { grid-row: 2; grid-column: 1; font: 600 16px Inter, system-ui, sans-serif !important; color: #1E2421 !important; }
.ty-product-detail .v4p-nfCard .nf-calories-value { grid-row: 2; grid-column: 2; font: 700 28px/1 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.ty-product-detail .v4p-nfCard .nf-daily-value { font-size: 12px !important; color: #6E746F !important; }
.ty-product-detail .v4p-nfCard .nf-footnote { margin: 8px 0 0 !important; font-size: 11.5px !important; line-height: 1.45 !important; color: #8A8F8C !important; }
.ty-product-detail .v4p-nfCard .nf-show-more { display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100% !important; height: 40px !important; margin: 14px 0 0 !important; padding: 0 16px !important; border: 1.5px solid #008556 !important; border-radius: 999px !important; background: #fff !important; color: #0F5C45 !important; font: 700 14px Inter, system-ui, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
.ty-product-detail .v4p-nfCard .nf-show-more::after { content: ""; width: 8px; height: 8px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s, margin .25s; }
.ty-product-detail .v4p-nfCard .nf-show-more.v4p-nfOpen::after { transform: rotate(-135deg); margin-top: 3px; }
.ty-product-detail .v4p-nfCard .nf-show-more:hover { background: #008556 !important; color: #fff !important; }
.ty-product-detail .v4p-nfCard .nf-show-more.hidden { display: flex !important; }

/* шкала кофеина в «the finer details»: пять листиков, закрашенные — зелёные и «танцуют» по очереди (17.10.2026) */
.ty-product-detail .v4p-details2 dd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.ty-product-detail .v4p-caf { display: inline-flex; gap: 3px; }
.ty-product-detail .v4p-caf i { display: inline-block; width: 22px; height: 22px; font-style: normal; transform-origin: 50% 90%; }
.ty-product-detail .v4p-caf svg { width: 22px; height: 22px; fill: none; stroke: #9FB3AE; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ty-product-detail .v4p-caf i.v4p-cafOn svg { fill: #2E9E6B; fill-opacity: .9; stroke: #0F5C45; }
.ty-product-detail .v4p-caf i.v4p-cafOn { animation: v4pCafDance 2.4s ease-in-out infinite; animation-delay: var(--d, 0s); }
@keyframes v4pCafDance { 0%, 100% { transform: rotate(-8deg) translateY(0); } 25% { transform: rotate(6deg) translateY(-2px); } 50% { transform: rotate(-4deg) translateY(0); } 75% { transform: rotate(8deg) translateY(-1px); } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .v4p-caf i { animation: none !important; } }
.ty-product-detail .v4p-flag { width: 22px; height: 16px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
/* листики кофеина: крупнее и вровень с текстом (рисунок листа сидит в нижней части значка — приподнимаем) (17.10.2026) */
.ty-product-detail .v4p-caf { align-items: center; align-self: center; gap: 4px; }
.ty-product-detail .v4p-caf i { display: inline-flex; width: 26px; height: 26px; }
.ty-product-detail .v4p-caf svg { width: 26px; height: 26px; margin-top: -4px; }

/* «Nutrition facts» — аккуратнее и с ползунком порции (17.10.2026, слово владельца «криво») */
.ty-product-detail .v4p-nfCard { box-sizing: border-box; width: 100%; max-width: 360px; padding: 20px 22px !important; }
.ty-product-detail .v4p-nfCard * { box-sizing: border-box; }
.ty-product-detail .v4p-nfCard .nf-serving { justify-content: space-between; margin: 0 0 4px !important; font: 500 13.5px Inter, system-ui, sans-serif !important; }
.ty-product-detail .v4p-nfCard .nf-modifier-field { width: 58px !important; height: 30px !important; margin-left: auto !important; border-radius: 10px !important; }
.ty-product-detail .v4p-nfRange { margin: 6px 0 4px; }
.ty-product-detail .v4p-nfRange input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; margin: 10px 0 6px; border-radius: 999px; outline: none; cursor: pointer;
  background: linear-gradient(90deg, #008556 0 var(--p, 10%), #E3E7E5 var(--p, 10%) 100%); }
.ty-product-detail .v4p-nfRange input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2px solid #008556; box-shadow: 0 2px 6px rgba(15,40,32,.2); cursor: grab; }
.ty-product-detail .v4p-nfRange input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #008556; box-shadow: 0 2px 6px rgba(15,40,32,.2); cursor: grab; }
.ty-product-detail .v4p-nfRange input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(0,133,86,.2); }
.ty-product-detail .v4p-nfScale { display: flex; justify-content: space-between; font: 500 11.5px Inter, system-ui, sans-serif; color: #8A8F8C; }
.ty-product-detail .v4p-nfNote { margin: 6px 0 0 !important; font: 400 12px/1.4 Inter, system-ui, sans-serif !important; color: #6E746F !important; }
.ty-product-detail .v4p-nfCard .nf-bar2 { margin: 12px 0 8px !important; border-top-width: 1px !important; border-top-color: #CFE3D9 !important; }
.ty-product-detail .v4p-nfCard .nf-show-more { box-sizing: border-box !important; max-width: 100% !important; }
/* состав в «the finer details» — таблетками (на зелёной полосе — белые) (17.10.2026) */
.ty-product-detail .v4p-details2 .v4p-ingRow { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none; }
.ty-product-detail .v4p-details2 .v4p-ingRow li { margin: 0 !important; padding: 5px 12px !important; list-style: none; border: 1px solid #D5E4DC; border-radius: 999px; background: #fff; font: 500 13.5px/1.3 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.ty-product-detail .v4p-details2 .v4p-ingRow li::before, .ty-product-detail .v4p-details2 .v4p-ingRow li::marker { content: none !important; }

/* товар с одной фотографией (без миниатюр): большое фото — во второй колонке сетки, как у товаров с несколькими фото;
   раньше оно попадало в колонку миниатюр шириной 84px и было крошечным (17.10.2026, замечание владельца) */
@media (min-width: 1007px) and (orientation: landscape) {
  .ty-product-detail .image-border > .ty-product-img { grid-column: 2; grid-row: 1; width: auto !important; }
}
/* телефон и узкий экран: сначала описание товара, потом блок «A little more… + ингредиенты» (17.10.2026, слово владельца);
   на компьютере — две колонки, как было */
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .content-description.v4p-hasLove { display: flex !important; flex-direction: column; }
  .ty-product-detail .content-description.v4p-hasLove > .v4p-love { order: 2; margin-top: 28px; position: static !important; }
}

/* ===== карточки 01–04: крупные живые картинки (17.10.2026, слово владельца) =====
   01 ложка сыплет чаинки в чашку · 02 чайник с паром наливает воду, чашка наполняется · 03 секундомер ·
   04 чашка «отпивается», пар и сердечки (iced — стакан со льдом и трубочкой) */
.v4br-i.v4br-ill { width: 132px; height: 88px; margin: -6px 0 10px -6px; }
.v4br-ill svg.v4a { width: 132px; height: 88px; overflow: visible; fill: none; stroke: #0F5C45; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v4a * { transform-box: view-box; }
.v4a-cup { fill: #fff; }
.v4a-sau { fill: #fff; stroke: #D8C9A0; stroke-width: 1.5; }
.v4a-tea { fill: #E9CC8C; stroke-width: 1.5; }
.v4a-teaReady { fill: #C98A3D; }
/* 01 ложка */
.v4a-handle { stroke: #B8934A; stroke-width: 3; }
.v4a-bowl { fill: #F3DFA9; stroke: #B8934A; stroke-width: 1.8; }
.v4a-spoon { transform-origin: 14px 14px; animation: v4aSpoon 3.2s ease-in-out infinite; }
.v4a-leaf { fill: #2E9E6B; stroke: none; opacity: 0; animation: v4aDrop 3.2s ease-in infinite; }
.v4a-l2 { animation-delay: .25s; } .v4a-l3 { animation-delay: .5s; }
@keyframes v4aSpoon { 0%, 15%, 85%, 100% { transform: rotate(0); } 35%, 65% { transform: rotate(14deg); } }
@keyframes v4aDrop { 0%, 30% { transform: translate(0, 0); opacity: 0; } 38% { opacity: 1; } 70% { transform: translate(6px, 13px); opacity: 1; } 78%, 100% { transform: translate(6px, 13px); opacity: 0; } }
/* 02 чайник */
.v4a-kbody { fill: #EAF5EF; }
.v4a-kettle { transform-origin: 28px 56px; animation: v4aTilt 4s ease-in-out infinite; }
.v4a-knob { fill: #0F5C45; stroke: none; }
.v4a-stream { stroke: #8CC4F0; stroke-width: 3; stroke-dasharray: 30; stroke-dashoffset: 30; animation: v4aPour 4s ease-in-out infinite; }
.v4a-water { fill: #CFE6F5; stroke: none; transform-origin: 80px 74px; animation: v4aFill 4s ease-in-out infinite; }
.v4a-puff { stroke: #9FB3AE; stroke-width: 1.8; opacity: 0; animation: v4aPuff 2s ease-out infinite; }
.v4a-p2 { animation-delay: 1s; }
@keyframes v4aTilt { 0%, 12%, 88%, 100% { transform: rotate(0); } 30%, 70% { transform: rotate(16deg); } }
@keyframes v4aPour { 0%, 28% { stroke-dashoffset: 30; opacity: 0; } 34% { opacity: 1; } 45%, 66% { stroke-dashoffset: 0; opacity: 1; } 74%, 100% { stroke-dashoffset: -30; opacity: 0; } }
@keyframes v4aFill { 0%, 35% { transform: scaleY(.05); } 70%, 88% { transform: scaleY(.85); } 100% { transform: scaleY(.05); } }
@keyframes v4aPuff { 0% { transform: translateY(2px); opacity: 0; } 40% { opacity: .9; } 100% { transform: translateY(-8px); opacity: 0; } }
/* 03 секундомер */
.v4a-face { fill: #fff; }
.v4a-btn { fill: #F3DFA9; stroke: #B8934A; stroke-width: 1.5; animation: v4aClick 4s ease-in-out infinite; transform-origin: 60px 9px; }
.v4a-track { stroke: #E3E7E5; stroke-width: 4; }
.v4a-prog { stroke: #2E9E6B; stroke-width: 4; stroke-dasharray: 126; stroke-dashoffset: 126; transform: rotate(-90deg); transform-origin: 60px 44px; animation: v4aProg 4s linear infinite; }
.v4a-ticks { stroke: #9FB3AE; stroke-width: 1.5; }
.v4a-hand { stroke: #B5263A; stroke-width: 2.2; transform-origin: 60px 44px; animation: v4aHand 4s linear infinite; }
.v4a-pin { fill: #0F5C45; stroke: none; }
.v4a-zz { stroke: #9FB3AE; stroke-width: 1.6; opacity: 0; animation: v4aZz 4s ease-in-out infinite; }
.v4a-z2 { animation-delay: .4s; }
@keyframes v4aProg { to { stroke-dashoffset: 0; } }
@keyframes v4aHand { to { transform: rotate(360deg); } }
@keyframes v4aClick { 0%, 4%, 100% { transform: translateY(0); } 2% { transform: translateY(2px); } }
@keyframes v4aZz { 0%, 40% { opacity: 0; transform: translateY(4px); } 60% { opacity: .9; } 90%, 100% { opacity: 0; transform: translateY(-6px); } }
/* 04 готовая чашка */
.v4a-sip { transform-origin: 84px 60px; animation: v4aSip 4s ease-in-out infinite; }
.v4a-st { stroke: #9FB3AE; stroke-width: 1.8; opacity: 0; animation: v4aPuff 2.4s ease-out infinite; }
.v4a-s2 { animation-delay: .8s; } .v4a-s3 { animation-delay: 1.6s; }
.v4a-heart { fill: #F28DB4; stroke: none; opacity: 0; animation: v4aHeart 4s ease-out infinite; }
.v4a-h2 { animation-delay: 2s; }
@keyframes v4aSip { 0%, 20%, 80%, 100% { transform: translate(0, 0) rotate(0); } 40%, 60% { transform: translate(-4px, -10px) rotate(-14deg); } }
@keyframes v4aHeart { 0%, 30% { opacity: 0; transform: translateY(6px) scale(.6); } 45% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-14px) scale(1); } }
/* 04 iced */
.v4a-glass { fill: rgba(255,255,255,.7); }
.v4a-iced { fill: #F1D99B; stroke: none; }
.v4a-straw { stroke: #E06C8C; stroke-width: 3; }
.v4a-cube { fill: rgba(220,240,250,.95); stroke: #8CC4F0; stroke-width: 1.4; animation: v4aBobI 2.6s ease-in-out infinite; }
.v4a-c2 { animation-delay: .5s; } .v4a-c3 { animation-delay: 1s; }
.v4a-drop { fill: #8CC4F0; stroke: none; animation: v4aDrip 2.8s ease-in infinite; }
.v4a-d2 { animation-delay: 1.4s; }
@keyframes v4aBobI { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(2px) rotate(6deg); } }
@keyframes v4aDrip { 0% { transform: translateY(-4px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(12px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .v4a * { animation: none !important; } .v4a-leaf, .v4a-puff, .v4a-st, .v4a-heart, .v4a-zz { opacity: .7; } .v4a-water { transform: scaleY(.7); } .v4a-stream { stroke-dashoffset: 0; } }
/* iced, «Double the leaves»: две ложки по очереди — левая в первой половине цикла, правая во второй (17.10.2026) */
.v4a1x2 .v4a-spoon { animation: v4aSpoonA 4.4s ease-in-out infinite; }
.v4a1x2 .v4a-spoonB { transform-origin: 112px 12px; animation: v4aSpoonB 4.4s ease-in-out infinite; }
.v4a1x2 .v4a-leaf { animation: v4aDropA 4.4s ease-in infinite; }
.v4a1x2 .v4a-l2 { animation-delay: .2s; } .v4a1x2 .v4a-l3 { animation-delay: .4s; }
.v4a1x2 .v4a-lB { animation-name: v4aDropB; }
.v4a1x2 .v4a-l5 { animation-delay: .2s; } .v4a1x2 .v4a-l6 { animation-delay: .4s; }
@keyframes v4aSpoonA { 0%, 6%, 46%, 100% { transform: rotate(0); } 16%, 36% { transform: rotate(14deg); } }
@keyframes v4aSpoonB { 0%, 52%, 94%, 100% { transform: rotate(0); } 62%, 84% { transform: rotate(-14deg); } }
@keyframes v4aDropA { 0%, 14% { transform: translate(0, 0); opacity: 0; } 18% { opacity: 1; } 34% { transform: translate(6px, 13px); opacity: 1; } 40%, 100% { transform: translate(6px, 13px); opacity: 0; } }
@keyframes v4aDropB { 0%, 60% { transform: translate(0, 0); opacity: 0; } 64% { opacity: 1; } 80% { transform: translate(-6px, 13px); opacity: 1; } 86%, 100% { transform: translate(-6px, 13px); opacity: 0; } }
/* полоса заваривания под кнопкой (температура · время · See brewing guide) убрана — всё это есть в «ready, set, steep.» (17.10.2026, слово владельца) */
.ty-product-detail .v4p-brew { display: none !important; }
/* цели ссылок «Get to know your tea / The finer details / How to steep» — с отступом под закреплённую шапку */
#description, #v4p-details, #v4-steep { scroll-margin-top: calc(var(--v4-sticky-h, 0px) + 90px); }
/* метки товара в строке с видом чая — того же размера, что плашка вида; цвет метки сохраняется (17.10.2026) */
.ty-product-detail .v4p-pills { flex-wrap: wrap; align-items: center; }
.ty-product-detail .v4p-pills .ty-product-img-label.v4p-label { position: static !important; display: inline-flex !important; align-items: center; margin: 0 !important; padding: 5px 13px !important; border-radius: 4px !important; font: 700 12px/1.4 Inter, system-ui, sans-serif !important; letter-spacing: .02em; text-transform: uppercase; transform: none !important; box-shadow: none !important; }
/* значки свойств под заголовком описания, крупнее (17.10.2026) */
.ty-product-detail .v4p-love .v4p-badges.v4p-loveBadges { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 22px 0 0 !important; }
.ty-product-detail .v4p-love .v4p-loveBadges img { width: 52px !important; height: 52px !important; }
/* строка «страна · кофеин» у цены — крупнее (17.10.2026, слово владельца) */
.ty-product-detail .v4p-factsLine { gap: 22px !important; }
.ty-product-detail .v4p-factsLine .v4p-f { font-size: 16.5px !important; font-weight: 500 !important; }
.ty-product-detail .v4p-factsLine .v4p-f img, .ty-product-detail .v4p-factsLine .v4p-f svg, .ty-product-detail .v4p-factsLine .v4p-f i { width: 20px !important; height: 20px !important; font-size: 18px !important; }
/* остаток на складе снова виден — в строке звёзд, справа, перед кодом товара; зелёная точка (17.10.2026, слово владельца) */
.ty-product-detail .et-rating-brand .vs-stock { display: inline-flex !important; align-items: center; gap: 6px; margin-left: auto !important; margin-right: 14px !important; position: static !important; }
.ty-product-detail .et-rating-brand .vs-stock, .ty-product-detail .et-rating-brand .vs-stock * { font: 500 12.5px Inter, system-ui, sans-serif !important; color: #0F7A4A !important; letter-spacing: .02em; }
.ty-product-detail .et-rating-brand .vs-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2E9E6B; box-shadow: 0 0 0 3px rgba(46,158,107,.18); }
.ty-product-detail .et-rating-brand .vs-stock .ty-qty-out-of-stock, .ty-product-detail .et-rating-brand .vs-stock .ty-qty-out-of-stock * { color: #B3261E !important; }
/* остаток и код — одной строкой в ячейке кода */
.ty-product-detail .product-info-container > .sku-options-wrapper { display: inline-flex !important; align-items: center; gap: 0; }
.ty-product-detail .sku-options-wrapper > .vs-stock { display: inline-flex !important; align-items: center; gap: 6px; margin: 0 14px 0 0 !important; position: static !important; }
.ty-product-detail .sku-options-wrapper > .vs-stock, .ty-product-detail .sku-options-wrapper > .vs-stock * { font: 500 12.5px Inter, system-ui, sans-serif !important; color: #0F7A4A !important; }
.ty-product-detail .sku-options-wrapper > .vs-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2E9E6B; box-shadow: 0 0 0 3px rgba(46,158,107,.18); }
.ty-product-detail .sku-options-wrapper > .vs-stock .ty-qty-out-of-stock, .ty-product-detail .sku-options-wrapper > .vs-stock .ty-qty-out-of-stock * { color: #B3261E !important; }
/* кофеин в мг на 1 г листа — таблеткой рядом с листиками (шкала старого сайта) (17.10.2026) */
.ty-product-detail .v4p-cafMg { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: #fff; border: 1px solid #D5E4DC; font: 600 12.5px Inter, system-ui, sans-serif; color: #0F5C45; white-space: nowrap; }
/* миниатюры галереи: у фото товаров по краям белый фон — в маленькой рамке он выглядел белым бордюром.
   Снимок чуть увеличен внутри рамки, края уходят за неё (17.10.2026, замечание владельца) */
.ty-product-detail .ty-product-thumbnails__item { overflow: hidden !important; }
.ty-product-detail .ty-product-thumbnails__item img { object-fit: cover !important; transform: scale(1.16); }
/* остаток и код — справа в строке «страна · кофеин»; верхняя строка — только звёзды (17.10.2026) */
.ty-product-detail .product-info-container { grid-template-areas: "rating rating" "facts facts" "opts opts" "price price" "btns wish" "brew brew" "rest rest" !important; }
.ty-product-detail .v4p-factsLine { align-items: center; }
.ty-product-detail .v4p-factsLine > .sku-options-wrapper.v4p-skuInFacts { display: inline-flex !important; align-items: center; margin: 0 0 0 auto !important; grid-area: auto !important; white-space: nowrap; }
.ty-product-detail .v4p-skuInFacts .ty-sku-item label, .ty-product-detail .v4p-skuInFacts .ty-sku-item span { font: 500 12.5px Inter, system-ui, sans-serif !important; color: #8A8F8C !important; }
@media (max-width: 640px) { .ty-product-detail .v4p-factsLine { flex-wrap: wrap; } .ty-product-detail .v4p-factsLine > .v4p-skuInFacts { margin-left: 0 !important; width: 100%; } }
/* значки свойств под ингредиентами — крупнее (17.10.2026, слово владельца) */
.ty-product-detail .v4p-love .v4p-badges.v4p-loveBadges { gap: 14px; margin-top: 26px !important; }
.ty-product-detail .v4p-love .v4p-loveBadges img { width: 72px !important; height: 72px !important; }
@media (max-width: 640px) { .ty-product-detail .v4p-love .v4p-loveBadges img { width: 60px !important; height: 60px !important; } }
/* телефон: заголовок «A little more…» — наверху, перед описанием; ингредиенты и значки — после описания (17.10.2026, уточнение владельца) */
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .content-description.v4p-hasLove > .v4p-love { display: contents !important; }
  .ty-product-detail .content-description.v4p-hasLove .v4p-loveTitle { order: -1; }
  .ty-product-detail .content-description.v4p-hasLove .v4p-ingPills:not(.v4p-ingRow) { order: 2; margin-top: 24px !important; }
  .ty-product-detail .content-description.v4p-hasLove .v4p-loveBadges { order: 3; }
}
/* остаток и код — таблетками, по центру строки «страна · кофеин» (17.10.2026, «по-прежнему криво») */
.ty-product-detail .v4p-factsLine > .v4p-skuInFacts { gap: 8px; align-self: center; }
.ty-product-detail .v4p-skuInFacts > .vs-stock, .ty-product-detail .v4p-skuInFacts > .ty-sku-item { display: inline-flex !important; align-items: center; gap: 6px; height: 30px; margin: 0 !important; padding: 0 12px !important; border-radius: 999px; box-sizing: border-box; line-height: 1 !important; }
.ty-product-detail .v4p-skuInFacts > .vs-stock { background: #EAF5EF; border: 1px solid #CFE3D9; }
.ty-product-detail .v4p-skuInFacts > .vs-stock :is(.stock-wrap, .ty-control-group) { display: inline !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ty-product-detail .v4p-skuInFacts > .vs-stock, .ty-product-detail .v4p-skuInFacts > .vs-stock * { font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #0F7A4A !important; }
.ty-product-detail .v4p-skuInFacts > .vs-stock:has(.ty-qty-out-of-stock) { background: #FCEBEB; border-color: #F2C4C4; }
.ty-product-detail .v4p-skuInFacts > .vs-stock:has(.ty-qty-out-of-stock)::before { background: #B3261E; box-shadow: none; }
.ty-product-detail .v4p-skuInFacts > .ty-sku-item { background: #F4F6F5; border: 1px solid #E3E7E5; }
.ty-product-detail .v4p-skuInFacts > .ty-sku-item label, .ty-product-detail .v4p-skuInFacts > .ty-sku-item span { margin: 0 !important; padding: 0 !important; font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #4A524D !important; letter-spacing: .02em; }
.ty-product-detail .v4p-skuInFacts > .ty-sku-item label { color: #8A8F8C !important; font-weight: 500 !important; }

/* «i» о материале пакетиков рядом с вариантами «Bags» — подсказка при наведении и при фокусе (17.10.2026) */
.ty-product-detail .v4p-bagInfo { position: relative; display: inline-flex; align-items: center; align-self: center; margin-left: 6px; }
.ty-product-detail .v4p-bagInfoBtn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px 0 6px; border: 1px solid #D5E4DC; border-radius: 999px; background: #F7FBF9; cursor: help; font: 600 13px Inter, system-ui, sans-serif; color: #0F5C45; }
.ty-product-detail .v4p-bagInfoBtn > span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #0F5C45; color: #fff; font: 700 13px/1 Georgia, serif; font-style: italic; }
.ty-product-detail .v4p-bagInfoBtn:hover, .ty-product-detail .v4p-bagInfoBtn:focus-visible { border-color: #008556; background: #EAF5EF; outline: none; }
.ty-product-detail .v4p-bagTip { position: absolute; z-index: 30; left: 0; top: calc(100% + 10px); width: 320px; padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(15,40,32,.16), 0 0 0 1px #E3E7E5; opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .18s, transform .18s, visibility .18s; text-align: left; }
.ty-product-detail .v4p-bagTip::before { content: ""; position: absolute; left: 22px; top: -6px; width: 12px; height: 12px; background: #fff; transform: rotate(45deg); box-shadow: -1px -1px 0 #E3E7E5; }
.ty-product-detail .v4p-bagInfo:hover .v4p-bagTip, .ty-product-detail .v4p-bagInfo:focus-within .v4p-bagTip { opacity: 1; visibility: visible; transform: none; }
.ty-product-detail .v4p-bagTip b { display: block; margin: 0 0 6px; font: 700 15px Inter, system-ui, sans-serif; color: #0F5C45; }
.ty-product-detail .v4p-bagTip p { margin: 0 0 10px !important; font: 400 13.5px/1.5 Inter, system-ui, sans-serif !important; color: #1E2421 !important; }
.ty-product-detail .v4p-bagTip ul { margin: 0 0 10px !important; padding: 0 !important; list-style: none; }
.ty-product-detail .v4p-bagTip li { position: relative; margin: 0 0 4px !important; padding: 0 0 0 22px !important; list-style: none; font: 500 13px/1.4 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.ty-product-detail .v4p-bagTip li::before { content: "✓"; position: absolute; left: 2px; top: 0; font-weight: 700; color: #2E9E6B; }
.ty-product-detail .v4p-bagTip small { display: block; font: 400 12px/1.45 Inter, system-ui, sans-serif; color: #6E746F; }
@media (max-width: 640px) { .ty-product-detail .v4p-bagTip { width: min(320px, 86vw); } }
.ty-product-detail .ty-product-options__group-links > .v4p-bagInfo { grid-column: span 2; justify-self: start; }
.ty-product-detail .v4p-bagInfoBtn { white-space: nowrap; }

/* строка «страна · кофеин»: значки вместо эмодзи, подпись «Caffeine:» (17.10.2026, «значок кофеина мелкий и непонятно к чему») */
.ty-product-detail .v4p-factsLine .v4p-f { display: inline-flex !important; align-items: center; gap: 7px; }
.ty-product-detail .v4p-factsLine .v4p-f svg { flex: 0 0 22px; width: 22px !important; height: 22px !important; fill: none; stroke: #0F5C45; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ty-product-detail .v4p-factsLine .v4p-f em { font-style: normal; color: #6E746F; font-weight: 500; margin-right: -2px; }
.ty-product-detail .v4p-factsLine .v4p-f .v4p-flag { width: 20px; height: 14px; margin-left: 2px; }
/* две строки: остаток — справа в строке звёзд, код — справа в строке «страна · кофеин» */
.ty-product-detail .et-rating-brand { display: flex !important; align-items: center; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop { display: inline-flex !important; align-items: center; gap: 6px; height: 30px; margin: 0 0 0 auto !important; padding: 0 12px !important; border-radius: 999px; background: #EAF5EF; border: 1px solid #CFE3D9; box-sizing: border-box; line-height: 1 !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop :is(.stock-wrap, .ty-control-group) { display: inline !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop, .ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop * { font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #0F7A4A !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop:has(.ty-qty-out-of-stock) { background: #FCEBEB; border-color: #F2C4C4; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop:has(.ty-qty-out-of-stock), .ty-product-detail .et-rating-brand > .vs-stock.v4p-stockTop:has(.ty-qty-out-of-stock) * { color: #B3261E !important; }

/* поменяны местами (17.10.2026): код — серой таблеткой справа в строке звёзд, остаток — зелёной справа в строке «страна · кофеин» */
.ty-product-detail .et-rating-brand > .sku-options-wrapper.v4p-skuTop { display: inline-flex !important; align-items: center; margin: 0 0 0 auto !important; grid-area: auto !important; white-space: nowrap; }
.ty-product-detail .v4p-skuTop > .ty-sku-item { display: inline-flex !important; align-items: center; gap: 6px; height: 30px; margin: 0 !important; padding: 0 12px !important; border-radius: 999px; box-sizing: border-box; background: #F4F6F5; border: 1px solid #E3E7E5; line-height: 1 !important; }
.ty-product-detail .v4p-skuTop > .ty-sku-item label, .ty-product-detail .v4p-skuTop > .ty-sku-item span { margin: 0 !important; padding: 0 !important; font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #4A524D !important; letter-spacing: .02em; }
.ty-product-detail .v4p-skuTop > .ty-sku-item label { color: #8A8F8C !important; font-weight: 500 !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill { display: inline-flex !important; align-items: center; gap: 6px; height: 30px; margin: 0 0 0 auto !important; padding: 0 12px !important; border-radius: 999px; background: #EAF5EF; border: 1px solid #CFE3D9; box-sizing: border-box; line-height: 1 !important; position: static !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill :is(.stock-wrap, .ty-control-group) { display: inline !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill, .ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill * { font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #0F7A4A !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2E9E6B; box-shadow: 0 0 0 3px rgba(46,158,107,.18); }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill:has(.ty-qty-out-of-stock) { background: #FCEBEB; border-color: #F2C4C4; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill:has(.ty-qty-out-of-stock), .ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill:has(.ty-qty-out-of-stock) * { color: #B3261E !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill:has(.ty-qty-out-of-stock)::before { background: #B3261E; box-shadow: none; }
@media (max-width: 640px) { .ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill { margin-left: 0 !important; } }
/* подсказка о пакетиках обрезалась (у .product-info был overflow: hidden) и уходила под кнопку «Add to bag» (17.10.2026) */
.ty-product-detail .product-info { overflow: visible !important; display: flow-root; }
.ty-product-detail .v4p-bagInfo { z-index: 60; }
.ty-product-detail .v4p-bagInfo:hover, .ty-product-detail .v4p-bagInfo:focus-within { z-index: 80; }
.ty-product-detail .v4p-bagTip { z-index: 80; }
/* код в строке звёзд — компактнее, в высоту строки со звёздами (17.10.2026) */
.ty-product-detail .v4p-skuTop > .ty-sku-item { height: 22px; padding: 0 9px !important; gap: 4px; }
.ty-product-detail .v4p-skuTop > .ty-sku-item label, .ty-product-detail .v4p-skuTop > .ty-sku-item span { font-size: 11.5px !important; }

/* длинное описание: «More details» — разделитель с кнопкой, остальное раскрывается по нажатию (17.10.2026) */
.ty-product-detail .content-description .v4p-moreHidden { display: none !important; }
.ty-product-detail .content-description .v4p-moreOpen > .v4p-moreHidden { display: revert !important; animation: v4pMoreIn .3s ease both; }
@keyframes v4pMoreIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ty-product-detail .v4p-moreBar { display: flex; align-items: center; gap: 14px; margin: 18px 0 8px; }
.ty-product-detail .v4p-moreBar::before, .ty-product-detail .v4p-moreBar::after { content: ""; flex: 1; height: 1px; background: #E3E7E5; }
.ty-product-detail .v4p-moreBar button { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 18px; border: 1.5px solid #008556; border-radius: 999px; background: #fff; cursor: pointer; font: 700 14px Inter, system-ui, sans-serif; color: #0F5C45; transition: background .2s, color .2s; }
.ty-product-detail .v4p-moreBar button::after { content: ""; width: 7px; height: 7px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s, margin .25s; }
.ty-product-detail .v4p-moreBar button[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 3px; }
.ty-product-detail .v4p-moreBar button:hover { background: #008556; color: #fff; }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .content-description .v4p-moreOpen > .v4p-moreHidden { animation: none; } }
/* остаток — компактнее, вровень со «страной» и «кофеином» (17.10.2026) */
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill { height: 24px; padding: 0 10px !important; gap: 5px; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill, .ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill * { font-size: 12px !important; }
.ty-product-detail .v4p-factsLine > .vs-stock.v4p-stockPill::before { width: 6px; height: 6px; box-shadow: 0 0 0 2px rgba(46,158,107,.18); }

/* «A little more to fall in love with.» — эффекты (17.10.2026, слово владельца):
   слова всплывают по очереди, когда заголовок на экране; «love» переливается; сердечко с листиком «бьётся» */
.ty-product-detail .v4p-loveTitle .v4p-w { display: inline-block; opacity: 0; transform: translateY(16px); }
.ty-product-detail .v4p-loveTitle.v4p-inview .v4p-w { animation: v4pWordUp .6s cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--i) * 70ms); }
@keyframes v4pWordUp { to { opacity: 1; transform: none; } }
.ty-product-detail .v4p-loveTitle .v4p-wLove { background: linear-gradient(90deg, #0F5C45, #B8934A, #D4537E, #2E9E6B, #0F5C45) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.ty-product-detail .v4p-loveTitle.v4p-inview .v4p-wLove { animation: v4pWordUp .6s cubic-bezier(.22,1,.36,1) both, v4pLoveFlow 6s linear infinite; animation-delay: calc(var(--i) * 70ms), .8s; }
@keyframes v4pLoveFlow { to { background-position: 300% 0; } }
.ty-product-detail .v4p-wHeart { display: inline-block; width: .62em; height: .62em; margin-left: .12em; vertical-align: .05em; opacity: 0; transform: scale(.4); }
.ty-product-detail .v4p-wHeart svg { width: 100%; height: 100%; overflow: visible; }
.ty-product-detail .v4p-hrt { fill: #E06C8C; transform-box: fill-box; transform-origin: center; }
.ty-product-detail .v4p-hlf { fill: #2E9E6B; transform-box: fill-box; transform-origin: 0 100%; }
.ty-product-detail .v4p-loveTitle.v4p-inview .v4p-wHeart { animation: v4pHeartIn .5s cubic-bezier(.34,1.56,.64,1) .65s both; }
.ty-product-detail .v4p-loveTitle.v4p-inview .v4p-hrt { animation: v4pBeat 1.8s ease-in-out 1.3s infinite; }
.ty-product-detail .v4p-loveTitle.v4p-inview .v4p-hlf { animation: v4pLeafSway 2.6s ease-in-out 1.3s infinite; }
@keyframes v4pHeartIn { to { opacity: 1; transform: none; } }
@keyframes v4pBeat { 0%, 60%, 100% { transform: scale(1); } 15% { transform: scale(1.18); } 30% { transform: scale(.96); } 45% { transform: scale(1.1); } }
@keyframes v4pLeafSway { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-14deg); } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .v4p-loveTitle .v4p-w, .ty-product-detail .v4p-wHeart { opacity: 1 !important; transform: none !important; animation: none !important; } .ty-product-detail .v4p-hrt, .ty-product-detail .v4p-hlf { animation: none !important; } }

/* «ready, set, steep.» — эффекты (17.10.2026): слова выпрыгивают по очереди, последнее переливается, рядом пар */
.v4br-title .v4br-w { display: inline-block; opacity: 0; transform: translateY(18px) scale(.85); }
.v4br-title.v4br-inview .v4br-w { animation: v4brPop .55s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(var(--i) * 260ms); }
@keyframes v4brPop { 60% { opacity: 1; transform: translateY(-4px) scale(1.06); } to { opacity: 1; transform: none; } }
.v4br-title .v4br-wLast { background: linear-gradient(90deg, #0F5C45, #B8934A, #C98A3D, #2E9E6B, #0F5C45) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.v4br-title.v4br-inview .v4br-wLast { animation: v4brPop .55s cubic-bezier(.34,1.56,.64,1) both, v4brFlow 6s linear infinite; animation-delay: calc(var(--i) * 260ms), 1.2s; }
@keyframes v4brFlow { to { background-position: 300% 0; } }
.v4br-steamFx { display: inline-block; width: .55em; height: .75em; margin-left: .08em; vertical-align: .25em; }
.v4br-steamFx svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: #9FB3AE; stroke-width: 2.4; stroke-linecap: round; }
.v4br-steamFx path { opacity: 0; }
.v4br-title.v4br-inview .v4br-sf1 { animation: v4brSteamT 2.4s ease-out 1.1s infinite; }
.v4br-title.v4br-inview .v4br-sf2 { animation: v4brSteamT 2.4s ease-out 2.3s infinite; }
@keyframes v4brSteamT { 0% { transform: translateY(6px); opacity: 0; } 35% { opacity: .9; } 100% { transform: translateY(-10px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .v4br-title .v4br-w { opacity: 1 !important; transform: none !important; animation: none !important; } .v4br-steamFx path { animation: none !important; opacity: .6; } }

/* подписи «What's inside» и «Good to know» над ингредиентами и значками (17.10.2026, слово владельца) */
.ty-product-detail .v4p-love .v4p-loveK { margin: 0 0 10px !important; }
.ty-product-detail .v4p-love .v4p-loveKIng { margin-top: 4px !important; }
.ty-product-detail .v4p-love .v4p-loveKBadges { margin-top: 26px !important; }
.ty-product-detail .v4p-love .v4p-loveKBadges + .v4p-loveBadges { margin-top: 0 !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .content-description.v4p-hasLove .v4p-loveKIng { order: 2; margin-top: 24px !important; }
  .ty-product-detail .content-description.v4p-hasLove .v4p-ingPills:not(.v4p-ingRow) { order: 2; margin-top: 0 !important; }
  .ty-product-detail .content-description.v4p-hasLove .v4p-loveKBadges { order: 3; }
}

/* ===== видео товара (17.10.2026): карточка — слева подписи, справа крупное превью с кнопкой Play; плеер — по нажатию ===== */
.ty-product-detail .v4p-video { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 32px 48px; align-items: center; margin: 56px 0; padding: clamp(24px, 4vw, 48px); border-radius: 28px;
  background: radial-gradient(circle at 0 0, rgba(255,214,170,.45), transparent 45%), radial-gradient(circle at 100% 100%, rgba(198,230,210,.8), transparent 50%), linear-gradient(135deg, #FFF8EC, #EEF7F1); }
.ty-product-detail .v4p-vidHead .v4p-kicker { margin: 0 0 8px !important; }
.ty-product-detail h2.v4p-vidTitle { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; font: 600 clamp(28px, 3vw, 40px)/1.08 var(--v4-sans), Inter, sans-serif !important; letter-spacing: -.02em; color: #0F5C45 !important; text-transform: none !important; }
.ty-product-detail .v4p-vidNote { margin: 0 !important; max-width: 320px; font: 400 15px/1.55 Inter, system-ui, sans-serif !important; color: #4A524D !important; }
.ty-product-detail .v4p-vidGrid { display: grid; gap: 16px; }
.ty-product-detail .v4p-videoMany .v4p-vidGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ty-product-detail .v4p-vidCard, .ty-product-detail .v4p-vidFrame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 20px; box-shadow: 0 18px 40px rgba(15,40,32,.16); }
.ty-product-detail .v4p-vidCard { position: relative; padding: 0; overflow: hidden; cursor: pointer; background: #1E2421 center / cover no-repeat; }
.ty-product-detail .v4p-vidCard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(15,40,32,.35)); transition: background .25s; }
.ty-product-detail .v4p-vidPlay { position: absolute; left: 50%; top: 50%; z-index: 1; display: flex; align-items: center; justify-content: center; width: 78px; height: 78px; margin: -39px 0 0 -39px; border-radius: 50%; background: #008556; box-shadow: 0 0 0 10px rgba(255,255,255,.35); transition: transform .25s, box-shadow .25s; }
.ty-product-detail .v4p-vidPlay::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(255,255,255,.7); animation: v4pPulse 2.2s ease-out infinite; }
.ty-product-detail .v4p-vidPlay svg { width: 30px; height: 30px; margin-left: 4px; fill: #fff; }
.ty-product-detail .v4p-vidCard:hover .v4p-vidPlay, .ty-product-detail .v4p-vidCard:focus-visible .v4p-vidPlay { transform: scale(1.08); box-shadow: 0 0 0 14px rgba(255,255,255,.4); }
.ty-product-detail .v4p-vidCard:hover::after { background: linear-gradient(180deg, transparent 30%, rgba(15,40,32,.45)); }
@keyframes v4pPulse { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.4); opacity: 0; } }
@media (max-width: 860px) { .ty-product-detail .v4p-video { grid-template-columns: 1fr; } .ty-product-detail .v4p-videoMany .v4p-vidGrid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .v4p-vidPlay::before { animation: none; } }

/* плашка вида чая над названием — крупнее и своим цветом (17.10.2026, слово владельца) */
.ty-product-detail .v4p-pills .v4p-pillDark { padding: 7px 15px !important; border-radius: 6px !important; font-size: 13.5px !important; letter-spacing: .01em; background: #0F5C45; color: #fff !important; }
.ty-product-detail .v4p-pills .ty-product-img-label.v4p-label { padding: 7px 15px !important; border-radius: 6px !important; font-size: 13px !important; }
.ty-product-detail .v4p-pillDark[data-cat="black"] { background: #5B3A29; }
.ty-product-detail .v4p-pillDark[data-cat="green"] { background: #3A7D44; }
.ty-product-detail .v4p-pillDark[data-cat="white"] { background: #8C8470; }
.ty-product-detail .v4p-pillDark[data-cat="yellow"] { background: #B98E16; }
.ty-product-detail .v4p-pillDark[data-cat="oolong"] { background: #B7752F; }
.ty-product-detail .v4p-pillDark[data-cat="puerh"] { background: #6B2D2D; }
.ty-product-detail .v4p-pillDark[data-cat="herbal"] { background: #4E8A3E; }
.ty-product-detail .v4p-pillDark[data-cat="rooibos"] { background: #B5452A; }
.ty-product-detail .v4p-pillDark[data-cat="fruit"] { background: #C2416B; }
.ty-product-detail .v4p-pillDark[data-cat="matcha"] { background: #5E8C1F; }
.ty-product-detail .v4p-pillDark[data-cat="mate"] { background: #6B7A2A; }
.ty-product-detail .v4p-pillDark[data-cat="latte"] { background: #9C6B3C; }
.ty-product-detail .v4p-pillDark[data-cat="bloom"] { background: #7E57C2; }

/* ===== значки свойств — анимированные рисунки в кругах (17.10.2026, слово владельца) =====
   зелёное кольцо — «без…» (черта прочерчивается заново), терракотовое — «содержит», KSR — прежняя картинка в таком же круге */
.ty-product-detail .v4p-loveBadges { gap: 14px !important; }
.ty-product-detail .v4p-bdg { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; width: 76px; height: 76px; border-radius: 50%; border: 2.5px solid #2E9E6B; background: #fff; box-sizing: border-box; box-shadow: 0 6px 14px rgba(15,40,32,.06); }
.ty-product-detail .v4p-bdg.v4p-bdgHas { border-color: #C2533A; }
.ty-product-detail .v4p-bdg svg { width: 34px; height: 34px; overflow: visible; fill: none; stroke: #1E2421; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ty-product-detail .v4p-bdg svg * { transform-box: view-box; }
.ty-product-detail .v4p-bdg b { font: 800 8.5px/1.05 Inter, system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; text-align: center; color: #1E2421; }
.ty-product-detail .v4p-bdg.v4p-bdgImg img { width: 52px !important; height: 52px !important; object-fit: contain; }
.ty-product-detail .bdg-strike { stroke: #2E9E6B; stroke-width: 3; stroke-dasharray: 32; stroke-dashoffset: 32; animation: bdgStrike 4.5s ease-in-out infinite; }
@keyframes bdgStrike { 0%, 10% { stroke-dashoffset: 32; } 30%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -32; } }
.ty-product-detail .v4p-bdg-caffeine .bdg-a { transform-origin: 15px 20px; animation: bdgWob 3s ease-in-out infinite; }
.ty-product-detail .v4p-bdg-caffeine .bdg-b { transform-origin: 26px 20px; animation: bdgWob 3s ease-in-out .5s infinite; }
@keyframes bdgWob { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-10deg); } }
.ty-product-detail .bdg-drop { fill: #8CC4F0; stroke: none; animation: bdgDrop 2.6s ease-in infinite; }
@keyframes bdgDrop { 0%, 20% { transform: translateY(-4px); opacity: 0; } 35% { opacity: 1; } 80% { transform: translateY(4px); opacity: 1; } 100% { transform: translateY(6px); opacity: 0; } }
.ty-product-detail .bdg-sway { transform-origin: 20px 34px; animation: bdgSway 3.2s ease-in-out infinite; }
@keyframes bdgSway { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
.ty-product-detail .v4p-bdg-sugar rect { animation: bdgHop 2.4s ease-in-out infinite; }
.ty-product-detail .bdg-c2 { animation-delay: .2s !important; } .ty-product-detail .bdg-c3 { animation-delay: .4s !important; }
@keyframes bdgHop { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-3px); } }
.ty-product-detail .bdg-wave { stroke: #8CC4F0; animation: bdgWave 2.4s ease-in-out infinite; }
@keyframes bdgWave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
.ty-product-detail .bdg-dna { transform-origin: 20px 20px; animation: bdgDna 4s ease-in-out infinite; }
@keyframes bdgDna { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(-1); } }
.ty-product-detail .v4p-bdgPos svg { stroke: #0F5C45; }
.ty-product-detail .v4p-bdg:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(15,40,32,.1); transition: transform .2s, box-shadow .2s; }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .v4p-bdg svg * { animation: none !important; } .ty-product-detail .bdg-strike { stroke-dashoffset: 0; } }
@media (max-width: 640px) { .ty-product-detail .v4p-bdg { width: 66px; height: 66px; } .ty-product-detail .v4p-bdg svg { width: 28px; height: 28px; } }
/* значки свойств — рисунок крупнее (17.10.2026) */
.ty-product-detail .v4p-bdg { width: 82px; height: 82px; }
.ty-product-detail .v4p-bdg svg { width: 42px; height: 42px; stroke-width: 2.2; }
.ty-product-detail .v4p-bdg b { font-size: 9px; }
@media (max-width: 640px) { .ty-product-detail .v4p-bdg { width: 70px; height: 70px; } .ty-product-detail .v4p-bdg svg { width: 34px; height: 34px; } }
/* значки свойств без окружности (17.10.2026, слово владельца): рисунок и подпись; «содержит» — терракотовый рисунок, «без…» — зелёная черта */
.ty-product-detail .v4p-bdg, .ty-product-detail .v4p-bdg.v4p-bdgHas { width: 76px; height: auto; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none !important; gap: 4px; }
.ty-product-detail .v4p-bdg:hover { box-shadow: none !important; }
.ty-product-detail .v4p-bdg svg { width: 46px; height: 46px; }
.ty-product-detail .v4p-bdg.v4p-bdgHas svg { stroke: #C2533A; }
.ty-product-detail .v4p-bdg.v4p-bdgHas b { color: #C2533A; }
.ty-product-detail .v4p-bdg.v4p-bdgFree b { color: #0F5C45; }
.ty-product-detail .v4p-bdg.v4p-bdgImg { width: 76px; }
.ty-product-detail .v4p-bdg.v4p-bdgImg img { width: 56px !important; height: 56px !important; }
/* таблетки «Key ingredients» — ссылки на страницы ингредиентов (17.10.2026) */
.ty-product-detail .content-description .v4p-ingPills li:has(> a) { padding: 0 !important; }
.ty-product-detail .content-description .v4p-ingPills li > a { display: inline-block; padding: 6px 14px; border-radius: 999px; color: #0F5C45 !important; text-decoration: none !important; transition: background .2s, color .2s; }
.ty-product-detail .content-description .v4p-ingPills li:has(> a):hover { background: #0F5C45; border-color: #0F5C45; }
.ty-product-detail .content-description .v4p-ingPills li > a:hover { color: #fff !important; }
.ty-product-detail .content-description .v4p-bdg b { text-align: center !important; }

/* меньше зелёного под заголовком описания (17.10.2026, «много зелёного, всё сливается»):
   подписи — тёплый золотисто-коричневый, таблетки — тёмный текст на светло-сером (зелёные при наведении), подписи значков — тёмно-серые */
.ty-product-detail .v4p-love .v4p-loveK { color: #9A7A3A !important; }
.ty-product-detail .content-description .v4p-ingPills:not(.v4p-ingRow) li { background: #F6F4EF; border-color: #E8E2D6; color: #2F3A35 !important; }
.ty-product-detail .content-description .v4p-ingPills:not(.v4p-ingRow) li > a { color: #2F3A35 !important; }
.ty-product-detail .content-description .v4p-bdg.v4p-bdgFree b, .ty-product-detail .content-description .v4p-bdg.v4p-bdgPos b { color: #4A524D !important; }
.ty-product-detail .content-description .v4p-bdg.v4p-bdgPos svg { stroke: #1E2421; }

/* таблетки ингредиентов при наведении (18.10.2026, замечание владельца: «сильно зелёная, название не видно»):
   мягкий тёплый фон с золотистой рамкой, текст остаётся тёмным и читаемым */
.ty-product-detail .content-description .v4p-ingPills li:has(> a):hover,
.ty-product-detail .content-description .v4p-ingPills:not(.v4p-ingRow) li:has(> a):hover { background: #F3EBDB !important; border-color: #C9A961 !important; }
.ty-product-detail .content-description .v4p-ingPills li:has(> a):hover > a,
.ty-product-detail .content-description .v4p-ingPills:not(.v4p-ingRow) li:has(> a):hover > a { color: #1E2421 !important; }

/* значок «Kosher» — свой рисунок в стиле остальных значков (18.10.2026): одноцветная шестиконечная звезда, прорисовывается
   линией. Без буквы K в круге — это знак агентства OK Kosher, его можно ставить только при их сертификате */
.ty-product-detail .bdg-tri { stroke-dasharray: 68; stroke-dashoffset: 68; animation: bdgDraw 5s ease-in-out infinite; }
.ty-product-detail .bdg-tri2 { animation-delay: .5s; }
@keyframes bdgDraw { 0% { stroke-dashoffset: 68; } 30%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -68; } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .bdg-tri { stroke-dashoffset: 0; } }

/* отзывы — новый вид (18.10.2026, слово владельца «переделай блок ревью, попап и кнопку») */
.ty-product-detail .v4rv-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 0 0 22px; }
.ty-product-detail .v4rv-head .tab-list-title { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; color: #9A7A3A !important; }
.ty-product-detail .v4rv-sum { display: flex; align-items: center; gap: 14px; }
.ty-product-detail .v4rv-avg { font: 600 clamp(40px, 4.4vw, 56px)/1 var(--v4-cond), sans-serif; color: #1E2421; letter-spacing: -.02em; }
.ty-product-detail .v4rv-stars { display: flex; gap: 2px; }
.ty-product-detail .v4rv-stars svg { width: 22px; height: 22px; }
.ty-product-detail .v4rv-cnt { display: block; margin-top: 5px; font: 500 14px/1 Inter, system-ui, sans-serif; color: #6B726E; }
.ty-product-detail #content_review_attributes > .buttons-container { display: none !important; }
.ty-product-detail .v4rv-head .buttons-container { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.ty-product-detail .v4rv-head .ty-btn.cm-dialog-opener { display: inline-flex !important; align-items: center; gap: 10px; height: 52px !important; min-height: 52px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important; background: #0F5C45 !important; color: #fff !important; font: 600 16px/1 Inter, system-ui, sans-serif !important; text-transform: none !important; opacity: 1 !important; box-shadow: 0 10px 22px rgba(15,92,69,.22); transition: transform .2s, box-shadow .2s, background .2s; }
.ty-product-detail .v4rv-head .ty-btn.cm-dialog-opener:hover { background: #006B45 !important; transform: translateY(-2px); box-shadow: 0 14px 26px rgba(15,92,69,.28); }
.ty-product-detail .v4rv-head .ty-btn.cm-dialog-opener svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s; }
.ty-product-detail .v4rv-head .ty-btn.cm-dialog-opener:hover svg { transform: rotate(-12deg) translateY(-1px); }
.ty-product-detail .posts-table .r-post { position: relative; background: #FBFAF7 !important; border: 1px solid #ECE6DA !important; border-radius: 22px; padding: 24px !important; gap: 12px; transition: transform .25s, box-shadow .25s; }
.ty-product-detail .posts-table .r-post:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(15,40,32,.08); }
.ty-product-detail .posts-table .r-post::after { content: "\201C"; position: absolute; right: 20px; top: 8px; font: 700 64px/1 Georgia, serif; color: #E7DCC4; pointer-events: none; }
.ty-product-detail .posts-table .r-legend { display: grid !important; grid-template-columns: 44px 1fr; grid-template-areas: "av st" "av au" "av dt"; column-gap: 12px; row-gap: 2px; align-items: center; }
.ty-product-detail .posts-table .r-legend > * { float: none !important; margin: 0 !important; }
.ty-product-detail .posts-table .v4rv-av { grid-area: av; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font: 700 18px/1 Inter, system-ui, sans-serif; color: #fff; background: var(--av, #9A7A3A); }
.ty-product-detail .posts-table .ga-rating { grid-area: st; }
.ty-product-detail .posts-table .r-author { grid-area: au; font: 700 16px/1.2 Inter, system-ui, sans-serif !important; color: #1E2421 !important; }
.ty-product-detail .posts-table .r-date { grid-area: dt; font: 500 13px/1.2 Inter, system-ui, sans-serif !important; color: #8A8F8B !important; }
.ty-product-detail .posts-table [class*="ty-icon-star"] { color: #E0A526 !important; font-size: 15px; }
.ty-product-detail .posts-table .ty-icon-star-empty { color: #D9D3C6 !important; }
.ty-product-detail .posts-table .r-message, .ty-product-detail .posts-table .r-message * { font: 400 15px/1.6 Inter, system-ui, sans-serif !important; color: #2F3A35 !important; }

/* окно «написать отзыв» */
.ui-dialog:has(#new_extended_post_dialog) { width: min(560px, calc(100vw - 32px)) !important; border: 0 !important; border-radius: 26px !important; padding: 0 !important; overflow: hidden; box-shadow: 0 30px 80px rgba(15,40,32,.3) !important; }
.ui-dialog:has(#new_extended_post_dialog) .ui-dialog-titlebar { position: absolute !important; right: 14px; top: 14px; z-index: 3; padding: 0 !important; border: 0 !important; background: none !important; }
.ui-dialog:has(#new_extended_post_dialog) .ui-dialog-title { display: none; }
.ui-dialog:has(#new_extended_post_dialog) .ui-dialog-titlebar-close { position: relative !important; right: auto !important; top: auto !important; width: 38px !important; height: 38px !important; margin: 0 !important; padding: 0 !important; border: 1px solid #E8E2D6 !important; border-radius: 50% !important; background: #fff !important; transition: transform .25s; }
.ui-dialog:has(#new_extended_post_dialog) .ui-dialog-titlebar-close:hover { transform: rotate(90deg); }
.ui-dialog:has(#new_extended_post_dialog) .ui-dialog-titlebar-close .ui-icon { position: absolute !important; left: 50% !important; top: 50% !important; margin: 0 !important; transform: translate(-50%, -50%); }
.ui-dialog #new_extended_post_dialog { width: auto !important; height: auto !important; max-height: calc(100vh - 60px) !important; padding: 0 !important; overflow: auto; }
#new_extended_post_dialog .v4rv-popHead { padding: 30px 32px 22px; background: linear-gradient(135deg, #FBF6EA, #F3F7F4); }
#new_extended_post_dialog .v4rv-popHead p { margin: 0 0 6px; font: 700 12px/1 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #9A7A3A; }
#new_extended_post_dialog .v4rv-popHead h3 { margin: 0; padding-right: 40px; font: 600 28px/1.1 var(--v4-cond), sans-serif; color: #1E2421; }
#new_extended_post_dialog form { padding: 22px 32px 28px; }
#new_extended_post_dialog .ty-control-group { margin: 0 0 16px !important; }
#new_extended_post_dialog .ty-control-group__title { display: block; margin: 0 0 7px !important; font: 600 14px/1.2 Inter, system-ui, sans-serif !important; color: #2F3A35 !important; }
#new_extended_post_dialog .ty-control-group__title.cm-required::after { color: #C2533A; }
#new_extended_post_dialog input.input-text, #new_extended_post_dialog textarea { width: 100% !important; max-width: none !important; box-sizing: border-box; height: 48px; padding: 12px 16px !important; border: 1.5px solid #E1DCD1 !important; border-radius: 14px !important; background: #FCFBF8 !important; font: 400 15px Inter, system-ui, sans-serif !important; color: #1E2421; box-shadow: none !important; transition: border-color .2s, box-shadow .2s, background .2s; }
#new_extended_post_dialog textarea { height: 120px; resize: vertical; }
#new_extended_post_dialog input.input-text:focus, #new_extended_post_dialog textarea:focus { outline: none; border-color: #0F5C45 !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(15,92,69,.12) !important; }
#new_extended_post_dialog .rating-table { border-collapse: collapse; }
#new_extended_post_dialog .rating-table td.right { padding: 0 14px 0 0 !important; font: 600 14px Inter, system-ui, sans-serif; color: #2F3A35; vertical-align: middle; }
#new_extended_post_dialog .rating-table tr:last-child { display: none; }
#new_extended_post_dialog .rating-table th { padding: 0 2px !important; }
#new_extended_post_dialog .rating-table th label { display: block; margin: 0 !important; font-size: 32px; line-height: 1; color: #DDD6C8 !important; cursor: pointer; transition: color .15s, transform .15s; }
#new_extended_post_dialog .rating-table th label::before { color: inherit !important; }
#new_extended_post_dialog .rating-table[data-v="1"] th:nth-of-type(-n+1) label, #new_extended_post_dialog .rating-table[data-v="2"] th:nth-of-type(-n+2) label,
#new_extended_post_dialog .rating-table[data-v="3"] th:nth-of-type(-n+3) label, #new_extended_post_dialog .rating-table[data-v="4"] th:nth-of-type(-n+4) label,
#new_extended_post_dialog .rating-table[data-v="5"] th:nth-of-type(-n+5) label { color: #E0A526 !important; }
#new_extended_post_dialog .rating-table tr:has(th:hover) th label { color: #DDD6C8 !important; }
#new_extended_post_dialog .rating-table tr th:has(~ th:hover) label, #new_extended_post_dialog .rating-table tr th:hover label { color: #F2B53A !important; }
#new_extended_post_dialog .rating-table th label:hover { transform: scale(1.18); }
#new_extended_post_dialog .rating-table tr:first-child th:last-child { display: none; }
#new_extended_post_dialog .buttons-container { margin: 6px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
#new_extended_post_dialog .buttons-container .ty-btn { width: 100%; height: 52px !important; border: 0 !important; border-radius: 999px !important; background: #0F5C45 !important; color: #fff !important; font: 600 16px/1 Inter, system-ui, sans-serif !important; text-transform: none !important; letter-spacing: 0; cursor: pointer; transition: background .2s, transform .2s; }
#new_extended_post_dialog .buttons-container .ty-btn:hover { background: #006B45 !important; transform: translateY(-1px); }
@media (max-width: 640px) {
  .ty-product-detail .v4rv-head { align-items: stretch; flex-direction: column; }
  .ty-product-detail .v4rv-head .ty-btn.cm-dialog-opener { width: 100%; justify-content: center; }
  #new_extended_post_dialog .v4rv-popHead, #new_extended_post_dialog form { padding-left: 20px; padding-right: 20px; }
}
/* окно отзыва: звёзды у темы — картинка 16px, рисуем свои крупные (цвет — из color); шапка во всю ширину */
#new_extended_post_dialog .rating-table th label { width: 32px; height: 32px; font-size: 0 !important; background: currentColor !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3-4.6-4.4 6.3-.9z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3-4.6-4.4 6.3-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
#new_extended_post_dialog .v4rv-popHead { width: auto !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
/* звёзды отзывов — зелёные, свои (18.10.2026) */
.ty-product-detail .posts-table .ga-rating .stars { display: inline-flex; gap: 3px; }
.ty-product-detail .posts-table .v4rv-star { width: 18px; height: 18px; }
.ty-product-detail .v4rv-stars { gap: 3px; }
.ty-product-detail .v4rv-stars .v4rv-star { width: 24px; height: 24px; }
#new_extended_post_dialog .rating-table th label { color: #DCE6E1 !important; }
#new_extended_post_dialog .rating-table[data-v="1"] th:nth-of-type(-n+1) label, #new_extended_post_dialog .rating-table[data-v="2"] th:nth-of-type(-n+2) label,
#new_extended_post_dialog .rating-table[data-v="3"] th:nth-of-type(-n+3) label, #new_extended_post_dialog .rating-table[data-v="4"] th:nth-of-type(-n+4) label,
#new_extended_post_dialog .rating-table[data-v="5"] th:nth-of-type(-n+5) label { color: #2E9E6B !important; }
#new_extended_post_dialog .rating-table tr:has(th:hover) th label { color: #DCE6E1 !important; }
#new_extended_post_dialog .rating-table tr th:has(~ th:hover) label, #new_extended_post_dialog .rating-table tr th:hover label { color: #3DBB80 !important; }
/* KSR — та же картинка одним тёмным цветом, размер как у рисунков-значков, подпись снизу */
.ty-product-detail .v4p-bdg.v4p-bdgKsr img { width: 46px !important; height: 46px !important; }
.ty-product-detail .content-description .v4p-bdg.v4p-bdgKsr b { color: #4A524D !important; }
/* окно отзыва: шапка без цветной полосы — у окна свои поля, полоса упиралась в них и обрезалась сверху (18.10.2026, замечание владельца) */
#new_extended_post_dialog .v4rv-popHead { padding: 26px 4px 4px !important; background: none !important; }
#new_extended_post_dialog .v4rv-popHead h3 { font-size: 30px; }
#new_extended_post_dialog form { padding: 18px 4px 24px !important; }
@media (max-width: 640px) { #new_extended_post_dialog .v4rv-popHead, #new_extended_post_dialog form { padding-left: 0 !important; padding-right: 0 !important; } }
/* KSR — знак как у агентства (красная и синяя дуги), крупнее: без пустых полей, по ширине (18.10.2026, слово владельца) */
.ty-product-detail .v4p-bdg.v4p-bdgKsr { width: 84px; }
.ty-product-detail .v4p-bdg.v4p-bdgKsr img { width: 76px !important; height: 49px !important; margin: -2px 0 0; }
@media (max-width: 640px) { .ty-product-detail .v4p-bdg.v4p-bdgKsr img { width: 64px !important; height: 41px !important; } }
/* название чая: слова мягко поднимаются, затем изредка проходит лёгкий блик (18.10.2026, «ненавязчивый эффект к тексту названий») */
.ty-product-detail h1.v4p-ttl .v4p-ttlW { display: inline-block; animation: v4pTtlIn .8s cubic-bezier(.22,1,.36,1) backwards; animation-delay: calc(var(--i) * 90ms + 150ms); }
@keyframes v4pTtlIn { from { opacity: 0; transform: translateY(14px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.ty-product-detail h1.v4p-ttlShine .v4p-ttlW { background: linear-gradient(100deg, #1E2421 0%, #1E2421 42%, #5F9C80 50%, #C9A961 54%, #1E2421 62%, #1E2421 100%) 0 0 / 300% 100% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: v4pTtlShine 9s ease-in-out infinite; animation-delay: calc(var(--i) * 120ms); }
@keyframes v4pTtlShine { 0% { background-position: 100% 0; } 22%, 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail h1.v4p-ttl .v4p-ttlW { animation: none !important; -webkit-text-fill-color: currentColor !important; background: none !important; } }
/* остальные значки свойств (18.10.2026): орех покачивается на ножке, капля подпрыгивает, звезда мерцает, стрелки «перерабатывается» вращаются */
.ty-product-detail .bdg-hang { transform-origin: 20px 6px; animation: bdgHang 3s ease-in-out infinite; }
@keyframes bdgHang { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
.ty-product-detail .bdg-bob { animation: bdgHop 2.6s ease-in-out infinite; }
.ty-product-detail .bdg-twinkle { transform-origin: 28.5px 19px; animation: bdgTwinkle 2.4s ease-in-out infinite; }
@keyframes bdgTwinkle { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.7); opacity: .5; } }
.ty-product-detail .bdg-spin { transform-origin: 20px 20px; animation: bdgSpin 8s linear infinite; }
@keyframes bdgSpin { to { transform: rotate(360deg); } }
.ty-product-detail .v4p-bdg-palmoil .bdg-drop { fill: #C9A961; }
/* окно ингредиента (18.10.2026): картинка, название, описание из базы, ссылка на страницу ингредиента */
.v4p-ingPop { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; background: rgba(20,30,26,.45); backdrop-filter: blur(3px); opacity: 0; transition: opacity .25s; }
.v4p-ingPop.v4p-ingOn { opacity: 1; }
.v4p-ingCard { position: relative; display: grid; grid-template-columns: 220px 1fr; width: min(760px, 100%); max-height: calc(100vh - 32px); overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 30px 80px rgba(15,40,32,.3); transform: translateY(16px) scale(.97); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.v4p-ingOn .v4p-ingCard { transform: none; }
.v4p-ingCard:not(:has(.v4p-ingPic)) { grid-template-columns: 1fr; }
.v4p-ingPic { background: #F6F4EF; display: grid; place-items: center; padding: 22px; }
.v4p-ingPic img { width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 10px 24px rgba(15,40,32,.12); animation: v4pIngPic .6s cubic-bezier(.22,1,.36,1) both .1s; }
@keyframes v4pIngPic { from { transform: scale(.85) rotate(-6deg); opacity: 0; } to { transform: none; opacity: 1; } }
.v4p-ingBody { padding: 30px 32px 28px; overflow-y: auto; }
.v4p-ingBody h3 { margin: 0 40px 12px 0; font: 600 30px/1.1 var(--v4-cond), sans-serif; color: #1E2421; }
.v4p-ingText, .v4p-ingText p { margin: 0 0 12px; font: 400 15.5px/1.6 Inter, system-ui, sans-serif; color: #2F3A35; }
.v4p-ingGo { display: inline-flex; align-items: center; gap: 8px; height: 46px; margin-top: 6px; padding: 0 22px; border-radius: 999px; background: #0F5C45; color: #fff !important; font: 600 15px Inter, system-ui, sans-serif; text-decoration: none !important; transition: background .2s, gap .2s; }
.v4p-ingGo:hover { background: #006B45; gap: 12px; }
.v4p-ingX { position: absolute; right: 14px; top: 14px; z-index: 2; width: 38px; height: 38px; padding: 0; border: 1px solid #E8E2D6; border-radius: 50%; background: #fff; cursor: pointer; display: grid; place-items: center; transition: transform .25s; }
.v4p-ingX:hover { transform: rotate(90deg); }
.v4p-ingX svg { width: 18px; height: 18px; fill: none; stroke: #1E2421; stroke-width: 2; stroke-linecap: round; }
.ty-product-detail .v4p-ingRow li.v4p-ingHas { cursor: pointer; transition: background .2s, border-color .2s; }
.ty-product-detail .v4p-ingRow li.v4p-ingHas:hover, .ty-product-detail .v4p-ingRow li.v4p-ingHas:focus-visible { background: #F3EBDB !important; border-color: #C9A961 !important; outline: none; }
@media (max-width: 640px) {
  .v4p-ingCard { grid-template-columns: 1fr; }
  .v4p-ingPic { padding: 18px; }
  .v4p-ingPic img { max-width: 120px; }
  .v4p-ingBody { padding: 20px 20px 22px; }
  .v4p-ingBody h3 { font-size: 26px; }
}
/* матча: свой блок приготовления (18.10.2026) — чаша, сито с порошком, венчик-часэн, стакан со льдом */
.v4br-matcha .v4m-tea { fill: #9DBF4F; stroke: #0F5C45; stroke-width: 2.4; }
.v4br-matcha[data-mode="iced"] .v4m-tea { fill: #B9D27A; }
.v4br-matcha .v4m-foam circle { fill: #D8E8A8; stroke: none; animation: v4mFoam 2.4s ease-in-out infinite; }
.v4br-matcha .v4m-foam circle:nth-child(2n) { animation-delay: .6s; }
@keyframes v4mFoam { 0%, 100% { transform: scale(.6); opacity: .5; } 50% { transform: scale(1.15); opacity: 1; } }
.v4m-art .v4m-foam circle, .v4m .v4m-foam circle { transform-box: fill-box; transform-origin: center; }
.v4m-whisk { animation: v4mWhisk .9s ease-in-out infinite; }
@keyframes v4mWhisk { 0%, 100% { transform: translateX(-7px) rotate(-6deg); } 50% { transform: translateX(7px) rotate(6deg); } }
.v4m-art .v4m-whisk { transform-origin: 120px 30px; }
.v4m3 .v4m-whisk { transform-origin: 60px 8px; }
.v4m-wH { stroke: #B8934A; stroke-width: 3.5; }
.v4m-wT { fill: #F3E6C4; stroke: #B8934A; stroke-width: 1.6; }
.v4m-wL { stroke: #C9A961; stroke-width: 1.1; }
.v4br-matcha[data-mode="iced"] .v4m-whisk, .v4br-matcha[data-mode="iced"] .v4m-art .v4m-foam { display: none; }
.v4m .v4m-bowl { fill: #fff; stroke: #0F5C45; stroke-width: 2; }
.v4m .v4m-tea { fill: #9DBF4F; stroke: #0F5C45; stroke-width: 1.4; }
.v4m-pile { fill: #8CB23F; stroke: none; transform-box: fill-box; transform-origin: center bottom; animation: v4mPile 3.2s ease-in-out infinite; }
@keyframes v4mPile { 0%, 30% { transform: scaleX(.3); } 80%, 100% { transform: scaleX(1); } }
.v4m-sieve { transform-origin: 100px 18px; animation: v4mTap 3.2s ease-in-out infinite; }
@keyframes v4mTap { 0%, 100% { transform: rotate(0); } 20%, 40%, 60% { transform: rotate(-3deg); } 30%, 50% { transform: rotate(2deg); } }
.v4m-mesh { fill: #F7F3EA; stroke: #B8934A; stroke-width: 1.8; }
.v4m-meshL { stroke: #D9C79A; stroke-width: 1; }
.v4m-sHdl { stroke: #B8934A; stroke-width: 3; }
.v4m-dust { fill: #7FA83A; stroke: none; opacity: 0; animation: v4mDust 1.6s ease-in infinite; }
.v4m-u2 { animation-delay: .3s; } .v4m-u3 { animation-delay: .6s; } .v4m-u4 { animation-delay: .9s; } .v4m-u5 { animation-delay: 1.2s; }
@keyframes v4mDust { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(13px); opacity: 0; } }
.v4m .v4m-water { fill: #C9DE8E; }
.v4m-therm { stroke: #9FB3AE; stroke-width: 4; }
.v4m-bulb { fill: #E46A4A; stroke: #E46A4A; }
.v4m-merc { stroke: #E46A4A; stroke-width: 2.4; stroke-dasharray: 20; animation: v4mMerc 4s ease-in-out infinite; }
@keyframes v4mMerc { 0% { stroke-dashoffset: 20; } 50%, 100% { stroke-dashoffset: 6; } }
.v4m-zig { stroke: #2E9E6B; stroke-width: 2; stroke-dasharray: 26; stroke-dashoffset: 26; animation: v4mZig 1.8s ease-in-out infinite; }
@keyframes v4mZig { 0% { stroke-dashoffset: 26; } 60%, 100% { stroke-dashoffset: 0; opacity: 0; } 50% { opacity: 1; } }
.v4m-shake { transform-origin: 60px 72px; animation: v4mShake .5s ease-in-out infinite; }
@keyframes v4mShake { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }
.v4m-cap { fill: #B8934A; stroke: #8A6A2E; stroke-width: 1.6; }
.v4m-bottle { fill: rgba(255,255,255,.75); stroke: #0F5C45; stroke-width: 2; }
.v4m-liq { fill: #9DBF4F; stroke: none; }
.v4m-mot { stroke: #9FB3AE; stroke-width: 1.8; animation: v4mMot .5s ease-in-out infinite alternate; }
@keyframes v4mMot { from { opacity: .2; } to { opacity: 1; } }
.v4m-milk { fill: #F4F1E8; stroke: none; transform-box: fill-box; transform-origin: center bottom; }
.v4m6 .v4m-milk { animation: v4mRise 4s ease-in-out infinite; }
@keyframes v4mRise { 0%, 20% { transform: scaleY(.2); } 70%, 100% { transform: scaleY(1); } }
.v4m-pour { stroke: #E9E4D6; stroke-width: 3; stroke-dasharray: 30; stroke-dashoffset: 30; animation: v4aPour 4s ease-in-out infinite; }
.v4m-jug { fill: #fff; stroke: #0F5C45; stroke-width: 1.8; }
.v4m-green { fill: #9DBF4F; stroke: none; transform-box: fill-box; transform-origin: center top; animation: v4mSink 4s ease-in-out infinite; }
@keyframes v4mSink { 0%, 15% { transform: scaleY(.2); } 60%, 100% { transform: scaleY(1); } }
.v4m-swirl { stroke: #7FA83A; stroke-width: 1.4; opacity: .7; }
@media (prefers-reduced-motion: reduce) { .v4m *, .v4m-art * { animation: none !important; } .v4m-dust { opacity: .8; } }
/* отзывы: отступ сверху — у товаров без блока заваривания они прилипали к «the finer details» (18.10.2026, «раздвинь блоки») */
.ty-product-detail .v4rv-head { margin-top: clamp(44px, 5vw, 72px); }
/* цветущий чай: свой блок заваривания (18.10.2026) — шарик в стеклянный чайник, вода, цветок раскрывается, из чайника в чашку */
.v4br-bloom .v4br-head { margin-bottom: 0; }
.v4bl-steps { margin-top: 0; }
.v4bl-pot, .v4bl-glass { fill: rgba(230,244,250,.35); stroke: #0F5C45; stroke-width: 2.4; }
.v4bl .v4bl-glass { stroke-width: 2; }
.v4bl-lid { fill: rgba(230,244,250,.5); stroke: #0F5C45; stroke-width: 2.4; }
.v4bl-knob { fill: #0F5C45; stroke: none; }
.v4bl-spout, .v4bl-hdl { fill: none; stroke: #0F5C45; stroke-width: 2.4; stroke-linecap: round; }
.v4bl-hdlS, .v4bl-spoutS { fill: none; stroke: #0F5C45; stroke-width: 2; stroke-linecap: round; }
.v4bl-water { fill: #F4DE9C; opacity: .75; transform-origin: 120px 166px; animation: v4blTint 7s ease-in-out infinite; }
@keyframes v4blTint { 0%, 10% { fill: #EAF4F8; } 60%, 100% { fill: #F2D58A; } }
.v4bl-stem { stroke: #4E9A5C; stroke-width: 2.4; fill: none; }
.v4bl-pet { fill: #F4A6C0; stroke: #D9668E; stroke-width: 1; transform-box: view-box; }
.v4bl-art .v4bl-petals, .v4bl3 .v4bl-petals { animation: v4blOpen 7s ease-in-out infinite; }
.v4bl-art .v4bl-petals { transform-origin: 120px 130px; }
.v4bl3 .v4bl-petals { transform-origin: 60px 55px; }
@keyframes v4blOpen { 0%, 10% { transform: scale(.25) rotate(-30deg); } 55%, 90% { transform: scale(1) rotate(0); } 100% { transform: scale(.25) rotate(-30deg); } }
.v4bl-core { fill: #F2C14E; stroke: none; }
.v4bl-sparks path { stroke: #C9A961; stroke-width: 2; stroke-linecap: round; animation: v4blTw 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.v4bl-sparks path:nth-child(2) { animation-delay: 1.2s; }
@keyframes v4blTw { 0%, 100% { opacity: .3; transform: scale(.7); } 50% { opacity: 1; transform: scale(1); } }
.v4bl-ballB { fill: #6E8B3D; stroke: #4F6A27; stroke-width: 1.4; }
.v4bl-ballL { fill: none; stroke: #A8C46A; stroke-width: 1; }
.v4bl1 .v4bl-ball { animation: v4blDrop 3.2s cubic-bezier(.5,0,.6,1) infinite; }
@keyframes v4blDrop { 0%, 15% { transform: translateY(0); } 55% { transform: translateY(48px); } 62% { transform: translateY(44px); } 68%, 100% { transform: translateY(48px); } }
.v4bl-floor { fill: #DCE6E1; stroke: none; }
.v4bl .v4bl-w { fill: #EAF4F8; }
.v4bl-w3 { fill: #F2D58A; opacity: .6; }
.v4bl-pour { transform-origin: 36px 46px; animation: v4blPour 4s ease-in-out infinite; }
@keyframes v4blPour { 0%, 15%, 85%, 100% { transform: rotate(0); } 35%, 65% { transform: rotate(22deg); } }
.v4bl-w4 { fill: #F2D58A; opacity: .7; }
.v4bl-str { fill: none; stroke: #E0B154; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 30; stroke-dashoffset: 30; animation: v4aPour 4s ease-in-out infinite; }
.v4bl-cupT { fill: #E0B154; transform-box: fill-box; transform-origin: center bottom; animation: v4blCup 4s ease-in-out infinite; }
@keyframes v4blCup { 0%, 35% { transform: scaleY(.1); } 70%, 90% { transform: scaleY(.8); } 100% { transform: scaleY(.1); } }
@media (prefers-reduced-motion: reduce) { .v4bl *, .v4bl-art * { animation: none !important; } }
/* цветущий чай: шаги — круглый стеклянный чайник с крышкой (18.10.2026, «первый шаг как чашка») */
.v4bl-rim { fill: none; stroke: #0F5C45; stroke-width: 2; stroke-linecap: round; }
.v4bl-lidS { fill: rgba(230,244,250,.6); stroke: #0F5C45; stroke-width: 2; stroke-linejoin: round; }
.v4bl-knobS { fill: #0F5C45; stroke: none; }
.v4bl-lidOff { transform-origin: 96px 22px; transform: rotate(14deg); }
.v4bl1 .v4bl-ball { animation-name: v4blDrop2; }
@keyframes v4blDrop2 { 0%, 15% { transform: translateY(0); } 55% { transform: translateY(52px); } 62% { transform: translateY(47px); } 68%, 100% { transform: translateY(52px); } }
.v4bl-pour { transform-origin: 34px 44px; }
/* «Customers also bought» (18.10.2026, слово владельца): карточки без выбора фасовки и корзины, кнопка «More details»;
   заголовок с покачивающимся листиком; карточка приподнимается, фото чуть увеличивается */
.ty-product-also-bought { margin-top: clamp(44px, 5vw, 72px) !important; }
.ty-product-also-bought .ty-footer-general__header { display: flex !important; align-items: center; gap: 14px; margin-bottom: 22px !important; }
.ty-product-also-bought .ty-footer-general__header::before { content: ""; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; background: #EEF3F0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5C45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21c.5-4.5 2.5-8 7-10'/%3E%3Cpath d='M9 18c6.2 0 10.5-3.3 11-12V4h-4C8.7 4 6 7.3 6 12c0 1.3.3 2.6 1 4'/%3E%3C/svg%3E") center / 24px no-repeat; animation: v4abLeaf 3.2s ease-in-out infinite; transform-origin: 50% 80%; }
@keyframes v4abLeaf { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
.ty-product-also-bought .ty-footer-general__header::after { content: ""; flex: 1; height: 1px; margin-left: 10px; background: linear-gradient(90deg, #E3DCCB, transparent); }
.ty-product-also-bought .v4ab-card .ty-group-links .ty-product-group-link,
.ty-product-also-bought .v4ab-card .variants-container,
.ty-product-also-bought .v4ab-card .product-description,
.ty-product-also-bought .v4ab-card .rating-buttons { display: none !important; }
.ty-product-also-bought .v4ab-card { transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; border-radius: 22px; }
.ty-product-also-bought .v4ab-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(15,40,32,.1); }
.ty-product-also-bought .v4ab-card .et-product-main-icon img { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.ty-product-also-bought .v4ab-card:hover .et-product-main-icon img { transform: scale(1.05); }
.ty-product-also-bought .v4ab-card .preview-image { overflow: hidden; border-radius: 18px; }
.ty-product-also-bought .v4ab-more { display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; margin: 14px 0 4px; border: 1.5px solid #CFE3D9; border-radius: 999px; background: #fff; color: #0F5C45 !important; font: 600 15px/1 Inter, system-ui, sans-serif; text-decoration: none !important; transition: background .2s, color .2s, border-color .2s, gap .2s; }
.ty-product-also-bought .v4ab-more svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.ty-product-also-bought .v4ab-card:hover .v4ab-more, .ty-product-also-bought .v4ab-more:focus-visible { background: #0F5C45; border-color: #0F5C45; color: #fff !important; outline: none; }
.ty-product-also-bought .v4ab-card:hover .v4ab-more svg { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { .ty-product-also-bought .ty-footer-general__header::before { animation: none; } }
.ty-product-also-bought .v4ab-more { flex: 0 0 100% !important; width: 100% !important; grid-column: 1 / -1 !important; order: 99; box-sizing: border-box; align-self: stretch; }
/* «more cups to discover» (18.10.2026, по образцу V4): светлая полоса во всю ширину, заголовок по центру, карточки на цветном фоне,
   плашка вида чая, фото целиком (contain, без обрезки), цена «from», кнопка More details */
.ty-product-also-bought.v4ab { position: relative; padding: clamp(40px, 5vw, 64px) 0 clamp(44px, 5vw, 72px) !important; margin-top: clamp(48px, 6vw, 80px) !important; background: #F9F8F5; box-shadow: 0 0 0 100vmax #F9F8F5; clip-path: inset(0 -100vmax); border-top: 1px solid #ECE8DE; }
.ty-product-also-bought.v4ab .v4ab-k { margin: 0 0 10px !important; text-align: center; font: 600 12.5px/1 Inter, system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #13807A; }
.ty-product-also-bought.v4ab .ty-footer-general__header { display: block !important; margin: 0 0 30px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.ty-product-also-bought.v4ab .ty-footer-general__header::before, .ty-product-also-bought.v4ab .ty-footer-general__header::after { content: none !important; display: none !important; }
.ty-product-also-bought.v4ab .ty-footer-general__header span { font: 700 clamp(30px, 3.6vw, 44px)/1.1 Georgia, "Times New Roman", serif !important; letter-spacing: -.01em; color: #13807A !important; text-transform: none !important; }
.ty-product-also-bought.v4ab .grid-list { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ty-product-also-bought.v4ab .grid-list > .ty-column4 { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.ty-product-also-bought.v4ab .grid-list > .ty-column4:empty { display: none !important; }
.ty-product-also-bought .v4ab-card { height: 100%; padding: 16px 16px 18px !important; border: 0 !important; border-radius: 24px !important; background: #F2F6F3 !important; box-shadow: none !important; box-sizing: border-box; }
.ty-product-also-bought .ty-column4:nth-child(4n+2) .v4ab-card { background: #E9F3EE !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+3) .v4ab-card { background: #FDF6DD !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+4) .v4ab-card { background: #F7EEE8 !important; }
.ty-product-also-bought .v4ab-card form, .ty-product-also-bought .v4ab-card .vs-grid { height: 100%; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.ty-product-also-bought .v4ab-card .vs-grid { display: flex !important; flex-direction: column; }
.ty-product-also-bought .v4ab-card .ty-grid-list-product-update { display: flex !important; flex-direction: column; flex: 1; }
.ty-product-also-bought .v4ab-card .preview-image { position: relative; overflow: visible !important; margin: 0 0 14px !important; padding: 34px 6px 6px !important; border-radius: 0 !important; background: none !important; }
.ty-product-also-bought .v4ab-card .preview-image .scroll-image, .ty-product-also-bought .v4ab-card .preview-image a { display: block; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.ty-product-also-bought .v4ab-card .et-product-main-icon img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: contain !important; border-radius: 18px; background: #fff; box-shadow: 0 10px 24px rgba(15,40,32,.08); }
.ty-product-also-bought .v4ab-tag { position: absolute; left: 0; top: 0; z-index: 2; padding: 6px 12px; border-radius: 999px; background: #fff; font: 600 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #13807A; box-shadow: 0 2px 8px rgba(15,40,32,.06); }
.ty-product-also-bought .v4ab-card .title-price-wrapper { flex: 1; }
.ty-product-also-bought .v4ab-card a.product-title { font: 700 18px/1.25 Inter, system-ui, sans-serif !important; color: #1E2421 !important; }
.ty-product-also-bought .v4ab-card .origin-category-wrapper { display: none !important; }
.ty-product-also-bought .v4ab-card .short-description-wrapper { margin-top: 6px; font-size: 14px !important; line-height: 1.5 !important; color: #4A524D !important; }
.ty-product-also-bought .v4ab-price { margin: 10px 0 0 !important; font: 700 16px/1.2 Inter, system-ui, sans-serif !important; color: #13807A !important; }
.ty-product-also-bought .v4ab-more { margin-top: 16px; border-color: #1E2421; color: #1E2421 !important; background: transparent; }
.ty-product-also-bought .v4ab-card:hover .v4ab-more { background: #1E2421; border-color: #1E2421; }
.ty-product-also-bought .v4ab-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(15,40,32,.1) !important; }
@media (max-width: 1006px) { .ty-product-also-bought.v4ab .grid-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 520px) { .ty-product-also-bought.v4ab .grid-list { grid-template-columns: 1fr 1fr; gap: 12px; } .ty-product-also-bought .v4ab-card { padding: 12px 12px 14px !important; } .ty-product-also-bought .v4ab-card a.product-title { font-size: 15px !important; } .ty-product-also-bought .v4ab-card .short-description-wrapper { display: none; } .ty-product-also-bought .v4ab-tag { font-size: 9.5px; padding: 4px 8px; } .ty-product-also-bought .v4ab-more { height: 40px; font-size: 13.5px; } }
.ty-product-also-bought .v4ab-card .preview-image { order: -1 !important; }
.ty-product-also-bought .v4ab-card .title-price-wrapper { order: 1 !important; text-align: left !important; }
.ty-product-also-bought .v4ab-card .title-price-wrapper * { text-align: left !important; }
.ty-product-also-bought .v4ab-more { order: 99 !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+1) .v4ab-card { background: #EEF4F0 !important; }
.ty-product-also-bought.v4ab .ty-grid-list__item.v4ab-card { padding: 16px 16px 18px !important; margin: 0 !important; }
.ty-product-also-bought.v4ab .ty-grid-list__item.v4ab-card .v4ab-tag { left: 4px; top: 2px; }
@media (max-width: 520px) { .ty-product-also-bought.v4ab .ty-grid-list__item.v4ab-card { padding: 12px 12px 14px !important; } }
/* «more cups to discover» — цвета сайта (18.10.2026, слово владельца): золотистый подзаголовок, зелёный заголовок шрифтом сайта,
   тёплые оттенки карточек; эффект — слова поднимаются при появлении, у последнего слова перелив зелёный → золотой → розовый */
.ty-product-also-bought.v4ab .v4ab-k { color: #9A7A3A !important; }
.ty-product-also-bought.v4ab .ty-footer-general__header span { font: 600 clamp(34px, 4.2vw, 54px)/1.05 var(--v4-cond), sans-serif !important; letter-spacing: -.015em; color: #0F5C45 !important; }
.ty-product-also-bought.v4ab .v4ab-w { display: inline-block; opacity: 0; transform: translateY(18px); }
.ty-product-also-bought.v4ab.v4ab-in .v4ab-w { animation: v4pWordUp .65s cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--i) * 80ms); }
.ty-product-also-bought.v4ab .v4ab-wLast { background: linear-gradient(90deg, #0F5C45, #B8934A, #D4537E, #2E9E6B, #0F5C45) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ty-product-also-bought.v4ab.v4ab-in .v4ab-wLast { animation: v4pWordUp .65s cubic-bezier(.22,1,.36,1) both, v4pLoveFlow 6s linear infinite; animation-delay: calc(var(--i) * 80ms), .9s; }
.ty-product-also-bought.v4ab .v4ab-k { opacity: 0; transform: translateY(10px); transition: opacity .6s, transform .6s; }
.ty-product-also-bought.v4ab.v4ab-in .v4ab-k { opacity: 1; transform: none; }
.ty-product-also-bought .ty-column4:nth-child(4n+1) .v4ab-card { background: #EEF4F0 !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+2) .v4ab-card { background: #F6F1E6 !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+3) .v4ab-card { background: #E8F1EC !important; }
.ty-product-also-bought .ty-column4:nth-child(4n+4) .v4ab-card { background: #F8EEE9 !important; }
.ty-product-also-bought .v4ab-tag { color: #0F5C45; }
.ty-product-also-bought .ty-column4:nth-child(4n+2) .v4ab-tag { color: #9A7A3A; }
.ty-product-also-bought .ty-column4:nth-child(4n+4) .v4ab-tag { color: #B5563A; }
.ty-product-also-bought .v4ab-price { color: #0F5C45 !important; }
.ty-product-also-bought .v4ab-more { border-color: #0F5C45; color: #0F5C45 !important; }
.ty-product-also-bought .v4ab-card:hover .v4ab-more { background: #0F5C45; border-color: #0F5C45; color: #fff !important; }
@media (prefers-reduced-motion: reduce) { .ty-product-also-bought.v4ab .v4ab-w, .ty-product-also-bought.v4ab .v4ab-k { opacity: 1 !important; transform: none !important; animation: none !important; } }
/* полоса во всю ширину — лёгким способом (без огромной тени и clip-path, которые тяжело рисуются) */
.ty-product-also-bought.v4ab { box-shadow: none !important; clip-path: none !important; background: none !important; border-top: 0 !important; isolation: isolate; }
.ty-product-also-bought.v4ab::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #F9F8F5; border-top: 1px solid #ECE8DE; z-index: -1; pointer-events: none; }
html:has(.ty-product-also-bought.v4ab), body:has(.ty-product-also-bought.v4ab) { overflow-x: clip; }
/* хлебные крошки на странице товара — без названия товара (оно же крупно в заголовке; на телефоне мешало). 18.10.2026, слово владельца.
   В разметке оно остаётся (для поиска), скрыто только на экране */
html:has(.ty-product-detail) .tygh-content .ty-breadcrumbs-cnt .ty-breadcrumbs .ty-breadcrumbs__current, html:has(.ty-product-detail) .tygh-content .ty-breadcrumbs-cnt .ty-breadcrumbs .ty-breadcrumbs__current_delim { display: none !important; }
/* 18.10.2026, тест устройств: подписи значков свойств и плашки вида чая в «more cups to discover» — не мельче 11px */
.ty-product-detail .v4p-bdg b, .ty-product-detail .content-description .v4p-bdg b { font-size: 11px !important; letter-spacing: .02em; }
.ty-product-also-bought .v4ab-tag { font-size: 11px !important; }
/* 18.10.2026, тест устройств: на телефоне и планшете главное фото товара — во всю ширину колонки (было 242 из 296px и прижато влево) */
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .ty-product-img > a.cm-image-previewer { justify-self: stretch !important; width: 100% !important; box-sizing: border-box !important; padding-right: 0 !important; }
}
/* 18.10.2026, тест устройств: на узком телефоне (до 380px) «Add to bag» не помещалась между количеством и сердечком —
   количество и сердечко в первой строке, кнопка во всю ширину под ними */
@media (max-width: 380px) {
  .ty-product-detail .et-button-container { flex-wrap: wrap !important; justify-content: space-between; row-gap: 12px; }
  .ty-product-detail .et-button-container .ty-product-add-button { flex: 1 1 100% !important; order: 3; }
  .ty-product-detail .et-button-container .ty-product-add-button .ty-btn { width: 100% !important; }
  /* ряд кнопок на всю ширину, сердечко — справа от количества, в первой строке */
  .ty-product-detail .product-info-container { grid-template-areas: "rating rating" "facts facts" "opts opts" "price price" "btns btns" "brew brew" "rest rest" !important; }
  .ty-product-detail .product-info-container > .vs-product-wishlist { grid-area: btns !important; justify-self: end; align-self: start; z-index: 1; }
}
/* 18.10.2026, тест устройств: переключатель Hot / Iced matcha на узком телефоне не переносит подпись на две строки */
.v4br-mode button { white-space: nowrap; }
@media (max-width: 380px) { .v4br-mode button { padding: 0 11px; gap: 5px; font-size: 13px; } }
/* 18.10.2026, тест на настоящих iPhone: кнопка «Write your own Review» — ширина 100% плюс поля выходила за экран на 20px */
.tygh-content .buttons-container > a.ty-btn.ty-btn__secondary.cm-dialog-opener { box-sizing: border-box !important; max-width: 100%; }
/* то же скрытие названия товара в хлебных крошках без :has() — для Safari до 15.4 (iOS 14 показывал название) */
.tygh-content.ty-page-controller-products.ty-page-mode-view .ty-breadcrumbs-cnt .ty-breadcrumbs .ty-breadcrumbs__current, .tygh-content.ty-page-controller-products.ty-page-mode-view .ty-breadcrumbs-cnt .ty-breadcrumbs .ty-breadcrumbs__current_delim { display: none !important; }
/* 19.10.2026, слово владельца: название товара на 25% меньше (было clamp(34px, 4.2vw, 54px), на телефоне 32px) */
.ty-product-detail .et-title .ty-mainbox-title { font-size: clamp(26px, 3.15vw, 40px) !important; }
@media (max-width: 1006px), (orientation: portrait) { .ty-product-detail .et-title .ty-mainbox-title { font-size: 24px !important; } }
/* 19.10.2026: блок приготовления латте-смесей и комбучи — два шага (blocks/v4_mix_steps.tpl) */
.v4br-steps.v4br-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .v4br-steps.v4br-two { grid-template-columns: 1fr; } }
/* 19.10.2026, слово владельца: страница товара на телефоне — главное фото меньше, дополнительные фото столбцом справа
   (раньше лентой под фото, обрезались справа); подпись «Real leaves…» под фото на телефоне не показывается */
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .image-wrap .image-border { flex-direction: row !important; align-items: flex-start !important; justify-content: center; gap: 10px; }
  .ty-product-detail .image-wrap .ty-product-img { flex: 0 1 auto !important; width: calc(100% - 74px) !important; max-width: 300px !important; margin: 0 !important; }
  .ty-product-detail .image-wrap .image-border:not(:has(.ty-product-thumbnails .cm-thumbnails-mini)) .ty-product-img { width: 100% !important; max-width: 340px !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails { flex: 0 0 64px !important; width: 64px !important; max-width: 64px !important; margin: 0 !important; max-height: var(--v4thumbs-h, 300px); overflow-y: auto; overflow-x: hidden; scrollbar-width: none; }
  .ty-product-detail .image-wrap .ty-product-thumbnails .cm-image-gallery { flex-direction: column !important; flex-wrap: nowrap !important; gap: 8px; width: 64px !important; transform: none !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails .ty-product-thumbnails__item { flex: 0 0 64px !important; width: 64px !important; min-width: 0 !important; height: 64px !important; margin: 0 !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails .ty-product-thumbnails__item img { width: 64px !important; height: 64px !important; object-fit: cover; }
  .ty-product-detail .image-wrap .v4p-galleryNote { display: none !important; }
}
/* 19.10.2026, слово владельца: верх карточки товара плотнее — код товара справа в строке плашек, остаток справа в строке звёзд;
   меньше пустого места между названием, описанием и фото; название чуть крупнее */
.ty-product-detail .et-title .v4p-pills { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; }
.ty-product-detail .et-title .v4p-pills > .sku-options-wrapper.v4p-skuTop { margin: 0 0 0 auto !important; padding: 0 !important; border: 0 !important; }
.ty-product-detail .product-info-container > .et-rating-brand { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.ty-product-detail .product-info-container > .et-rating-brand > .vs-stock.v4p-stockRate { margin: 0 0 0 auto !important; }
.ty-product-detail .et-title .ty-mainbox-title { font-size: clamp(28px, 3.4vw, 44px) !important; margin-bottom: 6px !important; }
.ty-product-detail .et-title .v4p-lead { margin-bottom: 0 !important; }
@media (max-width: 1006px), (orientation: portrait) {
  .ty-product-detail .et-title { margin-bottom: 12px !important; }
  .ty-product-detail .et-title .ty-mainbox-title { font-size: 28px !important; margin: 4px 0 6px !important; }
  .ty-product-detail .et-title .v4p-lead { font-size: 16px !important; line-height: 1.45 !important; }
  .ty-product-detail .image-wrap { margin-bottom: 12px !important; }
}
/* поправки: плашки и код — в одну строку (плашки ужимаются); у названия без лишнего нижнего поля; звёзды на компьютере — с отступом от описания */
.ty-product-detail .et-title .v4p-pills { flex-wrap: wrap !important; row-gap: 6px; }
.ty-product-detail .et-title .v4p-pills > * { flex: 0 0 auto; white-space: nowrap; }
.ty-product-detail .et-title .v4p-pills > .sku-options-wrapper.v4p-skuTop { flex: 0 0 auto; white-space: nowrap; }
.ty-product-detail .et-title h1.ty-mainbox-title { padding-bottom: 0 !important; height: auto !important; }
.ty-product-detail .et-title .v4p-lead { padding-top: 2px !important; }
@media (min-width: 1007px) and (orientation: landscape) { .ty-product-detail .product-info-container > .et-rating-brand { margin-top: 12px !important; } }
@media (max-width: 1006px), (orientation: portrait) { .ty-product-detail .et-title .v4p-pills > span { font-size: 13px !important; padding: 6px 12px !important; } }
/* поправки 19.10.2026: код товара — по ширине содержимого (у темы он был во всю строку и уходил вниз);
   название — без наложения строк при переносе */
.ty-product-detail .et-title .v4p-pills > .sku-options-wrapper.v4p-skuTop { display: inline-flex !important; width: auto !important; max-width: none !important; }
.ty-product-detail .et-title h1.ty-mainbox-title { display: block !important; max-height: none !important; line-height: 1.12 !important; height: auto !important; }
.ty-product-detail .et-title h1.ty-mainbox-title .v4p-ttlW { height: auto !important; line-height: 1.12 !important; }
/* 19.10.2026, слово владельца: «The finer details» на телефоне — подпись строки над значениями, ингредиенты во всю ширину
   и плотнее (мельче таблетки, в несколько в ряд) — список короче, показано всё */
@media (max-width: 767px) {
  .ty-product-detail .v4p-details2 dl > div { grid-template-columns: 1fr !important; gap: 8px !important; padding: 12px 0 !important; }
  .ty-product-detail .v4p-details2 dl > div > dd { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
  .ty-product-detail .v4p-details2 dl > div > dd { padding-left: 30px !important; }
  .ty-product-detail .v4p-details2 dl > div > dd > * { margin: 0 !important; }
  .ty-product-detail .v4p-details2 .v4p-ingRow li, .ty-product-detail .v4p-details2 .v4p-cafMg { padding: 5px 11px !important; font-size: 13px !important; line-height: 1.25 !important; }
  .ty-product-detail .v4p-details2 .v4p-flag { padding: 0 !important; }
}
/* 19.10.2026, слово владельца: «more cups to discover» на телефоне — только списком и компактно: фото слева, текст справа */
@media (max-width: 767px) {
  .ty-product-also-bought.v4ab .grid-list { grid-template-columns: 1fr !important; gap: 10px !important; }
  .ty-product-also-bought .v4ab-card { padding: 12px !important; border-radius: 18px !important; }
  .ty-product-also-bought .v4ab-card:hover { transform: none; }
  .ty-product-also-bought .v4ab-card .ty-grid-list-product-update { display: grid !important; grid-template-columns: 92px minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; column-gap: 14px; align-items: start; }
  .ty-product-also-bought .v4ab-card .preview-image { grid-column: 1; grid-row: 1 / span 4; margin: 0 !important; padding: 0 !important; }
  .ty-product-also-bought .v4ab-card .preview-image .v4ab-tag { display: none !important; }
  .ty-product-also-bought .v4ab-card .et-product-main-icon img { border-radius: 12px; }
  .ty-product-also-bought .v4ab-card .title-price-wrapper { display: block !important; grid-column: 2; grid-row: 1; }
  .ty-product-also-bought .v4ab-card a.product-title { font-size: 15px !important; }
  .ty-product-also-bought .v4ab-card .short-description-wrapper { font-size: 12.5px !important; line-height: 1.4 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .ty-product-also-bought .v4ab-card .rating-buttons { grid-column: 2; grid-row: 2; margin: 4px 0 0 !important; }
  .ty-product-also-bought .v4ab-price { font-size: 14px !important; margin-top: 6px !important; }
  .ty-product-also-bought .v4ab-more { grid-column: 2; grid-row: 4; align-self: end; justify-self: start; width: auto !important; height: 32px !important; min-height: 0 !important; margin: 8px 0 0 !important; padding: 0 14px !important; font-size: 13px !important; }
  .ty-product-also-bought .v4ab-card .ty-group-links, .ty-product-also-bought .v4ab-card .vs-quick-view, .ty-product-also-bought .v4ab-card .vs-add-to-wishlist { display: none !important; }
}
/* код товара справа в строке плашек (при переносе — тоже прижат вправо); точка «In stock» по центру строки */
.ty-product-detail .et-title .v4p-pills > .sku-options-wrapper.v4p-skuTop { margin-left: auto !important; }
.ty-product-detail .vs-stock.v4p-stockRate, .ty-product-detail .vs-stock.v4p-stockRate * { display: inline-flex !important; align-items: center !important; line-height: 1 !important; }
.ty-product-detail .vs-stock.v4p-stockRate { gap: 6px; }
/* 19.10.2026, слово владельца: звёзды отзывов у названия — зелёные, как везде на сайте; «In stock» ровно по строке звёзд */
.ty-product-detail .v4p-rating span { color: #0F9D6E !important; }
.ty-product-detail .product-info-container > .et-rating-brand > .v4p-rating { display: inline-flex !important; align-items: center; line-height: 1 !important; }
/* «more cups» на телефоне: кнопка «More details» справа под текстом, а не под фото */
@media (max-width: 767px) {
  .ty-product-also-bought .v4ab-card .ty-grid-list-product-update > .v4ab-more, .ty-product-also-bought .v4ab-card .v4ab-more { grid-column: 2 !important; grid-row: 4 !important; margin-left: 0 !important; }
  .ty-product-also-bought .v4ab-card .vs-grid { display: block !important; }
}
/* 19.10.2026, замечание владельца: точка «In stock» в строке звёзд была ниже текста — внутренние блоки темы давали лишнюю высоту.
   Блок — одна строка: точка и текст по центру */
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate { display: inline-flex !important; align-items: center !important; gap: 6px; height: 20px; padding: 0 !important; background: none !important; border: 0 !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate :is(.stock-wrap, .ty-control-group, .ty-qty-in-stock, .ty-qty-out-of-stock) { display: block !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; font: 600 13px/1 Inter, system-ui, sans-serif !important; color: #0F7A4A !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate :is(.stock-wrap, .ty-control-group, span)::before { display: none !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate::before { content: ""; display: block !important; flex: 0 0 7px; width: 7px; height: 7px; margin: 0 !important; border-radius: 50%; background: #2E9E6B; box-shadow: 0 0 0 3px rgba(46,158,107,.18); }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate:has(.ty-qty-out-of-stock) :is(.ty-control-group, span) { color: #B3261E !important; }
.ty-product-detail .et-rating-brand > .vs-stock.v4p-stockRate:has(.ty-qty-out-of-stock)::before { background: #B3261E; box-shadow: none; }
/* 19.10.2026, замечание владельца: на планшете и узком окне доп. фото снова обрезались — раскладка «фото + столбец справа»
   теперь до 1006px и в портретной ориентации; главное фото на планшете не шире 440px, подпись под фото скрыта */
@media (min-width: 768px) and (max-width: 1006px), (min-width: 768px) and (orientation: portrait) {
  .ty-product-detail .image-wrap .ty-product-img { max-width: 440px !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails { flex-basis: 72px !important; width: 72px !important; max-width: 72px !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails .cm-image-gallery { width: 72px !important; }
  .ty-product-detail .image-wrap .ty-product-thumbnails .ty-product-thumbnails__item, .ty-product-detail .image-wrap .ty-product-thumbnails .ty-product-thumbnails__item img { width: 72px !important; height: 72px !important; flex-basis: 72px !important; }
}
/* 19.10.2026, слово владельца: подпись «Real leaves. Beautiful ingredients…» под фото — не на телефонах и не на планшетах
   (в т.ч. iPad горизонтально до 1366px и любой сенсорный экран) */
@media (max-width: 1366px), (orientation: portrait), (pointer: coarse) { .ty-product-detail .v4p-galleryNote { display: none !important; } }
/* 19.10.2026, слово владельца: инструкция заваривания на телефоне занимала много места — каждый шаг строкой:
   картинка слева (меньше), справа значение, заголовок и пояснение; номер шага мелко справа сверху */
@media (max-width: 560px) {
  .v4br-steps li { display: grid !important; grid-template-columns: 76px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; align-content: start; padding: 16px 16px 16px 12px !important; }
  .v4br-steps li > .v4br-i.v4br-ill { grid-column: 1; grid-row: 1 / span 5; width: 76px !important; height: 52px !important; margin: 2px 0 0 !important; }
  .v4br-steps li > .v4br-i.v4br-ill svg.v4a { width: 76px !important; height: 52px !important; }
  .v4br-steps li > :not(.v4br-i):not(.v4br-n) { grid-column: 2; }
  .v4br-steps li > .v4br-v { font-size: 19px !important; line-height: 1.2 !important; padding-right: 22px; }
  .v4br-steps li > .v4br-sub { font-size: 12.5px !important; }
  .v4br-steps li > .v4br-t { margin-top: 4px !important; font-size: 14px !important; }
  .v4br-steps li > .v4br-d { font-size: 13px !important; line-height: 1.4 !important; }
  .v4br-n { top: 14px !important; right: 14px !important; font-size: 11px !important; }
  .v4br-art { max-height: 150px; }
}
/* 19.10.2026, слово владельца «съехался сток»: у товара без отзывов звёзды скрыты — сток не прижимаем вправо, ставим в начало строки */
/* 19.10.2026, новое слово владельца: сток всегда справа, и без отзывов тоже (прежнее «без отзывов — слева» отменено) */
.ty-product-detail .product-info-container > .et-rating-brand > .vs-stock.v4p-stockRate { margin: 0 0 0 auto !important; }
/* 19.10.2026, слово владельца: в «more cups to discover» стикеры (Sale и др.) не нужны — они наезжали на плашку вида чая */
.v4ab .ty-product-grid-labels, .v4ab .ty-product-labels, .v4ab [class*="sticker"] { display: none !important; }
/* строка плашек, созданная только под код товара (у товара нет плашек категории) — код справа */
.ty-product-detail .et-title .v4p-pills.v4p-pillsEmpty { display: flex; justify-content: flex-end; }
/* 19.10.2026, слово владельца «сделай цветным, как в примере»: название переливается постоянно (зелёный → шалфей → золото), а не редким бликом */
.ty-product-detail h1.v4p-ttlShine .v4p-ttlW { background: linear-gradient(100deg, #1A1B1C 0%, #2B2D30 24%, #3C3D3F 40%, #6B6E72 50%, #3C3D3F 60%, #2B2D30 76%, #1A1B1C 100%) 0 0 / 300% 100% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: v4pTtlFlow 10s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -400ms); }
@keyframes v4pTtlFlow { from { background-position: 0% 0; } to { background-position: 100% 0; } }
/* 15.10.2026, слово владельца: «Nutrition facts» всегда свёрнуты — виден заголовок со стрелкой, нажатие раскрывает таблицу */
.v4p-nfCard .nf-title { cursor: pointer; display: flex !important; align-items: center; justify-content: center; gap: 8px; user-select: none; }
.v4p-nfCard .nf-title::after { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(2px) rotate(-135deg); transition: transform .25s ease; }
.v4p-nfCard.v4p-nfClosed .nf-title::after { transform: translateY(-3px) rotate(45deg); }
.v4p-nfCard.v4p-nfClosed .nf-container *:not(.nf-title):not(:has(.nf-title)) { display: none !important; }
.v4p-nfCard.v4p-nfClosed .nf-title { margin-bottom: 0 !important; }
/* 15.10.2026, слово владельца (снимок): на телефоне состав — в одной строке с подписью «Ingredients», таблетки справа */
@media (max-width: 767px) {
  .ty-product-detail .v4p-details2 dl > div:has(.v4p-ingRow) { grid-template-columns: auto minmax(0, 1fr) !important; align-items: center !important; gap: 12px !important; }
  .ty-product-detail .v4p-details2 dl > div:has(.v4p-ingRow) > dd { padding-left: 0 !important; justify-content: flex-end; }
  .ty-product-detail .v4p-details2 dl > div:has(.v4p-ingRow) .v4p-ingRow { justify-content: flex-end; }
}
/* 15.10.2026, слово владельца (снимок): и остальные строки «деталей» на телефоне — значение справа в одной строке с подписью */
@media (max-width: 767px) {
  .ty-product-detail .v4p-details2 dl > div { grid-template-columns: auto minmax(0, 1fr) !important; align-items: center !important; gap: 12px !important; }
  .ty-product-detail .v4p-details2 dl > div > dd { padding-left: 0 !important; justify-content: flex-end; text-align: right; }
}
@media (max-width: 767px) { .ty-product-detail .v4p-details2 dd { column-gap: 8px !important; } .ty-product-detail .v4p-details2 .v4p-caf { gap: 1px; } .ty-product-detail .v4p-details2 .v4p-caf i, .ty-product-detail .v4p-details2 .v4p-caf svg { width: 17px; height: 17px; } }
/* 15.10.2026, слово владельца: название товара — перелив почти чёрный → коричневый → золотистый, без зелёного */
/* 15.10.2026, слово владельца: словесный уровень кофеина скрыт (листики и мг остаются); вернуть — убрать это правило */
.ty-product-detail .v4p-details2 .v4p-cafTxt { display: none !important; }
/* 15.10.2026, слово владельца: «Low stock» (5 и меньше) — янтарным, точка тоже */
.ty-qty-in-stock.v4-lowStock { color: #B26A00 !important; }
.ty-qty-in-stock.v4-lowStock::before { background: #E39A1E !important; box-shadow: 0 0 0 3px rgba(227,154,30,.2) !important; }
/* 15.10.2026, слово владельца: «Low stock» — янтарный (точку и цвет задаёт обёртка .vs-stock), точка мягко пульсирует */
.ty-product-detail .vs-stock:has(.v4-lowStock), .ty-product-detail .vs-stock:has(.v4-lowStock) * { color: #B26A00 !important; }
.ty-product-detail .vs-stock:has(.v4-lowStock)::before { background: #E39A1E !important; box-shadow: 0 0 0 3px rgba(227,154,30,.22) !important; animation: v4LowPulse 1.8s ease-in-out infinite; }
@keyframes v4LowPulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(227,154,30,.22); } 50% { box-shadow: 0 0 0 6px rgba(227,154,30,.05); } }
/* 15.10.2026, слово владельца: «Out of stock» — грустная чашка слева: покачивается, из глаза скатывается слеза */
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn.ty-product-out-of-stock { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px; }
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn.ty-product-out-of-stock::before {
  content: ""; display: inline-block; flex: 0 0 40px; width: 40px; height: 32px; align-self: center; transform-origin: 50% 90%; animation: v4OosSad 4s ease-in-out infinite;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3 10.5 26 16.5'%3E%3Cpath d='M5 12h18v7a7 7 0 0 1-7 7h-4a7 7 0 0 1-7-7z' fill='%23fff' stroke='%236b7472' stroke-width='1.6'/%3E%3Cpath d='M23 14h2a3 3 0 0 1 0 6h-2' fill='none' stroke='%236b7472' stroke-width='1.6'/%3E%3Cpath d='M9.6 15.6l2.2.8M18.4 15.6l-2.2.8' stroke='%236b7472' stroke-width='1.2' stroke-linecap='round'/%3E%3Ccircle cx='11' cy='17.6' r='.9' fill='%236b7472'/%3E%3Ccircle cx='17' cy='17.6' r='.9' fill='%236b7472'/%3E%3Cpath d='M11.2 23c1.5-1.5 4.1-1.5 5.6 0' fill='none' stroke='%236b7472' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M11 18.8c-.9 1.3-.9 2.2 0 2.6c.9-.4.9-1.3 0-2.6z' fill='%237FB3D5'%3E%3CanimateTransform attributeName='transform' type='translate' values='0 0;0 0;0 5;0 5' keyTimes='0;.35;.8;1' dur='2.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0;1;1;0' keyTimes='0;.35;.75;1' dur='2.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes v4OosSad { 0%, 100% { transform: rotate(0) translateY(0); } 30% { transform: rotate(-6deg) translateY(1px); } 60% { transform: rotate(4deg) translateY(1px); } }
@media (prefers-reduced-motion: reduce) { .ty-product-detail .ty-btn.ty-product-out-of-stock::before, .ty-product-detail .vs-stock:has(.v4-lowStock)::before { animation: none !important; } }
/* 15.10.2026, слово владельца: баннер «You're on the waiting list» после «Notify me» (v4-tovar.js, .v4wl) */
.ty-product-detail .v4wl { display: flex; align-items: center; gap: 18px; width: 100%; box-sizing: border-box; padding: 18px 22px; border-radius: 18px;
  background: linear-gradient(100deg, #FCE9D7 0%, #F8F4EC 45%, #E3F1E8 100%); border: 1px solid #D5E4DC; animation: v4wlIn .55s cubic-bezier(.22,1,.36,1) both; }
.ty-product-detail .v4wl-art { flex: 0 0 104px; height: 96px; }
.ty-product-detail .v4wl-art svg { width: 100%; height: 100%; overflow: visible; }
.ty-product-detail .v4wl-txt { min-width: 0; }
.ty-product-detail .v4wl-k { margin: 0 0 2px !important; font: 700 11px/1.3 var(--v4-sans), sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #2E9E6B !important; }
.ty-product-detail .v4wl-t { margin: 0 0 4px !important; font: 700 20px/1.25 var(--v4-sans), sans-serif !important; color: #0F5C45 !important; }
.ty-product-detail .v4wl-d { margin: 0 0 4px !important; font: 400 14.5px/1.45 var(--v4-sans), sans-serif !important; color: #27382F !important; }
.ty-product-detail .v4wl-d b { font-weight: 600; word-break: normal; overflow-wrap: break-word; white-space: nowrap; }
.ty-product-detail .v4wl-n { margin: 0 !important; font: 400 12.5px/1.4 var(--v4-sans), sans-serif !important; color: #6B7472 !important; }
.v4wl svg * { transform-box: fill-box; }
.v4wl .v4wl-glow { fill: #fff; opacity: .7; transform-origin: 50% 50%; animation: v4wlGlow 3.4s ease-in-out infinite; }
.v4wl .v4wl-board { transform-origin: 50% 100%; animation: v4wlPop .7s cubic-bezier(.34,1.56,.64,1) .1s both, v4wlFloat 4s ease-in-out 1s infinite; }
.v4wl .v4wl-tick { stroke-dasharray: 12; stroke-dashoffset: 12; animation: v4wlTick .5s ease-out .7s forwards; }
.v4wl .v4wl-bell { transform-origin: 50% 0%; animation: v4wlRing 2.4s ease-in-out .9s infinite; }
.v4wl .v4wl-ring { opacity: 0; animation: v4wlRingFx 2.4s ease-out .9s infinite; }
.v4wl .v4wl-sp { transform-origin: 50% 50%; animation: v4wlTw 2.6s ease-in-out infinite; }
.v4wl .v4wl-sp2 { animation-delay: -1.3s; }
.v4wl .v4wl-leaf { transform-origin: 50% 50%; animation: v4wlLeaf 5s ease-in-out infinite; }
.v4wl .v4wl-l2 { animation-delay: -2.5s; }
@keyframes v4wlIn { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes v4wlPop { from { transform: scale(.3) rotate(-8deg); opacity: 0; } to { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes v4wlFloat { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-1.5deg); } }
@keyframes v4wlTick { to { stroke-dashoffset: 0; } }
@keyframes v4wlRing { 0%, 60%, 100% { transform: rotate(0); } 10% { transform: rotate(14deg); } 20% { transform: rotate(-12deg); } 30% { transform: rotate(8deg); } 40% { transform: rotate(-5deg); } }
@keyframes v4wlRingFx { 0%, 4% { opacity: 0; } 12% { opacity: 1; } 40%, 100% { opacity: 0; } }
@keyframes v4wlTw { 0%, 100% { opacity: .2; transform: scale(.5); } 50% { opacity: 1; transform: scale(1); } }
@keyframes v4wlLeaf { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(3px, -5px) rotate(18deg); } }
@keyframes v4wlGlow { 0%, 100% { transform: scale(1); opacity: .6; } 50% { transform: scale(1.08); opacity: .9; } }
@media (max-width: 600px) { .ty-product-detail .v4wl { padding: 14px 16px; gap: 12px; } .ty-product-detail .v4wl-art { flex-basis: 78px; height: 72px; } .ty-product-detail .v4wl-t { font-size: 17px !important; } }
@media (prefers-reduced-motion: reduce) { .v4wl, .v4wl svg * { animation: none !important; } .v4wl .v4wl-tick { stroke-dashoffset: 0; } }
.ty-product-detail .v4wl, .ty-product-detail .v4wl * { text-align: left !important; }
@media (max-width: 600px) { .ty-product-detail .v4wl { flex-direction: column; align-items: flex-start; } .ty-product-detail .v4wl-art { flex-basis: auto; width: 96px; height: 88px; } }
/* 15.10.2026, слово владельца: код товара — строкой в блоке «детали», без рамки-таблетки, без подписи «Code:» */
.ty-product-detail .v4p-details2 .v4p-skuDet, .ty-product-detail .v4p-details2 .v4p-skuDet .ty-sku-item { display: inline !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; position: static !important; float: none !important; }
.ty-product-detail .v4p-details2 .v4p-skuDet label { display: none !important; }
.ty-product-detail .v4p-details2 .v4p-skuDet span { font: 500 15px/1.5 Inter, system-ui, sans-serif !important; color: #1E2421 !important; letter-spacing: .02em; }
/* 15.10.2026, слово владельца: код товара — тем же шрифтом, что остальные значения «деталей» */
.ty-product-detail .v4p-details2 dd .v4p-skuDet span, .ty-product-detail .v4p-details2 dd .v4p-skuDet .ty-sku-item span[id^="product_code_"] { font: 400 15px/1.5 Inter, system-ui, sans-serif !important; letter-spacing: normal !important; color: #1E2421 !important; }
/* 15.10.2026, слово владельца (схема на снимке): «In stock» вверху справа, в строке плашек; звёзды и «страна · кофеин» — одной строкой */
.ty-product-detail .et-title .v4p-pills { display: flex !important; flex-wrap: wrap; align-items: center; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp { margin: 0 0 0 auto !important; display: inline-flex !important; align-items: center; gap: 7px; float: none !important; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2E9E6B; box-shadow: 0 0 0 3px rgba(46,158,107,.18); }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp :is(.stock-wrap, .ty-control-group, .ty-qty-in-stock, .ty-qty-out-of-stock) { display: inline !important; margin: 0 !important; padding: 0 !important; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.ty-qty-out-of-stock)::before { background: #B3261E; box-shadow: none; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.ty-qty-out-of-stock), .ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.ty-qty-out-of-stock) * { color: #B3261E !important; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.v4-lowStock)::before { background: #E39A1E !important; box-shadow: 0 0 0 3px rgba(227,154,30,.22) !important; animation: v4LowPulse 1.8s ease-in-out infinite; }
.ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.v4-lowStock), .ty-product-detail .et-title .v4p-pills > .vs-stock.v4p-stockUp:has(.v4-lowStock) * { color: #B26A00 !important; }
.ty-product-detail .v4p-factsLine.v4p-factsRate { justify-content: flex-start; }
.ty-product-detail .v4p-factsLine.v4p-factsRate > .et-rating-brand { margin: 0 auto 0 0 !important; padding: 0 !important; border: 0 !important; flex: 0 1 auto; min-width: 0; }
@media (max-width: 640px) { .ty-product-detail .v4p-factsLine.v4p-factsRate > .et-rating-brand { flex: 1 1 100%; margin: 0 !important; } }
/* 15.10.2026, слово владельца: в строке «страна · кофеин · отзывы» отзывы — справа */
.ty-product-detail .v4p-factsLine.v4p-factsRate > .et-rating-brand { margin: 0 0 0 auto !important; }
@media (max-width: 640px) { .ty-product-detail .v4p-factsLine.v4p-factsRate > .et-rating-brand { margin: 0 !important; } }
/* 15.10.2026, слово владельца: количество отзывов скрыто (звёзды и оценка остаются); вернуть — убрать правило */
.ty-product-detail .v4p-rating .v4p-ratingN { display: none !important; }
/* 15.10.2026, слово владельца: больше воздуха между названием, подзаголовком и строкой «страна · кофеин» и еле заметные линии */
.ty-product-detail .et-title p.v4p-lead { margin-top: 14px !important; padding-top: 14px !important; border-top: 1px solid rgba(30,36,33,.07) !important; }
.ty-product-detail .v4p-factsLine { margin-top: 18px !important; padding-top: 16px !important; border-top: 1px solid rgba(30,36,33,.07) !important; }
/* 17.10.2026, слово владельца: листание миниатюр фото товара (стрелки вверх/вниз) — скрытые темой миниатюры (.hidden) действительно скрываются; иначе стрелки «работали», а на экране ничего не менялось */
.ty-product-thumbnails .cm-image-gallery .ty-product-thumbnails__item.hidden { display: none !important; }
.ty-product-thumbnails .ty-show-up-images.inactive, .ty-product-thumbnails .ty-show-more-images.inactive { opacity: .3; pointer-events: none; }
/* 17.10.2026, слово владельца: выбор фасовки/цвета и количества — заметнее: чёткая рамка, белый фон, при наведении зелёная */
select.cm-variants, select.cm-amount.ty-btn-changer, .ty-product-options select, .cm-picker-product-options select {
  border: 1.5px solid #AFC1B7 !important; background-color: #fff !important; color: #1E2421 !important; font-weight: 600 !important;
  box-shadow: 0 1px 3px rgba(15,92,69,.08) !important; transition: border-color .15s, box-shadow .15s; cursor: pointer; }
select.cm-variants:hover, select.cm-amount.ty-btn-changer:hover, .ty-product-options select:hover,
select.cm-variants:focus, select.cm-amount.ty-btn-changer:focus, .ty-product-options select:focus {
  border-color: #0F5C45 !important; box-shadow: 0 0 0 3px rgba(15,92,69,.12) !important; outline: none; }
/* 17.10.2026, слово владельца: миниатюры фото товара слева — картинка целиком, без обрезки и увеличения */
.ty-product-thumbnails .ty-product-thumbnails__item img, .ty-product-thumbnails img.ty-pict { object-fit: contain !important; transform: none !important; width: 100% !important; height: 100% !important; background: #fff; }
.ty-product-thumbnails .ty-product-thumbnails__item { aspect-ratio: 1 / 1; height: auto !important; overflow: hidden; }
/* 17.10.2026, слово владельца: «more cups to discover» — без счётчика количества и без второй цены (у плиток своя строка «from $…» и «More details») */
.ty-product-also-bought .ty-product-amount-grid { display: none !important; }
.ty-product-also-bought .vs-grid .prices-container:not(:has(.v4ab-from)) { display: none !important; }
/* 17.10.2026, слово владельца: 6 миниатюр на компьютере — квадратные 64×64, колонка без ограничения высоты (6-я обрезалась) */
@media (min-width: 1008px) {
  .ty-product-thumbnails.with-slider .cm-image-gallery, .ty-product-thumbnails .cm-image-gallery { max-height: none !important; height: auto !important; overflow: visible !important; }
  .ty-product-thumbnails .ty-product-thumbnails__item { width: 64px !important; height: 64px !important; min-height: 0 !important; aspect-ratio: auto; margin: 0 auto 8px !important; padding: 0 !important; box-sizing: border-box; }
  .ty-product-thumbnails .ty-product-thumbnails__item picture { display: block; width: 100%; height: 100%; }
}
@media (min-width: 1008px) {
  .ty-product-thumbnails .ty-product-thumbnails__item { margin: 0 auto !important; }
  .ty-product-block .ty-product-thumbnails, .ty-product-thumbnails.with-slider { height: auto !important; max-height: none !important; }
}
@media (min-width: 1008px) {
  .ty-product-thumbnails .ty-product-thumbnails__item { width: 60px !important; height: 60px !important; }
  .ty-product-thumbnails.with-slider { padding-bottom: 26px !important; box-sizing: content-box; }
}
/* 6 миниатюр на телефоне и планшете: колонка без ограничения высоты, место под стрелку */
@media (max-width: 1007px) {
  .ty-product-thumbnails, .ty-product-thumbnails.with-slider { height: auto !important; max-height: none !important; }
  .ty-product-thumbnails.with-slider { padding-bottom: 26px !important; box-sizing: content-box; }
  .ty-product-thumbnails .ty-product-thumbnails__item { margin: 0 auto !important; }
}
@media (max-width: 599px) { .ty-product-thumbnails .ty-product-thumbnails__item { width: 56px !important; height: 56px !important; } }
@media (min-width: 600px) and (max-width: 1007px) { .ty-product-thumbnails .ty-product-thumbnails__item { width: 64px !important; height: 64px !important; } }
@media (max-width: 1007px) { .ty-product-thumbnails .cm-image-gallery { height: auto !important; } .ty-product-thumbnails .cm-image-gallery::-webkit-scrollbar { display: none; } }
/* миниатюры с прокруткой (17.10.2026, слово владельца) */
.ty-product-thumbnails.v4-thScroll { position: relative; padding-bottom: 0 !important; height: auto !important; max-height: none !important; }
.ty-product-thumbnails.v4-thScroll .ty-show-up-images, .ty-product-thumbnails.v4-thScroll .ty-show-more-images { display: none !important; }
.ty-product-thumbnails.v4-thScroll .cm-image-gallery { height: auto !important; scroll-behavior: smooth; overscroll-behavior: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: y proximity; }
.ty-product-thumbnails.v4-thScroll .cm-image-gallery::-webkit-scrollbar { display: none; }
.ty-product-thumbnails.v4-thScroll .ty-product-thumbnails__item { scroll-snap-align: start; flex: 0 0 auto; }
.ty-product-thumbnails.v4-thScroll .ty-product-thumbnails__item.hidden { display: block !important; }
.v4-thArr { position: absolute; left: 50%; transform: translateX(-50%); z-index: 3; width: 34px; height: 26px; border: 0; border-radius: 999px; background: rgba(255,255,255,.94); color: #0F5C45; box-shadow: 0 2px 8px rgba(0,0,0,.14); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: opacity .2s; }
.v4-thArr[hidden] { display: none !important; }
.v4-thArr:hover { background: #0F5C45; color: #fff; }
.v4-thArr-up { top: 2px; }
.v4-thArr-down { bottom: 2px; }
.ty-product-thumbnails .v4-thWrap { position: relative; }
.v4-thWrap .v4-thArr-up { top: 2px !important; } .v4-thWrap .v4-thArr-down { bottom: 2px !important; top: auto !important; }
/* 16.10.2026, слово владельца («миниатюры обрезаны»): у картинки в ячейке был отступ 3px от темы при ширине 100% — съезжала вправо-вниз и обрезалась рамкой */
.ty-product-thumbnails .ty-product-thumbnails__item img, .ty-product-thumbnails img.ty-pict { margin: 0 !important; display: block !important; max-width: 100% !important; }
/* 16.10.2026: надпись кнопки корзины подгоняется под ширину (--v4btn-fs ставит v4-tovar.js) */
.ty-product-detail .et-button-container .ty-product-add-button .ty-btn[data-v4label]::after { font-size: var(--v4btn-fs, 16px) !important; white-space: nowrap !important; }
/* надпись кнопки — та, что выбрал скрипт по ширине (полная с ценой или короткая без цены); data-v4fit ставит v4-tovar.js */
.ty-product-detail form .et-button-container .ty-product-add-button .ty-btn[data-v4label][data-v4fit]::after,
.ty-product-detail form.v4-inCart .et-button-container .ty-product-add-button .ty-btn[data-v4added][data-v4fit]::after { content: attr(data-v4fit) !important; }
/* 16.10.2026, слово владельца («на мобильном эти линки бесполезны, кому надо — опустится вниз»): на телефоне нет строки-ссылок
   «Get to know your tea / The finer details / How to steep» */
@media (max-width: 767px) { .ty-product-detail .v4p-anchors { display: none !important; } }
/* 16.10.2026, слово владельца («давай кнопками»): на компьютере ссылки «Get to know your tea / The finer details / How to steep» — кнопки-«таблетки»
   (на телефоне строки нет — правило выше) */
@media (min-width: 768px) {
  .ty-product-detail .v4p-anchors { gap: 10px !important; padding: 18px 0 !important; border-top: 0 !important; border-bottom: 0 !important; }
  .ty-product-detail .v4p-anchors a { display: inline-flex; align-items: center; height: 42px; padding: 0 20px; border: 1.5px solid #D6E2DA; border-radius: 999px; background: #fff; color: #0F5C45 !important; font: 600 15px/1 Inter, system-ui, sans-serif; transition: background .2s, border-color .2s; }
  .ty-product-detail .v4p-anchors a:hover, .ty-product-detail .v4p-anchors a:focus-visible { background: #E7F2EA; border-color: #0F5C45; color: #0F5C45 !important; outline: none; }
}
/* 16.10.2026, снимок владельца: на телефоне без строки ссылок-вкладок заголовок «A little more to fall in love with» прилип к кнопке «Add to cart» —
   у блока описания отступ сверху и тонкая линия, как была у строки ссылок */
@media (max-width: 767px) {
  .ty-product-detail .content-description { margin-top: 28px !important; padding-top: 26px !important; border-top: 1px solid #E3E7E5 !important; }
}

/* 17.10.2026, снимок владельца (карточка товара на телефоне): меньше пустых промежутков между значками, названием, описанием, фото и строкой
   «страна / кофеин»; главное фото меньше, миниатюры справа в два столбца (если фото больше одного) — варианты фасовки и покупка выше.
   Одно фото — меньше прежнего, по центру. Компьютер не меняется */
@media (max-width: 767px) {
  html body .ty-product-detail .et-title .v4p-pills { margin: 0 0 8px !important; }
  html body .ty-product-detail .et-title h1.v4p-ttl { margin: 0 0 2px !important; }
  html body .ty-product-detail .et-title p.v4p-lead { margin-top: 8px !important; padding-top: 10px !important; padding-bottom: 0 !important; }
  html body .ty-product-detail .et-title { margin-bottom: 12px !important; }
  html body .ty-product-detail .image-wrap { margin-bottom: 4px !important; }
  html body .ty-product-detail .image-wrap .image-border { justify-content: center !important; align-items: flex-start !important; gap: 12px !important; }
  html body .ty-product-detail .image-wrap .ty-product-img { width: min(62vw, 240px) !important; max-width: 240px !important; grid-template-columns: 100% !important; margin: 0 !important; }
  html body .ty-product-detail .image-wrap .ty-product-img.with-thumbnails { width: calc(100% - 132px) !important; max-width: 260px !important; }
  html body .ty-product-detail .image-wrap .ty-product-img img.ty-pict { width: 100% !important; height: auto !important; }
  html body .ty-product-detail .image-wrap .ty-product-thumbnails.v4-thScroll { width: 120px !important; max-width: 120px !important; flex: 0 0 120px !important; margin: 0 !important; }
  html body .ty-product-detail .image-wrap .v4-thWrap { height: auto !important; max-height: none !important; overflow: visible !important; }
  html body .ty-product-detail .image-wrap .ty-product-thumbnails .cm-image-gallery { display: grid !important; grid-template-columns: repeat(2, 56px) !important; gap: 8px !important; width: 120px !important; max-width: 120px !important; height: auto !important; max-height: none !important; overflow: visible !important; }
  html body .ty-product-detail .image-wrap .ty-product-thumbnails .cm-image-gallery > .ty-product-thumbnails__item { width: 56px !important; min-width: 56px !important; max-width: 56px !important; height: 56px !important; min-height: 0 !important; flex: none !important; margin: 0 !important; }
  html body .ty-product-detail .image-wrap .ty-product-thumbnails .cm-image-gallery > .ty-product-thumbnails__item img { width: 100% !important; max-width: 100% !important; height: 100% !important; object-fit: cover; }
  html body .ty-product-detail .image-wrap .v4-thArr { display: none !important; }
  html body .ty-product-detail .v4p-factsLine { margin-top: 10px !important; padding-top: 12px !important; padding-bottom: 12px !important; margin-bottom: 10px !important; }
}

/* 17.10.2026, снимок владельца (карточка товара: листик Organic ниже «Pu-erh Tea» и «EXCLUSIVE»): у значка-картинки высоту задавала картинка —
   теперь он растягивается на высоту строки значков, картинка по центру, 16px */
.ty-product-detail .v4p-pills .ty-product-img-label.v4p-label.label-icon { align-self: stretch !important; padding-top: 0 !important; padding-bottom: 0 !important; justify-content: center; }
.ty-product-detail .v4p-pills .ty-product-img-label.v4p-label.label-icon img { display: block !important; height: 16px !important; width: auto !important; margin: 0 !important; }

/* 17.10.2026, снимок владельца (карточка на телефоне): «уменьшить зазор между фотографией и следующим блоком … на мобильных скроем страну,
   кофеин влево, звёздочки справа» — строка под фото в одну линию: кофеин слева, рейтинг справа; страна скрыта; отступ от фото меньше */
@media (max-width: 767px) {
  html body .ty-product-detail .image-wrap { margin-bottom: 0 !important; }
  html body .ty-product-detail .v4p-factsLine { margin-top: 4px !important; padding-top: 10px !important; padding-bottom: 10px !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
  html body .ty-product-detail .v4p-factsLine > .v4p-fOrigin { display: none !important; }
  html body .ty-product-detail .v4p-factsLine > .et-rating-brand { width: auto !important; flex: 0 0 auto !important; margin: 0 0 0 auto !important; }
}

/* 17.10.2026, снимок владельца («сокращай ещё немного … расстояние между хлебными крошками и следующим блоком»): карточка на телефоне —
   верхнее поле блока содержимого 6px вместо 20 */
@media (max-width: 767px) { .tygh-content.ty-page-controller-products.ty-page-mode-view .span16.et-content:has(.ty-product-detail) { padding-top: 6px !important; } }

/* 18.10.2026, отчёт п.3: панель «цена · фасовка · Add to cart» внизу экрана на телефоне, когда верхняя кнопка ушла за экран; кнопка «20%» в это время скрыта */
.v4sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 980; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: #fff; border-top: 1px solid #E3E7E5; box-shadow: 0 -8px 24px rgba(15, 40, 32, .10); transform: translateY(115%); transition: transform .22s ease; }
.v4sticky.on { transform: none; }
.v4sticky-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.v4sticky-price { font: 700 19px/1.15 Inter, system-ui, sans-serif; color: #0F5C45; }
.v4sticky-size { font: 500 12.5px/1.3 Inter, system-ui, sans-serif; color: #6E746F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v4sticky-btn { flex: 0 0 auto; height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: #0F5C45; color: #fff; font: 700 15px/1 Inter, system-ui, sans-serif; cursor: pointer; }
.v4sticky-btn:active { background: #0b4a37; }
@media (min-width: 768px) { .v4sticky { display: none !important; } }
html.v4sticky-on #v4sp_tab, html.v4sticky-on #v4sp_box { display: none !important; }
/* 18.10.2026, отчёт п.4: длинный отзыв — ~5 строк с затуханием и «Read more» / «Show less» */
.posts-table .r-message.v4rm-clamp:not(.v4rm-open) { position: relative; max-height: 8.2em; overflow: hidden; }
.posts-table .r-message.v4rm-clamp:not(.v4rm-open)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.6em; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
.posts-table .v4rm-more { display: inline-block; margin: 6px 0 4px; padding: 0; border: 0; background: none; color: #008556; font: 600 14px Inter, system-ui, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* 18.10.2026, слово владельца («делай то, что админка делает, переноси всё на фронт»): значения товара со своей SEO-страницей фильтра —
   ссылки (страна и кофеин под названием, «the finer details», состав); в окне ингредиента — вторая кнопка на страницу фильтра */
.ty-product-detail a.v4p-sfLink { color: inherit !important; text-decoration: underline; text-decoration-color: rgba(15,92,69,.35); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.ty-product-detail a.v4p-sfLink:hover { color: #0F5C45 !important; text-decoration-color: #0F5C45; }
.ty-product-detail .v4p-ingRow li a.v4p-sfLink { text-decoration: none; color: #0F5C45 !important; font-weight: 600; }
.ty-product-detail .v4p-ingRow li a.v4p-sfLink:hover { text-decoration: underline; }
.v4p-ingPop .v4p-ingShop { margin: 8px 0 0 10px; background: #fff !important; color: #0F5C45 !important; box-shadow: inset 0 0 0 1.5px #0F5C45; }
.v4p-ingPop .v4p-ingShop:hover { background: #E8F3EE !important; }
@media (max-width: 560px) { .v4p-ingPop .v4p-ingShop { margin-left: 0; } }
