/* ============================================================================
 * Gorilla Energy - WooCommerce block skin (cart / checkout / my-account)
 * Brings the default WC Cart & Checkout blocks in line with the brand:
 *   navy var(--g-color-navy), DIN 2014, pill CTAs, uppercase headings, clean inputs.
 * Self-contained: the --g-* design tokens are NOT loaded on these pages, so
 * brand values are restated here. Everything is scoped to body.gorilla-wc-page
 * to avoid leaking into the rest of the site.
 * ========================================================================== */

body.gorilla-wc-page {
  --gw-navy: var(--g-color-navy);
  --gw-navy-hover: #1c1c1c;
  --gw-navy-mid: #262626;
  --gw-green: var(--g-color-green);
  --gw-ink: #0b0b0b;
  --gw-muted: #747474;
  --gw-line: rgba(0, 0, 0, .14);
  --gw-line-strong: rgba(0, 0, 0, .22);
  --gw-surface: #ffffff;
  --gw-surface-tint: #f5f6fc;        /* navy @ ~4% */
  --gw-radius-field: 10px;
  --gw-radius-card: 18px;
  --gw-pill: 100px;
  --gw-font-bold: "DIN 2014 Bold", "DIN 2014", system-ui, sans-serif;
  --gw-font-body: "DIN 2014", system-ui, sans-serif;
  --gw-pad: 56px;

  background: var(--gw-surface) !important;
  color: var(--gw-ink);
}

/* The theme shell paints a grey backdrop inline on #root > .min-h-screen
   (style="background-color: rgb(220,220,222)") - harmless behind full-bleed
   homepage sections, but it frames the centered cart/checkout in grey.
   CSS !important overrides the inline style on these pages only. */
body.gorilla-wc-page #root > .min-h-screen {
  background-color: var(--gw-surface) !important;
}

/* --- Page shell: constrain + center, kill the edge-to-edge sprawl ---------- */
body.gorilla-wc-page .gorilla-page-content {
  max-width: 1240px;
  margin: 0 auto;
  /* top padding clears the sticky header (v1.2.3: прехидер в потоке - −40px) */
  padding: calc(var(--g-header-h, 152px) + 24px) 20px 88px; /* v2.10.3 */
  background: var(--gw-surface);
}
@media (max-width: 781px) {
  body.gorilla-wc-page .gorilla-page-content { padding: calc(var(--g-header-h, 152px) + 16px) 16px 64px; }
}

/* WC blocks default to alignwide with their own max-width; let our shell own width */
body.gorilla-wc-page .wc-block-cart.alignwide,
body.gorilla-wc-page .wc-block-checkout.alignwide,
body.gorilla-wc-page .wp-block-woocommerce-cart.alignwide,
body.gorilla-wc-page .wp-block-woocommerce-checkout.alignwide {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* --- Page title (Cart / Checkout / My account) ---------------------------- */
body.gorilla-wc-page .entry-title,
body.gorilla-wc-page .wp-block-post-title,
body.gorilla-wc-page h1.entry-title {
  font-family: var(--gw-font-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--gw-navy);
  font-size: clamp(30px, 5vw, 44px);
  margin: 0 0 28px;
  line-height: 1.05;
}

/* --- Section / step headings --------------------------------------------- */
body.gorilla-wc-page .wc-block-components-title,
body.gorilla-wc-page .wc-block-components-checkout-step__title,
body.gorilla-wc-page .wc-block-cart__totals-title,
body.gorilla-wc-page .wc-block-components-order-summary__title {
  font-family: var(--gw-font-bold);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gw-navy);
}
body.gorilla-wc-page .wc-block-components-checkout-step__heading {
  align-items: baseline;
}
/* numbered step badge → brand navy */
body.gorilla-wc-page .wc-block-components-checkout-step__heading-content {
  color: var(--gw-muted);
}

/* ===========================================================================
 * Buttons - every WC CTA becomes a navy pill (Proceed / Place order / etc.)
 * ========================================================================= */
body.gorilla-wc-page .wc-block-components-button.contained,
body.gorilla-wc-page .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button,
body.gorilla-wc-page button.wc-block-components-button.contained {
  background: var(--gw-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gw-pill) !important;
  font-family: var(--gw-font-bold) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 16px;
  min-height: 56px;
  padding: 16px 32px;
  box-shadow: none;
  transition: background-color .15s ease, transform .15s ease;
}
body.gorilla-wc-page .wc-block-components-button.contained:hover:not(:disabled),
body.gorilla-wc-page .wc-block-cart__submit-button:hover:not(:disabled),
body.gorilla-wc-page .wc-block-components-checkout-place-order-button:hover:not(:disabled) {
  /* v2.6.6: CTA на wc-страницах зелёные - единый ховер «бумага», не чёрный */
  background: var(--g-color-paper, #f6f7f8) !important;
  color: #0a0a0a !important;
  transform: scale(1.015);
}
body.gorilla-wc-page .wc-block-components-button.contained:focus-visible,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 3px solid var(--gw-navy-mid);
  outline-offset: 2px;
}
/* the pill should fill its column on cart submit + place order */
body.gorilla-wc-page .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button {
  width: 100%;
}

