/* ============================================================
   page.css - стили ВНУТРЕННИХ страниц сайта «Рыбалка на Кольском».
   Подключается ТОЛЬКО вместе со style.css и ПОСЛЕ него:
     <link rel="stylesheet" href="../style.css">
     <link rel="stylesheet" href="../page.css">
   Ничего из style.css не дублирует и не переопределяет.
   Переменные, кнопки (.btn), хедер (.hdr), футер (.ftr), .wrap,
   .sec-head/.sec-title/.sec-lead, .reveal/.wipe, .fab/.dock, .faq__*
   берутся из style.css как есть.
   Тёмная тема, анимации только transform/opacity, ветка reduced-motion внизу.
   ============================================================ */

/* ---------- Локальные токены страниц (не трогают :root из style.css) ---------- */
.page{
  --page-gap:clamp(56px,8vw,104px);   /* вертикальный ритм между секциями */
  --card-r:16px;                      /* радиус карточек внутренних страниц */
}

/* Отступ секций внутренних страниц. Вешается на <section> вместе с .wrap-контентом. */
.sec{padding-block:var(--page-gap)}
.sec--tight{padding-block:clamp(36px,5vw,64px)}
.sec--alt{background:var(--bg-2)}
.sec--line{border-top:1px solid var(--line-2)}

/* ============================================================
   1. HERO ВНУТРЕННЕЙ СТРАНИЦЫ (.phero)
   Компактнее главного: не 100dvh, а ~62vh. Фото-фон + градиент-подложка,
   чтобы текст всегда читался. Ken Burns только при желании motion.
   ============================================================ */
