/**
 * Галерея карточек каталога — CSS в <head>.
 *
 * Та же разметка стилизуется EMCP-сниппетом 3391 и inc/model-card-gallery.php, но их
 * <style> печатается в wp_footer: до его загрузки фото карточки растягивалось
 * (≈1286px на телефоне), потом схлопывалось — главный скачок вёрстки (CLS) каталога.
 * Здесь копия этих правил подключается в <head>, футерные дубли безвредны.
 */

.uz-gal{position:relative;width:100%;aspect-ratio:3/4;background:#111;overflow:hidden;border-radius:inherit}
.uz-gal__track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;user-select:none}
.uz-gal__track::-webkit-scrollbar{display:none}
.uz-gal__track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
.uz-gal__slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.uz-gal__img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;-webkit-user-drag:none;user-select:none;pointer-events:none}
.uz-gal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:21px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,background .2s}
.model-card__media:hover .uz-gal__nav,.uz-gal:hover .uz-gal__nav{opacity:.9;visibility:visible}
.uz-gal__nav:hover{background:rgba(0,0,0,.8);opacity:1}
.uz-gal__prev{left:8px}
.uz-gal__next{right:8px}
.uz-gal__dots{position:absolute;left:0;right:0;bottom:8px;display:flex;gap:5px;justify-content:center;z-index:6;pointer-events:none}
.uz-gal__dot{width:6px;height:6px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);pointer-events:auto;cursor:pointer;transition:background .2s,width .2s}
.uz-gal__dot.is-active{background:#fff;width:16px;border-radius:3px}
@media (hover:none){.uz-gal__nav{display:none}}
/* Card hover-overlay (stats + button) sits above the photo. Make it click-through and
   give it side gutters so its text never collides with the gallery arrows. */
.model-card__hover{pointer-events:none}
.model-card__media .model-card__hover{padding-left:50px;padding-right:50px}
.model-card__hover a,.model-card__hover button,.model-card__hover .elementor-button,.model-card__hover [role="button"],.model-card__hover input,.model-card__hover select{pointer-events:auto}


/* (1) overlay must never eat pointer/touch — only its real buttons/links do */
.model-card__hover{pointer-events:none!important}
.model-card__hover a,.model-card__hover button,.model-card__hover .elementor-button,
.model-card__hover [role="button"],.model-card__hover input,.model-card__hover select{pointer-events:auto!important}
/* the dark tint layer (.model-card__media::after) sits above the gallery with
   z-index:2 and default pointer-events:auto — it was swallowing every touch, so
   swipe never reached the strip. It is purely visual: make it click/touch-through. */
.model-card__media::after{pointer-events:none!important}
/* horizontal gesture belongs to the gallery, vertical scroll to the page */
.uz-gal__track{touch-action:pan-y pinch-zoom}
.uz-gal__track.is-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important}
/* (2) как только начинают ЛИСТАТЬ фото (класс uz-swiping) — чистое фото:
   убираем hover-затемнение и характеристики, ОСТАЁТСЯ ТОЛЬКО кнопка «Подробнее». */
.model-card__media.uz-swiping::after{background:rgba(0,0,0,0)!important}
.model-card__media.uz-swiping .model-card__hover{opacity:1!important;visibility:visible!important;background:transparent!important;transition:opacity .12s ease}
/* прячем все виджеты оверлея (характеристики)... */
.model-card__media.uz-swiping .model-card__hover > *{opacity:0!important;visibility:hidden!important}
/* ...кроме виджета с кнопкой «Подробнее» */
.model-card__media.uz-swiping .model-card__hover > .elementor-widget-button,
.model-card__media.uz-swiping .model-card__hover > *:has(.elementor-button),
.model-card__media.uz-swiping .model-card__hover > *:has(a[href*="/models/"]){opacity:1!important;visibility:visible!important}
/* курсор-указатель: карточка кликабельна (переход в анкету) */
.model-card__media{cursor:pointer}
/* (3) The original "Реклама" heading is absolutely positioned only on desktop;
   below the desktop breakpoint (<1025px: tablets AND phones) it drops into normal
   flow ABOVE the banner and looks detached. Width-independent bulletproof fix:
   on ALL sizes hide the stray original heading and paint the badge straight onto
   the banner image itself, so it is always pinned to the banner corner. */
.uz-catalog-ad-listing-item .elementor-widget-heading{display:none!important}
.uz-catalog-ad-listing-item .uz-listing-ad-card{position:relative!important}
.uz-catalog-ad-listing-item .uz-listing-ad-card img{width:100%!important;height:auto!important;display:block!important}
.uz-catalog-ad-listing-item .uz-listing-ad-card::before{
	content:"Реклама";
	position:absolute;top:12px;left:12px;z-index:3;
	background:var(--e-global-color-accent,#e30063);
	color:#fff;
	font-family:"Nunito",sans-serif;font-size:15px;font-weight:600;line-height:1;
	padding:5px 12px;border-radius:10px;pointer-events:none;
}

/* Попапы Elementor (18+ «enter_attention»): сразу фиксированный полноэкранный слой,
   чтобы появление попапа не считалось сдвигом вёрстки. */
.elementor-popup-modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important}
