/*
Theme Name: Nimphojobs Modern
Theme URI: https://jobs.localinfra.com.br/
Description: Modern visual layer for EscortWP.
Author: Nimphojobs
Template: escortwp
Version: 1.0.0
Text Domain: escortwp-modern
*/

:root {
	--nj-canvas: #0b0710;
	--nj-canvas-2: #150c22;
	--nj-bg: #f6f7fb;
	--nj-surface: #ffffff;
	--nj-surface-soft: #f9fafb;
	--nj-text: #171923;
	--nj-muted: #697386;
	--nj-primary: #e8267a;
	--nj-primary-dark: #b81257;
	--nj-accent: #8b5cf6;
	--nj-gold-accent: #f2b84b;
	--nj-border: #e7e9ef;
	--nj-shadow: 0 12px 32px rgba(25, 20, 45, .09);
	--nj-shadow-hover: 0 18px 42px rgba(25, 20, 45, .16);
	--nj-radius: 18px;
	--nj-display-font: 'Plus Jakarta Sans', 'Open Sans', "Helvetica Neue", Arial, sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
	max-width: none;
	background: var(--nj-canvas);
	background-image:
		radial-gradient(60vw 40vw at 12% -10%, rgba(232, 38, 122, .16), transparent 60%),
		radial-gradient(50vw 35vw at 100% 0%, rgba(139, 92, 246, .16), transparent 55%);
	background-repeat: no-repeat;
	background-attachment: fixed;
	color: var(--nj-text);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.contentwrapper, .sidebar-left, .sidebar-right {
	background: transparent;
}

a {
	color: var(--nj-primary);
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

a:hover {
	color: var(--nj-primary-dark);
}

.header-top-bar {
	min-height: 76px;
	padding: 16px clamp(20px, 4vw, 64px);
	background: rgba(20, 15, 31, .96);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
}

.all .logo h1 {
	line-height: 1.15;
}

.all .logo h1 a {
	font-size: clamp(1.2em, 2vw, 1.55em);
	font-weight: 800;
	letter-spacing: -.04em;
}

.all .logo h1 a::after {
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	margin-top: 7px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--nj-primary), #f472b6);
}

.header-top-bar .header-nav .header-menu li a {
	padding: 7px 14px;
	border-radius: 10px;
	font-size: .93rem;
	line-height: 1.4;
}

.header-top-bar .header-nav .header-menu li a:hover,
.header-top-bar .header-nav .header-menu li.current_page_item a {
	background: rgba(255, 255, 255, .1);
}

.header-top-bar .subnav-menu li.subnav-menu-btn a,
header .hamburger-menu {
	padding: 7px 15px;
	border-radius: 12px;
	background: var(--nj-primary);
	line-height: 1.45;
	box-shadow: 0 7px 18px rgba(216, 27, 96, .24);
}

.header-top-bar .subnav-menu li.login-btn a,
.header-top-bar .subnav-menu li.logout-btn a {
	background: rgba(255, 255, 255, .1);
	box-shadow: none;
}

.header-top-bar .subnav-menu li.subnav-menu-icon a {
	background: rgba(255, 255, 255, .07);
}

.sliderall {
	padding: 18px clamp(8px, 2vw, 30px);
	background:
		radial-gradient(circle at 18% 20%, rgba(216, 27, 96, .32), transparent 32%),
		radial-gradient(circle at 80% 15%, rgba(124, 58, 237, .3), transparent 34%),
		#17101f;
}

.slider {
	border-radius: var(--nj-radius);
}

.slider .slide {
	padding: 0 5px;
}

.slider .slide .girlimg {
	overflow: hidden;
	border-radius: 16px;
	background: #211a29;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .28);
}

.slider .slide .girlimg img {
	transition: transform .45s ease, filter .45s ease;
}

.slider .slide .girlimg:hover img {
	transform: scale(1.04);
	filter: saturate(1.08);
}

.slider .slide .girlinfo .modelinfo {
	padding: 14px 12px 11px;
	background: linear-gradient(0deg, rgba(12, 9, 18, .92), rgba(12, 9, 18, .08));
}

.slider .slide .girlimg:hover .girlinfo .modelinfo {
	background: linear-gradient(0deg, rgba(12, 9, 18, .96), rgba(12, 9, 18, .12));
}

.body {
	margin: 0 250px;
	border: 0;
	background: transparent;
}

.bodybox {
	margin: 18px 12px;
	padding: clamp(18px, 3vw, 32px);
	overflow: hidden;
	border: 1px solid var(--nj-border);
	border-radius: var(--nj-radius);
	background: var(--nj-surface);
	box-shadow: var(--nj-shadow);
}

.bodybox h3,
.bodybox h4,
.bodybox-homepage h3,
.bodybox .settingspagetitle {
	color: var(--nj-text);
	font-weight: 750;
	letter-spacing: -.025em;
}

.bodybox-homepage h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
	text-align: left;
}

.pinkbutton,
.pinkdegrade,
.greenbutton,
.greendegrade,
.blueishbutton,
.orangebutton,
.redbutton,
.graybutton {
	border: 0;
	border-radius: 11px !important;
	background: var(--nj-primary);
	color: #fff;
	text-shadow: none;
	box-shadow: 0 7px 18px rgba(216, 27, 96, .2);
}

