/* ===== Product page ===== */
.product-layout{
  display:grid; grid-template-columns: 1.05fr .95fr; gap:24px; padding:18px 0;
}
.product-media{
  position:sticky; top:80px; align-self:start;
}
.woocommerce-product-gallery{
  border:1px solid var(--color-border); border-radius:12px; background:#fff; overflow:hidden;
}
.woocommerce-product-gallery__wrapper img{ object-fit:contain; background:#fff; }
.woocommerce-product-gallery .flex-control-thumbs li img{
  border:1px solid var(--color-border); border-radius:10px;
}
.onsale{
  left:12px!important; top:12px!important; right:auto;
  background:#8ebb43!important; border-radius:999px!important; padding:4px 10px!important;
}

/* Summary */
.product-summary{ display:flex; flex-direction:column; gap:12px; }
.product-title{ margin:0 0 4px; font-weight:900; letter-spacing:.2px; }
.product-rating{ display:flex; align-items:center; gap:8px; color:var(--color-text-muted); }
.product-price .price{ font-size:28px; font-weight:900; color:#0f172a; }
.product-price .you-save{ margin-left:10px; color:#065f46; font-weight:700; }
.product-excerpt{ color:var(--color-text); }
.product-buy form.cart{ display:flex; gap:10px; align-items:center; }
.product-buy .quantity input{ height:44px; }
.product-buy .single_add_to_cart_button{
  height:44px; border-radius:10px; font-weight:800; background:var(--color-primary); color:#fff;
}

/* Trust bullets */
.trust-bullets{ display:flex; flex-wrap:wrap; gap:10px 16px; margin:8px 0 0; padding:0; list-style:none; color:var(--color-text-muted); }
.trust-bullets li{ display:inline-flex; gap:8px; align-items:center; }
.trust-bullets svg{ color:var(--color-primary); }

/* Accordions */
.accordions details{ border:1px solid var(--color-border); border-radius:10px; background:#fff; margin:8px 0; overflow:hidden; }
.accordions summary{ cursor:pointer; padding:10px 12px; font-weight:800; background:#f8fafc; }
.accordions details[open] summary{ border-bottom:1px solid var(--color-border); }
.accordions .acc-body{ padding:12px; color:var(--color-text); }

/* Tabs area */
.product-tabs{ margin-top:16px; }
.woocommerce-tabs .tabs{ display:flex; gap:8px; border-bottom:1px solid var(--color-border); }
.woocommerce-tabs .tabs li a{
  display:inline-block; padding:8px 12px; border:1px solid var(--color-border);
  border-bottom:none; border-radius:10px 10px 0 0; background:#fff;
}
.woocommerce-tabs .panel{ border:1px solid var(--color-border); border-radius:0 12px 12px 12px; background:#fff; padding:16px; }

/* Related/upsells */
.product-related .products{ margin-top:10px; }

/* Sticky add-to-cart (mobile) */
.sticky-cart{ display:none; position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--color-border); box-shadow:0 -10px 30px rgba(2,6,23,.08); z-index:70; }
.sticky-cart__inner{ display:flex; align-items:center; gap:10px; padding:10px 16px; }
.sticky-cart .s-title{ font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sticky-cart .s-price{ margin-left:auto; font-weight:900; }
.sticky-cart .s-action form.cart{ gap:8px; }
.sticky-cart .s-action .single_add_to_cart_button{ height:40px; }

/* только для мобильных: показываем липкую, прячем основную форму */
@media (max-width: 768px){

  .product-media{ position:relative; top:auto; }
  .product-buy form.cart{ display:none; }      /* чтобы не было дубля */
  .sticky-cart{ display:block; }
}

/* Гаттеры на мобиле, чтобы совпадало с шапкой */
@media (max-width:768px){
  .container{ padding-left:16px; padding-right:16px; }
}


/* — Контейнер шире только на карточке — */
.single-product .container{ max-width: clamp(1180px, 92vw, 1440px); }

/* — Убираем внешнюю «раму» обёртки карточки — */
.single-product .product-page.card{
  border:0!important; box-shadow:none!important; padding:0!important; background:transparent!important;
}

/* — Сетка 2/5 : 3/5, без дублей — */
.single-product .product-layout{
  display:grid; grid-template-columns: 2fr 3fr; gap:28px; align-items:start;
}

@media (max-width:1024px){
  .single-product .product-layout{ grid-template-columns:1fr; gap:16px; }
  .single-product .product-media{ position:relative; top:auto; }
}

/* — Галерея — */
.single-product .product-media{ position:sticky; top:80px; align-self:start; --thumb:120px; }
.single-product .woocommerce-product-gallery{
  border:1px solid var(--color-border); border-radius:14px; background:#fff; padding:12px; overflow:hidden;
}
.single-product .woocommerce-product-gallery__image a{ display:block; }
.single-product .woocommerce-product-gallery__image img{
  width:100%; aspect-ratio:4/3; max-height:82vh; object-fit:contain; background:#fff; border-radius:10px;
}
.single-product .onsale{
  left:12px!important; top:12px!important; right:auto;
  background:#8ebb43!important; color:#fff!important; border-radius:999px!important; padding:6px 12px!important;
}

/* — Превью: горизонтальный скролл, крупные миниатюры — */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex!important; gap:12px; overflow-x:auto!important; padding-bottom:6px;
  -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; margin-top:16px!important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{ height:6px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb{
  background:rgba(2,6,23,.15); border-radius:99px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 var(--thumb)!important; width:auto!important; float:none!important; margin:0!important; scroll-snap-align:start;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:100%; height:var(--thumb); object-fit:cover; background:#fff;
  border:1px solid var(--color-border); border-radius:10px; opacity:.9;
  transition:opacity .15s, box-shadow .15s, transform .15s; cursor:pointer;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  opacity:1; box-shadow:0 6px 18px rgba(2,6,23,.08); transform:translateY(-1px);
}

/* — Правая колонка (минимально, без дублей) — */
.single-product .product-summary{ display:flex; flex-direction:column; gap:10px; }
.single-product .product-title{ font-size:clamp(26px,3.2vw,40px); line-height:1.1; font-weight:900; margin:.2em 0 .1em; }
.single-product .product-price{ display:flex; align-items:baseline; gap:12px; margin:4px 0 8px; }
.single-product .product-price .price del{ color:#9ca3af; font-weight:600; }
.single-product .product-price .price ins{ color:#0f172a; text-decoration:none; font-weight:900; }
.single-product .product-price .you-save{
  background:rgba(24,181,196,.10); color:#0b7285; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:700;
}
.single-product .single_add_to_cart_button{
  background:#18b5c4!important; border-color:#18b5c4!important; color:#fff!important;
  border-radius:10px!important; padding:0 18px!important; font-weight:800!important;
}
.single-product .single_add_to_cart_button:hover{ filter:brightness(.95); }
.single-product .product_meta{ display:flex; flex-wrap:wrap; gap:6px 10px; font-size:13px; color:#64748b; }
.single-product .product_meta a{ color:#18b5c4; }
.single-product .trust-bullets{
  display:flex; flex-wrap:wrap; gap:10px 12px; margin-top:10px; padding:0; list-style:none; color:#475569;
  max-width: 100vw;
}
.single-product .trust-bullets li{
  display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border:1px solid var(--color-border);
  border-radius:999px; background:#fff;
}

/* — Аккордеоны — */
.single-product .accordions details{ border:1px solid var(--color-border); border-radius:10px; background:#fff; margin:8px 0; overflow:hidden; }
.single-product .accordions summary{ cursor:pointer; padding:10px 12px; font-weight:800; background:#f8fafc; }
.single-product .accordions details[open] summary{ border-bottom:1px solid var(--color-border); }
.single-product .accordions .acc-body{ padding:12px; }

/* — Мобилки: гаттеры и липкая корзина — */
@media (max-width:768px){
  .single-product .container{ padding-left:16px; padding-right:16px; }
  .single-product .product-buy form.cart{ display:none; } /* чтобы не дублировалось со sticky */
  .sticky-cart{ display:block; }
}

.woocommerce div.product div.images.woocommerce-product-gallery {
    width: 100%;
    max-width: 500px;
}

/* Хор. список превью */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display: flex !important;
  gap: 12px;
  overflow-x: auto !important;
  padding-bottom: 6px;

  /* ключевое для свайпа/жеста */
  touch-action: pan-x;                /* свайп только по X */
  -webkit-overflow-scrolling: touch;  /* инерция на iOS */
  overscroll-behavior-x: contain;     /* не тянем всю страницу */
  scroll-snap-type: x proximity;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex: 0 0 var(--thumb);             /* ширина карточки превью */
  scroll-snap-align: start;
}

/* Горизонтальная лента превью */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  gap:12px;
  overflow-x:auto !important;
  padding-bottom:6px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;                  /* свайп по X */
  overscroll-behavior-x:contain;
  cursor:grab;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs:active{cursor:grabbing;}

.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 var(--thumb,128px) !important;
  width:auto !important;
  margin:0 !important;
  float:none !important;
  scroll-snap-align:start;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:100%; height:var(--thumb,128px);
  object-fit:cover;
  border:1px solid var(--color-border);
  border-radius:10px;
  background:#fff;
  opacity:.9;
  transition:opacity .15s, box-shadow .15s, transform .15s;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  opacity:1; box-shadow:0 6px 18px rgba(2,6,23,.08); transform:translateY(-1px);
}

/* Блок стрелок под лентой */
.single-product .thumbs-arrows{
  display:flex; justify-content:center; gap:10px; margin-top:8px;
}
.single-product .thumbs-arrows button{
  width:36px; height:36px; border-radius:999px;
  border:1px solid var(--color-border);
  background:#fff; display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(2,6,23,.06);
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.single-product .thumbs-arrows button:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(2,6,23,.10); }
.single-product .thumbs-arrows button[disabled]{ opacity:.45; pointer-events:none; }
.single-product .thumbs-arrows svg{ width:18px; height:18px; color:var(--color-primary,#18b5c4); }




.product-tabs {
  width: 100%;
}
/* 
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 5px 15px;
} */

/* Прячем шапку табов */
.single-product .woocommerce-tabs ul.tabs{display:none !important;}

/* Аккордеоны */
.wc-accordion .wc-acc{
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
  margin:8px 0;
  overflow:hidden;
}
.wc-acc__summary{
  display:flex; align-items:center; gap:8px;
  cursor:pointer; user-select:none;
  padding:10px 12px;
  font-weight:800;
  background:#f8fafc;
  outline:none;
}
/* стрелочка */
.wc-acc__summary::after{
  content:""; margin-left:auto; width:10px; height:10px;
  border-right:2px solid #94a3b8; border-bottom:2px solid #94a3b8;
  transform:rotate(-45deg); transition:transform .2s;
}
.wc-acc[open] .wc-acc__summary{ border-bottom:1px solid var(--color-border); }
.wc-acc[open] .wc-acc__summary::after{ transform:rotate(135deg); }

.wc-acc > *:not(.wc-acc__summary){ padding:12px 14px; }
.wc-acc p{ margin:0 0 12px; }
.wc-acc p:last-child{ margin-bottom:0; }


/* ===== Mobile overflow fix for single product ===== */
@media (max-width: 1024px){
  /* одна колонка, без растяжения */
  .single-product .product-layout{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-width: 100% !important;
  }
  .single-product .product-media{
    position: relative !important;
    top: auto !important;
  }

  /* галерея и картинки не выходят за экран */
  .single-product .woocommerce-product-gallery{
    padding: 8px !important;
    max-width: calc(100vw - 36px) !important;
  }
  .single-product .woocommerce-product-gallery__image img{
    width: 100% !important;
    height: auto !important;
    max-height: 56vh;
    aspect-ratio: 1 / 1;      /* можно 4/3, если так лучше для фото */
    object-fit: contain;
  }

  /* миниатюры — горизонтальный скролл, без «выпирания» */
  .single-product .woocommerce-product-gallery .flex-control-thumbs{
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li{
    flex: 0 0 112px !important;  /* ширина превью на мобилке */
    margin: 0 !important;
    float: none !important;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs img{
    width: 100%;
    height: 112px;
    object-fit: cover;
    border-radius: 10px;
  }
}

/* страховка от горизонтального скролла */
html, body{ overflow-x: hidden; }
.single-product .container,
.single-product .product-layout{ overflow-x: clip; }

.single-product .product-layout .meta-row {
  max-width: calc(100vw - 34px);
}


.single-product .product-layout .product-summary .accordions {
    max-width: calc(100vw - 36px);
}

.single-product .product-layout .guarantees {
   max-width: calc(100vw - 36px);
}

/* === Sticky cart: clean layout === */
.sticky-cart{
  background:#fff;
  border-top:1px solid var(--color-border, #e5e7eb);
  box-shadow:0 -10px 30px rgba(2,6,23,.08);
}

.sticky-cart__inner{
  display:grid;
  grid-template-columns: 1fr auto;   /* инфо слева, действие справа */
  align-items:center;
  gap:12px;
}

/* title + price как вертикальный стек */
.sticky-cart .s-title,
.sticky-cart .s-price{ display:block; line-height:1.15; }

.sticky-cart .s-title{
  font-weight:800;
  font-size:14px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:52vw;                    /* чтобы не упиралось в кнопку */
}

.sticky-cart .s-price{
  font-weight:900; color:#0f172a;
}
.sticky-cart .s-price del{ color:#94a3b8; font-weight:600; margin-right:6px; }

/* действия */
.sticky-cart .s-action form.cart{
  display:flex; align-items:center; gap:8px;
}
.sticky-cart .quantity .qty{
  width:56px; height:40px;
  border-radius:10px; text-align:center;
}
.sticky-cart .single_add_to_cart_button{
  height:40px; padding:0 16px;
  border-radius:10px;
  font-weight:800;
  background:#18b5c4 !important;
  border-color:#18b5c4 !important;
  color:#fff !important;
}

/* сужаемся — убираем «старую» цену для экономии места */
@media (max-width: 520px){
  .sticky-cart .s-title{ font-size:13px; max-width:48vw; }
  .sticky-cart .s-price del{ display:none; }
   .sticky-cart { padding: 0 16px;}
 
}

/* совсем узко — кнопка на всю ширину отдельной строкой */
@media (max-width: 400px){
  .sticky-cart__inner{
    grid-template-columns: 1fr; row-gap:8px;
  }
  .sticky-cart .s-action form.cart{ width:100%; }
  .sticky-cart .single_add_to_cart_button{ flex:1; }
}


