/* ==========================================================================
   PRODUCT-EXTRAS.CSS — надстройка над theme.css для 8 товарных страниц
   (chatgpt-plus / claude-pro / gemini-pro / midjourney / perplexity /
   suno / opusclip / higgsfield).

   Все новые классы — с префиксом .px- (product extras), существующие
   классы/id theme.css не переопределяются и не переименовываются.
   Цвета берутся из брендовых переменных --card-grad/--card-tint/--card-deep,
   которые уже задаёт body.card--gpt / .card--claude / ... (theme.css) —
   поэтому этот файл работает одинаково на всех 8 страницах, а акцент
   получается сам собой брендовым для каждого сервиса.

   Подключать ПОСЛЕ theme.css.
   ========================================================================== */

/* ---------------------------------------------------------------------
   1. СОЦДОКАЗАТЕЛЬСТВО У ЦЕНЫ (рейтинг · «куплено N раз» · срок выдачи)
   --------------------------------------------------------------------- */
.px-social{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 4px;
  margin:14px 0 2px;padding:11px 14px;
  background:var(--card-tint,var(--c-primary-tint));
  border-radius:var(--radius-md);
}
.px-social__item{
  display:flex;align-items:center;gap:5px;white-space:nowrap;
  font-size:12.5px;font-weight:800;color:var(--card-deep,var(--c-primary));
}
.px-social__item svg{width:14px;height:14px;flex:none;color:var(--card-deep,var(--c-primary))}
.px-social__item b{font-weight:800}
.px-dot{color:var(--card-deep,var(--c-primary));opacity:.35;font-weight:800;padding:0 8px}

/* ---------------------------------------------------------------------
   2. ЧИПСЫ ВЫБОРА ТАРИФА (варианты с ценами, активный выделен брендом)
   --------------------------------------------------------------------- */
.px-variants{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.px-chip{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  flex:1 1 auto;min-width:128px;
  padding:10px 14px;border-radius:var(--radius-md);
  background:var(--c-bg-card);border:1.5px solid var(--c-border);
  font-family:var(--font-body);cursor:pointer;text-align:left;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.px-chip:hover{border-color:var(--card-deep,var(--c-primary));transform:translateY(-2px)}
.px-chip__name{font-size:12.5px;font-weight:700;color:var(--c-text-secondary)}
.px-chip__price{font-family:var(--font-head);font-size:15px;font-weight:800;color:var(--c-text)}
.px-chip.is-active{
  background:var(--card-grad,var(--grad-primary));border-color:transparent;
  box-shadow:0 10px 22px -8px var(--card-glow,var(--glow-primary));
}
.px-chip.is-active .px-chip__name{color:rgba(255,255,255,.85)}
.px-chip.is-active .px-chip__price{color:#fff}
.px-variants__note{
  margin:10px 0 0;padding:10px 12px;border-radius:var(--radius-sm);
  background:var(--c-bg-alt);font-size:12.5px;line-height:1.5;color:var(--c-text-secondary);
}
.px-variants__note:empty{display:none}

/* -- мини-описание выбранного тарифа (под чипсами, из description CRM) -- */
.px-tariff-desc{
  margin:8px 2px 0;font-size:12.5px;line-height:1.5;color:var(--c-text-secondary);
}
.px-tariff-desc.px-hidden{display:none}

/* .px-currency — обёртка «₽» рядом с ценой (product-extras.js оборачивает
   текстовый узел при инициализации). .px-hidden — общий утилити-класс,
   которым js прячет «₽»/период у svc-price-card__price и у sticky-панели,
   когда выбран тариф «под заказ» (цена = «По запросу», без числа). */
.px-hidden{display:none!important}

/* ---------------------------------------------------------------------
   3. НОВАЯ СЕКЦИЯ ПОСЛЕ HERO: компактная таблица характеристик + мини-отзывы
   --------------------------------------------------------------------- */
.px-quickinfo-section{padding:0 0 88px}
.px-quickgrid{display:grid;grid-template-columns:.92fr 1.08fr;gap:26px;align-items:start}
.px-block-title{
  font-family:var(--font-head);font-weight:800;font-size:16.5px;color:var(--c-text);
  margin-bottom:16px;display:flex;align-items:center;gap:9px;
}
.px-block-title::before{
  content:"";width:8px;height:8px;border-radius:3px;background:var(--card-grad,var(--grad-primary));flex:none;
}

/* -- таблица характеристик -- */
.px-spectable{
  background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius-lg);
  padding:26px 26px 22px;box-shadow:var(--shadow-sm);height:100%;
}
.px-spec-grid{display:flex;flex-direction:column}
.px-spec-row{
  display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--c-border);
}
.px-spec-row:last-child{border-bottom:none;padding-bottom:0}
.px-spec-row:first-child{padding-top:0}
.px-spec-row dt{font-size:13px;font-weight:700;color:var(--c-text-muted)}
.px-spec-row dd{font-size:13.5px;font-weight:600;color:var(--c-text);line-height:1.4}

/* -- мини-отзывы -- */
.px-reviews-mini{height:100%}
.px-review-list{display:flex;flex-direction:column;gap:12px}
.px-review-card{
  background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius-lg);
  padding:16px 18px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease;
}
.px-review-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.px-review-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.px-review-card__stars{display:flex;gap:2px;color:var(--card-deep,var(--c-primary))}
.px-review-card__stars svg{width:13px;height:13px}
.px-review-card__date{font-size:11.5px;color:var(--c-text-muted);white-space:nowrap}
.px-review-card p{font-size:13.5px;line-height:1.55;color:var(--c-text-secondary);margin-bottom:8px}
.px-review-card__name{font-size:12.5px;font-weight:800;color:var(--c-text)}

