/* ==========================================================================
   ФЕСТИВАЛЬ «ПЛАВАНИЕ ДЛЯ ВСЕХ: ПЛЫВЁМ ВМЕСТЕ»
   Текстовые продающие блоки для плаваниедлявсех.рус
   --------------------------------------------------------------------------
   Дизайн-токены взяты с самого сайта:
     navy      #062674   navy-950  #03123B   brand     #076BF7
     brand-600 #0657D4   cyan      #40BEE7   light     #E7F0FF
     steel     #5A6B8C   deep-gradient 135deg #03123B → #062674 → #0C3FA8
     шрифты: Stapel (заголовки) + Inter (текст)
     радиусы: rounded-3xl = 1.5rem, pill = 9999px
   Вес: ~6 КБ CSS + логотип SVG 1.1 КБ (вместо festival-banner.jpg = 375 КБ)
   ========================================================================== */

:root{
  --pdv-navy:#062674;
  --pdv-navy-950:#03123b;
  --pdv-brand:#076bf7;
  --pdv-brand-600:#0657d4;
  --pdv-cyan:#40bee7;
  --pdv-light:#e7f0ff;
  --pdv-steel:#5a6b8c;
  --pdv-amber:#ff8a1f;          /* только для A/B-варианта кнопки */
  --pdv-deep:linear-gradient(135deg,#03123b 0%,#062674 55%,#0c3fa8 100%);
  --pdv-font-display:'Stapel','Inter',system-ui,sans-serif;
  --pdv-font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* --- общая тёмная подложка с «дорожками», без картинок --- */
.pdv-deep{position:relative; background:var(--pdv-deep); overflow:hidden;}
.pdv-deep::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(115% 150% at 88% 45%, rgba(64,190,231,.28) 0%, rgba(64,190,231,0) 58%);
}
.pdv-deep::after{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(100deg, rgba(255,255,255,.05) 0 1px, rgba(255,255,255,0) 1px 24px);
}
.pdv-deep > *{position:relative; z-index:1;}

.pdv-eyebrow{
  font-family:var(--pdv-font-body);
  font-size:11px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--pdv-cyan); margin:0 0 10px;
}
.pdv-eyebrow i{font-style:normal; color:rgba(255,255,255,.45); padding:0 6px;}


/* ==========================================================================
   БЛОК A. Липкая лента (по умолчанию — снизу экрана)
   Снизу, а не сверху: шапка сайта fixed top-0 и «плавает» таблеткой,
   верхняя лента с ней конфликтует. Вариант сверху — .pdv-bar--top ниже.
   ========================================================================== */
.pdv-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  font-family:var(--pdv-font-body);
  padding:10px 14px;
  border-top:1px solid rgba(64,190,231,.35);
  box-shadow:0 -8px 30px rgba(3,18,59,.35);
  transform:translateY(0);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.pdv-bar[hidden]{display:none;}