/* Secondary / text buttons (e.g. "Apply", "Make changes") → navy outline/text */
body.gorilla-wc-page .wc-block-components-button.outlined {
  border-radius: var(--gw-pill) !important;
  border: 1.5px solid var(--gw-navy) !important;
  color: var(--gw-navy) !important;
  font-family: var(--gw-font-bold) !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.gorilla-wc-page .gorilla-page-content a,
body.gorilla-wc-page .wc-block-components-button.text {
  color: var(--gw-navy);
}

/* ===========================================================================
 * Form fields - clean, brand focus state
 * ========================================================================= */
body.gorilla-wc-page .wc-block-components-text-input input,
body.gorilla-wc-page .wc-block-components-text-input textarea,
body.gorilla-wc-page .wc-block-components-select .wc-blocks-components-select__select,
body.gorilla-wc-page .wc-block-components-combobox .components-form-token-field__input-container,
body.gorilla-wc-page .wc-block-components-quantity-selector {
  border-radius: var(--gw-radius-field) !important;
  border: 1.5px solid var(--gw-line-strong) !important;
  font-family: var(--gw-font-body);
}
body.gorilla-wc-page .wc-block-components-text-input input:focus,
body.gorilla-wc-page .wc-block-components-text-input textarea:focus,
body.gorilla-wc-page .wc-block-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--gw-navy) !important;
  box-shadow: 0 0 0 3px rgb(var(--g-navy-rgb) / .14) !important;
  outline: none;
}
/* floating label colour on focus */
body.gorilla-wc-page .wc-block-components-text-input.is-active label,
body.gorilla-wc-page .wc-block-components-text-input input:focus + label {
  color: var(--gw-navy);
}

/* Radios / checkboxes / option pills → navy accent */
body.gorilla-wc-page .wc-block-components-radio-control__input,
body.gorilla-wc-page input[type="checkbox"],
body.gorilla-wc-page input[type="radio"] {
  accent-color: var(--gw-navy);
}
body.gorilla-wc-page .wc-block-components-radio-control__option--checked-option-highlighted,
body.gorilla-wc-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--gw-navy) !important;
  box-shadow: inset 0 0 0 1px var(--gw-navy);
}

/* ===========================================================================
 * Cart line items - v2.4.5: наследуем оформление карточки товара
 * (.product-card): фирменное имя, пилюля-степпер как .product-pill, БЕЗ
 * табличных линий, шапки «Товар/Итого» и прочего табличного мусора.
 * ========================================================================= */
body.gorilla-wc-page .wc-block-cart-items,
body.gorilla-wc-page .wc-block-cart-items__row,
body.gorilla-wc-page .wc-block-cart-items td,
body.gorilla-wc-page .wc-block-cart-items th {
  border: 0 !important;
}
body.gorilla-wc-page .wc-block-cart-items__header { display: none; } /* «Товар / Итого» - мусор */
body.gorilla-wc-page .wc-block-cart-items__row {
  padding-block: 10px;
}
/* имя товара - как .product-card__title: фирменный шрифт латинице, капс */
body.gorilla-wc-page .wc-block-components-product-name {
  font-family: 'Jawbreak Latin', 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--g-color-navy);
  text-decoration: none;
}
body.gorilla-wc-page .wc-block-components-product-name:hover { color: rgb(var(--g-green-rgb)); }
/* описание товара в строке - в карточке каталога его нет, убираем */
body.gorilla-wc-page .wc-block-cart-item__product .wc-block-components-product-metadata,
body.gorilla-wc-page .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
  display: none;
}
/* цены - DIN 700, как в пилюле каталога */
body.gorilla-wc-page .wc-block-cart-item__prices,
body.gorilla-wc-page .wc-block-cart-item__total .wc-block-components-product-price {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-weight: 700;
  color: var(--g-color-navy);
}

/* Степпер количества - язык .product-pill: серая пилюля, круглые кнопки */
body.gorilla-wc-page .wc-block-components-quantity-selector {
  overflow: hidden;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--gw-tile);
  align-items: center;
  padding: 3px;
}
body.gorilla-wc-page .wc-block-components-quantity-selector::after { display: none; } /* внутренняя рамка блока */
body.gorilla-wc-page .wc-block-components-quantity-selector__button {
  color: var(--g-color-navy);
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  width: 34px;
  min-height: 34px;
  border-radius: 50%;
  transition: background .15s ease;
}
body.gorilla-wc-page .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: rgb(var(--g-navy-rgb) / .08);
}
body.gorilla-wc-page .wc-block-components-quantity-selector__input {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-weight: 700;
  color: var(--g-color-navy);
  background: transparent;
}
/* цены в «Деталях заказа» - DIN 700, как в строках корзины */
body.gorilla-wc-page .wc-block-components-order-summary-item__total-price,
body.gorilla-wc-page .wc-block-components-order-summary-item__individual-prices {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-weight: 700;
  color: var(--g-color-navy);
}

/* «удалить» - тихая иконка, краснеет по ховеру */
body.gorilla-wc-page .wc-block-cart-item__remove-link {
  color: #9ca3af;
  transition: color .15s ease;
}
body.gorilla-wc-page .wc-block-cart-item__remove-link:hover { color: #d30000; }

/* ===========================================================================
 * Order summary / totals (cart sidebar + checkout sidebar) → tinted card
 * ========================================================================= */
body.gorilla-wc-page .wc-block-components-sidebar,
body.gorilla-wc-page .wc-block-cart__sidebar .wc-block-components-sidebar {
  background: var(--gw-surface-tint);
  border: 1px solid var(--gw-line);
  border-radius: var(--gw-radius-card);
  padding: 28px 24px;
}
@media (max-width: 781px) {
  body.gorilla-wc-page .wc-block-components-sidebar { padding: 20px 16px; }
}
body.gorilla-wc-page .wc-block-components-totals-item__label {
  font-family: var(--gw-font-body);
  color: var(--gw-muted);
}
body.gorilla-wc-page .wc-block-components-totals-item__value {
  font-family: var(--gw-font-bold);
  color: var(--gw-ink);
}
body.gorilla-wc-page .wc-block-components-totals-footer-item {
  border-top: 2px solid var(--gw-navy);
}
body.gorilla-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.gorilla-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--gw-font-bold);
  color: var(--gw-navy);
  font-size: 22px;
  letter-spacing: .01em;
}