.pinkbutton:hover,
.greenbutton:hover,
.blueishbutton:hover,
.orangebutton:hover,
.redbutton:hover,
.graybutton:hover {
	background: var(--nj-primary-dark);
	color: #fff;
	transform: translateY(-1px);
}

.bodybox-homepage .see-all-top,
.bodybox-homepage .see-all-bottom,
.bodybox-homepage .see-more-button {
	padding: 8px 16px;
}

.girl {
	padding: 8px;
	padding-bottom: 16px;
}

.girl .thumb {
	overflow: hidden;
	border: 1px solid var(--nj-border);
	border-radius: 16px !important;
	background: var(--nj-surface);
	box-shadow: 0 8px 22px rgba(25, 20, 45, .1);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.girl .thumb:hover,
.girl .thumb.girlpremium:hover {
	border-color: rgba(216, 27, 96, .35);
	box-shadow: var(--nj-shadow-hover);
	transform: translateY(-5px);
}

.girl .thumb .thumbwrapper a img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform .4s ease;
}

.girl .thumb:hover .thumbwrapper a img {
	transform: scale(1.035);
}

.girl .desc,
.girl a:hover .desc {
	padding: 18px 10px 10px;
	background: linear-gradient(0deg, rgba(15, 12, 22, .94), rgba(15, 12, 22, 0));
}

.girl a .desc .girl-name {
	font-size: 1.08rem;
	font-weight: 750;
	text-shadow: none;
}

.girl .desc .girl-desc-location {
	padding: 3px 0;
	color: rgba(255, 255, 255, .8);
	font-size: .82rem;
}

.girl .thumb .thumbwrapper .label,
.slider .slide .labels .label {
	border-radius: 7px !important;
	font-size: .72rem;
	letter-spacing: .03em;
}

.girl .thumb.girlpremium {
	border-color: #f3c96b;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
	min-height: 44px;
	border: 1px solid #d9dce5;
	border-radius: 10px;
	background: #fff;
	color: var(--nj-text);
	box-shadow: 0 1px 2px rgba(20, 15, 31, .03);
	transition: border-color .2s ease, box-shadow .2s ease;
}

input:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--nj-primary);
	box-shadow: 0 0 0 3px rgba(216, 27, 96, .12);
}

.sidebar-left .widgetbox,
.sidebar-right .widgetbox,
.njm-footer .widgetbox {
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface);
	box-shadow: 0 7px 20px rgba(25, 20, 45, .06);
}

.sidebar-left {
	background: transparent;
}

.sidebar-left .countries,
.widgetbox-wrapper {
	margin: 12px;
	padding: 16px;
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface);
	box-shadow: 0 7px 20px rgba(25, 20, 45, .06);
}

.sidebar-left .countries h4,
.widgetbox h4 {
	color: var(--nj-text);
	font-weight: 700;
}

.sidebar-left .country-list a {
	color: var(--nj-primary);
}

.sidebar-right {
	padding-top: 12px;
	background: transparent;
}

.sidebar-right .quicksearch {
	margin: 0 12px 12px;
	padding: 18px;
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: #1d1527;
	color: #fff;
	box-shadow: var(--nj-shadow);
}

.sidebar-right .quicksearch .adv {
	color: rgba(255, 255, 255, .72);
}

.sidebar-right .quicksearch .form-input select {
	padding: 8px 10px;
	color: var(--nj-text);
}

.footer {
	margin-top: 24px;
	padding: 24px clamp(16px, 4vw, 60px);
	border-top: 1px solid var(--nj-border);
	background: #fff;
}

.underfooter {
	padding: 16px;
	background: #17101f;
	color: rgba(255, 255, 255, .72);
}

@media (max-width: 1250px) {
	.body {
		margin: 0 220px;
	}
}

@media (max-width: 1000px) {
	.header-top-bar {
		padding: 14px 18px;
	}

	.body {
		margin: 0;
	}

	.bodybox {
		margin: 14px;
	}
}

@media (max-width: 768px) {
	body {
		font-size: 15px;
	}

	.header-top-bar {
		min-height: 68px;
	}

	.bodybox {
		margin: 10px;
		padding: 18px 14px;
		border-radius: 15px;
	}

	.sidebar-left .countries,
	.sidebar-right .quicksearch,
	.widgetbox-wrapper {
		margin: 10px;
	}

	.sidebar-right {
		padding-top: 0;
	}

	.bodybox-homepage h3 {
		width: 100%;
		margin-bottom: 8px;
	}

	.bodybox-homepage .see-all-top {
		float: left;
		margin-bottom: 12px;
	}

	.girl {
		width: 50%;
		padding: 6px;
	}

	.sliderall {
		padding: 10px 6px;
	}
}

