:root{
  --bg:#0b1b1f;        /* fundo escuro (hero) */
  --bg-alt:#f5f7f8;    /* secções claras */
  --card:#0f242a;      /* cartões */
  --ink:#102429;       /* texto escuro */
  --text:#16343b;      /* texto médio */
  --muted:#5b7780;     /* texto secundário */
  --brand:#ff6b57;     /* coral */
  --brand-2:#2bd0b1;   /* turquesa */
  --ring:rgba(43,208,177,.35);
  --radius:18px;
  font-size:17px;      /* базовый размер */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
.pfl-body{
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
}

/* Helpers */
.pfl-visually-hidden{position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;border:0!important}
.pfl-wrap{max-width:1120px;margin:0 auto;padding:0 16px}

/* Topbar */
.pfl-topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e7ecef}
.pfl-topbar__row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pfl-brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:28px;color:var(--ink);text-decoration:none}
.pfl-brand span{color:var(--brand)}
.pfl-brand--foot{font-size:24px}
.pfl-nav{display:flex;gap:18px}
.pfl-nav__link{color:var(--text);text-decoration:none;padding:12px 8px;border-radius:10px}
.pfl-nav__link:hover{background:#eef6f4}

/* Hero */
.pfl-hero{
  background:
    radial-gradient(1200px 600px at 20% 10%, #10333b, transparent),
    linear-gradient(180deg, var(--bg) 0%, #0a1417 100%);
  color:#eaf4f6;
  padding:72px 0 56px
}
.pfl-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#ff9278);font-weight:700}
.pfl-stamp{opacity:.85;margin:10px 0 8px}
.pfl-hero__title{font-family:"Cormorant Garamond",Georgia,serif;font-size:42px;line-height:1.1;margin:6px 0 10px}
.pfl-hero__lead{font-size:18px;max-width:680px;opacity:.95}
.pfl-trust{list-style:none;display:flex;gap:16px;padding:0;margin:18px 0 0}
.pfl-trust__item{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:10px 12px;border-radius:12px}

/* Sections */
.pfl-section{padding:56px 0}
.pfl-section--alt{background:#333}
.pfl-head__title{color: #fff;font-family:"Cormorant Garamond";font-size:32px;margin:0 0 8px}
.pfl-head__text{color:#fff;margin:0 0 24px}

/* Destaque card */
.pfl-card{
  display:grid;gap:14px;
  background:linear-gradient(180deg,#0f242a,#0c1f23);
  color:#d9f0f0;border:1px solid rgba(43,208,177,.25);
  border-radius:var(--radius);padding:18px;
  box-shadow:0 6px 28px rgba(16,36,41,.25)
}
.pfl-card__head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.pfl-card__logo{width:160px;height:auto}
.pfl-score{display:flex;align-items:center;gap:10px}
.pfl-score__star{width:22px;height:22px;fill:#ffd266;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.pfl-score__value{font-weight:700}
.pfl-score__votes{opacity:.85}
.pfl-pill{display:inline-block;background:rgba(43,208,177,.12);border:1px solid var(--ring);padding:8px 10px;border-radius:999px;margin-bottom:8px;color:#b7ece0}
.pfl-offer{font-size:22px;margin:6px 0 12px}
.pfl-btn{font-size: 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;text-decoration:none;padding:12px 18px;border-radius:14px;font-weight:700;box-shadow:0 6px 18px rgba(255,107,87,.35)}
.pfl-btn:hover{transform:translateY(-1px)}
.pfl-btn--sm{padding:8px 14px;border-radius:10px;font-weight:600}
.pfl-hint{color:#a6d1c8;margin-top:8px}

/* Features */
.pfl-features{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:10px}
.pfl-feature{display:flex;gap:14px;background:#fff;border:1px solid #e8eeef;border-radius:16px;padding:16px}
.pfl-feature__ico{width:42px;height:42px}
.pfl-feature__title{margin:0 0 6px;font-size:18px}
.pfl-feature__text{margin:0;color:#46646b}

/* FAQ */
.pfl-faq{display:grid;gap:10px}
.pfl-faq__item{border:1px solid #e8eeef;border-radius:14px;padding:12px;background:#fff}
.pfl-faq__q{cursor:pointer;font-weight:600;color:var(--text)}
.pfl-faq__a{margin:10px 0 0;color:#46646b}

/* Logos */
.pfl-logos .pfl-logo__list{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;list-style:none;padding:0;margin:0;align-items:center
}
.pfl-logo__item{display:flex;align-items:center;justify-content:center;background:#fff;border:1px dashed #dbe6e9;border-radius:14px;padding:14px}
.pfl-logo__age{background:transparent;border:0}

/* Footer */
.pfl-footer{background:#0d171a;color:#cfe7eb;padding:40px 0 18px;margin-top:10px;border-top:1px solid #17373f}
.pfl-foot__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.pfl-foot__title{margin:0 0 8px;font-size:14px;color:#b6d8dd;text-transform:uppercase;letter-spacing:.08em}
.pfl-foot__links{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pfl-foot__links a{color:#cfe7eb;text-decoration:none}
.pfl-foot__links a:hover{color:#fff}
.pfl-foot__muted{color:#9ec7cd;margin-top:10px;max-width:40ch}
.pfl-copy{text-align:center;color:#8fb6bd;margin:24px 0 0}

/* Cookie (CSS-only via :target) */
.pfl-cookie{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(90deg,#0f242a,#143239);color:#d9f0f0;border-top:1px solid #215760}
.pfl-cookie__box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}
.pfl-cookie__text a{color:#fff;text-decoration:underline}
.pfl-cookie .pfl-btn{text-decoration:none}
.pfl-cookie__close{position:fixed;inset:0;pointer-events:none}
:target.pfl-cookie__close ~ .pfl-cookie{display:none}

/* Responsive */
@media (max-width: 900px){
  .pfl-features{grid-template-columns:1fr}
  .pfl-foot__grid{grid-template-columns:1fr}
  .pfl-card__logo{width:130px}
}
@media (max-width: 640px){
  .pfl-hero{padding:58px 0}
  .pfl-hero__title{font-size:34px}
  .pfl-trust{flex-wrap:wrap}
  .pfl-cookie__box{flex-direction:column;align-items:flex-start}
}
/* Фоновая картинка всего сайта + фиксированная */
.pfl-body{
  background: #0e1c20 url("../images/site-texture.jpg") center top/cover fixed no-repeat;
}

/* Небольшой правый отступ у FA-иконок и выравнивание по тексту */
.pfl-ico{
  margin-right: 8px;
  width: 1.1em; /* ровный бокс для разных иконок */
  text-align: center;
}

/* Можно слегка уменьшить жирность у иконки внутри .pfl-pill */
.pfl-pill .pfl-ico{ opacity: .9; }
.pfl-body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: inherit; /* повторяет фон */
  filter: blur(8px);
  transform: scale(1.05); /* чтобы края не просвечивались */
  z-index: -1; /* за контентом */
}
/* ===== Logos: responsive grid ===== */
.pfl-logo__list{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr)); /* десктоп: 6 в ряд */
  gap:24px;
  list-style:none;
  padding:0;
  margin:0;
  align-items:center;
}

.pfl-logo__item{
  background:#fff;
  border:1px dashed #dbe6e9;
  border-radius:14px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:84px;
}

/* центрируем содержимое ссылки */
.pfl-logo__item > a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

/* адаптивная ширина логотипов, сохранение пропорций */
.pfl-logo__item img{
  display:block;
  height:auto;
  width: clamp(72px, 12vw, 120px); /* минимум 72px, растёт до 120px */
  object-fit: contain;
}

/* бейдж 18+ в сетке */
.pfl-logo__age{
  background:transparent;
  border:0;
  padding:0;
}
.pfl-logo__age .pfl-badge{
  font-size:14px;
  padding:6px 10px;
}

/* брейкпоинты: уменьшаем число колонок и размер логотипов */
@media (max-width: 1200px){
  .pfl-logo__list{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .pfl-logo__list{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; }
  .pfl-logo__item img{ width: clamp(64px, 16vw, 110px); }
}
@media (max-width: 600px){
  .pfl-logo__list{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
  .pfl-logo__item{ min-height:72px; padding:12px; }
  .pfl-logo__item img{ width: clamp(56px, 22vw, 96px); }
}
/* === MOBILE FIX PACK (<= 480px) === */
@media (max-width: 480px){

  /* 1) Внешние отступы секций/hero поменьше */
  .pfl-hero{ margin:12px; border-radius:14px; padding:44px 0 32px; }
  .pfl-section{ margin:12px; border-radius:14px; padding:36px 0; }

  /* 2) Шапка — компактнее, ссылки не «прыгают» */
  .pfl-topbar__row{ gap:10px }
  .pfl-brand{ font-size:22px }
  .pfl-nav__link{ padding:10px 6px }

  /* 3) FAQ карточки — чуть крупнее кликабельная зона */
  .pfl-faq__item{ padding:10px }
  .pfl-faq__q{ display:flex; align-items:center; }

  /* 4) Лого: чёткая сетка 2×N и контроль размеров */
  .pfl-logo__list{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:16px;
  }
  .pfl-logo__item{
    min-height:72px;
    padding:12px;
  }
  .pfl-logo__item img{
    width: clamp(56px, 38vw, 96px) !important; /* переопределит width из HTML */
    height:auto;
    display:block;
    object-fit:contain;
  }
  .pfl-logo__age{ padding:0; background:transparent; border:0 }

  /* 5) Кнопка/пилюли — не распирают строку */
  .pfl-btn{ padding:10px 14px; border-radius:12px }
  .pfl-btn--sm{ padding:8px 12px }
  .pfl-pill{ padding:6px 10px }

  /* 6) Cookie-баннер — неблокирующий: фиксируем только на десктопе */
  .pfl-cookie{
    position: static;    /* вместо fixed на мобилке */
    border: 1px solid #215760;
    border-radius: 12px;
    margin-top: 12px;
  }
  /* чтобы скрытие по :target продолжало работать */
  :target.pfl-cookie__close ~ .pfl-cookie{ display:none; }

  /* 7) Фон: чуть меньший blur на мобильных (лучше производительность) */
  .pfl-body::before{
    filter: blur(4px);
  }

  /* 8) Общая защита от переполнения */
  .pfl-wrap img, .pfl-card__logo{ max-width:100%; height:auto }
}

/* === TABLET TWEAKS (481–900px) === */
@media (min-width: 481px) and (max-width: 900px){
  .pfl-hero{ margin:16px }
  .pfl-section{ margin:16px }
  .pfl-logo__list{ grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px }
  .pfl-logo__item img{ width: clamp(64px, 18vw, 110px) !important; }
}

/* === Cookie-бар фиксируем только на ≥ 481px === */
@media (min-width: 481px){
  .pfl-cookie{
    position: fixed;
    left: 0; right: 0; bottom: 0;
  }
}
/* Лого — базово 6 в ряд (десктоп) */
.pfl-logos .pfl-logo__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* логотипы */
.pfl-logos .pfl-logo__item img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* адаптив */
@media (max-width: 1200px) {
  .pfl-logos .pfl-logo__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px) {
  .pfl-logos .pfl-logo__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 600px) {
  .pfl-logos .pfl-logo__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
.pfl-logo__item {
  background: inherit;
  border: none;
}
/* Cookie Banner */
.pfl-cookie {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0; right: 0;
  background: rgba(0,0,0,0.9);
  color: #fff;
  padding: 15px;
  z-index: 1000;
}

/* Age Modal */
.pfl-age-modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.85);
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

.pfl-age-box {
  background: #fff;
  color: #222;
  padding: 30px;
  max-width: 420px;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.pfl-age-actions {
  margin-top: 20px;
  display: flex;
  gap: 15px;
  justify-content: center;
}
