/* =========================
   Cart capsule (flattened)
   ========================= */
.woocommerce-cart .gg-cart-capsule{
  max-width:var(--gg-cart-max) !important;
  width:100% !important;
  margin:24px auto !important;
  padding:18px;
  background:#fff !important;
  border:1px solid #e9e9ee !important;
  border-radius:18px !important;
  box-shadow:none !important;
}
.woocommerce-cart .gg-cart-inner{ background:transparent !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important }

/* =========================
   Table — single-cell layout
   ========================= */
.woocommerce-cart table.shop_table thead{ display:none !important }
.woocommerce-cart table.shop_table tbody tr.cart_item{
  display:block !important; padding:12px 0 !important; border-top:1px solid #f0f1f6 !important;
}
.woocommerce-cart table.shop_table tbody tr.cart_item:first-child{ border-top:0 !important }
.woocommerce-cart td.product-col{ padding:0 !important; border:0 !important; background:transparent !important }

/* Row grid */
.woocommerce-cart td.product-col .gg-row{
  display:grid !important;
  grid-template-columns:var(--gg-cart-thumb-size,60px) minmax(0,1fr) !important;
  align-items:start !important;
  gap:15px !important;
}

/* Thumbs */
.woocommerce-cart td.product-col .gg-thumb{
  width:var(--gg-cart-thumb-size,60px) !important; height:var(--gg-cart-thumb-size,60px) !important; flex:0 0 var(--gg-cart-thumb-size,60px) !important;
  padding:0 !important; border-radius:10px !important; border:0 !important; box-shadow:none !important; background:transparent !important; overflow:hidden !important;
}
.woocommerce-cart td.product-col .gg-thumb img{
  display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; border:0 !important; box-shadow:none !important; background:transparent !important; border-radius:10px !important;
}

