/* =========================================================
   WOOCOMMERCE — каталог и страница товара
   ========================================================= */

.page--woo,
.page--shop,
.page--product{padding:0;}

/* Shop controls */
.shop-controls{padding:24px 0 32px;border-bottom:1px solid var(--line);}
.shop-controls__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.shop-controls__inner .woocommerce-result-count{
  font-size:13px;color:var(--ink-3);font-weight:500;letter-spacing:.04em;
  margin:0;
}
.shop-controls__inner .woocommerce-ordering select{
  padding:10px 14px;background:#fff;border:1px solid var(--line);
  font:inherit;font-size:13px;color:var(--ink);
}

/* Полоса преимуществ (доверие) — главная страница каталога */
.shop-usp{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-soft);}
.shop-usp__row{display:grid;grid-template-columns:repeat(4,1fr);}
.shop-usp__c{display:flex;align-items:flex-start;gap:14px;padding:26px 26px;}
.shop-usp__c:not(:first-child){border-left:1px solid var(--line);}
.shop-usp__ico{
  flex:none;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  color:var(--accent);background:var(--accent-l);
}
.shop-usp__ico svg{width:20px;height:20px;}
.shop-usp__h{font-family:'Geologica',sans-serif;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--ink);margin-bottom:5px;line-height:1.2;}
.shop-usp__d{font-size:12.5px;line-height:1.45;color:var(--ink-3);margin:0;}
@media (max-width:1000px){
  .shop-usp__row{grid-template-columns:repeat(2,1fr);}
  .shop-usp__c{border-left:0;}
  .shop-usp__c:nth-child(even){border-left:1px solid var(--line);}
  .shop-usp__c:nth-child(n+3){border-top:1px solid var(--line);}
}
@media (max-width:600px){
  .shop-usp{display:none;} /* блок преимуществ скрыт на мобилке (каталог) */
}

/* Категории-чипы */
.shop-cats{padding:24px 0;border-bottom:1px solid var(--line);background:var(--bg-soft);}
.shop-cats__row{display:flex;gap:8px;flex-wrap:wrap;}
.shop-cats__c{
  padding:8px 18px;
  font-family:'Geologica',sans-serif;font-size:13px;font-weight:600;letter-spacing:.005em;
  color:var(--ink);background:#fff;border:1px solid var(--line);
  transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.shop-cats__c:hover,
.shop-cats__c.act{background:var(--ink);color:#fff;border-color:var(--ink);}

/* Каталог grid */
.shop-grid{padding:64px 0;}
.shop-grid ul.products{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0;
}
/* WooCommerce core добавляет clearfix-псевдоэлементы ul.products::before/::after
   (content:" ";display:table) — в grid-контейнере они становятся grid-элементами
   и занимают по целой ячейке: первый слот пустеет, весь каталог уезжает на ячейку
   (ряды 2-3-3-2). Гасим их. */
.shop-grid ul.products::before,
.shop-grid ul.products::after{content:none;display:none;}
@media (max-width:1100px){.shop-grid ul.products{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.shop-grid ul.products{grid-template-columns:1fr;}}

/* Карточка товара */
.shop-card{
  background:#fff;border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.shop-card:hover{border-color:var(--accent);transform:translateY(-2px);}

.shop-card__media{
  position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft);
}
.shop-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.shop-card:hover .shop-card__media img{transform:scale(1.04);}
.shop-card__badge{
  position:absolute;top:14px;left:14px;
  font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--accent);color:#fff;padding:6px 10px;
}

.shop-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.shop-card__sku{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ink-3);}
.shop-card__h{font-family:'Geologica',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.005em;line-height:1.2;margin:0;}
.shop-card__h a{color:inherit;transition:color .25s;}
.shop-card__h a:hover{color:var(--accent);}

.shop-card__attrs{
  display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0 2px;
  font-size:12.5px;line-height:1.35;
}
.shop-card__attrs dt{font-weight:500;color:var(--ink-3);white-space:nowrap;}
.shop-card__attrs dd{margin:0;font-weight:600;color:var(--ink);text-align:right;}

.shop-card__foot{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.shop-card__price{font-family:'Geologica',sans-serif;font-size:18px;font-weight:600;color:var(--accent);}
.shop-card__price del{color:var(--ink-3);font-weight:400;margin-right:6px;}
.shop-card__more{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--ink);
  transition:color .25s;
}
.shop-card__more svg{width:14px;height:14px;transition:transform .3s;}
.shop-card__more:hover{color:var(--accent);}
.shop-card__more:hover svg{transform:translateX(3px);}

.qgm-card-cta{
  margin-top:14px;width:100%;padding:12px 16px;
  font-family:'Onest',sans-serif;font-size:13px;font-weight:600;
  background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;
  transition:background-color .3s, border-color .3s;
}
.qgm-card-cta:hover{background:var(--accent);border-color:var(--accent);}

/* Pagination */
.woocommerce-pagination{margin-top:48px;}
.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;justify-content:center;border:none!important;}
.woocommerce-pagination ul li{margin:0!important;border:none!important;}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span{
  padding:10px 14px;background:#fff;border:1px solid var(--line)!important;
  font-family:'Geologica',sans-serif;font-weight:600;font-size:13px;color:var(--ink);
  transition:.25s;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li .current{background:var(--ink);color:#fff;border-color:var(--ink)!important;}

/* =========================================================
   PRODUCT PAGE
   ========================================================= */
.page__hero--slim{padding:92px var(--pad-x) 16px;border-bottom:none;background:transparent;}
@media (max-width:900px){.page__hero--slim{padding:78px var(--pad-x) 12px;}}

/* ВАЖНО: только секция страницы товара. Карточки каталога — это <article class="product …">
   (класс добавляет wc_product_class), голый .product цеплял их → 24px над фото + 64px снизу. */
section.product{padding:24px 0 36px;}
.product__inner{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:flex-start;}
.product__media{position:sticky;top:120px;}
.product__media-stage{position:relative;}
.product__media-main{
  position:relative;display:block;width:100%;padding:0;border:0;
  aspect-ratio:5/4;overflow:hidden;background:var(--bg-soft);cursor:zoom-in;
}

/* Стрелки листания фото — сиблинги главного фото (не вложены в кнопку зума) */
.product__media-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;padding:0;border:0;border-radius:50%;
  background:rgba(21,32,26,.5);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:3;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .25s var(--ease), background-color .25s var(--ease);
}
.product__media-nav svg{width:auto;height:18px;}
.product__media-nav--prev{left:14px;}
.product__media-nav--next{right:14px;}
.product__media-stage:hover .product__media-nav{opacity:1;}
.product__media-nav:hover{background:var(--accent);}
.product__media-nav:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px;}
@media (hover:none){.product__media-nav{opacity:.9;}}
@media (max-width:600px){.product__media-nav{width:42px;height:42px;opacity:.9;}}
.product__media-main img{width:100%;height:100%;object-fit:cover;}
.product__media-zoom{
  position:absolute;bottom:14px;right:14px;
  width:42px;height:42px;border-radius:50%;
  background:rgba(21,32,26,.55);color:#fff;
  display:flex;align-items:center;justify-content:center;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transform:translateY(6px);transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.product__media-main:hover .product__media-zoom{opacity:1;transform:none;}
.product__media-zoom svg{width:18px;height:18px;}
.product__media-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;}
.product__media-thumb{
  display:block;padding:0;aspect-ratio:1/1;overflow:hidden;background:var(--bg-soft);
  cursor:pointer;border:1px solid transparent;transition:border-color .25s var(--ease);
}
.product__media-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.product__media-thumb:hover img{transform:scale(1.06);}
.product__media-thumb.act{border-color:var(--accent);}