@media (max-width: 420px) {
	.girl {
		width: 100%;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
}

/* ==========================================================================
   NIMPHOJOBS MODERN — extended design system
   Everything below restyles the existing EscortWP class vocabulary in place.
   No PHP/markup changes: every selector below targets classes the parent
   theme already emits, so all AJAX/JS behaviour keeps working untouched.
   ========================================================================== */

:root {
	--nj-success: #16a34a;
	--nj-success-dark: #0f7a37;
	--nj-danger: #e11d48;
	--nj-danger-dark: #b0123a;
	--nj-warning: #d97706;
	--nj-info: #0ea5e9;
	--nj-info-dark: #0876ab;
	--nj-gold: #f3c96b;
	--nj-dark: #17101f;
	--nj-dark-surface: #1d1527;
	--nj-dark-surface-2: #241a30;
	--nj-dark-border: rgba(255, 255, 255, .1);
	--nj-dark-text: rgba(255, 255, 255, .92);
	--nj-dark-muted: rgba(255, 255, 255, .62);
}

h1, h2, h3, h4, h5, h6 {
	font-family: inherit;
	letter-spacing: -.02em;
}

/* ---- semantic buttons: recolor the theme's fixed button classes ---- */
.greenbutton, .greendegrade {
	background: var(--nj-success);
	box-shadow: 0 7px 18px rgba(22, 163, 74, .22);
}
.greenbutton:hover { background: var(--nj-success-dark); }

.redbutton, .reddegrade {
	background: var(--nj-danger);
	box-shadow: 0 7px 18px rgba(225, 29, 72, .22);
}
.redbutton:hover { background: var(--nj-danger-dark); }

.orangebutton {
	background: var(--nj-warning);
	box-shadow: 0 7px 18px rgba(217, 119, 6, .22);
}
.orangebutton:hover { background: #b45f04; }

.blueishbutton {
	background: var(--nj-info);
	box-shadow: 0 7px 18px rgba(14, 165, 233, .22);
}
.blueishbutton:hover { background: var(--nj-info-dark); }

.whitebutton {
	border: 1px solid var(--nj-border) !important;
	border-radius: 11px !important;
	background: #fff;
	color: var(--nj-text);
	box-shadow: 0 1px 2px rgba(20, 15, 31, .04);
}
.whitebutton:hover {
	border-color: var(--nj-primary) !important;
	color: var(--nj-primary);
}

.graybutton {
	background: #6b7280;
	box-shadow: none;
}
.graybutton:hover { background: #4b5563; }

/* ---- badges / labels (get_escort_labels, girlsinglelabels) ---- */
.label, .girlsinglelabels span, .verified, .new {
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: none !important;
}
.label-new, .new { background: var(--nj-accent) !important; }
.label-private { background: #52525b !important; }
.label-verified, .verified { background: var(--nj-success) !important; }
.label-featured { background: var(--nj-primary) !important; }
.girl .thumb .labels { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.girl .thumb .labels .clear { display: none; }
.slider .slide .labels { display: flex; gap: 4px; }

/* ==========================================================================
   PROFILE / AGENCY / AD / BLACKLIST SINGLE PAGES  (.girlsingle)
   ========================================================================== */

.girlsingle .profile-title,
.girlsingle.agency-profile .profile-header .profile-title {
	color: var(--nj-text);
	font-weight: 800;
	letter-spacing: -.03em;
}

.girlsingle .profile-header .profile-header-name-info {
	background: transparent;
	padding: 6px 0;
}
.girlsingle .profile-header .profile-header-name-info .section-box {
	padding: 10px 16px;
	margin-left: 8px;
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface-soft);
	box-shadow: 0 4px 12px rgba(25, 20, 45, .05);
}
.girlsingle .profile-header .profile-header-name-info .section-box .valuecolumn {
	color: var(--nj-primary);
	letter-spacing: -.03em;
}
.girlsingle .profile-header .profile-header-name-info .section-box b {
	color: var(--nj-muted);
	font-weight: 600;
}
.girlsingle .profile-header .phone-box a,
.girlsingle .profile-header .available-on a {
	color: var(--nj-primary);
	font-weight: 700;
}
.girlsingle .profile-header .phone-box a:hover { color: var(--nj-primary-dark); }
.girlsingle .profile-header .phone-box .icon-phone { color: var(--nj-primary); opacity: .55; }

.girlsingle .profile-page-no-media {
	border: 2px dashed var(--nj-border);
	border-radius: 16px;
	color: var(--nj-muted);
	background: var(--nj-surface-soft);
	transition: border-color .2s ease, background-color .2s ease;
}
.girlsingle .profile-page-no-media:hover {
	border-color: var(--nj-primary);
	background: #fff;
}
.girlsingle .profile-page-no-media .icon,
.girlsingle .profile-page-no-media p u { color: var(--nj-primary); }
.girlsingle .max-photos b, .girlsingle .max-videos b {
	background: var(--nj-primary);
	border-radius: 999px;
}

.girlsingle .bigimage,
.girlsingle .thumbs {
	border-radius: var(--nj-radius);
	overflow: hidden;
}
.girlsingle .bigimage img { border-radius: 16px; }
.girlsingle .thumbs img {
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(25, 20, 45, .08);
}
.girlsingle .profile-img-thumb, .girlsingle .profile-video-thumb {
	border-radius: 10px;
	overflow: hidden;
}

.girlsingle .lockedsection {
	border-radius: var(--nj-radius);
	background: linear-gradient(135deg, var(--nj-primary), var(--nj-accent));
	box-shadow: var(--nj-shadow);
}
.girlsingle .lockedsection a { text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,.6); }

.girlsingle .rates-table {
	border-collapse: separate;
	border-spacing: 0 6px;
}
.girlsingle .rates-table th {
	background: var(--nj-dark);
	color: #fff;
	border-radius: 10px 10px 0 0;
	padding: 8px 0;
	font-weight: 600;
	font-size: .85rem;
}
.girlsingle .rates-table th.hide-incall, .girlsingle .rates-table th.hide-outcall {
	background: var(--nj-primary);
}
.girlsingle .rates-table td {
	background: var(--nj-surface-soft);
	text-align: center;
	border-radius: 10px;
}

.girlsingle .girlinfo .girlinfo-section {
	border: 1px solid var(--nj-border);
	border-radius: var(--nj-radius);
	box-shadow: 0 6px 18px rgba(25, 20, 45, .05);
}
.girlsingle .aboutme {
	border: 1px solid var(--nj-border);
	border-radius: var(--nj-radius);
	box-shadow: 0 6px 18px rgba(25, 20, 45, .05);
}
.girlsingle .aboutme .currently-on-tour-in,
.girlsingle .contact .currently-on-tour-in {
	border: 2px solid var(--nj-accent);
	border-radius: 12px;
	color: var(--nj-accent);
}
.girlsingle h4, .girlsingle .aboutme h4, .clientreviewtext h4,
.agency-reviews-bodybox h4 {
	color: var(--nj-text);
	border-left: 3px solid var(--nj-primary);
	text-transform: none;
	letter-spacing: -.01em;
}
.girlinfo .section-box b {
	color: var(--nj-primary);
	font-weight: 700;
}
.girlsingle .girlinfo .services .icon-ok { color: var(--nj-success); }
.girlsingle .girlinfo .services .icon-cancel { color: var(--nj-danger); }

.girlsingle .review-wrapper, .agency-reviews-bodybox .review-wrapper {
	border: 1px solid var(--nj-border);
	border-radius: var(--nj-radius);
	box-shadow: 0 6px 18px rgba(25, 20, 45, .05);
}
.review .addedby {
	background: var(--nj-dark);
	border-radius: 999px;
	padding: 3px 10px;
}

.girlsingle .escortcontact {
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface-soft);
}

/* tours table on the profile page */
.addedtours {
	border-radius: var(--nj-radius);
	overflow: hidden;
	border: 1px solid var(--nj-border);
}
.addedtours .tour {
	background: var(--nj-surface);
	border-bottom: 1px solid var(--nj-border);
}
.addedtours .tour:hover { background: var(--nj-surface-soft); }

/* ---- star ratings: replace the pixel-sprite fill with a scalable one ---- */
.starrating, .profilestarrating-wrapper .starrating {
	background: none;
	position: relative;
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 1px;
	font-family: Arial, sans-serif;
}
.starrating::before {
	content: "\2605\2605\2605\2605\2605";
	color: var(--nj-border);
	display: block;
}
.starrating .starrating_stars {
	background: none;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
}
.starrating .starrating_stars::before {
	content: "\2605\2605\2605\2605\2605";
	color: var(--nj-primary);
	display: block;
}
.profilestarrating-wrapper .starrating {
	font-size: 38px;
	letter-spacing: 2px;
}

/* ==========================================================================
   AGENCY SINGLE PAGE
   ========================================================================== */
.agencydetails a { color: var(--nj-primary); }
.agencydetails b { color: var(--nj-muted); font-weight: 600; }
.girlsingle.agency-profile .bigimage img {
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(25, 20, 45, .1);
}

/* ==========================================================================
   SIDEBAR RIGHT — role dashboard (upsells, my-account menu, quick search)
   ========================================================================== */

.sidebar-right .sidebar-expire-notice {
	border-radius: 14px;
	margin: 0 12px 10px;
	width: auto;
	background: var(--nj-dark);
}
.sidebar-right .sidebar-expire-notice .payment-button,
.sidebar-right .sidebar-expire-notice .activation-button {
	border-radius: 999px !important;
}

.sidebar-right .buyfeatured, .sidebar-right .buypremium {
	margin: 0 12px 10px;
}
.sidebar-right .buyfeatured .greendegrade,
.sidebar-right .buypremium .greendegrade,
.sidebar-right .buyfeatured > a,
.sidebar-right .buypremium > a {
	border-radius: 14px !important;
}
.sidebar-right .buyfeatured_details, .sidebar-right .buypremium_details {
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface);
}

.sidebar-right .upgradeescortbox {
	border-radius: 14px;
	background: var(--nj-primary);
}

.sidebar-right .dropdownlinks {
	margin: 0 12px 10px;
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-dark);
	background-image: none;
	filter: none;
	box-shadow: 0 8px 20px rgba(25, 20, 45, .12);
}
.sidebar-right .dropdownlinks h4 { color: #fff; }
.sidebar-right .dropdownlinks ul {
	background: transparent;
	border-radius: 0;
	margin-top: 4px;
	padding: 4px 0 0;
}
.sidebar-right .dropdownlinks ul a { color: var(--nj-dark-muted); }
.sidebar-right .dropdownlinks ul a:hover { color: #fff; }
.sidebar-right .dropdownlinks ul li a .icon {
	background: rgba(255, 255, 255, .08);
	color: #fff;
}
.sidebar-right .dropdownlinks a:hover .icon {
	background: var(--nj-primary);
	color: #fff;
}
.sidebar-right .dropdownlinks.dropdownlinks-userid { color: var(--nj-dark-text); }
.sidebar-right .dropdownlinks.dropdownlinks-userid a.edit-user { color: var(--nj-gold); }

.sidebar-right .blog-categories {
	margin: 0 12px 10px;
	padding: 12px;
	border: 1px solid var(--nj-border);
	border-radius: 14px;
	background: var(--nj-surface);
}

/* ==========================================================================
   FORMS — shared across every registration / dashboard / settings screen
   ========================================================================== */

.form-styling .form-label label { color: var(--nj-text); font-weight: 600; }
.form-styling .form-label small, .form-styling .form-input small { color: var(--nj-muted); }
.form-styling .form-input .input,
.form-styling .form-input .textarea,
.form-styling .form-input select {
	border-radius: 10px;
	border-color: #d9dce5;
}
.form-styling .form-input .input:focus,
.form-styling .form-input .textarea:focus {
	border-color: var(--nj-primary);
	box-shadow: 0 0 0 3px rgba(216, 27, 96, .12);
}
.form-styling input[type=submit] {
	border-radius: 999px !important;
	background: var(--nj-primary);
	border: 0;
	box-shadow: 0 7px 18px rgba(216, 27, 96, .2);
}
.form-styling input[type=submit]:hover { background: var(--nj-primary-dark); }
.form-styling .fieldset {
	background: var(--nj-accent);
	border-radius: 14px;
}
.form-styling .fieldset legend {
	border-color: var(--nj-accent);
	color: var(--nj-accent);
	border-radius: 999px;
}
.form-styling .form-input-accept-tos-err label {
	border-color: var(--nj-danger);
	border-radius: 8px;
}
.err, .err.rad25 {
	background: #fdecef !important;
	color: var(--nj-danger-dark) !important;
	border: 1px solid rgba(225, 29, 72, .25) !important;
	border-radius: 12px !important;
}
.ok, .ok.rad25 {
	background: #ecfdf3 !important;
	color: var(--nj-success-dark) !important;
	border: 1px solid rgba(22, 163, 74, .25) !important;
	border-radius: 12px !important;
}

/* checkator (checkbox/radio skin used site-wide) */
.checkator_element {
	border-radius: 6px !important;
	border-color: #d9dce5 !important;
}
.checkator_element.radio, .checkator_element.radio:after { border-radius: 50% !important; }
.checkator_source:checked + .checkator_element {
	border-color: var(--nj-primary) !important;
}
.checkator_source:checked + .checkator_element:after {
	background-color: var(--nj-primary) !important;
}
.checkator_source:hover + .checkator_element {
	border-color: var(--nj-primary) !important;
	background-color: #fdf1f6 !important;
}
.checkator_source:focus + .checkator_element {
	border-color: var(--nj-primary) !important;
}

/* slide-toggle owner-toolbar panels (agency_options_dropdowns and siblings) */
[class*="agency_options_"],
.searchescortform, .addnewescortform,
.addtourform, .addtourform2 {
	border: 1px solid var(--nj-border);
	border-radius: var(--nj-radius);
	background: var(--nj-surface-soft);
}

/* tabs (edit-user-types and similar admin screens) */
.tabs .tab {
	border-radius: 10px 10px 0 0 !important;
	background: var(--nj-surface-soft) !important;
	color: var(--nj-muted) !important;
	border-top-color: transparent !important;
}
.tabs .tab-active, .tabs .tab-active:hover {
	background: #fff !important;
	color: var(--nj-primary) !important;
	border-top-color: var(--nj-primary) !important;
}

/* generic data tables: classified ads, reviews, blacklists, user lists */
.listagencies, .see-all-users-table {
	border-radius: 14px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: 0 6px 18px rgba(25, 20, 45, .05);
}
.listagencies .trhead th, .see-all-users-table th {
	background: var(--nj-dark) !important;
	border-bottom: none !important;
}
.listagencies .whiterow, .listagencies .agencytr {
	background: var(--nj-surface);
	border-bottom: 1px solid var(--nj-border) !important;
}
.listagencies .agencytr td a { color: var(--nj-primary); }

/* register/pricing plan cards on register-main-page.php */
.registerpage .usertype {
	border-radius: var(--nj-radius);
	box-shadow: var(--nj-shadow);
	overflow: hidden;
}
.registerpage .usertype .usertype-title {
	background: linear-gradient(135deg, var(--nj-primary), var(--nj-accent));
}
.registerpage .usertype .userlist .icon { color: var(--nj-success); }
.registerpage .usertype .userlist .showprice {
	background: var(--nj-dark);
	border-radius: 6px;
}
.registerpage .usertype .usertype-bottom .registerbutton {
	border-radius: 999px !important;
}

/* pagination */
.escort-pagination {
	display: flex;
	justify-content: center;
	margin: 20px 0;
}
.escort-pagination ul.page-numbers {
	display: flex;
	gap: 6px;
	list-style: none;
	padding: 0;
}
.escort-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: 10px;
	background: var(--nj-surface);
	border: 1px solid var(--nj-border);
	color: var(--nj-text);
	font-weight: 600;
}
.escort-pagination a.page-numbers:hover {
	border-color: var(--nj-primary);
	color: var(--nj-primary);
}
.escort-pagination .page-numbers.current {
	background: var(--nj-primary);
	border-color: var(--nj-primary);
	color: #fff;
}

/* 404 */
.page404 { color: var(--nj-text); text-align: center; padding: 40px 0; }
.page404 h2 {
	background: linear-gradient(135deg, var(--nj-primary), var(--nj-accent));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* blog */
.theblog .post_title a { color: var(--nj-text); }
.theblog .post_title a:hover { color: var(--nj-primary); }
.theblog .under_the_title { border-color: var(--nj-border); }

/* select2 restyle to match the new inputs */
.select2 .select2-selection.select2-selection--single {
	border-radius: 10px !important;
	border-color: #d9dce5 !important;
}
.select2-dropdown { border-color: var(--nj-primary) !important; border-radius: 10px !important; overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--nj-primary) !important;
}

@media (max-width: 960px) {
	.girlsingle .girlinfo { width: 100%; }
	.girlsingle .girlinfo.l, .girlsingle .girlinfo.r { padding: 0; }
}

/* ==========================================================================
   HEADER dropdown submenu + mobile toggle + AGE-GATE overlay
   ========================================================================== */

.header-top-bar .header-nav .header-menu ul {
	margin-top: 6px;
	padding: 6px;
	border-radius: 14px;
	box-shadow: var(--nj-shadow-hover);
}
.header-top-bar .header-nav .header-menu ul li {
	min-width: 190px;
	border-radius: 9px;
	overflow: hidden;
}
.header-top-bar .header-nav .header-menu ul li a,
.header-top-bar .header-nav .header-menu .current_page_item ul li a {
	border-radius: 9px;
	color: var(--nj-text);
}
.header-top-bar .header-nav .header-menu ul li a:hover {
	background: var(--nj-primary);
}

.header-top-bar .subnav-menu .header-language-switcher select {
	background: rgba(255, 255, 255, .1);
	border-radius: 999px;
}
.header-top-bar .subnav-menu .header-language-switcher select:hover {
	background: rgba(255, 255, 255, .18);
}

.tosdisclaimer-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(10, 6, 16, .85);
	backdrop-filter: blur(3px);
}
.tosdisclaimer-wrapper {
	position: fixed;
	z-index: 9999;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 92%;
	max-width: 440px;
	padding: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
.tosdisclaimer {
	padding: 36px 28px;
	background: var(--nj-surface);
	text-align: center;
}
.tosdisclaimer h4 {
	margin-bottom: 14px;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--nj-text);
}
.tosdisclaimer .disclaimer-logo {
	margin-bottom: 16px;
}
.tosdisclaimer .disclaimer-logo img {
	max-height: 56px;
}
.tosdisclaimer p {
	color: var(--nj-muted);
	line-height: 1.55;
	margin-bottom: 8px;
}
.tosdisclaimerbuttons {
	display: flex;
	gap: 10px;
	justify-content: center;
}
.tosdisclaimerbuttons > div {
	border-radius: 999px !important;
	padding: 10px 22px;
	font-weight: 700;
	cursor: pointer;
}

