/* POSITIVE SEARCH — карточка «PLAY TIX».
 *
 * ЕДИНСТВЕННЫЙ источник стилей промо. Живёт отдельным файлом с 07.08.2026, потому
 * что карточка стоит на ДВУХ поверхностях: главная (web-ui/v35.template.html) и три
 * статические страницы активов (static_pages.py). До этого на страницах активов был
 * свой, старый баннер .as-cta — Илья попросил один, красивый, везде. Инлайновая
 * копия в двух шаблонах разъехалась бы при первой же правке.
 *
 * Сама сборка — из промо-лабы по выбору Ильи 2026-08-04: правый край (сбивает
 * слепоту к левой колонке), контурная типографика, лента цены фоном (прозрачная),
 * маленькая зелёная кнопка, крестик в левом верхнем углу. Логика — js/tix-promo.js
 * (клик по всей карточке, закрытие с запоминанием в localStorage, лента на canvas).
 *
 * Страничные отличия НЕ здесь: исключение из cross-fade главной
 * (.v35-content.v35-swapping .v35-tix) осталось в v35.template.html, отступы на
 * страницах активов — в static_pages.py. */

.v35-tix { position:relative; overflow:hidden; padding:30px 28px; min-height:172px;
           margin-bottom:22px; display:flex; justify-content:flex-end; align-items:center;
           transition:height .26s ease, opacity .22s ease, margin .26s ease; }
.v35-tix.is-closing { height:0 !important; min-height:0; opacity:0; padding-top:0; padding-bottom:0;
                      margin-bottom:0; }
/* без этого атрибут hidden не прячет блок: display:flex сильнее правила браузера
   [hidden]{display:none} — ровно та же грабля, что была у строки BUFFER в игре */
.v35-tix[hidden] { display:none; }
.v35-tix canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
/* крестик — левый верхний угол, тихий, но находится с первого взгляда */
.v35-tix-x { position:absolute; top:12px; left:12px; z-index:2; width:26px; height:26px;
             display:flex; align-items:center; justify-content:center; border-radius:50%;
             border:1px solid var(--ps-hairline); background:rgba(4,10,14,.5); color:var(--ps-text-dim);
             font:inherit; font-size:11px; line-height:1; cursor:pointer;
             transition:color .15s, border-color .15s; }
.v35-tix-x:hover { color:var(--ps-text-sec); border-color:var(--ps-text-dim); }
.v35-tix-copy { position:relative; display:flex; flex-direction:column; align-items:flex-end;
                text-align:right; gap:10px; }
/* контурный заголовок как объект, и он же настоящий h2 для читалок — видимый
   дублируется визуально скрытым, чтобы обводка не мешала доступности */
.v35-tix-ghost { font-size:clamp(30px,6.2vw,62px); line-height:.92; font-weight:600;
                 letter-spacing:.02em; color:transparent; -webkit-text-stroke:1px rgba(242,243,244,.34);
                 white-space:nowrap; }
@supports not (-webkit-text-stroke: 1px red) { .v35-tix-ghost { color:var(--ps-text-muted); } }
.v35-tix-h { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
             white-space:nowrap; }
/* balance evens the line lengths instead of leaving a long line + a stub, and the nbsp pairs
   in the markup keep prepositions glued to what they govern — "…money on / real BTC prices" read broken */
.v35-tix-p { font-size:13px; line-height:1.5; color:var(--ps-text-sec); max-width:46ch;
  text-wrap:balance; }
.v35-tix-btn { margin-top:4px; font-size:12px; font-weight:600; letter-spacing:.12em;
               padding:10px 24px; border-radius:9px; background:var(--ps-green);
               color:var(--ps-bg-page); text-decoration:none; transition:filter .15s; }
.v35-tix-btn:hover { filter:brightness(1.08); }
/* Вся карточка — цель клика (обработчик в js/tix-promo.js), кнопка при этом
   настоящая ссылка: клавиатура, средняя кнопка мыши и «открыть в новой вкладке»
   должны работать. Трюк с растянутым ::after не годится — он резолвится
   относительно ближайшего позиционированного предка, а это .v35-tix-copy, и
   покрывал бы только текст. */
.v35-tix { cursor:pointer; }
@media (max-width:620px){
  /* По правому краю и на телефоне (просьба Ильи): выравнивание — часть замысла,
     а не десктопная роскошь; левый край занят крестиком. */
  .v35-tix { padding:26px 20px 24px; min-height:178px; }
  .v35-tix-ghost { font-size:clamp(26px,9vw,40px); }
  .v35-tix-p { font-size:12.5px; }
}
