/* filmebi.world — TV რეჟიმი (static/js/tv/*.js).
 *
 * ყველა წესი `.tv-mode`-ის (html/body) ქვეშაა — კომპიუტერი და მობილური
 * ამ ფაილით არ იცვლება. `html.tv-nav` = ჩარჩო ჩანს (პულტის ღილაკზე
 * ირთვება, მაუსის/კურსორის მოძრაობაზე ქრება — იხ. tv-remote.js).
 * `html.tv-theater` = ფლეერი მთელ ეკრანზე (tv-player.js).
 *
 * ფოკუსი: მთავარი ფერი #008170, transform-ით (layout shift-ის გარეშე),
 * 150ms. ⚠️ :focus-visible განზრახ არ არის — ძველი TV ბრაუზერი უცნობ
 * ფსევდოკლასს მთელ სელექტორების ჯგუფს უგულებელყოფს.
 */

:root { --tv-accent: #008170; --tv-accent-glow: rgba(0, 129, 112, .55); }

/* ── ზოგადი ფოკუსი ───────────────────────────────────────────────────── */
html.tv-mode :focus { outline: none; }
html.tv-nav.tv-mode a:focus, html.tv-nav.tv-mode button:focus,
html.tv-nav.tv-mode input:focus, html.tv-nav.tv-mode select:focus,
html.tv-nav.tv-mode textarea:focus, html.tv-nav.tv-mode [data-tv-focusable]:focus {
  outline: 3px solid var(--tv-accent) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--tv-accent-glow) !important;
  border-radius: 8px;
  -webkit-transition: box-shadow .15s ease, outline-color .15s ease;
  transition: box-shadow .15s ease, outline-color .15s ease;
}

