/*
Theme Name:   Evoklingen Child
Theme URI:    https://evoklingen.de
Description:  Дочерняя тема для Astra — Evoklingen
Author:       Evoklingen
Author URI:   https://evoklingen.de
Template:     astra
Version:      5.5.0
Text Domain:  evoklingen-child
*/

/* ============================================================
   EVOKLINGEN — Additional CSS v5.5 (optimized A+B)
   ============================================================ */

/* ============================================================
   CSS ПЕРЕМЕННЫЕ
   ============================================================ */
:root {
  --evo-bg:        #f8fafc;
  --evo-white:     #ffffff;
  --evo-border:    #e2e8f0;
  --evo-border-h:  #cbd5e1;
  --evo-text:      #0f172a;
  --evo-muted:     #64748b;
  --evo-subtle:    #94a3b8;
  --evo-dark:      #0f172a;
  --evo-light:     #f1f5f9;
  --evo-border-dk: #334155;

  --evo-radius-sm: 8px;
  --evo-radius-md: 12px;
  --evo-radius-lg: 16px;
  --evo-radius-xl: 20px;

  --evo-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --evo-shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);
  --evo-shadow-lg: 0 10px 30px rgba(0,0,0,.10), 0 4px 8px rgba(0,0,0,.06);

  --evo-trans: 0.25s ease;

  --evo-topbar-h: 36px;
  --evo-header-h: 72px;
  --evo-total-h:  108px;

  --ast-primary-header-background-color: transparent;
  --ast-header-background-color: transparent;
}

/* ============================================================
   ГЛОБАЛЬНОЕ
   ============================================================ */

html, body,
#page, .site, #content, #primary, #secondary,
.ast-container, .ast-container-fluid,
.site-content, .ast-site-content-wrap,
.site-primary, .site-main, main#main,
.widget-area, .ast-woo-shop-sidebar, .ast-woo-shop-page,
.ast-separate-container, .ast-woocommerce-container, .ast-plain-container {
  background-color: var(--evo-bg) !important;
  box-shadow: none !important;
}

body {
  color: var(--evo-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--evo-text);
}

.price, .woocommerce-Price-amount, bdi, .amount {
  font-variant-numeric: tabular-nums;
}

.ast-site-content-wrap,
#content,
.site-content {
  padding-top: var(--evo-total-h) !important;
}

@media (max-width: 921px) {
  :root { --evo-total-h: calc(var(--evo-topbar-h) + var(--evo-header-h)); }
}

/* ============================================================
   UTILITY — UPPERCASE-заголовки (мелкие, серые)
   Общая база для: Berocket filter titles, evo-alle-produkte, FAQ section h2
   ============================================================ */

.bapf_head h3,
.berocket_aapf_widget_title,
.widget.berocket_single_filter_widget > .widget-title,
.widget.berocket_aapf_widget > .widget-title,
.evo-alle-produkte,
.entry-content h2 {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--evo-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--evo-border) !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* FAQ-специфичные отступы (другие margin) */
.entry-content h2 {
  font-size: 1.1rem !important;
  padding: 0 !important;
  border-bottom: none !important;
  margin-top: 48px !important;
  margin-bottom: 16px !important;
}

.entry-content h2:first-child { margin-top: 0 !important; }

/* evo-alle-produkte — link-specific */
.evo-alle-produkte {
  text-decoration: none !important;
  transition: color var(--evo-trans) !important;
}
.evo-alle-produkte:hover { color: var(--evo-text) !important; }

/* ============================================================
   ХЕДЕР — GLASS EFFECT
   ============================================================ */

#masthead,
#masthead * {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#masthead.site-header,
.site-header {
  position: fixed !important;
  top: var(--evo-topbar-h) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background-color: rgba(248, 250, 252, 0.55) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.5) !important;
  box-shadow: none !important;
}

.ast-primary-header-bar,
.main-header-bar,
.ast-main-header-wrap,
.main-header-bar-wrap {
  min-height: var(--evo-header-h);
}

.ast-site-title, .ast-site-title a,
.site-title, .site-title a {
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: -0.04em;
  color: var(--evo-text);
  text-decoration: none;
  text-transform: uppercase;
}

.site-branding, .ast-site-identity {
  display: flex;
  align-items: center;
  gap: 8px;
}

.main-header-menu > .menu-item > a,
.ast-nav-menu > li > a {
  font-size: 14px;
  font-weight: 500;
  color: var(--evo-muted);
  letter-spacing: -0.005em;
  transition: color var(--evo-trans);
}

.main-header-menu > .menu-item > a:hover,
.ast-nav-menu > li > a:hover {
  color: var(--evo-text);
}

.ast-nav-menu > .current-menu-item > a,
.ast-nav-menu > .current_page_item > a,
.ast-nav-menu > .current-menu-ancestor > a,
.ast-nav-menu > .current-menu-parent > a,
.main-header-menu > .current-menu-item > a,
.main-header-menu > .current_page_item > a,
.main-header-menu > .current-menu-ancestor > a {
  color: var(--evo-dark) !important;
  font-weight: 600 !important;
}

/* Dropdown */
#masthead .ast-nav-menu .sub-menu,
#masthead .main-header-menu .sub-menu,
.ast-nav-menu .sub-menu,
.main-header-menu .sub-menu {
  background-color: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(12px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
  border: 1px solid var(--evo-border) !important;
  border-radius: var(--evo-radius-md) !important;
  box-shadow: var(--evo-shadow-md) !important;
  padding: 8px !important;
  min-width: 220px !important;
}

#masthead .ast-nav-menu .sub-menu li,
#masthead .main-header-menu .sub-menu li {
  background: transparent !important;
}

