/* === Переменные блока ====================================== */
.pa-fest{
  --pf-bg-1:#fff2dc;
  --pf-bg-2:#ffe1b8;
  --pf-bg-3:#ffd29a;
  --pf-ink:#1f140a;
  --pf-ink-soft:#5a3e25;
  --pf-line:#f3dcb6;

  --pf-coral:#ff7a4a;
  --pf-orange:#ff6a1a;
  --pf-orange-deep:#e54a00;
  --pf-red:#e23a2b;
  --pf-yellow:#ffd23a;
  --pf-mint:#27c39a;
  --pf-rose:#ffb199;

  --pf-card:#ffffff;

  --pf-radius:28px;
  --pf-radius-sm:16px;

  --pf-shadow: 0 22px 50px -22px rgba(216,90,20,.32), 0 8px 22px -10px rgba(216,90,20,.18);
  --pf-shadow-hi: 0 42px 80px -28px rgba(216,90,20,.55), 0 14px 30px -10px rgba(216,90,20,.28);

  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--pf-ink);
  padding:80px 24px 100px;
  position:relative;
  overflow:hidden;

  background:
    radial-gradient(800px 500px at 10% 0%, #ffe6c0, transparent 60%),
    radial-gradient(900px 500px at 100% 100%, #ffd0a6, transparent 60%),
    linear-gradient(180deg,#fff2dc 0%, #ffe1b8 100%);
}

/* лёгкие декоративные «конфетти» в фоне */
.pa-fest::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,210,58,.35) 0 8px, transparent 9px),
    radial-gradient(circle at 88% 12%, rgba(226,58,43,.25) 0 6px, transparent 7px),
    radial-gradient(circle at 6% 78%, rgba(255,106,26,.25) 0 10px, transparent 11px),
    radial-gradient(circle at 94% 70%, rgba(39,195,154,.22) 0 7px, transparent 8px),
    radial-gradient(circle at 50% 95%, rgba(255,122,74,.18) 0 14px, transparent 15px);
  opacity:.7;
}
.pa-fest__inner{position:relative;z-index:1;max-width:1300px;margin:0 auto;}

/* === Заголовок секции ====================================== */
.pa-fest__heading{text-align:center;margin:0 auto 56px;max-width:880px;}
.pa-fest__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 16px;border-radius:999px;
  background:#fff;
  border:1.5px solid var(--pf-orange);
  color:var(--pf-orange-deep);
  font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  box-shadow:0 8px 24px -10px rgba(229,74,0,.4);
}
.pa-fest__eyebrow-dot{
  width:8px;height:8px;border-radius:50%;background:var(--pf-orange);
  box-shadow:0 0 0 4px rgba(255,106,26,.2);
}
.pa-fest__title{
  font-family:"Unbounded","Manrope",sans-serif;
  font-weight:700;
  font-size:clamp(28px,4vw,50px);
  line-height:1.08;
  margin:18px 0 14px;
  color:var(--pf-ink);
  letter-spacing:-.02em;
  text-wrap:balance;
}
.pa-fest__title-mark{
  background:linear-gradient(135deg, #ff8a1a 0%, #e54a00 55%, #c14a26 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:700;
}
.pa-fest__lede{color:var(--pf-ink-soft);font-size:17px;line-height:1.55;margin:0;}

/* === Сетка трёх карточек =================================== */
.pa-fest__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  align-items:stretch;
}

/* === Карточка ============================================== */
.pa-fest__card{
  --pf-accent: var(--pf-coral);
  position:relative;
  display:flex;flex-direction:column;
  background:var(--pf-card);
  border-radius:var(--pf-radius);
  box-shadow:var(--pf-shadow);
  overflow:hidden;
  text-decoration:none;color:inherit;
  transition:transform .35s ease, box-shadow .35s ease;
  isolation:isolate;
}
.pa-fest__card:hover{
  transform:translateY(-6px);
  box-shadow:var(--pf-shadow-hi);
}

/* Цветная «билетная» шапка с фото */
.pa-fest__media{
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:var(--pf-accent);
}
.pa-fest__media img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s ease;
}
.pa-fest__card:hover .pa-fest__media img{transform:scale(1.05);}
/* цветная подложка просвечивает по краям как «лента» */
.pa-fest__media::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, var(--pf-accent) 100%);
  mix-blend-mode:multiply;opacity:.55;
}