/* Title and meta */
.woocommerce-cart td.product-col .gg-title{ grid-column:2 !important; grid-row:1 !important; min-width:0 !important; margin:0 !important }
.woocommerce-cart td.product-col .gg-title .product-title{
  display:block !important; font-weight:400 !important; font-size:15px !important; color:#111 !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; text-decoration:none !important; margin:0 !important;
}
.woocommerce-cart td.product-col .gg-title .gg-pcat{ display:block !important; margin-top:2px !important; font-size:12.5px !important; color:#6f6d92 !important; text-transform:lowercase !important }

/* Price | Qty | Subtotal line */
.woocommerce-cart td.product-col .gg-line2{
  grid-column:2 !important; grid-row:2 !important;
  display:grid !important; grid-template-columns:auto auto 1fr !important; column-gap:14px !important; align-items:center !important; width:100% !important; margin-top:5px !important;
}
.woocommerce-cart td.product-col .gg-line2 .product-price,
.woocommerce-cart td.product-col .gg-line2 .product-subtotal{
  font-weight:400 !important; color:#111 !important; white-space:nowrap !important; margin:0 !important; padding:0 !important; font-size:14px !important;
}

/* =========================
   Quantity — same as product
   ========================= */
.gg-cart-inner .quantity,
.woocommerce-cart td.product-quantity .quantity{
  display:inline-flex !important; align-items:stretch !important; gap:0 !important;
  height:30px !important; background:#fff !important; border:1px solid #e9e9ee !important; border-radius:8px !important;
  overflow:hidden !important; padding:0 !important; margin:0 !important; box-shadow:none !important; white-space:nowrap !important;
}
.gg-cart-inner .quantity .qty-btn{
  -webkit-appearance:none !important; appearance:none !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  height:30px !important; padding:5px 9px !important; margin:0 !important;
  background:#fff !important; color:#111 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; outline:0 !important;
  font-size:14px !important; font-weight:700 !important; line-height:1 !important; cursor:pointer !important; transition:background-color .18s ease !important;
}
.gg-cart-inner .quantity .qty-btn:hover{ background:#f4f2ff !important }
.gg-cart-inner .quantity .qty-btn.qty-minus{ border-right:1px solid #e9e9ee !important }
.gg-cart-inner .quantity .qty-btn.qty-plus{ border-left:1px solid #e9e9ee !important }
.gg-cart-inner .quantity input[type="number"].qty{
  -webkit-appearance:none !important; -moz-appearance:textfield !important; appearance:textfield !important;
  display:inline-block !important; width:45px !important; max-width:45px !important; flex:0 0 45px !important;
  height:30px !important; padding:5px 4px !important; margin:0 !important; text-align:center !important;
  background:#fff !important; color:#111 !important; font-size:13px !important; font-weight:600 !important; line-height:1 !important;
  border:0 !important; border-left:1px solid #e9e9ee !important; border-right:1px solid #e9e9ee !important; box-shadow:none !important;
}
.gg-cart-inner .quantity input[type="number"].qty::-webkit-inner-spin-button,
.gg-cart-inner .quantity input[type="number"].qty::-webkit-outer-spin-button{ -webkit-appearance:none !important; margin:0 !important }

/* Reset stray button styles inside quantity cell */
.gg-cart-inner td.product-quantity button,
.gg-cart-inner td.product-quantity .button,
.gg-cart-inner td.product-quantity input[type="button"],
.gg-cart-inner td.product-quantity button[type="button"],
.gg-cart-inner td.product-quantity button[type="submit"]{
  background:#fff !important; border:0 !important; box-shadow:none !important; outline:0 !important; padding:0 !important; border-radius:0 !important;
}

/* =========================
   Dividers / actions / CTA
   ========================= */
.woocommerce-cart .gg-cart-inner .shop_table tr.cart_item td,
.woocommerce-cart .gg-cart-inner .shop_table tr.cart_item{ border:0 !important }
.woocommerce-cart .gg-cart-inner .shop_table tr.cart_item + tr.cart_item{ border-top:1px solid #f0f1f6 !important }

.woocommerce-cart .gg-cart-inner .actions{
  display:grid !important; grid-template-columns:1fr auto auto !important; align-items:center !important; gap:10px !important;
  padding-top:10px !important; margin-top:10px !important; border-top:1px solid #f0f1f6 !important;
}
.woocommerce-cart .gg-cart-inner .coupon{
  display:grid !important; grid-template-columns:1fr auto !important; gap:10px !important; align-items:center !important; margin:0 !important;
}
.woocommerce-cart .gg-cart-inner .coupon input[type="text"]{
  min-width:0 !important; width:100% !important; padding:9px 12px !important; font-size:13px !important; border:1px solid #e9e9ee !important; border-radius:10px !important;
}
.woocommerce-cart .gg-cart-inner .actions .button[name="apply_coupon"]{
  padding:8px 12px !important; font-size:12.5px !important; border-radius:10px !important; white-space:nowrap !important; min-width:92px !important; width:auto !important;
}
.gg-actions-total{ margin-left:auto !important; display:flex !important; align-items:center !important; gap:10px !important }
.gg-actions-total__label{ color:#666 !important; font-weight:600 !important; font-size:13px !important }
.gg-actions-total__value{ color:#111 !important; font-weight:900 !important; font-size:16px !important }
.gg-checkout-cta{ margin-top:0 !important }
.gg-checkout-cta .checkout-button{
  display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important;
  border-radius:14px !important; padding:14px 18px !important; font-size:14px !important; font-weight:600 !important;
}

/* =========================
   Cart CTA — visual parity with checkout
   ========================= */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block !important; width:100% !important; min-height:48px !important; border-radius:12px !important; box-sizing:border-box !important;
  background:#f2f2f7 !important; color:#1f1f1f !important; font-weight:600 !important;
  border:1px solid #e9e9ee !important; box-shadow:none !important; text-align:center;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{ filter:saturate(1.02) }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus{ outline:0 !important; box-shadow:0 0 0 3px rgba(108,92,231,.12) !important }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:active{ transform:none !important; box-shadow:none !important }

/* Variant for .alt buttons */
.single-product .single_add_to_cart_button.alt,
.woocommerce-cart .checkout-button.alt{
  background:#f2f2f7 !important; color:#1f1f1f !important; border:1px solid #e9e9ee !important; box-shadow:none !important;
}

/* Explicit cart CTA version (flat, lower, smaller font) */
.woocommerce-cart .gg-checkout-cta .checkout-button.button.alt.wc-forward{
  display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important;
  min-height:44px !important; padding:0 16px !important; border-radius:12px !important; line-height:1 !important;
  background:#f2f2f7 !important; border:1px solid #e9e9ee !important; box-shadow:none !important; text-shadow:none !important;
  font-size:15px !important; font-weight:600 !important; color:#1f1f1f !important; text-align:center !important;
}
.woocommerce-cart .gg-checkout-cta .checkout-button.button.alt.wc-forward:hover{ filter:saturate(1.02) }
.woocommerce-cart .gg-checkout-cta .checkout-button.button.alt.wc-forward:focus{ outline:0; box-shadow:0 0 0 3px rgba(108,92,231,.12) !important }
.woocommerce-cart .gg-checkout-cta .checkout-button.button.alt.wc-forward::before,
.woocommerce-cart .gg-checkout-cta .checkout-button.button.alt.wc-forward::after{
  background:none !important; box-shadow:none !important; content:normal !important;
}

/* =========================
   Shadows off
   ========================= */
.woocommerce-cart .gg-shadow,
.woocommerce-cart [class*="shadow"]{ box-shadow:none !important; filter:none !important }

/* =========================
   Responsive
   ========================= */
@media (max-width:768px){
  .woocommerce-cart .gg-cart-capsule{ padding:14px !important; border-radius:16px !important; width:calc(100% - 24px); margin:14px auto !important }
  .gg-cart-inner{ padding:16px; grid-template-columns:1fr; gap:16px }
  .gg-cart-inner h1{ font-size:20px; margin-bottom:12px }
  .gg-cart-inner .shop_table thead{ display:none }
  .gg-cart-inner .shop_table,
  .gg-cart-inner .shop_table tbody,
  .gg-cart-inner .shop_table tr,
  .gg-cart-inner .shop_table td{ display:block; width:100% }
  .gg-cart-inner .shop_table tr{ margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid #e9e9ee }
  .gg-cart-inner .shop_table td{ padding:5px 0; border:0 }
  .gg-cart-inner .actions{ grid-template-columns:1fr auto auto !important; gap:8px !important }
  .gg-cart-inner .coupon{ grid-template-columns:1fr auto !important; gap:8px !important }
  .gg-cart-inner .coupon input[type="text"]{ padding:8px 10px !important; font-size:12.5px !important }
  .gg-cart-inner .actions .button[name="apply_coupon"]{ padding:8px 10px !important; font-size:12.5px !important; border-radius:10px !important }
  .gg-cart-inner .gg-actions-total{ gap:8px !important; justify-self:end !important; margin-left:8px !important }
  .gg-cart-inner .gg-actions-total__label{ font-size:12.5px !important }
  .gg-cart-inner .gg-actions-total__value{ font-size:15px !important }
}
@media (max-width:560px){
  .woocommerce-cart td.product-col .gg-row{ grid-template-columns:52px 1fr !important }
  .woocommerce-cart td.product-col .gg-thumb{ width:52px !important; height:52px !important; flex:0 0 52px !important }
  .woocommerce-cart td.product-col .gg-title .product-title{ font-size:13.5px !important }
  .woocommerce-cart td.product-col .gg-line2 .product-price{ font-size:13px !important }
  .woocommerce-cart td.product-col .gg-line2 .product-quantity .quantity .qty-btn{ padding:4px 8px !important; height:28px !important; font-size:12.5px !important }
  .woocommerce-cart td.product-col .gg-line2 .product-quantity .quantity input.qty{ width:42px !important; height:28px !important; font-size:12.5px !important; padding:4px !important }
}
@media (max-width:400px){
  .woocommerce-cart .gg-cart-inner .actions{ gap:8px !important }
  .woocommerce-cart .gg-cart-inner .coupon{ gap:8px !important }
  .woocommerce-cart .gg-cart-inner .coupon input[type="text"]{ padding:8px 10px !important; font-size:12.5px !important }
  .woocommerce-cart .gg-cart-inner .actions .button[name="apply_coupon"]{ padding:7px 10px !important; font-size:12px !important; min-width:86px !important }
}

/* Desktop width fixes */
@media (min-width:769px){
  .woocommerce-cart td.product-col .gg-row{ grid-template-columns:60px minmax(0,1fr) !important; width:100% !important }
  .woocommerce-cart td.product-col .gg-line2{ grid-template-columns:170px minmax(200px,1fr) 120px !important; column-gap:14px !important; align-items:center !important; width:100% !important }
  .woocommerce-cart table.shop_table{ table-layout:auto !important; width:100% }
  .woocommerce-cart td.product-name{ width:100% }
}

/* Mobile: closer media-text spacing */
@media (max-width:560px){
  .woocommerce-cart td.product-col .gg-row{ grid-template-columns:72px 1fr !important; gap:6px !important }
  .woocommerce-cart td.product-col .gg-thumb{ width:72px !important; height:72px !important; flex:0 0 72px !important; padding:0 !important; border-right:0 !important }
  .woocommerce-cart td.product-col .gg-info{ margin:0 !important; padding:0 !important }
  .woocommerce-cart td.product-col .gg-title .product-title{ margin:0 !important; font-size:14px !important; line-height:1.25 !important }
  .woocommerce-cart td.product-col .gg-title .gg-pcat{ margin-top:2px !important; font-size:12px !important }
  .woocommerce-cart td.product-col .gg-line2{ grid-template-columns:auto auto 1fr !important; column-gap:10px !important; align-items:center !important }
  .woocommerce-cart td.product-col .gg-line2 .product-quantity .quantity .minus,
  .woocommerce-cart td.product-col .gg-line2 .product-quantity .quantity .plus{ width:28px !important; height:28px !important; font-size:12.5px !important }
  .woocommerce-cart td.product-col .gg-line2 .product-quantity .quantity input.qty{ width:42px !important; height:28px !important; font-size:12.5px !important }
}

/* Very narrow screens */
@media (max-width:400px){
  .woocommerce-cart td.product-col .gg-row{ grid-template-columns:68px 1fr !important; gap:10px !important }
  .woocommerce-cart td.product-col .gg-thumb{ width:68px !important; height:68px !important; flex:0 0 68px !important }
}

/* Desktop: фикс отступа между картинкой и текстом в строке товара */
@media (min-width: 769px){
  .woocommerce-cart td.product-col .gg-row{
    display:grid !important;
    grid-template-columns:60px minmax(0,1fr) !important; /* как и было */
    align-items:start !important;
    gap:20px !important;                                /* явный зазор */
  }
}


bdi {
  font-weight: 500 !important;
}

/* Корзина: уменьшить верхний отступ внутри капсулы */
.woocommerce-cart .gg-cart-capsule{
  padding-top:22px !important;   /* было 18px */
}

/* Если внутри .gg-cart-inner есть собственные отступы сверху — обнулим */
.woocommerce-cart .gg-cart-inner{
  padding-top:0 !important;     /* уже стоит 0 — оставляем страховку */
}

/* Дополнительно: заголовок ближе к таблице */
.woocommerce-cart .gg-cart-inner h1{
  margin-top:0 !important;
  margin-bottom:12px !important;
}

/* На мобилке, где отдельное правило, тоже уменьшим */
@media (max-width:768px){
  .woocommerce-cart .gg-cart-capsule{
    padding-top:12px !important; /* было 14px */
  }
}

/* Заголовок "Корзина" — 18.72px */
.woocommerce-cart .gg-cart-inner h1,
.woocommerce-cart .entry-title,
.woocommerce-cart h1.cart-title{
  font-size:18.72px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}



/* Капсула пустой корзины */
.woocommerce-cart .wc-empty-cart-message{
  max-width:var(--gg-cart-max, 960px);
  width:100%;
  margin:24px auto;
  padding:18px;
  background:#fff;
  border:1px solid #e9e9ee;
  border-radius:18px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Текст */
.woocommerce-cart .wc-empty-cart-message .cart-empty{
  margin:0;
  padding:6px 4px 2px;
  background:transparent;
  border:0;
  color:#111;
  font-size:16px;
}

/* Кнопка внутри блока */
.woocommerce-cart .wc-empty-cart-message .return-to-shop{
  margin:0;
  padding:0;
}
.woocommerce-cart .wc-empty-cart-message .return-to-shop .button{
  display:block;
  width:100%;
  min-height:44px;
  border-radius:12px;
  box-sizing:border-box;
  background:#f2f2f7;
  color:#1f1f1f;
  font-weight:600;
  border:1px solid #e9e9ee;
  box-shadow:none;
  text-align: center !important;
  font-size:15px !important; 
  font-weight:600 !important; 
  color:#1f1f1f !important;
}

/* Мобильная подгонка */
@media (max-width:768px){
  .woocommerce-cart .wc-empty-cart-message{
    width:calc(100% - 24px);
    margin:14px auto;
    padding:14px;
    border-radius:16px;
    gap:10px;
  }
}

/* Метаданные / опции товара в корзине — как на checkout */
.woocommerce-cart td.product-col .gg-title .gg-item-meta{
  margin-top:4px !important;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#666 !important;
}

/* Сбросим стандартные стили Woo meta-списка */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation{
  margin:0 !important;
  font-size: 12px;
}
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt,
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt{
  font-weight:400 !important;
  color:#666 !important;
}
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd{
  margin-left:3px !important;
}
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd + dt::before{
  content:"\A";              /* перенос на новую строку, как «Регион:…» / «Срок подписки:…» */
  white-space:pre;
}


/* Корзина: опции товара в одну строку "Название: Значение" */
.woocommerce-cart td.product-col .gg-title .gg-item-meta{
  margin-top:4px !important;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#666 !important;
}

/* Обнуляем стандартное форматирование списка вариаций */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation{
  margin:0 !important;
}

.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt,
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}

/* Название опции + двоеточие на той же строке */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt{
  font-weight:400 !important;
  color:#666 !important;
}

/* Значение опции сразу после названия, без переноса */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd{
  font-weight:400 !important;
}

/* Если опций несколько, каждая с новой строки */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd + dt::before{
  content:"\A" !important;   /* перевод строки перед следующим dt */
  white-space:pre !important;
}

/* Корзина: вариации / опции в одну строку "Название: Значение" */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation{
  margin:0 !important;
}

/* dt и dd — в одну строку */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt,
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}

/* Значения внутри <p> — тоже inline */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd p{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}

/* Название опции + двоеточие */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dt{
  font-weight:400 !important;
  color:#666 !important;
}
/* Несколько опций — каждая с новой строки */
.woocommerce-cart td.product-col .gg-title .gg-item-meta dl.variation dd + dt::before{
  content:"\A" !important;
  white-space:pre !important;
}

/* Обёртка количества + кнопка удаления */
.woocommerce-cart td.product-col .gg-line2 .gg-cart-qty-wrap{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

/* Кнопка удаления рядом с количеством */
.woocommerce-cart .gg-cart-remove-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:8px;
  background:#ff8181;
  color:#fff;
  text-decoration:none;
  border:0;
  box-shadow:none;
  transition:background-color .16s ease, transform .08s ease;
}

.woocommerce-cart .gg-cart-remove-btn:hover{
  background:#e53b3b;
  transform:translateY(-1px);
}

.woocommerce-cart .gg-cart-remove-btn:active{
  background:#c92f2f;
  transform:translateY(0);
}

.woocommerce-cart .gg-cart-remove-icon{
  display:block;
}

/* === Пустая корзина === */
.gg-empty-cart-wrap{
  max-width:var(--gg-cart-max, 660px);
  width:100%;
  margin:24px auto;
  background:#fff;
  border:1px solid #e9e9ee;
  border-radius:18px;
  overflow:hidden;
}
.gg-empty-cart{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:60px 24px;
  text-align:center;
}
.gg-empty-cart__icon{
  width:156px;
  height:156px;
  margin-bottom:24px;
  animation:gg-404-scale 4.5s cubic-bezier(.34,1.56,.64,1) both;
}
.gg-empty-cart__icon-spin{
  width:100%;
  height:100%;
  animation:gg-404-spin 4.5s ease-out both;
}
.gg-empty-cart__icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.gg-empty-cart__title{
  font-size:22px;
  font-weight:700;
  color:#111;
  margin:0 0 10px;
}
.gg-empty-cart__subtitle{
  font-size:14px;
  color:#888;
  margin:0 0 28px;
  max-width:320px;
  line-height:1.5;
}
.gg-empty-cart__btn{
  display:inline-flex;
  align-items:center;
  padding:12px 28px;
  background:#111;
  color:#fff;
  font-size:14px;
  font-weight:600;
  border-radius:999px;
  text-decoration:none;
  transition:background .15s;
}
.gg-empty-cart__btn:hover{
  background:#333;
  color:#fff;
}
