@charset "UTF-8";
/* ============================================================
   VIPdosug.biz — link.css
   Стили страницы анкеты (link.php)
   PHP 5.3+ / UTF-8
   ------------------------------------------------------------------
   ВАЖНО: стили для h1.anketa__name НЕ ЗАДАНЫ здесь —
   он наследует оформление из style.css / seo/seoh1.php.
   Здесь только подпись .anketa__name-sub внутри h1.
   ============================================================ */

/* ---------- 1. Хлебные крошки ---------- */
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.375rem;
  font-size:.8125rem;
  font-weight:600;
  color:var(--muted);
  margin:0 0 1rem;
}
.breadcrumbs a{
  color:var(--violet);
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.breadcrumbs a:hover{
  color:var(--pink);
  text-decoration:underline;
}
.breadcrumbs span[aria-hidden]{
  opacity:.4;
}

/* ---------- 2. Заголовок анкеты + кнопка закладки ---------- */
.anketa__header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  padding:0 0 .25rem;         /* минимальный нижний паддинг */
  border-bottom:2px solid var(--border);
  margin-bottom:.25rem;       /* минимальный отступ до блока с фото */
}

/* Подпись внутри h1 — на новой строке, серая, чуть крупнее.
   Цвет/градиент самого h1.anketa__name берётся из style.css. */
.anketa__name-sub{
  display:block;
  margin-top:.25rem;
  font-size:.9375rem;             /* 15px */
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.25;
  color:var(--muted);
  -webkit-text-fill-color:var(--muted);
}

/* Кнопка закладки всегда справа.
   margin-left:auto прижимает её вправо, а flex-wrap:wrap
   переносит на новую строку, если имя длинное.
   После переноса margin-left:auto сохраняет её справа. */
.anketa__header .anketa__basket{
  margin-left:auto;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
}

/* Бейдж «Фото проверено» — не сжимается */
.anketa__verified{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.25rem .625rem;
  border-radius:var(--radius-pill);
  background:var(--lime);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  box-shadow:var(--shadow-lime);
  flex:0 0 auto;
}

/* ---------- 3. Сетка анкеты ---------- */
.anketa__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.anketa__col{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

/* ---------- 4. Галерея (фото + видео) ---------- */
.gallery{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.gallery__big{
  position:relative;
  width:100%;
  aspect-ratio:3/4;
  max-height:520px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--gradient-soft);
  box-shadow:var(--shadow-md);
}
.gallery__big img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  cursor:zoom-in;
  transition:transform var(--dur) var(--ease);
  user-select:none;
  -webkit-user-drag:none;
}
.gallery__big img:hover{
  transform:scale(1.01);
}
.gallery__big video{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#000;
  border-radius:inherit;
}
.gallery__loading{
  position:absolute;
  inset:0;
  display:none;
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  pointer-events:none;
}
.gallery__loading::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:36px;
  height:36px;
  margin:-18px 0 0 -18px;
  border-radius:50%;
  border:3px solid var(--border);
  border-top-color:var(--pink);
  animation:spin .8s linear infinite;
}
@keyframes spin{
  to{transform:rotate(360deg)}
}
.gallery__thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:.5rem;
}
.gallery__thumb{
  position:relative;
  padding:0;
  border:2px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.gallery__thumb img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:3/4;
  object-fit:cover;
}
.gallery__thumb:hover{
  border-color:var(--pink);
  transform:translateY(-2px);
}
.gallery__thumb.is-active{
  border-color:var(--violet);
  box-shadow:var(--shadow-violet);
}

/* ----- Миниатюра «Видео» в галерее — заметно выделяется ----- */
.gallery__thumb--video{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  aspect-ratio:3/4;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,46,136,.35), transparent 60%),
    linear-gradient(135deg,#2a1240 0%,#5a1a4a 50%,#8a1e5a 100%);
  color:#fff;
  border:2px solid var(--pink);
  text-align:center;
  overflow:hidden;
  box-shadow:
    0 0 0 2px rgba(255,46,136,.25),
    0 6px 18px rgba(255,46,136,.45);
  animation:videoThumbPulse 2.4s ease-in-out infinite;
}