.phero{
  position:relative;overflow:hidden;
  min-height:min(62vh,600px);
  display:flex;align-items:flex-end;
  /* 72px - высота фиксированного .hdr из style.css */
  padding-top:calc(72px + 24px);
  background:var(--bg-2);
}
.phero__bg{
  position:absolute;inset:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  will-change:transform;
}
.phero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,11,13,.72) 0%,rgba(8,11,13,.30) 34%,rgba(8,11,13,.62) 70%,rgba(8,11,13,.97) 100%),
    linear-gradient(90deg,rgba(8,11,13,.78) 0%,rgba(8,11,13,0) 66%);
}
.phero__inner{
  position:relative;z-index:2;width:100%;
  padding-block:clamp(32px,5vw,64px);
}
.phero__eyebrow{
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
  color:var(--accent);margin-bottom:14px;
}
.phero__title{font-size:clamp(30px,5.2vw,64px);max-width:17ch}
.phero__lead{margin-top:18px;max-width:52ch;color:#d3dadd;font-size:clamp(16px,1.9vw,20px)}
.phero__cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

/* Строка фактов под лидом героя: дни · группа · от-цена */
.phero__meta{
  list-style:none;margin-top:26px;
  display:flex;flex-wrap:wrap;gap:10px;
}
.phero__meta li{
  font-size:14px;font-weight:500;color:#cfd6d9;
  padding:8px 14px;border-radius:999px;
  border:1px solid var(--line);background:rgba(12,16,19,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.phero__meta li b{color:var(--ink);font-weight:700}

/* ============================================================
   2. ХЛЕБНЫЕ КРОШКИ (.crumbs)
   Живут ПОД хедером, внутри .phero__inner (первым элементом) либо отдельной полосой.
   ============================================================ */
.crumbs{font-size:13.5px;color:var(--muted-2);margin-bottom:18px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li+li::before{content:"/";color:var(--muted-2);opacity:.6}
.crumbs a{color:var(--muted);transition:color .2s var(--ease)}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current="page"]{color:var(--ink)}

/* ============================================================
   3. ТИПОГРАФИКА ДЛИННОГО ТЕКСТА (.prose)
   Всё, что внутри .prose, оформляется без лишних классов.
   ============================================================ */
.prose{max-width:68ch;color:var(--muted);font-size:clamp(16px,1.7vw,18px);line-height:1.7}
.prose>*+*{margin-top:18px}
.prose h2{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(24px,3.4vw,38px);color:var(--ink);line-height:1.12;
  margin-top:clamp(40px,5vw,64px);
}
.prose h3{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(19px,2.3vw,25px);color:var(--ink);line-height:1.2;
  margin-top:clamp(28px,3.4vw,40px);
}
.prose h2+*,.prose h3+*{margin-top:16px}
.prose p{color:var(--muted)}
/* Ответ сразу под H2-вопросом (AEO): первый абзац после вопроса светлее и крупнее */
.prose h2+p{color:#cfd6d9;font-size:1.06em}
.prose strong,.prose b{color:var(--ink);font-weight:700}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:#f0993f}
.prose ul,.prose ol{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:20px}
.prose li{position:relative;padding-left:28px}
.prose ul>li::before{
  content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;
  border:2px solid var(--accent);
}
.prose ol{counter-reset:pl}
.prose ol>li{counter-increment:pl}
.prose ol>li::before{
  content:counter(pl);position:absolute;left:0;top:0;
  font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--accent);
}
.prose>img{border-radius:var(--card-r);margin-top:28px}
.prose figure{margin-top:28px}
.prose figure img{border-radius:var(--card-r)}
.prose figcaption{margin-top:10px;color:var(--muted-2);font-size:13.5px}

/* ============================================================
   4. ПРОГРАММА ПО ДНЯМ (.prog)
   Вертикальная лента дней с линией слева. Каждый день - .prog__day.
   ============================================================ */
.prog{list-style:none;position:relative;margin-top:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:0}
.prog::before{
  content:"";position:absolute;left:11px;top:14px;bottom:14px;width:1px;
  background:linear-gradient(180deg,var(--accent),rgba(224,138,62,.15) 60%,transparent);
}
.prog__day{position:relative;padding:0 0 clamp(28px,3.6vw,44px) 44px}
.prog__day:last-child{padding-bottom:0}
.prog__day::before{
  content:"";position:absolute;left:5px;top:9px;width:13px;height:13px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);
}
.prog__idx{
  font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);
}
.prog__title{
  font-family:var(--font-display);font-weight:600;font-size:clamp(19px,2.3vw,26px);
  color:var(--ink);margin-top:8px;line-height:1.2;
}
.prog__day p{margin-top:12px;color:var(--muted);max-width:60ch}
.prog__day img{margin-top:16px;border-radius:12px;width:100%;object-fit:cover;aspect-ratio:16/9}

/* ============================================================
   5. КАРТОЧКИ (.cards / .card)
   Универсальная сетка: трофеи, способы ловли, тезисы, ссылки на разделы.
   Вариант .card--link добавляет стрелку и hover-подъём.
   ============================================================ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px);margin-top:clamp(24px,3vw,40px)}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--card-r);
  padding:clamp(20px,2.4vw,28px);
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.card__kick{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--steel);margin-bottom:10px}
.card__title{font-family:var(--font-display);font-weight:600;font-size:clamp(17px,2vw,21px);line-height:1.2}
.card p{margin-top:12px;color:var(--muted);font-size:15.5px}
.card__note{margin-top:auto;padding-top:16px;color:var(--muted-2);font-size:13.5px}
/* Карточка с фото сверху */
.card--media{padding:0;overflow:hidden}
.card--media .card__media{aspect-ratio:16/10;background-position:center;background-size:cover;background-repeat:no-repeat}
.card--media .card__body{padding:clamp(20px,2.4vw,28px)}
/* Кликабельная карточка */
.card--link{cursor:pointer}
.card--link:hover{border-color:rgba(224,138,62,.5);transform:translateY(-3px)}
.card--link .card__title::after{content:" →";color:var(--accent)}
/* Акцентная карточка (одна на блок, не больше) */
.card--accent{background:rgba(224,138,62,.07);border-color:rgba(224,138,62,.32)}

/* ============================================================
   6. ЧТО ВКЛЮЧЕНО (.incl)
   Две колонки: «входит в цену» / «оплачивается отдельно».
   .incl__col--in - галочки-точки стального цвета, .incl__col--add - плюсы акцентом.
   ============================================================ */
.incl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,22px);margin-top:clamp(24px,3vw,40px)}
.incl__col{border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.8vw,32px);background:var(--bg-2)}
.incl__col--add{background:var(--bg-3)}
.incl__head{
  font-family:var(--font-display);font-weight:600;font-size:clamp(17px,2vw,21px);
  margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.incl__list{list-style:none;display:flex;flex-direction:column;gap:13px}
.incl__list li{position:relative;padding-left:28px;color:var(--muted);font-size:15.5px;line-height:1.5}
.incl__list li b{color:var(--ink);font-weight:700}
.incl__list li::before{
  content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;
  border:2px solid var(--steel);
}
.incl__col--add .incl__list li::before{border-color:var(--accent);border-radius:3px}
/* Цена опции справа в строке */
.incl__price{
  float:right;margin-left:12px;
  font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--steel);white-space:nowrap;
}
.incl__foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2);color:var(--muted-2);font-size:13px;line-height:1.5}