.ast-nav-menu .sub-menu li a {
  font-size: 13px;
  font-weight: 400;
  color: var(--evo-muted);
  padding: 8px 12px;
  border-radius: var(--evo-radius-sm);
  transition: all var(--evo-trans);
}

#masthead .ast-nav-menu .sub-menu li a:hover,
.ast-nav-menu .sub-menu li a:hover {
  background-color: var(--evo-bg) !important;
  color: var(--evo-text);
}

.ast-site-header-cart a,
.ast-cart-menu-wrap { color: var(--evo-text); }

.ast-site-header-cart .count,
.ast-cart-menu-wrap .count {
  background-color: var(--evo-text) !important;
  color: var(--evo-white);
  font-size: 10px;
  font-weight: 600;
  border: none;
}

/* Мобильный хедер */
#masthead #ast-mobile-header .ast-mobile-header-content {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* ============================================================
   УТИЛИТАРНЫЕ КЛАССЫ
   ============================================================ */

.evo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--evo-border);
  background-color: var(--evo-white);
  box-shadow: var(--evo-shadow-sm);
  font-size: 11px;
  font-weight: 500;
  color: var(--evo-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.evo-badge::before {
  content: '';
  width: 7px; height: 7px;
  border-radius: 999px;
  background-color: var(--evo-subtle);
}

@media (max-width: 600px) {
  .evo-badge { font-size: 10px; padding: 5px 12px; }
}

/* ============================================================
   ФУТЕР
   ============================================================ */

#colophon, .site-footer, .footer-widget-area {
  background-color: var(--evo-white) !important;
}

#colophon, .site-footer {
  border-top: 1px solid var(--evo-border);
  color: var(--evo-muted);
  font-size: 14px;
}

.ast-footer-copyright {
  background-color: var(--evo-white) !important;
  font-size: 12px;
  color: var(--evo-subtle);
  border-top: 1px solid var(--evo-light);
  padding: 2px 0 !important;
}

.footer-widget-area .widget-title,
#colophon .widget-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--evo-text);
  text-transform: none;
  margin-bottom: 16px;
}

.footer-widget-area a, #colophon a {
  color: var(--evo-muted);
  text-decoration: none;
  transition: color var(--evo-trans);
}
.footer-widget-area a:hover, #colophon a:hover { color: var(--evo-text); }

.footer-widget-area ul li {
  margin-bottom: 12px;
  list-style: none;
}

.footer-widget-area,
.ast-footer-widget-1,
.ast-footer-widget-2,
.ast-footer-widget-3,
[class*="footer-widget"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.site-above-footer-wrap,
.site-primary-footer-wrap { padding: 4px 0 !important; }
.site-below-footer-wrap { padding: 2px 0 !important; }

.ast-builder-html-element > div {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-footer .widget_media_image {
  height: 90px !important;
  overflow: hidden;
}
.site-footer .widget_media_image img {
  height: 90px !important;
  width: auto !important;
}

/* ============================================================
   WOOCOMMERCE — ОБЩЕЕ
   ============================================================ */

.woocommerce-breadcrumb {
  font-size: 12px;
  color: var(--evo-subtle);
}
.woocommerce-breadcrumb a {
  color: var(--evo-muted);
  text-decoration: none;
}

.woocommerce-products-header__title,
.woocommerce h1.page-title,
.ast-woo-shop-archive-title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.woocommerce-result-count {
  font-size: 13px;
  color: var(--evo-muted);
}

.woocommerce-ordering select,
.woocommerce form select {
  font-size: 13px;
  border: 1px solid var(--evo-border);
  border-radius: var(--evo-radius-sm);
  background-color: var(--evo-white);
  color: var(--evo-text);
  padding: 8px 12px;
  box-shadow: var(--evo-shadow-sm);
}

/* ============================================================
   PRODUCT CARD UNIFIED
   ============================================================ */

/* ── Grid-обёртки ── */

.woocommerce ul.products {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  align-items: stretch !important;
  row-gap: 48px !important;
  grid-row-gap: 48px !important;
}

.wp-block-shortcode ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 1024px) {
  .wp-block-shortcode ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .wp-block-shortcode ul.products { grid-template-columns: 1fr !important; }
}

.wp-block-shortcode .woocommerce-products-header,
.wp-block-shortcode .woocommerce-result-count,
.wp-block-shortcode .woocommerce-ordering { display: none !important; }

/* ── Карточка ── */

.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transition: none !important;
}

.woocommerce ul.products li.product.ast-grid-common-col { height: 100%; }

/* ── Обёртка изображения ── */

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block !important;
  border-radius: var(--evo-radius-lg) !important;
  overflow: hidden !important;
  background-color: var(--evo-light) !important;
  border: 1px solid var(--evo-border) !important;
  margin-bottom: 14px !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  position: relative !important;
  line-height: 0 !important;
  font-size: 0 !important;
  text-decoration: none !important;
  transition: border-color var(--evo-trans) !important;
}

.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link {
  border-color: var(--evo-border-h) !important;
}

/* ── Изображение ── */

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background-color: var(--evo-light) !important;
  mix-blend-mode: multiply !important;
  vertical-align: bottom !important;
  transition: transform 0.6s ease !important;
}

.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link img {
  transform: scale(1.04) !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img.woocommerce-placeholder {
  object-fit: contain !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

/* ── Summary wrap ── */

.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ── Категория ── */

.woocommerce ul.products li.product .ast-woo-product-category {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--evo-subtle) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  margin: 14px 0 4px !important;
  display: block !important;
}

/* ── Название ── */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.entry-content ul.products li.product h2,
.entry-content ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: var(--evo-text) !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-transform: none !important;
  text-align: left !important;
  border: none !important;
  background: none !important;
  overflow: hidden !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* ── Цена ── */

.woocommerce ul.products li.product .price {
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-muted) !important;
  line-height: 1.4 !important;
  margin: 0 0 12px !important;
  text-align: left !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price bdi {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-muted) !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--evo-subtle) !important;
  font-size: 13px !important;
}