/* Лёгкая пульсация свечения, чтобы «магнитило» взгляд */
@keyframes videoThumbPulse{
  0%,100%{
    box-shadow:
      0 0 0 2px rgba(255,46,136,.25),
      0 6px 18px rgba(255,46,136,.45);
  }
  50%{
    box-shadow:
      0 0 0 3px rgba(255,46,136,.55),
      0 8px 24px rgba(255,46,136,.75);
  }
}

.gallery__thumb--video:hover{
  border-color:#fff;
  transform:translateY(-3px) scale(1.03);
  animation-play-state:paused;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.6),
    0 10px 28px rgba(255,46,136,.85);
}

.gallery__thumb--video.is-active{
  border-color:var(--violet);
  box-shadow:
    0 0 0 3px var(--violet),
    0 10px 28px rgba(122,46,255,.7);
  animation-play-state:paused;
}

/* Круглая кнопка «Play» */
.gallery__thumb-play{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:var(--radius-round);
  background:rgba(255,255,255,.22);
  border:2px solid rgba(255,255,255,.85);
  font-size:16px;
  line-height:1;
  padding-left:4px;             /* визуально центрируем треугольник */
  box-shadow:
    0 0 0 6px rgba(255,255,255,.12),
    0 4px 12px rgba(0,0,0,.35);
  transition:background var(--dur) var(--ease),
             border-color var(--dur) var(--ease),
             transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
  animation:videoPlayPulse 1.8s ease-in-out infinite;
}

@keyframes videoPlayPulse{
  0%,100%{ transform:scale(1); }
  50%    { transform:scale(1.1); }
}

.gallery__thumb--video:hover .gallery__thumb-play{
  background:var(--pink);
  border-color:#fff;
  transform:scale(1.15);
  box-shadow:
    0 0 0 8px rgba(255,46,136,.25),
    0 6px 16px rgba(0,0,0,.45);
  animation-play-state:paused;
}

/* Подпись под кнопкой Play */
.gallery__thumb-label{
  font-size:.6875rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:.95;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}

/* ---------- 5. Lightbox (фото + видео) ---------- */
.lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(15,8,25,.92);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:fadeInLightbox .2s ease;
  padding:20px;
}
.lightbox.is-open{
  display:flex;
}
@keyframes fadeInLightbox{
  from{opacity:0}
  to{opacity:1}
}
.lightbox__stage{
  position:relative;
  max-width:100%;
  max-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:ew-resize;
  user-select:none;
}
.lightbox__stage img{
  max-width:100%;
  max-height:calc(100vh - 80px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:var(--radius);
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  cursor:ew-resize;
  animation:zoomInLightbox .25s var(--ease);
  user-select:none;
  -webkit-user-drag:none;
}
.lightbox__stage video{
  max-width:100%;
  max-height:calc(100vh - 80px);
  width:auto;
  height:auto;
  display:block;
  border-radius:var(--radius);
  background:#000;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  outline:none;
  animation:zoomInLightbox .25s var(--ease);
}
@keyframes zoomInLightbox{
  from{opacity:0;transform:scale(.94)}
  to{opacity:1;transform:scale(1)}
}
.lightbox__close{
  position:absolute;
  top:16px;
  right:16px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-round);
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:28px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  z-index:3;
  border:1px solid rgba(255,255,255,.25);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.lightbox__close:hover{
  background:rgba(255,46,136,.6);
  transform:rotate(90deg);
}
.lightbox__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-round);
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:36px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  z-index:3;
  border:1px solid rgba(255,255,255,.25);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
  user-select:none;
}
.lightbox__nav:hover{
  background:rgba(255,46,136,.6);
}
.lightbox__nav:active{
  transform:translateY(-50%) scale(.94);
}
.lightbox__nav--prev{left:16px;}
.lightbox__nav--next{right:16px;}