@media (max-width:900px){
  .px-quickgrid{grid-template-columns:1fr;gap:20px}
}

/* ---------------------------------------------------------------------
   4. STICKY-CTA НА МОБИЛЬНОМ (появляется после первого экрана, ≤768px)
   --------------------------------------------------------------------- */
.px-sticky-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  align-items:center;justify-content:space-between;gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--c-border);box-shadow:0 -10px 30px -12px rgba(20,20,30,.18);
  transform:translateY(110%);transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.px-sticky-cta.is-visible{transform:translateY(0)}
.px-sticky-cta__price{font-family:var(--font-head);font-weight:800;font-size:17px;color:var(--c-text);white-space:nowrap;line-height:1.1}
.px-sticky-cta__currency{font-family:var(--font-head);font-weight:800;font-size:17px;color:var(--c-text)}
.px-sticky-cta__per{display:block;font-family:var(--font-body);font-weight:600;font-size:11px;color:var(--c-text-muted)}
.px-sticky-cta__btn{
  padding:12px 22px;font-size:14px;white-space:nowrap;flex:none;
  background:var(--card-grad,var(--grad-primary));box-shadow:0 10px 22px -8px var(--card-glow,var(--glow-primary));
}
@media (max-width:768px){
  .px-sticky-cta{display:flex}
  body.px-has-sticky{padding-bottom:0}
}
@media (max-width:400px){
  .px-sticky-cta__btn{padding:11px 16px;font-size:13px}
}

/* ---------------------------------------------------------------------
   5. ПОЛИРОВКА / АДАПТИВ ≤390px (не трогает theme.css, только уточняет
      отступы для новых блоков и особо тесных мест на маленьких экранах)
   --------------------------------------------------------------------- */
@media (max-width:480px){
  .px-social{gap:6px 0;padding:10px 12px}
  .px-social__item{font-size:11.8px}
  .px-dot{padding:0 6px}
  .px-chip{min-width:46%}
  .px-tariff-desc{font-size:11.8px}
  .px-spectable,.px-review-card{padding:20px 18px}
  .px-spec-row{grid-template-columns:108px 1fr;gap:10px}
  .px-quickinfo-section{padding-bottom:64px}
}
@media (max-width:400px){
  .svc-price-card{padding:26px 20px}
}

/* ---------------------------------------------------------------------
   6. ПОДЪЁМ ЧАТ-ВИДЖЕТА (#wc-btn/#wc ИЗ SCRIPT.JS) НАД STICKY-CTA
   На ≤768px, пока .px-sticky-cta видима, product-extras.js вешает на body
   класс .px-sticky-on и пишет фактическую высоту панели в переменную
   --px-sticky-h — здесь этим приподнимаем кнопку чата и открытое окно
   чата, чтобы они не перекрывали кнопку «Купить» в sticky-панели.
   script.js не трогаем, поэтому переопределяем через !important.
   --------------------------------------------------------------------- */
body.px-sticky-on #wc-btn{
  bottom:calc(var(--px-sticky-h,64px) + 12px) !important;
  transition:bottom .2s ease;
}
body.px-sticky-on #wc{
  bottom:calc(var(--px-sticky-h,64px) + 12px + 64px) !important;
}

/* ---------------------------------------------------------------------
   7. БРЕНД-АКЦЕНТ PLAYSTATION (playstation.html + карточки #gaming на
   главной). Задаёт те же --card-grad/--card-glow/--card-deep/--card-tint,
   что и .card--gpt/.card--claude/... в theme.css (см. theme.css:406-413),
   но синим фирменным цветом PlayStation — без правки самого theme.css.
   --------------------------------------------------------------------- */
.card--playstation{--card-grad:linear-gradient(135deg,#0070D1,#00439C);--card-glow:rgba(0,67,156,.30);--card-deep:#00439C;--card-tint:#E7F3FC}
.card--grok{--card-grad:linear-gradient(135deg,#2B2F36,#0B0D10);--card-glow:rgba(20,23,28,.32);--card-deep:#0B0D10;--card-tint:#EEF0F2}
.card--tv{--card-grad:linear-gradient(135deg,#1E9E86,#0E6B57);--card-glow:rgba(14,107,87,.30);--card-deep:#0E6B57;--card-tint:#E6F6F1}