/* ============================================================
   7. ТАБЛИЦА (.tbl)
   Цены, сезон по месяцам, снаряжение. На мобильных скроллится по горизонтали.
   Обёртка: <div class="tbl-scroll"><table class="tbl">...
   ============================================================ */
.tbl-scroll{overflow-x:auto;margin-top:clamp(24px,3vw,40px);
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
  border:1px solid var(--line);border-radius:16px}
.tbl-scroll::-webkit-scrollbar{height:8px}
.tbl-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px;background:var(--bg-2)}
.tbl caption{caption-side:bottom;padding:14px 18px;color:var(--muted-2);font-size:13px;text-align:left}
.tbl th,.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top}
.tbl thead th{
  font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted);background:var(--bg-3);
}
.tbl tbody th{font-weight:700;color:var(--ink);font-family:var(--font-text)}
.tbl td{color:var(--muted)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl__num{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.tbl__accent{color:var(--accent);font-weight:700}
.tbl tbody tr:hover td,.tbl tbody tr:hover th{background:rgba(255,255,255,.02)}

/* ============================================================
   8. ВРЕЗКА-ЦИТАТА (.pull)
   Голос гида Владимира или честная оговорка. НЕ отзыв гостя: отзывов у нас нет.
   ============================================================ */
.pull{
  position:relative;margin-top:clamp(32px,4vw,52px);
  border-left:2px solid var(--accent);
  padding:clamp(20px,2.6vw,30px) clamp(20px,2.6vw,32px);
  background:linear-gradient(90deg,rgba(224,138,62,.07),rgba(224,138,62,0) 70%);
  border-radius:0 var(--card-r) var(--card-r) 0;
  max-width:64ch;
}
.pull p{
  font-family:var(--font-display);font-weight:400;line-height:1.35;letter-spacing:-.01em;
  font-size:clamp(18px,2.4vw,26px);color:var(--ink);
}
.pull__who{margin-top:14px;font-family:var(--font-text);font-size:13.5px;color:var(--muted-2);letter-spacing:.02em}

/* ============================================================
   9. БЛОК ФАКТА (.fact)
   Короткая цифра/тезис в рамке. Ряд фактов: обёртка .facts.
   ============================================================ */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:clamp(24px,3vw,40px);
  background:var(--line-2);border:1px solid var(--line-2);border-radius:16px;overflow:hidden}
.facts--3{grid-template-columns:repeat(3,1fr)}
.fact{background:var(--bg);padding:clamp(20px,2.8vw,30px);display:flex;flex-direction:column;gap:8px}
.fact__num{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,3.2vw,38px);color:var(--ink);letter-spacing:-.02em}
.fact__cap{color:var(--muted-2);font-size:14px;line-height:1.45}
.fact--accent .fact__num{color:var(--accent)}
/* Одиночный факт-плашка на всю ширину (например честная оговорка про улов) */
.fact--wide{
  background:var(--bg-3);border:1px solid var(--line);border-radius:16px;
  flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap;
  padding:clamp(20px,2.6vw,28px);margin-top:clamp(24px,3vw,40px);
}
.fact--wide .fact__num{font-size:clamp(20px,2.4vw,28px)}
.fact--wide .fact__cap{font-size:15.5px;color:var(--muted);max-width:62ch}

/* ============================================================
   10. ХАБ «РЫБЫ КОЛЬСКОГО»: .fish-grid / .fish-card
   Карточка вида: фото + название + способ ловли + сезон.
   ============================================================ */
.fish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(24px,3vw,40px)}
.fish-grid--3{grid-template-columns:repeat(3,1fr)}
.fish-card{
  position:relative;display:block;overflow:hidden;border-radius:var(--card-r);
  aspect-ratio:3/4;min-height:290px;
  background:var(--bg-2);border:1px solid var(--line-2);
}
.fish-card__media{
  position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;
  transition:transform .6s var(--ease);
}
.fish-card:hover .fish-card__media{transform:scale(1.05)}
.fish-card__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,15,0) 38%,rgba(10,13,15,.9))}
.fish-card__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:20px}
.fish-card__name{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,2.1vw,24px);color:var(--ink)}
.fish-card__way{margin-top:6px;color:var(--steel);font-size:13.5px;letter-spacing:.02em}
.fish-card__season{margin-top:10px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--accent);background:rgba(224,138,62,.14);padding:5px 11px;border-radius:999px}
/* Карточка-ссылка: стрелка в углу */
a.fish-card::after{
  content:"→";position:absolute;right:16px;top:14px;z-index:3;
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:rgba(12,16,19,.7);border:1px solid var(--line);color:var(--ink);font-size:15px;
  opacity:0;transform:translateY(-4px);transition:opacity .25s var(--ease),transform .25s var(--ease);
}
a.fish-card:hover::after,a.fish-card:focus-visible::after{opacity:1;transform:none}

