/* =============================================================
   iBaza68 — Glacier UI, часть 2: карточка товара, корзина,
   текстовые страницы и перекраска старых блоков.
   Подключается после ibaza-glacier.css
   ============================================================= */

/* ---------- карточка товара: детали ---------- */
.gl-pdp-name { margin:0 0 6px; font-size:clamp(22px,2.2vw,30px); }
.gl-gal-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.gl-assoc { margin-top:18px; display:grid; gap:14px; }
.gl-assoc .col-12 { padding:0; }
.color-product, .memory-product { font-size:13px; color:var(--gl-ink-500); margin-bottom:8px; }
.color-assoc-product, .memory-assoc-product { display:flex; gap:8px; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.url-color { list-style:none; }
.url-color a { display:inline-flex; align-items:center; justify-content:center; min-width:76px; height:42px; padding:0 16px;
  border-radius:var(--gl-r-sm); border:1px solid var(--gl-line); background:#fff; font-size:14px; font-weight:550;
  color:var(--gl-ink-700); transition:border-color .22s, color .22s, transform .22s var(--gl-ease-out); }
.url-color a:hover { border-color:var(--gl-300); color:var(--gl-700); transform:translateY(-2px); }
.url-color a.active { border-color:var(--gl-500); color:var(--gl-700); box-shadow:0 0 0 3px rgba(86,191,223,.16); }
.gl-buy-actions { display:flex; gap:10px; margin-top:20px; flex-wrap:wrap; }
.gl-buy-actions .to-cart { flex:1; min-width:210px; display:flex; }
.gl-buy-actions .btn-add-to-cart, .gl-buy-actions .btn-in-cart { height:56px; font-size:16px; }
.gl-dlv-list { margin-top:18px; }
.gl-dlv b a { color:var(--gl-600); }
.gl-trust { display:grid; gap:10px; margin-top:18px; }
.gl-trust div { display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--gl-ink-500); }
.gl-trust .gl-ico { color:var(--gl-500); flex:none; }

/* FAQ */
.gl-faq-list { border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); background:#fff; overflow:hidden; }
.faq-item { border-bottom:1px solid var(--gl-line-soft); }
.faq-item:last-child { border-bottom:0; }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 22px; background:none; border:0; cursor:pointer; text-align:left;
  font-size:15.5px; font-weight:600; color:var(--gl-ink-900); transition:background .2s; }
.faq-question:hover { background:var(--gl-50); }
.faq-question-content { display:flex; align-items:center; gap:12px; }
.faq-question .faq-svg { color:var(--gl-600); flex:none; }
.faq-toggle { color:var(--gl-ink-400); font-size:13px; }
.faq-answer { padding:0 22px 18px; font-size:14.5px; color:var(--gl-ink-500); line-height:1.65; }
.faq-answer a { color:var(--gl-600); }
.faq-title { display:none; }

/* ---------- корзина ---------- */
.gl-cart-page { align-items:start; }
.gl-ci-name { font-size:16px; font-weight:600; color:var(--gl-ink-900); display:block; }
.gl-ci-name:hover { color:var(--gl-600); }
.ibz-cart-product-details .meta { font-size:13px; color:var(--gl-ink-500); margin-top:3px; }
.ibz-cart-product-details .meta li { list-style:none; display:inline-block; margin-right:10px; }
.ibz-cart-product-details .tags { display:flex; gap:6px; margin-top:9px; flex-wrap:wrap; }
.ibz-cart-qty-input { width:44px; height:38px; border:0; text-align:center; font-size:15px; background:transparent;
  font-variant-numeric:tabular-nums; -moz-appearance:textfield; }
.ibz-cart-qty-input::-webkit-outer-spin-button, .ibz-cart-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ibz-cart-qty-btn { width:38px; height:38px; display:grid; place-items:center; background:none; border:0;
  color:var(--gl-ink-500); cursor:pointer; transition:background .2s, color .2s; }
.ibz-cart-qty-btn:hover { background:var(--gl-50); color:var(--gl-600); }
.ibz-cart-delete { display:inline-flex; align-items:center; gap:6px; background:none; border:0; color:var(--gl-ink-400);
  font-size:13px; cursor:pointer; transition:color .2s; }