/* ── Звёзды рейтинга ── */

.woocommerce ul.products li.product .star-rating span::before,
.woocommerce ul.products li.product .star-rating::before { color: var(--evo-text); }

/* ── Бейдж "Sale" ── */

.woocommerce span.onsale {
  background-color: var(--evo-text) !important;
  color: var(--evo-white) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  border-radius: var(--evo-radius-sm) !important;
  padding: 3px 8px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.6 !important;
}

/* ── Скрыть Astra on-card кнопку ── */

.astra-shop-thumbnail-wrap .ast-on-card-button,
.ast-on-card-button,
.astra-shop-thumbnail-wrap .ast-shop-thumbnail-wrap-inner > .button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .button {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}

/* ── Убрать подчёркивания ── */

.woocommerce a,
.woocommerce-page a {
  text-decoration: none !important;
}

/* ── Заголовки секций главной и блоков related/upsells/cross-sells ── */

.evo-section h2,
.evo-section .wp-block-heading,
.wp-block-group.evo-section h2,
.wp-block-group.evo-section-header h2,
.wp-block-group.evo-section-header .wp-block-heading,
.woocommerce .related > h2,
.woocommerce .up-sells > h2,
.woocommerce .cross-sells > h2,
.page-id-8 .entry-content h2 {
  text-transform: none !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  color: var(--evo-text) !important;
  margin-top: 0 !important;
}

.woocommerce .related > h2,
.woocommerce .up-sells > h2,
.woocommerce .cross-sells > h2,
.page-id-8 .entry-content h2 {
  text-align: left !important;
  padding-bottom: 20px !important;
  margin-bottom: 32px !important;
  border-bottom: 1px solid var(--evo-border) !important;
  border-top: none !important;
  background: none !important;
}

/* ── WC Blocks (wc-block-grid) ── */

.wc-block-grid__product {
  width: calc(25% - 18px) !important;
  max-width: calc(25% - 18px) !important;
  flex: 0 0 calc(25% - 18px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.wc-block-grid__product-image,
.wc-block-grid__product .wc-block-grid__product-image,
a.wc-block-grid__product-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: var(--evo-radius-lg) !important;
  border: 1px solid var(--evo-border) !important;
  background-color: var(--evo-light) !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  position: relative !important;
  text-decoration: none !important;
}

.wc-block-grid__product-image img,
.wc-block-grid__product-image a img,
a.wc-block-grid__product-image img,
.wc-block-grid__product .wc-block-grid__product-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  vertical-align: bottom !important;
  transition: transform 0.6s ease !important;
  contain-intrinsic-size: auto !important;
}

.wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.04) !important;
}

.wc-block-grid__product-image img:is([sizes=auto i],[sizes^="auto," i]) {
  contain-intrinsic-size: auto !important;
  width: 100% !important;
  height: 100% !important;
}

/* Название WC Blocks */
.wc-block-grid__product-title,
div.wc-block-grid__product-title,
.wp-block-woocommerce-product-collection h2.wp-block-post-title,
.wc-block-grid__product h2.wp-block-post-title,
h2.wp-block-post-title.has-medium-font-size,
.wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection h2.wp-block-post-title,
.wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection h2.wp-block-post-title.has-small-font-size,
.wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection .wp-block-post-title a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-text) !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: left !important;
}

.wp-block-woocommerce-product-collection h2.wp-block-post-title a,
.wc-block-grid__product h2.wp-block-post-title a,
h2.wp-block-post-title.has-medium-font-size a {
  color: var(--evo-text) !important;
  text-decoration: none !important;
}

/* Цена WC Blocks */
.wc-block-grid__product-price,
.wc-block-grid__product-price.price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price,
.wc-block-grid__product .wc-block-components-product-price {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-muted) !important;
  text-align: left !important;
  display: block !important;
  margin: 0 0 12px !important;
}

.wc-block-grid__product-price .woocommerce-Price-amount {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-muted) !important;
}

.wc-block-grid__product-price a,
.wc-block-grid__product-price small {
  font-size: 11px !important;
  color: var(--evo-subtle) !important;
  font-weight: 400 !important;
}

.wc-block-grid__product-add-to-cart,
div.wc-block-grid__product-add-to-cart {
  width: 100% !important;
  display: block !important;
}

/* ============================================================
   КНОПКИ — ОБЪЕДИНЁННЫЕ (Проход 2)
   ============================================================ */

/* ── SECONDARY: светлые контурные кнопки ── */

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-loop-add-to-cart-link,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a.wp-block-button__link,
.wc-block-grid__product-add-to-cart .add_to_cart_button,
.wp-block-woocommerce-product-collection .wp-block-button__link,
.wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.bapf_reset,
.bapf_reset a,
.bapf_reset_button,
.berocket_apf_reset_button,
.berocket_aapf_widget_reset_button,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary .wp-block-button__link,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary a {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--evo-muted) !important;
  background-color: var(--evo-white) !important;
  border: 1px solid var(--evo-border) !important;
  border-radius: var(--evo-radius-sm) !important;
  padding: 8px 16px !important;
  box-shadow: var(--evo-shadow-sm) !important;
  text-decoration: none !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: all var(--evo-trans) !important;
}