/* Discounted prices keep the brand green */
body.gorilla-wc-page .wc-block-components-product-price__value.is-discounted,
body.gorilla-wc-page .wc-block-components-sale-badge,
body.gorilla-wc-page ins .woocommerce-Price-amount {
  color: var(--gw-green);
}
body.gorilla-wc-page .wc-block-components-sale-badge {
  background: var(--gw-green);
  color: #fff;
  border-radius: var(--gw-pill);
  font-family: var(--gw-font-bold);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* The coupon form stays visible; its label is a static heading. */
body.gorilla-wc-page .g-coupon-heading {
  opacity: 1;
  color: inherit;
  cursor: default;
  pointer-events: none;
}
body.gorilla-wc-page .g-coupon-heading svg { display: none; }

/* Coupon heading */
body.gorilla-wc-page .wc-block-components-totals-coupon__button,
body.gorilla-wc-page .wc-block-components-panel__button {
  color: var(--gw-navy) !important;
  font-family: var(--gw-font-bold);
}
/* v2.4.3: кнопка «Применить» промокода - аккуратная зелёная пилюля с чёрным
   текстом, компактная (не главный CTA панели), в один рост с полем ввода. */
body.gorilla-wc-page .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button,
body.gorilla-wc-page .wc-block-components-totals-coupon button.wc-block-components-button {
  background: var(--g-color-green) !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 46px;
  padding: 10px 22px !important;
  font-family: 'DIN 2014 UI', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  box-shadow: none !important;
  transition: background-color .15s ease;
}
body.gorilla-wc-page .wc-block-components-totals-coupon button.wc-block-components-button:hover:not(:disabled) {
  background: var(--g-color-paper, #f6f7f8) !important;
  transform: none;
}
/* у текста кнопки свой спан со своим цветом - наследуем чёрный принудительно */
body.gorilla-wc-page .wc-block-components-totals-coupon .wc-block-components-button__text {
  color: #000 !important;
}
/* поле промокода - на белом, вровень с кнопкой */
body.gorilla-wc-page .wc-block-components-totals-coupon__input input {
  min-height: 46px;
}

/* ===========================================================================
 * Notices (errors / info) - softer, brand-tinted
 * ========================================================================= */
body.gorilla-wc-page .wc-block-components-notice-banner {
  border-radius: 12px;
}
body.gorilla-wc-page .wc-block-components-notice-banner.is-info {
  border-color: var(--gw-navy);
  color: var(--gw-navy);
}

/* ===========================================================================
 * Layout polish: two-column gap on desktop checkout/cart
 * ========================================================================= */
@media (min-width: 1024px) {
  body.gorilla-wc-page .wc-block-checkout__main,
  body.gorilla-wc-page .wc-block-cart__main { padding-right: 48px; }
}

/* ============================================================================
 * v1.9.0 - Корзина / Оформление / Кабинет в актуальной стилистике проекта:
 * маркетплейс-карточки (светлая подложка + contain), зелёные пилюли-кнопки,
 * степперы как на витрине, Jawbreak-заголовки, панели-«стёкла» на светлом.
 * ========================================================================== */
body.gorilla-wc-page {
  --gw-tile: #f3f4f6;      /* подложка миниатюр и панелей - как .product-card__media */
  --gw-muted2: #9aa0ad;
}

/* --- Заголовки страниц: фирменный Jawbreak с «клыками», как секции сайта --- */
body.gorilla-wc-page .wp-block-post-title,
body.gorilla-wc-page .entry-title,
body.gorilla-wc-page h1.gorilla-wc-title {
  font-family: 'Jawbreak Sans Cut', 'DIN 2014', system-ui, sans-serif;
  font-size: var(--g-fs-h1, clamp(32px, 5vw, 48px));
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .01em;
  line-height: 1.1;
  text-align: center;
  margin: 0 0 28px;
}
body.gorilla-wc-page h1.gorilla-wc-title::before {
  content: "";
  display: block;
  width: clamp(48px, 6vw, 68px);
  aspect-ratio: 267 / 205;
  margin: 0 auto 8px;
  background-color: var(--g-color-navy);
  -webkit-mask: url('../img/gorilla-fangs.svg') no-repeat center / contain;
  mask: url('../img/gorilla-fangs.svg') no-repeat center / contain;
}
/* Подзаголовки блоков WC (Контактная информация, Способы оплаты, Итого …) */
body.gorilla-wc-page .wc-block-components-title,
body.gorilla-wc-page .wc-block-components-checkout-step__title,
body.gorilla-wc-page .wc-block-cart__totals-title {
  font-family: 'DIN 2014 UI', 'DIN 2014', system-ui, sans-serif !important; /* v2.4.4: техничка - без Jawbreak */
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--g-color-navy) !important;
}

/* Миниатюры: единая геометрия задана ниже (v2.4.6), здесь правил нет. */

/* --- Названия и цены ------------------------------------------------------ */
body.gorilla-wc-page .wc-block-components-product-name {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--g-color-navy);
  text-decoration: none;
}
body.gorilla-wc-page .wc-block-components-product-name:hover { color: rgb(var(--g-green-rgb)); }
body.gorilla-wc-page .wc-block-components-product-metadata__description { display: none; }
body.gorilla-wc-page .wc-block-components-product-price__value,
body.gorilla-wc-page .wc-block-components-totals-item__value {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-weight: 800;
  color: var(--g-color-navy);
}

