/* ==========================================================================
   WebPack.kz — 2026 redesign
   Header / top nav / banner / catalog tiles / about / popular products /
   advantages / news / footer.
   BEM-ish naming, prefix "wp-" to avoid collisions with legacy style.m.css
   (legacy CDN CSS is still loaded on the site for catalog/product/cart pages
   that are out of scope for this pass — see report).
   ========================================================================== */

:root{
  --wp-blue:#2E7FCB;
  --wp-blue-dark:#1E63A3;
  --wp-blue-grad-top:#0088CE;
  --wp-blue-grad-bottom:#0177BF;
  --wp-btn-grad-a:#4FA3E8;
  --wp-btn-grad-b:#2E7FCB;
  --wp-ink:#1B1D22;
  --wp-ink-soft:#2B2B2E;
  --wp-text:#5C6270;
  --wp-text-muted:#6B7280;
  --wp-text-invert-muted:#9BA1AC;
  --wp-border:#E7EBEF;
  --wp-border-hover:#C7CDD6;
  --wp-bg-soft:#F6F7F8;
  --wp-bg-panel:#F7F8FA;
  --wp-green:#2E9E5B;
  --wp-amber:#C9750C;
  --wp-red:#C0392B;
  --wp-pink:#E0537C;
  --wp-pink-dark:#C23D63;
  --wp-dark:#1B1D22;
  --wp-dark-panel:#2B2E36;
  --wp-radius:6px;
  --wp-radius-lg:12px;
  --wp-maxw:1360px;
  --wp-shadow-card:0 6px 14px rgba(27,29,34,.08);
  --wp-shadow-header:0 2px 10px rgba(27,29,34,.06);
}

/* ---------- base ---------- */
/* Legacy style.m.css used to zero out the browser default <body> margin site-wide;
   that reset was lost when it was removed, leaving the UA-default 8px edge gap. */
html, body{ margin:0; padding:0; }
.wp-root, .wp-root *{ box-sizing:border-box; }
.wp-root{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  color:var(--wp-ink);
  background:#fff;
}
.wp-root a{ color:var(--wp-blue); text-decoration:none; }
.wp-root a:hover{ color:var(--wp-blue-dark); }
.wp-root img{ max-width:100%; }
.wp-container{ max-width:var(--wp-maxw); margin:0 auto; padding:0 32px; }
.wp-eyebrow{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.wp-eyebrow__bar{ width:24px; height:2px; background:var(--wp-blue); flex:none; }
.wp-eyebrow__text{ font-size:13px; font-weight:700; letter-spacing:.08em; color:var(--wp-text-muted); text-transform:uppercase; }
.wp-h2{ margin:0; font-size:28px; font-weight:700; color:var(--wp-ink); }
.wp-btn-grad{
  display:inline-block; padding:12px 26px; border-radius:var(--wp-radius);
  background:linear-gradient(135deg,var(--wp-btn-grad-a),var(--wp-btn-grad-b));
  color:#fff; font-size:14px; font-weight:700; transition:filter .3s ease; border:none; cursor:pointer;
}
.wp-btn-grad:hover{ filter:brightness(1.12) saturate(1.1); color:#fff; }

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.wp-topbar{ background:var(--wp-bg-soft); border-bottom:1px solid var(--wp-border); }
.wp-topbar__row{
  max-width:var(--wp-maxw); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  flex-wrap:wrap; row-gap:6px; padding:9px 32px;
}
.wp-topbar__links{ display:flex; align-items:center; gap:22px; font-size:13px; font-weight:600; color:var(--wp-text); flex-wrap:wrap; }
.wp-topbar__links a{ color:var(--wp-text); transition:color .2s ease; }
.wp-topbar__links a:hover{ color:var(--wp-blue); }
.wp-topbar__right{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.wp-topbar__fav.wp-topbar__fav{ display:flex; align-items:center; gap:5px; color:var(--wp-text); font-size:13px; font-weight:600; }
.wp-topbar__fav svg{ flex:none; }
.wp-topbar__lk.wp-topbar__lk{ color:var(--wp-text); font-size:13px; font-weight:600; transition:color .2s ease; }
.wp-topbar__lk:hover{ color:var(--wp-blue); }
.wp-topbar__sep{ width:1px; height:16px; background:var(--wp-border); }
.wp-flag{ width:22px; height:15px; border-radius:2px; overflow:hidden; display:flex; flex-direction:column; cursor:pointer; flex:none; }
.wp-flag span{ flex:1; }
.wp-lang{ display:flex; align-items:center; gap:8px; }
.wp-lang a{ display:flex; opacity:.55; transition:opacity .2s ease; }
.wp-lang a.is-active{ opacity:1; }
.wp-lang a:hover{ opacity:1; }

/* ==========================================================================
   STICKY HEADER
   ========================================================================== */
.wp-header{ position:sticky; top:0; z-index:40; background:#fff; box-shadow:var(--wp-shadow-header); }
.wp-header__row{
  max-width:var(--wp-maxw); margin:0 auto; padding:18px 32px;
  display:flex; align-items:center; gap:24px; flex-wrap:wrap; row-gap:12px;
}
.wp-logo{ display:flex; align-items:center; gap:12px; flex:none; }
.wp-logo img{ height:30px; width:auto; display:block; }
.wp-logo__sep{ width:1px; height:34px; background:var(--wp-border); flex:none; }
.wp-logo__tag{ font-size:12px; font-weight:700; color:var(--wp-text-muted); letter-spacing:.02em; line-height:1.45; }
.wp-header__spacer{ flex:1; min-width:12px; }
.wp-header__sep{ width:1px; height:34px; background:var(--wp-border); flex:none; }
.wp-header__sep{ display:block; }

.wp-mail{ line-height:1.4; flex:none; }
.wp-mail__addr.wp-mail__addr{ font-size:14px; font-weight:700; color:var(--wp-blue); display:block; }
.wp-mail .wp-mail__wa{ font-size:13px; color:var(--wp-text-muted); font-weight:600; display:block; margin-top:2px; transition:color .2s ease; }
.wp-mail .wp-mail__wa:hover{ color:var(--wp-blue); }

.wp-phone{ display:flex; align-items:center; gap:10px; flex:none; }
.wp-phone svg{ flex:none; }
.wp-phone__num{ font-size:19px; font-weight:800; color:var(--wp-ink-soft); line-height:1.3; display:block; }
.wp-phone__time{ font-size:13px; color:var(--wp-text-muted); font-weight:600; margin-top:2px; display:block; }

.wp-cart-btn{ display:flex; align-items:center; gap:14px; flex:none; cursor:pointer; color:inherit; }
.wp-cart-btn:hover{ color:inherit; }
.wp-cart-btn__icon{ transition:transform .3s cubic-bezier(.34,1.56,.64,1); flex:none; }
.wp-cart-btn:hover .wp-cart-btn__icon{ transform:rotate(-10deg) scale(1.12); }
.wp-cart-btn__label{ font-size:14px; font-weight:700; color:var(--wp-ink-soft); line-height:1.3; display:block; }
.wp-cart-btn__meta{ font-size:13px; color:var(--wp-text-muted); font-weight:600; margin-top:2px; display:block; }

/* header cart dropdown (basket_popup.tpl) — legacy style.m.css used to hide this by default
   and reveal it on the site's own "active" toggle; that base rule was lost when style.m.css
   was removed, so it rendered permanently open under the header. Restore the hidden-by-default
   behaviour here, site-wide (not scoped to any one page). */
.popup-outer-box{ display:none; }
.popup-outer-box.active{ display:block; }
.popup-cart-header.popup-outer-box{
  position:absolute; top:calc(100% + 8px); right:0; z-index:60; min-width:320px;
  background:#fff; border-radius:var(--wp-radius-lg); box-shadow:var(--wp-shadow-card), 0 20px 40px rgba(27,29,34,.16);
}
.popup-cart-header .popup-box{ position:relative; padding:20px; }
.popup-cart-header .popup-title-wrap{ margin-bottom:12px; }
.popup-cart-header .popup-title{ font-size:16px; font-weight:700; color:var(--wp-ink); }
.popup-cart-header .title-counter{ display:block; font-size:13px; font-weight:600; color:var(--wp-text-muted); margin-top:2px; }
.popup-cart-header .btn-popup-close{
  position:absolute; top:14px; right:14px; width:24px; height:24px; border:none; background:transparent;
  cursor:pointer; opacity:.5;
}
.popup-cart-header .btn-popup-close:hover{ opacity:1; }

/* #left_menu (templates_2025/left_menu.tpl) is a mobile-only quick-nav strip; legacy CSS used
   to hide it on desktop entirely. Restore that, and give it a simple fixed bottom tab bar on
   mobile so it isn't just a bare bullet list. */
#left_menu{ display:none; }

.wp-burger{ display:none; flex:none; width:38px; height:38px; border-radius:6px; border:1px solid var(--wp-border); background:#fff; align-items:center; justify-content:center; cursor:pointer; }
.wp-burger span{ display:block; width:18px; height:2px; background:var(--wp-ink); position:relative; }
.wp-burger span::before, .wp-burger span::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--wp-ink); transition:transform .2s ease; }
.wp-burger span::before{ top:-6px; }
.wp-burger span::after{ top:6px; }
.wp-burger.is-active span{ background:transparent; }
.wp-burger.is-active span::before{ top:0; transform:rotate(45deg); }
.wp-burger.is-active span::after{ top:0; transform:rotate(-45deg); }

/* ---------- category nav ---------- */
.wp-nav{ background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom)); box-shadow:0 4px 8px -4px rgba(27,29,34,.25); }
.wp-nav__row{ max-width:var(--wp-maxw); margin:0 auto; padding:0 32px; display:flex; align-items:stretch; font-size:15px; min-height:44px; }
.wp-nav__list{ display:flex; align-items:stretch; flex:1; min-width:0; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
/* real markup comes from templates_2025/menu_top.tpl: <li><a class="btn-menu">...
   {if children}<ul class="menu"><li><a class="btn-menu">...</a></li>...</ul>{/if}</li> */
.wp-nav__list > li{ position:relative; list-style:none; }
.wp-nav__list > li > a.btn-menu{
  position:relative; color:rgba(255,255,255,.9); border-right:1px solid rgba(255,255,255,.18);
  font-weight:600; display:flex; align-items:center; gap:6px; padding:0 22px; height:100%; min-height:44px;
  box-sizing:border-box; white-space:nowrap; text-decoration:none;
}
.wp-nav__list > li:last-child > a.btn-menu{ border-right:none; }
.wp-nav__list > li > a.btn-menu::before{
  content:""; position:absolute; inset:0; background:rgba(255,255,255,.14); opacity:0; transition:opacity .25s ease; z-index:-1;
}
.wp-nav__list > li > a.btn-menu::after{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--wp-blue);
  box-shadow:0 6px 14px -1px rgba(51,118,185,.9); transform:scaleX(0); transform-origin:center;
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.wp-nav__list > li:hover > a.btn-menu::before,
.wp-nav__list > li > a.btn-menu.active::before{ opacity:1; }
.wp-nav__list > li:hover > a.btn-menu::after,
.wp-nav__list > li > a.btn-menu.active::after{ transform:scaleX(1); }
.wp-nav__list > li > a.btn-menu .button-title{ display:block; }

.wp-nav__list > li > ul.menu{
  display:none; position:absolute; top:100%; left:0; background:#fff; list-style:none; margin:0;
  box-shadow:0 10px 24px rgba(27,29,34,.14); border-radius:0 0 8px 8px; min-width:240px; z-index:20; padding:8px 0;
}
.wp-nav__list > li:hover > ul.menu,
.wp-nav__list > li.is-open > ul.menu{ display:block; }
.wp-nav__list > li > ul.menu > li > a.btn-menu{
  display:block; padding:10px 20px 10px 19px; border-left:3px solid transparent; color:var(--wp-ink);
  font-weight:600; font-size:14px; transition:background-color .2s ease,border-color .2s ease; text-decoration:none;
}
.wp-nav__list > li > ul.menu > li > a.btn-menu:hover,
.wp-nav__list > li > ul.menu > li > a.btn-menu.active{ background:var(--wp-bg-panel); border-left-color:var(--wp-blue); color:var(--wp-ink); }

.wp-nav__search{ display:flex; align-items:center; flex:none; padding:8px 0 8px 16px; margin-left:auto; }
.wp-nav__search-inner{ position:relative; display:flex; align-items:center; }
.wp-nav__search-input{
  width:230px; height:36px; border:none; border-radius:6px; background:#fff; padding:0 42px 0 14px;
  outline:none; color:var(--wp-ink); font-size:14px; font-family:inherit; box-sizing:border-box;
}
.wp-nav__search-btn{
  position:absolute; right:3px; display:flex; align-items:center; justify-content:center; width:30px; height:30px;
  border-radius:6px; background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom));
  cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.18); border:none; transition:filter .25s ease;
}
.wp-nav__search-btn:hover{ filter:brightness(1.15) saturate(1.1); }