/* SECONDARY hover (общий) */
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart a.wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover,
.bapf_reset a:hover,
.bapf_reset_button:hover,
.berocket_apf_reset_button:hover,
.berocket_aapf_widget_reset_button:hover,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary .wp-block-button__link:hover,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary a:hover {
  background-color: var(--evo-light) !important;
  border-color: var(--evo-border-h) !important;
  color: var(--evo-text) !important;
}

/* SECONDARY отличия — только для карточек товаров: margin-top: auto */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin-top: auto !important;
}

/* SECONDARY отличия — bapf_reset: inline-block, margin-top: 20px */
.bapf_reset,
.bapf_reset a,
.bapf_reset_button,
.berocket_apf_reset_button,
.berocket_aapf_widget_reset_button {
  display: inline-block !important;
  margin-top: 20px !important;
}

/* SECONDARY отличия — WC Blocks: уточнения */
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a.wp-block-button__link {
  margin-top: 0 !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* SECONDARY отличия — evo-hero: padding 12px 22px, font-size 14px, не на всю ширину */
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary .wp-block-button__link,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary a {
  padding: 12px 22px !important;
  font-size: 14px !important;
  width: auto !important;
  display: inline-block !important;
  line-height: 1.4 !important;
}

.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary .wp-block-button__link:hover,
.wp-block-group.evo-hero .wp-block-button.evo-btn-secondary a:hover {
  background-color: var(--evo-bg) !important;
}

/* ── PRIMARY: тёмные основные кнопки ── */

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.bapf_apply_button,
.berocket_aapf_widget_filter_button,
.woocommerce-message .button,
.woocommerce-info .button,
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.evo-empty-cart .wp-block-button.evo-btn-primary .wp-block-button__link,
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary .wp-block-button__link,
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary a,
button[type="submit"],
input[type="submit"],
input[type="button"],
input[type="reset"],
.wpforms-submit,
.wpcf7-submit,
.gform_button,
.frm_button_submit,
.button-primary,
button.btn-primary,
.evo-btn-primary .wp-block-button__link,
.evo-btn-primary a.wp-element-button {
  background-color: var(--evo-text) !important;
  background-image: none !important;
  color: var(--evo-white) !important;
  border: 1px solid var(--evo-text) !important;
  border-radius: var(--evo-radius-sm) !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  box-shadow: var(--evo-shadow-sm) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all var(--evo-trans) !important;
  text-shadow: none !important;
}

/* PRIMARY hover (общий) */
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.bapf_apply_button:hover,
.berocket_aapf_widget_filter_button:hover,
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.evo-empty-cart .wp-block-button.evo-btn-primary .wp-block-button__link:hover,
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary .wp-block-button__link:hover,
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary a:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wpforms-submit:hover,
.wpcf7-submit:hover,
.gform_button:hover,
.frm_button_submit:hover,
.button-primary:hover,
button.btn-primary:hover,
.evo-btn-primary .wp-block-button__link:hover,
.evo-btn-primary a.wp-element-button:hover {
  background-color: var(--evo-dark) !important;
  border-color: var(--evo-dark) !important;
  color: var(--evo-white) !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.22) !important;
}

/* PRIMARY отличия — Berocket apply: меньший padding/font, без border */
.bapf_apply_button,
.berocket_aapf_widget_filter_button {
  font-size: 13px !important;
  padding: 8px 16px !important;
  border: none !important;
}

/* PRIMARY отличия — уведомления WC: меньший padding/font, margin-left auto */
.woocommerce-message .button,
.woocommerce-info .button {
  font-size: 12px !important;
  padding: 6px 14px !important;
  border: none !important;
  margin-left: auto !important;
}

/* PRIMARY отличия — корзина submit: padding 14px 24px */
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a {
  padding: 14px 24px !important;
  border: none !important;
}

/* PRIMARY отличия — empty cart: padding 12px 28px */
.evo-empty-cart .wp-block-button.evo-btn-primary .wp-block-button__link {
  padding: 12px 28px !important;
}

/* PRIMARY отличия — evo-hero: padding 12px 22px, inline-block */
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary .wp-block-button__link,
.wp-block-group.evo-hero .wp-block-button.evo-btn-primary a {
  padding: 12px 22px !important;
  display: inline-block !important;
}

/* PRIMARY focus/disabled */
button[type="submit"]:focus,
input[type="submit"]:focus,
.wpforms-submit:focus,
.wpcf7-submit:focus {
  outline: 2px solid var(--evo-border-h) !important;
  outline-offset: 2px !important;
}

button[type="submit"]:disabled,
input[type="submit"]:disabled,
.wpforms-submit:disabled {
  background-color: var(--evo-subtle) !important;
  border-color: var(--evo-subtle) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  opacity: 0.6 !important;
}

/* ============================================================
   WOOCOMMERCE — СТРАНИЦА ТОВАРА
   ============================================================ */