/* --- Степпер количества: та же пилюля, что на витрине --------------------- */
body.gorilla-wc-page .wc-block-components-quantity-selector {
  border: 0;
  border-radius: 999px;
  background: var(--gw-tile);
  padding: 3px;
  min-width: 0;
}
body.gorilla-wc-page .wc-block-components-quantity-selector::after { display: none; }
body.gorilla-wc-page .wc-block-components-quantity-selector__input {
  font-weight: 800;
  color: var(--g-color-navy);
  min-width: 28px;
}
body.gorilla-wc-page .wc-block-components-quantity-selector__button {
  width: 28px; height: 28px;
  border: 0; border-radius: 50%;
  background: rgb(var(--g-navy-rgb) / .10);
  color: var(--g-color-navy);
  font-size: 17px; font-weight: 700; line-height: 1;
  transition: background .2s ease, transform .15s ease;
}
body.gorilla-wc-page .wc-block-components-quantity-selector__button:hover { background: rgb(var(--g-navy-rgb) / .18); }
body.gorilla-wc-page .wc-block-components-quantity-selector__button:active { transform: scale(.92); }

/* --- Панели: сводка корзины и детали заказа ------------------------------- */
/* (перекрыто тёмной панелью v1.9.2 ниже) */
body.gorilla-wc-page .wc-block-components-totals-wrapper { border-color: rgb(var(--g-navy-rgb) / .08); }
body.gorilla-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 22px;
}

/* --- Кнопки: зелёная пилюля (главный CTA) и контурная (второстепенные) ---- */
body.gorilla-wc-page .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button {
  background: var(--g-color-green) !important;
  color: #000 !important; /* v2.4.2: бренд-стандарт - чёрный текст на зелёной кнопке */
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'DIN 2014 UI', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 16px 26px !important;
  box-shadow: 0 8px 24px -10px rgb(var(--g-green-rgb) / .8);
  transition: background .2s ease, transform .15s ease;
}
body.gorilla-wc-page .wc-block-cart__submit-button:hover,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button:hover {
  /* v2.6.6: единый ховер зелёных кнопок - «бумага», не тёмный */
  background: var(--g-color-paper, #f6f7f8) !important;
  color: #0a0a0a !important;
  transform: translateY(-1px);
}

/* --- Поля ввода: мягкие пилюли, зелёный фокус ----------------------------- */
body.gorilla-wc-page .wc-block-components-text-input input,
body.gorilla-wc-page .wc-block-components-textarea,
body.gorilla-wc-page .wc-blocks-components-select__select {
  border-radius: 14px !important;
  border-color: rgb(var(--g-navy-rgb) / .16) !important;
  font-size: 16px;   /* iOS не зумит */
}
body.gorilla-wc-page .wc-block-components-text-input input:focus,
body.gorilla-wc-page .wc-blocks-components-select__select:focus {
  border-color: rgb(var(--g-green-rgb)) !important;
  box-shadow: 0 0 0 3px rgb(var(--g-green-rgb) / .18) !important;
  outline: none !important;
}
body.gorilla-wc-page .wc-block-components-checkout-step {
  border: 0;
  padding-left: 0;
}
body.gorilla-wc-page .wc-block-components-checkout-step__heading-content { display: none; }

/* --- Пустая корзина ------------------------------------------------------- */
body.gorilla-wc-page .wp-block-woocommerce-empty-cart-block { text-align: center; }

/* ============================ ЛИЧНЫЙ КАБИНЕТ ============================== */
body.woocommerce-account .gorilla-page-content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 144px 20px 88px;
}
@media (max-width: 781px) { body.woocommerce-account .gorilla-page-content { padding: 118px 16px 64px; } }

/* навигация - капсула чипов, как фильтры каталога */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0 0 28px;
  padding: 8px;
  border-radius: 999px;
  background: #000;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .10);
  color: #fff;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgba(255, 255, 255, .18); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--g-color-green);
  color: #0a0a0a;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  background: #f3f4f6;
  border-radius: 22px;
  padding: clamp(20px, 4vw, 32px);
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #24262b;
}
body.woocommerce-account .woocommerce-MyAccount-content a { color: #4e7a02; }
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-form button {
  background: var(--g-color-green) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 13px 26px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="tel"] {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1px solid rgb(var(--g-navy-rgb) / .16);
  border-radius: 14px;
  font-size: 16px;
  background: #fff;
}
body.woocommerce-account input:focus {
  border-color: rgb(var(--g-green-rgb));
  box-shadow: 0 0 0 3px rgb(var(--g-green-rgb) / .18);
  outline: none;
}
/* формы входа/регистрации - две карточки */
body.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 782px) { body.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }
body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2 { width: auto !important; float: none !important; }
body.woocommerce-account .woocommerce-form {
  background: #fff;
  border: 1px solid rgb(var(--g-navy-rgb) / .08);
  border-radius: 18px;
  padding: 22px;
}
body.woocommerce-account .woocommerce h2 {
  font-family: 'DIN 2014 UI', 'DIN 2014', system-ui, sans-serif; /* v2.4.4: техничка - без Jawbreak */
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--g-color-navy);
  margin: 0 0 14px;
}
/* таблица заказов */
body.woocommerce-account .woocommerce-orders-table { width: 100%; border-collapse: collapse; }
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-orders-table td {
  padding: 12px 10px;
  border-bottom: 1px solid rgb(var(--g-navy-rgb) / .08);
  font-size: 14px;
  text-align: left;
}
body.woocommerce-account .woocommerce-orders-table th {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #9aa0ad;
}

/* v2.4.6: миниатюры корзины/оформления - ЕДИНАЯ жёсткая геометрия.
   Плитка (язык .product-card__media: #f3f4f6, r18, товар целиком) задаётся
   на КОНТЕЙНЕРЕ (__image), а не на обёртке/картинке: в разметке summary
   обёртки-wrapper нет, img лежит прямо в __image - из-за этого высоты плиток
   гуляли 79-142px (автотест wc-flow-test). img всегда contain 100%. */
