.ssvx-public-gallery,.ssvx-specialist{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;box-sizing:border-box;width:min(1180px,calc(100% - 24px));margin:clamp(24px,5vw,56px) auto;padding:clamp(18px,4vw,38px);border:1px solid rgba(218,188,255,.28);border-radius:22px;background:linear-gradient(145deg,rgba(25,13,36,.96),rgba(8,6,11,.98));color:#f8f2fb;box-shadow:0 20px 50px rgba(0,0,0,.32)}
.ssvx-public-gallery *,.ssvx-specialist *{box-sizing:border-box}.ssvx-public-heading p,.ssvx-kicker{margin:0 0 6px;color:#d8bcff;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ssvx-public-heading h2,.ssvx-specialist h1,.ssvx-specialist h2{margin:0 0 14px;color:#fff;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif}.ssvx-public-heading h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.ssvx-public-grid,.ssvx-locked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.ssvx-public-grid figure{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:3/4;background:#100b15}.ssvx-public-grid img{width:100%;height:100%;object-fit:cover}.ssvx-locked-tile{position:relative;overflow:hidden;min-height:220px;border-radius:14px;background:radial-gradient(circle at 25% 20%,rgba(232,159,255,.85),transparent 35%),radial-gradient(circle at 75% 75%,rgba(109,50,141,.9),transparent 42%),linear-gradient(135deg,#281232,#08070a);filter:blur(2px)}.ssvx-locked-tile:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 12px)}.ssvx-locked-tile span{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.55);font-size:2rem;font-weight:900;letter-spacing:.18em;transform:rotate(-18deg)}.ssvx-lock-copy{max-width:620px;margin:20px auto 0;text-align:center}.ssvx-lock-copy strong{font-size:1.25rem;color:#e3c7ff}.ssvx-lock-copy p,.ssvx-private-note,.ssvx-specialist p{color:#d8cedd;line-height:1.65}.ssvx-lock-copy a,.ssvx-cta{display:inline-flex;justify-content:center;align-items:center;min-height:48px;margin-top:8px;padding:12px 20px;border-radius:999px;background:linear-gradient(135deg,#9c61d6,#7042a1);color:#fff!important;font-weight:800;text-decoration:none!important}.ssvx-private-note{font-size:.86rem;text-align:center}
.ssvx-specialist{padding:0;overflow:hidden}.ssvx-specialist-hero{padding:clamp(34px,8vw,80px) clamp(20px,6vw,62px);background:radial-gradient(circle at 80% 10%,rgba(162,91,207,.35),transparent 40%),linear-gradient(135deg,#120919,#080609)}.ssvx-specialist-hero h1{font-size:clamp(2.35rem,8vw,5rem);line-height:1}.ssvx-specialist-hero>p:last-child{max-width:680px;font-size:clamp(1rem,2.4vw,1.25rem)}.ssvx-specialist-card{padding:clamp(24px,6vw,58px)}.ssvx-disclaimer{margin:0;padding:14px clamp(20px,6vw,58px) 24px;color:#a99dac!important;font-size:.76rem;line-height:1.5}.ssvx-cta{background:linear-gradient(135deg,#bd84f0,#7951a9)}
.ssvx-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ssvx-category-card{overflow:hidden;border:1px solid rgba(218,188,255,.24);border-radius:14px;background:#100b15;color:#fff!important;text-decoration:none!important}.ssvx-category-card img,.ssvx-category-placeholder{display:grid;place-items:center;width:100%;aspect-ratio:3/4;object-fit:cover;background:linear-gradient(145deg,#5a3471,#120919);font-size:2rem;font-weight:900}.ssvx-category-card strong{display:block;padding:12px;text-align:center}
@media(max-width:700px){.ssvx-public-gallery,.ssvx-specialist{width:calc(100% - 14px);margin:18px auto;border-radius:16px}.ssvx-public-gallery{padding:16px}.ssvx-public-grid,.ssvx-locked-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ssvx-locked-tile{min-height:155px}.ssvx-specialist-hero{padding:36px 20px}.ssvx-specialist-card{padding:24px 18px}.ssvx-cta{width:100%}}
@media(max-width:700px){.ssvx-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
.ssvx-service-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px 16px;width:min(1180px,calc(100% - 24px));margin:20px auto;padding:12px 16px;border:1px solid rgba(218,188,255,.2);border-radius:999px;background:rgba(14,8,19,.88);color:#bcb0c2;font-size:.84rem}.ssvx-service-links span{color:#d8bcff;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.ssvx-service-links a{color:#f6eef8!important;text-decoration:none!important}.ssvx-service-links a:hover,.ssvx-service-links a:focus{text-decoration:underline!important}@media(max-width:520px){.ssvx-service-links{width:calc(100% - 14px);border-radius:14px;gap:8px 13px}.ssvx-service-links span{flex-basis:100%;text-align:center}}
.ssvx-dancers-page .entry-header.ast-no-thumbnail,
.ssvx-strippers-page .entry-header.ast-no-thumbnail{display:none}

/* Secure gallery preview, full-gallery modal and image reporting. */
.ssvx-public-preview{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:18px auto 0}
.ssvx-public-preview figure{position:relative;aspect-ratio:3/4}
.ssvx-locked-photo{isolation:isolate;background:#110b17}
.ssvx-locked-placeholder{overflow:hidden;background:#0a070d}
.ssvx-locked-placeholder:before{content:"";position:absolute;inset:-18%;z-index:0;background:radial-gradient(circle at 24% 18%,rgba(224,154,255,.92),transparent 34%),radial-gradient(circle at 76% 82%,rgba(91,38,122,.96),transparent 42%),linear-gradient(135deg,#3d174b,#09060c);filter:blur(28px) saturate(.48) brightness(.62);transform:scale(1.18)}
.ssvx-locked-photo img{width:100%;height:100%;object-fit:cover;filter:blur(34px) saturate(.38) brightness(.42);transform:scale(1.3)}
.ssvx-locked-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(27,10,37,.68),rgba(3,2,5,.82));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.ssvx-locked-photo span{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:14px;color:#fff;text-align:center;font-size:clamp(.64rem,1.8vw,.84rem);font-weight:900;line-height:1.45;letter-spacing:.13em;text-shadow:0 3px 20px rgba(0,0,0,.95)}
.ssvx-private-empty{max-width:720px;margin:18px auto 0;padding:18px;border:1px solid rgba(218,188,255,.2);border-radius:14px;background:rgba(255,255,255,.035);color:#d8cedd;text-align:center}
.ssvx-profile-private-gallery{width:min(880px,calc(100% - 24px));margin:12px auto 24px;padding:16px 18px;border-radius:16px}
.ssvx-profile-private-gallery .ssvx-public-heading p{margin-bottom:3px;font-size:.68rem}
.ssvx-profile-private-gallery .ssvx-public-heading h2{margin-bottom:8px;font-size:clamp(1.35rem,3vw,1.75rem)}
.ssvx-profile-private-gallery .ssvx-public-preview{max-width:520px;margin-top:10px;gap:8px}
.ssvx-profile-private-gallery .ssvx-lock-copy{max-width:560px;margin-top:12px}
.ssvx-profile-private-gallery .ssvx-lock-copy strong{font-size:1.05rem}
.ssvx-profile-private-gallery .ssvx-lock-copy p{margin:5px 0 8px;font-size:.88rem;line-height:1.5}
.ssvx-profile-private-gallery .ssvx-lock-copy a{min-height:42px;margin-top:2px;padding:10px 18px;font-size:.85rem}
@media(max-width:700px){.ssvx-profile-private-gallery{width:calc(100% - 14px);margin:10px auto 18px;padding:13px}.ssvx-profile-private-gallery .ssvx-public-preview{max-width:420px;margin-top:8px}.ssvx-profile-private-gallery .ssvx-lock-copy p{font-size:.8rem}.ssvx-locked-photo span{padding:9px;font-size:.58rem;letter-spacing:.08em}}
.ssvx-gallery-open,.ssvx-profile-report-control button,.ssvx-image-report button{appearance:none;border:1px solid rgba(228,204,255,.42);border-radius:999px;background:linear-gradient(135deg,#c99aff,#7540bd);color:#12091b;font:800 .92rem/1 Montserrat,"Helvetica Neue",Arial,sans-serif;cursor:pointer}
.ssvx-gallery-open{display:flex;justify-content:center;align-items:center;min-height:48px;width:min(420px,100%);margin:20px auto 4px;padding:13px 22px}
.ssvx-gallery-open:hover,.ssvx-gallery-open:focus-visible,.ssvx-profile-report-control button:hover,.ssvx-profile-report-control button:focus-visible{filter:brightness(1.1);outline:2px solid #e6cdff;outline-offset:2px}
.ssvx-profile-report-control{display:flex;justify-content:center;width:min(1180px,calc(100% - 24px));margin:14px auto 32px}
.ssvx-profile-report-control button{min-height:42px;padding:10px 18px;background:rgba(23,12,32,.95);color:#f8f2fb}
.ssvx-modal-open{overflow:hidden}
.ssvx-gallery-modal[hidden]{display:none!important}
.ssvx-gallery-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:clamp(10px,3vw,28px);background:rgba(2,1,4,.88);backdrop-filter:blur(8px)}
.ssvx-gallery-modal.is-open{display:flex}
.ssvx-gallery-dialog{position:relative;width:min(1100px,100%);max-height:calc(100vh - 30px);overflow:auto;padding:clamp(12px,2vw,18px) clamp(14px,4vw,34px) clamp(20px,4vw,34px);border:1px solid rgba(222,192,255,.4);border-radius:22px;background:linear-gradient(145deg,#1d1028,#08060b 72%);color:#f8f2fb;box-shadow:0 26px 90px rgba(0,0,0,.68);overscroll-behavior:contain}
.ssvx-gallery-dialog>h2{margin:0 0 8px;padding-right:54px;color:#fff;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.25rem)}
.ssvx-gallery-dialog>p{margin:0 0 20px;color:#d8cedd}
.ssvx-gallery-close{position:sticky;top:12px;right:auto;z-index:4;display:grid;place-items:center;width:44px;height:44px;margin:0 0 -44px auto;padding:0;border:1px solid rgba(222,192,255,.52);border-radius:50%;background:#120b18;color:#fff;font:700 2rem/1 Arial,sans-serif;cursor:pointer}
.ssvx-gallery-close:hover,.ssvx-gallery-close:focus-visible{background:#7b45b4;outline:2px solid #e6cdff;outline-offset:2px}
.ssvx-modal-grid,.ssvx-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ssvx-modal-grid article,.ssvx-report-grid article{overflow:hidden;border:1px solid rgba(218,188,255,.25);border-radius:15px;background:#100b15}
.ssvx-modal-grid img,.ssvx-report-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.ssvx-watermarked{position:relative;isolation:isolate}
.ssvx-watermarked:after{content:attr(data-watermark);position:absolute;left:50%;top:50%;z-index:3;max-width:90%;padding:6px 10px;border:1px solid rgba(255,255,255,.38);border-radius:7px;background:rgba(4,2,7,.34);color:rgba(255,255,255,.72);font:800 clamp(.62rem,2vw,.86rem)/1.2 Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.12em;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%) rotate(-18deg);text-shadow:0 1px 6px rgba(0,0,0,.9)}
.ssvx-image-report{border-top:1px solid rgba(218,188,255,.18)}
.ssvx-image-report summary{padding:11px 13px;color:#e4d4ec;font-size:.82rem;font-weight:800;cursor:pointer}
.ssvx-image-report form{display:grid;gap:9px;padding:0 12px 13px}
.ssvx-image-report label{display:grid;gap:5px;color:#d8cedd;font-size:.78rem;font-weight:700}
.ssvx-image-report select,.ssvx-image-report textarea{width:100%;min-width:0;padding:9px;border:1px solid rgba(218,188,255,.32);border-radius:9px;background:#070609;color:#fff;font:inherit}
.ssvx-image-report button{min-height:39px;padding:9px 12px}
.ssvx-image-report button:disabled{cursor:default;opacity:.62}
.ssvx-report-status{min-height:1.2em;margin:0;color:#e7cff7;font-size:.76rem;line-height:1.35}
.ssvx-image-report form.is-complete select,.ssvx-image-report form.is-complete textarea,.ssvx-image-report form.is-complete button{display:none}
/* Keep the theme/Elementor gallery close control aligned inside the phone viewport. */
.elementor-lightbox .dialog-lightbox-close-button,
.elementor-lightbox .dialog-close-button,
.elementor-lightbox .elementor-lightbox-close{
    position:fixed!important;
    top:max(10px,env(safe-area-inset-top))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    left:auto!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(222,192,255,.52)!important;
    border-radius:50%!important;
    background:#120b18!important;
    color:#fff!important;
    line-height:1!important;
}

@media(max-width:800px){
    .ssvx-modal-grid,.ssvx-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}
@media(max-width:520px){
    .ssvx-public-preview{gap:7px}
    .ssvx-gallery-dialog{max-height:calc(100dvh - 16px);padding:9px 9px 18px;border-radius:16px}
    .ssvx-gallery-close{top:9px;right:auto;width:42px;height:42px;margin-bottom:-42px}
    .ssvx-modal-grid,.ssvx-report-grid{gap:7px}
    .ssvx-image-report summary{padding:10px 9px;font-size:.72rem}
    .ssvx-image-report form{padding:0 8px 10px}
    .ssvx-lock-copy{margin-top:14px}
}