.woocommerce div.product .product_title {
  font-weight: 600;
  letter-spacing: -0.03em;
  font-size: 28px;
  color: var(--evo-text);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 22px;
  font-weight: 500;
  color: var(--evo-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 14px;
  font-weight: 500;
  color: var(--evo-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--evo-text); }

.single-product #content,
.single-product .site-content {
  padding-top: var(--evo-total-h) !important;
}

/* ============================================================
   СТРАНИЦА ТОВАРА — описание + атрибуты
   ============================================================ */

.custom-product-info-wrap {
  display: flex;
  gap: 60px;
  margin-top: 48px;
  align-items: flex-start;
  clear: both;
  position: relative;
  z-index: 1;
}

.custom-product-description { flex: 0 0 40%; }
.custom-product-attributes  { flex: 0 0 58%; }

/* ── Атрибуты товара — убрать границы таблицы ── */

.custom-product-attributes table.shop_attributes,
.woocommerce-js .custom-product-attributes table.shop_attributes {
  border: none !important;
  border-top: none !important;
  width: auto !important;
}

.custom-product-attributes table.shop_attributes th,
.custom-product-attributes table.shop_attributes td {
  border-left: none !important;
  border-right: none !important;
}

@media (max-width: 768px) {
  .custom-product-info-wrap { flex-direction: column; }
  .custom-product-description,
  .custom-product-attributes { flex: 0 0 100%; }
}

/* ============================================================
   BEROCKET FILTERS
   ============================================================ */

.widget.berocket_single_filter_widget,
.widget.berocket_aapf_widget,
.berocket_single_filter_widget,
.berocket_aapf_widget,
.bapf_sfilter,
.bapf_body,
.bapf_head,
.berocket_aapf_widget_filter_block,
.berocket_aapf_widget_box_widget {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.berocket_single_filter_widget hr,
.berocket_aapf_widget hr,
.bapf_sfilter hr { display: none !important; }

.widget.berocket_single_filter_widget,
.widget.berocket_aapf_widget {
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.bapf_head,
.bapf_body {
  padding: 0 !important;
  margin: 0 !important;
}

.berocket_aapf_widget ul,
.bapf_body ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.berocket_aapf_widget li,
.bapf_body li {
  margin: 0 !important;
  list-style: none !important;
}

.berocket_aapf_widget label,
.bapf_body label,
.br_product_filter label {
  font-size: 13px !important;
  color: var(--evo-muted) !important;
  font-weight: 400 !important;
  padding: 4px 0 !important;
  transition: color var(--evo-trans) !important;
}

.berocket_aapf_widget label:hover,
.bapf_body label:hover,
.br_product_filter label:hover {
  color: var(--evo-text) !important;
}

.berocket_aapf_widget li.bapf_color_selected label,
.bapf_body li.bapf_color_selected label {
  color: var(--evo-text) !important;
  font-weight: 500 !important;
}

.berocket_aapf_widget input[type="checkbox"],
.bapf_body input[type="checkbox"],
.br_product_filter input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  border-radius: 3px !important;
  border: 1px solid var(--evo-border-h) !important;
  accent-color: var(--evo-muted) !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

.berocket_label_count,
.berocket_aapf_widget .berocket_label_count,
.bapf_body .bapf_count {
  font-size: 11px !important;
  color: var(--evo-subtle) !important;
  background: none !important;
  border: none !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
}

.bapf_sfilter .ui-slider,
.bapf_sfilter .ui-slider-horizontal {
  height: 2px !important;
  background: var(--evo-border) !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 12px 0 !important;
}

.bapf_sfilter .ui-slider-range {
  background: var(--evo-muted) !important;
  height: 2px !important;
  border: none !important;
}

.bapf_sfilter .ui-slider-handle {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: var(--evo-muted) !important;
  border: 2px solid var(--evo-white) !important;
  box-shadow: var(--evo-shadow-sm) !important;
  top: -6px !important;
  cursor: pointer !important;
  outline: none !important;
}

.bapf_sfilter .ui-slider-handle:focus,
.bapf_sfilter .ui-slider-handle:hover { background: var(--evo-text) !important; }

.bapf_sfilter .bapf_min_price,
.bapf_sfilter .bapf_max_price,
.bapf_pricing_labels {
  font-size: 13px !important;
  color: var(--evo-muted) !important;
  font-weight: 400 !important;
}

/* ============================================================
   ПАГИНАЦИЯ
   ============================================================ */

.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  margin: 24px 0 0 !important;
  border: none !important;
  background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul li {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  display: inline-flex !important;
  border: none !important;
  background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-size: 13px !important;
  font-weight: 500 !important;
  border: 1px solid var(--evo-border) !important;
  border-radius: var(--evo-radius-sm) !important;
  color: var(--evo-muted) !important;
  background: var(--evo-white) !important;
  padding: 8px 14px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--evo-shadow-sm) !important;
  transition: all var(--evo-trans) !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: var(--evo-text) !important;
  border-color: var(--evo-text) !important;
  color: var(--evo-white) !important;
}

/* ============================================================
   УВЕДОМЛЕНИЯ WOOCOMMERCE
   ============================================================ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.no-comments {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--evo-text) !important;
  background-color: var(--evo-white) !important;
  border: 1px solid var(--evo-border) !important;
  border-left: 1px solid var(--evo-border) !important;
  border-radius: var(--evo-radius-md) !important;
  box-shadow: var(--evo-shadow-sm) !important;
  padding: 14px 20px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.woocommerce-message { border-left: 3px solid #10b981 !important; }
.woocommerce-error   { border-left: 3px solid #ef4444 !important; }
.woocommerce-info    { border-left-color: var(--evo-border) !important; border-left-width: 1px !important; }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: static !important;
  margin: 0 !important;
  font-size: 16px !important;
  width: auto !important;
  height: auto !important;
}

.woocommerce-message::before { color: #10b981 !important; }
.woocommerce-info::before    { color: var(--evo-muted) !important; }
.woocommerce-error::before   { color: #ef4444 !important; }

.woocommerce-error {
  flex-direction: column !important;
  align-items: flex-start !important;
  list-style: none !important;
}
.woocommerce-error li { padding-left: 0 !important; margin-bottom: 4px !important; }

.woocommerce-no-products-found {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ============================================================
   SCROLL TO TOP
   ============================================================ */

#ast-scroll-top {
  background-color: var(--evo-white) !important;
  border: 1px solid var(--evo-border) !important;
  border-radius: 50% !important;
  color: var(--evo-muted) !important;
  box-shadow: var(--evo-shadow-sm) !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  font-size: 14px !important;
  transition: all var(--evo-trans) !important;
}

#ast-scroll-top:hover {
  background-color: var(--evo-bg) !important;
  border-color: var(--evo-border-h) !important;
  color: var(--evo-text) !important;
  box-shadow: var(--evo-shadow-md) !important;
}