/* ==========================================================================
   BANNER CAROUSEL
   Real markup/data comes from main_page.tpl's original Swiper-based slider
   ({$banners_list_new} foreach, .slider-wrap.swiper / .slider.swiper-wrapper /
   .sl-wrap.swiper-slide, arrows .button-slider-tile-prev/next, dots
   .slider-tile-pagination). Swiper is already loaded site-wide and (per the
   existing arrow/pagination class-naming convention used identically for
   product-photo sliders) already initialised generically by the site's own
   JS — so we only re-skin colours/shape here instead of writing a new
   carousel; this supports any number of banners automatically. */
.wp-banner-wrap{ padding:28px 32px 0; }
.wp-banner.slider-inner-wrap{ position:relative; width:100%; aspect-ratio:1514/364; border-radius:var(--wp-radius); overflow:hidden; background:#0B3B66; }
.wp-banner .slider-wrap, .wp-banner .slider{ height:100%; }
.wp-banner .sl-wrap{ position:relative; width:100%; height:100%; }
.wp-banner .sl-link{ display:block; width:100%; height:100%; }
.wp-banner .elm-photo{ position:absolute; inset:0; width:100%; height:100%; }
.wp-banner .elm-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

.wp-banner .button-slider-tile-prev,
.wp-banner .button-slider-tile-next{
  position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  background:rgba(27,29,34,.35); display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background-color .25s ease; z-index:5;
}
.wp-banner .button-slider-tile-prev:hover,
.wp-banner .button-slider-tile-next:hover{ background:rgba(27,29,34,.55); }
.wp-banner .button-slider-tile-prev{ left:16px; }
.wp-banner .button-slider-tile-next{ right:16px; }
.wp-banner .button-slider-tile-prev::before, .wp-banner .button-slider-tile-next::before{
  content:""; width:9px; height:9px; border:solid #fff; border-width:0 2px 2px 0; display:block;
}
.wp-banner .button-slider-tile-prev::before{ transform:rotate(135deg); margin-left:3px; }
.wp-banner .button-slider-tile-next::before{ transform:rotate(-45deg); margin-right:3px; }

.wp-banner .slider-tile-pagination{
  position:absolute; bottom:14px; left:0; right:0; display:flex !important; justify-content:center;
  align-items:center; gap:8px; z-index:5;
}
.wp-banner .slider-tile-pagination span[class*="bullet"]{
  width:8px; height:8px; border-radius:4px; background:rgba(255,255,255,.7); cursor:pointer;
  transition:width .3s ease,background-color .3s ease; opacity:1;
}
.wp-banner .slider-tile-pagination span[class*="bullet-active"]{ width:22px; background:var(--wp-blue); }

/* feature-icon strip below the banner */
.wp-features{ background:#fff; }
.wp-features .items-wrap{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:24px 0; }
.wp-features .item-wrap{ flex:1 1 150px; min-width:130px; }
.wp-features .item-tile-info-ico{ display:flex; align-items:center; gap:10px; }
.wp-features .tile-ico img{ width:28px; height:28px; }
.wp-features .tile-title{ font-size:13px; font-weight:600; color:var(--wp-ink); line-height:1.35; }

/* ==========================================================================
   CATALOG TILES
   ========================================================================== */
.wp-catalog{ background:var(--wp-bg-panel); padding:40px 0 48px; margin-top:40px; }
.wp-catalog__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.wp-catalog__tabs{ display:flex; align-items:center; gap:10px; }
.wp-catalog__tab{
  padding:10px 22px; border-radius:6px; color:var(--wp-text); font-size:14px; font-weight:700; cursor:pointer;
  background:#fff; border:1px solid var(--wp-border); transition:border-color .2s ease,box-shadow .2s ease;
}
.wp-catalog__tab:hover{ border-color:var(--wp-border-hover); box-shadow:0 6px 14px rgba(27,29,34,.12); color:var(--wp-text); }
.wp-catalog__tab.active{
  background:linear-gradient(135deg,var(--wp-btn-grad-a),var(--wp-btn-grad-b)); color:#fff; border-color:transparent;
}
.wp-catalog__tab.active:hover{ color:#fff; filter:brightness(1.1); }

/* real markup toggles visibility of the two catalog-tile panels via ".item-wrap.js-tab-block.active"
   (data-tab="tab01"/"tab02", switched by site JS on .js-tabs-nav clicks) — without this rule both
   panels rendered at once, showing every tile twice. */
.wp-catalog .item-wrap.js-tab-block{ display:none; }
.wp-catalog .item-wrap.js-tab-block.active{ display:block; }

.wp-catalog__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.wp-catalog__tile{
  position:relative; display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); padding:22px; text-decoration:none; min-width:0; color:inherit;
  transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.wp-catalog__tile:hover{ box-shadow:var(--wp-shadow-card); transform:translateY(-2px); border-color:var(--wp-border-hover); color:inherit; }
.wp-catalog__tile-icon{
  flex:none; width:52px; height:52px; border-radius:6px; background:var(--wp-bg-panel);
  display:flex; align-items:center; justify-content:center; transition:background .25s ease;
}
.wp-catalog__tile:hover .wp-catalog__tile-icon{ background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom)); }
.wp-catalog__tile-icon img{ width:32px; height:32px; object-fit:contain; transition:filter .25s ease; }
.wp-catalog__tile:hover .wp-catalog__tile-icon img{ filter:brightness(0) invert(1); }
.wp-catalog__tile-title{ display:block; font-size:15px; font-weight:600; color:var(--wp-ink); }
.wp-catalog__tile-count{ display:block; font-size:13px; color:var(--wp-text-muted); margin-top:2px; }

/* ==========================================================================
   ABOUT
   ========================================================================== */
.wp-about{ max-width:var(--wp-maxw); margin:56px auto 0; padding:0 32px; display:flex; align-items:flex-start; gap:56px; flex-wrap:wrap; }
.wp-about__text{ flex:1 1 420px; min-width:320px; }
.wp-about__text p{ margin:0 0 14px; font-size:15px; line-height:1.6; color:var(--wp-text); }
.wp-about__photo{ flex:1 1 380px; min-width:280px; }
.wp-about__photo img{ width:100%; height:320px; object-fit:cover; border-radius:var(--wp-radius-lg); display:block; background:var(--wp-bg-panel); }
.wp-section-gap{ height:64px; }

/* ==========================================================================
   POPULAR PRODUCTS — new wrapper + reskin of legacy .item-wrap/.tile-* cards
   coming from modules/catalog/templates_2025/{getProduct,product}.tpl
   (used site-wide, so we restyle by class rather than rewriting markup)
   ========================================================================== */
.wp-popular{ background:var(--wp-bg-panel); padding:48px 0 56px; }
.wp-popular__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:24px; gap:12px; flex-wrap:wrap; }
.wp-popular__more.wp-popular__more{ font-size:14px; font-weight:600; color:var(--wp-blue); display:inline-flex; align-items:center; gap:6px; }
.wp-popular__more span{ transition:transform .25s ease; }
.wp-popular__more:hover span{ transform:translateX(4px); }
.wp-popular__scroll{ overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
.wp-popular__scroll::-webkit-scrollbar{ display:none; }
.wp-popular__scroll .items-wrap{ display:flex; gap:16px; }

/* legacy product tile reskin — real DOM is
   .wp-popular__scroll > .tiles-slider-box > .slider-inner-wrap.slider-tiles >
   .slider-wrap.swiper > .slider.swiper-wrapper > .sl-wrap.swiper-slide > .item-tile-catalog.
   There is no ".item-wrap" element in the real markup — the card box (background/
   border/padding) has to live on ".sl-wrap", and the row itself has to be flexed at
   ".slider.swiper-wrapper" (three levels deeper than .wp-popular__scroll). */
.wp-popular .slider-wrap.swiper{ overflow:hidden; }
.wp-popular .slider.swiper-wrapper{ display:flex; gap:16px; }
.wp-popular .sl-wrap.swiper-slide{
  flex:0 0 230px; width:230px; background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius);
  padding:16px; display:flex; flex-direction:column; gap:10px; transition:box-shadow .25s ease,border-color .25s ease;
}
.wp-popular .sl-wrap.swiper-slide:hover{ box-shadow:var(--wp-shadow-card); border-color:var(--wp-border-hover); }
.wp-popular .item-tile-catalog{ display:flex; flex-direction:column; gap:8px; flex:1; }
.wp-popular .tooltip-content-box{ display:none; } /* consumed by tippy via innerHTML, portalled elsewhere */
.wp-popular .tile-photo-wrap{ border-radius:6px; overflow:hidden; background:var(--wp-bg-panel); }
.wp-popular .tile-photo-wrap .tile-photo img{ width:100%; height:200px; object-fit:contain; display:block; }
/* inner per-product photo gallery is also an un-initialized Swiper (.tile-slider.swiper-wrapper
   > .tile-sl-wrap, one per photo) — without JS it just stacks every photo. Show only the first. */
.wp-popular .tile-sl-wrap{ display:none; }
.wp-popular .tile-sl-wrap:first-of-type{ display:block; }
.wp-popular .tile-info-row-wrap{ display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--wp-text-muted); }
.wp-popular .tile-art{ font-size:12px; color:var(--wp-text-muted); }
.wp-popular .tile-stock{ color:var(--wp-green); font-weight:600; font-size:12px; }
.wp-popular .tile-stock.stock-wait, .wp-popular .tile-stock.stock-out{ color:#C9750C; }
.wp-popular .tile-title{ font-size:14px; font-weight:600; color:var(--wp-ink); line-height:1.35; }
.wp-popular .tile-title a{ color:var(--wp-ink); }
.wp-popular .tile-bottom-wrap{ margin-top:auto; }
.wp-popular .tile-price{ font-size:19px; font-weight:800; color:var(--wp-ink); }
.wp-popular .tile-price-info{ font-size:12px; color:var(--wp-text-muted); }
.wp-popular .tile-price-wrap{ display:flex; align-items:baseline; justify-content:space-between; gap:6px; margin-bottom:6px; }
.wp-popular .price-label{ font-size:12px; color:var(--wp-text-muted); font-weight:500; margin-bottom:2px; }
.wp-popular .tile-action-wrap{ margin-top:10px; display:flex; align-items:flex-start; gap:8px; }
.wp-popular .tile-action-wrap > .btn{
  order:2; flex:1; height:42px; border-radius:6px; background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom));
  color:#fff; font-size:13px; font-weight:700; border:none; cursor:pointer; transition:filter .25s ease;
}
.wp-popular .tile-action-wrap > .btn:hover{ filter:brightness(1.12) saturate(1.1); }
.wp-popular .button-plus::after{ content:"+"; }
.wp-popular .button-minus::after{ content:"\2212"; }
.wp-popular .frm-field-counter{ order:1; flex:0 0 auto; display:flex; align-items:center; gap:2px; border:1px solid var(--wp-border); border-radius:6px; padding:0 4px; height:42px; box-sizing:border-box; }
.wp-popular .js-input-counter{ border:none; text-align:center; font-size:13px; font-weight:700; color:var(--wp-ink); width:34px; font-family:inherit; }
.wp-popular .button-plus, .wp-popular .button-minus{ width:18px; height:26px; border:none; background:none; color:var(--wp-text); font-weight:700; cursor:pointer; }
.wp-popular .field-total{ display:none; } /* mockup's compact card has no live total next to the stepper */
.wp-popular .tile-stickers-wrap{ position:absolute; }
.wp-popular .tile-actions-wrap{ position:absolute; top:8px; right:8px; }