.product__info{padding:8px 0;}
.product__sku{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.product__h{font-family:'Geologica',sans-serif;font-size:clamp(28px,3.4vw,48px);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 18px;}
.product__short{font-size:17px;line-height:1.55;color:var(--ink-2);margin-bottom:28px;}
.product__short p{margin:0 0 .6em;}

.product__specs{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:32px;
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.product__specs > div{
  padding:14px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;
}
.product__specs dt{font-size:13px;color:var(--ink-3);font-weight:500;margin:0;}
.product__specs dd{font-size:14px;font-weight:700;color:var(--ink);margin:0;text-align:right;}

.product__cta-row{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;
}
.product__price{font-family:'Geologica',sans-serif;font-size:28px;font-weight:600;color:var(--accent);letter-spacing:-.015em;}
.product__price del{color:var(--ink-3);font-weight:400;margin-right:8px;font-size:.8em;}

.product__quick{display:flex;gap:24px;flex-wrap:wrap;}
.product__quick-c{
  display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;color:var(--ink);transition:color .25s;
}
.product__quick-c:hover{color:var(--accent);}
.product__quick-c svg{width:18px;height:18px;color:var(--accent);}

@media (max-width:900px){
  .product__inner{grid-template-columns:1fr;gap:36px;}
  .product__media{position:static;}
}

/* Polish: убираем стандартный WC внутри modal/cart */
.woocommerce-info,.woocommerce-message,.woocommerce-error{
  background:var(--bg-soft);border-left:3px solid var(--accent);padding:14px 18px;
  font-size:14px;color:var(--ink-2);margin:24px 0;list-style:none;
}
.woocommerce-error{border-left-color:#C44;background:#FCEEEE;}

.sec__h--small{font-size:clamp(24px,2.6vw,36px);margin-bottom:24px;}

/* Похожие товары — это <div class="products columns-4"> (НЕ ul.products в .shop-grid),
   поэтому grid каталога к нему не применялся и карточки сыпались колонкой/внахлёст.
   Задаём собственную сетку. */
.sec .products.columns-4{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  list-style:none;margin:24px 0 0;padding:0;
}
.sec .products.columns-4::before,
.sec .products.columns-4::after{content:none;display:none;}
@media (max-width:1100px){.sec .products.columns-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.sec .products.columns-4{grid-template-columns:1fr;}}
