/* TNE Contact Unlocks — compact premium checkout (v0.5.9) */
/* Components deliberately use the tne-unlock prefix to avoid affecting the site's other controls. */
.tne-unlock-box, .tne-unlock-dialog {box-sizing:border-box;font-family:inherit}
.tne-unlock-box *, .tne-unlock-dialog * {box-sizing:border-box}
.tne-unlock-box {position:relative;margin:18px 0 22px;padding:23px 25px;background:linear-gradient(115deg,#21161c 0%,#171216 67%,#25151b 100%);border:1px solid #4b343b;border-radius:17px;color:#f6eff1;box-shadow:0 12px 35px rgba(0,0,0,.16)}
.tne-unlock-box:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#d5ad62,#aa174a);border-radius:17px 0 0 17px}
.tne-unlock-box-header{display:flex;gap:14px;align-items:flex-start;margin:0 0 19px}
.tne-unlock-lock{flex:0 0 44px;display:flex;width:44px;height:44px;border:1px solid #603c49;border-radius:12px;align-items:center;justify-content:center;background:rgba(163,35,78,.16);color:#ecc8d1;font-size:18px}
.tne-unlock-headings{min-width:0}
.tne-unlock-eyebrow{display:block;margin:0 0 5px;font-size:10px;font-weight:750;letter-spacing:.13em;color:#d1a86a;text-transform:uppercase}
.tne-unlock-box-header strong{display:block;color:#fff;font-size:20px;font-weight:750;line-height:1.3}
.tne-unlock-box-header p{margin:6px 0 0;color:#c4b7bd;font-size:13px;line-height:1.5}
.tne-unlock-actions{display:flex;gap:10px;flex-wrap:wrap}
.tne-unlock-button,.tne-unlock-dialog .tne-unlock-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid #a51d4c;border-radius:10px;background:linear-gradient(145deg,#bc1c51 0%,#891637 100%);color:#fff!important;font-family:inherit;font-size:13px;font-weight:750;line-height:1.4;letter-spacing:.01em;text-align:center;text-decoration:none!important;cursor:pointer;transition:background .18s,border-color .18s,filter .18s,transform .18s}
.tne-unlock-button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.tne-unlock-button:focus-visible,.tne-unlock-dialog input:focus-visible,.tne-unlock-close:focus-visible{outline:2px solid #e0ae68;outline-offset:3px}
.tne-unlock-button:disabled{opacity:.58;cursor:wait;transform:none}
.tne-unlock-secondary,.tne-unlock-box .tne-unlock-secondary{border-color:#744459!important;background:rgba(255,255,255,.045)!important;color:#f9e9ee!important}
.tne-unlock-secondary:hover{border-color:#b36f84!important;background:rgba(255,255,255,.09)!important}
.tne-unlock-advertiser-note{margin:13px 0 0;font-size:11px;line-height:1.5;color:#a999a1}
.tne-unlock-contact-result{margin-top:14px;color:#fff;word-break:break-word}
.tne-unlock-contact-result:empty{display:none}
.tne-unlock-contact-result strong{font-size:19px;letter-spacing:.01em;color:#fff}
.tne-unlock-revealed-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tne-unlock-revealed-actions a{display:inline-flex;align-items:center;padding:9px 13px;background:#922047;color:#fff!important;border:1px solid #b24161;border-radius:9px;font-size:12px;font-weight:700;text-decoration:none!important}
.tne-unlock-unlocked .tne-unlock-actions,.tne-unlock-unlocked .tne-unlock-advertiser-note{display:none}
.tne-unlock-card-cta{width:100%;margin-top:11px;min-height:42px;padding:11px 13px}
.tne-unlock-home-intro{margin:0 0 18px;color:#bdb1b6;font-size:14px;line-height:1.6}
.tne-unlock-pricing-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.tne-unlock-pricing-strip span{display:inline-flex;gap:6px;align-items:center;border:1px solid #4c353d;border-radius:9px;padding:10px 14px;background:rgba(255,255,255,.035);color:#eee2e5;font-size:12px}
.tne-unlock-pricing-strip strong{color:#fff}
.tne-unlock-modal[hidden]{display:none!important}
.tne-unlock-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:16px;overflow-y:auto;overscroll-behavior:contain}
.tne-unlock-shade{position:fixed;inset:0;background:rgba(7,5,8,.83);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.tne-unlock-dialog{position:relative;z-index:1;isolation:isolate;width:min(100%,480px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:34px 32px 24px;border:1px solid #67404e;border-radius:19px;background:radial-gradient(ellipse at 95% 0%,rgba(120,26,57,.26),transparent 43%),linear-gradient(155deg,#271820 0%,#171116 75%);color:#f9f4f6;box-shadow:0 35px 110px rgba(0,0,0,.55)}
.tne-unlock-close{position:absolute;right:18px;top:16px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #563844;border-radius:50%;background:rgba(255,255,255,.04);color:#eee0e6;font-size:22px;font-weight:400;line-height:1;cursor:pointer}
.tne-unlock-close:hover{background:#482430;color:#fff}
.tne-unlock-kicker{display:block;margin:0 34px 16px 0;color:#dcb275;font-size:10px;font-weight:850;letter-spacing:.18em;line-height:1.5}
.tne-unlock-kicker:before{content:"";display:inline-block;width:6px;height:6px;margin:0 9px 1px 0;border-radius:50%;background:#d4a65c}
.tne-unlock-dialog h2{margin:0 22px 9px 0;color:#fff;font-size:clamp(23px,4.8vw,29px);font-weight:780;line-height:1.18;letter-spacing:-.025em}
.tne-unlock-dialog-description{margin:0 0 16px;color:#cbbcc2;font-size:13px;line-height:1.5}
.tne-unlock-dialog .tne-unlock-amount{display:inline-flex;align-items:center;min-height:39px;margin:0 0 17px;padding:8px 13px;border:1px solid #704354;border-radius:9px;background:rgba(179,26,76,.13);color:#ffe1e9;font-size:15px;font-weight:780;line-height:1.35}
.tne-unlock-audience-note{display:flex;flex-direction:column;gap:3px;margin:0 0 22px;padding:12px 14px;border:1px solid rgba(212,174,108,.2);border-radius:10px;background:rgba(205,166,103,.06);font-size:12px;line-height:1.5;color:#c0adb5}
.tne-unlock-audience-note strong{font-size:12px;color:#e2bc81;font-weight:800}
.tne-unlock-dialog label{display:block;margin:0 0 8px;color:#f4eaf0;font-size:13px;font-weight:700}
.tne-unlock-dialog input,.tne-unlock-dialog input[type="tel"]{display:block;width:100%;min-height:51px;margin:0 0 12px;padding:12px 14px;border:1px solid #6b4653;border-radius:10px;background:#120e13;color:#fff;font:inherit;font-size:16px;line-height:1.45;box-shadow:none;outline:none;transition:border-color .2s,box-shadow .2s}
.tne-unlock-dialog input::placeholder{color:#8e7b83}
.tne-unlock-dialog input:focus{border-color:#c44472;box-shadow:0 0 0 3px rgba(199,37,96,.16)}
.tne-unlock-dialog .tne-unlock-pay-button{width:100%;min-height:50px;font-size:14px;font-weight:800;border-radius:10px}
.tne-unlock-pay-button span{margin-left:auto;font-size:18px;line-height:1}
.tne-unlock-feedback{min-height:0;margin:0;color:#8edfba;font-size:12px;line-height:1.5}
.tne-unlock-feedback:not(:empty){margin-top:12px}
.tne-unlock-feedback.is-error{color:#ff9ba8}
.tne-unlock-dialog small{display:block;margin:21px 0 0;padding-top:15px;border-top:1px solid #4a3039;color:#a99aa1;font-size:11px;line-height:1.65}
body.tne-unlock-modal-open{overflow:hidden}
.tne-unlock-reveal-link{display:block;margin:10px auto 0;padding:5px;border:0;background:transparent;color:#ed9db7!important;text-decoration:underline;font-size:11px;cursor:pointer}
.escort-card .tne-unlock-revealed-actions a{font-size:11px}
.tne-home-locked-section .tne-unlock-contact-result{word-break:break-word}
@media(max-width:580px){.tne-unlock-box{margin:15px 0 18px;padding:18px}.tne-unlock-box-header{gap:11px}.tne-unlock-lock{width:38px;height:38px;flex-basis:38px}.tne-unlock-box-header strong{font-size:18px}.tne-unlock-actions{display:grid;grid-template-columns:1fr}.tne-unlock-dialog{width:100%;padding:27px 21px 20px;border-radius:16px}.tne-unlock-dialog h2{font-size:24px}.tne-unlock-pricing-strip{display:grid}.tne-unlock-pricing-strip span{display:flex}.tne-unlock-button{width:100%}}
@media(prefers-reduced-motion:reduce){.tne-unlock-button{transition:none!important;transform:none!important}}

/* v0.5.9: compact visitor UI and cleaner listing cards */
.tne-unlock-dialog .tne-unlock-checkout-fields[hidden],.tne-unlock-modal-result[hidden],.tne-unlock-dialog .tne-unlock-amount[hidden]{display:none!important}
.tne-unlock-box .tne-unlock-button small{display:block;color:inherit;font-size:10px;font-weight:600;opacity:.8}
.tne-unlock-card-cta{margin-top:11px;min-height:42px;font-size:12px;line-height:1.4}
.escort-card.tne-unlock-card-unlocked .tne-unlock-card-cta{display:none}
.escort-card .tne-unlock-contact-result{margin-top:9px}
.tne-unlock-modal-result .tne-unlock-revealed-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tne-unlock-modal-result strong{font-size:21px;letter-spacing:.015em}
.tne-unlock-dialog .tne-unlock-audience-note{display:block;margin:12px 0 0;padding:0;border:0;background:none;color:#bda9b2;font-size:11px;line-height:1.5}
.tne-unlock-dialog .tne-unlock-audience-note strong{display:inline;color:#d4a871}