/* Строки корзины: __image - <td>, его высоту диктует СТРОКА таблицы, поэтому
   квадрат держит ссылка-обёртка <a>, а ячейка прозрачна (грабли v2.4.6). */
body.gorilla-wc-page td.wc-block-cart-item__image {
  width: 96px;
  padding: 0;
  background: none;
  vertical-align: top;
}
body.gorilla-wc-page .wc-block-cart-item__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 96px;
  height: 96px;
  padding: 10px;
  border-radius: 18px;
  background: var(--gw-tile);
  overflow: hidden;
}
/* Summary оформления: __image - div, img прямо в нём; плитка на контейнере */
body.gorilla-wc-page .wc-block-components-order-summary-item__image {
  flex: 0 0 auto;
  position: relative;
  box-sizing: border-box;
  width: 72px !important;
  height: 72px !important;
  padding: 8px;
  border-radius: 16px;
  background: var(--gw-tile);
}
body.gorilla-wc-page .wc-block-cart-item__image img,
body.gorilla-wc-page .wc-block-components-order-summary-item__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  padding: 0;
  border-radius: 0;
  background: none;
}
/* бейдж количества - зелёный кружок на углу плитки (жёсткие габариты:
   без них родная капсула WC растягивалась полосой поверх имени) */
body.gorilla-wc-page .wc-block-components-order-summary-item__quantity {
  position: absolute;
  top: -7px;
  left: -7px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 24px !important;
  height: 24px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 50%;
  background: var(--g-color-green);
  border: 2px solid #fff;
  color: #000;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
}
/* сам ряд summary: плитка | описание | цена - без расползаний */
body.gorilla-wc-page .wc-block-components-order-summary-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
body.gorilla-wc-page .wc-block-components-order-summary-item__description {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 0;
  margin-left: 0;
}
body.gorilla-wc-page .wc-block-components-order-summary-item__total-price {
  flex: 0 0 auto;
  margin-left: auto;
}

/* --- Финальная доводка (v1.9.1) ------------------------------------------ */
/* Главный CTA оформления - фирменная зелёная пилюля (у блока свой класс
   wc-block-components-button, поэтому целимся и в него). */
body.gorilla-wc-page .wc-block-checkout__actions_row button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button,
body.gorilla-wc-page button.wc-block-components-button.contained {
  background: var(--g-color-green) !important;
  color: #000 !important; /* v2.4.4: бренд - чёрный текст на зелёном (этот поздний блок перебивал ранний фикс) */
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: 0 8px 24px -10px rgb(var(--g-green-rgb) / .8);
}
body.gorilla-wc-page .wc-block-checkout__actions_row button:hover,
body.gorilla-wc-page button.wc-block-components-button.contained:hover {
  background: var(--g-color-paper, #f6f7f8) !important;
  color: #0a0a0a !important;
}

/* Страна одна (Россия) - селект не нужен, только шум в форме. */
body.gorilla-wc-page .wc-block-components-country-input,
body.gorilla-wc-page .wc-block-components-address-form .wc-block-components-country-input {
  display: none !important;
}

/* Кабинет: форма входа/регистрации - светлая карточка на общем фоне. */
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .woocommerce-ResetPassword {
  background: #f3f4f6;
  border: 1px solid rgb(var(--g-navy-rgb) / .06);
  border-radius: 22px;
  padding: clamp(20px, 4vw, 30px);
  max-width: 520px;
}
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit { margin-top: 6px; }
body.woocommerce-account .woocommerce-form-login label,
body.woocommerce-account .woocommerce-form-register label {
  display: block;
  margin-bottom: 6px;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #9aa0ad;
}
body.woocommerce-account .woocommerce-form-row { margin-bottom: 14px; }
body.woocommerce-account .woocommerce-form-login__rememberme { font-size: 13px; color: #6b7080; }
body.woocommerce-account .woocommerce-LostPassword { margin-top: 12px; font-size: 13px; }
body.woocommerce-account .show-password-input { border-radius: 999px; }

/* Пустая корзина: блок «Новинки» - карточки в стиле витрины, картинки в
   фиксированном боксе (после отказа от кропа исходники крупные, v1.9.1). */
body.gorilla-wc-page .wc-block-grid__products,
body.gorilla-wc-page .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 14px;
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}
@media (min-width: 640px)  { body.gorilla-wc-page .wc-block-grid__products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { body.gorilla-wc-page .wc-block-grid__products { grid-template-columns: repeat(4, 1fr); } }
body.gorilla-wc-page .wc-block-grid__product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}
body.gorilla-wc-page .wc-block-grid__product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 12px;
  border-radius: 18px;
  background: var(--gw-tile);
  overflow: hidden;
  margin: 0 0 10px;
}
body.gorilla-wc-page .wc-block-grid__product-image img {
  /* v2.6.8: жёсткая геометрия (Safari height:auto ломал contain) */
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
body.gorilla-wc-page .wc-block-grid__product-title {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--g-color-navy);
  margin: 0 0 4px;
}
body.gorilla-wc-page .wc-block-grid__product-price {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: var(--g-color-navy);
  display: block;
  margin-bottom: 8px;
}
body.gorilla-wc-page .wc-block-grid__product .wp-block-button__link,
body.gorilla-wc-page .wc-block-grid__product .add_to_cart_button {
  display: inline-flex;
  background: var(--g-color-green) !important;
  color: #0a0a0a !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 9px 20px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}
/* заголовок пустой корзины (v2.4.4: техничка - DIN, не Jawbreak) */
body.gorilla-wc-page .wc-block-cart__empty-cart__title,
body.gorilla-wc-page .wp-block-woocommerce-empty-cart-block h2 {
  font-family: 'DIN 2014 UI', 'DIN 2014', system-ui, sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--g-color-navy);
}