.pdv-bar.is-out{transform:translateY(120%);}
.pdv-bar__in{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; gap:14px;
}
.pdv-bar__mark{
  height:30px; width:auto; flex:0 0 auto; opacity:.95;
}
.pdv-bar__txt{flex:1 1 auto; color:#fff; font-size:14px; line-height:1.3;}
.pdv-bar__txt b{font-weight:700;}
.pdv-bar__txt em{font-style:normal; color:var(--pdv-cyan); font-weight:700;}
.pdv-bar__note{display:block; font-size:12px; color:rgba(255,255,255,.65); margin-top:2px;}
.pdv-bar__cta{
  flex:0 0 auto; text-decoration:none;
  background:#fff; color:var(--pdv-navy);
  font-size:14px; font-weight:700;
  padding:10px 22px; border-radius:9999px; white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pdv-bar__cta:hover{transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.25);}
.pdv-bar__close{
  flex:0 0 auto; width:30px; height:30px; border:0; cursor:pointer;
  border-radius:9999px; background:rgba(255,255,255,.14); color:#fff;
  font-size:16px; line-height:1;
}
.pdv-bar__close:hover{background:rgba(255,255,255,.24);}

/* вариант «сверху»: требует сдвинуть шапку (см. инструкцию в HTML) */
.pdv-bar--top{
  top:0; bottom:auto;
  border-top:0; border-bottom:1px solid rgba(64,190,231,.35);
  box-shadow:0 8px 30px rgba(3,18,59,.35);
}
.pdv-bar--top.is-out{transform:translateY(-120%);}

@media (max-width:767px){
  .pdv-bar{padding:9px 12px;}
  .pdv-bar__in{gap:10px;}
  .pdv-bar__mark{height:24px;}
  .pdv-bar__txt{font-size:13px;}
  .pdv-bar__note{display:none;}
  .pdv-bar__cta{font-size:13px; padding:9px 16px;}
  .pdv-bar__close{width:26px; height:26px; font-size:14px;}
}
@media (max-width:400px){
  .pdv-bar__mark{display:none;}
}


/* ==========================================================================
   БЛОК B. Главный оффер — замена festival-banner.jpg
   ========================================================================== */
.pdv-offer{
  display:block; text-decoration:none; color:#fff;
  border-radius:1.5rem;
  box-shadow:0 10px 30px rgba(3,18,59,.18);
  outline:1px solid rgba(6,38,116,.10); outline-offset:-1px;
  font-family:var(--pdv-font-body);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pdv-offer:hover{transform:translateY(-3px); box-shadow:0 20px 44px rgba(3,18,59,.28);}
.pdv-offer__grid{
  display:grid; grid-template-columns:1fr 268px; gap:28px; align-items:center;
  padding:30px 34px;
}
.pdv-offer__mark{height:44px; width:auto; display:block; margin-bottom:16px;}
.pdv-offer .pdv-offer__h{
  font-family:var(--pdv-font-display);
  font-size:34px; line-height:1.1; font-weight:700; letter-spacing:-.4px;
  margin:0 0 12px; color:#fff;
}
.pdv-offer .pdv-offer__h em{font-style:normal; color:var(--pdv-cyan);}
.pdv-offer__sub{
  font-size:15.5px; line-height:1.5; margin:0 0 18px;
  color:rgba(255,255,255,.86); max-width:56ch;
}
.pdv-offer__sub b{color:#fff; font-weight:600;}

/* шаги */
.pdv-steps{display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;}
.pdv-steps li{
  font-size:13px; font-weight:500; color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.15);
  border-radius:9999px; padding:6px 14px;
}
.pdv-steps li span{
  color:var(--pdv-cyan); font-weight:700; margin-right:6px;
  font-variant-numeric:tabular-nums;
}

/* правая колонка */
.pdv-offer__aside{text-align:center;}
.pdv-price{display:flex; align-items:baseline; justify-content:center; gap:10px; margin-bottom:2px;}
.pdv-price__old{font-size:18px; color:rgba(255,255,255,.55); text-decoration:line-through;}
.pdv-price__new{
  font-family:var(--pdv-font-display);
  font-size:52px; font-weight:700; line-height:1; color:#fff;
}
.pdv-price__note{font-size:12.5px; color:rgba(255,255,255,.7); margin:0 0 16px;}

.pdv-btn{
  display:block; text-align:center;
  background:#fff; color:var(--pdv-navy);
  font-size:16px; font-weight:700;
  padding:15px 20px; border-radius:9999px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pdv-offer:hover .pdv-btn{box-shadow:0 10px 26px rgba(0,0,0,.28);}
/* A/B-вариант кнопки: тёплый акцент, вне палитры сайта, но контрастнее */
.pdv-btn--amber{background:var(--pdv-amber); color:#0a1836;}

.pdv-seats{font-size:12.5px; line-height:1.45; margin:12px 0 0; color:rgba(255,255,255,.72);}
.pdv-seats b{color:#fff;}

.pdv-offer__trust{
  border-top:1px solid rgba(255,255,255,.12);
  margin:0; padding:14px 34px;
  font-size:12.5px; color:rgba(255,255,255,.62);
  display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center;
}
.pdv-offer__trust span{display:inline-flex; align-items:center; gap:6px;}
.pdv-offer__trust span::before{
  content:""; width:5px; height:5px; border-radius:50%;
  background:var(--pdv-cyan); flex:0 0 auto;
}

@media (max-width:1023px){
  .pdv-offer__grid{grid-template-columns:1fr; gap:20px; padding:24px 22px;}
  .pdv-offer .pdv-offer__h{font-size:27px;}
  .pdv-offer__sub{font-size:14.5px;}
  .pdv-offer__mark{height:36px; margin-bottom:12px;}
  .pdv-offer__aside{text-align:left;}
  .pdv-price{justify-content:flex-start;}
  .pdv-price__new{font-size:44px;}
  .pdv-offer__trust{padding:12px 22px; font-size:12px;}
}
@media (max-width:420px){
  .pdv-offer .pdv-offer__h{font-size:23px;}
  .pdv-steps li{font-size:12px; padding:5px 11px;}
}


/* ==========================================================================
   БЛОК C. Пилюля-анонс внутри hero (первый экран, без скролла)
   ========================================================================== */
.pdv-pill{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; font-family:var(--pdv-font-body);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-radius:9999px; padding:8px 8px 8px 16px;
  color:#fff; font-size:14px; line-height:1;
  transition:background .2s ease, transform .2s ease;
}
.pdv-pill:hover{background:rgba(255,255,255,.2); transform:translateY(-1px);}
.pdv-pill__dot{
  width:7px; height:7px; border-radius:50%; background:var(--pdv-cyan);
  flex:0 0 auto; box-shadow:0 0 0 0 rgba(64,190,231,.7);
  animation:pdvPulse 2.4s ease-out infinite;
}
@keyframes pdvPulse{
  0%{box-shadow:0 0 0 0 rgba(64,190,231,.65);}
  70%{box-shadow:0 0 0 9px rgba(64,190,231,0);}
  100%{box-shadow:0 0 0 0 rgba(64,190,231,0);}
}
@media (prefers-reduced-motion:reduce){.pdv-pill__dot{animation:none;}}
.pdv-pill__label{font-weight:700; letter-spacing:.4px; text-transform:uppercase; font-size:11px; color:var(--pdv-cyan);}
.pdv-pill__txt b{font-weight:700;}
.pdv-pill__arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:9999px;
  background:#fff; color:var(--pdv-navy); font-size:15px; font-weight:700;
  flex:0 0 auto;
}
@media (max-width:560px){
  .pdv-pill{font-size:13px; padding:7px 7px 7px 13px; gap:8px;}
  .pdv-pill__label{display:none;}
  .pdv-pill__arrow{width:24px; height:24px; font-size:13px;}
}


/* ==========================================================================
   БЛОК D. Карточка-счётчик для секции «Программа в цифрах»
   ========================================================================== */
.pdv-stat{
  display:block; text-decoration:none; font-family:var(--pdv-font-body);
  border-radius:1.5rem; padding:24px 26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(64,190,231,.3);
  color:#fff;
  transition:background .2s ease, transform .2s ease;
}
.pdv-stat:hover{background:rgba(255,255,255,.11); transform:translateY(-2px);}
.pdv-stat__num{
  font-family:var(--pdv-font-display);
  font-size:clamp(30px,2.6vw,40px); font-weight:700; line-height:1; letter-spacing:-.5px;
  color:#fff; margin:0 0 6px; font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.pdv-stat__num small{
  font-family:var(--pdv-font-body);
  font-size:18px; font-weight:500; color:var(--pdv-cyan); margin-left:6px;
  letter-spacing:0;
}
.pdv-stat__label{font-size:14px; color:rgba(255,255,255,.78); margin:0 0 16px; line-height:1.4;}
.pdv-stat__track{
  display:block;
  height:7px; border-radius:9999px; background:rgba(255,255,255,.14);
  overflow:hidden; margin-bottom:8px;
}
.pdv-stat__fill{
  display:block; height:100%; border-radius:9999px;
  background:linear-gradient(90deg,var(--pdv-brand),var(--pdv-cyan));
}
.pdv-stat__meta{
  display:flex; justify-content:space-between; gap:10px;
  font-size:12px; color:rgba(255,255,255,.6); margin:0 0 16px;
}
.pdv-stat__cta{
  display:inline-flex; align-items:center; gap:7px;
  font-size:14px; font-weight:700; color:#fff;
}
.pdv-stat__cta::after{content:"→"; transition:transform .18s ease;}
.pdv-stat:hover .pdv-stat__cta::after{transform:translateX(4px);}


/* ==========================================================================
   БЛОК E. Полоса-перехват на странице карты бассейнов (/map)
   ========================================================================== */
.pdv-strip{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  font-family:var(--pdv-font-body);
  background:var(--pdv-light);
  border:1px solid rgba(7,107,247,.18);
  border-radius:9999px; padding:12px 14px 12px 22px;
  text-decoration:none;
}
.pdv-strip__mark{height:26px; width:auto; flex:0 0 auto;}
.pdv-strip__txt{flex:1 1 260px; font-size:14.5px; line-height:1.35; color:var(--pdv-navy);}
.pdv-strip__txt b{font-weight:700;}
.pdv-strip__txt span{display:block; font-size:12.5px; color:var(--pdv-steel); margin-top:2px;}
.pdv-strip__cta{
  flex:0 0 auto; background:var(--pdv-brand); color:#fff;
  font-size:14px; font-weight:700; padding:11px 22px; border-radius:9999px;
  transition:background .18s ease;
}
.pdv-strip:hover .pdv-strip__cta{background:var(--pdv-brand-600);}
@media (max-width:640px){
  .pdv-strip{border-radius:1.25rem; padding:14px 16px; gap:12px;}
  .pdv-strip__cta{width:100%; text-align:center;}
}


/* ==========================================================================
   БЛОК F. Карточка-анонс для ленты новостей (/news)
   ========================================================================== */
.pdv-news{
  display:block; text-decoration:none; font-family:var(--pdv-font-body);
  border-radius:1.5rem; padding:26px 28px; color:#fff;
  box-shadow:0 10px 30px rgba(3,18,59,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pdv-news:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(3,18,59,.28);}
.pdv-news__top{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px;}
.pdv-news__tag{
  font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  background:var(--pdv-cyan); color:var(--pdv-navy-950);
  padding:4px 11px; border-radius:9999px;
}
.pdv-news__date{font-size:12.5px; color:rgba(255,255,255,.62);}
.pdv-news .pdv-news__h{
  font-family:var(--pdv-font-display);
  font-size:25px; line-height:1.15; font-weight:700; margin:0 0 10px; color:#fff;
}
.pdv-news__lead{font-size:15px; line-height:1.5; color:rgba(255,255,255,.84); margin:0 0 18px; max-width:64ch;}
.pdv-news__foot{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.pdv-news__mark{height:28px; width:auto; opacity:.9;}
.pdv-news__cta{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--pdv-navy); font-size:14px; font-weight:700;
  padding:11px 22px; border-radius:9999px;
}
.pdv-news__cta::after{content:"→"; transition:transform .18s ease;}
.pdv-news:hover .pdv-news__cta::after{transform:translateX(4px);}
@media (max-width:640px){
  .pdv-news{padding:22px 20px;}
  .pdv-news .pdv-news__h{font-size:21px;}
  .pdv-news__lead{font-size:14px;}
}


/* ==========================================================================
   БЛОК G. Ссылка в подвале (колонка «Участникам»)
   ========================================================================== */
.pdv-foot-link{
  font-family:var(--pdv-font-body);
  color:var(--pdv-cyan); font-weight:600; text-decoration:none;
  display:inline-flex; align-items:center; gap:6px;
  transition:color .18s ease;
}
.pdv-foot-link::after{content:"→"; transition:transform .18s ease;}
.pdv-foot-link:hover{color:#fff;}
.pdv-foot-link:hover::after{transform:translateX(3px);}