#ast-scroll-top .ast-icon { color: inherit !important; }

/* ============================================================
   ЛЕНДИНГ — Gutenberg блоки
   ============================================================ */

.wp-block-group.evo-section {
  padding: 96px 0;
  background-color: var(--evo-bg);
}

@media (max-width: 768px) {
  .wp-block-group.evo-section { padding: 64px 0; }
}

.wp-block-group.evo-section > .wp-block-group,
.wp-block-group.evo-section > .wp-block-columns,
.wp-block-group.evo-section > .wp-block-shortcode {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* Hero */
.wp-block-group.evo-hero {
  position: relative;
  overflow: hidden;
  background-color: var(--evo-bg);
  padding: 88px 24px 96px;
  text-align: center;
}

@media (max-width: 768px) {
  .wp-block-group.evo-hero { padding: 56px 16px 64px; }
}

.wp-block-group.evo-hero::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 68%;
  aspect-ratio: 1;
  background: var(--evo-border);
  border-radius: 9999px;
  filter: blur(88px);
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}

.wp-block-group.evo-hero > * { position: relative; z-index: 1; }

.wp-block-group.evo-hero .evo-badge { margin: 0 auto 32px; }

.wp-block-heading.evo-hero-title {
  font-size: clamp(2rem, 6vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.07;
  color: var(--evo-text);
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

p.evo-hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  color: var(--evo-muted);
  line-height: 1.75;
  font-weight: 400;
  max-width: 600px;
  margin: 24px auto 0;
  text-align: center;
}

.wp-block-group.evo-hero .wp-block-buttons {
  justify-content: center;
  margin-top: 40px;
  gap: 12px;
  display: flex;
  flex-wrap: wrap;
}

.wp-block-group.evo-hero .wp-block-button { margin: 0; }

.wp-block-image.evo-hero-image {
  margin: 80px auto 0;
  max-width: 960px;
}

.wp-block-image.evo-hero-image img {
  border-radius: var(--evo-radius-xl);
  border: 1px solid var(--evo-border);
  box-shadow: var(--evo-shadow-sm);
  transition: transform 0.7s ease;
  width: 100%;
  height: auto;
  display: block;
}

.wp-block-image.evo-hero-image:hover img { transform: scale(1.04); }

/* Шапка секции */
.wp-block-group.evo-section-header {
  margin: 0 auto 40px;
  max-width: 1160px;
  padding: 0 24px;
}

.wp-block-group.evo-section-header.evo-with-link {
  display: flex;
  justify-content: space-between;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--evo-border);
}

.wp-block-group.evo-section-header .wp-block-heading,
.wp-block-group.evo-section-header h2 {
  margin: 0 0 8px;
}

.wp-block-group.evo-section-header.evo-with-link .wp-block-heading,
.wp-block-group.evo-section-header.evo-with-link h2 {
  margin-bottom: 0 !important;
}

.wp-block-group.evo-section-header .evo-subtitle {
  font-size: 14px;
  color: var(--evo-muted);
  font-weight: 400;
  margin: 0;
}

p.evo-link-arrow { margin: 0; }

p.evo-link-arrow a,
p.evo-link-arrow a:visited,
p.evo-link-arrow a:link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  color: var(--evo-muted);
  text-decoration: none !important;
  background: transparent;
  transition: color var(--evo-trans);
}

p.evo-link-arrow a:hover { color: var(--evo-text); }

p.evo-link-arrow a::after {
  content: '→';
  display: inline-block;
  margin-left: 2px;
  transition: transform var(--evo-trans);
}

p.evo-link-arrow a:hover::after { transform: translateX(2px); }

/* Карточки категорий */
.wp-block-column .wp-block-group.evo-cat-card {
  background: var(--evo-white);
  border: 1px solid var(--evo-border);
  border-radius: var(--evo-radius-lg);
  padding: 32px;
  transition: all 0.25s ease;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
}

.wp-block-column .wp-block-group.evo-cat-card:hover {
  border-color: var(--evo-border-h);
  box-shadow: var(--evo-shadow-md);
  transform: translateY(-2px);
}

.wp-block-group.evo-cat-card .evo-icon-box {
  width: 48px;
  height: 48px;
  background-color: var(--evo-bg);
  border: 1px solid var(--evo-light);
  border-radius: var(--evo-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}

.wp-block-group.evo-cat-card:hover .evo-icon-box { background-color: var(--evo-border); }

.wp-block-group.evo-cat-card .evo-icon-box svg {
  width: 24px;
  height: 24px;
  color: var(--evo-text);
  stroke: currentColor;
  fill: none;
}

.wp-block-group.evo-cat-card .wp-block-heading,
.wp-block-group.evo-cat-card h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--evo-text);
  margin: 0 0 8px;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.wp-block-group.evo-cat-card .wp-block-heading a,
.wp-block-group.evo-cat-card h3 a { color: var(--evo-text); text-decoration: none; }

.wp-block-group.evo-cat-card p {
  font-size: 14px;
  color: var(--evo-muted);
  line-height: 1.65;
  margin: 0;
}

.wp-block-group.evo-cat-card .wp-block-heading a::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Тёмная секция */
.wp-block-group.evo-dark-section {
  background-color: var(--evo-dark);
  position: relative;
  overflow: hidden;
  padding: 96px 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .wp-block-group.evo-dark-section { padding: 64px 0; }
}

.wp-block-group.evo-dark-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(148,163,184,.04) 0,
    rgba(148,163,184,.04) 1px,
    transparent 1px,
    transparent 3px
  );
  pointer-events: none;
  z-index: 1;
}