/* перфорация «отрывного билета» */
.pa-fest__perf{
  position:relative;
  height:18px;
  background:var(--pf-accent);
}
.pa-fest__perf::before{
  content:"";position:absolute;left:-9px;top:50%;width:18px;height:18px;border-radius:50%;
  background:var(--pf-bg-1);transform:translateY(-50%);
}
.pa-fest__perf::after{
  content:"";position:absolute;right:-9px;top:50%;width:18px;height:18px;border-radius:50%;
  background:var(--pf-bg-1);transform:translateY(-50%);
}
/* пунктир внутри перфорации */
.pa-fest__perf > i{
  position:absolute;left:18px;right:18px;top:50%;height:2px;transform:translateY(-50%);
  background-image: linear-gradient(90deg,#fff 0 8px, transparent 8px 16px);
  background-size:16px 2px;opacity:.85;
  display:block;
}

/* Бейдж на верхней зоне */
.pa-fest__tag{
  position:absolute;left:18px;top:18px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;
  background:#fff;color:var(--pf-ink);
  font-size:12px;font-weight:800;letter-spacing:.06em;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.25);
}
.pa-fest__tag b{color:var(--pf-orange-deep);}

/* Тело карточки */
.pa-fest__body{
  display:flex;flex-direction:column;flex:1;
  padding:26px 26px 28px;
  gap:18px;
}

/* Заголовок пакета */
.pa-fest__name{
  font-family:"Unbounded","Manrope",sans-serif;
  font-weight:800;
  font-size:30px;line-height:1;
  margin:0;color:var(--pf-ink);
  letter-spacing:-.02em;
}

/* Подзаголовок */
.pa-fest__sub{
  font-size:15px;line-height:1.45;font-weight:600;
  color:var(--pf-ink-soft);
  padding:12px 16px;
  background:#fff7eb;
  border-left:4px solid var(--pf-accent);
  border-radius:10px;
  min-height:54px;
  display:flex;align-items:center;
}

/* Список преимуществ */
.pa-fest__list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:8px;
  flex:1;
}
.pa-fest__list li{
  display:flex;align-items:flex-start;gap:12px;
  padding:8px 4px;
  font-size:15px;line-height:1.4;
  color:var(--pf-ink);
}
.pa-fest__list li > .pa-fest__check{
  flex:0 0 auto;
  width:22px;height:22px;border-radius:50%;
  background:var(--pf-accent);
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:1px;
  box-shadow:0 4px 10px -3px color-mix(in srgb, var(--pf-accent) 70%, transparent);
}
.pa-fest__list li > .pa-fest__check svg{width:12px;height:12px;display:block;}
.pa-fest__list li > span{flex:1;}

/* Блок цены — «стикер билета» */
.pa-fest__price{
  margin-top:6px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 22px;
  background:var(--pf-accent);
  color:#fff;
  border-radius:18px;
  position:relative;
  overflow:hidden;
}
.pa-fest__price::after{
  content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.25), transparent 70%);
  pointer-events:none;
}
.pa-fest__price-left{display:flex;flex-direction:column;line-height:1;}
.pa-fest__price-label{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:800;opacity:.85;margin-bottom:6px;
}
.pa-fest__price-old{
  font-size:14px;font-weight:700;opacity:.85;text-decoration:line-through;
}
.pa-fest__price-right{
  display:flex;align-items:baseline;gap:4px;
  font-family:"Unbounded","Manrope",sans-serif;
  font-weight:800;letter-spacing:-.02em;
}
.pa-fest__price-now{font-size:42px;line-height:1;}
.pa-fest__price-cur{font-size:24px;line-height:1;opacity:.9;}