/* ==========================================================================
   V2 FRONT REBUILD — brand new header, hero, cards, grid, footer, age-gate.
   None of this reuses the legacy .header-top-bar/.girl/.footer markup:
   header.php, header-slider.php, footer.php, index.php, taxonomy.php and
   all-profiles.php were all forked in the child theme with fresh HTML.
   ========================================================================== */

.njm-logo-mark {
	display: inline-block;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--nj-primary), var(--nj-accent));
	flex-shrink: 0;
}

.njm-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 18px;
	border-radius: 999px;
	border: 0;
	font-weight: 700;
	font-size: .88rem;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	line-height: 1.3;
}
.njm-btn-solid {
	background: linear-gradient(135deg, var(--nj-primary), var(--nj-accent));
	color: #fff;
	box-shadow: 0 8px 22px rgba(232, 38, 122, .32);
}
.njm-btn-solid:hover { filter: brightness(1.08); color: #fff; transform: translateY(-1px); }
.njm-btn-ghost { background: rgba(255, 255, 255, .09); color: #fff; }
.njm-btn-ghost:hover { background: rgba(255, 255, 255, .17); color: #fff; }
.njm-btn-ghost-light { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .35); }
.njm-btn-ghost-light:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.njm-btn-lg { padding: 13px 26px; font-size: .98rem; }

/* ---- header ---- */
.njm-header {
	position: sticky;
	top: 0;
	z-index: 500;
	background: rgba(11, 7, 16, .78);
	backdrop-filter: blur(18px) saturate(150%);
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.njm-header-bar {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 13px clamp(16px, 3vw, 40px);
}
.njm-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex-shrink: 0;
}
.njm-logo img { height: 36px; display: block; }
.njm-logo-word {
	font-family: var(--nj-display-font);
	font-weight: 800;
	font-size: 1.2rem;
	color: #fff;
	letter-spacing: -.03em;
}
.njm-nav { flex: 1; display: flex; justify-content: center; min-width: 0; }
.njm-nav-list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.njm-nav-list > li { position: relative; }
.njm-nav-list > li > a {
	display: block;
	padding: 9px 15px;
	border-radius: 999px;
	color: rgba(255, 255, 255, .78);
	font-weight: 600;
	font-size: .89rem;
	text-decoration: none;
	white-space: nowrap;
}
.njm-nav-list > li > a:hover,
.njm-nav-list > li.current_page_item > a {
	background: rgba(255, 255, 255, .09);
	color: #fff;
}
.njm-subnav {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 210px;
	list-style: none;
	margin: 0;
	padding: 6px;
	background: #170e22;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	box-shadow: 0 24px 55px rgba(0, 0, 0, .5);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.njm-has-sub:hover .njm-subnav,
.njm-has-sub:focus-within .njm-subnav {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.njm-subnav li a {
	display: block;
	padding: 9px 12px;
	border-radius: 9px;
	color: rgba(255, 255, 255, .75);
	font-size: .86rem;
	text-decoration: none;
}
.njm-subnav li a:hover { background: var(--nj-primary); color: #fff; }

.njm-header-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.njm-icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .09);
	color: #fff;
	text-decoration: none;
	flex-shrink: 0;
}
.njm-icon-btn:hover { background: var(--nj-primary); color: #fff; }
.njm-lang-switch select {
	background: rgba(255, 255, 255, .09);
	border: 0;
	border-radius: 999px;
	color: #fff;
	padding: 8px 14px;
	font-weight: 600;
	font-size: .85rem;
	cursor: pointer;
}
.njm-lang-switch select option { color: #000; }

.njm-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	border: 0;
	background: rgba(255, 255, 255, .09);
	border-radius: 12px;
	cursor: pointer;
	flex-shrink: 0;
}
.njm-nav-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease;
}
.njm-nav-open .njm-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.njm-nav-open .njm-nav-toggle span:nth-child(2) { opacity: 0; }
.njm-nav-open .njm-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 980px) {
	.njm-nav-toggle { display: flex; }
	.njm-nav {
		position: fixed;
		inset: 0;
		z-index: 60;
		display: none;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		padding: 96px 26px 40px;
		background: #0a0610;
		overflow-y: auto;
	}
	.njm-nav-open .njm-nav { display: flex; }
	.njm-nav-list { flex-direction: column; align-items: stretch; gap: 2px; width: 100%; }
	.njm-nav-list > li > a { font-size: 1.1rem; padding: 14px 8px; }
	.njm-subnav {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: block;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding-left: 14px;
		margin: 0 0 6px;
	}
	.njm-header-actions .njm-btn span:not(.icon) { display: none; }
	.njm-header-actions .njm-lang-switch { display: none; }
}
@media (max-width: 560px) {
	.njm-header-actions .njm-btn { padding: 9px 12px; }
}

/* ---- hero ---- */
.njm-hero {
	position: relative;
	overflow: hidden;
	padding: 60px clamp(16px, 4vw, 40px) 44px;
}
.njm-hero-glow {
	position: absolute;
	inset: -25% -10% auto -10%;
	height: 150%;
	background:
		radial-gradient(45% 55% at 25% 20%, rgba(232, 38, 122, .35), transparent 65%),
		radial-gradient(40% 50% at 85% 10%, rgba(139, 92, 246, .32), transparent 65%);
	pointer-events: none;
	z-index: 0;
}
.njm-hero-content { position: relative; z-index: 1; max-width: 740px; margin: 0 auto; text-align: center; }
.njm-hero-eyebrow {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	color: #fff;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 18px;
}
.njm-hero-title {
	font-family: var(--nj-display-font);
	font-size: clamp(1.9rem, 5vw, 3.3rem);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.1;
	color: #fff;
	margin: 0 0 16px;
}
.njm-hero-sub {
	color: rgba(255, 255, 255, .66);
	font-size: 1.05rem;
	max-width: 540px;
	margin: 0 auto 28px;
	line-height: 1.6;
}
.njm-hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.njm-hero-slider-wrap {
	position: relative;
	z-index: 1;
	max-width: 1440px;
	margin: 46px auto 0;
	padding: 0 clamp(16px, 4vw, 40px);
	/* Defensive cap: whatever ends up inside this strip, it can never blow
	   past a reasonable hero height and bury the rest of the page — worst
	   case is a clipped/scrollable strip, never a multi-thousand-px hero. */
	max-height: 520px;
}
.njm-hero-slider {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.njm-hero-slider::-webkit-scrollbar { display: none; }
.njm-hero-slide {
	flex: 0 0 260px;
	scroll-snap-align: start;
}
.njm-hero-slider .njm-card { height: 100%; }

.njm-hero-nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(11, 7, 16, .7);
	border: 1px solid rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 1.1rem;
	backdrop-filter: blur(6px);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.njm-hero-nav:hover { background: var(--nj-primary); }
.njm-hero-nav-prev { left: 4px; }
.njm-hero-nav-next { right: 4px; }

@media (max-width: 640px) {
	.njm-hero { padding-top: 40px; }
	.njm-hero-nav { display: none; }
}

/* ---- profile card (njm_profile_card()) ---- */
.njm-card {
	position: relative;
	display: block;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none;
	background: #15101f;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .32);
	transition: transform .3s ease, box-shadow .3s ease;
}
.njm-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(0, 0, 0, .48); }
.njm-card--premium { box-shadow: 0 0 0 2px var(--nj-gold-accent), 0 14px 32px rgba(0, 0, 0, .4); }
.njm-card-media { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #1b1526; }
.njm-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.njm-card:hover .njm-card-media img { transform: scale(1.06); }
.njm-card-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 42%, rgba(6, 3, 10, .92) 100%);
}
.njm-card-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.njm-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
}
.njm-badge--premium { background: linear-gradient(135deg, var(--nj-gold-accent), #c98a1d); color: #1a1206; }
.njm-badge--verified { background: #16a34a; }
.njm-badge--new { background: var(--nj-accent); }
.njm-badge--private { background: #52525b; }
.njm-online {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(6, 3, 10, .62);
	backdrop-filter: blur(4px);
	color: #4ade80;
	font-size: .66rem;
	font-weight: 800;
	text-transform: uppercase;
}
.njm-online-dot { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74, 222, 128, .25); }
.njm-video-badge {
	position: absolute;
	bottom: 62px;
	right: 10px;
	z-index: 2;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(6, 3, 10, .65);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: .8rem;
}
.njm-card-info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px; }
.njm-card-name {
	display: block;
	font-family: var(--nj-display-font);
	font-weight: 700;
	font-size: 1.02rem;
	color: #fff;
	letter-spacing: -.01em;
}
.njm-card-location {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 3px;
	color: rgba(255, 255, 255, .68);
	font-size: .78rem;
}

/* ---- sections / grid (home, taxonomy, all-profiles) ---- */
.njm-section { max-width: 1440px; margin: 0 auto; padding: 30px clamp(16px, 4vw, 40px); }
.njm-section-page { padding-top: 36px; }
.njm-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
.njm-section-head-spaced { margin-top: 36px; }
.njm-section-head h2 {
	font-family: var(--nj-display-font);
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: #fff;
	margin: 0;
}
.njm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 16px;
}
.njm-grid .girl { width: auto !important; float: none !important; padding: 0 !important; }
.njm-grid .show-separator { display: none !important; }

.njm-taxonomy-desc, .njm-page-intro { color: rgba(255, 255, 255, .68); line-height: 1.6; margin-bottom: 20px; }
.njm-taxonomy-desc a, .njm-page-intro a { color: var(--nj-gold-accent); }

.njm-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; }
.njm-filter-chips li a {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .85);
	font-size: .84rem;
	font-weight: 600;
	text-decoration: none;
}
.njm-filter-chips li a:hover { background: var(--nj-primary); border-color: var(--nj-primary); color: #fff; }

.njm-review-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.njm-review-card { background: var(--nj-surface); border-radius: 16px; padding: 18px; box-shadow: 0 10px 26px rgba(0, 0, 0, .22); }
.njm-review-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 10px; }
.njm-review-author { font-weight: 700; color: var(--nj-text); }
.njm-review-text { color: var(--nj-muted); font-size: .92rem; line-height: 1.6; margin: 0 0 10px; }
.njm-review-link { font-weight: 700; font-size: .84rem; }