.wp-block-group.evo-dark-section::after {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  background: radial-gradient(ellipse at center, rgba(148,163,184,.10) 0%, transparent 60%);
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 921px) {
  .wp-block-group.evo-dark-section::after { width: 500px; height: 400px; }
}

.wp-block-group.evo-dark-section > .wp-block-columns {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.wp-block-group.evo-dark-section .wp-block-heading,
.wp-block-group.evo-dark-section h2 {
  color: var(--evo-white);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.15;
  margin: 0 0 24px;
}

.wp-block-group.evo-dark-section p {
  color: var(--evo-subtle);
  line-height: 1.78;
  font-size: 15px;
}

.wp-block-group.evo-dark-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid var(--evo-border-dk);
}

.wp-block-group.evo-dark-badge svg {
  width: 20px;
  height: 20px;
  color: var(--evo-border-h);
  stroke: var(--evo-border-h);
  fill: none;
  flex-shrink: 0;
}

.wp-block-group.evo-dark-badge p {
  font-size: 12px;
  color: var(--evo-border-h);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
}

.wp-block-image.evo-dark-image img {
  border-radius: var(--evo-radius-xl);
  border: 1px solid var(--evo-border-dk);
  box-shadow: var(--evo-shadow-lg);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  display: block;
}

.home.ast-page-builder-template .site-main > article { padding: 0 !important; }

/* ============================================================
   FAQ
   ============================================================ */

.wp-block-details {
  border: 1px solid var(--evo-border);
  border-radius: 8px;
  margin-bottom: 8px;
  background: var(--evo-bg);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.wp-block-details:hover { box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06); }

.wp-block-details summary {
  padding: 18px 20px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--evo-text);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::marker { display: none; }

.wp-block-details summary::after {
  content: '›';
  font-size: 1.2rem;
  color: var(--evo-muted);
  transform: rotate(90deg);
  transition: transform 0.25s ease;
  flex-shrink: 0;
  line-height: 1;
}

.wp-block-details[open] summary::after { transform: rotate(270deg); }

.wp-block-details[open] {
  border-color: #cbd5e1;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}

.wp-block-details[open] summary {
  border-bottom: 1px solid var(--evo-border);
  color: var(--evo-text);
}

.wp-block-details > *:not(summary) {
  padding: 16px 20px;
  color: var(--evo-muted);
  font-size: 0.9rem;
  line-height: 1.7;
  margin: 0;
}

.wp-block-details .wp-block-paragraph {
  margin: 0;
  padding: 16px 20px;
  color: var(--evo-muted);
  font-size: 0.9rem;
  line-height: 1.7;
}

.evo-badge-neu {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 9;
  background-color: var(--evo-text);
  color: var(--evo-white);
  font-size: 11px;
  font-weight: 500;
  padding: 10px 10px;
  border-radius: var(--evo-radius-sm);
  letter-spacing: 0.02em;
}

.woocommerce ul.products li.product .evo-badge-neu + span.onsale {
  top: 44px !important;
}

/* ============================================================
   PRODUCT CATEGORIES — карточки категорий (как товары)
   ============================================================ */

.woocommerce ul.products li.product-category a {
  display: block !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product-category img {
  border-radius: var(--evo-radius-lg) !important;
  border: 1px solid var(--evo-border) !important;
  background-color: var(--evo-light) !important;
  margin-bottom: 14px !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
  display: block !important;
  transition: transform 0.6s ease !important;
}

.woocommerce ul.products li.product-category:hover img {
  transform: scale(1.04);
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-text) !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  text-align: left !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

.woocommerce ul.products li.product-category .count {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--evo-subtle) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-left: 6px !important;
}

/* ============================================================
   КОРЗИНА — EVOKLINGEN
   ============================================================ */

.woocommerce-cart .entry-title,
.page-id-8 h1.entry-title {
  font-size: 32px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--evo-text) !important;
  margin: 0 0 32px !important;
  text-transform: none !important;
  border: none !important;
  padding: 0 !important;
}

/* ── Empty cart ── */

.evo-empty-cart {
  text-align: center;
  padding: 40px 24px 20px;
  max-width: 560px;
  margin: 0 auto;
}

.evo-empty-cart-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 12px;
  color: var(--evo-text);
}

.evo-empty-cart-inline svg {
  flex-shrink: 0;
  color: var(--evo-subtle);
}

.evo-empty-cart-inline span {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--evo-text);
}

p.evo-empty-cart-text {
  font-size: 14px !important;
  color: var(--evo-muted) !important;
  line-height: 1.6 !important;
  margin: 0 0 24px !important;
}

.evo-empty-cart .wp-block-buttons {
  justify-content: center;
}

.wp-block-woocommerce-empty-cart-block .evo-empty-section {
  padding: 40px 0 !important;
  background-color: transparent !important;
}

.wp-block-woocommerce-empty-cart-block .evo-empty-section:last-child {
  padding-bottom: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon,
.wp-block-woocommerce-empty-cart-block > .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block > .wp-block-separator {
  display: none !important;
}

/* ── Trust-блок ── */

.wp-block-woocommerce-cart-totals-block .evo-trust-bar,
.wp-block-woocommerce-cart-totals-block .wp-block-group.evo-trust-bar,
.wp-block-woocommerce-cart-totals-block .wp-block-group.evo-trust-bar.is-layout-constrained {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0px !important;
  margin: 20px 0 0 !important;
  padding: 20px 0 0 !important;
  background-color: transparent !important;
  border: none !important;
  border-top: 1px solid var(--evo-border) !important;
  border-radius: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.evo-trust-item,
.wp-block-woocommerce-cart-totals-block .evo-trust-bar > .evo-trust-item,
.wp-block-woocommerce-cart-totals-block .evo-trust-bar > div.evo-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.evo-trust-item svg {
  flex-shrink: 0;
  color: var(--evo-muted);
  width: 22px;
  height: 22px;
}

.evo-trust-item span,
.wp-block-woocommerce-cart-totals-block .evo-trust-bar .evo-trust-item span {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--evo-text) !important;
  letter-spacing: -0.005em !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* ── Cross-sells в корзине ── */

.wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection {
  margin-top: 48px !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--evo-border) !important;
}

.wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection > h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  color: var(--evo-text) !important;
  text-transform: none !important;
  margin: 0 0 24px !important;
  text-align: left !important;
}

