/* Единая карточка анкеты и слайдер — общие для всех тем.
   Карточка: фото, имя, параметры через точку («23 года · 168 см · 52 кг · грудь 2»), кнопка «Связаться» (звонок). Окна по клику нет.
   При наведении откликается вся карточка, звонит — только кнопка.
   Размеры фото и вид кнопки Vellume — как на сайтах с 24.10. */
[hidden]{display:none!important}

.listing-card .card-specs .spec-label{display:none}
.listing-card .card-specs .spec+.spec::before{content:" · "}
.listing-card .card-specs b{font-weight:inherit}
.listing-card .card-contact{text-decoration:none}
.catalog-empty{font-size:16px;line-height:1.6;opacity:.7;padding:24px 0}

/* Vellume: ховер карточки даёт сама тема (подъём, фото, имя, кнопка цветом бренда) */
body:not(.redesign) .listing-card .profile-photo{height:320px;aspect-ratio:auto;border-radius:14px}
body:not(.redesign) .listing-card .card-specs{display:block}
body:not(.redesign) .listing-card .card-contact{display:block;width:100%;min-height:0;margin-top:14px;padding:12px 18px;text-align:center;font-weight:400;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit}
@media(max-width:600px){body:not(.redesign) .listing-card .profile-photo{height:280px}}

/* Слайдер верхнего блока: стрелки, клавиши, перетаскивание мышью. Курсор «кулак» — только пока тащат. */
.card-row.profile-slider{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:0;padding-inline:0}
.card-row.profile-slider>.listing-card{flex:0 0 calc((100% - 60px)/4);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.card-row.profile-slider.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.card-row.profile-slider.is-dragging *{cursor:grabbing!important}
.card-row.profile-slider:focus-visible{outline:2px solid var(--accent,var(--brand,#7657b3));outline-offset:5px;border-radius:8px}
.carousel-controls [data-carousel-prev] svg,.carousel-controls [data-carousel-next] svg{transform:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carousel-controls:has([data-carousel-prev]:disabled):has([data-carousel-next]:disabled){visibility:hidden}
.carousel-controls .carousel-arrow:disabled{cursor:default}
@media(max-width:850px){.card-row.profile-slider>.listing-card{flex-basis:calc((100% - 40px)/3)}}
@media(max-width:600px){.card-row.profile-slider{gap:14px;scroll-padding-left:0}.card-row.profile-slider>.listing-card{flex-basis:80%;max-width:290px}.carousel-controls[data-carousel-controls="top-cards"]{gap:6px}}
@media(prefers-reduced-motion:reduce){.card-row.profile-slider{scroll-behavior:auto}}

/* Editorial: портретное фото в рамке, параметры через точку, контурная кнопка */
.redesign .listing-card .card-photo{position:relative;overflow:hidden;aspect-ratio:4/4.7;border-radius:var(--radius);background:var(--surface);isolation:isolate}
.redesign .listing-card .profile-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.redesign .listing-card .card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--accent) 28%,transparent));opacity:0;transition:opacity .6s ease;pointer-events:none}
.redesign .listing-card .listing-title strong{transition:color .3s ease}
.redesign .listing-card .card-specs{position:relative;display:block;line-height:1.5}
.redesign .listing-card .card-specs::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.redesign .listing-card .card-specs span{display:inline}
.redesign .listing-card .card-specs .spec-label{display:none}
.listing-card .card-specs .spec{white-space:nowrap}
.redesign .listing-card .card-specs b,.redesign .listing-card .card-specs .spec-extra{color:var(--ink);font-weight:400}
.redesign .card-contact{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:16px;padding:10px 16px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);font-size:14px;font-weight:500;letter-spacing:-.01em;transition:background .3s ease,color .3s ease,border-color .3s ease}
.redesign .card-contact::after{content:"→";display:inline-block;width:0;opacity:0;overflow:hidden;transform:translateX(-6px);transition:width .3s ease,opacity .3s ease,transform .3s ease}
.redesign .card-contact:focus-visible{background:var(--ink);color:var(--bg)}
.redesign.theme-night .card-contact{border-color:var(--accent);color:var(--accent)}
.redesign.theme-night .card-contact:focus-visible{background:var(--accent);color:var(--button-ink)}

/* Наведение на любую часть карточки: фото приближается и теплеет, имя и линия — цветом сайта, кнопка заливается со стрелкой */
@media(hover:hover) and (pointer:fine){
  .redesign .listing-card:hover .profile-photo{transform:scale(1.045);filter:saturate(1.08) brightness(1.03)}
  .redesign .listing-card:hover .card-photo::after{opacity:1}
  .redesign .listing-card:hover .listing-title strong{color:var(--accent)}
  .redesign .listing-card:hover .card-specs::after{transform:scaleX(1)}
  .redesign .listing-card:hover .card-contact{background:var(--ink);color:var(--bg)}
  .redesign.theme-night .listing-card:hover .card-contact{background:var(--accent);color:var(--button-ink)}
  .redesign .listing-card:hover .card-contact::after{width:1em;opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .redesign .listing-card .profile-photo,.redesign .listing-card .card-specs::after,.redesign .card-contact::after{transition:none}
  .redesign .listing-card:hover .profile-photo{transform:none}
}
@media(max-width:600px){
  .redesign .listing-card .card-photo{aspect-ratio:4/4.4}
  .redesign .listing-grid .listing-card .card-photo{aspect-ratio:3/4}
  .redesign .card-contact{min-height:40px;margin-top:12px;padding:8px 12px;font-size:13px}
}