.lightbox__counter{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:.375rem;
  padding:.5rem .875rem;
  border-radius:var(--radius-pill);
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:#fff;
  font-size:.875rem;
  font-weight:800;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  user-select:none;
  pointer-events:none;
}
.lightbox__counter-sep{
  opacity:.55;
  font-weight:400;
}
#photoLightboxCurrent{
  color:#fff;
}
#photoLightboxTotal{
  color:rgba(255,255,255,.7);
}

/* ---------- 6. Цены ---------- */
.prices{
  padding:1rem 1.125rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.prices__title{
  font-size:1rem;
  font-weight:900;
  margin:0 0 .75rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.prices__group{
  margin-bottom:.75rem;
}
.prices__group:last-child{
  margin-bottom:0;
}
.prices__group-title{
  font-size:.8125rem;
  font-weight:900;
  color:var(--pink);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:.375rem;
}
.prices__list{
  display:grid;
  gap:.25rem;
}
.prices__list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.875rem;
  padding:.375rem .5rem;
  border-radius:var(--radius-sm);
  background:var(--gradient-soft);
}
.prices__list span{
  color:var(--muted);
  font-weight:600;
}
.prices__list b{
  color:var(--pink);
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

/* ---------- 7. Закладка ---------- */
.anketa__basket{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.btn-basket{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.375rem;
  padding:.4375rem .875rem;   /* компактнее */
  border-radius:var(--radius-pill);
  font-size:.8125rem;
  font-weight:800;
  line-height:1.15;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  transition:box-shadow var(--dur) var(--ease),
             transform var(--dur) var(--ease),
             background var(--dur) var(--ease);
}

/* Иконка-«плюс» / «крестик» — маленький кружок слева */
.btn-basket::before{
  content:"";
  width:14px;
  height:14px;
  flex-shrink:0;
  display:inline-block;
  border-radius:var(--radius-round);
  background:rgba(255,255,255,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.65) inset;
  background-repeat:no-repeat;
  background-position:center;
  background-size:9px 9px;
}

/* «Сделать закладку» — иконка плюс */
.btn-basket--add::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 1.5 L6 10.5 M1.5 6 L10.5 6' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/></svg>");
}

/* «Убрать закладку» — иконка крестик */
.btn-basket--remove::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 2.5 L9.5 9.5 M9.5 2.5 L2.5 9.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/></svg>");
}

.btn-basket--add{
  background:var(--lime);
  box-shadow:0 4px 10px rgba(0,217,126,.35);
}
.btn-basket--add:hover{
  background:#00c46f;
  box-shadow:0 6px 14px rgba(0,196,111,.5);
}
.btn-basket--remove{
  background:var(--pink);
  box-shadow:0 4px 10px rgba(255,46,136,.35);
}
.btn-basket--remove:hover{
  background:#e02175;
  box-shadow:0 6px 14px rgba(224,33,117,.5);
}
.btn-basket:active{
  transform:scale(.97);
}

/* На мобильных — ещё компактнее */
@media (max-width:640px){
  .btn-basket{
    padding:.375rem .75rem;
    font-size:.75rem;
    gap:.3rem;
  }
  .btn-basket::before{
    width:12px;
    height:12px;
    background-size:8px 8px;
  }
}

/* ---------- 8. Параметры ---------- */
.params{
  padding:1rem 1.125rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.params__title{
  font-size:1rem;
  font-weight:900;
  margin:0 0 .75rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.params__list{
  display:grid;
  gap:.25rem;
}
.params__list > div{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.75rem;
  padding:.375rem .5rem;
  border-radius:var(--radius-sm);
  background:var(--gradient-soft);
  font-size:.875rem;
}
.params__list dt{
  color:var(--muted);
  font-weight:600;
  flex-shrink:0;
}
.params__list dd{
  margin:0;
  color:var(--violet);
  font-weight:800;
  text-align:right;
}

/* ---------- 9. Контакты ---------- */
.contacts{
  padding:1rem 1.125rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.contacts__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin:0 0 .75rem;
}
.contacts__title{
  font-size:1rem;
  font-weight:900;
  margin:0;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ---- Плашка города целиком — ссылка с ховером ---- */
.contacts__city{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.25rem .625rem;
  border-radius:var(--radius-pill);
  background:var(--gradient-soft);
  border:1px solid var(--border);
  font-size:.8125rem;
  font-weight:700;
  color:var(--violet);
  flex-shrink:0;
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--dur) var(--ease),
             border-color var(--dur) var(--ease),
             color var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease),
             transform var(--dur) var(--ease);
}
.contacts__city-icon{
  width:12px;
  height:12px;
  background-color:var(--pink);
  -webkit-mask:var(--icon-pin-simple) center/contain no-repeat;
  mask:var(--icon-pin-simple) center/contain no-repeat;
  flex-shrink:0;
  transition:background-color var(--dur) var(--ease);
}
a.contacts__city:hover{
  background:var(--gradient-brand);
  border-color:transparent;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:var(--shadow-violet);
}
a.contacts__city:hover .contacts__city-icon{
  background-color:#fff;
}
a.contacts__city:focus-visible{
  outline:3px solid var(--violet);
  outline-offset:2px;
}

/* ---- Строки контактов ---- */
.contacts__row{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
  padding:.5rem 0;
  border-bottom:1px dashed var(--border);
  font-size:.875rem;
}
.contacts__row:last-child{
  border-bottom:none;
}
.contacts__label{
  color:var(--muted);
  font-weight:600;
  flex-shrink:0;
}
.contacts__row a{
  color:var(--violet);
  font-weight:800;
  text-decoration:none;
}
.contacts__row a:hover{
  color:var(--pink);
  text-decoration:underline;
}
.contacts__empty{
  color:var(--muted);
  font-style:italic;
  font-weight:600;
  opacity:.75;
}
.contacts__row--phone{
  justify-content:center;
  padding-top:.75rem;
}

/* ---------- 10. Услуги ---------- */
.services{
  padding:1rem 1.125rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.services__title{
  font-size:1rem;
  font-weight:900;
  margin:0 0 .75rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.services__list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:.375rem;
}
.services__list li{
  position:relative;
  padding:.375rem .5rem .375rem 1.5rem;
  border-radius:var(--radius-sm);
  background:var(--gradient-soft);
  font-size:.8125rem;
  font-weight:600;
  color:var(--violet);
}
.services__list li::before{
  content:"";
  position:absolute;
  left:.5rem;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 2px rgba(0,217,126,.25);
}

/* ---------- 11. Медиа (аудио) ---------- */
.anketa__media{
  display:flex;
  justify-content:center;
}
.anketa__media audio{
  width:100%;
  max-width:480px;
}
.btn-media{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1.5rem;
  border-radius:var(--radius-pill);
  background:var(--gradient-hot);
  color:#fff;
  font-weight:900;
  font-size:.875rem;
  box-shadow:var(--shadow-orange);
  cursor:pointer;
  border:none;
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn-media::before{
  content:"";
  width:14px;
  height:14px;
  flex-shrink:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 4 L20 12 L6 20 Z' fill='%23ffffff'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.btn-media:hover{
  box-shadow:var(--shadow-pink);
}
.btn-media:active{
  transform:scale(.98);
}

/* ---------- 12. О себе / доп. услуги ---------- */
.about{
  padding:1rem 1.125rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.about__title{
  font-size:1rem;
  font-weight:900;
  margin:0 0 .75rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.about__text{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text);
  word-wrap:break-word;
  overflow-wrap:break-word;
}

/* ---------- 13. Предупреждения ---------- */
.anketa__warning{
  padding:1rem 1.125rem;
  border-radius:var(--radius-lg);
  background:#fff5f5;
  border:2px solid #ffd0d0;
  color:#a02020;
  font-size:.875rem;
  line-height:1.6;
}
.anketa__warning-title{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 .75rem;
  font-size:1rem;
  font-weight:900;
  color:#c40000;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.anketa__warning-title::before{
  content:"";
  width:20px;
  height:20px;
  flex-shrink:0;
  display:inline-block;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M12 2 L22 20 L2 20 Z' fill='%23ff2e88' stroke='%23c40000' stroke-width='1.5' stroke-linejoin='round'/><path d='M12 9 L12 14' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round'/><circle cx='12' cy='17' r='1.3' fill='%23ffffff'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  animation:warningPulse 1.8s ease-in-out infinite;
}
@keyframes warningPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.12);opacity:.85}
}
.anketa__warning-text{
  font-size:.875rem;
  line-height:1.6;
  color:#a02020;
  margin:0 0 .5rem;
}
.anketa__warning-text:last-child{
  margin-bottom:0;
}

/* ---------- 14. Голосование (в левой колонке) ---------- */
.vote{
  padding:1.25rem 1.5rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,#fff0f7,#efe6ff);
}

/* Заголовок — слева */
.vote__title{
  font-size:1rem;
  font-weight:900;
  margin:0 0 .75rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Форма — по центру */
.vote__form{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.75rem;
}
.vote__item{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:var(--radius-round);
  background:#fff;
  border:2px solid var(--border);
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.vote__item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.vote__item span{
  font-weight:900;
  color:var(--violet);
}
.vote__item:hover{
  border-color:var(--pink);
}
.vote__item input:checked + span{
  color:#fff;
}
.vote__item:has(input:checked){
  background:var(--gradient-brand);
  border-color:transparent;
}
.vote__submit{
  padding:.625rem 1.25rem;
  font-size:.8125rem;
  width:auto;
}

/* Сообщения — слева */
.vote__msg{
  margin:0 0 .75rem;
  padding:.625rem .875rem;
  border-radius:var(--radius);
  font-weight:700;
  font-size:.875rem;
}
.vote__msg--ok{
  background:#e8fff2;
  color:#008a4d;
  border:1px solid #b6e8cd;
}
.vote__msg--error{
  background:#fff0f0;
  color:#a02020;
  border:1px solid #ffc9c9;
}

/* Текущий рейтинг — слева */
.vote__current{
  font-size:.875rem;
  color:var(--muted);
  margin:0 0 .75rem;
}
.vote__current b{
  color:var(--pink);
  font-size:1.0625rem;
  font-weight:900;
}
.vote__current span{
  color:var(--muted);
  font-size:.75rem;
}

/* ---------- 15. Комментарии (на всю ширину) ---------- */
.comments{
  margin-top:2rem;
  padding:1.5rem 1.75rem;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.comments__title{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:1.0625rem;
  font-weight:900;
  margin:0 0 1rem;
  background:var(--gradient-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.comments__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:24px;
  padding:0 8px;
  border-radius:var(--radius-pill);
  background:var(--gradient-brand);
  color:#fff;
  font-size:.75rem;
  font-weight:900;
}
.comments__empty{
  color:var(--muted);
  font-style:italic;
  margin:0 0 1rem;
}
.comments__list{
  display:grid;
  gap:.75rem;
  margin-bottom:1.25rem;
}
.comments__item{
  padding:.75rem 1rem;
  border-radius:var(--radius);
  background:var(--gradient-soft);
  border-left:4px solid var(--violet);
}
.comments__text{
  font-size:.9375rem;
  line-height:1.55;
  color:var(--text);
}
.comments__meta{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  align-items:baseline;
  margin-top:.375rem;
  font-size:.75rem;
  color:var(--muted);
  font-weight:600;
}
.comments__author{
  color:var(--violet);
  font-weight:800;
  font-size:.8125rem;
}
.comments__date{
  color:var(--muted);
  font-weight:600;
  font-size:.75rem;
}
.comments__form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  padding-top:1rem;
  border-top:2px dashed var(--border);
}
.comments__field{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  font-size:.8125rem;
  font-weight:700;
  color:var(--muted);
}
.comments__field--full{
  grid-column:1 / -1;
}
.comments__field input,
.comments__field textarea{
  padding:.625rem .75rem;
  border:2px solid var(--border);
  border-radius:var(--radius);
  font-size:.875rem;
  font-family:inherit;
  background:#fff;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.comments__field input:focus,
.comments__field textarea:focus{
  outline:none;
  border-color:var(--pink);
  box-shadow:0 0 0 4px rgba(255,46,136,.15);
}
.comments__field textarea{
  resize:vertical;
  min-height:100px;
}
.comments__captcha{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.25rem;
  background:var(--gradient-soft);
  border-radius:var(--radius);
}
.comments__captcha img{
  border-radius:var(--radius-sm);
}
.comments__submit{
  grid-column:1 / -1;
  justify-self:center;
  padding:.75rem 2rem;
  width:auto;
}
.comments__error{
  grid-column:1 / -1;
  padding:.625rem .875rem;
  border-radius:var(--radius);
  background:#fff0f0;
  color:#a02020;
  font-weight:700;
  font-size:.8125rem;
}
.comments__ok{
  grid-column:1 / -1;
  padding:.625rem .875rem;
  border-radius:var(--radius);
  background:#e8fff2;
  color:#008a4d;
  font-weight:700;
  font-size:.8125rem;
}

/* ============================================================
   16. МОДАЛЬНОЕ ОКНО ВИДЕО (резервный вариант)
   ============================================================ */
.video-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(15,8,25,.92);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:fadeInVideoModal .2s ease;
  padding:20px;
}
.video-modal.is-open{
  display:flex;
}
@keyframes fadeInVideoModal{
  from{opacity:0}
  to{opacity:1}
}
.video-modal__stage{
  position:relative;
  max-width:min(960px,100%);
  width:100%;
  max-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.75rem;
  animation:zoomInVideoModal .25s var(--ease);
}
@keyframes zoomInVideoModal{
  from{opacity:0;transform:scale(.94)}
  to{opacity:1;transform:scale(1)}
}
.video-modal__stage video{
  width:100%;
  max-height:calc(100vh - 100px);
  height:auto;
  border-radius:var(--radius-lg);
  background:#000;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  outline:none;
}
.video-modal__title{
  color:rgba(255,255,255,.85);
  font-size:.875rem;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.video-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-round);
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:28px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  z-index:3;
  border:1px solid rgba(255,255,255,.25);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.video-modal__close:hover{
  background:rgba(255,46,136,.6);
  transform:rotate(90deg);
}

/* ============================================================
   17. АДАПТИВ
   ============================================================ */

/* Планшеты и мобильные — одна колонка + свой порядок блоков */
@media (max-width:900px){
  .anketa__layout{
    display:flex;
    flex-direction:column;
    gap:1.25rem;
  }
  .anketa__col{
    display:contents;
  }

  /* Порядок блоков на мобильных:
     1. Фото + видео
     2. Аудио
     3. Контакты
     4. Цены
     5. Параметры
     6. О себе
     7. Интим-услуги
     8. Доп. услуги
     9. Голосование
     10. Предупреждения
     (Комментарии — вне .anketa__layout, идут последними)
     (Кнопка «Сделать закладку» — в шапке, вне этого порядка)
  */
  .gallery         { order:1; }
  .anketa__media   { order:2; }
  .contacts        { order:3; }
  .prices          { order:4; }
  .params          { order:5; }
  .about--self     { order:6; }
  .services        { order:7; }
  .about--extra    { order:8; }
  .vote            { order:9; }
  .anketa__warning { order:10; }

  .gallery__big{
    max-height:420px;
  }
}

/* Мобильные ? 640px */
@media (max-width:640px){
  .gallery__big{
    max-height:360px;
  }
  .gallery__thumbs{
    grid-template-columns:repeat(auto-fill,minmax(60px,1fr));
    gap:.375rem;
  }
  .gallery__thumb--video{
    gap:.25rem;
  }
  .gallery__thumb-play{
    width:36px;
    height:36px;
    font-size:13px;
    border-width:2px;
  }
  .gallery__thumb-label{
    font-size:.625rem;
  }
  .comments__form{
    grid-template-columns:1fr;
  }
  .comments__field--full{
    grid-column:auto;
  }
  .comments__captcha{
    justify-content:flex-start;
  }
  .vote__item{
    width:36px;
    height:36px;
  }
  .prices__list li{
    font-size:.8125rem;
  }
  .params__list > div{
    font-size:.8125rem;
  }

  /* Подпись под именем чуть меньше */
  .anketa__name-sub{
    font-size:.875rem;
    margin-top:.2rem;
  }

  /* Шапка контактов на мобильном */
  .contacts__head{
    flex-wrap:nowrap;
    gap:.5rem;
  }
  .contacts__city{
    font-size:.75rem;
    padding:.2rem .5rem;
  }

  /* Lightbox */
  .lightbox{
    padding:10px;
  }
  .lightbox__close{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    font-size:24px;
  }
  .lightbox__nav{
    width:44px;
    height:44px;
    font-size:28px;
  }
  .lightbox__nav--prev{left:8px;}
  .lightbox__nav--next{right:8px;}
  .lightbox__stage img,
  .lightbox__stage video{
    max-height:calc(100vh - 60px);
  }
  .lightbox__counter{
    right:12px;
    bottom:12px;
    padding:.375rem .75rem;
    font-size:.8125rem;
  }

  /* Video-modal */
  .video-modal{
    padding:10px;
  }
  .video-modal__close{
    top:8px;
    right:8px;
    width:42px;
    height:42px;
    font-size:24px;
  }
  .video-modal__stage video{
    max-height:calc(100vh - 80px);
    border-radius:var(--radius);
  }
  .video-modal__title{
    font-size:.8125rem;
  }

  .breadcrumbs{
    font-size:.75rem;
  }
  .comments{
    padding:1.25rem 1.125rem;
    margin-top:1.5rem;
  }
  .services__list{
    grid-template-columns:1fr;
  }
  .anketa__warning-title{
    font-size:.9375rem;
  }
  .vote{
    padding:1rem 1.125rem;
  }
}

/* Маленькие телефоны ? 480px */
@media (max-width:480px){
  .vote__item{
    width:34px;
    height:34px;
    font-size:.875rem;
  }
  .prices__list li{
    padding:.3rem .5rem;
  }
  .anketa__verified{
    font-size:.6875rem;
  }
  .anketa__warning{
    padding:.875rem 1rem;
  }
  .anketa__warning-title{
    font-size:.875rem;
  }
  .contacts__city{
    font-size:.6875rem;
    padding:.2rem .4rem;
  }
  .gallery__thumb-play{
    width:32px;
    height:32px;
    font-size:12px;
  }
}

/* Отключение анимаций */
@media (prefers-reduced-motion:reduce){
  .lightbox,
  .lightbox__stage img,
  .lightbox__stage video,
  .gallery__loading::after,
  .anketa__warning-title::before,
  .video-modal,
  .video-modal__stage,
  .gallery__thumb--video,
  .gallery__thumb-play{
    animation:none;
  }
  .gallery__big img,
  .gallery__thumb,
  .gallery__thumb--video,
  .gallery__thumb-play,
  .btn-basket,
  .btn-media,
  .contacts__city{
    transition:none;
  }
}

/* Фикс: кнопки голосования и отзыва.
   Перебиваем button[type=submit] из user.css (жёлтый + uppercase). */
.vote__submit,
.comments__submit{
  background: var(--gradient-hot) !important;     /* оранжевый */
  color: #fff !important;                         /* белый текст */
  text-transform: none !important;                /* без заглавных */
  border-radius: var(--radius) !important;        /* < как было: 10px */
  box-shadow: var(--shadow-orange) !important;    /* оранжевая тень */
}
.vote__submit:hover,
.comments__submit:hover{
  background: var(--gradient-brand) !important;   /* фиолетовый */
  box-shadow: var(--shadow-violet) !important;    /* фиолетовая тень */
}