/* =========================
   Product capsule (desktop base)
   ========================= */
.gg-capsule{
  max-width:1100px; margin:32px auto 24px; padding:10px; border-radius:28px;
  background:radial-gradient(120% 120% at 0% 0%,#fff 0%,#fbfbff 70%,#f7f6ff 100%);
  box-shadow:0 10px 40px rgba(110,90,230,0.08);
}
.gg-capsule-inner{
  display:grid; grid-template-columns:400px 1fr; gap:32px;
  padding:28px; border-radius:24px; background:#fff; box-shadow:0 8px 26px rgba(17,16,102,.06);
}

/* Left column + gallery safety */
.gg-capsule-left{
  display:block; width:400px !important; max-width:400px !important;
  background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important;
  position:relative; padding-bottom:calc(0.5 * var(--gg-opt-row-h) + 36px) !important; overflow:visible !important;
}
.gg-capsule-left img,
.woocommerce div.product div.images img{
  display:block !important; width:100% !important; height:auto !important;
  border:none !important; box-shadow:none !important; border-radius:10px !important; background:transparent !important;
}
.woocommerce div.product div.images,
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image{
  overflow:visible !important; clip-path:none !important; -webkit-mask:none !important; mask:none !important; padding:0 !important;
}
.woocommerce-product-gallery::after,
.woocommerce-product-gallery__wrapper::after,
.woocommerce-product-gallery__image::after{ pointer-events:none !important }

/* Options overlay and pills */
.gg-capsule-left > .gg-p-options--left{
  position:absolute !important; left:0 !important; right:0 !important; width:100% !important;
  bottom:0 !important; transform:translateY(calc(50% - 10px)) !important;
  display:flex !important; justify-content:center !important; flex-wrap:wrap !important;
  gap:10px 14px !important; margin:0 !important; overflow:visible !important; z-index:20;
}
.gg-p-options--left{ border:1px solid transparent !important; background:transparent !important; box-shadow:none !important; overflow:visible !important }
.gg-p-options--left .gg-pill + .gg-pill::before{ background:#e9e9ee !important }
.gg-pill{
  appearance:none; border:1px solid var(--gg-border-color) !important; background:#fff; color:#2a2756;
  padding:8px 16px; border-radius:999px; font-size:14px; font-weight:700; cursor:pointer; transition:all .18s ease; align-self:center; line-height:1;
}
.gg-pill.is-active{ background:#f2f2f7 !important; border-color:#e9e9ee !important; color:#111 !important }
.gg-pill-under,.gg-pill-price{ color:#4a4a55 !important; font-weight:500 !important }
.gg-p-options--left .gg-pill-wrap{
  position:relative; display:inline-flex; flex-direction:column; align-items:center; justify-content:flex-end;
  height:38px; padding-top:2px; padding-bottom:24px;
}
.gg-p-options--left .gg-pill-under{ position:absolute; left:50%; transform:translateX(-50%); bottom:2px; white-space:nowrap; pointer-events:none }

/* Right column (content) */
.gg-capsule-right{ position:relative }
.gg-p-title{ margin:0 0 12px; font-size:28px; line-height:1.2; font-weight:900; color:#111 }
.gg-p-desc,.gg-p-short{ font-size:15px; color:#6f6d92; line-height:1.55; margin:6px 0 14px }
.gg-p-short p{ margin:0 }
.gg-p-short a{ color:var(--gg-primary); text-decoration:none }

/* Controls row (legacy) */
.gg-p-controls{ display:grid; grid-template-columns:1fr auto; gap:16px; align-items:start }
.gg-p-buy{ display:inline-flex; align-items:center; gap:14px }
.gg-total{ font-weight:500; font-size:16px; color:#4a4a55; margin-right:12px; min-width:92px; text-align:right }
.gg-qty{
  display:inline-flex; align-items:stretch; border:1px solid #e9e9ee; border-radius:10px; overflow:hidden; background:#fff; margin-left:8px;
}
.gg-qty__btn{ appearance:none; border:none; background:#fff; padding:6px 14px; font-size:16px; font-weight:800; color:#2a2756; cursor:pointer; line-height:1; user-select:none; display:inline-flex; align-items:center; justify-content:center }
.gg-qty__btn:hover{ background:#f4f2ff }
.gg-qty__val{ min-width:46px; padding:6px 12px; text-align:center; font-size:16px; font-weight:700; color:#2a2756; border-left:1px solid #e9e9ee; border-right:1px solid #e9e9ee; display:inline-flex; align-items:center; justify-content:center }

/* Misc tweaks */
.gg-capsule-right form.cart .price,
.gg-capsule-right .cart .price,
.gg-capsule-right .single_variation .price{ display:none !important }
.gg-capsule input[type="number"]::-webkit-inner-spin-button,
.gg-capsule input[type="number"]::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0 }
.gg-capsule input[type="number"]{ -moz-appearance:textfield }
.gg-capsule .qty-btn:hover{ background:#f2f2f7 !important }
.gg-capsule .gg-tab:hover,.gg-capsule .gg-tab.is-active{ background:#f2f2f7; color:#111 }
.gg-capsule .gg-tab:focus-visible{ outline:none;  border-radius:inherit }

/* =========================
   Single product flat style
   ========================= */
.single-product .gg-capsule{
  background:#fff !important; border:1px solid #e9e9ee !important; border-radius:18px !important; box-shadow:none !important; padding-bottom:24px;
}
.single-product .gg-cat-media{ border-radius:17px 17px 0 0 !important; box-shadow:none !important }
.single-product .gg-cat-media::before,.single-product .gg-cat-media::after{ content:none !important }
.single-product .gg-cat-list{ box-shadow:none !important }
.single-product .gg-cat-media::after{ content:none !important; background:none !important }
.single-product .gg-cat-media,.single-product .gg-cat-media img{ background:none !important; filter:none !important; mix-blend-mode:normal !important; opacity:1 !important }

/* =========================
   Single product (moved inline styles)
   ========================= */
.gg-capsule.gg-capsule--single{
  max-width:660px; margin:38px auto 0; padding:0 0 28px;
  background:#fff; box-shadow:0 2px 17px rgba(98,108,113,.09); border-radius:22px;
}
.gg-cat-media--single{ aspect-ratio:3/1; overflow:hidden; border-radius:18px 18px 0 0 }
.gg-cat-media__img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:18px 18px 0 0 }
.gg-cat-media__stub{ height:172px; background:#f6f7ff }
.gg-product-instant-media{
  position:absolute;
  top:54px;
  right:14px;
  z-index:2;
  display:none;
  align-items:center;
  width:max-content;
  max-width:calc(100% - 28px);
  padding:7px 12px;
  border-radius:999px;
  background:rgba(236,253,245,.96);
  color:#047857;
  font-size:13px;
  line-height:1;
  font-weight:800;
  box-shadow:0 6px 18px rgba(15,23,42,.12);
  white-space:nowrap;
}
.gg-product-instant-media.is-visible{ display:inline-flex }

/* Inner content padding (both simple and variable) */
.gg-cat-list--single{
  padding:24px 20px 20px;
  display:flex; flex-direction:column; align-items:flex-start; gap:18px;
}
@media (min-width:769px){
  .gg-cat-list--single{ padding:32px 36px 24px }
}

/* Title */
.gg-p-wrap{ width:100% }
.gg-p-title--single{ font-size:2rem; line-height:1.2; font-weight:900; color:#111; margin:0 0 18px; text-align:center; }
@media (max-width:768px){.gg-p-title--single{font-size: 20px;}}

/* Variation tabs */
.gg-variation-group{ margin-bottom:8px; text-align:center }
.gg-tabs--single{
  display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:0;
  border:1px solid #e9e9ee; border-radius:999px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.02); overflow:hidden;
}
.gg-variation-option{
  appearance:none; border:0; background:transparent; color:#111; padding:10px 18px; font-weight:700; font-size:14px; line-height:1; cursor:pointer;
  transition:background-color .18s ease, color .18s ease; position:relative;
}
.gg-variation-option .gg-tab__sep{ content:""; position:absolute; left:0; top:8px; bottom:8px; width:1px; background:#e9e9ee }
.gg-variation-select.gg-visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:0; border:0; clip:rect(0 0 0 0); clip-path:inset(50%); overflow:hidden; white-space:nowrap;
}

/* Short description */
.gg-p-short{ color:#6f6d92; font-size:15px; line-height:1.55; margin:0 0 18px }

/* ATC row (simple + variable) */
.single_variation_wrap .single_variation{ display:none }
.gg-atc-row{ display:flex; align-items:center; gap:12px; flex-wrap:nowrap; justify-content:center }
.gg-product-qty{
  display:inline-flex; align-items:stretch; border:1px solid #e9e9ee; border-radius:8px; overflow:hidden; background:#fff;
}
.gg-qty-minus,.gg-qty-plus{
  appearance:none; border:0; background:#fff; padding:5px 9px; font-size:14px; font-weight:700; color:#111; cursor:pointer; line-height:1; user-select:none;
  transition:background-color .18s ease;
}
.gg-qty-input{
  width:45px; text-align:center; border:0; border-left:1px solid #e9e9ee; border-right:1px solid #e9e9ee; padding:5px 4px; font-size:13px; font-weight:600; color:#111; background:#fff;
  -moz-appearance:textfield; appearance:textfield;
}

/* Price + button */
.gg-variation-price{ font-size:1.35rem; color:#111; font-weight:700; min-width:90px; text-align:center }
.gg-unit-price{ font-size:1.35rem; color:#111; font-weight:700; min-width:90px; text-align:center }
.single_add_to_cart_button.button.alt{
  background:var(--gg-primary); color:#fff; border-radius:10px; padding:12px 24px; font-size:16px; font-weight:700; border:0; flex:0 0 auto; min-width:180px;
  opacity:.5; cursor:not-allowed;
}
.single_add_to_cart_button.button.alt:enabled{ opacity:1; cursor:pointer }

.gg-atc-row .button { font-size:16px !important; font-weight:700 !important; 
  border:1px solid #E1E1EE !important; font-weight: 500 !important; 
  font-size: 15px !important; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: #f2f2f7 !important;
}

/* =========================
   Mobile adaptations
   ========================= */
@media (max-width:768px){
  /* Capsule */
  .gg-capsule{ padding:10px !important; margin:16px auto !important; box-shadow:0 8px 24px rgba(110,90,230,0.10) !important }
  .gg-capsule-inner{ padding:12px !important; border-radius:20px !important; box-shadow:0 6px 18px rgba(17,16,102,0.07) !important; grid-template-columns:1fr !important; gap:14px !important }

  /* Gallery */
  .woocommerce-product-gallery,
  .woocommerce-product-gallery__wrapper,
  .woocommerce-product-gallery__image{ width:100% !important; max-width:100% !important; margin:0 auto !important; overflow:hidden !important; border-radius:12px }
  .woocommerce-product-gallery__image img{ display:block !important; width:92% !important; max-width:92% !important; height:auto !important; object-fit:contain !important; object-position:center center !important; margin:0 auto !important }

  /* Left column reset */
  .gg-capsule-left{ width:100% !important; max-width:100% !important; padding:0 !important; margin:0 auto !important; overflow:hidden !important }
  .gg-capsule-left > .gg-p-options--left{
    position:static !important; transform:none !important; width:100% !important; max-width:100% !important;
    margin:12px auto 0 !important; padding:0 10px !important; display:flex !important; justify-content:center !important; align-items:flex-end !important;
    gap:10px 12px !important; flex-wrap:nowrap !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; box-sizing:border-box;
  }

  /* Single header without paddings */
  .single-product .gg-capsule{ padding:0 !important; border-radius:16px !important }
  .single-product .gg-cat-media{
    position:relative !important; display:block !important; width:100% !important; height:160px !important;
    aspect-ratio:auto !important; overflow:hidden !important; border-radius:18px 18px 0 0 !important; margin:0 !important;
  }
  .single-product .gg-cat-media img{ width:100% !important; height:100% !important; object-fit:cover !important; margin:0 !important }
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image{
    margin:0 !important; padding:0 !important; width:100% !important; max-width:100% !important; border-radius:18px 18px 0 0 !important; overflow:hidden !important;
  }
  .single-product .woocommerce-product-gallery__image img{ width:100% !important; max-width:100% !important; height:100% !important; object-fit:cover !important; margin:0 !important }
  .gg-product-instant-media{
    top:50px;
    right:10px;
    max-width:calc(100% - 20px);
    padding:6px 10px;
    font-size:12px;
  }

  /* ATC row wrap + full-width button (simple + variable) */
  .gg-atc-row{ flex-wrap:wrap !important; justify-content:center !important; gap:12px !important }
  .gg-atc-row .single_add_to_cart_button,
  .gg-atc-row .button{ flex-basis:100% !important; width:100% !important; }

  /* Variation tabs compact */
  .gg-tabs.gg-tabs--single{ border-width:1px }
  .gg-variation-option{
    font-size:13px !important; padding:6px 10px !important; line-height:1 !important;
    white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; min-height:30px;
  }
  .gg-variation-option .gg-tab__sep{ top:6px; bottom:6px }

  /* Price smaller by 3px */
  .gg-variation-price,.gg-unit-price{ font-size:calc(1.35rem - 3px) !important; line-height:1.1 }
  .gg-unit-suffix{ font-size:.9em }
}

/* Visual balance: page container paddings like homepage */
@media (max-width:720px){
  .single-product .container{ padding-left:0px; padding-right:0px; box-sizing:border-box }
}



/* Базовый тост уже есть, добавим модификатор для "закончился" */
.gg-toast.gg-toast--warning .gg-toast__inner{
  background:transparent;
  color:#4a3210;
}


/* контейнер по центру */
.gg-out-of-stock-wrap {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

/* базовое состояние disabled-кнопки */
.gg-out-of-stock-btn {
  cursor: default;          /* или not-allowed, как больше нравится */
  opacity: 0.6;
  pointer-events: none;     /* чтобы вообще не ловила события */
}

/* выключаем подсветку при ховере/фокусе у кнопки "Товар закончился" */
.gg-out-of-stock-btn:hover,
.gg-out-of-stock-btn:focus,
.gg-out-of-stock-btn:active {
  background-color: inherit;    /* или конкретный цвет, как в базовом .button */
  color: inherit;
  box-shadow: none;
}

/* Обёртка заголовка */
.gg-p-wrap{
  width:100%;
  text-align:center;
}

/* Заголовок товара — контейнер для иконки и подсказки */
.gg-p-title.gg-p-title--single{
  position:relative;
  display:inline-block;
  font-size:2rem;
  line-height:1.2;
  font-weight:900;
  color:#111;
  margin:0 0 18px;
}

/* Кнопка с вопросом (по умолчанию серая) */
.gg-title-help{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:26px;
  height:26px;
  margin-left:8px;
  border-radius:10px;
  border:none;
  cursor:pointer;

  background:#f2f2f7;
  color:#888;
  font-size:14px;
  line-height:1;
  padding:0;

  vertical-align:middle;       /* по вертикали к тексту */
  transform:translateY(-1px);  /* тонкая подстройка по высоте */
}

/* Активная кнопка (когда подсказка открыта) — жёлтая */
.gg-title-help.is-active{
  background:rgba(255, 214, 102, 0.18);
  color:#F5A623;
}

/* Всплывающий блок с подсказкой */
.gg-title-help-box{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  margin-top:6px;
  z-index:50;

  padding:10px 16px;
  min-width:360px;
  max-width:420px;

  border-radius:12px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;

  font-size:13px;
  line-height:1.5;
  font-weight:400;
  color:#555;
  text-align:center;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* Обёртка заголовка и контента */
.gg-p-wrap{
  width:100%;
  /* убираем text-align:center отсюда */
}

/* Центруем только заголовок */
.gg-p-title.gg-p-title--single{
  position:relative;
  display:inline-block;
  font-size:2rem;
  line-height:1.2;
  font-weight:900;
  color:#111;
  margin:0 0 18px;
  text-align:center;          /* центрируем текст заголовка */
}


@media (max-width:768px) { 
  .gg-p-title.gg-p-title--single{ font-size:21px; }
  .gg-p-short p { font-size: 13px; }
}

/* Для всего текста описания возвращаем выравнивание по левому краю */
.gg-p-short,
.gg-p-desc,
.single-product .product .summary,
.single-product .gg-cat-list--single{
  text-align:left;
}

/* =========================
   nadonate v2 product page: compact conversion layout
   ========================= */
.single-product .container{
  width:min(100% - 32px, 1460px);
  max-width:none;
  margin:0 auto;
  padding:0;
}

.gg-product-page{
  --ggp1:#267bff;
  --ggp2:#164ccc;
  margin:16px auto 36px;
  color:#101653;
}

.gg-product-nav{
  margin:0 0 12px;
}

.gg-product-back{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px 0 10px;
  border:1px solid #dde3ff;
  border-radius:999px;
  background:#fff;
  color:#2d7dff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(44,70,170,.08);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.gg-product-back:hover,
.gg-product-back:focus-visible{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 12px 24px rgba(44,70,170,.14);
  outline:none;
}

.gg-product-back svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
}

.single-product .gg-capsule.gg-product-compact{
  max-width:none;
  margin:0;
  padding:16px;
  display:grid;
  grid-template-columns:minmax(230px, 310px) minmax(320px, 1fr) minmax(320px, 420px);
  gap:18px;
  align-items:stretch;
  border:1px solid #d8deff !important;
  border-radius:22px !important;
  background:#f5f6ff url("../img/v2/hero/category-hero-bg.png") center / cover no-repeat !important;
  box-shadow:0 16px 34px rgba(40,60,160,.08) !important;
}

.gg-product-visual{
  position:relative;
  min-height:236px;
  display:flex;
}

.single-product .gg-product-visual .gg-cat-media{
  position:relative !important;
  width:100% !important;
  min-height:236px !important;
  height:auto !important;
  aspect-ratio:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:22px !important;
  border:1px solid color-mix(in srgb, var(--ggp2) 82%, #fff 18%) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 14px 28px color-mix(in srgb, var(--ggp2) 16%, transparent), 0 0 0 .5px rgba(255,255,255,.78) !important;
  isolation:isolate;
}

.single-product .gg-product-visual .gg-cat-media::before{
  content:"" !important;
  position:absolute;
  inset:3px;
  z-index:0;
  border-radius:14px;
  background:linear-gradient(145deg, var(--ggp1), var(--ggp2));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
  pointer-events:none;
}

.single-product .gg-product-visual .gg-cat-media::after{
  content:"" !important;
  position:absolute;
  inset:3px;
  z-index:1;
  border-radius:14px;
  background:url("../img/v2/category-decor/tile-inner-glow.png") left top / 100% auto no-repeat;
  filter:brightness(2.3) contrast(1.6) saturate(1.1);
  pointer-events:none;
}

.single-product .gg-product-page.is-google .gg-product-visual .gg-cat-media::before{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}

.single-product .gg-product-visual .gg-cat-media img{
  position:relative;
  z-index:2;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:178px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  filter:drop-shadow(0 9px 14px rgba(0,0,0,.22)) !important;
  background:transparent !important;
}

.gg-product-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 4px;
}

.gg-product-kicker{
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:9px 13px;
  border:1px solid #dde3ff;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#315eff;
  font-size:13px;
  line-height:1;
  font-weight:900;
  box-shadow:0 8px 18px rgba(44,70,170,.08);
}

.single-product .gg-p-title.gg-p-title--single{
  display:block;
  margin:0;
  color:#101653;
  font-size:clamp(32px, 4.2vw, 58px);
  line-height:.98;
  font-weight:900;
  letter-spacing:0;
  text-align:left;
}

.gg-p-short--lead{
  max-width:680px;
  margin:14px 0 0;
  color:#303867;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}

.gg-p-short--lead p{
  margin:0;
}

.gg-product-mini-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0 0;
}

.gg-product-mini-badges span{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:1px solid #dde3ff;
  border-radius:13px;
  background:rgba(255,255,255,.84);
  color:#15194f;
  font-size:13px;
  line-height:1;
  font-weight:900;
  box-shadow:0 8px 18px rgba(44,70,170,.08);
}

.single-product .gg-cat-list.gg-product-buy{
  padding:16px !important;
  border:1px solid #dde3ff;
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(44,70,170,.1) !important;
}

.gg-buy-title{
  margin:0 0 14px;
  color:#101653;
  font-size:18px;
  line-height:1;
  font-weight:900;
}

.gg-product-buy form.cart,
.gg-product-buy form.variations_form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.gg-product-buy .gg-variation-group{
  margin:0;
  text-align:left;
}

.gg-product-buy .gg-tabs--single{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.gg-product-buy .gg-variation-option{
  min-height:40px;
  padding:0 14px;
  border:1px solid #dde3ff;
  border-radius:13px;
  background:#fff;
  color:#15194f;
  font-size:14px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(44,70,170,.06);
}

.gg-product-buy .gg-variation-option.is-active,
.gg-product-buy .gg-variation-option:hover{
  border-color:#9fc0ff;
  background:#edf4ff;
  color:#1267f2;
}

.gg-product-buy .gg-variation-option .gg-tab__sep{
  display:none;
}

.gg-product-buy .single_variation_wrap{
  margin-top:4px;
}

.gg-product-buy .gg-atc-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  justify-content:stretch;
}

.gg-product-buy .gg-product-qty{
  height:44px;
  border:1px solid #dde3ff;
  border-radius:13px;
}

.gg-product-buy .gg-qty-minus,
.gg-product-buy .gg-qty-plus{
  width:40px;
  padding:0;
  color:#315eff;
  font-size:16px;
  font-weight:900;
}

.gg-product-buy .gg-qty-input{
  width:46px;
  border-color:#dde3ff;
  color:#101653;
  font-size:15px;
  font-weight:900;
}

.gg-product-buy .gg-variation-price,
.gg-product-buy .gg-unit-price{
  grid-column:1 / -1;
  order:-1;
  min-width:0;
  padding:12px 14px;
  border:1px solid #dde3ff;
  border-radius:14px;
  background:#fff;
  color:#101653;
  font-size:24px;
  line-height:1;
  font-weight:900;
  text-align:left;
}

.gg-unit-suffix{
  display:block;
  margin-top:4px;
  color:#7178a3;
  font-size:12px;
  font-weight:800;
}

.gg-product-buy .single_add_to_cart_button.button.alt,
.gg-product-buy .gg-atc-row .button{
  min-height:50px;
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  padding:0 22px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#2868f0 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  box-shadow:0 12px 24px rgba(40,104,240,.22);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.gg-product-buy .single_add_to_cart_button.button.alt:enabled:hover,
.gg-product-buy .gg-atc-row .button:hover{
  transform:translateY(-1px);
  background:#1d5fe7 !important;
  box-shadow:0 16px 28px rgba(40,104,240,.28);
}

.gg-product-trust{
  margin:18px 0 0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border:1px solid #dfe4ff;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 28px rgba(40,60,160,.06);
}

.gg-product-trust__item{
  min-height:78px;
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:12px;
  align-content:center;
  padding:14px 18px;
  border-left:1px dashed #d7ddff;
}

.gg-product-trust__item:first-child{
  border-left:0;
}

.gg-product-trust__item span{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#f2f5ff;
}

.gg-product-trust__item strong{
  color:#101653;
  font-size:14px;
  line-height:1.15;
  font-weight:900;
}

.gg-product-trust__item small{
  margin-top:3px;
  color:#4f5887;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}

.gg-product-details{
  margin:18px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.gg-product-detail{
  padding:22px;
  border:1px solid #dfe4ff;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 28px rgba(40,60,160,.05);
}

.gg-product-detail h2{
  margin:0 0 14px;
  color:#101653;
  font-size:22px;
  line-height:1.1;
  font-weight:900;
}

.gg-product-detail ol{
  margin:0;
  padding-left:20px;
  color:#303867;
  font-size:14px;
  line-height:1.55;
  font-weight:700;
}

.gg-product-detail li + li{
  margin-top:8px;
}

.gg-product-meta-list{
  display:grid;
  gap:10px;
}

.gg-product-meta-list span{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:12px 13px;
  border:1px solid #edf0ff;
  border-radius:13px;
  background:#f8f9ff;
  color:#101653;
  font-size:14px;
  font-weight:900;
}

.gg-product-meta-list b{
  color:#7178a3;
  font-size:12px;
  text-transform:uppercase;
}

.gg-related-wrap{
  margin:18px 0 0;
}

.gg-related-title{
  margin:0 0 12px;
  color:#101653;
  font-size:24px;
  line-height:1;
  font-weight:900;
}

.gg-related-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.gg-related-card{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:center;
  min-height:96px;
  padding:12px;
  border:1px solid #dfe4ff;
  border-radius:16px;
  background:#fff;
  color:#101653;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(40,60,160,.06);
  transition:transform .15s ease, box-shadow .15s ease;
}

.gg-related-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(40,60,160,.12);
}

.gg-related-card__thumb{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg, var(--ggp1), var(--ggp2));
  overflow:hidden;
}

.gg-related-img{
  max-width:62px;
  max-height:62px;
  object-fit:contain;
}

.gg-related-card__body{
  min-width:0;
  display:grid;
  gap:6px;
}

.gg-related-card__name{
  color:#101653;
  font-size:14px;
  line-height:1.15;
  font-weight:900;
}

.gg-related-card__price{
  color:#315eff;
  font-size:13px;
  font-weight:900;
}

@media (max-width:1180px){
  .single-product .gg-capsule.gg-product-compact{
    grid-template-columns:260px 1fr;
  }

  .gg-product-buy{
    grid-column:1 / -1;
  }
}

@media (max-width:860px){
  .single-product .container{
    width:min(100% - 24px, 620px);
  }

  .single-product .gg-capsule.gg-product-compact{
    grid-template-columns:1fr;
    padding:12px;
  }

  .gg-product-visual,
  .single-product .gg-product-visual .gg-cat-media{
    min-height:210px !important;
  }

  .single-product .gg-p-title.gg-p-title--single{
    font-size:34px;
  }

  .gg-product-trust,
  .gg-product-details,
  .gg-related-grid{
    grid-template-columns:1fr;
  }

  .gg-product-trust__item{
    border-left:0;
    border-top:1px dashed #d7ddff;
  }

  .gg-product-trust__item:first-child{
    border-top:0;
  }
}

/* =========================
   Compact conversion mockup match
   ========================= */
.single-product .container{
  width:min(100% - 32px, 430px);
}

.gg-product-page{
  margin:12px auto 28px;
}

.gg-product-nav{
  margin:0 0 8px;
}

.gg-product-back{
  min-height:28px;
  padding:0 9px;
  gap:5px;
  border-color:#dbe5ff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 5px 12px rgba(44,70,170,.06);
}

.gg-product-back svg{
  width:15px;
  height:15px;
}

.single-product .gg-capsule.gg-product-compact{
  display:grid;
  grid-template-columns:122px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid #dfe5ff !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(40,60,160,.08) !important;
}

.gg-product-visual{
  min-height:132px;
}

.single-product .gg-product-visual .gg-cat-media{
  min-height:132px !important;
  height:132px !important;
  padding:12px !important;
  border-radius:14px !important;
  box-shadow:0 10px 20px color-mix(in srgb, var(--ggp2) 14%, transparent), 0 0 0 .5px rgba(255,255,255,.78) !important;
}

.single-product .gg-product-visual .gg-cat-media::before,
.single-product .gg-product-visual .gg-cat-media::after{
  inset:3px;
  border-radius:11px;
}

.single-product .gg-product-visual .gg-cat-media img{
  max-height:92px !important;
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.2)) !important;
}

.single-product .gg-product-compact .gg-product-bonus-media,
.single-product .gg-product-compact .gg-product-instant-media{
  display:none !important;
}

.gg-product-info{
  min-height:132px;
  justify-content:flex-start;
  padding:2px 0 0;
}

.gg-product-kicker{
  margin:0 0 7px;
  padding:6px 9px;
  font-size:10px;
  box-shadow:none;
}

.single-product .gg-p-title.gg-p-title--single{
  font-size:15px;
  line-height:1.16;
  margin:0;
}

.gg-p-short--lead{
  margin:7px 0 0;
  color:#3b4270;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}

.gg-product-mini-badges{
  margin:9px 0 0;
  gap:5px;
}

.gg-product-mini-badges span{
  min-height:24px;
  padding:0 7px;
  border-radius:8px;
  font-size:9px;
  line-height:1;
  box-shadow:none;
}

.single-product .gg-cat-list.gg-product-buy{
  grid-column:1 / -1;
  margin:0;
  padding:10px !important;
  border-radius:15px;
  box-shadow:0 8px 18px rgba(44,70,170,.07) !important;
}

.gg-buy-title{
  display:none;
}

.gg-product-buy form.cart,
.gg-product-buy form.variations_form{
  gap:8px;
}

.gg-product-buy .gg-tabs--single{
  gap:6px;
}

.gg-product-buy .gg-variation-option{
  min-height:32px;
  padding:0 10px;
  border-radius:10px;
  font-size:11px;
  box-shadow:none;
}

.gg-product-buy .gg-variation-group:first-child .gg-tabs--single{
  display:block;
}

.gg-product-buy .gg-variation-group:first-child .gg-variation-option{
  width:100%;
  text-align:left;
}

.gg-product-buy .gg-variation-group:first-child .gg-variation-option:not(.is-active){
  display:none !important;
}

.gg-product-buy .gg-atc-row{
  grid-template-columns:86px 1fr;
  gap:9px;
}

.gg-product-buy .gg-product-qty{
  height:34px;
  border-radius:10px;
}

.gg-product-buy .gg-qty-minus,
.gg-product-buy .gg-qty-plus{
  width:28px;
  font-size:13px;
}

.gg-product-buy .gg-qty-input{
  width:30px;
  font-size:12px;
}

.gg-product-buy .gg-variation-price,
.gg-product-buy .gg-unit-price{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:20px;
  line-height:1;
}

.gg-unit-suffix{
  margin-top:3px;
  font-size:10px;
}

.gg-product-buy .single_add_to_cart_button.button.alt,
.gg-product-buy .gg-atc-row .button{
  min-height:38px;
  grid-column:auto;
  padding:0 14px !important;
  border-radius:10px !important;
  font-size:12px !important;
  box-shadow:0 8px 16px rgba(40,104,240,.22);
}

.gg-product-trust{
  margin:8px 0 0;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border-radius:14px;
  box-shadow:none;
}

.gg-product-trust__item{
  min-height:45px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:7px 4px;
  text-align:center;
}

.gg-product-trust__item span{
  width:22px;
  height:22px;
  border-radius:7px;
  font-size:11px;
}

.gg-product-trust__item strong{
  font-size:9px;
  line-height:1;
}

.gg-product-trust__item small{
  display:none;
}

.gg-product-details{
  margin:8px 0 0;
  grid-template-columns:1fr;
  gap:8px;
}

.gg-product-detail{
  padding:0;
  border-radius:14px;
  box-shadow:none;
  overflow:hidden;
}

.gg-product-detail h2{
  margin:0;
  padding:12px 14px;
  font-size:12px;
  line-height:1;
  border-bottom:1px solid #edf0ff;
}

.gg-product-detail ol,
.gg-product-meta-list{
  padding:12px 14px;
}

.gg-product-detail ol{
  font-size:11px;
  line-height:1.45;
}

.gg-product-meta-list{
  gap:7px;
}

.gg-product-meta-list span{
  padding:9px 10px;
  border-radius:10px;
  font-size:11px;
}

.gg-product-meta-list b{
  font-size:9px;
}

.gg-related-wrap{
  margin:12px 0 0;
}

.gg-related-title{
  margin:0 0 8px;
  font-size:13px;
}

.gg-related-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:92px;
  grid-template-columns:none;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}

.gg-related-card{
  min-height:78px;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:8px;
  border-radius:12px;
  box-shadow:none;
}

.gg-related-card__thumb{
  width:100%;
  height:42px;
  border-radius:9px;
}

.gg-related-img{
  max-width:44px;
  max-height:38px;
}

.gg-related-card__body{
  gap:2px;
}

.gg-related-card__name{
  font-size:9px;
  line-height:1.1;
}

.gg-related-card__price{
  font-size:9px;
}

@media (max-width:480px){
  .single-product .container{
    width:min(100% - 20px, 430px);
  }

  .single-product .gg-capsule.gg-product-compact{
    grid-template-columns:112px minmax(0, 1fr);
    gap:10px;
    padding:10px;
  }
}

/* =========================
   Hi-res product mockup match
   ========================= */
.single-product .container{
  width:min(100% - 64px, 900px);
}

.single-product .gg-product-page{
  margin:22px auto 48px;
}

.single-product .gg-product-nav{
  margin:0 0 18px;
}

.single-product .gg-product-back{
  min-height:36px;
  padding:0 13px;
  gap:8px;
  border:0;
  background:transparent;
  color:#315eff;
  font-size:15px;
  font-weight:800;
  box-shadow:none;
}

.single-product .gg-product-back svg{
  width:20px;
  height:20px;
}

.single-product .gg-capsule.gg-product-compact{
  display:grid;
  grid-template-columns:370px minmax(0, 1fr);
  gap:34px;
  align-items:center;
  padding:34px;
  min-height:426px;
  border:1px solid #dfe5ff !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(40,60,160,.08) !important;
}

.single-product .gg-product-visual{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.single-product .gg-product-visual .gg-cat-media{
  width:260px !important;
  min-height:360px !important;
  height:360px !important;
  padding:24px !important;
  border-radius:24px !important;
  box-shadow:0 18px 34px color-mix(in srgb, var(--ggp2) 16%, transparent), 0 0 0 .5px rgba(255,255,255,.78) !important;
}

.single-product .gg-product-visual .gg-cat-media::before,
.single-product .gg-product-visual .gg-cat-media::after{
  inset:3px;
  border-radius:20px;
}

.single-product .gg-product-visual .gg-cat-media img{
  max-width:210px !important;
  max-height:286px !important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.22)) !important;
}

.single-product .gg-product-info{
  min-height:0;
  justify-content:center;
  padding:0;
}

.single-product .gg-product-kicker{
  margin:0 0 22px;
  padding:8px 16px;
  border-radius:999px;
  background:#f7f8ff;
  color:#101653;
  font-size:15px;
  font-weight:800;
  box-shadow:none;
}

.single-product .gg-p-title.gg-p-title--single{
  max-width:390px;
  font-size:38px;
  line-height:1.06;
  letter-spacing:0;
}

.gg-product-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin:20px 0 0;
  color:#101653;
  font-size:16px;
  line-height:1;
  font-weight:800;
}

.gg-product-rating__star{
  color:#f5b82e;
  font-size:18px;
}

.gg-product-rating__dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#7781b3;
}

.single-product .gg-p-short--lead{
  max-width:430px;
  margin:28px 0 0;
  color:#303867;
  font-size:17px;
  line-height:1.55;
  font-weight:500;
}

.single-product .gg-product-mini-badges{
  margin:34px 0 0;
  gap:18px;
}

.single-product .gg-product-mini-badges span{
  min-height:48px;
  padding:0 22px;
  border-radius:18px;
  background:#fff;
  color:#26306b;
  font-size:15px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(40,60,160,.06);
}

.single-product .gg-cat-list.gg-product-buy{
  grid-column:1 / -1;
  margin:8px 0 0;
  padding:28px 30px !important;
  border:1px solid #dfe5ff;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 34px rgba(40,60,160,.07) !important;
}

.single-product .gg-product-buy form.cart,
.single-product .gg-product-buy form.variations_form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 220px;
  gap:24px 36px;
}

.single-product .gg-product-buy .gg-variation-group{
  margin:0;
}

.single-product .gg-product-buy .gg-variation-group:first-child{
  grid-column:1 / 2;
}

.single-product .gg-product-buy .gg-variation-group:first-child::before{
  content:"Регион";
  display:block;
  margin:0 0 12px;
  color:#101653;
  font-size:16px;
  font-weight:900;
}

.single-product .gg-product-buy .gg-variation-group:nth-child(2){
  grid-column:1 / -1;
}

.single-product .gg-product-buy .gg-variation-group:nth-child(2)::before{
  content:"Номинал";
  display:block;
  margin:0 0 12px;
  color:#101653;
  font-size:16px;
  font-weight:900;
}

.single-product .gg-product-buy .gg-variation-group:first-child .gg-tabs--single{
  display:block;
}

.single-product .gg-product-buy .gg-variation-group:first-child .gg-variation-option{
  width:100%;
  min-height:56px;
  justify-content:flex-start;
  padding:0 18px;
}

.single-product .gg-product-buy .gg-tabs--single{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.single-product .gg-product-buy .gg-variation-option{
  min-height:56px;
  padding:0 30px;
  border-radius:12px;
  font-size:18px;
  box-shadow:none;
}

.single-product .gg-product-buy .single_variation_wrap{
  grid-column:1 / -1;
}

.single-product .gg-product-buy .gg-atc-row{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:18px 28px;
  align-items:end;
}

.single-product .gg-product-buy .gg-variation-price,
.single-product .gg-product-buy .gg-unit-price{
  grid-column:1 / 2;
  order:0;
  padding:0;
  border:0;
  background:transparent;
  color:#101653;
  font-size:40px;
  font-weight:900;
}

.single-product .gg-unit-suffix{
  margin-top:8px;
  font-size:14px;
  font-weight:800;
}

.single-product .gg-product-buy .gg-product-qty{
  grid-column:2 / 3;
  grid-row:1;
  justify-self:end;
  width:214px;
  height:56px;
  border-radius:14px;
}

.single-product .gg-product-buy .gg-qty-minus,
.single-product .gg-product-buy .gg-qty-plus{
  width:64px;
  font-size:24px;
}

.single-product .gg-product-buy .gg-qty-input{
  width:86px;
  font-size:20px;
}

.single-product .gg-product-buy .single_add_to_cart_button.button.alt,
.single-product .gg-product-buy .gg-atc-row .button{
  grid-column:2 / 3;
  grid-row:2;
  min-height:64px;
  border-radius:16px !important;
  font-size:22px !important;
  box-shadow:0 16px 28px rgba(40,104,240,.24);
}

.single-product .gg-product-trust{
  margin:18px 0 0;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border-radius:18px;
  box-shadow:0 14px 28px rgba(40,60,160,.06);
}

.single-product .gg-product-trust__item{
  min-height:76px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:4px 12px;
  align-content:center;
  align-items:center;
  padding:14px 16px;
  text-align:left;
}

.single-product .gg-product-trust__item span{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  border-radius:14px;
  font-size:18px;
}

.single-product .gg-product-trust__item strong{
  font-size:14px;
}

.single-product .gg-product-trust__item small{
  display:block;
  font-size:12px;
}

.single-product .gg-product-details{
  margin:18px 0 0;
  display:block;
}

.single-product .gg-product-detail{
  border-radius:0;
  border-bottom:1px solid #edf0ff;
  box-shadow:none;
}

.single-product .gg-product-detail:first-child{
  border:1px solid #dfe5ff;
  border-radius:18px 18px 0 0;
}

.single-product .gg-product-detail:last-child{
  border:1px solid #dfe5ff;
  border-top:0;
  border-radius:0 0 18px 18px;
}

.single-product .gg-product-detail h2{
  padding:22px 28px;
  font-size:18px;
  border-bottom:1px solid #edf0ff;
}

.single-product .gg-product-detail h2::after{
  content:"⌄";
  float:right;
  color:#315eff;
}

.single-product .gg-product-detail ol,
.single-product .gg-product-meta-list{
  padding:22px 28px;
}

.single-product .gg-product-detail ol{
  font-size:16px;
  line-height:1.7;
}

.single-product .gg-product-meta-list span{
  padding:14px 16px;
  font-size:15px;
}

.single-product .gg-related-wrap{
  margin:40px 0 0;
}

.single-product .gg-related-title{
  margin:0 0 22px;
  font-size:24px;
}

.single-product .gg-related-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:154px;
  grid-template-columns:none;
  gap:18px;
  overflow-x:auto;
  padding-bottom:8px;
}

.single-product .gg-related-card{
  min-height:236px;
  padding:16px;
  border-radius:16px;
  box-shadow:0 12px 24px rgba(40,60,160,.06);
}

.single-product .gg-related-card__thumb{
  width:100%;
  height:112px;
  border-radius:14px;
}

.single-product .gg-related-img{
  max-width:96px;
  max-height:96px;
}

.single-product .gg-related-card__name{
  font-size:15px;
  line-height:1.15;
}

.single-product .gg-related-card__price{
  font-size:15px;
}

@media (max-width:760px){
  .single-product .container{
    width:min(100% - 24px, 560px);
  }

  .single-product .gg-capsule.gg-product-compact{
    grid-template-columns:150px minmax(0, 1fr);
    gap:16px;
    padding:16px;
    min-height:0;
  }

  .single-product .gg-product-visual,
  .single-product .gg-product-visual .gg-cat-media{
    min-height:170px !important;
    height:170px !important;
  }

  .single-product .gg-product-visual .gg-cat-media{
    width:150px !important;
    padding:14px !important;
  }

  .single-product .gg-product-visual .gg-cat-media img{
    max-width:120px !important;
    max-height:126px !important;
  }

  .single-product .gg-p-title.gg-p-title--single{
    font-size:22px;
  }

  .single-product .gg-product-rating{
    margin-top:10px;
    font-size:13px;
  }

  .single-product .gg-p-short--lead{
    margin-top:12px;
    font-size:13px;
    line-height:1.4;
  }

  .single-product .gg-product-mini-badges{
    margin-top:12px;
    gap:8px;
  }

  .single-product .gg-product-mini-badges span{
    min-height:32px;
    padding:0 10px;
    font-size:11px;
  }

  .single-product .gg-product-buy form.cart,
  .single-product .gg-product-buy form.variations_form,
  .single-product .gg-product-buy .gg-atc-row{
    grid-template-columns:1fr;
  }

  .single-product .gg-product-buy .gg-product-qty,
  .single-product .gg-product-buy .single_add_to_cart_button.button.alt,
  .single-product .gg-product-buy .gg-atc-row .button{
    grid-column:1;
    grid-row:auto;
    width:100%;
  }

  .single-product .gg-product-trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* =========================
   Product page split layout final override
   Keep this block last.
   ========================= */
@media (min-width:1024px){
  body.single-product .container{
    width:min(100% - 64px, 1410px) !important;
    max-width:1410px !important;
  }

  body.single-product .gg-product-page{
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(420px, .95fr) !important;
    gap:14px 24px !important;
    align-items:stretch !important;
    margin:10px auto 44px !important;
  }

  body.single-product .gg-product-crumbs{
    grid-column:1 / -1 !important;
    margin:0 0 20px !important;
  }

  body.single-product .gg-capsule.gg-product-compact{
    grid-column:1 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:210px minmax(0, 1fr) !important;
    gap:34px !important;
    min-height:350px !important;
    margin:0 !important;
    padding:24px 26px 24px !important;
    border-radius:18px 18px 0 0 !important;
    border:1px solid #dfe5ff !important;
    border-bottom:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.single-product .gg-product-hero-back{
    left:18px !important;
    width:52px !important;
    height:52px !important;
  }

  body.single-product .gg-product-visual{
    min-height:300px !important;
    height:auto !important;
    justify-content:flex-end !important;
    background:transparent !important;
  }

  body.single-product .gg-product-visual .gg-cat-media{
    width:178px !important;
    height:285px !important;
    min-height:285px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(180deg, #fbfbff 0%, #eef3ff 100%) !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body.single-product .gg-product-visual .gg-cat-media::before,
  body.single-product .gg-product-visual .gg-cat-media::after{
    display:none !important;
  }

  body.single-product .gg-product-visual .gg-cat-media img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
  }

  body.single-product .gg-product-info{
    justify-content:center !important;
    min-height:300px !important;
    padding:0 !important;
  }

  body.single-product .gg-product-kicker{
    margin:0 0 20px !important;
    padding:6px 12px !important;
    font-size:14px !important;
  }

  body.single-product .gg-p-title.gg-p-title--single{
    max-width:560px !important;
    font-size:30px !important;
    line-height:1.12 !important;
  }

  body.single-product .gg-product-rating{
    margin:18px 0 0 !important;
    font-size:15px !important;
  }

  body.single-product .gg-p-short--lead{
    max-width:470px !important;
    margin:22px 0 0 !important;
    font-size:17px !important;
    line-height:1.55 !important;
  }

  body.single-product .gg-product-mini-badges{
    margin:24px 0 0 !important;
    gap:14px !important;
  }

  body.single-product .gg-product-mini-badges span{
    min-height:44px !important;
    padding:0 18px !important;
    font-size:14px !important;
  }

  body.single-product .gg-cat-list.gg-product-buy{
    grid-column:1 !important;
    grid-row:3 !important;
    width:100% !important;
    margin:0 !important;
    padding:26px 26px 34px !important;
    border-radius:0 0 18px 18px !important;
    border:1px solid #dfe5ff !important;
    border-top:1px solid #e7ebff !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.single-product .gg-product-buy form.cart,
  body.single-product .gg-product-buy form.variations_form{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 230px !important;
    gap:24px 32px !important;
    align-items:end !important;
  }

  body.single-product .gg-product-buy .gg-variation-group.gg-variation-group-first{
    grid-column:1 / 2 !important;
    grid-row:1 !important;
  }

  body.single-product .gg-product-buy .gg-variation-group.gg-variation-group-first .gg-tabs--single{
    display:none !important;
  }

  body.single-product .gg-product-buy .gg-variation-group.gg-variation-group-first .gg-variation-select.gg-visually-hidden{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:42px !important;
    margin:0 !important;
    padding:0 44px 0 16px !important;
    clip:auto !important;
    clip-path:none !important;
    overflow:visible !important;
    white-space:normal !important;
    appearance:none !important;
    border:1px solid #bfd0ff !important;
    border-radius:10px !important;
    background:
      linear-gradient(45deg, transparent 50%, #315eff 50%) right 19px center / 7px 7px no-repeat,
      linear-gradient(135deg, #315eff 50%, transparent 50%) right 14px center / 7px 7px no-repeat,
      #f5f8ff !important;
    color:#1260ff !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-align:center !impo