/* ==========================================================================
   ADVANTAGES
   ========================================================================== */
.wp-advantages{ max-width:var(--wp-maxw); margin:0 auto; padding:56px 32px; }
.wp-advantages__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:16px; }
.wp-advantages__item{ display:flex; align-items:flex-start; gap:16px; background:var(--wp-bg-panel); border:1px solid var(--wp-border); border-radius:var(--wp-radius); padding:24px; }
.wp-advantages__item svg{ flex:none; }
.wp-advantages__title{ font-size:15px; font-weight:700; color:var(--wp-ink); margin-bottom:4px; }
.wp-advantages__desc{ font-size:14px; color:var(--wp-text-muted); line-height:1.5; }
.wp-advantages__cta{ background:var(--wp-bg-panel); border-left:4px solid var(--wp-blue); border-radius:var(--wp-radius); padding:22px 24px; }
.wp-advantages__cta p{ margin:0; font-size:14px; line-height:1.6; color:var(--wp-text); }

/* ==========================================================================
   NEWS
   ========================================================================== */
.wp-news{ background:var(--wp-bg-panel); padding:56px 0; }
.wp-news__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:24px; gap:12px; flex-wrap:wrap; }
.wp-news__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.wp-news__card{
  text-decoration:none; display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); padding:16px; min-width:0; color:inherit; transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.wp-news__card:hover{ box-shadow:var(--wp-shadow-card); transform:translateY(-2px); border-color:var(--wp-border-hover); color:inherit; }