/* ============================================================================
 * v1.9.2 - Панели «Сумма корзины» / «Детали заказа».
 * v2.4.2 - Перекрашены с чёрного на «бумагу» (--g-color-paper, третий
 * глобальный цвет по решению клиента): светлая спокойная карточка, тёмная
 * типографика, зелёный акцент на итоге и кнопке.
 * ========================================================================== */
body.gorilla-wc-page .wc-block-components-sidebar,
body.gorilla-wc-page .wc-block-cart__sidebar,
body.gorilla-wc-page .wc-block-checkout__sidebar {
  background: var(--g-color-paper, #f6f7f8);
  border: 1px solid rgb(var(--g-navy-rgb) / .06);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 18px 44px -28px rgba(0, 0, 0, .35);
}
/* вложенные блоки внутри панели - без своих фонов и рамок */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-item {
  background: transparent;
  border-color: rgb(var(--g-navy-rgb) / .08);
}
/* типографика на светлом */
body.gorilla-wc-page .wc-block-components-sidebar,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-product-name,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-item__label,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-item__value,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-product-price__value,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel__button {
  color: var(--g-color-navy) !important;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-title,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-cart__totals-title {
  color: var(--g-color-navy) !important;
  font-size: 13px !important;
  letter-spacing: .12em;
  opacity: .55;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-product-metadata,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-item__description,
body.gorilla-wc-page .wc-block-components-sidebar small {
  color: #6b7280 !important;
}
/* строка ИТОГО - крупная, сумма глубоким зелёным (читается на светлом) */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-footer-item {
  margin-top: 6px;
  padding-top: 14px;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'DIN 2014 UI', 'DIN 2014', system-ui, sans-serif; /* v2.4.4: техничка - без Jawbreak */
  font-weight: 700;
  font-size: 15px !important;
  text-transform: uppercase;
  opacity: 1;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--g-color-green-deep, #3f6300) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}
/* миниатюры в панели - белая подложка на «бумаге» */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item__image {
  background: #fff;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item__quantity {
  background: var(--g-color-green);
  border-color: var(--g-color-green);
  color: #000;
}
/* купон-аккордеон и поля внутри панели */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel__button svg { fill: var(--g-color-navy); }
body.gorilla-wc-page .wc-block-components-sidebar input[type="text"] {
  background: #fff !important;
  border-color: rgb(var(--g-navy-rgb) / .16) !important;
  color: var(--g-color-navy) !important;
}
body.gorilla-wc-page .wc-block-components-sidebar input::placeholder { color: rgb(var(--g-navy-rgb) / .4) !important; }
/* кнопка перехода к оформлению остаётся зелёной */
body.gorilla-wc-page .wc-block-cart__submit-container { background: transparent; }

/* кнопка в панели - зелёная с ЧЁРНЫМ текстом (бренд-стандарт кнопок),
   внутренние блоки без собственных фонов/рамок (не «карточка в карточке») */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-cart__submit-container button {
  background: var(--g-color-green) !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 26px -12px rgb(var(--g-green-rgb) / .9);
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel,
body.gorilla-wc-page .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.gorilla-wc-page .wc-block-components-sidebar > div {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================================
 * v1.9.3 - Финальная доводка панелей: без дублей и лишних линий, спокойные CTA
 * ========================================================================== */
/* «Подытог» дублирует «Итого», пока нет доставки/скидок - прячем, показываем
   обратно, если в заказе появились доставка, скидка или сборы. */
body.gorilla-wc-page .wp-block-woocommerce-checkout-order-summary-subtotal-block,
body.gorilla-wc-page .wc-block-components-totals-item.wc-block-components-totals-item__subtotal {
  display: none;
}
body.gorilla-wc-page .wp-block-woocommerce-checkout-order-summary-shipping-block:not(:empty) ~ .wp-block-woocommerce-checkout-order-summary-subtotal-block,
body.gorilla-wc-page .wp-block-woocommerce-checkout-order-summary-discount-block:not(:empty) ~ .wp-block-woocommerce-checkout-order-summary-subtotal-block {
  display: block;
}

/* Линии: только ОДНА - перед итогом. Всё остальное дышит отступами. */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.gorilla-wc-page .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.gorilla-wc-page .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
body.gorilla-wc-page .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-totals-block,
body.gorilla-wc-page .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-cart-items-block,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-footer-item {
  border-top: 0 !important;   /* без разделителей - только воздух (v1.9.4) */
  margin-top: 10px;
  padding-top: 6px;
}
/* воздух вместо линий */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper { padding: 10px 0; }
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-panel__button { padding: 6px 0; }
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item {
  padding: 4px 0 14px;
  border: 0;
}

/* CTA спокойнее: без неонового свечения, мягкая тень и приглушённый ховер */
body.gorilla-wc-page .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-cart__submit-container button,
body.gorilla-wc-page .wc-block-checkout__actions_row button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button,
body.gorilla-wc-page button.wc-block-components-button.contained {
  box-shadow: 0 6px 18px -10px rgba(0, 0, 0, .5) !important;
  font-size: 13px !important;
  letter-spacing: .08em;
  padding: 15px 24px !important;
}
body.gorilla-wc-page .wc-block-cart__submit-button:hover,
body.gorilla-wc-page .wc-block-cart__submit-container button:hover,
body.gorilla-wc-page .wc-block-checkout__actions_row button:hover,
body.gorilla-wc-page button.wc-block-components-button.contained:hover {
  background: var(--g-color-paper, #f6f7f8) !important; /* v2.6.6: единый ховер */
  color: #0a0a0a !important;
  transform: none;
}
/* итог - акцент цветом, но чуть спокойнее по кеглю */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 21px !important;
}
/* карточка товара в деталях заказа: аккуратный ряд без рамок */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item__description { gap: 2px; }

/* v1.9.3.1 - последние детали:
   • в позиции заказа цена печаталась дважды (сумма справа + цена за штуку
     под названием) - оставляем только сумму справа;
   • кнопки чуть глубже по тону (просьба «поспокойнее»), без неона;
   • в корзине - одна линия над итогом, под ним только воздух. */
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item__total-price ~ *,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-order-summary-item__description .wc-block-components-product-price {
  display: none;
}
body.gorilla-wc-page .wc-block-cart__submit-button,
body.gorilla-wc-page .wc-block-cart__submit-container button,
body.gorilla-wc-page .wc-block-checkout__actions_row button,
body.gorilla-wc-page .wc-block-components-checkout-place-order-button,
body.gorilla-wc-page button.wc-block-components-button.contained,
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-form button {
  background: #79b302 !important;
}
body.gorilla-wc-page .wc-block-cart__submit-button:hover,
body.gorilla-wc-page .wc-block-cart__submit-container button:hover,
body.gorilla-wc-page .wc-block-checkout__actions_row button:hover,
body.gorilla-wc-page button.wc-block-components-button.contained:hover,
body.woocommerce-account .woocommerce-form button:hover {
  background: #6a9e02 !important;
}
body.gorilla-wc-page .wc-block-cart__totals-footer,
body.gorilla-wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper:last-of-type {
  border-bottom: 0 !important;
}

/* v1.9.4 - ни одной тонкой линии в панелях: блоки разделяет только воздух */
body.gorilla-wc-page .wc-block-components-sidebar *,
body.gorilla-wc-page .wc-block-cart__submit-container,
body.gorilla-wc-page .wc-block-cart__totals-footer,
body.gorilla-wc-page .wc-block-components-totals-wrapper {
  border-top-width: 0 !important;
  border-bottom-width: 0 !important;
}
body.gorilla-wc-page .wc-block-cart__submit-container { padding-top: 14px; }

/* ============================ ВХОД / РЕГИСТРАЦИЯ ===========================
   Кабинет (v2.2.1). Раньше здесь была голая форма WooCommerce, прижатая к
   левому краю: одна колонка входа, без регистрации (она была выключена в
   настройках) и без оформления проекта. Теперь две равные карточки на светлой
   сцене; шаблон - woocommerce/myaccount/form-login.php. */
.g-auth {
  max-width: var(--g-container-max, 1440px);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 48px) var(--g-container-pad, clamp(19px, 4vw, 48px)) clamp(48px, 6vw, 80px);
}
.g-auth__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 32px);
}
@media (min-width: 900px) {
  .g-auth__grid { grid-template-columns: 1fr 1fr; align-items: start; }
  /* если регистрация выключена - форма входа не растягивается на всю ширину */
  .g-auth__grid--single { grid-template-columns: minmax(0, 520px); justify-content: center; }
}

.g-auth__card {
  background: #fff;
  border-radius: var(--g-radius-card, 24px);
  padding: clamp(24px, 3vw, 40px);
  box-shadow: 0 18px 48px -28px rgba(0, 0, 0, 0.45);
}
/* правая карточка «Регистрация» - тёмная, чтобы вход читался как основное
   действие, а регистрация как альтернатива */
.g-auth__card--register {
  background: #0a0a0a;
  color: #fff;
}
.g-auth__card--register label,
.g-auth__card--register .g-auth__title { color: #fff; }
.g-auth__card--register .g-auth__lead,
.g-auth__card--register .g-auth__note { color: rgba(255, 255, 255, 0.62); }
.g-auth__card--register input {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.g-auth__card--register input:focus { border-color: var(--g-color-green); }

.g-auth__title {
  font-family: 'DIN 2014 UI', 'DIN 2014', system-ui, sans-serif; /* v2.4.4: техничка - без Jawbreak */
  font-weight: 800;
  font-size: clamp(20px, 2.4vw, 26px);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--g-color-navy);
  margin: 0 0 6px;
}
.g-auth__lead {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0 0 22px;
}
.g-auth__note { font-size: 13px; color: #6b7280; margin: 0 0 18px; }

.g-auth .form-row { margin: 0 0 16px; }
.g-auth label {
  display: block;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--g-color-navy);
  margin: 0 0 6px;
}
.g-auth input[type="text"],
.g-auth input[type="email"],
.g-auth input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 16px;
  border: 1.5px solid rgb(var(--g-navy-rgb) / .16);
  border-radius: 12px;
  background: #fff;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 15px;
  color: var(--g-color-navy);
  transition: border-color .2s ease;
}
.g-auth input:focus { outline: none; border-color: var(--g-color-navy); }
.g-auth .required { color: #d30000; }

/* «Запомнить меня» и «Забыли пароль?» - одной строкой */
.g-auth__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.g-auth__row label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  cursor: pointer;
}
.g-auth__row input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--g-color-green); }
.g-auth__lost {
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.g-auth__lost:hover { color: var(--g-color-navy); }
.g-auth .g-btn { width: 100%; }

/* --- Быстрый вход ------------------------------------------------------- */
.g-auth__oauth { margin-top: 26px; }
.g-auth__divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9aa0ad;
}
.g-auth__divider::before,
.g-auth__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgb(var(--g-navy-rgb) / .12);
}
.g-auth__providers { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.g-auth__provider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 12px;
  font-family: 'DIN 2014 UI', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .15s ease, opacity .2s ease;
}
.g-auth__provider svg { width: 18px; height: 18px; }
.g-auth__provider:hover { transform: translateY(-1px); opacity: .92; }
.g-auth__provider--vk { background: #0077FF; color: #fff; }
.g-auth__provider--ya { background: #fff; color: #0a0a0a; border: 1.5px solid rgb(var(--g-navy-rgb) / .16); }
@media (max-width: 420px) {
  .g-auth__providers { grid-template-columns: 1fr; }
}

/* Внутренние обёртки WooCommerce (form.login / form.register) приходят со
   своим светлым фоном, рамкой и отступами - внутри наших карточек это давало
   «плашку в плашке», а на тёмной карточке регистрации ещё и светлый прямоугольник. */
.g-auth form.login,
.g-auth form.register {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
/* Текст политики конфиденциальности под формой регистрации */
.g-auth .woocommerce-privacy-policy-text {
  font-size: 12px;
  line-height: 1.5;
  margin: 0 0 16px;
}
.g-auth .woocommerce-privacy-policy-text p { margin: 0; }
.g-auth__card--register .woocommerce-privacy-policy-text,
.g-auth__card--register .woocommerce-privacy-policy-text p { color: rgba(255, 255, 255, 0.55); }
.g-auth__card--register .woocommerce-privacy-policy-text a { color: var(--g-color-green); text-decoration: underline; }
/* кнопка «показать пароль» - нейтральная иконка вместо зелёного круга */
.g-auth .show-password-input {
  background: none !important;
  color: #9aa0ad;
  right: 12px;
}
.g-auth .show-password-input::after { color: inherit; }
.g-auth__card--register .show-password-input { color: rgba(255, 255, 255, 0.5); }

/* Кнопка «показать пароль»: WooCommerce задаёт ей зелёную заливку с высокой
   специфичностью - сбрасываем до нейтральной иконки внутри поля. */
.g-auth .woocommerce-form .show-password-input,
.g-auth .show-password-input {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  top: 50% !important;
  transform: translateY(-50%);
  right: 14px !important;
  color: #9aa0ad !important;
  opacity: .8;
}
.g-auth .show-password-input:hover { opacity: 1; }
.g-auth__card--register .show-password-input { color: rgba(255,255,255,.55) !important; }
/* ссылка политики - читаемый акцент, без наезда на текст */
.g-auth__card--register .woocommerce-privacy-policy-text a {
  color: var(--g-color-green) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Login utility row: WooCommerce clearfix pseudo-elements were becoming extra
   flex items, while its form label rule overrode the checkbox alignment. */
body.woocommerce-account .g-auth .form-row.g-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 0; margin: 4px 0 16px; }
body.woocommerce-account .g-auth .form-row.g-auth__row::before,
body.woocommerce-account .g-auth .form-row.g-auth__row::after { display: none; }
body.woocommerce-account .g-auth .g-auth__row label { display: inline-flex; align-items: center; gap: 8px; margin: 0; min-height: 44px; line-height: 20px; font-size: 14px; font-weight: 500; }
body.woocommerce-account .g-auth .g-auth__row input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
body.woocommerce-account .g-auth .g-auth__lost { display: inline-flex; align-items: center; min-height: 44px; line-height: 20px; font-size: 14px; border: 0; text-decoration: underline; text-underline-offset: 4px; }
body.woocommerce-account .g-auth input:is([type="text"], [type="email"], [type="password"]) { font-size: 16px; }
@media (max-width: 359px) {
  body.woocommerce-account .g-auth .form-row.g-auth__row { flex-direction: column; align-items: flex-start; gap: 0; }
}

/* Cart and checkout retain a clear page heading above the transactional form. */
.g-commerce-head { text-align: center; margin-bottom: clamp(24px, 3vw, 36px); }
.g-commerce-head .g-section__title { margin: 0; font-size: clamp(28px, 3.2vw, 40px); }

/* Keep tablet order names readable inside the narrower summary column. */
@media (min-width: 700px) and (max-width: 1023px) {
  body.gorilla-wc-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 6px 10px;
  }
  body.gorilla-wc-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image {
    width: 48px !important;
    padding: 0;
    grid-row: 1 / span 2;
  }
  body.gorilla-wc-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    object-fit: contain;
  }
  body.gorilla-wc-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item__description {
    width: auto;
    padding: 0;
  }
  body.gorilla-wc-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price {
    grid-column: 2;
    padding: 0;
    text-align: left;
  }
}

/* Permanent coupon field: no accordion, automatic focus or duplicated form. */
.wc-block-components-totals-coupon:has(> .g-coupon-root) > :not(.g-coupon-root) { display: none !important; }
body.gorilla-wc-page .g-coupon { margin: 0; }
.g-coupon__label { display: block; margin: 0 0 10px; font-size: 15px; font-weight: 700; }
.g-coupon__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 8px; }
body.gorilla-wc-page .g-coupon input {
  width: 100%; min-width: 0; min-height: 50px; margin: 0; padding: 12px 14px;
  border: 1px solid #d9dcdd !important; border-radius: 12px; background: #fff;
  color: #111; font: 16px/1.3 var(--gw-font-body);
}
body.gorilla-wc-page .g-coupon input:focus { outline: 2px solid #78af00; outline-offset: 2px; }
body.gorilla-wc-page .g-coupon input[aria-invalid="true"] { border-color: #a11d1d; }
body.gorilla-wc-page .g-coupon button {
  min-width: 108px; min-height: 50px; padding: 12px 16px; border: 0; border-radius: 999px;
  background: var(--g-color-green); color: #111;
  font: 800 12px/1.2 var(--gw-font-body); text-transform: uppercase; letter-spacing: .04em;
  cursor: pointer;
}
body.gorilla-wc-page .g-coupon button:hover:not(:disabled) { background: #77b000; }
body.gorilla-wc-page .g-coupon button:disabled { background: #e4e7e0; color: #555d4d; cursor: default; }
.g-coupon__error { margin: 10px 0 0; color: #a11d1d; font-size: 14px; line-height: 1.4; }
.gorilla-minicart__error { padding: 8px 0; color: #fff; font-size: 14px; }