/* ── ფილმის ბარათი: ერთი გაჩერება (სათაურის ბმული), ეფექტი მთელ ბარათზე ── */
html.tv-mode .movie-card {
  -webkit-transition: -webkit-transform .15s ease, box-shadow .15s ease;
  transition: transform .15s ease, box-shadow .15s ease;
  will-change: transform;
}
html.tv-nav.tv-mode .movie-card__title a:focus { outline: none !important; box-shadow: none !important; }
html.tv-mode .movie-card__img { position: relative; }
html.tv-nav.tv-mode .movie-card:focus-within {
  -webkit-transform: scale(1.07);
  transform: scale(1.07);
  position: relative;
  z-index: 5;
}
html.tv-nav.tv-mode .movie-card:focus-within .movie-card__img::after {
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 4;
  pointer-events: none; border: 3px solid var(--tv-accent); border-radius: inherit;
  box-shadow: 0 0 18px 4px var(--tv-accent-glow), inset 0 0 0 1px rgba(255, 255, 255, .35);
}
html.tv-nav.tv-mode .movie-card:focus-within .movie-card__img img { -webkit-filter: brightness(1.08); filter: brightness(1.08); }
html.tv-nav.tv-mode .movie-card:focus-within .movie-card__img .play { opacity: 1; visibility: visible; }
html.tv-nav.tv-mode .movie-card:focus-within .movie-card__title span { color: #fff; }
/* გადიდებული ბარათი რიგის ზედა/ქვედა კიდეზე არ უნდა მოიჭრას (swiper
   overflow:hidden-ია). padding თავიდანვე დგას — ფოკუსზე არაფერი იძვრება. */
html.tv-mode .movies-row .swiper { padding-top: 14px; padding-bottom: 14px; }

/* კიდემდე გაწელილი ელემენტები (მშობელი overflow:hidden-ით ჭრის) — ჩარჩო შიგნით */
html.tv-nav.tv-mode .mf-trailer:focus, html.tv-nav.tv-mode .ge-hero a:focus {
  outline-offset: -6px; box-shadow: inset 0 0 0 9px var(--tv-accent-glow) !important;
}
html.tv-nav.tv-mode .sidebar .nav-link:focus { background: rgba(0, 129, 112, .35); }

/* ── ფლეერი მთელ ეკრანზე (tv-player.js) ───────────────────────────────── */
.mf-tvfull {
  padding: 12px 28px; margin-right: 12px; border: 0; border-radius: 10px;
  background: var(--tv-accent); color: #fff; font-size: 20px; font-weight: 700; cursor: pointer;
}
.mf-tvfull__exit { display: none; }
html.tv-theater, html.tv-theater body { overflow: hidden !important; background: #000 !important; }
html.tv-theater #player {
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100vw !important; height: 100vh !important; max-width: none !important;
  margin: 0 !important; border-radius: 0 !important; z-index: 6000 !important; background: #000;
}
html.tv-theater #player iframe, html.tv-theater #player video { width: 100% !important; height: 100% !important; }
html.tv-theater .mf-tvfull__exit {
  display: block; position: absolute; top: 18px; left: 18px; z-index: 6001;
  padding: 10px 18px; border: 0; border-radius: 8px; background: rgba(0, 0, 0, .65);
  color: #fff; font-size: 18px; opacity: .8; cursor: pointer;
}
html.tv-theater .mf-tvfull__exit:hover, html.tv-theater .mf-tvfull__exit:focus { opacity: 1; }
/* პირდაპირ ყურებისას (?play=1): „ℹ ფილმის შესახებ" — მარჯვნივ, „✕ უკან"-ის საპირისპიროდ */
html.tv-theater .mf-tvfull__info { left: auto; right: 18px; }
/* უმოქმედობისას (tv-player.js, ~4 წმ) ჩვენი ღილაკები ქრება; :focus-ზეც (ფოკუსი „✕ უკან"-ზეა, Back რომ მოგვივიდეს).
   .mf-tvwake — გამჭვირვალე ფენა: კურსორს მალავს და პირველ მოძრაობას/დაჭერას იჭერს (iframe ჩვენამდე არაფერს აგზავნის) */
html.tv-theater .mf-tvfull__exit, html.tv-theater .mf-kp__open, html.tv-theater .mf-kp { transition: opacity .35s; }
html.tv-theater.tv-idle .mf-tvfull__exit, html.tv-theater.tv-idle .mf-tvfull__exit:focus,
html.tv-theater.tv-idle .mf-kp__open, html.tv-theater.tv-idle .mf-kp { opacity: 0 !important; pointer-events: none; }
.mf-tvwake { display: none; }
html.tv-theater.tv-idle .mf-tvwake, html.tv-theater.tv-waking .mf-tvwake {
  display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 6002;
  background: transparent; cursor: none;
}
/* ფლეერის მშობელი საკუთარ ფენას (stacking context) ქმნის — z-index არ კმარა,
   სათაური/ინფო ზემოდან ეხატებოდა. დანარჩენი გვერდი უხილავია (არც იხატება,
   არც დაჭერას იღებს); iframe თავიდან არ იტვირთება. */
html.tv-theater body * { visibility: hidden !important; }
html.tv-theater #player, html.tv-theater #player * { visibility: visible !important; }

/* ── debug (?tv=1&debug=1) ─────────────────────────────────────────────── */
.tv-debug-box {
  position: fixed; top: 10px; right: 10px; z-index: 9999; max-width: 460px;
  padding: 10px 14px; background: rgba(0, 0, 0, .85); border: 1px solid var(--tv-accent);
  border-radius: 8px; color: #9fe; font: 13px/1.5 monospace; pointer-events: none;
}
html.tv-debug [data-tv-id]:focus { outline: 2px dashed #ff0 !important; }
html.tv-theater .tv-debug-box { visibility: visible !important; }

/* ══ Phase 3 — TV-ის მთავარი გვერდი ═════════════════════════════════════
   1920×1080-ზე გათვლილი (base.html TV-ზე viewport=1920-ს აყენებს, 4K-ზე
   zoom-ით) — ამიტომ px აქ „ტელევიზორის px"-ია, ყველა 16:9 ეკრანზე ერთნაირი. */

/* ── გვერდითი მენიუ (base.html .tv-sidebar) ──────────────────────────── */
.tv-sidebar { display: none; }
html.tv-mode .tv-sidebar {
  display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column;
  -webkit-justify-content: center; justify-content: center;
  position: fixed; top: 0; left: 0; bottom: 0; z-index: 4000;
  width: 104px; padding: 40px 0; overflow: hidden;
  background: linear-gradient(90deg, rgba(6, 8, 10, .97) 70%, rgba(6, 8, 10, .85));
  -webkit-transition: width .16s ease; transition: width .16s ease;
}
html.tv-mode .tv-sidebar:focus-within { width: 320px; box-shadow: 12px 0 40px rgba(0, 0, 0, .6); }
.tv-sidebar__item {
  display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center;
  height: 66px; margin: 3px 14px; padding: 0 24px; border-radius: 12px;
  color: #a9b1b6; font-size: 24px; font-weight: 600; white-space: nowrap; text-decoration: none;
}
.tv-sidebar__item svg, .tv-sidebar__item img { -webkit-flex: 0 0 30px; flex: 0 0 30px; width: 30px; height: 30px; }
.tv-sidebar__item span { margin-left: 22px; opacity: 0; -webkit-transition: opacity .12s; transition: opacity .12s; }
html.tv-mode .tv-sidebar:focus-within .tv-sidebar__item span { opacity: 1; }
.tv-sidebar__item.is-active { color: #fff; box-shadow: inset 4px 0 0 var(--tv-accent); }
html.tv-nav.tv-mode .tv-sidebar__item:focus {
  outline: none !important; box-shadow: none !important; background: var(--tv-accent); color: #fff;
}

/* ── განლაგება და safe area: მენიუ მარცხნივ, ~60px კიდეებიდან ─────────── */
html.tv-mode .header { display: none !important; }
html.tv-mode .ai-fab, html.tv-mode .ai-panel { display: none !important; }   /* ჩატი აკრეფას ითხოვს */
html.tv-mode body { background-color: #0b0d10; }
html.tv-mode section.content { padding: 40px 64px 60px 152px; }
html.tv-mode section.content .container,
html.tv-mode section.content .container-fluid { max-width: none !important; padding-left: 0; padding-right: 0; }
html.tv-mode section.content .row { margin-left: 0; margin-right: 0; }
html.tv-mode section.content [class*="col-"] { padding-left: 0; padding-right: 0; }

/* ── კინემატოგრაფიული ჰერო (tv-home.js) ──────────────────────────────── */
html.tv-mode .ge-hero { display: block; position: relative; height: 640px; margin-bottom: 26px; }
html.tv-mode .ge-hero__featured {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0; max-width: none; border-radius: 18px;
}
html.tv-mode .ge-hero__featured::after {
  background: linear-gradient(90deg, rgba(8, 10, 12, .96) 0%, rgba(8, 10, 12, .78) 32%, rgba(8, 10, 12, .2) 64%, rgba(8, 10, 12, 0) 80%),
              linear-gradient(0deg, rgba(8, 10, 12, .85) 0%, rgba(8, 10, 12, 0) 45%);
}
html.tv-mode .ge-hero__info, html.tv-mode .ge-hero__thumbs { display: none !important; }
.tv-hero { display: none; }
html.tv-mode .tv-hero {
  display: block; position: absolute; left: 60px; bottom: 56px; z-index: 3; max-width: 980px;
}
.tv-hero__title {
  margin: 0 0 16px; color: #fff; font-size: 64px; font-weight: 800; line-height: 1.1;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .6);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.tv-hero__meta { color: #d5dadd; font-size: 24px; margin-bottom: 16px; }
.tv-hero__dot { margin: 0 12px; color: #6d7479; font-style: normal; }
.tv-hero__imdb { padding: 2px 10px; border-radius: 6px; background: #f5c518; color: #000; font-weight: 700; font-size: 20px; }
.tv-hero__desc {
  margin: 0 0 30px; max-width: 860px; color: #c9cfd3; font-size: 24px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.tv-hero__desc:empty { display: none; }
.tv-hero__actions a + a { margin-left: 18px; }
.tv-btn {
  display: inline-block; padding: 16px 38px; border-radius: 12px;
  background: rgba(255, 255, 255, .14); color: #fff !important; font-size: 26px; font-weight: 700;
  text-decoration: none !important;
  -webkit-transition: -webkit-transform .15s, background .15s; transition: transform .15s, background .15s;
}
.tv-btn--primary { background: var(--tv-accent); }
html.tv-nav.tv-mode .tv-btn:focus {
  outline: 3px solid #fff !important; outline-offset: 3px;
  -webkit-transform: scale(1.06); transform: scale(1.06);
}

/* ── რიგები და ბარათები: დიდი, დივნიდან წასაკითხი ──────────────────────── */
html.tv-mode .ge-row-head { margin-bottom: 10px; }
html.tv-mode .ge-row-head h2, html.tv-mode .ge-row-head .ge-head-left { font-size: 32px; }
html.tv-mode .ge-row-head a { font-size: 22px; }
html.tv-mode .ge-ico-badge { -webkit-transform: scale(1.35); transform: scale(1.35); margin-right: 8px; }
html.tv-mode .movie-card__title h2 { font-size: 22px; line-height: 1.3; }
html.tv-mode .movie-card__title p { font-size: 17px; }
html.tv-mode .movie-card .imdb span, html.tv-mode .movie-card .year { font-size: 17px; }
html.tv-mode .movies-row, html.tv-mode #cwRow, html.tv-mode #recentEpisodesRow { margin-bottom: 18px; }
/* ფოკუსის მატარებელი ბმული ბარათის სათაურშია — რიგის სათაური არა */
html.tv-mode .ge-footer { padding-left: 0; font-size: 18px; }
/* ⚠️ თემა სექციებს float:left-ს აძლევს (კომპიუტერზე 100% სიგანით უჩინარია).
   TV-ის padding-ით სიგანე შეიცვალა და რიგები ჰეროს გვერდით „მოედინა" —
   სათაურები ეკრანის მარჯვენა კიდეზე ნულოვანი სიგანით. */
html.tv-mode section.content > section, html.tv-mode #rows > * { float: none !important; width: auto !important; clear: both; }
/* ბარათის სათაური: თემა span/p-ს პირდაპირ აძლევს ზომას (ge-custom.css
   .movie-card__title h2 a span) — h2-ზე დაყენებული ზომა არ ვრცელდებოდა */
html.tv-mode .movie-card__title h2 a span { font-size: 21px !important; line-height: 1.3; }
html.tv-mode .movie-card__title h2 a p { font-size: 17px !important; line-height: 1.35 !important; min-height: 0; margin-top: 4px; }
/* რეკლამის პოპაპი TV-ზე შიგთავსს ფარავს და პულტით დახურვა რთულია */
html.tv-mode .ge-popup-ad { display: none !important; }

/* ══ Phase 4 — ფილმის/სერიალის დეტალები (movie.html, tv-details.js) ══════ */
.tv-meta, .tv-actions { display: none; }
html.tv-mode .movies-full { position: relative; min-height: 1000px; }
/* ფონი მთელ ეკრანზე, გრადიენტით. ⚠️ .movies-full-ს overflow:hidden აქვს, ფონი
   კიდეებამდე ვერ აღწევდა — TV-ზე fixed (ეკრანზე მიმაგრებული); ჩაბნელების
   ფენის opacity კი სქროლზეა მიბმული (--mf-fade, თავში 0) — აქ მუდმივია. */
html.tv-mode .movies-full { overflow: visible; }
html.tv-mode .movies-full .bg-image {
  position: fixed !important; top: 0; left: 0; right: 0; bottom: 0; height: 100vh !important;
  -webkit-filter: brightness(.8) !important; filter: brightness(.8) !important;
  -webkit-transform: none; transform: none; -webkit-mask-image: none; mask-image: none;
  background-position: center 20%; z-index: 0 !important;
}
html.tv-mode .movies-full .bg-image:before { display: none; }
html.tv-mode .movies-full .mf-scroll-fade {
  position: fixed !important; top: 0; left: 0; right: 0; bottom: 0; opacity: 1 !important; z-index: 0;
  background: linear-gradient(90deg, rgba(8, 10, 12, .97) 0%, rgba(8, 10, 12, .9) 34%, rgba(8, 10, 12, .45) 66%, rgba(8, 10, 12, .25) 100%),
              linear-gradient(0deg, rgba(11, 13, 16, .95) 0%, rgba(11, 13, 16, 0) 55%) !important;
}
html.tv-mode .movies-full > .container { position: relative; z-index: 1; }
/* ფლეერი ეკრანს მიღმა იტვირთება; „▶ ყურება" მთელ ეკრანზე შლის (tv-theater) */
html.tv-mode .movies-full__content {
  position: absolute !important; left: -10000px; top: 0; width: 1280px; height: 720px; overflow: hidden;
}
html.tv-mode .mf-ctrlbar { position: absolute; left: -10000px; }
html.tv-mode .breadcrumbs, html.tv-mode .ge-breadcrumbs, html.tv-mode nav[aria-label="breadcrumb"] { display: none !important; }

html.tv-mode .movies-full__inside { padding-top: 250px; max-width: 1100px; }
html.tv-mode .mf-head { display: block; }
html.tv-mode .mf-head h1 { font-size: 60px; line-height: 1.1; margin: 0 0 10px; text-shadow: 0 3px 18px rgba(0, 0, 0, .6); }
html.tv-mode .mf-orig { font-size: 22px; color: #aeb5ba; margin-bottom: 14px; }
html.tv-mode .tv-meta { display: block; font-size: 24px; color: #d5dadd; margin-bottom: 18px; }
html.tv-mode .tv-meta span + span::before { content: "•"; margin: 0 12px; color: #6d7479; }
html.tv-mode .tv-meta__imdb { padding: 2px 10px; border-radius: 6px; background: #f5c518; color: #000; font-weight: 700; font-size: 20px; }
html.tv-mode .tv-meta__imdb::before { content: none !important; }
html.tv-mode .tv-meta span + .tv-meta__imdb { margin-left: 24px; }

/* მოქმედებები */
html.tv-mode .tv-actions {
  width: 1640px; max-width: calc(100vw - 260px);
  display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
  -webkit-align-items: center; align-items: center; margin: 26px 0 8px;
}
html.tv-mode .tv-actions > * { margin: 0 16px 14px 0 !important; }
html.tv-mode .tv-action {
  display: -webkit-inline-flex; display: inline-flex; -webkit-align-items: center; align-items: center;
  height: 64px; padding: 0 30px !important; border: 0 !important; border-radius: 12px !important;
  background: rgba(255, 255, 255, .14) !important; color: #fff !important;
  font-size: 24px !important; font-weight: 700; position: static !important; width: auto !important;
  -webkit-transition: -webkit-transform .15s, background .15s; transition: transform .15s, background .15s;
}
html.tv-mode .tv-action svg { width: 26px !important; height: 26px !important; margin-right: 10px; fill: currentColor; }
html.tv-mode .tv-action span { font-size: 24px !important; display: inline !important; }
html.tv-mode .tv-action--primary { background: var(--tv-accent) !important; padding: 0 40px !important; }
html.tv-mode .tv-action.is-active, html.tv-mode .tv-action.active { color: #ff6b81 !important; }
html.tv-nav.tv-mode .tv-action:focus {
  outline: 3px solid #fff !important; outline-offset: 3px; box-shadow: 0 0 0 7px var(--tv-accent-glow) !important;
  -webkit-transform: scale(1.06); transform: scale(1.06);
}

/* აღწერა, მსახიობები — დიდი და წასაკითხი; დანარჩენი TV-ზე ზედმეტია */
html.tv-mode .mf-plot__title { font-size: 28px; margin: 26px 0 10px; }
html.tv-mode .mf-plot p {
  font-size: 24px; line-height: 1.5; color: #d0d5d8;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
html.tv-mode .mf-cast__list { font-size: 22px; line-height: 1.5; color: #b9c0c4; }
html.tv-mode .mf-ratingbar, html.tv-mode .mf-info, html.tv-mode .mf-ratewidget,
html.tv-mode .mf-tools, html.tv-mode .mf-comments { display: none !important; }
html.tv-mode .related { margin-top: 30px; }
html.tv-mode .related .ge-section-title, html.tv-mode .related h2 { font-size: 32px; }
html.tv-mode #mfBrokenBtn svg { fill: none !important; stroke: currentColor; }
html.tv-mode .tv-action { white-space: nowrap; }
/* footer TV-ზე ზედმეტია (მთვლელები, Google-ისთვის დამალული ბმულები) */
html.tv-mode .ge-footer { display: none !important; }

/* ══ Phase 5 — TV ძებნა (tv-search.js, /browse?type=search) ═════════════ */
html.tv-search-route section.content > *:not(#tvSearchPage) { display: none !important; }
.tv-search-page { display: none; }
html.tv-search-route .tv-search-page {
  display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start;
  min-height: 980px;
}
.tv-sp__left { -webkit-flex: 0 0 760px; flex: 0 0 760px; margin-right: 48px; }
.tv-sp__right { -webkit-flex: 1; flex: 1; min-width: 0; }
.tv-sp__input {
  display: block; width: 100%; height: 84px; padding: 0 26px; margin-bottom: 20px;
  background: #1a1e22; border: 2px solid var(--tv-accent); border-radius: 14px;
  color: #fff; font-size: 34px;
}
.tv-sp__input::placeholder { color: #6f777c; font-size: 26px; }
.tv-search-page .tv-kb__keys, .tv-search-page .tv-kb__ctrl {
  display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -5px;
}
.tv-search-page .tv-kb__key {
  width: calc(100% / 9 - 10px); height: 70px; margin: 5px; border: 0; border-radius: 10px;
  background: #23282d; color: #fff; font-size: 30px; font-weight: 700; cursor: pointer;
}
.tv-search-page .tv-kb__key--digit { background: #1c2024; color: #c7ccd0; }
.tv-search-page .tv-kb__ctrl { margin-top: 10px; }
.tv-search-page .tv-kb__key--wide { width: calc(100% / 4 - 10px); font-size: 22px; }
html.tv-nav.tv-mode .tv-search-page .tv-kb__key:focus {
  background: #fff; color: #000; outline: none !important; box-shadow: 0 0 0 4px var(--tv-accent) !important;
  -webkit-transform: scale(1.08); transform: scale(1.08);
}
.tv-sp__h { margin: 4px 0 16px; color: #fff; font-size: 30px; font-weight: 700; }
.tv-sp__h + .tv-sp__chips, .tv-sp__h + .tv-sp__grid { margin-bottom: 30px; }
.tv-sp__muted { color: #8b9398; font-size: 24px; }
.tv-sp__chips { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.tv-sp__chip {
  display: inline-block; margin: 0 12px 12px 0; padding: 12px 24px; border: 0; border-radius: 30px;
  background: #23282d; color: #e1e5e8 !important; font-size: 22px; text-decoration: none !important; cursor: pointer;
}
html.tv-nav.tv-mode .tv-sp__chip:focus { background: var(--tv-accent); color: #fff !important; outline: none !important; }
.tv-sp__grid { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -10px; }
.tv-sp__card {
  display: block; width: calc(100% / 4 - 20px); margin: 0 10px 22px; color: #fff !important; text-decoration: none !important;
  -webkit-transition: -webkit-transform .15s; transition: transform .15s;
}
.tv-sp__img {
  display: block; width: 100%; padding-top: 56.25%; border-radius: 10px;
  background: #1c2024 center / cover no-repeat;
}
.tv-sp__title { display: block; margin-top: 10px; line-height: 1.3; font-size: 21px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tv-sp__sub { display: block; margin-top: 4px; color: #9aa2a7; font-size: 17px; line-height: 1.35; }
html.tv-nav.tv-mode .tv-sp__card:focus {
  outline: none !important; box-shadow: none !important; -webkit-transform: scale(1.06); transform: scale(1.06);
}
html.tv-nav.tv-mode .tv-sp__card:focus .tv-sp__img { box-shadow: 0 0 0 3px var(--tv-accent), 0 0 18px 4px var(--tv-accent-glow); }
.tv-sp__all { margin-top: 6px; }