/* === ВАРИАНТЫ ЦВЕТА ПО ПАКЕТАМ ============================ */
.pa-fest__card--start   { --pf-accent: #ff8a5b; }
.pa-fest__card--hit     { --pf-accent: #ff5a14; }
.pa-fest__card--premium { --pf-accent: #d9421f; }

/* === ХИТ — премиальное выделение =========================== */
.pa-fest__card--hit{
  transform:translateY(-18px) scale(1.02);
  box-shadow:
    0 0 0 3px #fff inset,
    0 0 0 5px var(--pf-orange) inset,
    0 50px 80px -30px rgba(229,74,0,.55),
    0 18px 36px -10px rgba(229,74,0,.35);
  background:#fff;
}
.pa-fest__card--hit:hover{transform:translateY(-26px) scale(1.02);}
.pa-fest__card--hit .pa-fest__body{padding-top:24px;}
.pa-fest__card--hit .pa-fest__sub{
  background:#fff3dc;border-left-color:var(--pf-orange);
  color:#8c3a00;
}
.pa-fest__hot-badge{
  position:absolute;top:14px;left:14px;
  z-index:3;
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  background:linear-gradient(135deg,#ff8a1a 0%, #e54a00 100%);
  box-shadow:0 10px 24px -8px rgba(229,74,0,.55), inset 0 1px 0 rgba(255,255,255,.3);
}
.pa-fest__hot-badge .pa-fest__flame{
  width:12px;height:12px;display:inline-block;
}

/* пунктирная конфетти-рамка вокруг хита */
.pa-fest__card--hit::after{
  content:"";position:absolute;inset:8px;border-radius:22px;pointer-events:none;
  border:1.5px dashed rgba(255,90,20,.22);
  z-index:0;
}

/* === VIP блок — Король саванны ============================= */
/* VIP — закат в саванне: золото → коралл → терракота */
.pa-fest__vip{
  margin-top:60px;
  position:relative;
  border-radius:36px;
  overflow:hidden;
  text-decoration:none;color:inherit;
  display:grid;
  grid-template-columns: 1.05fr 1.25fr;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,228,150,.7), transparent 45%),
    radial-gradient(circle at 15% 80%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(120deg, #f9b85a 0%, #f08a35 35%, #d96526 68%, #b04a26 100%);
  box-shadow:0 50px 100px -40px rgba(176,74,38,.55), 0 20px 40px -12px rgba(255,138,53,.32);
  color:#fff;
  isolation:isolate;
}

/* лучи солнца */
.pa-fest__vip::before{
  content:"";position:absolute;left:-200px;top:50%;transform:translateY(-50%);
  width:900px;height:900px;border-radius:50%;
  background:
    conic-gradient(from 0deg,
      rgba(255,255,255,.16) 0 8deg, transparent 8deg 20deg,
      rgba(255,255,255,.12) 20deg 26deg, transparent 26deg 42deg,
      rgba(255,255,255,.16) 42deg 50deg, transparent 50deg 70deg,
      rgba(255,255,255,.10) 70deg 76deg, transparent 76deg 95deg,
      rgba(255,255,255,.14) 95deg 102deg, transparent 102deg 120deg,
      rgba(255,255,255,.10) 120deg 126deg, transparent 126deg 360deg);
  -webkit-mask-image:radial-gradient(circle, #000 0%, transparent 60%);
          mask-image:radial-gradient(circle, #000 0%, transparent 60%);
  pointer-events:none;z-index:0;
}
/* конфетти-точки */
.pa-fest__vip::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle at 92% 12%, #ffd23a 0 8px, transparent 9px),
    radial-gradient(circle at 96% 60%, #fff 0 5px, transparent 6px),
    radial-gradient(circle at 84% 90%, #ffd23a 0 6px, transparent 7px),
    radial-gradient(circle at 70% 20%, #fff 0 4px, transparent 5px),
    radial-gradient(circle at 58% 92%, #ffd23a 0 5px, transparent 6px);
  opacity:.7;
}

.pa-fest__vip-media{
  position:relative;
  min-height:520px;
  overflow:hidden;
  z-index:1;
}
.pa-fest__vip-media img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
}
.pa-fest__vip-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, transparent 55%, rgba(176,74,38,.85) 100%);
}
.pa-fest__vip-stickers{
  position:absolute;left:22px;top:22px;display:flex;gap:8px;flex-wrap:wrap;z-index:2;
}
.pa-fest__sticker{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  background:#fff;color:var(--pf-orange-deep);
  box-shadow:0 10px 24px -8px rgba(0,0,0,.35);
}
.pa-fest__sticker--gold{background:linear-gradient(135deg,#ffd23a,#ff9a1a);color:#2a1404;}

.pa-fest__vip-body{
  padding:54px 56px 48px;
  display:flex;flex-direction:column;gap:22px;
  position:relative;z-index:1;
}
.pa-fest__vip-name{
  font-family:"Unbounded","Manrope",sans-serif;
  font-size:clamp(38px,3.6vw,56px);
  line-height:1;
  font-weight:800;
  margin:0;
  color:#fff;
  letter-spacing:-.02em;
  text-shadow:0 4px 24px rgba(0,0,0,.18);
}
.pa-fest__vip-sub{
  display:inline-flex;align-self:flex-start;align-items:center;gap:10px;
  padding:12px 18px;border-radius:14px;
  background:rgba(255,255,255,.18);
  border:1.5px solid rgba(255,255,255,.4);
  backdrop-filter:blur(6px);
  font-size:15.5px;font-weight:700;color:#fff;letter-spacing:.02em;
}
.pa-fest__vip-sub::before{
  content:"★";color:#ffd23a;font-size:18px;line-height:1;
}

.pa-fest__vip-list{
  display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;
  list-style:none;margin:6px 0 0;padding:0;
}
.pa-fest__vip-list li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:15.5px;line-height:1.4;color:#fff;
  padding:9px 0;
  border-bottom:1px dashed rgba(255,255,255,.25);
}
.pa-fest__vip-list li:last-child,
.pa-fest__vip-list li:nth-last-child(2){border-bottom:none;}
.pa-fest__vip-list li > .pa-fest__check{
  flex:0 0 auto;
  width:24px;height:24px;border-radius:50%;
  background:#fff;color:var(--pf-orange-deep);
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:1px;
}
.pa-fest__vip-list li > .pa-fest__check svg{width:13px;height:13px;display:block;}

/* «билет цены» VIP */
.pa-fest__vip-price{
  margin-top:14px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 28px;
  background:#fff;
  color:var(--pf-ink);
  border-radius:22px;
  position:relative;
  box-shadow:0 22px 50px -20px rgba(43,12,2,.35);
}
.pa-fest__vip-price::before,
.pa-fest__vip-price::after{
  content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;
  background:transparent;
  box-shadow:0 0 0 100vmax transparent;
  transform:translateY(-50%);
}
.pa-fest__vip-price-left{display:flex;flex-direction:column;line-height:1.1;}
.pa-fest__vip-price-label{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:800;color:var(--pf-orange-deep);margin-bottom:8px;
}
.pa-fest__vip-price-tag{font-size:13px;color:var(--pf-ink-soft);font-weight:600;}
.pa-fest__vip-price-right{
  display:flex;align-items:baseline;gap:4px;
  font-family:"Unbounded","Manrope",sans-serif;font-weight:800;letter-spacing:-.02em;
}
.pa-fest__vip-price-now{
  font-size:64px;line-height:1;
  background:linear-gradient(135deg,#f08a35 0%, #c14a26 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pa-fest__vip-price-cur{font-size:32px;line-height:1;color:#d9651e;}

/* === Адаптив ============================================== */
@media (max-width: 1080px){
  .pa-fest__grid{grid-template-columns:1fr 1fr;gap:20px;}
  .pa-fest__card--hit{
    grid-column:1 / -1;
    transform:none;
  }
  .pa-fest__card--hit:hover{transform:translateY(-6px);}
  .pa-fest__vip{grid-template-columns:1fr;}
  .pa-fest__vip-media{min-height:340px;}
  .pa-fest__vip-media::after{background:linear-gradient(180deg, transparent 60%, rgba(176,74,38,.9) 100%);}
  .pa-fest__vip-body{padding:38px 36px;}
}
@media (max-width: 720px){
  .pa-fest{padding:56px 14px 70px;}
  .pa-fest__grid{grid-template-columns:1fr;gap:24px;}
  .pa-fest__card--hit{transform:none;}
  .pa-fest__body{padding:22px;}
  .pa-fest__name{font-size:26px;}
  .pa-fest__price-now{font-size:36px;}
  .pa-fest__price-cur{font-size:20px;}
  .pa-fest__vip{margin-top:36px;border-radius:28px;}
  .pa-fest__vip-body{padding:28px 22px;}
  .pa-fest__vip-list{grid-template-columns:1fr;gap:0;}
  .pa-fest__vip-list li:nth-last-child(2){border-bottom:1px dashed rgba(255,255,255,.25);}
  .pa-fest__vip-price{flex-direction:column;align-items:flex-start;padding:20px 22px;}
  .pa-fest__vip-price-now{font-size:54px;}
  .pa-fest__vip-media{min-height:260px;}
  .pa-fest__hot-badge{font-size:11px;padding:8px 14px;}
}



/* === Уменьшение «плашек» пакетов на 1/1.5 (≈33%) =============================
   Делает карточки (Старт/Хит/Премиум) и VIP-блок (Король Саванны)
   в 1.5 раза меньше, пропорционально. Hero не масштабируется. */

/* Сетка карточек: 1300 → 867px, gap /1.5 */
.pa-fest__grid{
  max-width: 867px;
  margin: 0 auto;
  gap: 15px;
}

/* Карточка */
.pa-fest__card{ border-radius: 19px; }
.pa-fest__perf{ height: 12px; }
.pa-fest__perf::before,
.pa-fest__perf::after{ width: 12px; height: 12px; }
.pa-fest__perf > i{ left: 12px; right: 12px; background-size: 11px 1.5px; }
.pa-fest__body{
  padding: 17px 17px 19px;
  gap: 12px;
}

/* Шрифты и поля в карточке */
.pa-fest__name{ font-size: 20px; }
.pa-fest__sub{
  font-size: 10px;
  padding: 8px 11px;
  min-height: 36px;
  border-radius: 7px;
  border-left-width: 3px;
  line-height: 1.4;
}
.pa-fest__list{ gap: 5px; }
.pa-fest__list li{
  padding: 5px 3px;
  font-size: 10px;
  line-height: 1.35;
  gap: 8px;
}
.pa-fest__list li > .pa-fest__check{
  width: 15px;
  height: 15px;
  margin-top: 0;
}
.pa-fest__list li > .pa-fest__check svg{ width: 8px; height: 8px; }

/* Блок цены */
.pa-fest__price{
  margin-top: 4px;
  padding: 12px 15px;
  border-radius: 12px;
  gap: 9px;
}
.pa-fest__price::after{
  right: -20px; top: -20px; width: 80px; height: 80px;
}
.pa-fest__price-label{
  font-size: 7.5px;
  margin-bottom: 4px;
  letter-spacing: .18em;
}
.pa-fest__price-old{ font-size: 9.5px; }
.pa-fest__price-now{ font-size: 28px; }
.pa-fest__price-cur{ font-size: 16px; }

/* Тег и хит-бейдж */
.pa-fest__tag{
  left: 12px; top: 12px;
  padding: 5px 9px;
  font-size: 8px;
  border-radius: 999px;
}
.pa-fest__hot-badge{
  top: 9px; left: 9px;
  padding: 5px 9px;
  font-size: 8px;
  letter-spacing: .14em;
  border-radius: 999px;
}
.pa-fest__hot-badge .pa-fest__flame{ width: 8px; height: 8px; }

/* «Хит» приподнят пропорционально */
.pa-fest__card--hit{ transform: translateY(-12px) scale(1.015); }
.pa-fest__card--hit:hover{ transform: translateY(-17px) scale(1.015); }
.pa-fest__card--hit::after{ inset: 5px; border-radius: 15px; }

/* VIP-блок «Король Саванны» — пропорционально */
.pa-fest__vip{
  max-width: 867px;
  margin: 40px auto 0;
  border-radius: 24px;
  grid-template-columns: 1.05fr 1.25fr;
}
.pa-fest__vip-media{ min-height: 347px; }
.pa-fest__vip-stickers{ left: 15px; top: 15px; gap: 5px; }
.pa-fest__sticker{ font-size: 8px; padding: 5px 9px; letter-spacing: .14em; }
.pa-fest__vip-body{
  padding: 36px 37px 32px;
  gap: 15px;
}
.pa-fest__vip-name{
  font-size: clamp(25px, 2.4vw, 37px);
}
.pa-fest__vip-sub{
  font-size: 10.5px;
  padding: 8px 12px;
  border-radius: 9px;
  gap: 7px;
}
.pa-fest__vip-sub::before{ font-size: 12px; }
.pa-fest__vip-list{ gap: 4px 19px; margin: 4px 0 0; }
.pa-fest__vip-list li{
  font-size: 10.5px;
  line-height: 1.35;
  padding: 6px 0;
  gap: 8px;
}
.pa-fest__vip-list li > .pa-fest__check{ width: 16px; height: 16px; }
.pa-fest__vip-list li > .pa-fest__check svg{ width: 9px; height: 9px; }
.pa-fest__vip-price{
  margin-top: 9px;
  padding: 15px 19px;
  border-radius: 15px;
  gap: 12px;
}
.pa-fest__vip-price-label{ font-size: 7.5px; margin-bottom: 5px; }
.pa-fest__vip-price-tag{ font-size: 9px; }
.pa-fest__vip-price-now{ font-size: 43px; }
.pa-fest__vip-price-cur{ font-size: 21px; }
/* === Pravki 2.2.0: префикс «от» для VIP-цены === */
.pa-fest__vip-price-now-prefix{ font-size:18px; font-weight:600; color:#7A6452; margin-right:4px; vertical-align:middle; }