/* ---- footer ---- */
.njm-footer { border-top: 1px solid rgba(255, 255, 255, .08); padding: 40px clamp(16px, 4vw, 40px) 24px; }
.njm-footer-inner {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 28px;
	flex-wrap: wrap;
}
.njm-footer-brand { display: flex; align-items: center; gap: 10px; }
.njm-footer-brand .njm-logo-word { font-family: var(--nj-display-font); font-weight: 800; color: #fff; font-size: 1.1rem; }
.njm-footer-widgets { flex: 1; min-width: 240px; color: rgba(255, 255, 255, .6); }
.njm-footer-placeholder { padding: 14px; border: 1px dashed rgba(255, 255, 255, .22); border-radius: 12px; }
.njm-footer-widgets a { color: var(--nj-gold-accent); }
.njm-underfooter { max-width: 1440px; margin: 0 auto; padding: 18px clamp(16px, 4vw, 40px) 0; text-align: center; color: rgba(255, 255, 255, .4); font-size: .82rem; }

/* ---- age gate ---- */
.njm-agegate {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(5, 3, 8, .88);
	backdrop-filter: blur(6px);
}
.njm-agegate-card {
	max-width: 440px;
	width: 100%;
	background: var(--nj-surface);
	border-radius: 24px;
	padding: 40px 32px;
	text-align: center;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
.njm-agegate-logo { max-height: 52px; margin: 0 auto 18px; display: block; }
.njm-agegate-mark { margin: 0 auto 18px; }
.njm-agegate-card h2 { font-family: var(--nj-display-font); font-size: 1.35rem; font-weight: 800; margin: 0 0 14px; color: var(--nj-text); }
.njm-agegate-card p { color: var(--nj-muted); line-height: 1.55; margin: 0 0 8px; }
.njm-agegate-bold { font-weight: 700; color: var(--nj-text) !important; }
.njm-agegate-actions { display: flex; gap: 10px; justify-content: center; margin-top: 22px; flex-wrap: wrap; }
.njm-agegate-actions .njm-btn-ghost { background: var(--nj-surface-soft); color: var(--nj-text); border: 1px solid var(--nj-border); }
.njm-agegate-actions .njm-btn-ghost:hover { background: #f1f2f6; color: var(--nj-text); }

@media (max-width: 480px) {
	.njm-agegate-card { padding: 32px 22px; }
}