.wp-news__photo{ width:100%; height:180px; border-radius:6px; object-fit:cover; display:block; background:var(--wp-border); }
.wp-news__date{ font-size:12px; color:var(--wp-text-muted); font-weight:600; }
.wp-news__title{ font-size:15px; font-weight:600; color:var(--wp-ink); line-height:1.35; }
.wp-news__desc{ font-size:13px; color:var(--wp-text-muted); line-height:1.5; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.wp-footer{ background:var(--wp-dark); color:#fff; }
.wp-footer__top{ max-width:var(--wp-maxw); margin:0 auto; padding:48px 32px 32px; display:flex; gap:56px; flex-wrap:wrap; }
.wp-footer__col{ flex:1 1 200px; min-width:180px; }
.wp-footer__col--brand{ flex:1 1 260px; min-width:220px; }
.wp-footer__logo{ height:26px; width:auto; display:block; margin-bottom:16px; filter:brightness(0) invert(1); }
.wp-footer__desc{ margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--wp-text-invert-muted); }
.wp-footer__soc{ display:flex; align-items:center; gap:10px; }
.wp-footer__soc a{
  width:36px; height:36px; border-radius:6px; background:var(--wp-dark-panel); display:flex; align-items:center;
  justify-content:center; transition:background-color .2s ease;
}
.wp-footer__soc a:hover{ background:var(--wp-blue); }
.wp-footer__heading{ font-size:14px; font-weight:700; color:#fff; margin-bottom:16px; letter-spacing:.03em; }
.wp-footer__links{ display:flex; flex-direction:column; gap:11px; }
.wp-footer__links a{ color:var(--wp-text-invert-muted); font-size:14px; font-weight:600; transition:color .2s ease; }
.wp-footer__links a:hover{ color:#fff; }
.wp-footer__contacts{ display:flex; flex-direction:column; gap:12px; }
.wp-footer__phone.wp-footer__phone{ color:#fff; font-size:19px; font-weight:800; }
.wp-footer__phone:hover{ color:#fff; }
.wp-footer__time{ font-size:13px; color:var(--wp-text-invert-muted); font-weight:600; margin-top:-6px; }
.wp-footer__mail.wp-footer__mail{ color:var(--wp-text-invert-muted); font-size:14px; font-weight:600; transition:color .2s ease; }
.wp-footer__mail:hover{ color:#fff; }
.wp-footer__addr{ font-size:14px; color:var(--wp-text-invert-muted); line-height:1.5; }
.wp-footer__bottom{ border-top:1px solid var(--wp-dark-panel); }
.wp-footer__bottom-row{
  max-width:var(--wp-maxw); margin:0 auto; padding:20px 32px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.wp-footer__copy{ font-size:13px; color:#6B7280; font-weight:600; }
.wp-footer__legal{ font-size:12px; line-height:1.6; color:#6B7280; }
.wp-footer__legal p{ margin:0; }
.wp-footer__legal-right{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }

/* ==========================================================================
   LEGACY CONTENT RE-SKIN
   The large SEO/warehouses/production copy block in main_page.tpl (real
   business copy: warehouse list incl. Алматы, "Производство на заказ",
   "Почему выбирают WebPack" tiles, closing CTA quote) keeps its original
   markup/classes 1:1 — only re-themed here (Manrope, blue accents, card
   style) to match the rest of the redesigned page. Scoped to .wp-root so it
   cannot leak onto other pages that reuse the same class names.
   ========================================================================== */
/* the legacy copy block's own outer wrapper (.section-outer-box.bg-light[role="main"]) has no
   container of its own — unlike .wp-catalog/.wp-popular (which also carry "section-outer-box" but
   keep their own full-bleed-background + .wp-container pattern), this one needs the max-width
   treatment applied directly, scoped narrowly via [role="main"] so it doesn't leak onto those. */
.wp-root [role="main"].section-outer-box{ max-width:var(--wp-maxw); margin:0 auto; padding:32px 32px 48px; box-sizing:border-box; }
.wp-root .title-box{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 20px; }
.wp-root .h1-title, .wp-root .h2-title, .wp-root .h3-title{
  font-family:'Manrope',system-ui,sans-serif; font-weight:700; color:var(--wp-ink); margin:32px 0 16px;
}
.wp-root .h1-title{ font-size:26px; }
.wp-root .h1-title a{ color:inherit; }
.wp-root .h2-title{ font-size:22px; }
.wp-root .h3-title{ font-size:18px; }
.wp-root .info-box p, .wp-root p{ font-size:15px; line-height:1.65; color:var(--wp-text); }
.wp-root .info-box{ display:flex; gap:32px; flex-wrap:wrap; align-items:center; }
.wp-root .info-inner-wrap{ flex:1 1 420px; min-width:280px; }
.wp-root .photo-inner-wrap{ flex:1 1 340px; min-width:260px; align-self:stretch; }
.wp-root .photo-inner-wrap .elm-photo{ border-radius:var(--wp-radius-lg); overflow:hidden; height:320px; }
.wp-root .photo-inner-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }
.wp-root blockquote{
  background:var(--wp-bg-panel); border-left:4px solid var(--wp-blue); border-radius:var(--wp-radius);
  padding:22px 24px; margin:32px 0; font-size:14px; line-height:1.6; color:var(--wp-text);
}

.wp-root .main-catalog-wrap.items-main .main-catalog-item,
.wp-root .action-box, .wp-root .tiles-box .item-tile-info-ico{
  background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius);
}
.wp-root .main-catalog-wrap.items-main{ display:flex; flex-wrap:wrap; gap:16px; margin:20px 0; }
.wp-root .main-catalog-wrap.items-main .main-catalog-item{
  display:flex; align-items:center; gap:14px; padding:18px; text-decoration:none; color:inherit;
  transition:box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.wp-root .main-catalog-wrap.items-main .main-catalog-item:hover{
  box-shadow:var(--wp-shadow-card); border-color:var(--wp-border-hover); transform:translateY(-2px); color:inherit;
}
.wp-root .main-catalog-icon.icon-box{ flex:none; width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
.wp-root .main-catalog-icon.icon-box img{ max-width:36px; max-height:36px; }
.wp-root .main-catalog-title{ font-size:15px; font-weight:600; color:var(--wp-ink); }
.wp-root .main-catalog-quantity{ font-size:13px; color:var(--wp-text-muted); margin-top:2px; }

.wp-root .action-box{ position:relative; display:flex; align-items:center; gap:32px; flex-wrap:wrap; padding:32px; margin:32px 0; overflow:hidden; }
.wp-root .action-box .box-inner-wrap{ display:flex; align-items:center; gap:32px; flex-wrap:wrap; width:100%; }
.wp-root .action-box .info-inner-wrap{ flex:1 1 420px; }
.wp-root .action-box .photo-inner-wrap{ flex:1 1 300px; }
.wp-root .action-box .photo-inner-wrap img{ border-radius:var(--wp-radius); }
.wp-root .action-box .logo img{ height:28px; opacity:.5; }

.wp-root .tiles-box .items-wrap{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:20px 0; }
.wp-root .tiles-box .item-tile-info-ico{ display:flex; align-items:flex-start; gap:16px; padding:24px; }
.wp-root .tiles-box .tile-ico{ flex:none; width:34px; }
.wp-root .tiles-box .tile-ico img{ width:100%; height:auto; }
.wp-root .tiles-box .tile-title{ font-size:15px; font-weight:700; color:var(--wp-ink); }
.wp-root .tiles-box .notice{ font-size:14px; font-weight:500; color:var(--wp-text-muted); line-height:1.5; margin-top:4px; }

@media (max-width: 900px){
  .wp-root .main-catalog-wrap.items-main .main-catalog-item{ width:100% !important; }
  .wp-root .tiles-box .items-wrap{ grid-template-columns:1fr; }
  .wp-root .action-box .logo{ display:none; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px){
  .wp-catalog__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wp-news__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px){
  .wp-container, .wp-header__row, .wp-topbar__row, .wp-nav__row,
  .wp-banner-wrap, .wp-catalog__head, .wp-about, .wp-advantages,
  .wp-footer__top, .wp-footer__bottom-row{ padding-left:16px; padding-right:16px; }

  .wp-topbar__links{ display:none; }
  .wp-mail{ display:none; }
  .wp-header__sep{ display:none; }

  .wp-burger{ display:flex; }

  .wp-nav__row{ padding:0; }
  .wp-nav__search{ display:none; }
  .wp-nav__list{
    display:none; position:fixed; inset:0 0 0 auto; top:0; height:100%; width:82%; max-width:340px;
    background:#fff; flex-direction:column; overflow-y:auto; z-index:60; box-shadow:-8px 0 24px rgba(0,0,0,.2);
    padding:16px 0 32px;
  }
  .wp-nav__list.is-open{ display:flex; }
  .wp-nav__list > li > a.btn-menu{
    color:var(--wp-ink); border-right:none; border-bottom:1px solid var(--wp-border); padding:14px 20px; min-height:0;
  }
  .wp-nav__list > li > a.btn-menu::before, .wp-nav__list > li > a.btn-menu::after{ display:none; }
  .wp-nav__list > li > ul.menu{
    display:none; position:static; box-shadow:none; border-radius:0; background:var(--wp-bg-panel); min-width:0; padding:0;
  }
  .wp-nav__list > li.is-open > ul.menu{ display:block; }
  .wp-nav__list > li > ul.menu > li > a.btn-menu{ padding:10px 20px 10px 34px; }
  .wp-nav__backdrop{ display:none; position:fixed; inset:0; background:rgba(27,29,34,.45); z-index:55; }
  .wp-nav__backdrop.is-open{ display:block; }

  .wp-catalog__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wp-catalog__head{ align-items:flex-start; }

  .wp-about{ gap:24px; }
  .wp-advantages__grid{ grid-template-columns:1fr; }
  .wp-news__grid{ grid-template-columns:1fr; }

  .wp-banner{ aspect-ratio:auto; height:280px; }
  .wp-banner__promo{ max-width:90%; padding:16px 18px; }
  .wp-banner__promo-inner div{ font-size:19px; }
  .wp-banner__tags{ display:none; }

  /* #left_menu: real classes are left-items/left-item-sale/left-view/left-item-best/
     left-description (from templates_2025/left_menu.tpl) — fixed bottom tab bar on mobile. */
  #left_menu{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:50;
    background:#fff; border-top:1px solid var(--wp-border); box-shadow:0 -4px 14px rgba(27,29,34,.08);
  }
  #left_menu ul{ display:flex; margin:0; padding:0; list-style:none; }
  #left_menu li{
    flex:1 1 0; display:flex; align-items:center; justify-content:center; text-align:center;
    padding:8px 4px; font-size:11px; font-weight:600; color:var(--wp-text-muted); line-height:1.25;
  }
  body{ padding-bottom:56px; }
}

@media (max-width: 600px){
  .wp-header__row{ padding:14px 16px; gap:12px; }
  .wp-logo__tag{ display:none; }
  .wp-phone__num{ font-size:16px; }
  .wp-cart-btn__label{ font-size:13px; }
  .wp-catalog__grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .wp-catalog__tile{ padding:14px; gap:10px; }
  .wp-catalog__tile-icon{ width:40px; height:40px; }
  .wp-catalog__tile-icon img{ width:24px; height:24px; }
  .wp-catalog__tile-title{ font-size:13px; }
  .wp-catalog__tile-count{ font-size:11px; }
  .wp-h2{ font-size:22px; }
  .wp-banner{ height:200px; border-radius:0; }
  .wp-banner-wrap{ padding:0; }
  .wp-popular .sl-wrap.swiper-slide{ flex-basis:180px; width:180px; }
  .wp-popular .tile-photo-wrap .tile-photo img{ height:150px; }
  .wp-footer__top{ gap:28px; padding-top:32px; }
}

/* ==========================================================================
   PRODUCT PAGE — modules/products/templates_2025/product.tpl
   Real markup/classes/data-attributes are the site's existing legacy ones
   (frm-field-counter, js-input-counter, js-btn-tgl, js-counter, js-tabs-nav,
   js-tab-block, js-popup-select, elm-price, tile-*, etc.) so the existing
   add-to-cart / counter / tabs / popup JS (loaded from the CDN, out of this
   repo) keeps working unmodified. We only re-skin those classes here and add
   two small "wp-product-*" layout wrappers inserted in product.tpl around
   the gallery+info row and the price+counter row. Scoped under .wp-product
   (added to product.tpl's own <div class="content-wrap">) so nothing leaks
   onto other pages. Toggle states (open dropdown, active tab, active
   wishlist icon, active price-unit link) are assumed to use ".active" —
   the convention used everywhere else already in this template — since the
   real toggle JS itself is not present in this repo to verify against
   (loaded from cdn_url). See report for this open risk.
   ========================================================================== */
.wp-product{ padding-bottom:8px; }
.wp-product .h1-title{ margin-top:0; }
.wp-product .title-inner-wrap{ margin-bottom:20px; }

/* ---------- breadcrumbs ---------- */
.wp-product .breadcrumbs-box .menu{
  list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:4px;
  margin:0 0 20px; padding:0; font-size:13px; color:var(--wp-text-muted);
}
.wp-product .breadcrumbs-box li{ display:flex; align-items:center; gap:4px; }
.wp-product .breadcrumbs-box li:not(:last-child)::after{ content:"\203A"; margin-left:4px; color:var(--wp-border-hover); }
.wp-product .breadcrumbs-box a{ color:var(--wp-text-muted); font-weight:500; }
.wp-product .breadcrumbs-box a:hover{ color:var(--wp-blue); }
.wp-product .breadcrumbs-box li:last-child{ color:var(--wp-ink); font-weight:600; }

/* ---------- gallery + info two-column row (wrapper added in product.tpl) ---------- */
.wp-product-top{ display:grid; grid-template-columns:440px 1fr; gap:40px; align-items:start; margin-bottom:32px; }

.wp-product .photos-inner-wrap{ position:relative; }
.wp-product .tiles-thumbs-slider-box{ display:flex; flex-direction:column; gap:12px; }
.wp-product .slider-photos-main{
  position:relative; width:100%; aspect-ratio:1/1; border-radius:var(--wp-radius-lg);
  overflow:hidden; background:var(--wp-bg-panel);
}
.wp-product .slider-photos-main .slider-wrap, .wp-product .slider-photos-main .slider{ height:100%; }
.wp-product .slider-photos-main .sl-wrap{ width:100%; height:100%; }
.wp-product .slider-photos-main .elm-photo{ display:block; width:100%; height:100%; }
.wp-product .slider-photos-main .elm-photo img{ width:100%; height:100%; object-fit:contain; display:block; }
.wp-product .slider-photos-main-pagination{
  position:absolute; bottom:12px; left:0; right:0; display:flex !important; justify-content:center;
  align-items:center; gap:6px; z-index:2;
}
.wp-product .slider-photos-main-pagination span[class*="bullet"]{
  width:7px; height:7px; border-radius:50%; background:var(--wp-border-hover); cursor:pointer;
  transition:width .25s ease,background-color .25s ease; opacity:1;
}
.wp-product .slider-photos-main-pagination span[class*="bullet-active"]{ width:18px; border-radius:4px; background:var(--wp-blue); }

.wp-product .slider-photos-thumbs{ position:relative; padding:0 26px; }
.wp-product .slider-photos-thumbs .slider-wrap{ overflow:hidden; }
.wp-product .slider-photos-thumbs .slider{ display:flex; gap:8px; }
.wp-product .slider-photos-thumbs .sl-wrap{ flex:none; width:64px; height:64px; cursor:pointer; }
.wp-product .slider-photos-thumbs .elm-photo{
  width:100%; height:100%; box-sizing:border-box; padding:4px; border-radius:8px; border:1px solid var(--wp-border);
  overflow:hidden; display:block; transition:border-color .2s ease,box-shadow .2s ease; background:#fff;
}
.wp-product .slider-photos-thumbs .elm-photo img{ width:100%; height:100%; object-fit:contain; display:block; border-radius:5px; }
.wp-product .slider-photos-thumbs .sl-wrap:hover .elm-photo{ border-color:var(--wp-border-hover); box-shadow:0 4px 10px rgba(27,29,34,.14); }
.wp-product .slider-photos-thumbs .swiper-slide-thumb-active .elm-photo{ border-color:var(--wp-blue); box-shadow:0 4px 10px rgba(27,29,34,.14); }
.wp-product .photo-play{ position:relative; }
.wp-product .photo-play::after{
  content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px; border-radius:50%;
  background:rgba(27,29,34,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/10px no-repeat;
}
.wp-product .button-slider-photos-thumbs-prev, .wp-product .button-slider-photos-thumbs-next{
  position:absolute; top:32px; transform:translateY(-50%); width:24px; height:24px; border-radius:50%;
  background:#fff; border:1px solid var(--wp-border); box-shadow:var(--wp-shadow-card); cursor:pointer; z-index:3;
}
.wp-product .button-slider-photos-thumbs-prev{ left:0; }
.wp-product .button-slider-photos-thumbs-next{ right:0; }
.wp-product .button-slider-photos-thumbs-prev::before, .wp-product .button-slider-photos-thumbs-next::before{
  content:""; position:absolute; top:50%; left:50%; width:6px; height:6px; border:solid var(--wp-text); border-width:0 2px 2px 0;
}
.wp-product .button-slider-photos-thumbs-prev::before{ transform:translate(-30%,-50%) rotate(135deg); }
.wp-product .button-slider-photos-thumbs-next::before{ transform:translate(-70%,-50%) rotate(-45deg); }

/* badges + fav/video actions, overlaid on the gallery */
.wp-product .stickers-info-wrap{ position:absolute; top:12px; left:12px; z-index:3; display:flex; flex-direction:column; gap:8px; }
.wp-product .elm-sticker{ display:inline-flex; align-items:center; gap:6px; border-radius:6px; padding:5px 10px; color:#fff; }
.wp-product .elm-sticker .st-title{ font-size:12px; font-weight:700; }
.wp-product .elm-sticker .elm-ico{ display:flex; width:13px; height:13px; flex:none; }
.wp-product .elm-sticker .elm-ico img{ width:100%; height:100%; filter:brightness(0) invert(1); }
.wp-product .elm-sticker.bg-att{ background:linear-gradient(135deg,var(--wp-btn-grad-a),var(--wp-btn-grad-b)); }
.wp-product .elm-sticker.bg-alert{ background:linear-gradient(135deg,var(--wp-pink),var(--wp-pink-dark)); }

.wp-product .actions-info-wrap{ position:absolute; top:12px; right:12px; z-index:3; display:flex; flex-direction:column; gap:8px; }
.wp-product .actions-info-wrap > *{
  width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:var(--wp-shadow-card);
}
.wp-product .actions-info-wrap img{ width:17px; height:17px; display:block; }
.wp-product .actions-info-wrap .ico-fav{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6270' stroke-width='2'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:18px 18px;
}
.wp-product .actions-info-wrap .ico-fav.active{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E0537C' stroke='%23E0537C' stroke-width='2'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
}

/* ---------- right column: stock/article, price panel, price tiers, delivery ---------- */
.wp-product .info-inner-wrap.price-info{ min-width:0; }
.wp-product .product-info-wrap{ margin-bottom:10px; }
.wp-product .item-article-flex{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:13px; }
.wp-product .elm-stock{ font-weight:600; color:var(--wp-green); }
.wp-product .elm-stock.stock-out{ color:var(--wp-red); }
.wp-product .elm-stock.stock-wait{ color:var(--wp-amber); }
.wp-product .product-art{ color:var(--wp-text-muted); }
.wp-product .product-art span{ color:var(--wp-ink); font-weight:600; }

.wp-product #change-unit{ display:flex; justify-content:flex-end; margin-top:6px; }
.wp-product #change-unit a{ font-size:12px; color:var(--wp-blue); font-weight:600; }
.wp-product #change-unit .button-title-border{ border-bottom:1px dashed var(--wp-blue); }
.wp-product #change-unit a.hide{ display:none; }

.wp-product .tooltip-content-box{
  background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius); box-shadow:var(--wp-shadow-card);
  padding:14px 16px; font-size:13px; z-index:30;
}
.wp-product .wh-title{ font-weight:700; color:var(--wp-ink); margin-bottom:8px; }
.wp-product .wh-row{ display:flex; justify-content:space-between; gap:16px; padding:4px 0; color:var(--wp-text); }
.wp-product .wh-in{ color:var(--wp-green); font-weight:600; }
.wp-product .wh-order, .wp-product .wh-wait{ color:var(--wp-amber); font-weight:600; }

.wp-product-price-panel{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:var(--wp-bg-panel); border-radius:10px; padding:18px 20px; margin:14px 0 24px;
}
.wp-product .price-info-wrap{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.wp-product .elm-price{ font-size:30px; font-weight:800; color:var(--wp-ink); white-space:nowrap; }
.wp-product .elm-price.price-all{ font-size:14px; font-weight:600; color:var(--wp-text-muted); }
.wp-product .elm-price .price-unit{ font-weight:700; }

.wp-product .counter-info-wrap{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.wp-product .counter-wrap{ display:flex; }
.wp-product .frm-field-counter{
  display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; border:1px solid var(--wp-border); border-radius:10px;
  padding:0 12px; min-height:48px; background:#fff; box-sizing:border-box;
}
.wp-product .frm-field-counter .button-plus, .wp-product .frm-field-counter .button-minus{
  order:2; width:20px; height:20px; border:none; background:none; color:var(--wp-text); font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0; position:relative; flex:none;
}
.wp-product .frm-field-counter .button-minus{ order:1; }
.wp-product .frm-field-counter .button-plus{ order:3; }
.wp-product .frm-field-counter .button-minus::before{ content:"\2212"; font-size:16px; }
.wp-product .frm-field-counter .button-plus::before{ content:"+"; font-size:16px; }
.wp-product .frm-field-counter .button-disabled{ opacity:.35; cursor:not-allowed; }
.wp-product .js-input-counter{
  order:4; border:none; background:transparent; text-align:center; font-size:14px; font-weight:700; color:var(--wp-ink);
  width:74px; font-family:inherit; padding:0;
}
.wp-product .field-total{ order:5; flex-basis:100%; font-size:11px; line-height:1.4; color:var(--wp-text-muted); padding:2px 0 6px; }

.wp-product .button-wrap{ flex:1; min-width:150px; }
.wp-product .button-wrap .btn{
  display:flex; align-items:center; justify-content:center; height:48px; width:100%; box-sizing:border-box;
  padding:0 24px; border-radius:10px; background:linear-gradient(135deg,var(--wp-btn-grad-a),var(--wp-btn-grad-b));
  color:#fff; font-size:15px; font-weight:700; cursor:pointer; transition:filter .25s ease; border:none;
}
.wp-product .button-wrap .btn:hover{ filter:brightness(1.12) saturate(1.1); color:#fff; }

/* price-tiers table ("Ваша цена" / "Экономия") + КП request link */
.wp-product .features-info-wrap{ margin:4px 0 24px; }
.wp-product .features-info-wrap table{ width:100%; border-collapse:collapse; }
.wp-product .features-info-wrap thead th{
  font-size:13px; font-weight:700; color:var(--wp-ink); text-align:center; padding-bottom:12px; border-bottom:1px solid var(--wp-border);
}
.wp-product .features-info-wrap tbody td{
  font-size:14px; color:var(--wp-text); text-align:center; padding:14px 6px; border-bottom:1px solid var(--wp-border); vertical-align:middle;
}
.wp-product .features-info-wrap .text-light{ color:var(--wp-text-muted); font-size:12px; }
.wp-product .features-info-wrap table:last-of-type{ margin-top:4px; }
.wp-product .features-info-wrap table:last-of-type td{ border-bottom:none; text-align:center; padding:14px 0 0; }
.wp-product .features-info-wrap table:last-of-type a{ font-size:14px; font-weight:600; color:var(--wp-blue); }
.wp-product .features-info-wrap table:last-of-type a:hover{ color:var(--wp-blue-dark); }

/* delivery / pickup option cards (delivery_info.tpl) */
.wp-product .delivery-info-wrap{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; padding-top:8px; }
.wp-product .delivery-item-wrap{ position:relative; }
.wp-product .frm-field-select{ height:100%; position:relative; }
.wp-product .btn-popup{
  display:flex; align-items:flex-start; gap:10px; height:100%; box-sizing:border-box; background:var(--wp-bg-panel);
  border:1px solid var(--wp-border); border-radius:10px; padding:14px; cursor:pointer; text-decoration:none; color:inherit;
  transition:border-color .2s ease;
}
.wp-product .btn-popup:hover{ border-color:var(--wp-border-hover); color:inherit; }
.wp-product .btn-popup .button-ico{ flex:none; width:18px; height:18px; margin-top:2px; }
.wp-product .btn-popup .button-ico img{ width:100%; height:100%; object-fit:contain; }
.wp-product .btn-popup .button-name{ font-size:14px; font-weight:600; color:var(--wp-ink); line-height:1.4; }
.wp-product .select-content-block{
  display:none; position:absolute; top:calc(100% + 6px); left:0; min-width:260px; background:#fff;
  border:1px solid var(--wp-border); border-radius:10px; box-shadow:var(--wp-shadow-card); padding:8px; z-index:12;
}
.wp-product .frm-field-select.active .select-content-block,
.wp-product .select-content-block.active{ display:block; }
.wp-product .select-content-block .menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.wp-product .select-content-block li.hide{ display:none; }
.wp-product .select-content-block .btn-menu{
  display:flex; gap:10px; align-items:flex-start; padding:8px; border-radius:8px; text-decoration:none; color:inherit;
  transition:background-color .2s ease;
}
.wp-product .select-content-block .btn-menu:hover{ background:var(--wp-bg-panel); color:inherit; }
.wp-product .select-content-block .button-ico{ flex:none; width:16px; height:16px; margin-top:2px; }
.wp-product .select-content-block .button-ico img{ width:100%; height:100%; }
.wp-product .select-content-block .button-name{ font-size:13px; font-weight:700; color:var(--wp-ink); flex:none; }
.wp-product .select-content-block .button-title{ font-size:13px; color:var(--wp-text); line-height:1.5; }
.wp-product .logo-info-wrap{
  display:flex; align-items:center; justify-content:center; text-align:center; margin-top:12px; min-height:44px;
  padding:10px 16px; border-radius:10px; background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom));
  color:#fff; font-size:14px; font-weight:700; text-decoration:none;
}
.wp-product .logo-info-wrap:hover{ filter:brightness(1.1); color:#fff; }
.wp-product .info-title{ margin:0; }

/* ---------- variants ("Этот товар в других вариантах") ---------- */
.wp-product .info-variants-box{ background:var(--wp-bg-panel); border-radius:10px; padding:24px; margin-bottom:32px; }
.wp-product .tags-box .title-inner-wrap{ margin-bottom:16px; }
.wp-product .tags-box-wrap{ margin-bottom:16px; }
.wp-product .tags-box-wrap:last-child{ margin-bottom:0; }
.wp-product .tile-title{ font-size:14px; font-weight:600; color:var(--wp-ink); margin-bottom:10px; }
.wp-product .tags-box-wrap .menu{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; }
.wp-product .button-tag{
  display:inline-flex; align-items:center; height:38px; padding:0 18px; border-radius:6px; border:1px solid var(--wp-border);
  background:#fff; color:var(--wp-ink); font-size:14px; font-weight:600; cursor:pointer; text-decoration:none;
  transition:border-color .2s ease;
}
.wp-product .button-tag:hover{ border-color:var(--wp-border-hover); color:var(--wp-ink); }
.wp-product .button-tag.active{
  background:linear-gradient(180deg,var(--wp-btn-grad-a),var(--wp-btn-grad-b)); color:#fff; font-weight:700; border-color:transparent;
}
.wp-product .button-tag.not-stock-item{ background:#F1F3F5; color:var(--wp-border-hover); border-color:var(--wp-border); cursor:default; }

/* ---------- description / reviews / payment / delivery / return tabs ---------- */
.wp-product .tabs-box .menu{ list-style:none; display:flex; gap:28px; margin:0; padding:0; border-bottom:1px solid var(--wp-border); overflow-x:auto; }
.wp-product .button-tab-line{
  position:relative; display:block; padding:0 0 14px; font-size:16px; font-weight:600; color:var(--wp-text-muted);
  cursor:pointer; white-space:nowrap; text-decoration:none;
}
.wp-product .button-tab-line::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--wp-blue);
  transform:scaleX(0); transform-origin:center; transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.wp-product .button-tab-line:hover{ color:var(--wp-ink); }
.wp-product .button-tab-line.active{ color:var(--wp-ink); }
.wp-product .button-tab-line.active::after{ transform:scaleX(1); }
.wp-product .info-features-box{ display:none; padding-top:24px; }
.wp-product .info-features-box.active{ display:block; }
.wp-product .info-features-box h2.h3-title{ margin-top:0; }
.wp-product .info-features-box .section-inner-wrap + .section-inner-wrap{ margin-top:28px; }
.wp-product .info-features-box p, .wp-product .info-features-box li{ font-size:15px; line-height:1.75; color:var(--wp-text); }
.wp-product .info-features-box b{ color:var(--wp-ink); }
.wp-product .info-features-box ul{ padding-left:20px; margin:8px 0; }
.wp-product .info-features-box a.link{ color:var(--wp-blue); }
.wp-product .info-features-box a.link:hover{ color:var(--wp-blue-dark); }
.wp-product .note-btn{ background:none; border:none; padding:0; font:inherit; color:var(--wp-blue); font-weight:600; cursor:pointer; }
.wp-product .dropdown-note{ font-size:14px; color:var(--wp-text); line-height:1.7; margin-top:8px; }

/* description tab: two columns (text + characteristics) on wide screens via
   its first .section-inner-wrap (productLadyChars.tpl) + second (product->desc) */
.wp-product [data-tab="tab01"] .section-content{ display:flex; flex-direction:column; gap:2px; }
.wp-product [data-tab="tab01"] .section-content p{ margin:0; }
.wp-product [data-tab="tab01"] .section-content p br{ content:""; display:block; margin:9px 0; }

/* ---------- share ---------- */
.wp-product .share-box{ display:flex; align-items:center; gap:12px; margin:32px 0 8px; }
.wp-product .share-title{ font-size:14px; font-weight:600; color:var(--wp-ink); margin:0; }
.wp-product .share-items{ display:flex; align-items:center; gap:8px; }
.wp-product .button-soc{
  width:34px; height:34px; border-radius:50%; background:var(--wp-bg-panel); border:1px solid var(--wp-border);
  display:flex; align-items:center; justify-content:center; transition:background-color .2s ease,border-color .2s ease;
}
.wp-product .button-soc:hover{ background:#fff; border-color:var(--wp-border-hover); }
.wp-product .button-soc img{ width:16px; height:16px; }

/* ---------- compact "related_items_small.tpl" rows (accessories / compatible) ---------- */
.wp-parts{ margin:0 0 32px; }
.wp-parts .section-counter{ font-size:13px; color:var(--wp-text-muted); margin-top:2px; }
.wp-list{ display:flex; flex-direction:column; gap:1px; background:var(--wp-border); border:1px solid var(--wp-border); border-radius:var(--wp-radius); overflow:hidden; }
.wp-row{ display:flex; align-items:center; gap:16px; background:#fff; padding:12px 16px; }
.wp-row__thumb{ flex:none; width:56px; height:56px; border-radius:6px; overflow:hidden; background:var(--wp-bg-panel); display:block; }
.wp-row__thumb img{ width:100%; height:100%; object-fit:contain; display:block; }
.wp-row .tile-content-wrap{ flex:1; min-width:0; }
.wp-row .tile-title{ font-size:14px; font-weight:600; color:var(--wp-ink); margin-bottom:4px; }
.wp-row .tile-title a{ color:var(--wp-ink); }
.wp-row .tile-title a:hover{ color:var(--wp-blue); }
.wp-row .tile-info-row-wrap{ display:flex; align-items:center; gap:14px; font-size:12.5px; color:var(--wp-text-muted); }
.wp-row .tile-art b{ color:var(--wp-ink); font-weight:600; }
.wp-row .tile-stock{ color:var(--wp-green); font-weight:600; }
.wp-row .tile-stock.stock-out{ color:var(--wp-amber); }
.wp-row__price{ flex:none; text-align:right; min-width:110px; }
.wp-row .wp-price{ font-size:16px; font-weight:800; color:var(--wp-ink); white-space:nowrap; }
.wp-row .wp-price__unit{ font-size:11px; color:var(--wp-text-muted); }
.wp-row .tile-action-wrap{ flex:none; display:flex; align-items:center; gap:8px; }
.wp-row .tile-action-wrap .btn{
  height:38px; padding:0 16px; border-radius:6px; background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom));
  color:#fff; font-size:12.5px; font-weight:700; border:none; cursor:pointer; white-space:nowrap;
}
.wp-row .tile-action-wrap .btn:hover{ filter:brightness(1.1) saturate(1.1); }
.wp-row .frm-field-counter{ min-height:38px; padding:0 8px; }
.wp-row .js-input-counter{ width:52px; font-size:13px; }

/* ---------- cross-sell "С этим товаром покупают" / "Вы смотрели" sliders ----------
   Rendered as siblings of .wp-product (own #left-item-related/#left-item-history
   wrap in product.tpl, outside the .wp-root scope), so this block sets its own
   base typography/box-sizing instead of relying on .wp-root ancestors. */
.wp-product-cross{
  padding:48px 0 0; font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Arial,sans-serif; font-weight:500;
  color:var(--wp-ink); box-sizing:border-box;
}
.wp-product-cross, .wp-product-cross *{ box-sizing:border-box; }
.wp-product-cross .title-box{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.wp-product-cross .title-wrap h1, .wp-product-cross .title-wrap h3{
  margin:0; font-size:22px; font-weight:700; color:var(--wp-ink);
}
.wp-product-cross .title-wrap h1 a{ color:inherit; }
.wp-product-cross .action-wrap .btn{ background:none; border:none; padding:0; cursor:pointer; }
.wp-product-cross .button-link{
  font-size:14px; font-weight:600; color:var(--wp-blue); display:inline-flex; align-items:center; gap:6px; text-decoration:none;
}
.wp-product-cross .button-link:hover{ color:var(--wp-blue-dark); }
.wp-product-cross .button-title-border{ border-bottom:none; }
.wp-product-cross .tabs-slider-box .menu{ list-style:none; display:flex; gap:24px; margin:0 0 20px; padding:0; border-bottom:1px solid var(--wp-border); overflow-x:auto; }
.wp-product-cross .button-tab{
  background:none; border:none; padding:0 0 12px; font:inherit; font-size:15px; font-weight:600; color:var(--wp-text-muted);
  cursor:pointer; position:relative; white-space:nowrap;
}
.wp-product-cross .button-tab::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--wp-blue);
  transform:scaleX(0); transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.wp-product-cross .button-tab.active{ color:var(--wp-ink); }
.wp-product-cross .button-tab.active::after{ transform:scaleX(1); }
.wp-product-cross .tiles-slider-box{ position:relative; }
.wp-product-cross .tiles-slider-box.js-tab-block{ display:none; }
.wp-product-cross .tiles-slider-box.js-tab-block.active{ display:block; }
.wp-product-cross .slider-tiles .slider{ display:flex; gap:16px; }
.wp-product-cross .slider-tiles .sl-wrap{ flex:0 0 232px; width:232px; }
.wp-product-cross .item-tile-catalog{
  height:100%; background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius); padding:12px;
  display:flex; flex-direction:column; gap:8px; box-sizing:border-box; transition:box-shadow .25s ease,border-color .25s ease;
}
.wp-product-cross .item-tile-catalog:hover{ box-shadow:var(--wp-shadow-card); border-color:var(--wp-border-hover); }
.wp-product-cross .button-slider-tiles-prev, .wp-product-cross .button-slider-tiles-next{
  position:absolute; top:calc(50% - 10px); transform:translateY(-50%); width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--wp-border); box-shadow:var(--wp-shadow-card); display:flex; align-items:center;
  justify-content:center; cursor:pointer; z-index:5;
}
.wp-product-cross .button-slider-tiles-prev{ left:-14px; }
.wp-product-cross .button-slider-tiles-next{ right:-14px; }
.wp-product-cross .button-slider-tiles-prev::before, .wp-product-cross .button-slider-tiles-next::before{
  content:""; width:8px; height:8px; border:solid var(--wp-text); border-width:0 2px 2px 0; display:block;
}
.wp-product-cross .button-slider-tiles-prev::before{ transform:rotate(135deg); margin-left:3px; }
.wp-product-cross .button-slider-tiles-next::before{ transform:rotate(-45deg); margin-right:3px; }
.wp-product-cross .slider-scrollbar-tiles{ display:none; }
.wp-product-cross .more-box{ text-align:center; margin-top:20px; }
.wp-product-cross .more-box .button-link{ justify-content:center; }

/* ---------- product page responsive ---------- */
@media (max-width: 1100px){
  .wp-product-top{ grid-template-columns:1fr; }
  .wp-product .photos-inner-wrap{ max-width:440px; margin:0 auto; }
}
@media (max-width: 700px){
  .wp-product .breadcrumbs-box .menu{ font-size:12px; }
  .wp-product .h1-title{ font-size:21px; }
  .wp-product-price-panel{ flex-direction:column; align-items:stretch; padding:16px; }
  .wp-product .counter-info-wrap{ width:100%; }
  .wp-product .frm-field-counter{ flex:1; }
  .wp-product .delivery-info-wrap{ grid-template-columns:1fr; }
  .wp-product .info-variants-box{ padding:16px; }
  .wp-product [data-tab] table{ font-size:13px; }
  .wp-product .tabs-box .menu{ gap:18px; }
  .wp-row{ flex-wrap:wrap; }
  .wp-row__price{ margin-left:auto; }
  .wp-product-cross .slider-tiles .sl-wrap{ flex-basis:180px; width:180px; }
}

/* ==========================================================================
   CATALOG CATEGORY PAGE — modules/catalog/templates_2025/catalog.tpl
   (product list of a category: sidebar + breadcrumbs + subcategory tiles +
   filters + product grid + pagination + SEO text + FAQ). Scoped under
   .wp-catalog-page, which is added (together with .wp-root, for the base
   font/color reset and the generic "LEGACY CONTENT RE-SKIN" rules above) to
   catalog.tpl's own outer .content-outer-wrap — nothing else on the site is
   touched. Real markup/classes from menu_catalog.tpl (category tree),
   podbor_lady.tpl/podbor_reset.tpl/podbor_lady_checkbox.tpl (working
   characteristic filters), navigate.tpl (pagination) and
   getProduct.tpl/product.tpl (product card, incl. js-input-counter /
   js-btn-tgl / js-counter add-to-basket hooks used site-wide) are kept
   1:1 and only re-skinned by class — product.tpl especially is reused on
   14+ other pages, so its markup itself is never edited.
   ========================================================================== */

.wp-catalog-page{ padding-bottom:8px; }
.wp-catalog-page.content-outer-wrap{
  max-width:var(--wp-maxw); margin:24px auto 0; padding:0 32px 56px;
  display:flex; align-items:flex-start; gap:32px;
}
.wp-catalog-page .content-wrap{ flex:1; min-width:0; order:2; }
.wp-catalog-page .side-wrap{ flex:none; width:250px; order:1; }

/* ---------- breadcrumbs ---------- */
.wp-catalog-page .breadcrumbs-box{ margin-bottom:16px; }
.wp-catalog-page .breadcrumbs-box .menu{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; margin:0; padding:0;
  font-size:13px; color:var(--wp-text-muted);
}
.wp-catalog-page .breadcrumbs-box li{ display:flex; align-items:center; gap:8px; }
.wp-catalog-page .breadcrumbs-box li:not(:last-child)::after{ content:"\203A"; color:var(--wp-border-hover); }
.wp-catalog-page .breadcrumbs-box a{ color:var(--wp-text-muted); font-weight:500; transition:color .2s ease; }
.wp-catalog-page .breadcrumbs-box a:hover{ color:var(--wp-blue); }
.wp-catalog-page .breadcrumbs-box li:last-child{ color:var(--wp-ink); font-weight:600; }

/* ---------- page header ---------- */
.wp-catalog-page .title-box.mb-small{ margin-bottom:20px; }
.wp-catalog-page .title-wrap{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.wp-catalog-page .title-wrap .h1-title{ margin:0; }
.wp-catalog-page .section-counter{ font-size:14px; font-weight:600; color:var(--wp-text-muted); }

/* ---------- subcategory tiles (child_categoryes) ---------- */
.wp-catalog-page .tiles-categories-box{ margin-bottom:20px; }
.wp-catalog-page .tiles-categories-box .main-catalog-wrap{ display:flex; flex-wrap:wrap; gap:10px; }
.wp-catalog-page .tiles-categories-box .main-catalog-item{
  display:flex; align-items:center; gap:10px; padding:8px 16px 8px 10px; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); text-decoration:none; color:inherit;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.wp-catalog-page .tiles-categories-box .main-catalog-item:hover{
  background:var(--wp-bg-panel); border-color:var(--wp-border-hover); box-shadow:var(--wp-shadow-card);
  transform:translateY(-1px); color:inherit;
}
.wp-catalog-page .tiles-categories-box .main-catalog-icon{
  flex:none; width:30px; height:30px; border-radius:6px; background:var(--wp-bg-panel);
  display:flex; align-items:center; justify-content:center;
}
.wp-catalog-page .tiles-categories-box .main-catalog-icon img{ max-width:20px; max-height:20px; }
.wp-catalog-page .tiles-categories-box .child-catalog-title{ font-size:14px; font-weight:600; color:var(--wp-ink); line-height:1.25; }
.wp-catalog-page .tiles-categories-box .main-catalog-quantity{ font-size:12px; color:var(--wp-text-muted); margin-top:1px; }

/* ---------- filters: mobile trigger row (podbor_lady.tpl) ---------- */
.wp-catalog-page .filter-action-box{ display:none; gap:10px; margin-bottom:16px; }
.wp-catalog-page .filter-action-box .btn{
  display:flex; align-items:center; gap:8px; height:40px; padding:0 16px; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); background:#fff; color:var(--wp-ink); font-size:13px; font-weight:700; cursor:pointer;
}
.wp-catalog-page .filter-action-box .button-ico img{ width:16px; height:16px; }

/* selected filter chips (podbor_reset.tpl — shown when filters are applied) */
.wp-catalog-page .filter-box .filter-actions-wrap{
  display:flex; align-items:center; flex-wrap:wrap; gap:14px; background:var(--wp-bg-panel);
  border-radius:var(--wp-radius); padding:12px 16px; margin-bottom:20px;
}
.wp-catalog-page .filter-selected-wrap{ display:flex; flex-wrap:wrap; gap:8px; flex:1; }
.wp-catalog-page .button-selected{
  display:flex; align-items:center; gap:8px; height:32px; padding:0 6px 0 12px; border-radius:20px;
  background:#fff; border:1px solid var(--wp-border); font-size:13px; font-weight:600; color:var(--wp-ink);
}
.wp-catalog-page .button-selected .button-value{ color:var(--wp-blue); }
.wp-catalog-page .button-selected .ico-clear{
  width:20px; height:20px; border-radius:50%; position:relative; color:var(--wp-text-muted); cursor:pointer;
}
.wp-catalog-page .button-selected .ico-clear::before, .wp-catalog-page .button-selected .ico-clear::after{
  content:""; position:absolute; width:10px; height:2px; background:currentColor; top:50%; left:50%;
}
.wp-catalog-page .button-selected .ico-clear::before{ transform:translate(-50%,-50%) rotate(45deg); }
.wp-catalog-page .button-selected .ico-clear::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.wp-catalog-page .button-selected .ico-clear:hover{ background:var(--wp-bg-panel); color:var(--wp-ink); }
.wp-catalog-page .filter-reset-wrap .button-link{
  display:flex; align-items:center; gap:6px; background:none; border:none; color:var(--wp-blue);
  font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.wp-catalog-page .filter-reset-wrap .button-link:hover{ color:var(--wp-blue-dark); }
.wp-catalog-page .filter-reset-wrap .button-ico img{ width:12px; height:12px; }

/* real characteristic filter panel (podbor_lady.tpl + podbor_lady_checkbox.tpl) */
.wp-catalog-page .filter-box.popup-mobile-box{ margin-bottom:20px; }
.wp-catalog-page .filter-content-wrap{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; background:var(--wp-bg-panel);
  border-radius:var(--wp-radius); padding:14px 16px;
}
.wp-catalog-page .filter-section-wrap{ position:relative; }
.wp-catalog-page .btn-filter-toggle{
  display:flex; align-items:center; gap:10px; height:38px; padding:0 16px; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); background:#fff; color:var(--wp-ink); font-size:14px; font-weight:600; cursor:pointer;
  transition:border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.wp-catalog-page .btn-filter-toggle::after{
  content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); margin-top:-4px; flex:none;
}
.wp-catalog-page .btn-filter-toggle:hover{ border-color:var(--wp-border-hover); color:var(--wp-blue); box-shadow:var(--wp-shadow-card); }
.wp-catalog-page .select-content-block.js-popup-block{
  display:none; position:absolute; top:calc(100% + 8px); left:0; min-width:260px; max-width:480px; max-height:340px;
  overflow-y:auto; background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius-lg);
  box-shadow:0 14px 28px rgba(27,29,34,.14); padding:16px; z-index:30;
}
.wp-catalog-page .select-content-block.js-popup-block.active{ display:block; }
.wp-catalog-page .select-content-wrap{ display:flex; flex-direction:column; gap:10px; }
.wp-catalog-page .frm-select{ display:flex; align-items:center; gap:9px; }
.wp-catalog-page .frm-select input[type=checkbox]{ width:16px; height:16px; accent-color:var(--wp-blue); cursor:pointer; flex:none; }
.wp-catalog-page .frm-select label{ font-size:14px; color:var(--wp-text); cursor:pointer; }
.wp-catalog-page .select-content-block .btn-popup-close{
  position:absolute; top:10px; right:10px; width:24px; height:24px; border-radius:50%; border:none;
  background:var(--wp-bg-panel); cursor:pointer;
}
.wp-catalog-page .select-content-block .btn-popup-close::before, .wp-catalog-page .select-content-block .btn-popup-close::after{
  content:""; position:absolute; width:12px; height:2px; background:var(--wp-text); top:50%; left:50%;
}
.wp-catalog-page .select-content-block .btn-popup-close::before{ transform:translate(-50%,-50%) rotate(45deg); }
.wp-catalog-page .select-content-block .btn-popup-close::after{ transform:translate(-50%,-50%) rotate(-45deg); }

/* tag-pill filters shown lower on the page (podbor_char_lady.tpl) */
.wp-catalog-page .tags-box{ margin:28px 0; }
.wp-catalog-page .tags-box .tile-title.h3-title{ font-size:16px; font-weight:700; color:var(--wp-ink); margin:0 0 10px; }
.wp-catalog-page .tags-box ul.menu{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 20px; padding:0; }
.wp-catalog-page .tags-box .btn.button-tag{
  display:flex; align-items:center; height:36px; padding:0 16px; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); color:var(--wp-ink); font-size:13px; font-weight:600; text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.wp-catalog-page .tags-box .btn.button-tag:hover{ background:var(--wp-bg-panel); border-color:var(--wp-border-hover); box-shadow:var(--wp-shadow-card); color:var(--wp-blue); }
.wp-catalog-page .tags-box .btn.button-tag.active{ background:var(--wp-blue); border-color:var(--wp-blue); color:#fff; }

/* ---------- product grid (getProduct.tpl / product.tpl) ---------- */
.wp-catalog-page .tiles-catalog-box .items-wrap{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.wp-catalog-page .item-wrap{ min-width:0; }
.wp-catalog-page .item-tile-catalog{
  position:relative; height:100%; display:flex; flex-direction:column; gap:10px; background:#fff;
  border:1px solid var(--wp-border); border-radius:var(--wp-radius); padding:12px;
  transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.wp-catalog-page .item-tile-catalog:hover{ box-shadow:var(--wp-shadow-card); transform:translateY(-2px); border-color:var(--wp-border-hover); }
.wp-catalog-page .item-wrap.notStock .item-tile-catalog{ opacity:.9; }

.wp-catalog-page .tile-photo-wrap{ position:relative; border-radius:6px; overflow:hidden; background:var(--wp-bg-panel); }
.wp-catalog-page .tile-slider-wrap{ display:block; position:relative; }
.wp-catalog-page .tile-slider{ display:flex; }
.wp-catalog-page .tile-sl-wrap{ flex:none; width:100%; }
.wp-catalog-page .tile-photo{ display:flex; align-items:center; justify-content:center; height:210px; }
.wp-catalog-page .tile-photo img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.wp-catalog-page .tile-slider-catalog-pagination{ display:flex; gap:4px; margin-top:8px; padding:0 2px; }
.wp-catalog-page .tile-slider-catalog-pagination .tile-bullet{ flex:1; height:3px; border-radius:2px; background:var(--wp-border); }
.wp-catalog-page .tile-slider-catalog-pagination .tile-bullet:first-child{ background:var(--wp-blue); }

.wp-catalog-page .tile-stickers-wrap{ position:absolute; top:8px; left:8px; z-index:2; display:flex; flex-direction:column; gap:4px; }
.wp-catalog-page .tile-sticker, .wp-catalog-page .elm-sticker{
  display:flex; align-items:center; gap:4px; padding:3px 8px; border-radius:20px; font-size:11px; font-weight:700; color:#fff;
}
.wp-catalog-page .tile-sticker.bg-alert{ background:#E4483E; }
.wp-catalog-page .elm-sticker.bg-att{ background:var(--wp-blue); }
.wp-catalog-page .tile-sticker img, .wp-catalog-page .elm-sticker img{ width:12px; height:12px; filter:brightness(0) invert(1); }
.wp-catalog-page .tile-actions-wrap{ position:absolute; top:8px; right:8px; z-index:2; display:flex; gap:6px; }
.wp-catalog-page .tile-button-fav{
  width:30px; height:30px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 6px rgba(27,29,34,.15); cursor:pointer; position:relative;
}
.wp-catalog-page .tile-button-fav::before{ content:"\2661"; font-size:15px; color:var(--wp-text-muted); line-height:1; }
.wp-catalog-page .tile-button-fav.active::before{ content:"\2665"; color:#E4483E; }
.wp-catalog-page .tile-actions-wrap a.tile-ico{
  width:30px; height:30px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 6px rgba(27,29,34,.15);
}

.wp-catalog-page .tile-info-row-wrap{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; }
.wp-catalog-page .tile-art{ color:var(--wp-text-muted); font-weight:500; }
.wp-catalog-page .tile-stock{ color:var(--wp-green); font-weight:600; white-space:nowrap; }
.wp-catalog-page .tile-stock.stock-wait, .wp-catalog-page .tile-stock.stock-out{ color:#C9750C; }
.wp-catalog-page .tooltip-content-box{ display:none; } /* consumed by tippy via innerHTML, portalled elsewhere */
.item-tile-product-tooltip{ font-size:13px; min-width:200px; }
.item-tile-product-tooltip .wh-title{ font-weight:700; margin-bottom:8px; color:var(--wp-ink); }
.item-tile-product-tooltip .wh-row{ display:flex; justify-content:space-between; gap:12px; padding:3px 0; }
.item-tile-product-tooltip .wh-city{ color:var(--wp-text-muted); }
.item-tile-product-tooltip .wh-val.wh-in{ color:var(--wp-green); font-weight:600; }
.item-tile-product-tooltip .wh-val.wh-wait, .item-tile-product-tooltip .wh-val.wh-order{ color:#C9750C; font-weight:600; }

.wp-catalog-page .tile-title-wrap{ flex:1; }
.wp-catalog-page .tile-title{ font-size:14px; font-weight:600; line-height:1.35; }
.wp-catalog-page .tile-title a{ color:var(--wp-ink); }
.wp-catalog-page .tile-title a:hover{ color:var(--wp-blue); }

.wp-catalog-page .wp-eta{ display:flex; align-items:flex-start; gap:8px; background:var(--wp-bg-panel); border-radius:6px; padding:8px 10px; font-size:11px; color:var(--wp-text-muted); margin:2px 0; }
.wp-catalog-page .wp-eta img{ width:16px; height:16px; flex:none; margin-top:1px; }
.wp-catalog-page .wp-eta__text b{ color:var(--wp-ink); }

.wp-catalog-page .tile-bottom-wrap{ margin-top:auto; }
.wp-catalog-page .tile-price-wrap{ display:flex; align-items:baseline; justify-content:space-between; gap:6px; margin-bottom:4px; }
.wp-catalog-page .tile-price{ font-size:19px; font-weight:800; color:var(--wp-ink); white-space:nowrap; }
.wp-catalog-page .tile-price-info{ font-size:12px; color:var(--wp-text-muted); font-weight:500; white-space:nowrap; }
.wp-catalog-page .tile-price-info-wrap{ margin-bottom:4px; }
.wp-catalog-page .price-label{ font-size:12px; color:var(--wp-text-muted); font-weight:500; margin-bottom:2px; }
.wp-catalog-page .price-label b{ color:var(--wp-ink); font-weight:700; }

.wp-catalog-page .tile-action-wrap.buy-btn{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.wp-catalog-page .tile-action-wrap .btn{
  flex:1; min-width:0; height:42px; border-radius:var(--wp-radius);
  background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom));
  color:#fff; font-size:13px; font-weight:700; border:none; cursor:pointer; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; padding:0 8px; transition:filter .25s ease;
}
.wp-catalog-page .tile-action-wrap .btn:hover{ filter:brightness(1.12) saturate(1.1); }
.wp-catalog-page .frm-field-counter.js-counter{
  display:flex; align-items:center; gap:2px; border:1px solid var(--wp-border); border-radius:var(--wp-radius);
  padding:0 4px; height:42px; flex:none; box-sizing:border-box;
}
.wp-catalog-page .js-input-counter{ border:none; text-align:center; font-size:13px; font-weight:700; color:var(--wp-ink); width:52px; font-family:inherit; background:none; }
.wp-catalog-page .js-button-counter-plus, .wp-catalog-page .js-button-counter-minus{
  width:18px; height:26px; border:none; background:none; color:var(--wp-text); font-weight:700; cursor:pointer; font-size:15px;
}
.wp-catalog-page .js-button-counter-plus::before{ content:"+"; }
.wp-catalog-page .js-button-counter-minus::before{ content:"\2212"; }
.wp-catalog-page .js-button-counter-plus.button-disabled, .wp-catalog-page .js-button-counter-minus.button-disabled{ opacity:.35; cursor:not-allowed; }
.wp-catalog-page .field-total{ font-size:11px; color:var(--wp-text-muted); margin-top:4px; }

/* ---------- pagination (navigate.tpl) ---------- */
.wp-catalog-page .pagenav-box{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:36px; flex-wrap:wrap; }
.wp-catalog-page .btn-page-nav{
  width:36px; height:36px; border-radius:var(--wp-radius); display:flex; align-items:center; justify-content:center;
  color:var(--wp-text-muted); cursor:pointer; transition:background-color .2s ease; position:relative; text-decoration:none;
}
.wp-catalog-page .btn-page-nav:hover{ background:var(--wp-bg-panel); }
.wp-catalog-page .btn-page-nav::before{ content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; }
.wp-catalog-page .button-nav-prev::before{ transform:rotate(135deg); margin-left:3px; }
.wp-catalog-page .button-nav-next::before{ transform:rotate(-45deg); margin-right:3px; }
.wp-catalog-page .btn-page-nav.button-disabled{ opacity:.3; pointer-events:none; }
.wp-catalog-page .pages-wrap{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:center; max-width:640px; }
.wp-catalog-page .btn-page{
  width:36px; height:36px; border-radius:var(--wp-radius); display:flex; align-items:center; justify-content:center;
  color:var(--wp-ink); font-weight:600; font-size:14px; cursor:pointer; transition:background-color .2s ease; text-decoration:none;
}
.wp-catalog-page .btn-page:hover{ background:var(--wp-bg-panel); }
.wp-catalog-page .btn-page.active{ background:var(--wp-blue); color:#fff; font-weight:700; }
.wp-catalog-page .show-more{ display:flex; justify-content:center; margin-top:20px; }
.wp-catalog-page .show-more.hide{ display:none; }
.wp-catalog-page .show-more .btn.button-link{
  display:flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 28px; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius); color:var(--wp-ink); font-size:14px; font-weight:700; cursor:pointer; background:none;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.wp-catalog-page .show-more .btn.button-link:hover{ background:var(--wp-bg-panel); border-color:var(--wp-border-hover); box-shadow:var(--wp-shadow-card); color:var(--wp-blue); }

/* ---------- "order custom production" CTA banner ---------- */
.wp-catalog-page .action-inner-box{ margin:32px 0; border-radius:var(--wp-radius-lg); overflow:hidden; position:relative; background:var(--wp-dark); }
.wp-catalog-page .action-inner-box .box-inner-wrap{ position:relative; display:flex; align-items:center; min-height:160px; }
.wp-catalog-page .action-inner-box .photo-bg{ position:absolute; inset:0; z-index:0; }
.wp-catalog-page .action-inner-box .photo-bg img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.55; }
.wp-catalog-page .action-inner-box .info-inner-wrap{ position:relative; z-index:1; padding:32px; color:#fff; max-width:460px; }
.wp-catalog-page .action-inner-box .section-title{ font-size:22px; font-weight:700; margin:0 0 8px; color:#fff; }
.wp-catalog-page .action-inner-box p{ margin:0 0 16px; font-size:14px; color:rgba(255,255,255,.85); }
.wp-catalog-page .action-inner-box .btn{
  display:inline-flex; align-items:center; height:44px; padding:0 24px; border-radius:var(--wp-radius);
  background:#fff; color:var(--wp-ink); font-size:14px; font-weight:700;
}
.wp-catalog-page .action-inner-box .btn:hover{ background:var(--wp-bg-panel); color:var(--wp-ink); }

/* ---------- SEO text + FAQ ---------- */
.wp-catalog-page .article-box{ max-width:900px; margin-top:8px; }
.wp-catalog-page .wp-faq{ margin-top:16px; }
.wp-catalog-page .wp-faq__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.wp-catalog-page .wp-faq__card{ background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius); padding:20px; }
.wp-catalog-page .wp-faq__badge{ display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:20px; font-size:11px; font-weight:700; margin-bottom:10px; color:#fff; }
.wp-catalog-page .wp-faq__badge--product{ background:var(--wp-blue); }
.wp-catalog-page .wp-faq__badge--usage{ background:var(--wp-green); }
.wp-catalog-page .wp-faq__badge--top{ background:#C9750C; }
.wp-catalog-page .wp-faq__badge--order{ background:#7B5CC9; }
.wp-catalog-page .wp-faq__question{ font-size:15px; font-weight:700; color:var(--wp-ink); margin:0 0 8px; }
.wp-catalog-page .wp-faq__answer{ font-size:14px; line-height:1.6; color:var(--wp-text); margin:0; }

/* ---------- sidebar: category tree (menu_catalog.tpl) ---------- */
.wp-catalog-page .side-wrap{ position:sticky; top:130px; }
.wp-catalog-page .side-menu-box{ background:#fff; border:1px solid var(--wp-border); border-radius:var(--wp-radius); padding:16px 14px; }
.wp-catalog-page .side-menu-box .popup-title-wrap{ display:none; }
.wp-catalog-page #category-head.btn-menu{
  display:flex; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:10px; border-bottom:1px solid var(--wp-border);
}
.wp-catalog-page #category-head .button-ico img{ width:20px; height:20px; }
.wp-catalog-page #category-head .button-title{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--wp-text-muted); }

.wp-catalog-page .menu-inner-wrap ul.menu{ list-style:none; margin:0; padding:0; }
.wp-catalog-page .menu-inner-wrap ul.menu.menu-main{ display:flex; flex-direction:column; gap:2px; }
.wp-catalog-page .menu-inner-wrap ul.menu.menu-main > li > a.btn-menu{
  display:block; padding:9px 8px; font-size:14px; font-weight:600; color:var(--wp-text); border-radius:6px;
  text-decoration:none; transition:color .2s ease,background-color .2s ease;
}
.wp-catalog-page .menu-inner-wrap ul.menu.menu-main > li > a.btn-menu:hover{ color:var(--wp-blue); }
.wp-catalog-page .menu-inner-wrap ul.menu.menu-main > li > a.btn-menu.active,
.wp-catalog-page .menu-inner-wrap li.open > a.btn-menu{ color:var(--wp-blue); font-weight:700; }
.wp-catalog-page .menu-inner-wrap li ul.menu{ padding-left:14px; margin:2px 0 6px; display:flex; flex-direction:column; gap:1px; }
.wp-catalog-page .menu-inner-wrap li ul.menu a.btn-menu{
  display:block; padding:7px 8px 7px 12px; font-size:13.5px; font-weight:600; color:var(--wp-text);
  border-left:2px solid var(--wp-border); text-decoration:none; transition:color .2s ease,border-color .2s ease;
}
.wp-catalog-page .menu-inner-wrap li ul.menu a.btn-menu:hover{ color:var(--wp-blue); border-left-color:var(--wp-blue); }
.wp-catalog-page .menu-inner-wrap li ul.menu a.btn-menu.active{ color:var(--wp-blue); border-left-color:var(--wp-blue); font-weight:700; }

/* price-list dropdown + packaging calculator button */
.wp-catalog-page .action-inner-wrap{ margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.wp-catalog-page .frm-field-select.js-popup-select{ position:relative; }
.wp-catalog-page .btn-popup.button-white{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:42px; border-radius:var(--wp-radius);
  border:1px solid var(--wp-border); background:#fff; color:var(--wp-ink); font-size:13px; font-weight:700; cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.wp-catalog-page .btn-popup.button-white:hover{ border-color:var(--wp-border-hover); box-shadow:var(--wp-shadow-card); }
.wp-catalog-page .btn-popup .button-ico img{ width:16px; height:16px; }
.wp-catalog-page .action-inner-wrap .select-content-block{
  display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff; border:1px solid var(--wp-border);
  border-radius:var(--wp-radius-lg); box-shadow:0 14px 28px rgba(27,29,34,.14); padding:8px; z-index:30;
}
.wp-catalog-page .action-inner-wrap .select-content-block.active{ display:block; }
.wp-catalog-page .action-inner-wrap .select-content-block .menu{ list-style:none; margin:0; padding:0; }
.wp-catalog-page .action-inner-wrap .select-content-block li.hide{ display:none; }
.wp-catalog-page .action-inner-wrap .select-content-block a.btn-menu{
  display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:6px; color:var(--wp-ink); font-size:13px;
  font-weight:600; text-decoration:none;
}
.wp-catalog-page .action-inner-wrap .select-content-block a.btn-menu:hover{ background:var(--wp-bg-panel); color:var(--wp-blue); }
.wp-catalog-page .action-inner-wrap .select-content-block .button-ico img{ width:16px; height:16px; }

.wp-catalog-page #calc-btn-wrap{ margin-top:2px; }
.wp-catalog-page .wp-calc-btn{
  display:flex; align-items:center; gap:10px; width:100%; height:52px; padding:0 16px; border:none; border-radius:var(--wp-radius);
  background:linear-gradient(180deg,var(--wp-blue-grad-top),var(--wp-blue-grad-bottom)); color:#fff; cursor:pointer;
  box-shadow:0 4px 12px -2px rgba(0,119,191,.4); transition:filter .3s ease;
}
.wp-catalog-page .wp-calc-btn:hover{ filter:brightness(1.1) saturate(1.1); }
.wp-catalog-page .wp-calc-btn__icon{ flex:none; width:24px; height:24px; }
.wp-catalog-page .wp-calc-btn__icon svg{ width:100%; height:100%; display:block; }
.wp-catalog-page .wp-calc-btn__body{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.25; text-align:left; }
.wp-catalog-page .wp-calc-btn__title{ font-size:13px; font-weight:700; }
.wp-catalog-page .wp-calc-btn__sub{ font-size:11px; color:rgba(255,255,255,.85); font-weight:600; }

/* ---------- mobile off-canvas popups (side-menu-box + filter-box share
   .popup-mobile-box; toggled by the site's existing legacy JS via
   .js-popup-mobile-open/.js-popup-mobile-close — this CSS assumes it flips
   an "active" class on the .popup-mobile-box target, matching the
   .active convention used everywhere else in this codebase (js-btn-tgl,
   js-tabs-nav, etc.); verify on a live page and adjust the selector below
   if the real toggle uses a different class ---------- */
@media (max-width:900px){
  .wp-catalog-page.content-outer-wrap{ flex-direction:column; gap:20px; padding:0 16px 40px; }
  .wp-catalog-page .side-wrap{ width:100%; position:static; }
  .wp-catalog-page .filter-action-box{ display:flex; }

  .wp-catalog-page .popup-mobile-box{
    display:none; position:fixed; inset:0; z-index:70; background:#fff; overflow-y:auto; padding:0 0 24px;
  }
  .wp-catalog-page .popup-mobile-box.active{ display:block; }
  .wp-catalog-page .side-menu-box.popup-mobile-box, .wp-catalog-page .filter-box.popup-mobile-box{ border:none; border-radius:0; padding:0; margin-bottom:0; }
  .wp-catalog-page .popup-mobile-box .popup-title-wrap{
    display:flex !important; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--wp-border);
    position:sticky; top:0; background:#fff; z-index:2;
  }
  .wp-catalog-page .popup-mobile-box .popup-title{ font-size:16px; font-weight:700; color:var(--wp-ink); }
  .wp-catalog-page .popup-mobile-box .btn-popup-close{ width:32px; height:32px; border-radius:50%; border:none; background:var(--wp-bg-panel); cursor:pointer; position:relative; }
  .wp-catalog-page .popup-mobile-box .btn-popup-close::before, .wp-catalog-page .popup-mobile-box .btn-popup-close::after{
    content:""; position:absolute; width:14px; height:2px; background:var(--wp-text); top:50%; left:50%;
  }
  .wp-catalog-page .popup-mobile-box .btn-popup-close::before{ transform:translate(-50%,-50%) rotate(45deg); }
  .wp-catalog-page .popup-mobile-box .btn-popup-close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
  .wp-catalog-page .popup-mobile-box .popup-content-wrap{ padding:16px; }
  .wp-catalog-page .popup-mobile-box #category-head.btn-menu{ display:none; }
  .wp-catalog-page .filter-box.popup-mobile-box .filter-content-wrap{ flex-direction:column; align-items:stretch; background:none; padding:16px; }
  .wp-catalog-page .filter-box.popup-mobile-box .select-content-block.js-popup-block{ position:static; box-shadow:none; border:none; padding:12px 0 0; max-height:none; }

  .wp-catalog-page .tiles-catalog-box .items-wrap{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .wp-catalog-page .tile-photo{ height:150px; }
  .wp-catalog-page .item-tile-catalog{ padding:8px; }
  .wp-catalog-page .wp-faq__grid{ grid-template-columns:1fr; }
  .wp-catalog-page .action-inner-box .info-inner-wrap{ max-width:100%; }
}

@media (max-width:600px){
  .wp-catalog-page .tiles-catalog-box .items-wrap{ grid-template-columns:1fr; }
  .wp-catalog-page .tiles-categories-box .main-catalog-wrap{ gap:8px; }
  .wp-catalog-page .action-inner-box .info-inner-wrap{ padding:20px; }
  .wp-catalog-page .title-wrap{ gap:8px; }
}