/* ── Cart totals ── */

.wp-block-woocommerce-cart-totals-block {
  background-color: var(--evo-white);
  border: 1px solid var(--evo-border);
  border-radius: var(--evo-radius-lg);
  padding: 28px 24px !important;
  align-self: flex-start !important;
}

.wc-block-components-totals-wrapper .wc-block-components-totals-item__label {
  color: var(--evo-muted) !important;
  font-size: 14px !important;
}

.wc-block-components-totals-wrapper .wc-block-components-totals-item__value {
  color: var(--evo-text) !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
}

/* ── Убрать двойную полосу под "Gesamtbetrag" ── */

.wp-block-woocommerce-cart-totals-block hr,
.wc-block-components-totals-wrapper > hr {
  display: none !important;
}

.wp-block-woocommerce-cart-order-summary-heading-block {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

.wp-block-woocommerce-cart-order-summary-heading-block + * {
  border-top: none !important;
}

/* ============================================================
   EMPTY CART — 4 КОЛОНКИ
   ============================================================ */

.wp-block-woocommerce-empty-cart-block ul.products,
.wp-block-woocommerce-empty-cart-block ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

.wp-block-woocommerce-empty-cart-block ul.products > li {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  flex: none !important;
}

.wp-block-woocommerce-empty-cart-block .ast-row {
  display: contents !important;
}

.wp-block-woocommerce-empty-cart-block ul.products li[class*="ast-col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

@media (max-width: 600px) {
  .wp-block-woocommerce-empty-cart-block ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

.wp-block-woocommerce-empty-cart-block .woocommerce-products-header,
.wp-block-woocommerce-empty-cart-block .woocommerce-result-count,
.wp-block-woocommerce-empty-cart-block .woocommerce-ordering {
  display: none !important;
}

.wp-block-woocommerce-empty-cart-block {
  padding-bottom: 50px !important;
}

/* ============================================================
   ФОРМЫ — поля ввода, метки, sublabels
   ============================================================ */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
  background-color: var(--evo-white) !important;
  border: 1px solid var(--evo-border) !important;
  border-radius: var(--evo-radius-sm) !important;
  color: var(--evo-text) !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
  transition: border-color var(--evo-trans), box-shadow var(--evo-trans) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--evo-text) !important;
  box-shadow: 0 0 0 3px rgba(15,23,42,.08) !important;
}

textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.wpforms-field-label,
.wpcf7-form-control-wrap label,
.gform_wrapper label,
label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--evo-text) !important;
  letter-spacing: -0.005em !important;
}

.wpforms-required-label,
.wpcf7-not-valid-tip,
.gfield_required {
  color: #ef4444 !important;
}

.wpforms-field-sublabel,
.wpforms-field-label-inline {
  font-size: 12px !important;
  color: var(--evo-subtle) !important;
  font-weight: 400 !important;
}

/* ============================================================
   INFO-СТРАНИЦЫ
   ============================================================ */

.evo-info-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

.evo-info-section {
  background: var(--evo-white);
  border: 1px solid var(--evo-border);
  border-radius: var(--evo-radius-lg);
  padding: 32px 36px;
  margin-bottom: 24px;
}

.evo-info-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--evo-border);
}

.evo-info-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--evo-bg);
  border: 1px solid var(--evo-light);
  border-radius: var(--evo-radius-md);
  color: var(--evo-text);
}

.evo-info-heading h2 {
  margin: 0;
  padding: 0;
  border: none;
}

/* CTA-секция (тёмная) */
.evo-info-cta {
  background: var(--evo-text);
  border-color: var(--evo-text);
  color: var(--evo-white);
}
.evo-info-cta .evo-info-heading { border-bottom-color: rgba(255,255,255,.15); }
.evo-info-cta .evo-info-heading h2,
.evo-info-cta p { color: var(--evo-white) !important; }
.evo-info-cta .evo-info-icon {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15);
  color: var(--evo-white);
}

@media (max-width: 600px) {
  .evo-info-section { padding: 24px 20px; }
}

/* Перебить FAQ-стиль h2 внутри info-карточек */
.entry-content .evo-info-heading h2 {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--evo-text) !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.entry-content .evo-info-cta .evo-info-heading h2 {
  color: var(--evo-white) !important;
}

.evo-info-icon svg {
  width: 22px;
  height: 22px;
}

/* CTA-кнопка — белая на тёмном фоне */
.evo-info-cta .wp-block-button .wp-block-button__link,
.evo-info-cta .wp-block-button a.wp-element-button {
  background-color: var(--evo-white) !important;
  color: var(--evo-text) !important;
  border: 1px solid var(--evo-white) !important;
}

.evo-info-cta .wp-block-button .wp-block-button__link:hover,
.evo-info-cta .wp-block-button a.wp-element-button:hover {
  background-color: var(--evo-bg) !important;
  border-color: var(--evo-bg) !important;
  color: var(--evo-text) !important;
}

@media (max-width: 921px) {
    #produkte ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}