/* Публичные страницы второй аудитории и регионов — один файл на четыре страницы (ПР4, ПР6-б):
   /partners/ (префикс pt-, «public template») и /import/…, /import/<страна>/, /import/<страна>/<город>/
   (общие pt- плюс свои rg-). Почему не классы главной: `.g-list .gi` — кружок 22px для модалок, `.card-g`
   стилизован только внутри `.place`, `details.faq` на телефоне спрятан ради карусели — первая редакция
   страницы исполнителей на них сломалась (пересборка 14.09.2026). Файл подключается в `{% block extra_css %}`
   страниц каркаса et_base; тема warm-glass даёт токены, литеральных цветов здесь нет, кроме скрима подписи
   на фотографии (та же конвенция, что у обложки выпуска журнала, С53).
   Своя вёрстка несёт и свой reduced-motion: общие правила каркасов покрывают только их классы
   (разбор Codex к PR #60). */

/* ---------- pt-: компоненты страницы исполнителей, общие для публичных страниц ---------- */
.pt-hero{display:grid; gap:26px; padding:8px 0 0}
.pt-band{position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--lift-1); background:var(--accent-deep)}
.pt-band img{display:block; width:100%; aspect-ratio:4/1; object-fit:cover}
.pt-band svg{display:block; width:100%; aspect-ratio:4/1; height:auto}
.pt-band .cap{position:absolute; right:12px; bottom:8px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#fff; opacity:.72}
/* Hero страницы «Авто из Азии по городам» (ПР6-в): кадр 21:9 показывается 3:1 на столе и 2:1 на телефоне —
   выше полосы этапов (4:1), потому что это первая страница раздела, а не заставка над панелью. */
.pt-band.rg-band-wide img,.pt-band.rg-band-wide svg{aspect-ratio:3/1}
.pt-head{display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:end}
.pt-head h1{font-family:var(--font-display); font-weight:400; font-size:clamp(30px,4vw,48px); line-height:1.08; margin:0 0 14px; max-width:20ch}
.pt-lead{max-width:58ch; color:var(--ink-soft); font-size:16px; line-height:1.55; margin:0 0 20px}
.pt-cta{display:flex; gap:12px; flex-wrap:wrap}
.pt-cta .btn{text-decoration:none}
.pt-facts{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.pt-fact{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:16px; padding:14px 16px; box-shadow:var(--lift-1)}
.pt-fact b{display:block; font-family:var(--font-display); font-weight:400; font-size:26px; line-height:1.1; margin-bottom:4px}
.pt-fact span{font-size:12.5px; color:var(--ink-soft)}
.pt-sec{margin-top:64px}
.pt-sec-head{display:flex; align-items:baseline; gap:14px; margin-bottom:16px; flex-wrap:wrap}
.pt-sec-head h2{margin:0}
.pt-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.pt-step{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:18px; padding:18px 20px; box-shadow:var(--lift-1)}
.pt-step .no{display:block; font-family:var(--font-display); font-size:22px; color:var(--accent); margin-bottom:8px}
.pt-step b{display:block; margin-bottom:6px; font-size:15px}
.pt-step p{margin:0; font-size:13.5px; line-height:1.55; color:var(--ink-soft)}
.pt-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.pt-price{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:18px; padding:18px 20px; box-shadow:var(--lift-1); display:flex; flex-direction:column; gap:6px}
.pt-price .eyebrow{margin-bottom:4px}
.pt-price b{font-family:var(--font-display); font-weight:400; font-size:30px; line-height:1.1}
.pt-price span{font-size:13px; color:var(--ink-soft); line-height:1.5}
.pt-note{font-size:13.5px; color:var(--ink-soft); line-height:1.6; max-width:78ch; margin:16px 0 0}
.pt-pilot{margin:14px 0 0; padding:12px 16px; border-radius:14px; background:var(--warn-bg); color:var(--warn); font-size:13px; line-height:1.5; max-width:78ch}
.pt-two{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.pt-card{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:18px; padding:20px 22px; box-shadow:var(--lift-1)}
.pt-list{list-style:none; margin:8px 0 0; padding:0}
.pt-list li{display:flex; gap:12px; align-items:flex-start; padding:9px 0; border-bottom:1px solid rgba(var(--line-c),.07); font-size:14px; line-height:1.55; color:var(--ink-soft)}
.pt-list li:last-child{border-bottom:none}
.pt-list li::before{content:'✓'; flex:none; width:22px; height:22px; border-radius:50%; background:var(--accent-ghost); color:var(--accent); display:grid; place-items:center; font-size:12px; margin-top:1px}
.pt-list b{color:var(--ink)}
.pt-faq{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:16px; margin-bottom:10px; box-shadow:var(--lift-1)}
.pt-faq summary{cursor:pointer; padding:16px 18px; list-style:none; display:flex; align-items:center; gap:12px; font-size:15px}
.pt-faq summary::-webkit-details-marker{display:none}
.pt-faq summary::after{content:'+'; margin-left:auto; font-size:20px; color:var(--accent); transition:transform .3s}
.pt-faq[open] summary::after{transform:rotate(45deg)}
.pt-faq .a{padding:0 18px 16px; font-size:13.5px; line-height:1.6; color:var(--ink-soft)}
.pt-form-wrap{display:grid; grid-template-columns:1.2fr 1fr; gap:14px}
.pt-form label{display:block; font-size:12px; color:var(--ink-soft); margin:10px 0 4px}
.pt-form .field{width:100%}
.pt-small{font-size:12.5px; color:var(--ink-faint); line-height:1.5}
@media (max-width:980px){ .pt-steps,.pt-grid{grid-template-columns:1fr 1fr} }
@media (max-width:760px){
  .pt-head,.pt-two,.pt-form-wrap{grid-template-columns:1fr}
  .pt-fact{padding:12px 14px} .pt-fact b{font-size:22px}
  .pt-band,.pt-band img,.pt-band svg{border-radius:16px}
  .pt-band img{aspect-ratio:3/1}
  .pt-band.rg-band-wide img,.pt-band.rg-band-wide svg{aspect-ratio:2/1}
  .pt-sec{margin-top:44px}
}
@media (max-width:480px){ .pt-steps,.pt-grid{grid-template-columns:1fr} .pt-cta .btn{flex:1 1 100%; text-align:center} }
/* Своя вёрстка несёт и свой reduced-motion: общие правила каркасов покрывают только их классы (разбор Codex к PR #60). */
@media (prefers-reduced-motion:reduce){ .pt-faq summary::after{transition:none} }

/* ---------- rg-: региональные страницы /import/… (ПР6-б) ---------- */
.rg-crumbs{display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:12.5px; color:var(--ink-faint); margin:0 0 14px; padding:0; list-style:none}
.rg-crumbs li{display:inline-flex; align-items:center; gap:6px}
.rg-crumbs li+li::before{content:'›'; color:var(--ink-faint)}
.rg-crumbs a{color:var(--ink-soft); text-decoration:none}
.rg-crumbs a:hover{color:var(--accent)}
.rg-crumbs [aria-current]{color:var(--ink)}
.rg-head h1{max-width:24ch}
.pt-grid.rg-3{grid-template-columns:repeat(3,1fr)}
.rg-tblw{overflow-x:auto; border-radius:18px; box-shadow:var(--lift-1)}
.rg-table{width:100%; border-collapse:separate; border-spacing:0; background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:18px; font-size:14px; min-width:520px}
.rg-table th,.rg-table td{padding:12px 14px; text-align:left; border-bottom:1px solid rgba(var(--line-c),.07); vertical-align:middle}
.rg-table th{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; white-space:nowrap}
.rg-table tr:last-child td{border-bottom:none}
/* Числовые клетки и их заголовки идут влево, как весь ряд: выравнивание вправо читалось «заголовки съехали»
   (замечание владельца 15.09.2026, ПР6-в). Табличные цифры и запрет переноса остаются. */
.rg-table .n{font-variant-numeric:tabular-nums; white-space:nowrap}
.rg-table td a{color:var(--ink); text-decoration:none; font-weight:600}
.rg-table td a:hover{color:var(--accent)}
.rg-table .dim{color:var(--ink-faint); font-weight:500}
.rg-pill{display:inline-flex; align-items:center; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:60px; border:1px solid var(--warn); background:var(--warn-bg); color:var(--warn); white-space:nowrap; vertical-align:middle}
.rg-pill.ask{border-color:rgba(var(--line-c),.2); background:var(--srf-mid); color:var(--ink-soft)}
.rg-pill.star{border-color:var(--accent); background:var(--accent-ghost); color:var(--accent)}
.rg-price .sub{display:block; font-size:13px; color:var(--ink-soft); line-height:1.5}
.rg-price .pills{display:flex; gap:6px; flex-wrap:wrap; margin-top:4px}
.rg-map{margin:0}
.rg-stages{display:grid; gap:10px; margin-top:16px}
.rg-stage{background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:16px; box-shadow:var(--lift-1)}
.rg-stage summary{cursor:pointer; padding:14px 18px; list-style:none; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px}
.rg-stage summary::-webkit-details-marker{display:none}
.rg-stage summary .no{font-family:var(--font-display); font-size:22px; color:var(--accent)}
.rg-stage summary b{font-size:15px; display:block}
.rg-stage summary .d{font-size:12.5px; color:var(--ink-faint)}
.rg-stage summary .chev{font-size:20px; color:var(--accent); transition:transform .3s}
.rg-stage[open] summary .chev{transform:rotate(45deg)}
.rg-stage .body{padding:0 18px 18px}
.rg-ex{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.rg-car{display:block; background:var(--srf-hi); border:1px solid rgba(var(--line-c),.08); border-radius:18px; overflow:hidden; box-shadow:var(--lift-1); text-decoration:none; color:var(--ink)}
.rg-car .pic{position:relative; aspect-ratio:16/9; background:var(--srf-mid); overflow:hidden; display:grid; place-items:center; color:var(--ink-faint); font-size:13px; text-align:center; padding:0 12px}
.rg-car .pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.rg-car .pic .ai{position:absolute; right:8px; bottom:6px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(7,26,51,.55); padding:3px 7px; border-radius:60px}
.rg-car .b{padding:12px 14px}
.rg-car .name{display:block; font-weight:600; font-size:14.5px; margin-bottom:4px}
.rg-car .price{display:block; font-family:var(--font-display); font-size:20px; line-height:1.15}
.rg-car .price small{font-family:var(--font); font-size:12px; color:var(--ink-soft)}
.rg-chips{display:flex; flex-wrap:wrap; gap:8px}
.rg-chip{display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:60px; border:1px solid rgba(var(--line-c),.14); background:var(--srf-hi); color:var(--ink); font-size:13px; text-decoration:none; transition:border-color .25s,color .25s}
.rg-chip:hover{border-color:var(--accent); color:var(--accent)}
.rg-chip.dim{color:var(--ink-faint)}
/* Переключатель страны покупки в шапке страниц города и страны (ПР6-в): три посадочные на один город —
   Япония, Корея, Китай — видны с первого экрана, а не только чипами внизу. Текущая — aria-current. */
.rg-tabs{display:inline-flex; flex-wrap:wrap; gap:4px; padding:4px; margin:0 0 14px; border-radius:60px; background:var(--srf-lo); border:1px solid rgba(var(--line-c),.1)}
.rg-tab{padding:7px 14px; border-radius:60px; font-size:13px; font-weight:600; color:var(--ink-soft); text-decoration:none; transition:background .25s,color .25s}
.rg-tab:hover{color:var(--accent)}
.rg-tab.on,.rg-tab.on:hover{background:var(--accent-deep); color:#fff}
.rg-meta{font-size:12.5px; color:var(--ink-faint); margin:10px 0 0; line-height:1.5}
.rg-partners{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center}
.rg-partners b.big{font-family:var(--font-display); font-weight:400; font-size:44px; line-height:1; color:var(--accent)}
@media (max-width:980px){ .rg-ex,.pt-grid.rg-3{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .rg-ex,.pt-grid.rg-3{grid-template-columns:1fr} .rg-stage summary{grid-template-columns:36px minmax(0,1fr) auto} .rg-partners{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .rg-stage summary .chev,.rg-chip,.rg-tab{transition:none} }