/* ============================================================
   11. CTA-ПОЛОСА (.cta-strip)
   Лёгкая версия .band со главной: без фото, чтобы ставить 2-3 раза на длинной странице.
   ============================================================ */
.cta-strip{
  border-block:1px solid var(--line);
  background:linear-gradient(90deg,rgba(224,138,62,.10),rgba(224,138,62,0) 62%),var(--bg-2);
}
.cta-strip__inner{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  padding-block:clamp(34px,5vw,60px);
}
.cta-strip__text{max-width:46ch}
.cta-strip__title{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3.2vw,36px);line-height:1.12;letter-spacing:-.02em}
.cta-strip__text p{margin-top:12px;color:var(--muted);font-size:clamp(15px,1.7vw,17px)}
.cta-strip__price{margin-top:12px;font-family:var(--font-display);font-weight:600;color:var(--accent);font-size:clamp(15px,1.7vw,17px)}
.cta-strip__actions{display:flex;gap:12px;flex-wrap:wrap}

/* ============================================================
   11a. НАВИГАЦИЯ ПО РАЗДЕЛАМ В ФУТЕРЕ (.ftr__nav)
   Отдельной строкой под первой строкой .ftr__inner (она flex-wrap).
   Используется и на главной, и на внутренних страницах,
   поэтому page.css подключён в том числе на index.html.
   ============================================================ */
.ftr__nav{
  flex-basis:100%;order:9;
  display:flex;flex-wrap:wrap;gap:10px 24px;
  padding-top:22px;margin-top:6px;border-top:1px solid var(--line-2);
  font-size:14.5px;color:var(--muted);
}
.ftr__nav a{transition:color .2s var(--ease)}
.ftr__nav a:hover{color:var(--accent)}

/* ============================================================
   12. АДАПТИВ
   ============================================================ */
@media (max-width:1000px){
  .cards,.cards--4{grid-template-columns:repeat(2,1fr)}
  .fish-grid,.fish-grid--3{grid-template-columns:repeat(3,1fr)}
  .facts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .incl{grid-template-columns:1fr}
}
@media (max-width:760px){
  .phero{min-height:auto;padding-top:calc(64px + 20px)}  /* .hdr на мобиле 64px */
  .phero__title{max-width:none}
  .phero__cta .btn{flex:1}
  .cards,.cards--2,.cards--4{grid-template-columns:1fr}
  .fish-grid,.fish-grid--3{grid-template-columns:repeat(2,1fr)}
  .fish-card{min-height:250px}
  .facts,.facts--3{grid-template-columns:1fr 1fr}
  .prog__day{padding-left:36px}
  .prog::before{left:8px}
  .prog__day::before{left:2px}
  .cta-strip__actions{width:100%}
  .cta-strip__actions .btn{flex:1}
  .pull{padding-inline:18px}
}
@media (max-width:440px){
  .fish-grid,.fish-grid--3{grid-template-columns:1fr}
  .facts,.facts--3{grid-template-columns:1fr}
}

/* ============================================================
   13. REDUCED MOTION
   style.css уже глушит длительности глобально; здесь снимаем сами трансформы,
   чтобы ничего не «прыгало» и не оставалось в сдвинутом состоянии.
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .phero__bg{animation:kenburns 26s ease-in-out infinite alternate}
}
@media (prefers-reduced-motion:reduce){
  .phero__bg{animation:none;transform:none}
  .card--link:hover{transform:none}
  .fish-card:hover .fish-card__media{transform:none}
  a.fish-card::after{opacity:1;transform:none}
}

/* Полноширинный кадр между секциями внутренних страниц */
.pshot{padding-block:clamp(24px,3vw,44px)}
.pshot__fig{margin:0}
.pshot__fig img{width:100%;height:auto;max-height:62vh;object-fit:cover;border-radius:var(--card-r,16px)}
.pshot__fig figcaption{margin-top:10px;color:var(--muted);font-size:14px}