.ibz-cart-delete:hover { color:var(--gl-rose-600); }
.gl-cart-usp { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.gl-cart-usp > div { display:flex; gap:12px; align-items:center; padding:16px 18px; border:1px solid var(--gl-line);
  border-radius:var(--gl-r-md); background:#fff; }
.gl-cart-usp .gl-ico { color:var(--gl-600); flex:none; }
.gl-cart-usp b { display:block; font-size:14px; color:var(--gl-ink-900); }
.gl-cart-usp span { font-size:12.5px; color:var(--gl-ink-500); }
/* корзина: сверху товары, снизу оформление в две колонки */
.gl-cart-page { grid-template-columns:1fr; gap:22px; }
.gl-order-slot { display:block; }
.gl-order-grid { display:grid; grid-template-columns:1fr 384px; gap:22px; align-items:start; }
.gl-order-main { display:block; }
.gl-order-grid > aside .gl-sum { top:96px; }
@media (max-width:1080px) { .gl-order-grid { grid-template-columns:1fr; } }
.gl-order .gl-opt-card { position:relative; }
.gl-order .gl-opt-card input.form-check-input { position:absolute; opacity:0; pointer-events:none; }
.gl-order .gl-opt-card .option-content { display:block; }
.message-container:empty { display:none; }
.gl-check { width:19px; height:19px; border-radius:6px; border:1.5px solid var(--gl-ink-300); display:grid;
  place-items:center; color:#fff; flex:none; }
.gl-check.is-on { background:var(--gl-grad); border-color:transparent; }
.btn-promo { height:46px; }

/* ---------- текстовые страницы ---------- */
.gl-prose-card { max-width:960px; margin:0 auto; background:#fff; border:1px solid var(--gl-line);
  border-radius:var(--gl-r-xl); box-shadow:var(--gl-sh-sm); overflow:hidden; }
.gl-prose-card .gl-prose { padding:36px 40px; }
.gl-prose-card .gl-prose h3 { font-size:24px; margin:0 0 16px; }
.gl-prose-card .gl-prose h4 { font-size:18px; margin:26px 0 10px; }
.gl-prose strong { color:var(--gl-ink-900); }
@media (max-width:720px) { .gl-prose-card .gl-prose { padding:22px 18px; } }

/* ---------- trade-in ---------- */
.gl-tradein-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.gl-tradein-grid .gl-steps { flex-wrap:nowrap; overflow:auto; scrollbar-width:none; }
.gl-tradein-grid .gl-steps::-webkit-scrollbar { display:none; }
.condition-categories { display:grid; gap:10px; }
.condition-categories .condition-category, .condition-categories > div { border:1px solid var(--gl-line);
  border-radius:var(--gl-r-md); padding:14px 16px; background:var(--gl-paper-2); }
.condition-categories label { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--gl-ink-700); padding:5px 0; cursor:pointer; }
.total-price { color:var(--gl-ink-900); }
@media (max-width:1080px) { .gl-tradein-grid { grid-template-columns:1fr; } }

/* ---------- старые страницы: перекраска ---------- */
.trade-in-card, .calculator-card, .repair-card, .promo-card, .partners-card,
.payment-card, .info-card, .service-card, .price-card, .advantage-card {
  border-radius:var(--gl-r-lg) !important; border:1px solid var(--gl-line) !important;
  box-shadow:var(--gl-sh-sm) !important; background:#fff !important; }
.section-header h5, .section-header h4 { color:var(--gl-ink-900); }
.section-header i, .section-header .fas { color:var(--gl-600); }
.step-indicator .step { background:var(--gl-ink-100); color:var(--gl-ink-500); }
.step-indicator .step.active { background:var(--gl-grad); color:#fff; }
.btn-calculate, .btn-submit, .btn-send, .btn-order { background:var(--gl-grad) !important; border:0 !important;
  color:#fff !important; border-radius:var(--gl-r-pill) !important; box-shadow:var(--gl-sh-cta) !important; font-weight:600; }
.btn-calculate:hover, .btn-submit:hover { filter:brightness(1.06); color:#fff !important; }
.text-success { color:var(--gl-mint-600) !important; }
.text-primary { color:var(--gl-600) !important; }
.bg-primary { background:var(--gl-grad) !important; }
.badge.bg-danger { background:var(--gl-grad) !important; }
.display-5, .display-4 { font-weight:750; letter-spacing:-.035em; color:var(--gl-ink-900); }
.lead { color:var(--gl-ink-500); }

/* варианты товара (цвет, память, SIM) — перебиваем старые тёмные плашки */
.color-assoc-product .url-color a, .memory-assoc-product .url-memory a,
.color-assoc-product .url-memory a, .memory-assoc-product .url-color a {
  font-size:14px; padding:0 16px; height:42px; min-width:76px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--gl-line); border-radius:var(--gl-r-sm); background:#fff; color:var(--gl-ink-700); font-weight:550; }
.color-assoc-product .url-color .active, .memory-assoc-product .url-memory .active,
.color-assoc-product .url-memory .active, .memory-assoc-product .url-color .active,
.color-assoc-product .url-color a.active, .memory-assoc-product .url-memory a.active {
  background:var(--gl-50) !important; border-color:var(--gl-500) !important; color:var(--gl-700) !important;
  box-shadow:0 0 0 3px rgba(86,191,223,.16) !important; }
.color-assoc-product .url-color a:hover, .memory-assoc-product .url-memory a:hover {
  border-color:var(--gl-300); color:var(--gl-700); transform:translateY(-2px); box-shadow:var(--gl-sh-sm); }
.url-memory { list-style:none; }

/* пустая корзина — сбрасываем старую раскладку */
.ibz-empty-cart, .ibz-empty-container { display:block !important; background:transparent !important; box-shadow:none !important;
  border:0 !important; padding:0 !important; margin:0 auto !important; max-width:560px !important; text-align:center !important; }
.ibz-empty-cart .i { width:84px; height:84px; margin:0 auto 18px; border-radius:50%; display:grid; place-items:center;
  background:var(--gl-50); color:var(--gl-500); }
.ibz-empty-cart .ibz-empty-icon { display:none !important; }
.ibz-empty-title { font-size:26px !important; color:var(--gl-ink-900) !important; margin:0 0 8px !important; }
.ibz-empty-text { color:var(--gl-ink-500) !important; font-size:16px !important; margin:0 0 22px !important; }
.ibz-empty-actions { display:flex !important; gap:10px; justify-content:center; flex-wrap:wrap; }
.ibz-empty-btn { background:var(--gl-grad) !important; color:#fff !important; border:0 !important;
  border-radius:var(--gl-r-pill) !important; box-shadow:var(--gl-sh-cta) !important; }
.ibz-empty-features { display:flex !important; gap:18px; justify-content:center; flex-wrap:wrap; margin-top:26px !important;
  color:var(--gl-ink-500) !important; font-size:13.5px !important; }
.ibz-feature-item { display:inline-flex !important; align-items:center; gap:7px; }
.gl-empty { padding:48px 20px !important; }

/* главные кнопки на старых страницах */
.btn-dark, .btn-dark:focus { background:var(--gl-grad) !important; border-color:transparent !important; color:#fff !important;
  border-radius:var(--gl-r-pill) !important; box-shadow:var(--gl-sh-cta) !important; font-weight:600; }
.btn-dark:hover { filter:brightness(1.06); color:#fff !important; }
.btn-lg { height:54px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.btn-outline-light { border-radius:var(--gl-r-pill) !important; }
.gl-sum-total .gl-small { white-space:nowrap; }

/* ---------- страницы заказа (подтверждение и просмотр) ---------- */
.ibz-order-confirm, .ibz-order-container { max-width:var(--gl-maxw); margin:0 auto; padding:24px; }
.ibz-order-card, .ibz-order-confirm > div { border-radius:var(--gl-r-xl); }
.ibz-confirm-header { text-align:center; padding:28px 20px 6px; }
.ibz-confirm-icon { width:74px; height:74px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center;
  background:var(--gl-grad-mint); color:#fff; font-size:30px; box-shadow:0 16px 30px -14px rgba(13,148,136,.6); }
.ibz-confirm-title { font-size:26px; color:var(--gl-ink-900); }
.ibz-confirm-body { max-width:760px; margin:0 auto; }
.ibz-order-summary, .ibz-order-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0; }
.ibz-summary-item, .ibz-order-info-item { display:flex; gap:12px; align-items:center; padding:16px 18px;
  border:1px solid var(--gl-line); border-radius:var(--gl-r-md); background:#fff; }
.ibz-summary-item i, .ibz-order-info-item i { color:var(--gl-600); }
.ibz-item-name, .ibz-order-info-label { display:block; font-size:12.5px; color:var(--gl-ink-500); }
.ibz-item-data, .ibz-order-info-value { display:block; font-size:15.5px; font-weight:650; color:var(--gl-ink-900); }
.ibz-email-notice, .ibz-manager-alert { border:1px solid var(--gl-line); border-left:3px solid var(--gl-500);
  border-radius:var(--gl-r-md); background:var(--gl-50); padding:16px 20px; color:var(--gl-ink-700); font-size:14.5px; margin:16px 0; }
.ibz-spam-alert { color:var(--gl-amber-700); font-weight:650; }
.ibz-confirm-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:22px 0 10px; }
.ibz-main-btn { display:inline-flex; align-items:center; gap:9px; height:50px; padding:0 24px; border-radius:var(--gl-r-pill);
  background:var(--gl-grad); color:#fff !important; font-weight:600; box-shadow:var(--gl-sh-cta); }
.ibz-main-btn:hover { filter:brightness(1.06); }
.ibz-order-date, .ibz-order-header-info { color:var(--gl-ink-500); }
@media (max-width:720px) { .ibz-order-summary, .ibz-order-info-grid { grid-template-columns:1fr; } }

@media (max-width:720px) {
  .gl-cart-usp { grid-template-columns:1fr; }
  .gl-ci-right { align-items:center; }
  .gl-ci-right .gl-ci-price { order:1; }
  .gl-ci-right .gl-qty { order:2; }
  .gl-ci-right .ibz-cart-price-single { order:3; width:100%; }
  .gl-ci-acts { order:4; }
}

/* =============================================================
   ЖИВОЙ ПОИСК В ШАПКЕ (вместо модального окна)
   ============================================================= */
.gl-search-wrap { position:relative; flex:1; min-width:120px; }
.gl-search { display:flex; align-items:center; gap:10px; height:46px; padding:0 16px; width:100%;
  border-radius:var(--gl-r-pill); background:var(--gl-ink-50); border:1px solid transparent; color:var(--gl-ink-400);
  cursor:text; transition:border-color .25s, background .25s, box-shadow .25s; }
.gl-search-wrap.is-open .gl-search, .gl-search:focus-within {
  background:#fff; border-color:var(--gl-300); box-shadow:0 0 0 4px rgba(86,191,223,.16); }
.gl-search-input { flex:1; min-width:0; border:0; background:transparent; font-size:14.5px; color:var(--gl-ink-900); outline:none; }
.gl-search-input::placeholder { color:var(--gl-ink-400); }
.gl-search-input::-webkit-search-cancel-button { display:none; }
.gl-search-clear { width:26px; height:26px; border:0; border-radius:50%; background:var(--gl-ink-100);
  color:var(--gl-ink-500); display:grid; place-items:center; cursor:pointer; flex:none; }
.gl-search-clear:hover { background:var(--gl-100); color:var(--gl-700); }

.gl-suggest { position:absolute; top:calc(100% + 10px); left:0; right:0; z-index:1045;
  background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); box-shadow:var(--gl-sh-lg);
  padding:8px; max-height:min(70vh,520px); overflow:auto; animation:glRise .22s var(--gl-ease-out) both; }
.gl-suggest-head { font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gl-ink-400);
  padding:8px 12px 6px; }
.gl-suggest-item { display:grid; grid-template-columns:48px 1fr auto; gap:12px; align-items:center;
  padding:9px 12px; border-radius:var(--gl-r-md); color:var(--gl-ink-800); transition:background .18s; }
.gl-suggest-item:hover, .gl-suggest-item.is-active { background:var(--gl-50); }
.gl-suggest-item img, .gl-suggest-noimg { width:48px; height:48px; object-fit:contain; border-radius:10px;
  background:radial-gradient(70% 62% at 50% 25%, #fff, var(--gl-50) 78%); }
.gl-suggest-name { font-size:14px; line-height:1.35; }
.gl-suggest-name mark { background:rgba(86,191,223,.28); color:inherit; border-radius:4px; padding:0 2px; }
.gl-suggest-price { font-size:14.5px; font-weight:700; color:var(--gl-ink-900); white-space:nowrap; font-variant-numeric:tabular-nums; }
.gl-suggest-chips { display:flex; flex-wrap:wrap; gap:8px; padding:4px 12px 10px; }
.gl-suggest-chip { height:34px; padding:0 14px; border-radius:var(--gl-r-pill); border:1px solid var(--gl-line);
  background:#fff; font-size:13.5px; color:var(--gl-ink-600); cursor:pointer; transition:.2s; }
.gl-suggest-chip:hover { border-color:var(--gl-300); color:var(--gl-700); background:var(--gl-50); }
.gl-suggest-all { display:block; text-align:center; padding:11px; margin-top:4px; border-top:1px solid var(--gl-line-soft);
  font-size:13.5px; font-weight:550; color:var(--gl-600); }
.gl-suggest-all:hover { color:var(--gl-700); }
.gl-suggest-state { padding:20px 14px; text-align:center; font-size:14px; color:var(--gl-ink-500); line-height:1.6; }
.gl-suggest-state a { color:var(--gl-600); font-weight:600; }
.gl-suggest-more { padding:10px 12px; font-size:12.5px; color:var(--gl-ink-400); text-align:center; }
.gl-suggest-spin { display:inline-block; width:15px; height:15px; border-radius:50%; vertical-align:-2px;
  border:2px solid var(--gl-200); border-top-color:var(--gl-500); animation:glSpin .8s linear infinite; }

/* cookie-баннер показывается только по команде cookies.js */
.ibz-cookie-banner { opacity:0; visibility:hidden; transform:translateY(16px); transition:opacity .35s, transform .35s, visibility .35s; }
.ibz-cookie-banner.show { opacity:1; visibility:visible; transform:none; }
.ibz-cookie-banner.hide { opacity:0; visibility:hidden; transform:translateY(16px); }

/* =============================================================
   ФИЛЬТР КАТАЛОГА
   ============================================================= */
.gl-catalog-layout { display:grid; grid-template-columns:274px minmax(0,1fr); gap:24px; align-items:start; }
.gl-filters-col { position:sticky; top:96px; }
.gl-filters { display:grid; gap:12px; }
.gl-filter { border:1px solid var(--gl-line); border-radius:var(--gl-r-md); background:#fff; padding:16px 18px; }
.gl-filter h4 { font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gl-ink-400); margin:0 0 12px; }
.gl-filter-row { display:flex; align-items:center; gap:10px; padding:7px 0; font-size:14px; color:var(--gl-ink-700); }
.gl-filter-row:hover { color:var(--gl-700); }
.gl-filter-row.is-on { color:var(--gl-700); font-weight:550; }
.gl-filter-row .n { margin-left:auto; font-size:12.5px; color:var(--gl-ink-400); }
.gl-filter-chips { display:flex; flex-wrap:wrap; gap:7px; }
.gl-filter-chip { display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 13px; border-radius:var(--gl-r-pill);
  border:1px solid var(--gl-line); background:#fff; font-size:13px; color:var(--gl-ink-600); transition:.2s; }
.gl-filter-chip i { font-style:normal; font-size:11.5px; color:var(--gl-ink-400); }
.gl-filter-chip:hover { border-color:var(--gl-300); color:var(--gl-700); }
.gl-filter-chip.is-on { background:var(--gl-50); border-color:var(--gl-500); color:var(--gl-700); box-shadow:0 0 0 3px rgba(86,191,223,.14); }
.gl-filter-chip.is-on i { color:var(--gl-600); }
.gl-price-inputs { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gl-price-inputs label { display:flex; align-items:center; gap:8px; height:44px; padding:0 12px; border:1px solid var(--gl-line);
  border-radius:var(--gl-r-sm); background:var(--gl-paper-2); }
.gl-price-inputs label:focus-within { background:#fff; border-color:var(--gl-400); box-shadow:0 0 0 4px rgba(86,191,223,.16); }
.gl-price-inputs span { font-size:12.5px; color:var(--gl-ink-400); }
.gl-price-inputs input { width:100%; min-width:0; border:0; background:transparent; outline:none; font-size:14.5px;
  color:var(--gl-ink-900); font-variant-numeric:tabular-nums; -moz-appearance:textfield; }
.gl-price-inputs input::-webkit-outer-spin-button, .gl-price-inputs input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

.gl-sortbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.gl-chips-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gl-sortbar-right { display:flex; align-items:center; gap:12px; margin-left:auto; }
.gl-chip-x { display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px; border-radius:var(--gl-r-pill);
  background:var(--gl-50); border:1px solid rgba(27,124,161,.22); color:var(--gl-700); font-size:13px; font-weight:550; transition:.2s; }
.gl-chip-x:hover { background:var(--gl-100); color:var(--gl-800); }
.gl-filters-toggle { display:none; }
.gl-pagination-wrap { margin-top:10px; }

@media (max-width:1080px) {
  .gl-catalog-layout { grid-template-columns:1fr; }
  .gl-filters-col { position:fixed; inset:0 0 0 auto; width:min(360px,92vw); z-index:1065; background:#fff;
    box-shadow:var(--gl-sh-lg); padding:18px; overflow:auto; transform:translateX(102%); transition:transform .35s var(--gl-ease-out); }
  .gl-filters-col.is-open { transform:none; }
  .gl-filters-col::before { content:"Фильтры"; display:block; font-size:18px; font-weight:650; color:var(--gl-ink-900); margin-bottom:14px; }
  .gl-filters-toggle { display:inline-flex; }
}

/* ---------- мелкие правки вёрстки на второстепенных страницах ---------- */
/* сетки из 4 карточек не должны ломаться на «3 + 1» */
.benefits-grid { grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)) !important; }
.advantages-grid, .features-grid, .services-grid { grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important; }
.benefit-item, .advantage-item, .feature-item, .service-item { min-width:0; }
/* круглые иконки — в ледниковой гамме, а не чёрные */
.benefit-icon, .advantage-icon, .feature-icon, .service-icon, .step-icon, .info-icon {
  background:var(--gl-50) !important; color:var(--gl-600) !important; border:1px solid rgba(27,124,161,.16) !important; }
.benefit-icon i, .advantage-icon i, .feature-icon i, .service-icon i { color:var(--gl-600) !important; }
/* длинные слова и цены не должны вылезать из карточек */
.benefit-item h4, .advantage-item h4, .service-item h4, .price-item, .info-value, .total-price { overflow-wrap:anywhere; }
/* выравниваем заголовки секций старых страниц */
.section-header { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.section-header h4, .section-header h5 { margin:0; }
/* контейнеры старых страниц не шире общей сетки */
.trade-in-section .container, .repair-section .container, .promo-section .container,
.partners-section .container, .payment-container, .apple-pay-container {
  max-width:var(--gl-maxw); }

/* ---------- читаемость и попадание пальцем ---------- */
.gl-legal { max-width:920px; }
.gl-faq p, .gl-service p, .gl-why-card p { max-width:900px; }
.gl-footer ul a { display:inline-block; padding:4px 0; }
.gl-footer ul li { line-height:1.4; }
.gl-subcats { padding-top:8px; }
.gl-subcats .ibz-shop-cat-scroll-wrapper { overflow:visible; }
.gl-subcats .ibz-shop-cat-scroll-area { max-width:100%; }
@media (max-width:720px) {
  .gl-subcats .ibz-shop-cat-scroll-wrapper { overflow:hidden; }
}
.apple-pay-container p, .apple-pay-container li, .promo-card p { max-width:900px; }
@media (max-width:900px) {
  .gl-footer ul a { padding:8px 0; }
  .gl-footer-bottom a { display:inline-block; padding:6px 0; }
  .ibz-phone-number { display:inline-block; padding:6px 0; }
}
/* длинные абзацы на сторонних страницах — в читаемую ширину,
   но выравнивание по центру не ломаем */
.gl-main p, .gl-main li { max-width:920px; }
.gl-main .text-center p, .gl-main p.text-center, .gl-main p.lead, .gl-main .lead,
.gl-main .gl-hero p, .gl-main .gl-banner p, .gl-main .gl-card p,
.gl-main td p, .gl-main th p, .gl-main .gl-head p, .gl-main [class*="hero"] p { max-width:none; }
.gl-main .text-center p { margin-left:auto; margin-right:auto; }
.gl-legal { max-width:920px; }

/* =============================================================
   УВЕДОМЛЕНИЯ И ИЗБРАННОЕ
   ============================================================= */
.gl-toasts { position:fixed; right:18px; bottom:18px; z-index:1090; display:flex; flex-direction:column;
  gap:10px; align-items:flex-end; pointer-events:none; max-width:min(420px, calc(100vw - 32px)); }
.gl-toast { pointer-events:auto; display:grid; grid-template-columns:38px 1fr 24px; gap:12px; align-items:start;
  background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); box-shadow:var(--gl-sh-lg);
  padding:14px 16px; min-width:280px; opacity:0; transform:translateY(14px) scale(.98);
  transition:opacity .3s var(--gl-ease-out), transform .3s var(--gl-ease-out); }
.gl-toast.is-in { opacity:1; transform:none; }
.gl-toast-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center;
  background:var(--gl-50); color:var(--gl-600); }
.gl-toast-icon svg { width:19px; height:19px; }
.gl-toast-cart .gl-toast-icon { background:var(--gl-mint-50); color:var(--gl-mint-600); }
.gl-toast-heart .gl-toast-icon { background:#fff1f4; color:#e11d48; }
.gl-toast-check .gl-toast-icon { background:var(--gl-mint-50); color:var(--gl-mint-600); }
.gl-toast-error .gl-toast-icon { background:var(--gl-rose-50); color:var(--gl-rose-600); }
.gl-toast-body { display:flex; flex-direction:column; gap:3px; min-width:0; }
.gl-toast-body b { font-size:14.5px; color:var(--gl-ink-900); font-weight:650; }
.gl-toast-body span { font-size:13px; color:var(--gl-ink-500); overflow-wrap:anywhere; }
.gl-toast-body a { font-size:13.5px; font-weight:600; color:var(--gl-600); margin-top:4px; }
.gl-toast-body a:hover { color:var(--gl-700); }
.gl-toast-close { width:24px; height:24px; border:0; background:none; color:var(--gl-ink-300); font-size:20px;
  line-height:1; cursor:pointer; padding:0; }
.gl-toast-close:hover { color:var(--gl-ink-600); }
@media (max-width:720px) {
  .gl-toasts { left:12px; right:12px; bottom:calc(80px + env(safe-area-inset-bottom)); max-width:none; align-items:stretch; }
  .gl-toast { min-width:0; }
}

/* сердечко на карточке */
.gl-card-media .gl-card-link { position:absolute; inset:0; display:grid; place-items:center; }
.gl-card-media .gl-card-link img { max-width:78%; max-height:78%; width:auto; height:auto; object-fit:contain; }
.gl-fav { position:absolute; top:8px; right:8px; width:38px; height:38px; border-radius:50%; display:grid;
  place-items:center; border:1px solid var(--gl-line); background:rgba(255,255,255,.92); color:var(--gl-ink-400);
  cursor:pointer; z-index:3; transition:color .25s, border-color .25s, transform .25s var(--gl-ease-out), background .25s; }
.gl-fav:hover { color:#e11d48; border-color:rgba(225,29,72,.3); transform:scale(1.08); }
.gl-fav.is-on { color:#e11d48; border-color:rgba(225,29,72,.35); background:#fff1f4; }
.gl-fav.is-on svg { fill:currentColor; }
.gl-fav.is-busy { opacity:.6; pointer-events:none; }
.gl-fav.is-pop { animation:glFavPop .42s var(--gl-ease-out); }
@keyframes glFavPop { 0% { transform:scale(1); } 45% { transform:scale(1.28); } 100% { transform:scale(1); } }
.gl-fav-lg { position:static; width:56px; height:56px; border-radius:var(--gl-r-pill); background:#fff; flex:none; }
.gl-fav-lg:hover { transform:translateY(-2px); }
.gl-count-fav { background:linear-gradient(135deg,#e11d48,#fb7185) !important; box-shadow:0 4px 10px -3px rgba(225,29,72,.55) !important; }
.gl-count-fav.is-empty { display:none; }
.gl-tabbar a .gl-count-fav { right:18%; }
.gl-hidden { display:none !important; }

/* cookie-баннер не должен перекрывать меню, фильтры и нижнюю панель */
.ibz-cookie-banner { z-index:1035; }
.gl-drawer { z-index:1080; }
.gl-backdrop { z-index:1075; }
/* На компьютере колонка фильтров липкая и не должна создавать слой выше меню каталога,
   поэтому свой z-index она получает только на телефоне, где выезжает панелью. */
@media (max-width:1080px) { .gl-filters-col { z-index:1078; } }
body.gl-no-scroll .ibz-cookie-banner { opacity:0 !important; visibility:hidden !important; }
@media (max-width:900px) {
  .ibz-cookie-banner { left:10px; right:10px; bottom:calc(84px + env(safe-area-inset-bottom)); }
  .ibz-cookie-container { padding:14px; gap:12px; }
  .ibz-cookie-actions { width:100%; }
  .ibz-cookie-btn { flex:1; font-size:13.5px; padding:0 12px; }
}

/* старая/новая цена в корзине и карточках — в спокойной гамме */
.ibz-cart-price-single .old-price, .gl-card-price .old-price, .gl-price-big .old-price {
  color:var(--gl-ink-400) !important; text-decoration:line-through; font-weight:500; }
.ibz-cart-price-single .new-price, .gl-card-price .new-price, .gl-price-big .new-price { color:var(--gl-600) !important; }
.ibz-cart-price-single { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }


/* ---------- телефон: поля не должны заставлять Safari приближать страницу ----------
   iOS увеличивает страницу, если у поля размер шрифта меньше 16px. */
@media (max-width: 900px) {
  input[type="text"], input[type="tel"], input[type="email"], input[type="search"],
  input[type="number"], input[type="password"], input[type="url"], input:not([type]),
  select, textarea, .form-control, .gl-search-input {
    font-size: 16px;
  }
  .gl-search-input::placeholder { font-size: 15px; }
}


/* заметка «платим только при встрече» в оформлении заказа */
.gl-note-ink { display:flex; gap:12px; align-items:flex-start; margin:16px 0 0; background:var(--gl-mint-50);
  border-color:rgba(13,148,136,.2); border-left-color:var(--gl-mint-600); color:var(--gl-ink-800); }
.gl-note-ink .gl-ico { flex:none; color:var(--gl-mint-600); margin-top:2px; }
.gl-note-ink b { color:var(--gl-ink-900); }

/* ======================= СТРАНИЦА ЗАКАЗА ======================= */
.gl-order-top { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.gl-order-status-box { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gl-order-badge-lg { height:38px; padding:0 18px; font-size:14.5px; font-weight:650; }
.gl-order-view { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr); gap:20px; align-items:start; }
.gl-order-left { display:flex; flex-direction:column; gap:20px; min-width:0; }
.gl-order-right { display:flex; flex-direction:column; gap:20px; position:sticky; top:96px; }

/* лента статусов */
.gl-timeline { list-style:none; margin:4px 0 0; padding:0 0 0 6px; }
.gl-timeline li { position:relative; padding:0 0 22px 30px; }
.gl-timeline li:last-child { padding-bottom:0; }
.gl-timeline li::before { content:""; position:absolute; left:8px; top:18px; bottom:-4px; width:2px; background:var(--gl-line); }
.gl-timeline li:last-child::before { display:none; }
.gl-timeline .d { position:absolute; left:2px; top:5px; width:15px; height:15px; border-radius:50%;
  background:#fff; border:2px solid var(--gl-line); }
.gl-timeline li.is-done .d { background:var(--gl-mint-500); border-color:var(--gl-mint-500); }
.gl-timeline li.is-done::before { background:var(--gl-mint-500); opacity:.35; }
.gl-timeline li.is-now .d { background:var(--gl-500); border-color:var(--gl-500);
  box-shadow:0 0 0 5px rgba(42,156,196,.18); animation:glPulse 2.6s var(--gl-ease) infinite; }
.gl-timeline li.is-cancel .d { background:#e11d48; border-color:#e11d48; box-shadow:0 0 0 5px rgba(225,29,72,.16); }
.gl-timeline li b { display:block; font-size:15.5px; color:var(--gl-ink-900); }
.gl-timeline li time { display:block; font-size:13px; color:var(--gl-600); font-weight:600; margin-top:2px; }
.gl-timeline li i { display:block; font-style:normal; font-size:13.5px; color:var(--gl-ink-500); margin-top:4px; }
.gl-timeline li.is-next b, .gl-timeline li.is-next i { color:var(--gl-ink-400); }

/* товары в заказе */
.gl-order-products { display:flex; flex-direction:column; gap:12px; margin-top:4px; }
.gl-order-item { display:grid; grid-template-columns:78px minmax(0,1fr) auto; gap:14px; align-items:center;
  border:1px solid var(--gl-line-soft); border-radius:var(--gl-r-md); padding:12px; background:#fff; }
.gl-order-item-img { width:78px; height:78px; border-radius:14px; background:var(--gl-grad-ice);
  display:grid; place-items:center; overflow:hidden; }
.gl-order-item-img img { max-width:86%; max-height:86%; object-fit:contain; }
.gl-order-item-name { display:block; font-weight:600; color:var(--gl-ink-900); line-height:1.35; }
.gl-order-item-name:hover { color:var(--gl-600); }
.gl-order-item-specs { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:6px; }
.gl-order-item-specs span { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--gl-ink-500); }
.gl-order-item-price { text-align:right; white-space:nowrap; }
.gl-order-item-qty { display:block; font-size:12.5px; color:var(--gl-ink-400); }
.gl-order-item-single { display:block; font-size:12.5px; color:var(--gl-ink-500); margin:2px 0 3px; }
.gl-order-item-price b { font-size:17px; color:var(--gl-ink-900); }

/* факты справа */
.gl-order-facts { display:flex; flex-direction:column; gap:14px; margin-top:4px; }
.gl-order-facts > div { display:flex; flex-direction:column; gap:2px; }
.gl-order-facts span { font-size:12.5px; color:var(--gl-ink-400); text-transform:uppercase; letter-spacing:.4px; }
.gl-order-facts b { font-size:15px; color:var(--gl-ink-900); }
.gl-order-facts i { font-style:normal; font-size:13px; color:var(--gl-ink-500); }

@media (max-width: 1080px) {
  .gl-order-view { grid-template-columns:1fr; }
  .gl-order-right { position:static; }
}
@media (max-width: 560px) {
  .gl-order-item { grid-template-columns:62px minmax(0,1fr); }
  .gl-order-item-img { width:62px; height:62px; }
  .gl-order-item-price { grid-column:1 / -1; text-align:left; display:flex; align-items:baseline; gap:10px; }
  .gl-order-item-single { margin:0; }
}

/* на узких экранах плашка наличия не должна залезать под сердечко */
.gl-card-tags { max-width: calc(100% - 58px); }
@media (max-width: 560px) {
  .gl-card-tags { top: 8px; left: 8px; max-width: calc(100% - 52px); }
  .gl-card-tags .gl-badge { height: 24px; padding: 0 9px; font-size: 11.5px; }
  .gl-card-tags .gl-badge-dot::before { width: 6px; height: 6px; }
  .gl-fav { top: 6px; right: 6px; width: 34px; height: 34px; }
  .gl-fav .gl-ico-sm { width: 16px; height: 16px; }
}

/* ======================= РЕМОНТ: ПРАЙС ======================= */
.gl-rep-top { background:
  radial-gradient(900px 320px at 12% -10%, rgba(86,191,223,.18), transparent 60%),
  radial-gradient(700px 300px at 88% 0%, rgba(13,148,136,.13), transparent 62%); }
.gl-rep-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:30px; align-items:center; }
.gl-rep-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.gl-rep-facts > div { background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); padding:18px;
  box-shadow:0 18px 40px -34px rgba(14,46,61,.6); }
.gl-rep-facts .i { display:grid; place-items:center; width:38px; height:38px; border-radius:12px;
  background:var(--gl-50); color:var(--gl-600); margin-bottom:10px; }
.gl-rep-facts b { display:block; font-size:19px; color:var(--gl-ink-900); }
.gl-rep-facts span:not(.i) { display:block; font-size:13px; color:var(--gl-ink-500); margin-top:4px; line-height:1.45; }

/* марки */
.gl-rep-block { padding:22px; }
.gl-rep-brands { display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); gap:8px; margin-bottom:16px; }
.gl-rep-brand { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:12px 14px; cursor:pointer;
  border:1px solid var(--gl-line); border-radius:14px; background:#fff; transition:border-color .2s, background .2s, transform .2s, box-shadow .2s; }
.gl-rep-brand .l { font-size:15px; font-weight:650; color:var(--gl-ink-800); }
.gl-rep-brand .n { font-size:11.5px; color:var(--gl-ink-400); }
.gl-rep-brand:hover { border-color:var(--gl-300); transform:translateY(-2px); box-shadow:var(--gl-sh-sm); }
.gl-rep-brand.is-on { background:var(--gl-grad); border-color:transparent; box-shadow:var(--gl-sh-cta); }
.gl-rep-brand.is-on .l { color:#fff; }
.gl-rep-brand.is-on .n { color:rgba(255,255,255,.7); }

.gl-rep-search { display:flex; align-items:center; gap:10px; height:50px; padding:0 18px; border-radius:var(--gl-r-pill);
  background:var(--gl-ink-50); border:1px solid transparent; color:var(--gl-ink-400); margin-bottom:16px;
  transition:background .2s, border-color .2s, box-shadow .2s; }
.gl-rep-search:focus-within { background:#fff; border-color:var(--gl-300); box-shadow:0 0 0 4px rgba(86,191,223,.14); }
.gl-rep-search input { flex:1; min-width:0; border:0; background:transparent; outline:none; font-size:15px; color:var(--gl-ink-900); }

.gl-rep-line { display:flex; align-items:center; gap:10px; margin:16px 2px 8px; }
.gl-rep-line span { font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--gl-ink-400); }
.gl-rep-line::after { content:""; flex:1; height:1px; background:var(--gl-line-soft); }
.gl-rep-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:8px; }
.gl-rep-item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:13px 15px;
  border:1px solid var(--gl-line); border-radius:13px; background:#fff; font-size:14.5px; color:var(--gl-ink-800);
  transition:border-color .2s, color .2s, transform .2s, box-shadow .2s; }
.gl-rep-item .gl-ico { color:var(--gl-ink-300); transition:transform .2s, color .2s; }
.gl-rep-item:hover { border-color:var(--gl-400); color:var(--gl-700); transform:translateY(-2px); box-shadow:var(--gl-sh-sm); }
.gl-rep-item:hover .gl-ico { color:var(--gl-500); transform:translateX(3px); }
.gl-rep-item.is-on { border-color:var(--gl-500); background:var(--gl-50); color:var(--gl-700); font-weight:600; }
.gl-rep-empty { margin:14px 2px 0; font-size:14.5px; color:var(--gl-ink-500); }
.gl-rep-empty a { color:var(--gl-600); font-weight:600; }
.gl-rep-item small { margin-left:auto; font-size:11.5px; color:var(--gl-ink-400); font-weight:500; }
.gl-rep-item.is-on small { color:var(--gl-600); }

/* категории: телефоны / планшеты / приставки / ноутбуки / компьютеры */
.gl-rep-cats { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.gl-rep-cat { display:inline-flex; align-items:center; gap:8px; padding:10px 16px 10px 13px; cursor:pointer;
  border:1px solid var(--gl-line); border-radius:var(--gl-r-pill); background:#fff; font-size:14.5px; font-weight:600;
  color:var(--gl-ink-700); transition:border-color .2s, background .2s, color .2s, box-shadow .2s; }
.gl-rep-cat .gl-ico { color:var(--gl-ink-400); }
.gl-rep-cat small { font-size:12px; font-weight:600; color:var(--gl-ink-400); padding:2px 7px; border-radius:var(--gl-r-pill); background:var(--gl-ink-50); }
.gl-rep-cat:hover { border-color:var(--gl-300); box-shadow:var(--gl-sh-sm); }
.gl-rep-cat.is-on { background:var(--gl-ink-900); border-color:var(--gl-ink-900); color:#fff; }
.gl-rep-cat.is-on .gl-ico { color:#fff; }
.gl-rep-cat.is-on small { background:rgba(255,255,255,.16); color:#fff; }

/* выбранная модель */
.gl-rep-current { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  background:var(--gl-grad); color:#fff; border-radius:var(--gl-r-lg); padding:20px 24px; margin-bottom:16px;
  box-shadow:var(--gl-sh-cta); }
.gl-rep-current .gl-eyebrow { color:rgba(255,255,255,.7); }
.gl-rep-current b { display:block; font-size:24px; color:#fff; }
.gl-rep-current .gl-small { color:rgba(255,255,255,.72); }
.gl-rep-current .gl-btn { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); color:#fff; }
.gl-rep-current .gl-btn:hover { background:rgba(255,255,255,.24); color:#fff; }

/* карточки услуг */
.gl-rep-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:12px; }
.gl-rep-card { display:flex; flex-direction:column; justify-content:space-between; gap:14px; background:#fff;
  border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); padding:18px;
  transition:transform .3s var(--gl-ease-out), box-shadow .3s, border-color .3s; }
.gl-rep-card:hover { transform:translateY(-3px); box-shadow:var(--gl-sh-md); border-color:var(--gl-300); }
.gl-rep-card.is-free { background:linear-gradient(180deg, var(--gl-mint-50), #fff 60%); border-color:rgba(13,148,136,.22); }
.gl-rep-card-top { display:flex; gap:13px; align-items:flex-start; }
.gl-rep-card .i { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; flex:none;
  background:var(--gl-50); color:var(--gl-600); }
.gl-rep-card.is-free .i { background:#fff; color:var(--gl-mint-600); }
.gl-rep-card b { display:block; font-size:15.5px; line-height:1.35; color:var(--gl-ink-900); }
.gl-rep-card .note { display:block; font-size:12.5px; color:var(--gl-600); margin-top:4px; }
.gl-rep-card .t { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--gl-ink-400); margin-top:7px; }
.gl-rep-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-top:1px solid var(--gl-line-soft); padding-top:13px; }
.gl-rep-card .p { font-size:20px; font-weight:700; color:var(--gl-ink-900); white-space:nowrap; }
.gl-rep-card .p.is-free { color:var(--gl-mint-600); font-size:17px; }
.gl-rep-price { display:flex; flex-direction:column; gap:2px; min-width:0; }
.gl-rep-price .pw { font-size:12px; line-height:1.35; color:var(--gl-ink-400); }

/* список услуг: строка = услуга, одна итоговая цена */
.gl-rep-list { display:flex; flex-direction:column; gap:8px; }
.gl-rep-row { display:grid; grid-template-columns:minmax(0,1fr) 150px 170px 118px; gap:14px; align-items:center;
  background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-md); padding:12px 16px;
  transition:border-color .2s, box-shadow .2s; }
.gl-rep-row:hover { border-color:var(--gl-300); box-shadow:var(--gl-sh-sm); }
.gl-rep-row.is-free { background:linear-gradient(90deg, var(--gl-mint-50), #fff 55%); border-color:rgba(13,148,136,.22); }
.gl-rep-row-head { background:transparent; border:0; padding:0 16px 2px; font-size:11.5px; font-weight:700; letter-spacing:.7px;
  text-transform:uppercase; color:var(--gl-ink-400); }
.gl-rep-row-head:hover { box-shadow:none; }
.gl-rep-row-head span:nth-child(2) { text-align:right; }
.gl-rep-row .n { display:flex; align-items:center; gap:12px; min-width:0; }
.gl-rep-row .n .i { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; flex:none;
  background:var(--gl-50); color:var(--gl-600); }
.gl-rep-row.is-free .n .i { background:#fff; color:var(--gl-mint-600); }
.gl-rep-row .n b { display:block; font-size:15px; line-height:1.35; color:var(--gl-ink-900); }
.gl-rep-row .n .note { display:block; font-size:12.5px; line-height:1.4; color:var(--gl-600); margin-top:2px; }
.gl-rep-row .n .note.is-work { color:var(--gl-ink-500); }
.gl-rep-row .p { text-align:right; white-space:nowrap; }
.gl-rep-row .p .v { font-size:18px; font-weight:700; color:var(--gl-ink-900); }
.gl-rep-row .v.is-free { color:var(--gl-mint-600); }
.gl-rep-row .v.is-ask { font-size:14.5px; font-weight:600; color:var(--gl-ink-500); }
.gl-rep-row .t { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--gl-ink-400); white-space:nowrap; }
.gl-rep-row .a { text-align:right; }

/* популярные услуги */
.gl-rep-pop { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; margin-top:18px; }
.gl-rep-pop-item { display:flex; align-items:center; gap:12px; background:#fff;
  border:1px solid var(--gl-line); border-radius:var(--gl-r-md); padding:14px 16px; }
.gl-rep-pop-item .i { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; flex:none;
  background:var(--gl-50); color:var(--gl-600); }
.gl-rep-pop-item b { flex:1; min-width:0; font-size:14px; font-weight:550; color:var(--gl-ink-800); }
.gl-rep-pop-item .p { font-size:15px; font-weight:650; color:var(--gl-700); white-space:nowrap; }

/* шаги и форма */
.gl-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.gl-step { background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); padding:20px; }
.gl-step .n { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--gl-grad);
  color:#fff; font-weight:700; margin-bottom:12px; }
.gl-step b { display:block; font-size:16px; color:var(--gl-ink-900); margin-bottom:6px; }
.gl-step p { font-size:14px; color:var(--gl-ink-500); line-height:1.5; margin:0; }

.gl-rep-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:28px; align-items:start; }
.gl-rep-contacts { display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.gl-rep-contacts > div { display:flex; align-items:center; gap:12px; }
.gl-rep-contacts .gl-ico { color:var(--gl-600); flex:none; }
.gl-rep-contacts b { display:block; color:var(--gl-ink-900); }
.gl-rep-contacts span { font-size:13.5px; color:var(--gl-ink-500); }
.gl-link { color:var(--gl-600); font-weight:600; }

/* ---------------- окно записи ---------------- */
.gl-modal { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(14,46,61,.5); backdrop-filter:blur(3px); opacity:0; transition:opacity .24s; }
.gl-modal.is-open { opacity:1; }
.gl-modal[hidden] { display:none; }
.gl-modal-card { width:min(560px,100%); max-height:92vh; overflow:auto; background:#fff; border-radius:var(--gl-r-lg);
  box-shadow:var(--gl-sh-lg); padding:22px; transform:translateY(12px) scale(.98); transition:transform .28s var(--gl-ease-out); }
.gl-modal.is-open .gl-modal-card { transform:none; }
.gl-modal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.gl-modal-head b { font-size:19px; color:var(--gl-ink-900); }
.gl-modal-x { width:36px; height:36px; border-radius:50%; border:0; background:var(--gl-ink-50); color:var(--gl-ink-600);
  display:grid; place-items:center; cursor:pointer; transition:background .2s; }
.gl-modal-x:hover { background:var(--gl-line); }

.gl-book-sum { display:flex; align-items:center; gap:13px; background:var(--gl-grad-ice); border:1px solid var(--gl-line);
  border-radius:var(--gl-r-md); padding:14px 16px; margin-bottom:18px; }
.gl-book-sum .i { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; flex:none;
  background:#fff; color:var(--gl-600); }
.gl-book-sum b { display:block; font-size:15.5px; color:var(--gl-ink-900); line-height:1.3; }
.gl-book-sum span:not(.i):not(.p) { font-size:13px; color:var(--gl-ink-500); }
.gl-book-sum .p { margin-left:auto; font-size:18px; font-weight:700; color:var(--gl-700); white-space:nowrap; }

.gl-book-label { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:650; color:var(--gl-ink-600);
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.gl-book-label .gl-ico { color:var(--gl-500); }
.gl-book-days { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; margin-bottom:14px;
  scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.gl-book-day { flex:none; min-width:74px; padding:10px 12px; border-radius:14px; border:1px solid var(--gl-line);
  background:#fff; cursor:pointer; text-align:center; transition:border-color .2s, background .2s, color .2s; }
.gl-book-day .w { display:block; font-size:11.5px; color:var(--gl-ink-400); text-transform:lowercase; }
.gl-book-day .d { display:block; font-size:15px; font-weight:650; color:var(--gl-ink-900); margin-top:2px; }
.gl-book-day:hover { border-color:var(--gl-300); }
.gl-book-day.is-on { background:var(--gl-ink-900); border-color:var(--gl-ink-900); }
.gl-book-day.is-on .w { color:rgba(255,255,255,.65); }
.gl-book-day.is-on .d { color:#fff; }

.gl-book-times { display:grid; grid-template-columns:repeat(auto-fill,minmax(74px,1fr)); gap:7px; }
.gl-book-time { padding:10px 6px; border-radius:11px; border:1px solid var(--gl-line); background:#fff; cursor:pointer;
  font-size:14px; font-weight:550; color:var(--gl-ink-800); transition:border-color .2s, background .2s, color .2s; }
.gl-book-time:hover:not(:disabled) { border-color:var(--gl-400); color:var(--gl-700); }
.gl-book-time.is-on { background:var(--gl-grad); border-color:transparent; color:#fff; box-shadow:var(--gl-sh-cta); }
.gl-book-time.is-off, .gl-book-time:disabled { opacity:.38; cursor:not-allowed; text-decoration:line-through; }
.gl-book-hint { font-size:13px; color:var(--gl-ink-500); margin:12px 0 0; }

@media (max-width: 1080px) {
  .gl-rep-hero, .gl-rep-form-grid { grid-template-columns:1fr; }
  .gl-steps { grid-template-columns:repeat(2,1fr); }
  .gl-rep-row { grid-template-columns:minmax(0,1fr) 150px 118px; }
  .gl-rep-row .t, .gl-rep-row-head span:nth-child(3) { display:none; }
}
@media (max-width: 720px) {
  .gl-rep-block { padding:16px; }
  .gl-rep-cats { flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 14px; padding:0 16px 6px; scrollbar-width:none; }
  .gl-rep-cats::-webkit-scrollbar { display:none; }
  .gl-rep-cat { flex:none; padding:9px 13px 9px 11px; font-size:14px; }
  .gl-rep-brands { grid-template-columns:repeat(auto-fit,minmax(104px,1fr)); }
  .gl-rep-card-foot { align-items:flex-end; }
  .gl-rep-row-head { display:none; }
  .gl-rep-row { grid-template-columns:1fr auto; gap:10px 12px; padding:14px; }
  .gl-rep-row .n { grid-column:1 / -1; }
  .gl-rep-row .p { text-align:left; }
  .gl-rep-row .t { display:inline-flex; grid-column:2; justify-self:end; }
  .gl-rep-row .a { grid-column:1 / -1; }
  .gl-rep-row .a .gl-btn { width:100%; justify-content:center; }
  .gl-steps { grid-template-columns:1fr; }
  .gl-rep-grid { grid-template-columns:1fr; }
  .gl-rep-cards { grid-template-columns:1fr; }
  .gl-rep-current { padding:16px 18px; }
  .gl-rep-current b { font-size:20px; }
  .gl-modal { padding:0; align-items:flex-end; }
  .gl-modal-card { width:100%; max-height:94vh; border-radius:var(--gl-r-lg) var(--gl-r-lg) 0 0; padding:18px 16px 24px; }
  .gl-book-times { grid-template-columns:repeat(auto-fill,minmax(68px,1fr)); }
}

#repair-price, #repair-picker, #contacts { scroll-margin-top: 92px; }

/* ---------- оформление заказа: выбор вариантов и согласие ---------- */
/* кнопка «Перейти в корзину» в карточке товара: старые стили делали её синей
   с зелёным текстом — перекрашиваем целиком */
.btn-in-cart.cart-page,
.gl-buy-actions .btn-in-cart {
  background: var(--gl-grad-mint); border:0; color:#fff;
  box-shadow: 0 16px 32px -16px rgba(13,148,136,.75);
}
.btn-in-cart.cart-page:hover,
.gl-buy-actions .btn-in-cart:hover {
  background: var(--gl-grad-mint); border:0; color:#fff;
  box-shadow: 0 20px 36px -16px rgba(13,148,136,.85);
}
.btn-in-cart.cart-page .btn-text, .btn-in-cart.cart-page .btn-icon,
.gl-buy-actions .btn-in-cart .btn-text, .gl-buy-actions .btn-in-cart .btn-icon { color:#fff; }
.btn-add-to-cart.cart-page { background: var(--gl-grad); border:0; color:#fff; }

/* карточка варианта кликается целиком */
.gl-order .gl-opt-card { position:relative; user-select:none; }
.gl-order .gl-opt-card:active { transform:translateY(0); }

/* согласие с офертой — настоящая галочка, по умолчанию пустая */
.gl-agree { display:flex; align-items:flex-start; gap:11px; margin-top:16px; cursor:pointer;
  font-size:13.5px; color:var(--gl-ink-600); line-height:1.5; }
.gl-agree-input { position:absolute; opacity:0; width:0; height:0; }
.gl-agree .gl-check { margin-top:1px; transition:background .2s, border-color .2s, transform .2s; }
.gl-agree .gl-check .gl-ico { opacity:0; transform:scale(.7); transition:opacity .18s, transform .18s; }
.gl-agree-input:checked ~ .gl-check { background:var(--gl-grad); border-color:transparent; }
.gl-agree-input:checked ~ .gl-check .gl-ico { opacity:1; transform:none; }
.gl-agree-input:focus-visible ~ .gl-check { box-shadow:0 0 0 4px rgba(86,191,223,.25); }
.gl-agree:hover .gl-check { border-color:var(--gl-400); }
.gl-agree.is-error .gl-check { border-color:#e11d48; box-shadow:0 0 0 4px rgba(225,29,72,.16); }
.gl-agree a { color:var(--gl-600); text-decoration:underline; text-underline-offset:2px; }
.gl-agree-error { margin-top:8px; font-size:13px; color:#e11d48; }

/* =============================================================
   TRADE-IN: калькулятор по базе прайса
   ============================================================= */

/* старая вёрстка растягивала шапку на весь экран — гасим */
.gl-ti-hero { min-height:0; display:block; max-width:100%; overflow-x:hidden; }
.gl-ti-badges { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.gl-ti-facts { display:flex; gap:26px; flex-wrap:wrap; margin-top:22px; }
.gl-ti-fact { display:flex; flex-direction:column; gap:2px; }
.gl-ti-fact b { font-size:22px; font-weight:800; color:var(--gl-700); letter-spacing:-.02em; }
.gl-ti-fact span { font-size:13px; color:var(--gl-muted); }

.gl-ti-section { padding-top:22px; max-width:100%; overflow-x:hidden; }
.gl-ti-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; align-items:start; }
.gl-ti-grid .gl-block { margin-bottom:0; }
.gl-ti-grid > *, .gl-ti-other > *, .gl-ti-form { min-width:0; max-width:100%; }

.gl-ti-brands { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.gl-ti-brand {
  display:inline-flex; align-items:center; gap:7px; padding:9px 15px; border-radius:var(--gl-r-pill);
  border:1px solid var(--gl-line); background:#fff; color:var(--gl-ink-700); font-weight:650;
  cursor:pointer; transition:background .18s, border-color .18s, color .18s;
}
.gl-ti-brand i { font-style:normal; font-size:12px; color:var(--gl-muted); font-weight:600; }
.gl-ti-brand:hover { border-color:var(--gl-300); }
.gl-ti-brand.is-on { background:var(--gl-grad); border-color:transparent; color:#fff; }
.gl-ti-brand.is-on i { color:rgba(255,255,255,.8); }

.gl-ti-search { position:relative; display:block; margin-bottom:12px; }
.gl-ti-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--gl-muted); }
.gl-ti-search input {
  width:100%; height:46px; padding:0 14px 0 40px; border-radius:var(--gl-r-md);
  border:1px solid var(--gl-line); background:var(--gl-50); font-size:15px; color:var(--gl-ink-900);
}
.gl-ti-search input:focus { outline:none; border-color:var(--gl-400); background:#fff; }

.gl-ti-models { display:flex; flex-direction:column; gap:6px; max-height:360px; overflow-y:auto; overflow-x:hidden; padding-right:4px; }
.gl-ti-model {
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; max-width:100%;
  padding:11px 14px; border-radius:var(--gl-r-md); border:1px solid var(--gl-line);
  background:#fff; cursor:pointer; text-align:left; font-size:15px; color:var(--gl-ink-900);
  transition:border-color .18s, background .18s;
}
.gl-ti-model > span { min-width:0; overflow-wrap:anywhere; }
.gl-ti-model:hover { border-color:var(--gl-300); background:var(--gl-50); }
.gl-ti-model.is-on { border-color:var(--gl-500); background:var(--gl-50); font-weight:650; }
.gl-ti-model i { font-style:normal; font-size:13px; color:var(--gl-muted); white-space:nowrap; }
.gl-ti-model.is-on i { color:var(--gl-600); }

.gl-ti-empty { padding:18px 4px; color:var(--gl-muted); font-size:14px; }
.gl-ti-sub { font-size:13px; font-weight:700; color:var(--gl-muted); text-transform:uppercase;
  letter-spacing:.06em; margin:16px 0 9px; }
.gl-ti-sims { display:flex; gap:8px; flex-wrap:wrap; }
.gl-ti-sim {
  padding:9px 16px; border-radius:var(--gl-r-pill); border:1px solid var(--gl-line);
  background:#fff; font-weight:650; font-size:14px; color:var(--gl-ink-700); cursor:pointer;
  transition:background .18s, border-color .18s, color .18s;
}
.gl-ti-sim:hover { border-color:var(--gl-300); }
.gl-ti-sim.is-on { background:var(--gl-grad); border-color:transparent; color:#fff; }
.gl-ti-hint { display:block; margin-top:8px; line-height:1.5; }

.gl-ti-sim-wrap,
.gl-ti-mem-wrap {
  position:relative; margin-top:10px; padding:2px 12px 12px; border:1px solid transparent;
  border-radius:var(--gl-r-lg); transition:border-color .2s, background .2s, box-shadow .2s;
}
.gl-ti-choice-attention {
  animation:glTiChoiceAttention .72s ease-in-out 3;
}
.gl-ti-choice-attention::after {
  content:attr(data-ti-attention); position:absolute; z-index:2; top:8px; right:10px; padding:5px 9px;
  border-radius:var(--gl-r-pill); color:var(--gl-700); background:#fff; border:1px solid var(--gl-300);
  box-shadow:0 6px 18px rgba(34,113,137,.12); font-size:11px; font-weight:800; letter-spacing:.02em;
}
.gl-ti-answer { position:relative; }
@keyframes glTiChoiceAttention {
  0%,100% { border-color:rgba(86,191,223,.18); background:rgba(239,249,252,.35); box-shadow:0 0 0 0 rgba(86,191,223,0); }
  50% { border-color:var(--gl-400); background:linear-gradient(135deg,rgba(239,249,252,.96),rgba(226,247,244,.9)); box-shadow:0 0 0 7px rgba(86,191,223,.13),0 12px 28px rgba(34,113,137,.10); }
}

.gl-ti-mems { display:flex; gap:8px; flex-wrap:wrap; }
.gl-ti-mem {
  padding:9px 16px; border-radius:var(--gl-r-pill); border:1px solid var(--gl-line);
  background:#fff; font-weight:650; font-size:14px; color:var(--gl-ink-700); cursor:pointer;
  transition:background .18s, border-color .18s, color .18s;
}
.gl-ti-mem:hover { border-color:var(--gl-300); }
.gl-ti-mem.is-on { background:var(--gl-grad-mint); border-color:transparent; color:#fff; }

.gl-ti-placeholder { padding:38px 16px; }
.gl-ti-chosen { display:flex; align-items:center; gap:8px; padding:11px 14px; border-radius:var(--gl-r-md);
  background:var(--gl-50); color:var(--gl-700); margin-bottom:4px; }
.gl-ti-chosen b { min-width:0; font-size:15px; overflow-wrap:anywhere; }

.gl-ti-conds { display:flex; flex-direction:column; gap:8px; }
.gl-ti-cond {
  display:block; width:100%; text-align:left; padding:12px 14px; border-radius:var(--gl-r-md);
  border:1px solid var(--gl-line); background:#fff; cursor:pointer;
  transition:border-color .18s, background .18s;
}
.gl-ti-cond:hover { border-color:var(--gl-300); }
.gl-ti-cond.is-on { border-color:var(--gl-500); background:var(--gl-50); }
.gl-ti-cond-head { display:flex; align-items:center; gap:8px; min-width:0; }
.gl-ti-cond-head b { font-size:15px; color:var(--gl-ink-900); }
.gl-ti-cond-sum { margin-left:auto; font-weight:800; color:var(--gl-700); white-space:nowrap;
  font-variant-numeric:tabular-nums; }
.gl-ti-cond-text { display:block; margin-top:5px; font-size:13px; line-height:1.5; color:var(--gl-muted); }

.gl-ti-total { margin-top:16px; }
.gl-ti-total .v { font-size:26px; }
.gl-ti-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.gl-ti-actions .gl-btn { flex:1 1 200px; }
.gl-ti-note { margin-top:16px; }

.gl-ti-other {
  display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:24px;
  align-items:start; margin-top:22px; margin-bottom:0;
}
.gl-ti-form .gl-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gl-ti-form .gl-fld.full { grid-column:1 / -1; }
.gl-ti-buy-block { margin-top:14px; }
.gl-ti-buy-option {
  display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:1px solid var(--gl-line);
  border-radius:var(--gl-r-lg); background:linear-gradient(135deg,var(--gl-50),#fff); cursor:pointer;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.gl-ti-buy-option:hover { border-color:var(--gl-300); transform:translateY(-1px); }
.gl-ti-buy-option input { position:absolute; opacity:0; pointer-events:none; }
.gl-ti-buy-mark {
  flex:0 0 25px; width:25px; height:25px; display:grid; place-items:center; border:2px solid var(--gl-300);
  border-radius:8px; color:transparent; background:#fff; transition:background .18s,border-color .18s,color .18s,box-shadow .18s;
}
.gl-ti-buy-option input:focus-visible + .gl-ti-buy-mark { box-shadow:0 0 0 4px rgba(86,191,223,.22); }
.gl-ti-buy-option input:checked + .gl-ti-buy-mark { color:#fff; border-color:transparent; background:var(--gl-grad); }
.gl-ti-buy-option > span:last-child { display:flex; min-width:0; flex-direction:column; gap:3px; line-height:1.4; }
.gl-ti-buy-option b { color:var(--gl-ink-900); }
.gl-ti-buy-option small { color:var(--gl-muted); font-size:13px; }
.gl-ti-buy-bonus {
  display:flex; flex-direction:column; gap:3px; margin:10px 0 0; padding:12px 15px; border-radius:var(--gl-r-md);
  color:var(--gl-700); background:linear-gradient(135deg,rgba(86,191,223,.14),rgba(45,212,191,.14));
  border:1px solid rgba(86,191,223,.28); animation:glTiBonusIn .35s ease both;
}
.gl-ti-buy-bonus span { font-size:13px; color:var(--gl-muted); }
.gl-ti-buy-block > .gl-fld { display:block; margin-top:12px; }
@keyframes glTiBonusIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
.gl-ti-form-foot { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:14px; }
.gl-ti-form-msg { margin-top:12px; padding:11px 14px; border-radius:var(--gl-r-md);
  background:rgba(13,148,136,.10); color:var(--gl-mint-700, #0f766e); font-size:14px; }
.gl-ti-form-msg.is-error { background:rgba(220,38,38,.08); color:#dc2626; }

.gl-ti-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); }

@media (max-width:1080px) {
  .gl-ti-grid { grid-template-columns:1fr; }
  .gl-ti-other { grid-template-columns:1fr; }
  .gl-ti-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .gl-ti-hero .gl-wrap, .gl-ti-section .gl-wrap { width:100%; max-width:100%; padding-left:18px; padding-right:18px; }
  .gl-ti-facts { gap:18px; }
  .gl-ti-fact b { font-size:19px; }
  .gl-ti-form .gl-fields { grid-template-columns:1fr; }
  .gl-ti-tiles { grid-template-columns:1fr; }
  .gl-ti-models { max-height:300px; overscroll-behavior-inline:none; }
  .gl-ti-cond-head { flex-wrap:wrap; }
  .gl-ti-choice-attention::after { right:8px; max-width:calc(100% - 16px); white-space:normal; text-align:center; }
  .gl-ti-actions .gl-btn { flex:1 1 100%; }
}

@media (prefers-reduced-motion:reduce) {
  .gl-ti-choice-attention { animation:none; border-color:var(--gl-400); background:var(--gl-50); box-shadow:0 0 0 5px rgba(86,191,223,.12); }
  .gl-ti-buy-bonus { animation:none; }
}

/* кнопка в подвале была белым по белому: подвал перекрашивает все ссылки */
.gl-footer .gl-btn-soft { color:var(--gl-700); }
.gl-footer .gl-btn-soft:hover { color:var(--gl-900); }

/* ---- SEO-описание товара и текст категории (поле seo_text) ---- */
.gl-seo-section { padding-top:8px; padding-bottom:28px; }
.gl-seo-text { max-width:880px; color:var(--gl-ink-700); font-size:15.5px; line-height:1.65; }
.gl-seo-text h2 { font-size:clamp(20px,2vw,26px); line-height:1.25; letter-spacing:-.02em; color:var(--gl-ink-900); margin:0 0 14px; }
.gl-seo-text h3 { font-size:clamp(17px,1.5vw,20px); line-height:1.3; color:var(--gl-ink-900); margin:26px 0 10px; }
.gl-seo-text p { margin:0 0 12px; }
.gl-seo-text ul { margin:0 0 12px 20px; padding:0; }
.gl-seo-text a { color:var(--gl-600); font-weight:600; }
.gl-specs { width:100%; border-collapse:collapse; margin:0 0 6px; font-size:14.5px; background:#fff; border:1px solid var(--gl-line); border-radius:var(--gl-r-lg); overflow:hidden; }
.gl-specs th, .gl-specs td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--gl-line-soft); vertical-align:top; }
.gl-specs tr:last-child th, .gl-specs tr:last-child td { border-bottom:0; }
.gl-specs th { width:34%; font-weight:600; color:var(--gl-ink-500); background:var(--gl-ink-50); }
.gl-seo-faq { display:flex; flex-direction:column; gap:8px; margin:0 0 8px; }
.gl-seo-faq details { border:1px solid var(--gl-line); border-radius:var(--gl-r-md); background:#fff; padding:0 16px; }
.gl-seo-faq summary { cursor:pointer; padding:12px 0; font-weight:650; color:var(--gl-ink-900); list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gl-seo-faq summary::-webkit-details-marker { display:none; }
.gl-seo-faq summary::after { content:"+"; flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--gl-ink-50); color:var(--gl-600); font-weight:700; }
.gl-seo-faq details[open] summary::after { content:"–"; }
.gl-seo-faq details p { margin:0 0 14px; color:var(--gl-ink-600); }
@media (max-width:640px) {
  .gl-seo-text { font-size:15px; }
  .gl-specs th { width:42%; }
  .gl-specs th, .gl-specs td { padding:8px 10px; }
}
