/*
Theme Name: WP GEO Escort
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; }
ol, ul { list-style: inside; }
:focus { outline: 0; }


[class^="icon-"]:before, [class*=" icon-"]:before {
	font-style: normal;
	font-weight: normal;
	speak: none;

	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: .2em;
	text-align: center;
	/* opacity: .8; */

	/* For safety - reset parent styles, that can break glyph codes*/
	font-variant: normal;
	text-transform: none;

	/* fix buttons height, for twitter bootstrap */
	line-height: 1em;

	/* Animation center compensation - margins should be symmetric */
	/* remove if not needed */
	margin-left: .2em;

	/* you can be more comfortable with increased icons size */
	/* font-size: 120%; */

	/* Uncomment for 3D effect */
	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}


.clear { clear: both; }
.clear5 { clear: both; height: 5px; }
.clear10 { clear: both; height: 10px; }
.clear15 { clear: both; height: 15px; }
.clear20 { clear: both; height: 20px; }
.clear30 { clear: both; height: 30px; }
.clear40 { clear: both; height: 40px; }
.clear50 { clear: both; height: 50px; }
.hide { display: none; }
.center { margin: 0 auto; text-align: center; display: inline-block; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.col10 { width: 10% !important; }
.col20 { width: 20% !important; }
.col30 { width: 30% !important; }
.col33 { width: 33% !important; }
.col40 { width: 40% !important; }
.col50 { width: 50% !important; }
.col60 { width: 60% !important; }
.col70 { width: 70% !important; }
.col80 { width: 80% !important; }
.col90 { width: 90% !important; }
.col100 { width: 100% !important; }

.rad3 { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.rad5 { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.rad7 { -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; }
.rad17 { -webkit-border-radius: 17px; -moz-border-radius: 17px; border-radius: 17px; }
.rad25 { -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; }
.rad50 { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }

a { color: var(--c-brand); text-decoration: none; cursor: pointer; }
a:hover{ color: #075b6d; }

.l { float: left; }
.r { float: right; }
.err, .ok {
	color: var(--c-white);
	text-align: center;
	font-weight: bold;
	line-height: 1.5em;
	font-size: 1em;
	margin: 10px 0;
	padding: 5px 2px;
}
.err { background-color: #CC0033; }
.ok { background-color: #6DA22E; }
.err a, .ok a { color: var(--c-white) !important; text-decoration: underline;  }
.err small, .ok small {
	line-height: 1.1em;
	display: block;
}

.ok2 { border: solid 1px #6DA22E; padding: 10px; }
.ok2 .icon-ok { color: #6DA22E; }

.nopadding { padding: 0 !important; }

.noselect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
}

.pinkbutton, .pinkdegrade {
	background: var(--c-brand);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-brand-hover)), color-stop(100%,var(--c-brand)));
	background: var(--g-brand);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FE5ACB', endColorstr='#E0006C',GradientType=0 );
	color: var(--c-brand-fg);
}
.pinkbutton:hover {
	background: var(--c-brand-hover);
	color: var(--c-brand-fg);
}
input.pinkbutton {
	font-size: 1em;
	line-height: 1.2em;
}

.whitebutton, .whitedegrade {
	background: var(--c-white);
	color: var(--c-brand);
	border: none;
}
.whitebutton:hover {
	background: #9D0AC6;
	color: var(--c-white);
}
input.whitebutton {
	font-size: 1em;
	line-height: 1.2em;
}


.blueishbutton {
	background: var(--c-info-bg);
	color: var(--c-brand);
	border: 1px var(--c-brand-hover) solid;
}
.blueishbutton:hover { background: var(--c-brand-hover); color: var(--c-white); }
.blueishdegrade {
	background: var(--c-white);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-white)), color-stop(100%,var(--c-info-bg)));
	background: var(--g-info-bg);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eff8ff',GradientType=0 );
}

.bluebutton, .bluedegrade {
	background: var(--c-info-cyan);
	background: var(--g-info);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#20c7f9', endColorstr='#1b6ad1',GradientType=0 );
}
.bluebutton:hover {
	background: var(--c-info-cyan-light);
	background: var(--g-info-bright);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#20e0f9', endColorstr='#20b6fc',GradientType=0 );
}

.orangebutton, .orangedegrade {
	background: var(--c-warning-alt);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-warning-alt)), color-stop(100%,#fd6420));
	background: var(--g-orange);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fea037', endColorstr='#fd6420',GradientType=0 );
	color: var(--c-white);
}
.orangebutton:hover { background: #FD9929; }



.redbutton, .reddegrade {
	background: var(--c-danger-hover);
	background: var(--g-danger);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fd5959', endColorstr='#ff0000',GradientType=0 );
	color: var(--c-white);
}
.redbutton:hover { background: var(--c-danger-hover); }


.greenbutton, .greendegrade {
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
}
.greenbutton:hover {
	background: #22e56d;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#22e56d), color-stop(100%,#17c15b));
	background: var(--g-success-bright);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#22e56d', endColorstr='#17c15b',GradientType=0 );
	color: var(--c-white);
}
input.greenbutton, button.greenbutton {
	font-size: 1em;
	line-height: 1.2em;
}

.graybutton, .graydegrade {
	background: var(--c-white);
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-white)), color-stop(100%,#e1e1e1));
	background: var(--g-white-gray);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e1e1e1',GradientType=0 );
	color: #727272;
}
.graybutton:hover {
	background: #ededed;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkOGQ4ZDgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#d8d8d8));
	background: var(--g-gray);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#d8d8d8',GradientType=0 );
}

.pinkbutton, .blueishbutton, .orangebutton, .redbutton, .greenbutton, .graybutton, .whitebutton {
	text-decoration: none !important;
	padding: 5px 16px;
	cursor: pointer;
	border: none;
	font-weight: 600;
}

.clickbutton {
	background: #185729;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9fbc95), color-stop(100%,var(--c-violet)));
	background: var(--g-mixed);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9fbc95', endColorstr='#6023cf',GradientType=0 );
	color: #12024c;
}

/* Style Radio and Checkbox form fields START */
/* RESET */
input[type=radio],
input[type=checkbox] {
	margin-bottom: 0;
	width: 18px;
	height: 18px;
}

/* SOURCE ELEMENT (when checkator is enabled on an element) */
.checkator_source {
	position: relative;
	z-index: 2;
	display: block;
}

/* SHARED SETTING */
.checkator_holder { /* Holder for the new element */
	display: inline-block;
	position: relative;
	vertical-align: sub;
}
.checkator_element { /* New element */
	border: 2px solid #E37592;
	background-color: var(--c-white);
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.checkator_holder.radio .checkator_source:checked+.checkator_element:after { /* Checked element dot */
	border: 2px solid #646FF0;
	background-color: #646FF0;
	display: block;
	content: ' ';
	top: 15%;
	right: 15%;
	bottom: 15%;
	left: 15%;
	position: absolute;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
}
.checkator_holder.checkbox .checkator_source:checked+.checkator_element:before { /* Checked element dot */
	content: "\e80e";
	font-family: 'escortwp' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	top: -1px;
	position: absolute;
	left: 0px;
	font-size: 0.9em;
	color: #646FF0;
}

.checkator_source:focus+.checkator_element { /* Focused element */
	/*border: 2px solid #cc0;*/
}
.checkator_source:hover+.checkator_element { /* Hovered element */
	border: 2px solid #646FF0;
}


/* RADIO SETTINGS */
.checkator_element.checkbox { /* CHECKBOX SETTINGS */
	border: 2px solid #E37592;
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
}
.checkator_element.radio {
	border-radius: 50% !important;
}
.checkator_element.radio:after {
	border-radius: 50% !important;
}
/* Style Radio and Checkbox form fields END */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
	font-family: 'Open Sans', "Helvetica Neue", "Trebuchet MS",Arial,sans-serif;
}

body {
	background: var(--c-white);
	color: #12526f;
	overflow-x: hidden;
	/*max-width: 2000px;*/
	margin: 0 auto;
}

.all { width: 100%; }

.all-topnav {
	width: 100%;
}


.contentwrapper{
	float: left;
	width: 100%;
}

.body {
	margin: 0 250px 0 250px;
	border-left: 1px solid var(--c-brand-soft);
	border-right: 1px solid var(--c-brand-soft);
}

.bodybox.registerform h3 {
	text-align: center;
}
.bodybox.registerform .mandatory {
	text-align: center;
}
.bodybox {
	background-color: var(--c-brand-palest);
	padding: 20px;
	overflow: hidden;
	border-bottom: 1px solid var(--c-brand-soft);
}

.bodybox h3, .bodybox h4 {
	font-weight: normal;
}
.bodybox h3 {
	font-size: 1.5em;
	font-weight: normal;
	padding-bottom: 10px;
	position: relative;
	color: var(--c-brand);
	text-align: center;
}
.bodybox .settingspagetitle {
	color: var(--c-brand);
	font-size: 1.8em;
	padding-bottom: 30px;
	text-align: center;
}

.bodybox .pagetitle-menu li{
	padding: 0 2px;
	list-style: none;
	float: left;
	display: block;
	line-height: 2em;
}
.bodybox .pagetitle-menu li a{
	padding: 5px 10px;
	display: inline-block;
	line-height: normal;
}
.bodybox .pagetitle-menu li a:hover {
	border-color: transparent;
}

.bodybox-homepage .see-all-bottom,
.bodybox-homepage .see-more-button {
	margin: 0 auto;
	padding: 5px 20px;
}
.bodybox-homepage .see-all-top {
	padding: 4px 20px;
}
.bodybox-homepage h3 {
	padding-bottom: 20px;
	color: #fa2dba;
	/*font-weight: 600;*/
	font-size: 1.7em;
}


.bodybox .taxonomy-description-box {
	padding: 20px 0;
}

.pagedesign a{
	color: var(--c-brand);
}
.pagedesign a:hover{
	color: #075b6d;
}
.pagedesign img {
	max-width: 100%;
}

.post-edit-link {
	color: var(--c-brand);
}


/***** HEADER start *****/
.all .logo h1 a {
	color: var(--c-white);
	font-size: 1.3em;
	overflow: hidden;
}
.all .logo h1 a img{
	display: block;
}
.all .logo .sitedesc {
	padding-top: 5px;
	color: var(--c-white);
	font-size: 1em;
	font-weight: normal;
}

.header-top-bar {
	width: 100%;
	padding: 15px 20px;
	background: var(--c-accent);
}

.header-top-bar .logo img {
	font-size: 1rem;
	height: 3.5em;
}

.header-top-bar .header-nav {
	font-size: 1rem;
	padding-left: 20px;
	min-height: 3.5em;
}
.header-top-bar .header-nav .header-menu li {
	float: left;
	list-style: none;
	position: relative;
}
.header-top-bar .header-nav .header-menu li a {
	color: var(--c-white);
	font-weight: bold;
	line-height: 1.8em;
	display: block;
	float: left;
	padding: 0 13px;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
}
.header-top-bar .header-nav .header-menu li a:hover,
.header-top-bar .header-nav .header-menu li.current_page_item a {
	background: var(--c-brand-hover);
}

.header-top-bar .header-nav .header-menu ul {
	background: var(--c-white);
	color: var(--c-info-slate);
	position: absolute;
	top: 1.8em;
	left: 0;
	z-index: 2;
	text-align: left;
	padding: 3px;
	display: none;
	-webkit-border-radius: 17px; -moz-border-radius: 17px; border-radius: 17px;
}
.header-top-bar .header-nav .header-menu ul ul {
	display: none;
	left: 200px;
	top: 0;
	border-left: 1px solid #E0E9ED;
}
.header-top-bar .header-nav .header-menu li:hover ul {
	display: block;
}
.header-top-bar .header-nav .header-menu li:hover ul ul {
	display: none;
}
.header-top-bar .header-nav .header-menu ul li:hover ul {
	display: block;
}
.header-top-bar .header-nav .header-menu ul li:hover ul ul {
	display: none;
}
.header-top-bar .header-nav .header-menu ul ul li:hover ul {
	display: block;
}
.header-top-bar .header-nav .header-menu ul li a,
.header-top-bar .header-nav .header-menu .current_page_item ul li a {
	background: var(--c-white);
	display: block;
	float: none;
	color: var(--c-info-slate);
	line-height: 2.1em;
	margin: 2px 0;
}
.header-top-bar .header-nav .header-menu ul li a:hover {
	background: var(--c-brand-hover);
	border: none;
	color: var(--c-white);
	text-shadow: none;
}
.header-top-bar .header-nav .header-menu ul li a {
	margin-right: 0;
}
.header-top-bar .header-nav .header-menu ul li {
	position:relative;
	float: none;
	margin-right: 0;
	min-width: 200px;
}
.header-top-bar .header-nav .header-menu ul > li:first-child{
	padding-top: 0px;
}
.header-top-bar .header-nav .header-menu ul > li:last-child{
	padding-bottom: 0px;
}



.header-top-bar .subnav-menu-wrapper {
	min-height: 3.5em;
}
.header-top-bar .subnav-menu {
}
.header-top-bar .subnav-menu li {
	float: left;
	display: inline;
	list-style: none;
	padding-left: 5px;
	line-height: 2.2em;
	vertical-align: middle;
}
.header-top-bar .subnav-menu li.subnav-menu-btn a {
	vertical-align: middle;
	padding: 0 10px;
	color: var(--c-brand-fg);
	font-weight: bold;
	display: block;
	float: left;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
	background: var(--c-brand-hover);
}
.header-top-bar .subnav-menu li.subnav-menu-icon a {
	-webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%;
	color: var(--c-white);
	font-size: 1.5em;
	display: block;
	float: left;
	width: 1.5em;
	text-align: center;
}
.header-top-bar .subnav-menu li.subnav-menu-icon a:hover {
	background: var(--c-brand-hover);
}
.header-top-bar .subnav-menu li.subnav-menu-icon a span {
	display: block;
	line-height: 1.5em;
}
.header-top-bar .subnav-menu li.login-btn a,
.header-top-bar .subnav-menu li.logout-btn a {
	background: var(--c-brand-alt);
}
.header-top-bar .subnav-menu li.subnav-menu-btn a:hover {
	background: #AC35C4;
}

.header-top-bar .subnav-menu .header-language-switcher {
	/*padding-left: 15px;*/
}
.header-top-bar .subnav-menu .header-language-switcher select {
	border: none;
	cursor: pointer;
	padding-left: 5px;
	background: var(--c-brand-alt);
	color: var(--c-white);
	font-weight: bold;
	font-size: 1rem;
	font-family: 'Open Sans', "Helvetica Neue", "Trebuchet MS",Arial,sans-serif;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
	line-height: 2.2em;
	height: 2.2em;
}
.header-top-bar .subnav-menu .header-language-switcher select:hover {
	background: #AC35C4;
}
.header-top-bar .subnav-menu .header-language-switcher select option {
	background: var(--c-white);
	color: var(--c-black);
}


header .hamburger-menu {
	display: none;
	cursor: pointer;
	background: var(--c-brand-alt);
	color: var(--c-white);
	line-height: 2.3em;
	padding: 0 10px;
	vertical-align: bottom;
	font-weight: 600;
}
header .hamburger-menu:hover {
	background: #AC35C4;
}

header.header-mobile1 .logo,
header.header-mobile2 .logo {
	width: 100%;
	text-align: center;
	float: none;
}
header.header-mobile1 .logo h1,
header.header-mobile2 .logo h1 {
	float: none;
	width: 100%;
}
header.header-mobile1 .logo h1 a,
header.header-mobile2 .logo h1 a {
	display: inline-block;
}

header.header-mobile1 .header-nav {
	float: none;
	width: 100%;
}

header.header-mobile2 .header-nav {
	padding: 0;
	width: 100%;
	text-align: center;
}
header.header-mobile2 .header-nav .header-menu {
	float: none;
	display: inline-block;
}
header.header-mobile2 .header-nav .header-menu li {
	float: none;
	display: inline-block;
}
header.header-mobile2 .subnav-menu-wrapper {
	width: 100%;
	display: block;
	text-align: center;
}
header.header-mobile2 .subnav-menu-wrapper .subnav-menu {
	float: none;
	display: inline-block;
	width: 100%;
}
header.header-mobile2 .subnav-menu-wrapper .subnav-menu li {
	display: inline-block;
	float: none;
}
header.header-mobile2 .subnav-menu-wrapper .subnav-menu li a {
	display: inline-block;
	float: none;
	vertical-align: top;
}
/***** HEADER end *****/



/***** SLIDER start *****/
.all.all-header-slider {
	width: 100%;
}
.sliderall {
    position: relative;
    padding: 10px 0;
	background: var(--c-accent-deep);
	background: var(--g-purple-deep);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f074e', endColorstr='#6529c7',GradientType=1 );
}

.slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slider .slide {
	list-style: none;
	display: inline;
    float: left;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
}

.slider .slide .girlimg {
	position: relative;
	display: block;
	background: var(--c-brand-palest);
}

.slider .slide .girlimg img {
    width: 100%;
    display: block;
}

.slider .slide .labels {
	position: absolute;
	left: 3px;
	top: 3px;
}
.slider .slide .labels .label {
	color: var(--c-white);
	font-size: 0.9em;
	font-weight: bold;
	line-height: 1.7em;
	padding: 0 5px;
	float: left;
	margin-bottom: 2px;
}
.slider .slide .label-video {
	position: absolute;
	top: 35%;
	width: 100%;
	text-align: center;
}
.slider .slide .label-video img {
	max-width: 100px;
	height: auto;
	display: inline-block;
}

.slider .slide .girlinfo {
	color: var(--c-white);
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
}
.slider .slide .girlinfo .modelinfo {
	padding: 5px;
	display: block;
	width: 100%;
	background: rgba(254, 90, 203, 0.4);   /* fallback: --c-brand-hover @ 40% */
	background: color-mix(in srgb, var(--c-brand-hover) 40%, transparent);
}
.slider .slide .girlimg:hover .girlinfo .modelinfo {
	background: var(--g-brand-glass);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#69fe5acb', endColorstr='#66f9bbe5',GradientType=1 );
}

.slider .slide .girlimg .girlinfo .clear {
	clear: both;
	display: block;
}
.slider .slide .girlimg .girlinfo .labels {
	display: block;
	padding: 5px;
	width: 100%;
}
.slider .slide .girlimg .girlinfo .labels span{
	display: block;
	float: right;
	padding: 2px 5px;
	margin-top: 3px;
	margin-left: 3px;
	font-size: 0.8em;
	font-weight: bold;
}
.slider .slide .girlimg .premiumlabel {
  position: absolute;
  right: -10px; top: 2px;
  text-align: right;
}
.slider .slide .girlimg .premiumlabel span {
  font-size: 0.92em;
  font-weight: bold;
  color: var(--c-white);
  text-transform: uppercase;
  text-align: center;
  line-height: 2em;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 130px;
  display: block;
  background: #79A70A;
  background: var(--g-yellow-orange);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; right: -21px;
}





.slider .slide .girlinfo .modelinfo .modelname {
	font-weight: bold;
	font-size: 1.1em;
	text-align: center;
	display: block;
}
.slider .slide .girlinfo .modelinfo .modelinfo-location {
	display: block;
	font-size: 0.9em;
	text-align: center;
}



.slider .owl-nav .owl-prev, .slider .owl-nav .owl-next {
	position: absolute;
	cursor: pointer;
    top: 50%;
    margin-top: -28px;
    color: var(--c-brand-hover);
    line-height: 40px;
    font-size: 50px;
    text-shadow: -2px 0 var(--c-white), 0 2px var(--c-white), 2px 0 var(--c-white), 0 -2px var(--c-white);
    font-size: 3em;
}
.slider .owl-nav .owl-prev:hover, .slider .owl-nav .owl-next:hover {
	color: var(--c-white);
    text-shadow: -2px 0 var(--c-brand-hover), 0 2px var(--c-brand-hover), 2px 0 var(--c-brand-hover), 0 -2px var(--c-brand-hover);
}
.slider .owl-nav .owl-prev {
	left: 0;
}
.slider .owl-nav .owl-next {
	right: 0;
}
.slider .owl-nav .owl-prev:before {
	/*content: "\e80d";*/
}
.slider .owl-nav .owl-next:before {
	/*content: "\e80a";*/
}

.slider-pagination {
	text-align: center;
	display: none;
}
.mobile-profiles-slider .slider-pagination {
	padding: 10px 0;
}

.slider-pagination a {
    text-decoration: none;
    display: inline-block;
    height: 10px;
    width: 10px;
    line-height: 10px;
    background: var(--c-white);
    color: #4E443C;
    border-radius: 50%;
    text-indent: -9999px;
    margin: 0 5px;
    -webkit-box-shadow: 0 0 2px #4E443C;
    -moz-box-shadow: 0 0 2px #4E443C;
    box-shadow: 0 0 2px #4E443C;
}

.slider-pagination a.active {
    background: #4E443C;
    color: var(--c-white);
    opacity: 1;
    -webkit-box-shadow: 0 0 2px #F0EFE7;
    -moz-box-shadow: 0 0 2px #F0EFE7;
    box-shadow: 0 0 2px #F0EFE7;
}
/***** SLIDER end *****/




.sidebar-left, .sidebar-right {
	width: 250px;
	word-wrap: break-word;
	overflow: hidden;
}
/***** SIDEBAR LEFT start *****/
.sidebar-left {
	margin-left: -100%;
}

.sidebar-left .countries {
	background-color: var(--c-brand-palest);
	padding: 20px;
	border-bottom: 1px solid var(--c-brand-soft);
}
.sidebar-left .countries h4 {
	font-size: 1.1em;
	font-weight: normal;
	padding-bottom: 5px;
}
.sidebar-left .countries h4 .icon {
	display: none;
	vertical-align: bottom;
}

.sidebar-left .country-list {
}
.sidebar-left .country-list li {
	list-style: none;
	line-height: 2.1em;
	display: block;
}
.sidebar-left .country-list ul {
	padding-left: 17px;
}
.sidebar-left .country-list a {
	color: var(--c-brand);
	font-size: 16px;
	display: inline-block;
	vertical-align: middle;
}
.sidebar-left .country-list a:hover {
	color: #6702ac;
}
.sidebar-left .country-list .iconlocation {
	cursor: pointer;
	color: #6702ac;
	line-height: 1.53rem;
	display: inline-block;
	vertical-align: middle;
	font-size: 1.25em;
}
.sidebar-left .country-list .iconlocation:hover {
	background: var(--c-white);
	color: #6702ac;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
}
.sidebar-left .country-list .iconlocation.icon-minus,
.sidebar-left .country-list .iconlocation.icon-minus:hover {
	color: #f7d4d4;
	cursor: default;
	background: none;
}
/***** SIDEBAR LEFT end *****/


.widgetbox-wrapper {
	background-color: var(--c-brand-palest);
	padding: 20px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--c-brand-soft);
}
.footer .widgetbox {
	color: var(--c-black);
	padding: 0 10px;
}
.footer .placeholder-widgettext {
	text-align: center;
}
.widgetadbox a, .addspace a{
	color: var(--c-white);
	text-decoration: underline;
}
.header-addspace {
	color: var(--c-white);
	padding-top: 10px;
}
.widgetbox h4{
	font-size: 1.1em;
	font-weight: normal;
	padding-bottom: 5px;
}
.widgetbox li {
	list-style: none;
	line-height: 1.7em;
}

/***** SIDEBAR RIGHT start *****/
.sidebar-right {
	float: left;
	margin-left: -250px;
}
.sidebar-right .sidebar-expire-notice-mobile {
	cursor: pointer;
	padding: 7px 0;
	display: none;
	border-bottom: 1px solid var(--c-brand-soft);
	color: var(--c-white);
}
/*.sidebar-right .sidebar-expire-notice-mobile .expiration-date {
	display: inline-block;
}*/
/*.sidebar-right .sidebar-expire-notice-mobile .sidebar-expire-mobile-extent-button {
	display: inline-block;
	line-height: 1.5em;
	padding: 0 10px;
	margin-left: 7px;
}*/
.sidebar-right .sidebar-expire-notice {
	padding: 10px;
	cursor: default;
	/*border-bottom: 1px solid var(--c-brand-soft);*/
	line-height: 1.7em;
	color: var(--c-white);
	/*background: var(--c-brand);*/
	width: 100%;
}
.sidebar-right .sidebar-expire-notice small {
	display: block;
	line-height: 1.5em;
	font-size: 0.9em;
}
.sidebar-right .sidebar-expire-notice b {
	font-size: 1.1em;
}

.sidebar-right .sidebar-expire-notice .activation-duration {
	padding: 5px 10px;
	cursor: pointer;
	border: none;
}
.sidebar-right .sidebar-expire-notice .activation-duration option {
	padding: 3px 5px;
}

.sidebar-right .sidebar-expire-notice .payment-button,
.sidebar-right .sidebar-expire-notice .activation-button {
	padding: 0 15px;
	font-size: 1.1em;
	line-height: 1.7em;
	font-weight: bold;
	display: inline-block;
}
.sidebar-right .sidebar-expire-notice .payment-button {
	border: 1px solid #a2f4c1;
}
.sidebar-right .sidebar-expire-notice .activation-button {
	border: 1px solid #5FCDF4;
}

.sidebar-right .sidebar-expire-notice .fake-button {
	margin-top: 10px;
	padding: 0px 18px;
	background: var(--c-white);
	color: red;
	line-height: 2.4em;
	font-size: 1em;
	display: inline-block;
}
.sidebar-right .sidebar-expire-notice .fake-button:hover {
	background: var(--c-danger-hover);
	background: var(--g-danger);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fd5959', endColorstr='#ff0000',GradientType=0 );
	color: var(--c-white);
}
.sidebar-right .sidebar-expire-notice .sidebar-expire-notice-cancel-subscription-form {
	display: none;
}
.sidebar-right .sidebar-expire-notice .sidebar-expire-notice-cancel-subscription-form .fake-button {
	/*margin-top: 10px;*/
	/*padding: 4px 12px;*/
}


.agencyeditbuttons a{
	cursor: pointer;
}

.sidebar-right .buyfeatured,
.sidebar-right .buypremium {
	display: block;
	position: relative;
	line-height: 2em;
	text-align: center;
	padding-bottom: 10px;
}
.sidebar-right .buyfeatured .greendegrade,
.sidebar-right .buypremium .greendegrade {
	display: block;
	position: relative;
	line-height: 2em;
	text-align: center;
}
.sidebar-right .buyfeatured_details,
.sidebar-right .buypremium_details {
	display: none;
	padding: 30px 10px 10px 10px;
	border: 1px var(--c-brand-hover) solid;
	position: relative;
	text-align: center;
}
.sidebar-right .buyfeatured_details .closebtn_box,
.sidebar-right .buypremium_details .closebtn_box {
	top: 5px;
	right: 3px;
}
.sidebar-right .buyfeatured_details .payment-button,
.sidebar-right .buypremium_details .payment-button {
	display: inline-block;
	font-size: 1.1em;
}

.sidebar-right .buyfeatured .show-price,
.sidebar-right .buypremium .show-price {
	font-weight: 600;
	padding: 2px 5px;
	font-size: 14px;
	line-height: 1.83em;
	display: inline-block;
}

.sidebar-right .upgradeescortbox {
	color: var(--c-white);
	position: relative;
	background-color: var(--c-brand);
	padding: 10px;
	display: none;
	text-align: center;
	float: left;
	width: 100%;
}
.sidebar-right .upgradeescortbox select {
	padding: 5px 10px;
	cursor: pointer;
}
.sidebar-right .upgradeescortbox .input {
	background-color: var(--c-white);
	border: none;
	color: #2C3E50;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	padding: 5px;
}
.sidebar-right .upgradeescortbox .ok-button,
.sidebar-right .upgradeescortbox .del-button {
	font-size: 1em;
}


.sidebar-right .quicksearch {
	background-color: var(--c-brand);
	padding: 20px;
	color: var(--c-white);
}
.sidebar-right .quicksearch h4{
	padding-bottom: 10px;
	text-align: center;
}

.sidebar-right .quicksearch .form-input select {
	color: #286c9b;
	cursor: pointer;
	padding: 2px;
}
.sidebar-right .quicksearch .select2 {
	width: 100% !important;
}
.sidebar-right .quicksearch .select2-container .select2-selection--single {
	width: 100%;
}
.sidebar-right .quicksearch .form-input select option {
	padding: 0 2px;
}
.sidebar-right .quicksearch .formseparator {
	height: 10px;
}
.sidebar-right .quicksearch label {
	cursor: pointer;
}
.sidebar-right .quicksearch .adv {
	color: #fdd1ef;
}
.sidebar-right .quicksearch .adv:hover {
	text-decoration: underline;
	color: var(--c-white);
}
.sidebar-right .quicksearch .submit-button {
	border: none;
	font-size: 1em;
	font-weight: bold;
}


.sidebar-right .upgradeescortbox .whitebutton:hover {
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
}



.sidebar-right .dropdownlinks {
	padding: 10px;
	cursor: default;
	border-bottom: 1px solid #C9F1FD;
	background: var(--c-info-cyan);
	background: var(--g-info);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#20c7f9', endColorstr='#1b6ad1',GradientType=0 );
}
.sidebar-right .dropdownlinks *::selection {
	background-color: var(--c-white);
	color: var(--c-info);
}
.sidebar-right .dropdownlinks.dropdownlinks-userid {
	color: var(--c-white);
}
.sidebar-right .dropdownlinks.dropdownlinks-userid a.edit-user {
	color: #C9F1FD;
	text-decoration: underline;
	display: inline-block;
	float: none;
}
.sidebar-right .dropdownlinks h4{
	font-size: 1.1em;
	line-height: 1.5em;
	font-weight: 600;
	color: var(--c-white);
}
.sidebar-right .dropdownlinks-dropdown h4 {
	font-weight: 600;
	margin: -10px;
	padding: 10px;
	cursor: pointer;
	color: var(--c-white);
}

.sidebar-right .dropdownlinks h4 .icon {
	color: var(--c-white);
	margin-right: 5px;
}

.sidebar-right .dropdownlinks ul {
	background-color: var(--c-white);
	display: none;
	padding: 10px;
	margin-top: 10px;
	float: left;
	width: 100%;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
}
.sidebar-right .dropdownlinks a {
	line-height: 1.7em;
	float: left;
}
.sidebar-right .dropdownlinks ul a {
	color: #125F92;
	line-height: 1.8em;
}
.sidebar-right .dropdownlinks ul a:hover {
	color: #20C1F6;
}
.sidebar-right .dropdownlinks ul li {
	list-style: none;
	width: 100%;
	padding: 4px 0;
	float: left;
}
.sidebar-right .dropdownlinks ul li a .icon {
	color: #20C1F6;
	margin-right: 5px;
	-khtml-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	display: block;
	float: left;
	line-height: 1.4em;
	-khtml-border-radius: 50%;
	border-radius: 50%;
	margin-top: 3px;
}
/*.sidebar-right .dropdownlinks a:hover .icon{
	background-color: #20C1F6;
	color: var(--c-white);
}*/


.sidebar-right .dropdownlinks .delete-account-button {
	color: var(--c-white);
	display: inline-block;
	float: none;
	line-height: 1.3em;
}
.sidebar-right .dropdownlinks .delete-account-button:hover {
	color: var(--c-white);
}

.sidebar-right .dropdownlinks .member-delete-account-wrapper {
	display: none;
}

.sidebar-right .dropdownlinks .upgradebuttons .upgradebutton,
.sidebar-right .dropdownlinks .upgradebuttons .delbtn,
.sidebar-right .dropdownlinks .needs-payment,
.sidebar-right .dropdownlinks .deleteprofile,
.sidebar-right .dropdownlinks .member-delete-account-wrapper .delete-account-button,
.sidebar-right .dropdownlinks .mark-as-verified,
.sidebar-right .dropdownlinks .admin-set-to-private,
.sidebar-right .dropdownlinks .admin-delete-profile {
	line-height: 1.5em;
	font-size: 0.9em;
}
.sidebar-right .dropdownlinks .deleteprofile {
	float: none;
}
.sidebar-right .dropdownlinks .admin-delete-profile,
.sidebar-right .dropdownlinks .admin-delete-profile:hover {
	color: var(--c-white);
	float: none;
}





.sidebar-right .blog-categories {
	float: left;
	width: 100%;
}
.sidebar-right .blog-categories a {
	float: none;
	padding: 5px 0;
	/*background: red;*/
}
.sidebar-right .blog-categories ul,
.sidebar-right .blog-categories ul li,
.sidebar-right .blog-categories ul ul {
	width: 100%;
	display: block;
	padding: 0;
	margin: 0;
}
.sidebar-right .blog-categories ul {
	padding: 10px 0 10px 10px;
}
.sidebar-right .blog-categories ul li {
	padding: 2px 0;
}
.sidebar-right .blog-categories ul ul {
	padding-left: 20px;
}
/***** SIDEBAR RIGHT end *****/



/***** ESCORT THUMB start *****/
.girl {
	float: left;
    width: 20%;
	padding: 6px;
	padding-bottom: 18px;
	overflow: hidden;
	position: relative;
}

/* Visual card shell — sits INSIDE .girl so the .girl padding becomes the
   gutter between adjacent cards. Border + small inner padding + bottom shadow. */
.girl .girl-card {
	background: var(--c-white);
	border: 1px solid rgb(204, 204, 204);
	padding: 3px;
	position: relative;
	overflow: hidden;
}

/* Image-based bottom shadow — sits flush under .girl-card. Replaces the
   CSS box-shadow so the look matches the PNG drop shadow used in the legacy theme. */
.girl .list-shadow {
	height: 14px;
	width: 100%;
	background: url('i/shadow_bottom_box.png') no-repeat top center;
	background-size: 100% 100%;
	margin-top: -1px;
	pointer-events: none;
}

.girl.tour-thumb {
	width: 14.28%;
}

.girl .model-info {
	position: absolute;
	bottom: 0;
	left: 0;
	line-height: 1.5em;
	width: 100%;
}
.girl .desc {
	padding: 5px;
	/*background: rgba(254,90,203,0.6);*/
	text-align: center;
}
.girl a .desc .girl-name {
	color: var(--c-white);
	font-size: 1.2em;
	text-shadow: 1px 1px rgba(0,0,0,0.6);
	font-weight: 600;
}
.girl.tour-thumb a .desc .girl-name {
	font-size: 1.1em;
}
.girl a:hover .desc {
	background: rgba(254, 90, 203, 0.6);   /* legacy fallback: --c-brand-hover @ 60% */
	background: color-mix(in srgb, var(--c-brand-hover) 60%, transparent);
}
.girl .desc .girl-desc-location {
	font-size: 0.9em;
	color: var(--c-white);
	padding: 5px 0;
}

.girl .thumb {
	border: 1px transparent solid;
	float: left;
	position: relative;
	width: 100%;
	background-color: #EBEBEB;
}
.girl .thumb .thumbwrapper {
	position: relative;
}
.girl .thumb .thumbwrapper a {
	line-height: 0;
	width: 100%;
}
.girl .thumb .thumbwrapper a img{
	width: 100%;
}
.girl .thumb:hover {
	border: 1px var(--c-brand) solid;
}

/* ── Profile-card media badges (top-left) + phone bar + call button ────── */

/* Pics / Vids round badges stacked vertically in top-left of the card thumb */
.girl .card-media-badges {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: none;
}
/* Pill-shaped badge — icon (or label) on the left, count on the right. */
.girl .card-media-badge {
    color: var(--c-white);
    border-radius: 50px;
    min-width: 40px;
    padding: 2px 10px 2px 5px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 4px;
    line-height: 1;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
    font-size: 11px;
}
.girl .card-media-badge.cmb-pics    { background: #F5A623; }  /* warm yellow */
.girl .card-media-badge.cmb-vids    { background: #C9302C; }  /* deep red   */
background: var(--g-badge-green);
/* Icon slot — sized to balance with the count text. */
.girl .card-media-badge .cmb-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}
.girl .card-media-badge .cmb-icon svg {
    width: 14px;
    height: 14px;
    display: block;
}
/* Text label (used on agency cards — "Profiles 2"). */
.girl .card-media-badge .cmb-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .3px;
    padding-left: 3px;
}
.girl .card-media-badge .cmb-count {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

/* Active-plan tag (top-right of card thumb). Flat rectangle, small font,
   single gray gradient for now — per-plan colours can be layered on later. */
.girl .card-plan-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 5;
    padding: 2px 7px;
    background: var(--g-badge-gray);
    color: var(--c-white);
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    line-height: 1.4;
    box-shadow: 0 1px 2px rgba(0,0,0,0.25);
    pointer-events: none;
    max-width: calc(100% - 16px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Phone bar (pink) — sits directly below the thumb */
.girl .card-phone {
    background: var(--c-brand);
    color: var(--c-white);
    text-align: center;
    padding: 6px 8px;
    font-size: .9em;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.girl .card-phone-label {
    margin-right: 4px;
}
.girl .card-phone-num {
    font-weight: 600;
}

/* Call button (green) — full-width, below phone bar */
.girl .card-call-btn {
    display: block;
    background: var(--c-card-call-bg);
    color: var(--c-white);
    text-align: center;
    padding: 7px 8px;
    font-size: .95em;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background .15s ease;
}
.girl .card-call-btn:hover,
.girl .card-call-btn:focus {
    background: var(--c-card-call-hover);
    color: var(--c-white);
    text-decoration: none;
}
.girl .card-call-btn .icon {
    margin-right: 4px;
}

/* Remove-from-favorites button — top-right corner of profile card */
.girl .card-remove-fav {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	line-height: 1;
	font-size: 18px;
	font-weight: bold;
	color: var(--c-white);
	background: rgba(224, 0, 108, 0.85);   /* fallback: --c-brand @ 85% */
	background: color-mix(in srgb, var(--c-brand) 85%, transparent);
	border-radius: 50%;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	transition: background 0.15s ease, transform 0.15s ease;
}
.girl .card-remove-fav:hover {
	background: var(--c-brand);
	color: var(--c-white);
	transform: scale(1.1);
	text-decoration: none;
}
.girl .card-remove-fav.is-loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Heart toggle on /escort/{slug}/ — pinkbutton already styled, just centre & space it */
.favorite-action {
	margin: 6px 0 4px;
}
.favbutton.is-favorited {
	background: var(--c-white);
	color: var(--c-brand);
	border: 1px solid var(--c-brand);
}

.girl .tour {
	color: var(--c-white);
}
.girl .girlpremium {
	background-color: var(--c-warning-strong);
}
.girl .thumb.girlpremium {
	border: 1px #F8AA17 solid;
}
.girl .girlpremium .premiumlabel {
  position: absolute;
  right: -7px; top: -8px;
  z-index: 1;
  text-align: right;
}
.girl .girlpremium .premiumlabel span {
  font-size: 13px;
  font-weight: bold;
  color: var(--c-white);
  text-transform: uppercase;
  text-align: center;
  line-height: 23px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: var(--g-yellow-orange);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; right: -21px;
}
.girl .girlpremium .premiumlabel span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid var(--c-warning-strong);
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid var(--c-warning-strong);
}
.girl .girlpremium .premiumlabel span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid var(--c-warning-strong);
  border-bottom: 3px solid transparent;
  border-top: 3px solid var(--c-warning-strong);
}


.girl .thumb a {
	float: left;
	position: relative;
}

/* labels: verified and new */
.girl .thumb .thumbwrapper .labels {
	padding: 4px;
	display: block;
	width: 100%;
	float: left;
	position: relative;
}
.girl .thumb .thumbwrapper .label {
	color: var(--c-white);
	font-size: 0.9em;
	font-weight: bold;
	line-height: 1.7em;
	padding: 0 5px;
	float: right;
	margin-top: 2px;
}
.girl .thumb .thumbwrapper .label-video {
	position: absolute;
	top: 35%;
	width: 100%;
	text-align: center;
}
.girl .thumb .thumbwrapper .label-video img {
	max-width: 100px;
	height: auto;
}

/***** ESCORT THUMB end *****/


/***** FRONT PAGE REVIEWS start *****/
.onereviewtext {
	padding: 10px 0;
}
.onereviewtext .author span {
	color: var(--c-brand);
	font-size: 14px;
}
.onereviewtext .author {
	color: #afaeae;
}
.onereviewtext .reviewtext a{
	color: #2190ff;
}
.onereviewtext {
}
/***** FRONT PAGE REVIEWS end *****/


.girlsingle {
	position: relative;
}
.girlsingle .profile-title {
	font-size: 2em;
	color: var(--c-brand-hover);
	cursor: default;
}

.girlsingle .girlsinglelabels {
	text-align: center;
	width: 100%;
	font-size: 0.8em;
	font-weight: bold;
}

.girlsingle .girlsinglelabels span {
	margin: 0 2px 10px 2px;
	padding: 3px 12px;
	cursor: default;
}
.girlsingle .profile-header .profile-header-name-info {
	background: var(--c-white);
	padding: 10px 0;
}

.girlsingle .profile-header .phone-box,
.girlsingle .profile-header .available-on {
	padding-top: 15px;
	padding-right: 20px;
	font-weight: bold;
	text-align: center;
}
.girlsingle .profile-header .phone-box .label,
.girlsingle .profile-header .available-on .label {
	font-size: 1em;
	font-weight: normal;
	color: #8c7d90;
	cursor: default;
	line-height: 0.5em;
}
.girlsingle .profile-header .available-on .label {
	padding-bottom: 7px;
}
.girlsingle .profile-header .phone-box a {
	line-height: 1.7em;
}
.girlsingle .profile-header .phone-box a,
.girlsingle .profile-header .available-on a {
	font-size: 1.7em;
	color: var(--c-brand-alt);
}
.girlsingle .profile-header .phone-box a:hover {
	color: var(--c-brand-hover);
}
.girlsingle .profile-header .phone-box .icon-phone {
	color: #FBB7E5;
	font-size: 0.8em;
}
.girlsingle .profile-header .available-on .icon {
	font-size: 1.2em;
	padding: 0 5px;
}
.girlsingle .profile-header .profile-header-name-info .section-box {
	float: right;
	text-align: center;
	padding: 0 20px;
}
.girlsingle .profile-header .profile-header-name-info .section-box .valuecolumn {
	color: var(--c-brand-hover);
	font-weight: 700;
	font-size: 1.7em;
	display: block;
	width: 100%;
	line-height: 1em;
	letter-spacing: -1.5px;
}
.girlsingle .profile-header .profile-header-name-info .section-box b {
	display: block;
	width: 100%;
	font-size: 0.9em;
	color: #8c7d90;
	font-weight: normal;
}

.girlsingle .profile-header.profile-header-mobile1 {
	text-align: center;
}
.girlsingle .profile-header-mobile1 .profile-header-name {
	float: none;
	padding-bottom: 20px;
}
.girlsingle .profile-header-mobile1 .profile-header-name h3 {
	text-align: center;
}
.girlsingle .profile-header-mobile1 .profile-header-name .online-status .online-label {
	display: inline-block;
}
.girlsingle .profile-header-mobile1 .profile-header-name-info {
	float: none;
	display: inline-block;
	vertical-align: top;
}
.girlsingle .profile-header-mobile1 .phone-box,
.girlsingle .profile-header-mobile1 .available-on {
	float: none;
	display: inline-block;
	padding: 10px 5px 0 5px;
}

.girlsingle .profile-header-mobile2 {
	text-align: center;
}
.girlsingle .profile-header-mobile2 .profile-header-name-info {
	display: inline-block;
	float: none;
}
.girlsingle .profile-header-mobile2 .phone-box,
.girlsingle .profile-header-mobile2 .available-on {
	display: inline-block;
	float: none;
	padding-right: 0;
	padding-bottom: 10px;
	width: 100%;
}


.girlsingle .profile-page-no-media {
	border: 2px #C1C4CA dashed;
	padding: 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    color: #828995;
    vertical-align: middle;
}
.girlsingle .profile-page-no-media-wrapper {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.girlsingle .profile-page-no-media-wrapper-photos {
	padding-right: 5px;
}
.girlsingle .profile-page-no-media-wrapper-videos {
	padding-left: 5px;
}

.girlsingle .profile-page-no-media:hover {
	border-color: var(--c-brand);
}
.girlsingle .profile-page-no-media p {
	font-weight: bold;
	font-size: 1.1em;
	line-height: 2em;
	margin: 0;
	padding: 0;
}
.girlsingle .profile-page-no-media p u {
	color: var(--c-brand);
}
.girlsingle .profile-page-no-media .icon {
	font-size: 2.5em;
	color: var(--c-brand);
	float: left;
	padding-right: 20px;
	padding-top: 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.girlsingle .profile-page-no-media .icon-film {
	font-size: 3.1em;
}

.girlsingle .max-photos b,
.girlsingle .max-videos b {
	background: var(--c-brand);
	padding: 2px 5px;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
	color: var(--c-white);
	margin: 0 3px;
}

.girlsingle .image-buttons-legend {
	line-height: 2em;
	width: 100%;
	clear: both;
	text-align: center;
}
.girlsingle .image-buttons-legend div {
	display: inline-block;
	padding: 0 5px;
}
.girlsingle .image-buttons-legend .button-delete {
	color: var(--c-danger-alt);
}
.girlsingle .image-buttons-legend .button-main-image {
	color: #61bd6d;
}

.girlsingle .bigimage {
	max-width: 312px;
	display: inline-block;
	padding: 20px 0;
}
.girlsingle .bigimage img {
	width: 100%;
}
.girlsingle .thumbs {
	width: 100%;
	text-align: center;
}
.girlsingle .thumbs img {
	float: left;
}

.girlsingle .lockedsection {
	padding: 10px;
	color: var(--c-white);
	background-color: var(--c-brand);
	line-height: 2em;
	text-align: center;
}
.girlsingle .lockedsection .icon-lock {
	font-size: 2em;
	padding-right: 10px;
	width: 1em;
	position: absolute;
}
.girlsingle .lockedsection a {
	color: var(--c-white);
	font-weight: bold;
	text-decoration: underline;
}
.girlsingle .lockedsection span.nr {
	float: none !important;
	padding: 0px 5px;
	font-weight: bold;
}
.girlsingle .lockedsection .payment-button {
	font-size: 1.1em;
}
.girlsingle .lockedsection small {
	line-height: 1.5em;
	display: block;
}

.girlsingle .rates-table td {
	width: 33%;
	padding: 2px 0;
	vertical-align: middle;
}
.girlsingle .rates-table th.hide-incall,
.girlsingle .rates-table th.hide-outcall {
	background: var(--c-brand-hover);
	color: var(--c-white);
}


.girlsingle {
	color: var(--c-accent);
}
.girlsingle .girlinfo {
	width: 50%;
}
.girlsingle .girlinfo.l {
	padding-right: 5px;
}
.girlsingle .girlinfo.r {
	padding-left: 5px;
}
.girlsingle .girlinfo .girlinfo-section {
	padding: 20px;
	background: var(--c-white);
	margin-bottom: 10px;
	width: 100%;
	float: left;
}
.girlsingle .girlinfo .text-me-icon {
	font-size: 2.5em;
	margin-right: 10px;
}
.girlsingle a{
	color: var(--c-brand);
}

a.reviewthegency {
	margin-left: 10px;
	color: var(--c-white);
}

.girlsingle .aboutme {
	background: var(--c-white);
	padding: 20px;
}
.girlsingle .aboutme a,
.girlsingle .contact .currently-on-tour-in a {
	color: var(--c-brand-hover);
	text-decoration: underline;
}
.girlsingle .aboutme a:hover,
.girlsingle .contact .currently-on-tour-in a:hover {
	color: #CC0033;
	text-decoration: none;
}
.girlsingle .visitor-counter {
	text-align: center;
	font-weight: 600;
	font-size: 0.9em;
	color: var(--c-brand-hover);
}
.girlsingle .visitor-counter .count {
	color: var(--c-white);
	background: var(--c-brand-hover);
	padding: 2px 5px;
	font-weight: bold;
	text-shadow: 1px 1px var(--c-brand);
	letter-spacing: 1px;
}
.girlsingle h4, .girlsingle .aboutme h4, .clientreviewtext h4 {
	color: var(--c-brand);
	padding-left: 10px;
	margin-bottom: 10px;
	cursor: default;
	font-size: 1.5em;
	border-left: 3px solid var(--c-brand);
	text-transform: uppercase;
	font-size: 1.1em;
	font-weight: bold;
}
.girlsingle .aboutme .currently-on-tour-in,
.girlsingle .contact .currently-on-tour-in {
	padding: 10px;
	color: #CC0033;
	font-weight: bold;
	font-size: 1.1em;
	float: left;
	border: 2px solid #CC0033;
}
.girlsingle .contact .currently-on-tour-in {
	margin-bottom: 10px;
}


.girlsingle .girlinfo b,
.girlsingle .girlinfo .b {
	width: 50%;
	display: block;
	float: left;
	font-weight: 600;
	line-height: 1.8em;
}
.girlsingle .valuecolumn, .girlsingle b{
	line-height: 1.8em;
}
.girlsingle .girlinfo .b .b-label {
	vertical-align: middle;
	cursor: default;
}
.girlsingle .girlinfo .b .social-icons-contact-info {
	vertical-align: middle;
	margin-right: 5px;
	float: right;
	margin-top: 4px;
}
.girlsingle .valuecolumn {
	width: 50%;
	display: block;
	float: left;
}
.girlsingle .girlinfo .section-box {
	width: 50%;
	float: left;
	padding-top: 15px;
}
.girlinfo .section-box b,
.girlinfo .section-box .valuecolumn {
	width: 100%;
}
.girlinfo .section-box b {
	font-size: 0.9em;
	font-weight: bold;
	color: var(--c-brand-hover);
	text-transform: uppercase;
}

.girlsingle .girlinfo .favbutton,
.girlsingle .girlinfo .addreview-button {
	display: inline-block;
	margin: 0 5px;
}
.girlsingle.agency-profile .addreview {
	margin-right: 10px;
	margin-bottom: 10px;
}

.girlsingle.agency-profile .profile-header {
	width: 100%;
	text-align: center;
}
.girlsingle.agency-profile .profile-header .profile-title {
	color: var(--c-brand-hover);
	font-size: 2em;
	cursor: default;
	padding-bottom: 20px;
	display: inline-block;
}
.girlsingle.agency-profile .profile-header .online-status {
	padding: 0;
	margin-top: -20px;
	padding-bottom: 20px;
}

/* ── Top row: logo 50%  +  agencydetails 50%  ───────────────────────── */
.girlsingle.agency-profile .bigimage {
	width: 50%;
	max-width: none;
	float: left;
	padding: 0 20px 0 0;
	margin: 0;
	box-sizing: border-box;
	text-align: center;
	min-height: 260px;
}
/* Cap the logo so portrait/tall sources don't dominate; preserves aspect ratio. */
.girlsingle.agency-profile .bigimage img {
	max-height: 260px;
	width: auto;
	max-width: 100%;
	display: inline-block;
	float: none;
	object-fit: contain;
	object-position: top center;
	background: var(--c-white);
}
/* Placeholder when no logo uploaded — same footprint as the image. */
.girlsingle.agency-profile .bigimage .agency-logo-placeholder {
	width: 100%;
	height: 260px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--c-white);
	border: 1px dashed var(--c-sidebar-block-border);
	color: #b06d8a;
	font-size: 0.95em;
}
.girlsingle.agency-profile .bigimage .agency-logo-placeholder .icon {
	font-size: 2.4em;
	margin-bottom: 8px;
	color: var(--c-sidebar-block-border);
}

.girlsingle.agency-profile .agencydetails {
	width: 50%;
	float: right;
	padding: 0 0 0 20px;
	box-sizing: border-box;
}
/* Legacy "no image" mode no longer applies — top row is always 50/50. */
.girlsingle.agency-profile .agencydetails.agencydetails-noimg {
	float: right;
	padding-left: 20px;
	padding-top: 0;
}

/* ── About section — full width below the top row ──────────────────────── */
.girlsingle.agency-profile .agency-desc {
	width: 100%;
	float: none;
	clear: both;
	padding: 0;
	box-sizing: border-box;
}

.girlsingle .contact span a{
	color: var(--c-brand);
}
.girlsingle .escortcontact {
	background-color: #fff8fe;
	padding: 10px;
	position: relative;
}
/* "Close" (×) button anchored top-right of any expandable contact form. */
.girlsingle .escortcontact .contact-close {
	position: absolute;
	top: 6px;
	right: 10px;
	width: 24px;
	height: 24px;
	line-height: 22px;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	color: #b06d8a;
	text-decoration: none;
	cursor: pointer;
	border-radius: 50%;
	background: transparent;
}
.girlsingle .escortcontact .contact-close:hover {
	color: var(--c-white);
	background: var(--c-brand-hover);
}

.girlsingle .girlinfo .services {
	clear: both;
}
.girlsingle .girlinfo .services div{
	padding: 4px 0;
	padding-left: 0px;
}
.girlsingle .girlinfo .services .icon-ok {
	color: #61bd6d; /* green */
}
.girlsingle .girlinfo .services .icon-cancel {
	color: var(--c-danger-alt); /* red */
}

.girlsingle .review-wrapper {
	background: var(--c-white);
	padding: 20px;
	color: #2C3E50;
}
.girlsingle .review-wrapper .starrating {
	margin-top: 5px;
}

.review .addedby {
	color: #c2c2c2;
	background-color: #1d242d;
	padding: 3px 8px;
	margin-bottom: 5px;
	float: left;
	color: #CCC;
}
.review .addedby b{
	color: var(--c-white);
}
.review .addedby a{
	color: var(--c-white);
}

.review .reviewtext p{
	margin-top: 0;
}
.addreviewform textarea {
	margin-bottom: 5px;
	padding: 10px;
	width: 530px;
	height: 100px;
}
.addreviewform .starratingoption {
	width: 572px;
	margin: 0 auto;
	padding-bottom: 8px;
}


.allreverr {
	display: none;
}

.girlsingle_all_reviews {
	display: none;
}
.girlsingle_all_reviews #preloader {
	background-color: #060606;
	padding: 10px;
	color: var(--c-white);
}


.report-profile-wrapper {
	width: 100%;
	clear: both;
	padding-top: 20px;
}
.report-profile-wrapper .report-profile-button {
	float: right;
}
.report-profile-wrapper .report-profile-reason-wrapper {
	display: none;
	background: var(--c-white);
	padding: 10px;
	text-align: center;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form {
	padding: 15px;
	max-width: 500px;
	display: inline-block;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form label {
	padding-bottom: 15px;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .form-input {
	padding-bottom: 15px;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button {
	font-size: 1.1em;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button .icon {
	font-size: 0.9em;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button .label-working {
	display: none;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working .label-normal {
	display: none;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working {
	background: gray;
	cursor: default;
}
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working .label-working {
	display: inherit;
}
.report-profile-wrapper {
	
}
.report-profile-wrapper {
	
}



.image-next-to-review {
	margin-right: 20px;
}

.registrationcomplete {
	text-align: center;
	padding: 20px;
	line-height: 25px;
	line-height: 1.7em;
}
.registrationcomplete .registrationcomplete-title {
	font-size: 2em;
	line-height: 1.8em;
	padding: 0 20px;
	font-weight: 600;
	color: #6DA22E;
}
.registrationcomplete #resendvalidationlink {
	font-size: 1.2em;
}
.registrationcomplete .change-email-address {
	text-align: center;
}
.registrationcomplete .change-email-address .change-email-button {
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.7em;
	padding: 0 7px;
}
.registrationcomplete .change-email-address-form {
	max-width: 600px;
	display: inline-block;
	display: none;
}


/***** Forms styling START *****/
.form-styling .form-label {
	width: 34%;
	float: left;
}
.form-styling .form-label.col100 {
	width: 100%;
}
.form-styling .form-label label {
	display: block;
	line-height: 40px;
}
.form-styling .form-label label.with-help {
	line-height: 1.4em;
}
.form-styling .form-input.available-on label {
	line-height: 2em;
	float: left;
	padding-right: 20px;
	font-size: 600;
}
.form-styling .form-input.available-on label .icon {
	font-size: 2em;
	vertical-align: middle;
}

.form-styling .form-label small, .form-styling .form-input small {
	color: #999;
	display: block;
}
.form-styling .form-label label i, .form-styling .mandatory i, .form-styling .form-label small i, .form-styling .form-input small i {
	color: red;
	font-style: normal;
}
.form-styling .form-input {
	width: 64%;
	float: right;
}
.form-styling .form-input.col100 {
	width: 100%;
}

.form-styling .form-input .input,
.form-styling .form-input .textarea,
.form-styling .form-input select,
.ui-datepicker select {
	background-color: var(--c-white);
	border: 1px solid var(--c-brand);
	color: #2C3E50;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	max-width: 100%;
}

.form-styling .form-input .input.col100, .form-styling .form-input .textarea.col100, .form-styling .form-input select.col100 {
	width: 100%;
}

.form-styling .form-input .longinput{
	width: 85%;
}
.form-styling .form-input .smallinput{
	width: 100px;
}
.form-styling .form-input .longtextarea {
	width: 100%;
	resize: vertical;
}
.form-styling .form-input .input {
	padding: 0 10px;
	line-height: 40px;
	height: 40px;
	font-size: 1em;
}
.form-styling .form-input .textarea {
	font-size: 1em;
	padding: 10px;
}
.form-styling .form-input .input:focus, .form-styling .form-input .textarea:focus, .form-styling .form-input select:hover, .ui-datepicker select:hover {
	border: 1px #2C3E50 solid;
}

.form-styling .form-input select {
	padding: 8px;
	font-size: 1em;
	cursor: pointer;
}
.form-styling .form-input select option {
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	padding: 0 8px;
}
.form-styling .form-input select option:disabled {
	color: #BCBCBC;
	background: #F4F4F4;
}
.form-styling .form-input-rating label {
	line-height: 2em;
	margin: 2px 0;
	padding-right: 10px;
	display: inline-block;
}
.form-styling .form-input-rating label input {
	margin-right: 7px;
}

.form-styling .formseparator {
	clear: both;
	height: 30px;
}
.form-styling .form-input label {
	cursor: pointer;
}

.form-styling .form-input input[type=radio], .form-styling .form-input input[type=checkbox]{
	cursor: pointer;
}

.form-styling .fieldset {
	background-color: var(--c-violet-alt);
	padding: 10px;
	color: var(--c-white);
}
.form-styling .fieldset small {
	color: #dfdede;
}
.form-styling .fieldset legend {
	background-color: var(--c-white);
	border: 1px var(--c-violet-alt) solid;
	font-size: 0.9em;
	text-transform: uppercase;
	line-height: 1.9em;
	padding: 0 14px;
	font-weight: 600;
	color: var(--c-violet-alt);
}
.form-styling .fieldset .form-input .input,
.form-styling .fieldset .form-input select,
.form-styling .fieldset .form-input select:hover,
.form-styling .fieldset .form-input .input:hover,
.form-styling .fieldset .form-input textarea:hover {
	border: none;
}
.form-styling .fieldset a {
	color: var(--c-white);
	text-decoration: underline;
	font-weight: 600;
}
.edit-payment-link-wrapper a.post-edit-link {
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
	background: var(--c-white);
	text-decoration: none;
	color: var(--c-violet-alt);
	line-height: 2em;
	display: inline-block;
	padding: 0 15px;
}

.form-styling input[type=submit] {
	font-size: 1.2em;
	line-height: 2em;
	padding: 0 20px;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
	font-weight: 600;
}


.form-styling .form-input .charcount {
	position: relative;
}
.form-styling .form-input #bar {
	float: left;
	background-color: var(--c-brand);
	width: 0px;
	height: 14px;
}
.form-styling .form-input #barbox {
	float: right;
	height: 16px;
	background-color: var(--c-white);
	width: 100px;
	border: 1px #2C3E50 solid;
	margin-right: 3px;
	overflow: hidden;
}
.form-styling .form-input #count {
	float: right;
	margin-right: 8px;
	font-size: 0.8em;
	font-weight: 600;
}

.form-styling .form-input-accept-tos-err label {
	border: 2px solid #f00;
	padding: 5px 8px;
}
/***** Form styling END *****/


/***** EXTRA Forms styling START *****/
.form-styling .form-label span.checkusererr {
	color: #e10000;
}
.form-styling .form-label span.checkuserok {
	color: #3da001;
}
.form-styling .form-input .rates {
	padding-bottom:  10px;
	width: 100%;
}
.form-styling .form-input .rates .col30 {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
.form-styling .form-input .rates .rates-label {
	line-height: 40px;
	text-align: right;
	padding-right: 20px;
}
.form-styling .form-input .rates .hide-incall,
.form-styling .form-input .rates .hide-outcall {
	padding-right: 20px;
}

.form-styling .form-input .currency-label-text {
	line-height: 40px;
	padding-right: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
	text-align: right;
}
.form-styling .form-input .currency-label-dropdown {
	padding-right: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
.form-styling .form-input .err,
.form-styling .form-input .ok {
	padding: 3px 7px;
}


.agency-location-form .title-label,
.tours-page .title-label {
	line-height: 2.2em;
	display: inline-block;
	vertical-align: top;
	padding-right: 10px;
}


/***** EXTRA Form styling for payment settings page START *****/
.payment-settings-page .payment-sandbox-toggle {
	cursor: pointer;
}
.payment-settings-page .payment-sandbox-toggle span {
	float: left;
}
.payment-settings-page .payment-sandbox-toggle .label {
	font-size: 1.5em;
}
.payment-settings-page .payment-sandbox-toggle .toggle {
	font-size: 2em;
	padding: 0 8px;
	display: none;
}
.payment-settings-page .payment-sandbox-toggle-live .toggle {
	color: #49cd65;
}
.payment-settings-page .payment-sandbox-toggle-sandbox .toggle {
	color: #EF3A39;
}
.payment-settings-page .payment-sandbox-toggle-live .toggle {
	display: hidden;
}
.payment-settings-page .payment-sandbox-toggle-live .icon-toggle-on1 {
	display: inherit;
}
.payment-settings-page .payment-sandbox-toggle-sandbox .icon-toggle-on2 {
	display: inherit;
}


.payment-settings-page .payment-settings-step {
	border: 1px solid #22a4e6;
	padding: 20px;
	padding-top: 10px;
	margin-bottom: 20px;
}
.payment-settings-page .payment-settings-step .payment-settings-step-title {
	color: #22a4e6;
	padding-bottom: 10px;
	font-weight: bold;
}

.payment-settings-page .choose-payment-processor-wrapper .choose-payment-processor-content {
	line-height: 2.6em;
}
.payment-settings-page .choose-payment-processor-wrapper .current-payment-processor {
	padding: 0 15px;
	margin-left: 10px;
	font-size: 1.4em;
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
	font-weight: bold;
	cursor: default;
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list {
	padding-top: 20px;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor {
	width: 33.333%;
	padding: 10px 7px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content {
	position: relative;
	text-align: center;
	cursor: pointer;
	border: 1px solid #e6eaf2;
	padding: 15px 0;
	background: var(--c-bg-tint);
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content:hover {
	border-color: #b8c3d9;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo {
	height: 40px;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span {
	line-height: 40px;
	display: block;
	font-weight: bold;
	font-size: 1.3em;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span.none {
	color: #EF3A39;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span.other {
	color: #007AFF;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo img {
	height: 40px;
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .checkmark {
	position: absolute;
	top: -10px;
	right: -7px;
	font-size: 2em;
	color: #37bc9b;
	display: none;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content-selected {
	border: 1px solid #49cd65;
}
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content-selected .checkmark {
	display: inherit;
}

.payment-settings-page .payment-processor-settings-wrapper .selected-payment-processor {
	padding: 0 15px;
	margin-left: 10px;
	font-size: 1.1em;
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
	font-weight: bold;
	cursor: default;
}

.payment-settings-page .payment-processor-settings-content .payment-processor-details {
	line-height: 1.5em;
}
.payment-settings-page .payment-processor-settings-content .payment-processor-details h3 {
	padding-bottom: 5px;
}

.payment-settings-page .form-label label {
	padding-top: 10px;
}
.payment-settings-page .form-label label.nopadding {
	padding-top: 0px;
}
.payment-settings-page .form-input .longinput {
	width: 100%;
}
/***** EXTRA Form styling for payment settings page END *****/

/***** EXTRA Form styling for site settings page START *****/
.site-settings-page .showsitelogo,
.content-settings-page .showwatermarklogo {
	background: url(i/showsitelogo-bg.png);
	margin-bottom: 10px;
	padding: 20px 0;
	overflow: hidden;
}
.site-settings-page .showsitelogo img,
.content-settings-page .showwatermarklogo img {
	max-width: 100%;
}

.site-settings-page .change-website-design .one-design {
	padding: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}

.site-settings-page .formseparator {
	height: 30px;
}

.site-settings-page .submit_button_container .loader,
.site-settings-page .delete_demo_data_button_container .loader {
	display: inline-block;
}

.content-settings-page .watermark-position-box label {
	/*width: 60px;*/
	font-size: 0.8em;
	padding: 5px;
	line-height: 1em;
	width: 33.33%;
} 
.content-settings-page .watermark-position-box label .checkator_holder {
	margin-bottom: 3px !important;
}
/***** EXTRA Form styling for site settings page END *****/


/***** EXTRA Forms styling END *****/



/***** REGISTER PAGE - UPLOAD IMAGES *****/
.uploadifive-button *{
	cursor: pointer;
}
.uploadifive-button {
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	white-space: nowrap;
}
.deletesitelogo {
	line-height: 30px;
}
.uploadifive-queue-item {
	background-color: var(--c-white);
	font-size: 11px;
	margin-top: 5px;
	padding: 10px;
	color: var(--c-black);
	-khtml-border-radius: 5px;
	border-radius: 5px;
}
.uploadifive-queue-item .close {
	background: url('i/cancel.png') 0 0 no-repeat;
	display: block;
	float: right;
	height: 16px;
	text-indent: -9999px;
	width: 16px;
}
.uploadifive-queue-item .progress {
	margin-top: 10px;
	width: 100%;
}
.uploadifive-queue-item .progress-bar {
	background-color: #0099FF;
	height: 3px;
	width: 0px;
}


.upload_photos_page .girl {
	margin-right: 5px;
	width: 100%;
	text-align: center;
}
.upload_photos_page .girllast {
}
.upload_photos_page .girl span{
	padding: 4px;
	background: var(--c-white);
	position: relative;
	display: inline-block;
}
.upload_photos_page .girl span.selected{
	background-color: var(--c-info-slate);
}


.upload_photos_page .girl span i, .upload_photos_page .girl span em{
	display: block;
	position: absolute;
	height: 40px;
	width: 40px;
	cursor: pointer;
	text-indent: -9999px;
}
.upload_photos_page .girl span i:hover , .upload_photos_page .girl span em:hover{
	background-color: #FFE8E9;
}
.upload_photos_page .girl span i{
	top: 6px;
	right: 6px;
	background: var(--c-white) url(i/icon-no.png) center no-repeat;
}
.upload_photos_page .girl span em{
	top: 2px;
	left: 30px;
	background: var(--c-white) url(i/icon-yes.png) center no-repeat;
}

.upload_photos_page img{
	vertical-align: middle;
}

.upload_photos_page .image_msg {
	color: #77C41C;
	text-align: center;
	display: none;
	font-size: 16px;
	padding-top: 0px;
	font-weight: bold;
}
.upload_photos_form .image_msg {
	padding: 0px 15px;
}
.agency-page .upload_photos_form {
	text-align: center;
}
.agency-page .upload_photos_form .upload_photos_button {
	display: inline-block;
}
.agency-page h4.logo-used {
	text-align: center;
	border: none;
}
.agency-page .button-delete {
	cursor: pointer;
	background: var(--c-white);
	font-size: 0.8em;
	font-weight: 600;
	padding: 0 5px;
}
/***** REGISTER PAGE - UPLOAD IMAGES *****/


/***** REGISTER PAGE - MANAGE CITY TOURS *****/
.addedtours {
	border-top: 1px var(--c-info-slate) solid;
}
.addedtours .tour {
	border-bottom: 1px var(--c-info-slate) solid;
	float: left;
	display: block;
	width: 100%;
}
.addedtours .tour div{
	display: block;
	float: left;
	line-height: 30px;
	height: 30px;
	overflow: hidden;
}
.addedtours .tourhead {
	color: var(--c-info-slate);
	font-weight: bold;
}

.addedtours .tour .addedstart{
	width: 120px;
}
.addedtours .tour .addedend{
	width: 120px;
}
.addedtours .tour .addedplace{
	width: 240px;
}
.addedtours .tour .addedphone{
	width: 140px;
}
.addedtours .tour .addedemail{
	width: 120px;
}
.addedtours .tour .addedbuttons{
	width: 55px;
	float: right;
	position: relative;
	overflow: visible;
}
.addedtours .tour .addedbuttons .pb {
	position: absolute;
	right: 0;
	top: 2px;
}
.addedtours .tour .addedbuttons .pb .payment-button {
	white-space: nowrap;
	line-height: 1em;
	font-size: 1em;
	display: block;
	color: var(--c-white);
}

.addedtours .tour-info-mobile {
	display: none;
	padding-right: 5px;
	font-weight: bold;
}
.addedtours .tour-info-mobile-clear {
	display: none;
	clear: both;
}

.deletemsg {
	color:#0C0;
	text-align: right;
	display: none;
	padding-top: 0px;
	font-size: 14px;
	font-weight: bold;
}

.addedtours .tour .addedbuttons i, .addedtours .tour .addedbuttons em, .addedtours .tour .addedbuttons b {
	display: block;
	width: 20px;
	height: 20px;
	text-indent: -9999px;
	cursor: pointer;
	line-height: 20px;
	margin-top: 5px;
}
.addedtours .tour .addedbuttons i {
	float: left;
	background: url(i/icon-no.png) center no-repeat;
}
.addedtours .tour .addedbuttons em {
	float: right;
	background: url(i/icon-edit.png) center no-repeat;
}

.addedtours .tour .addedbuttons b {
	float: right;
	background: url(i/small-loader.gif) center no-repeat;
}
/***** REGISTER PAGE - MANAGE CITY TOURS *****/




/***** BLACKLISTED CLIENTS PAGE *****/
.addedblacklistedclients {
	border-top: 1px var(--c-text) solid;
}
.addedblacklistedclients .blacklistedclients {
	border-bottom: 1px var(--c-text) solid;
	float: left;
	display: block;
	width: 100%;
}
.addedblacklistedclients .blacklistedclients div{
	display: block;
	float: left;
	line-height: 30px;
}
.addedblacklistedclients .clienthead {
	font-weight: bold;
}
.addedblacklistedclients .blacklistedclients .addedemail{
	width: 20%;
}
.addedblacklistedclients .blacklistedclients .addedphone{
	width: 20%;
}
.addedblacklistedclients .blacklistedclients .addednote{
	width: 60%;
}

.addedblacklistedclients .blacklistedclients .addedbuttons{
	float: right;
}

.addedblacklistedclients .blacklistedclients .addedbuttons .icon {
	float: right;
	display: block;
	cursor: pointer;
	font-size: 1.3em;
}
.addedblacklistedclients .blacklistedclients .addedbuttons .button-delete {
	color: var(--c-danger-alt); /* red */
}
.addedblacklistedclients .blacklistedclients .addedbuttons .button-delete:hover {
	background-color: var(--c-danger-alt); /* red */
	color: var(--c-white);
}
.addedblacklistedclients .blacklistedclients .addedbuttons .button-edit {
	color: var(--c-brand);
	margin-left: 15px;
}
.addedblacklistedclients .blacklistedclients .addedbuttons .button-edit:hover {
	color: var(--c-white);
	background-color: var(--c-brand);
}
/***** BLACKLISTED CLIENTS PAGE *****/

/***** UPLOAD VERIFIED PHOTO PAGE *****/
.upload_verified_photo .button-delete {
	color: var(--c-danger-alt); /* red */
}
/***** UPLOAD VERIFIED PHOTO PAGE *****/

/***** AGENCY - MANAGE ESCORTS PAGE *****/
.addnewescortform {
	display: none;
}
/***** AGENCY - MANAGE ESCORTS PAGE *****/




.closebtn {
	padding: 0px 2px 0px 7px;
	font-weight: bold;
}
.closebtn .label {
	line-height: 1.5em;
}
.closebtn .icon {
	line-height: 1.6em;
	float: right;
}
.closebtn_box {
	position: absolute;
	top: -5px;
	right: -3px;
	cursor: pointer;
	color: var(--c-white);
	font-size: 1.2em;
	background: red;
	line-height: 1.2em;
	width: 1.2em;
	height: 1.2em;
}
.closebtn_box .icon {
	line-height: 1.2em;
}
.closebtn_box .icon::before {
	margin: 0;
}
.closebtn_box:hover {
	background: var(--c-white);
	color: red;
}
.closebtn_box:hover .icon {
	font-size: 1.4em;
	position: absolute;
	right: -1.5px;
	top: -4px;
}


/***** AGENCY - MANAGE ESCORTS OPTION BUTTONS IN SINGLE PAGE *****/
.agency_options_dropdowns {
	display: none;
	position: relative;
}
.agency_options_delete .submitbutton {
	font-size: 1.1em;
}

.girlsingle .thumbs .profile-video-thumb-wrapper,
.girlsingle .thumbs .profile-img-thumb-wrapper {
	width: 16.66%;
	padding-right: 4px;
	padding-bottom: 4px;
	display: inline-block;
}

.girlsingle .thumbs .profile-img-thumb {
	position: relative;
}
.girlsingle .thumbs .profile-img-thumb img {
	width: 100%;
	cursor: zoom-in;
	border: 1px solid var(--c-white);
}

.agency_options_add_logo .profile-img-thumb { position: relative; }
.agency_options_add_logo .profile-img-thumb .edit-buttons,
.girlsingle .thumbs .profile-img-thumb .edit-buttons,
.girlsingle .thumbs .profile-video-thumb .edit-buttons {
	position: absolute;
	display: block;
	top: 5px;
	right: 5px;
	left: 5px;
	font-size: 1em;
	z-index: 1;
}
.agency_options_add_logo .profile-img-thumb .edit-buttons .icon,
.girlsingle .thumbs .edit-buttons .icon {
	cursor: pointer;
	background-color: var(--c-white);
	float: right;
	margin-left: 10px;
	width: 33px;
	height: 33px;
	line-height: 32px;
	font-size: 1.3em;
}

.girlsingle .thumbs .profile-video-thumb {
	border: 1px solid #e5e5e5;
	position: relative;
	width: 100%;
}
.girlsingle .thumbs .profile-video-thumb .video-image-play {
	width: 100%;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}
.girlsingle .thumbs .profile-video-thumb .video-processing {
	position: absolute;
	left: 0;
	bottom: 0;
	background: red;
	text-align: center;
	color: var(--c-white);
	line-height: 1em;
	padding: 3px 0;
}

.fancybox-content {
	padding: 44px 5px !important;
}
.fancybox-container {
	z-index: 99999 !important;
}
/* Video slides on responsive viewports only: fill the viewport edge-to-edge
   and let the <video> element letterbox its own content on black. Without
   this, on mobile three things collectively shrink portrait 9:16 clips:
     1. .fancybox-slide has 44px padding from Fancybox v3's defaults
     2. .fancybox-content picks up our theme's 44px 5px inset (image slides)
     3. Fancybox's inline sizing caps the content box at ~800×600
   Zeroing the slide + content padding and forcing 100%×100% lets the
   phone's portrait viewport drive the container aspect, so the video
   fills the screen instead of sitting in a wide-and-short letterbox.
   Desktop keeps Fancybox's default modal look. 992px matches the theme's
   primary desktop-vs-mobile breakpoint. */
@media (max-width: 992px) {
	.fancybox-slide--video {
		padding: 0 !important;
	}
	.fancybox-slide--video .fancybox-content {
		padding: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		background: var(--c-black);
	}
	.fancybox-slide--video .fancybox-video {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain;
		background: var(--c-black);
	}
}
.video-player-lightbox {
	height: 100%;
}
.video-player-lightbox .wp-video,
.video-player-lightbox .wp-video .wp-video-shortcode {
	display: inline-block;
	overflow: hidden;
}

.girlsingle .edit-buttons .button-main-image {
	color: #61bd6d; /* green */
}
.girlsingle .edit-buttons .button-main-image:hover {
	color: var(--c-white);
	background-color: #61bd6d; /* green */
}
.girlsingle .edit-buttons .button-delete {
	color: var(--c-danger-alt); /* red */
}
.girlsingle .edit-buttons .button-delete:hover {
	color: var(--c-white);
	background-color: var(--c-danger-alt); /* red */
}

.image_msg_girl_single {
	color: var(--c-white);
	background-color: #61bd6d; /* green */
	font-weight: bold;
	display: block;
	text-align: center;
}
/***** AGENCY - MANAGE ESCORTS OPTION BUTTONS IN SINGLE PAGE *****/
.manage_escorts_page .thumb i {
	display: block;
	position: absolute;
	height: 20px;
	width: 20px;
	cursor: pointer;
	text-indent: -9999px;
	top: 2px;
	left: 2px;
	border: 1px var(--c-white) solid;
}
.manage_escorts_page .thumb i.girlactive {
	background: var(--c-white) url(i/icon-active.png) center no-repeat;
}
.manage_escorts_page .thumb i.girlinactive {
	background: var(--c-white) url(i/icon-inactive.png) center no-repeat;
}
.manage_escorts_page .thumb i:hover {
	border: 1px var(--c-brand) solid;
}
.manage_escorts_page .thumb i.girlsetinactive {
	text-indent: 0;
	color: #FF0000;
	background-color: var(--c-white);
	padding: 3px;
	background-image: none;
	cursor: default;
	white-space:nowrap;
}
.manage_escorts_page .thumb i.girlsetactive {
	text-indent: 0;
	color: #8CCF2A;
	background-color: var(--c-white);
	padding: 3px;
	background-image: none;
	cursor: default;
	white-space:nowrap;
}
.manage_escorts_page img{
	vertical-align: bottom;
}


/***** STAR RATING *****/
.starrating {
	background: url(i/star.png) bottom left repeat-x;
	height: 16px;
	width: 95px;
}
.starrating .starrating_stars {
	background: url(i/star.png) top left repeat-x;
	height: 16px;
}
.starrating .star0 { display: none; }
.starrating .star1 { width: 19px; }
.starrating .star15 { width: 27px; }
.starrating .star2 { width: 38px; }
.starrating .star25 { width: 46px; }
.starrating .star3 { width: 57px; }
.starrating .star35 { width: 65px; }
.starrating .star4 { width: 76px; }
.starrating .star45 { width: 84px; }
.starrating .star5 { width: 95px; }
.starrating .star6 { width: 17px; background: url(i/star_red.png) center left repeat-x; }


.profilestarrating-wrapper {
	margin: 0 auto;
	text-align: center;
}
.profilestarrating-wrapper .label {
	font-size: 1.1em;
	font-weight: bold;
}
.girlsingle .girlinfo .starrating {
	display: inline-block;
}
.profilestarrating-wrapper .starrating {
	background: url(i/star2.png) bottom left repeat-x;
	height: 40px;
	width: 210px;
}
.profilestarrating-wrapper .starrating .starrating_stars {
	background: url(i/star2.png) top left repeat-x;
	height: 40px;
}
.profilestarrating-wrapper .starrating .star0 { display: none; }
.profilestarrating-wrapper .starrating .star1 { width: 42px; }
.profilestarrating-wrapper .starrating .star15 { width: 63px; }
.profilestarrating-wrapper .starrating .star2 { width: 84px; }
.profilestarrating-wrapper .starrating .star25 { width: 105px; }
.profilestarrating-wrapper .starrating .star3 { width: 126px; }
.profilestarrating-wrapper .starrating .star35 { width: 147px; }
.profilestarrating-wrapper .starrating .star4 { width: 168px; }
.profilestarrating-wrapper .starrating .star45 { width: 189px; }
.profilestarrating-wrapper .starrating .star5 { width: 210px; }
.profilestarrating-wrapper .starrating .star6 { width: 42px; background: url(i/star_red2.png) center left repeat-x; }



.onereview .starrating, .onereview .starrating * {
	display: block;
}

/***** STAR RATING *****/


/***** LIST ALL USERS START *****/
.edit-user-types .tabs .tab {
	color: var(--c-white);
	background: var(--c-brand);
	line-height: 2.1em;
	font-size: 1.2em;
	border-top: 3px solid var(--c-brand);
	border-bottom: 3px solid transparent;
	display: block;
	float: left;
	text-align: center;
	width: 33.33%;
}
.edit-user-types .tabs .tab:hover {
	background: var(--c-brand);
	border-top: 3px solid var(--c-brand);
}
.edit-user-types .tabs .tab-active,
.edit-user-types .tabs .tab-active:hover {
	background: var(--c-white);
	color: var(--c-brand);
	font-weight: bold;
}

.edit-user-types .see-all-users-table {
	width: 100%;
}
.edit-user-types .see-all-users-table th {
	background: #a0ceee;
	padding: 4px 0;
}
.edit-user-types .see-all-users-table .colored-row {
	background: #e1f2fe;
}
.edit-user-types .see-all-users-table td {
	padding: 6px 2px;
	text-align: center;
	vertical-align: middle;
}
.edit-user-types .see-all-users-table td .email-not-validated {
	background: #cc0000;
	color: var(--c-white);
	padding: 0 3px;
	margin: 0 auto;
}

.edit-user-types {}
.edit-user-types {}
.edit-user-types {}
.edit-user-types {}
/***** LIST ALL USERS END *****/


/***** LIST AGENCIES *****/
.listagencies {
	width: 100%;
}
.listagencies .trhead th{
	color: var(--c-white);
	padding: 5px 0;
	padding-left: 5px;
	text-align: left;
	border-bottom: 1px var(--c-info-slate) solid;
	background-color: var(--c-brand);
}
.listagencies .agencytr{
	border-bottom: 1px var(--c-info-slate) solid;
}
.listagencies .agencytr td{
	line-height: 30px;
	padding: 0 5px;
}
.listagencies .agencytr td a{
	color: var(--c-brand);
	font-weight: bold;
}
.listagencies .agencytr td a:hover{
	color: #1e1e1e;
}
.listagencies .whiterow{
	background-color: var(--c-white);
}
.listagencies .agencytr td a:hover{
	text-decoration: underline;
}
.agencytrgray {
	background-color: #111;
}
/***** LIST AGENCIES *****/


/***** SINGLE - AGENCY *****/
.agencydetails {
	width: 57%;
	line-height: 25px;
}
.agencydetails a{
	color: var(--c-brand);
}
.agencydetails b{
	display: block;
	width: 40%;
	float: left;
}
.agencydetails br{
	clear: both;
}
.agencydetails .pinkbutton {
	line-height: 20px;
}

.agency-reviews-bodybox h4 {
	color: var(--c-brand);
	padding-left: 10px;
	margin-bottom: 10px;
	cursor: default;
	font-size: 1.5em;
	border-left: 3px solid var(--c-brand);
	text-transform: uppercase;
	font-size: 1.1em;
	font-weight: bold;
}
.agency-reviews-bodybox .review-wrapper {
	padding: 20px;
	background: var(--c-white);
}
.agency-reviews-bodybox .review-wrapper .starrating {
	margin-top: 4px;
}
/***** SINGLE - AGENCY *****/


/***** ESCORTS REVIEWS — public listing /escorts-reviews/ *****/
.reviews-list-page .pagetitle {
	margin-bottom: 18px;
}
/* Public Escorts-Reviews page only — 2 columns desktop, 1 column mobile.
   Scoped to .reviews-list-page so it can't bleed into admin or other lists. */
.reviews-list-page .reviews-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 8px;
}
@media (max-width: 768px) {
	.reviews-list-page .reviews-grid {
		grid-template-columns: 1fr;
	}
}
.review-card {
	display: flex;
	gap: 16px;
	padding: 14px;
	background: var(--c-white);
	border: 1px solid var(--c-brand-soft);
	border-left: 4px solid var(--c-brand-hover);
	border-radius: 6px;
	transition: box-shadow .15s ease, border-color .15s ease;
}
.review-card:hover {
	box-shadow: 0 4px 16px rgba(254, 90, 203, .12);   /* fallback: --c-brand-hover @ 12% */
	box-shadow: 0 4px 16px color-mix(in srgb, var(--c-brand-hover) 12%, transparent);
	border-left-color: var(--c-brand);
}
.review-card-thumb {
	flex-shrink: 0;
	display: block;
	width: 96px;
	height: 96px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--c-brand-palest);
}
.review-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.review-card-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.review-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.review-card-name {
	font-weight: 600;
	font-size: 1.05em;
	color: var(--c-brand);
	text-decoration: none;
}
.review-card-name:hover {
	color: var(--c-brand-hover);
	text-decoration: underline;
}
.review-card-meta {
	font-size: 0.85em;
	color: #888;
}
.review-card-meta i {
	font-style: normal;
	color: #aaa;
}
.review-card-meta b {
	color: #444;
	font-weight: 600;
	margin: 0 4px;
}
.review-card-text {
	margin: 4px 0 0;
	color: var(--c-text);
	line-height: 1.5;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	/* Default: clamp to 3 lines. JS removes the clamp when expanded. */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.review-card-text.is-expanded {
	-webkit-line-clamp: unset;
	overflow: visible;
}
.review-card-readmore {
	background: none;
	border: 0;
	padding: 0;
	margin-top: 4px;
	color: var(--c-brand);
	font-size: 0.9em;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	align-self: flex-start;
}
.review-card-readmore:hover { color: var(--c-brand-hover); }
@media (max-width: 600px) {
	.review-card { padding: 10px; gap: 10px; }
	.review-card-thumb { width: 72px; height: 72px; }
	.review-card-name  { font-size: 1em; }
}

/* Loader sentinel — appears below the grid while more pages exist. */
.reviews-loader {
	min-height: 36px;
	padding: 16px 0;
	text-align: center;
	color: #888;
	font-size: .9em;
}
.reviews-loader-spinner .spinner-border {
	margin-right: 6px;
	color: var(--c-brand-hover);
}


/***** CLASSIFIED ADS — listing card grid *****/
.classified-ads-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 8px;
}
@media (max-width: 900px) { .classified-ads-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .classified-ads-grid { grid-template-columns: 1fr; } }

.classified-ad-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--c-white);
	border: 1px solid var(--c-brand-soft);
	border-radius: 6px;
	overflow: hidden;
	transition: box-shadow .15s ease, transform .15s ease;
}
.classified-ad-card:hover {
	box-shadow: 0 4px 16px rgba(254, 90, 203, .18);   /* fallback: --c-brand-hover @ 18% */
	box-shadow: 0 4px 16px color-mix(in srgb, var(--c-brand-hover) 18%, transparent);
	transform: translateY(-1px);
}
.classified-ad-card-thumb {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--c-brand-palest);
	overflow: hidden;
}
.classified-ad-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.classified-ad-card-type {
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--c-white);
	background: var(--c-brand-hover);
}
.classified-ad-card-type--looking { background: var(--c-text-muted); }
.classified-ad-card-status {
	position: absolute;
	top: 8px;
	right: 8px;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--c-white);
	background: var(--c-warning);  /* pending = amber */
}
.classified-ad-card-status--rejected { background: #ef4444; }
.classified-ad-card-body {
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.classified-ad-card-title {
	font-weight: 600;
	font-size: 1em;
	color: var(--c-brand);
	text-decoration: none;
	line-height: 1.3;
}
.classified-ad-card-title:hover { color: var(--c-brand-hover); text-decoration: underline; }
.classified-ad-card-loc {
	font-size: 0.85em;
	color: #888;
}
.classified-ad-card-text {
	margin: 4px 0 0;
	color: #444;
	font-size: 0.9em;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Owner X delete button — same shape as the favorites .card-remove-fav,
   scoped to classified cards so we don't override the profile cards. */
.classified-ad-card .card-remove-fav {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	line-height: 1;
	font-size: 18px;
	font-weight: bold;
	color: var(--c-white);
	background: rgba(224, 0, 108, 0.85);   /* fallback: --c-brand @ 85% */
	background: color-mix(in srgb, var(--c-brand) 85%, transparent);
	border-radius: 50%;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	transition: background .15s ease, transform .15s ease;
}
.classified-ad-card .card-remove-fav:hover {
	background: var(--c-brand);
	transform: scale(1.1);
}
/* When a status pill is also present, push it below the X. */
.classified-ad-card .card-remove-fav + .classified-ad-card-thumb .classified-ad-card-status {
	top: 40px;
}


/***** MANAGE BLACKLISTED ESCORTS *****/
.searchescortform, .addnewescortform {
	display: none;
}
.searchescortform label i {
	display: none;
}
/***** MANAGE BLACKLISTED ESCORTS *****/


.footer {
	background-color: var(--c-brand-palest);
	padding: 10px;
}

.underfooter {
	clear: both;
	padding: 5px 0;
	color: var(--c-white);
	text-align: center;
	opacity: 0.8;
}
.underfooter .l {
	line-height: 21px;
}


.tosdisclaimer-overlay {
	background: rgb(32,58,237);
	background: var(--g-hero);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#203aed",endColorstr="#2f074e",GradientType=1); 
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999998;
}
.tosdisclaimer-wrapper {
	z-index: 999999;
	position: fixed;
	top: 0;
	text-align: center;
	width: 100%;
	height: 100%;
}
.tosdisclaimer {
	background-color: var(--c-accent);
	color: var(--c-white);
	max-width: 800px;
	max-height: 100%;
	padding: 20px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	overflow: auto;
}
.tosdisclaimer h4 {
	font-size: 1.5em;
	text-align: center;
}
.tosdisclaimer .disclaimer-logo {
	width: 100%;
	text-align: center;
	padding-top: 10px;
}
.tosdisclaimer .disclaimer-logo img {
	max-height: 60px;
}
.tosdisclaimer .tosdisclaimerbuttons {
	width: 100%;
	text-align: center;
}
.tosdisclaimer .tosdisclaimerbuttons div {
	display: inline-block;
}
.tosdisclaimer .tosdisclaimerbuttons .entertosdisclaimer {
	margin-right: 30px;
}
.tosdisclaimer .tosdisclaimerbuttons .entertosdisclaimer,
.tosdisclaimer .tosdisclaimerbuttons .closetosdisclaimer {
	font-size: 1.2em;
}




/* PAGINATION start */
.escort-pagination {
	padding-top: 20px;
	padding-bottom: 10px;
	clear: both;
	text-align: center;
	line-height: 15px;
}
.escort-pagination li{
display: inline;
padding: 0 2px;
}

.escort-pagination li a{
	background: var(--c-brand);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-brand-hover)), color-stop(100%,var(--c-brand)));
	background: var(--g-brand);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FE5ACB', endColorstr='#E0006C',GradientType=0 );

	-khtml-border-radius: 25px;
	border-radius: 25px;
	font-weight: bold;
	color: var(--c-white);
	padding: 2px 7px;
}
.escort-pagination li a:hover{
	background-position: top;
}
.escort-pagination li span.current {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-white)), color-stop(100%,var(--c-info-bg)));
	background: var(--g-info-bg);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eff8ff',GradientType=0 );
	color: var(--c-brand);
	-khtml-border-radius: 25px;
	border-radius: 25px;
	border: 1px var(--c-brand) solid;
	padding: 2px 7px;
	cursor: default;
}
/* PAGINATION end */


.edit-registration-content .editregfields {
	width: 100%;
	text-align: center;
}
.edit-registration-content .editregfields .tabletop {
	background: var(--c-white);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-white)), color-stop(100%,var(--c-info-bg)));
	background: var(--g-info-bg);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eff8ff',GradientType=0 );
	color: var(--c-brand);
	cursor: default;
}
.edit-registration-content .editregfields tr.tabletop th {
	padding: 5px 0;
}
.edit-registration-content .editregfields .alignleft {
	text-align: left;
	padding-left: 5px;
	font-weight: 600;
}
.edit-registration-content .editregfields {
	border-collapse: collapse;
}
.edit-registration-content .editregfields td {
	padding: 15px 0;
    border-spacing: 10px;
    /*border-collapse: separate;*/
}
.edit-registration-content .editregfields tr {
	background-color: #FFE2EB;
}
.edit-registration-content .editregfields tr.blip {
	background-color: var(--c-white);
}
.edit-registration-content .editregfields .iPhoneCheckContainer {
	margin: 0 auto;
}

.edit-registration-content .submit-button {
	font-size: 1.2em;
}



.send-validation-email-button-preloader {
	background: url(i/small-loader.gif) center no-repeat;
	height: 16px;
	width: 16px;
	margin: 0 auto;
}





/***** WordPress login page START *****/
body.login {
	background: var(--c-accent);
}
.login h1 a {
	background-image: none;
	-webkit-background-size: none;
	background-size: none;
	width: 100%;
	text-indent: 0px;
	margin: 0;
	padding: 10px 0;
	color: var(--c-white);
	font-size: 1.3em;
	height: auto !important;
}
.login h1 {
	padding-bottom: 20px;
}
.login h1 a img{
	max-width: 100%
}
.login #login {
	margin-top: 0;
	padding-top: 20px;
	width: 500px;
}

.login form {
	background-color: var(--c-white);
	border: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-khtml-box-shadow: none;
	box-shadow: none;
	margin: 0;
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
}
.login form.form-styling .form-input .input:focus {
	border: 1px solid var(--c-brand);
	box-shadow: 0 0 2px var(--c-brand);
}
.login form .input {
}

.login .message {
	margin-bottom: 10px;
}
.login #login_error {
	margin-bottom: 10px;
}
.login #login_error a{
	border-bottom: 1px red solid;
}

.login form .forgetmenot {
	float: right;
}
.login form .forgetmenot label{
    cursor: pointer;
	line-height: 2rem;
	font-size: 1em;
}
.login form p.submit {
	float: left;
}
.login form p.submit #wp-submit {
	background: var(--c-brand);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-brand-hover)), color-stop(100%,var(--c-brand)));
	background: var(--g-brand);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FE5ACB', endColorstr='#E0006C',GradientType=0 );
	color: var(--c-white);
	border: none;
	text-shadow: none;
	font-size: 1.2em;
	padding: 0px 20px;
	line-height: 2.1rem;
	display: block;
	height: auto;
	font-weight: 600;
	-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
}
.login form p.submit #wp-submit:hover {
	background: var(--c-brand-hover);
}


.login #backtoblog, .login #nav {
	padding: 0;
	margin-top: 10px;
}
.login #nav { float: left; }
.login #backtoblog { float: right; }
.login #nav a, .login #backtoblog a{
	color: var(--c-white);
	padding: 2px 5px;
}
.login #nav a:hover, .login #backtoblog a:hover{
	color: var(--c-white);
	text-decoration: underline;
}
/***** WordPress login page END *****/




/***** WordPress default CSS START *****/

img.alignnone {
    margin: 5px 20px 20px 0;
}

img.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

img.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

img.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
	text-align: center;
	margin-bottom: 1.5em;
}
.wp-caption img {
	border: 0 none;
	margin: 0;
	padding: 0;
}
.wp-caption p.wp-caption-text {
	margin: 0;
}

.wp-caption {
    background: var(--c-white);
    border: 1px solid var(--c-border-soft);
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}


.entry-content img {
	margin: 0 0 1.5em 0;
}

.gallery dl {
	margin: 0;
}
.gallery-caption {
	margin:-1.5em 0 0 0;
}

blockquote.left {
	float: left;
	margin-left: 0;
	margin-right: 20px;
	text-align: right;
	width: 33%;
}
blockquote.right {
	float: right;
	margin-left: 20px;
	margin-right: 0;
	text-align: left;
	width: 33%;
}

/***** WordPress default CSS END *****/


/***** Blog Section START *****/
.theblog .post_title {
	text-align: center;
	margin: 20px 0 0 0;
	padding: 0;
}
.theblog .post_title a{
	font-size: 1.5em;
}
.theblog .under_the_title {
	/*margin: 10px 0;*/
	margin: 20px auto;
	background-color: #5C97BF;
	height: 4px;
	width: 100px;
}
.theblog .post_title a:hover{
	text-decoration: underline;
}

.theblog .post {
	padding-bottom: 40px;
}

.theblog img {
	float: left;
    margin: 5px 20px 20px 0;
}

.theblog .entry {
	font-size: 15px;
	line-height: 22px;
}
.theblog .entry h1 {
	line-height: 1.2em;
}
.theblog .entry img {
	max-width: 100%;
}

.theblog .postmetadata {
	color: gray;
}
.theblog .postmetadata a{
}
.theblog .postmetadata a:hover{
	text-decoration: underline;
}

.theblog .commentlistall {
	padding-bottom: 20px;
	border-bottom: 1px solid #E5F2FD;
}
.theblog .commentlistall .comment {
	border: 1px solid #E5F2FD;
	/*border-bottom: none;*/
	padding: 0 10px;
	float: right;
	width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 30px;
}
.theblog .commentlistall .comment-info {
	border-bottom: 1px solid #E5F2FD;
	padding: 10px 0;
}
.theblog .commentlistall .commdate {
	color: #6C7A89;
	padding-right: 10px;
}

.theblog .commentlistall .depth-2 {
	width: 90%;
	/*border-bottom: none;*/
	/*border-right: none;*/
	padding-right: 0;
	/*float: right;*/
}
.theblog .commentlistall .depth-3, .theblog .commentlistall .depth-4, .theblog .commentlistall .depth-5, .theblog .commentlistall .depth-6, .theblog .commentlistall .depth-7 {
	width: 90%;
	/*border-bottom: none;*/
	border-right: none;
	padding-right: 0;
	/*float: right;*/
}

.theblog .commform {
}
.theblog .commform .commname, .theblog .commform .commemail {
	width: 50%;
}
.theblog .commform .commname .comminput, .theblog .commform .commemail .comminput {
	background-color: #e5f2fd;
	border: none;
	color: #2C3E50;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	width: 90%;
	padding: 0 10px;
	line-height: 40px;
	height: 40px;
	font-size: 1em;
}
.theblog .commform .commtextarea{
	background-color: #e5f2fd;
	border: none;
	color: #2C3E50;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	width: 100%;
	height: 200px;
}
.theblog .commform .commsubmitbutton {
	font-size: 1.2em;
	padding: 0 20px;
	line-height: 2em;
}


/***** Blog Section END *****/





/***** Register Page START *****/
.registerpage {
	cursor: default;
}
.registerpage .pagetitle {
	text-align: center;
	color: var(--c-brand);
	font-weight: normal;
	line-height: 4em;
	font-size: 2.3em;
}

.registerpage .usertype {
	width: 29%;
	margin: 0 2%;
	background-color: var(--c-white);
	float: left;
	color: #494949;
}
.registerpage .usertype .usertype-title {
	padding: 10px;
	color: var(--c-white);
	text-align: center;
}
.registerpage .usertype .usertype-title h4 {
	font-size: 1.3em;
	font-weight: 600;
}
.registerpage .usertype .usertype-content {
	padding: 20px;
}

.registerpage .usertype .userlist {
	list-style: none;
	padding-bottom: 20px;
	line-height: 2em;
	color: gray;
}
.registerpage .usertype .userlist .icon {
	color: #0096ff;
}

.registerpage .usertype .userlist .showprice {
	background-color: #16a085;
	color: var(--c-white);
	padding: 0 5px;
	white-space: nowrap;
}

.registerpage .usertype .usertype-bottom {
	border-top: 1px #ebebec solid;
	padding-top: 10px;
}

.registerpage .usertype .usertype-bottom .showprice {
	display: block;
	font-size: 1.6em;
	padding-bottom: 10px;
}
.registerpage .usertype .usertype-bottom .showprice small {
	color: gray;
}

.registerpage .usertype .usertype-bottom .registerbutton {
	font-size: 1.2em;
	font-weight: bold;
	padding: 10px 18px;
}
/***** Register Page END *****/


/* Select2 */
.select2-container {
	max-width: 200px;
}
.sidebar-right .select2-container {
	max-width: 100%;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
}
.select2-dropdown {
	border: 1px solid var(--c-brand) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected], 
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--c-brand) !important;
}
.select2 .select2-selection__rendered,
.select2 .select2-selection__arrow {
	line-height: 35px !important;
	height: 35px !important;
}

.select2-container .select2-selection--single {
	line-height: 35px !important;
	height: 35px !important;
}
.select2 .select2-selection.select2-selection--single {
	background: var(--c-white);
	border: 1px solid var(--c-brand);
}

/* Ajax CSS loader */
.loader, .loader span {
	width: 70px;
	height: 6px;
}
.loader {
	margin: 10px 0;
	background-color: var(--c-white);
	position: relative;
	overflow: hidden;
}
.loader span {
	background-color: #3FC380;
	position: absolute;
	display: inline-block;
}




/* WooCommerce */
.woocommerce * {
	font-family: 'Open Sans', "Helvetica Neue", "Trebuchet MS",Arial,sans-serif;
}
.woocommerce .woocommerce-MyAccount-navigation {
	list-style: none;
}
.woocommerce .woocommerce-MyAccount-content .woocommerce-message.woocommerce-message--info .woocommerce-Button {
	display: none;
}
.woocommerce-cart-form .shop_table .product-thumbnail {
	display: none;
}
.woocommerce .woocommerce-checkout .col2-set .col-1,
.woocommerce .woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
}

.woocommerce .woocommerce-checkout .col2-set .col-1 {
    margin-bottom: 30px;
}

.woocommerce table.cart td.actions .input-text,
.woocommerce form .form-row input.input-text {
	background-color: var(--c-white);
	border: 1px solid var(--c-brand);
	color: #2C3E50;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	font-family: 'Open Sans',"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
	line-height: 2.1em;
	padding: 0 5px;
}
.woocommerce form .form-row input.input-text {
	line-height: 2.6em;
	font-size: 1em;
	padding: 0 5px;
}

.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table {
	border-spacing: 0;
	overflow: hidden;
	border: 0;
	background: var(--c-white);
}
.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table thead {
	color: var(--c-success);
}

.woocommerce-checkout-review-order-table .cart_item,
.woocommerce #order_review .order_item {
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
	font-size: 1.3em;
	font-weight: 600;
}
.woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity,
.woocommerce-checkout-review-order-table tfoot,
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-quantity,
.woocommerce-notices-wrapper,
.woocommerce-billing-fields h3 {
	display: none;
}
.woocommerce-checkout-review-order-table .product-total {
	text-align: center;
}

.woocommerce-checkout-review-order-table .product-name .extra-info {
	font-size: 0.9em;
	font-weight: normal;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	float: none;
	display: inline-block;
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	color: var(--c-white);
	font-size: 1.3em;
	font-weight: 600;
}
.woocommerce #payment #place_order:hover, .woocommerce-page #payment #place_order:hover {
	background: var(--c-success-bright);
	background: var(--g-success-alt);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45e883', endColorstr='#2ec96c',GradientType=0 );
}


.woocommerce-checkout-review-order .place-order {
	text-align: center;
}


.woocommerce-notices-wrapper .woocommerce-message {
	background-color: var(--c-white);
	line-height: 2em;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
	border: 3px solid var(--c-success);
}
.woocommerce-notices-wrapper .woocommerce-message::before {
	color: var(--c-success);
}
.woocommerce .button,
.woocommerce a.button {
	background-color: #FF7197;
	color: var(--c-white);
}
.woocommerce .button:hover,
.woocommerce a.button:hover {
	background-color: var(--c-brand-deep);
	color: var(--c-white);
}

.woocommerce .woocommerce-info {
	border: 3px solid #22a7f0;
	background: var(--c-white);
	line-height: 2em;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
}
.woocommerce .woocommerce-info::before {
	color: #22a7f0;
}

.woocommerce .woocommerce-error {
	border: 3px solid #db0a5b;
	background: var(--c-white);
	line-height: 2em;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
}
.woocommerce .woocommerce-error::before {
	color: #db0a5b;
}


.woocommerce-checkout #payment {
	background: var(--c-white);
}

.woocommerce .woocommerce-MyAccount-navigation {
	display: none;
}

.woocommerce .woocommerce-orders-table .woocommerce-button.button.view {
	display: none;
}
.woocommerce .woocommerce-orders-table .woocommerce-button.button.pay {
	margin-right: 5px;
	/*float: none;*/
	/*display: inline-block;*/
	background: var(--c-success);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,var(--c-success)), color-stop(100%,var(--c-success-hover)));
	background: var(--g-success);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30ce73', endColorstr='#27ae60',GradientType=0 );
	/*color: var(--c-white);*/
	/*font-size: 1.3em;*/
	/*font-weight: 600;*/
}
.woocommerce .woocommerce-orders-table .woocommerce-button.button.pay:hover {
	background: var(--c-success-bright);
	background: var(--g-success-alt);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45e883', endColorstr='#2ec96c',GradientType=0 );
}

.woocommerce #order_review .shop_table td.product-name .wc-item-meta {
	display: none;
}

.woocommerce #payment {
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
	background: var(--c-white);
}
.woocommerce #payment .form-row {
	text-align: center;
}


/* Admin bar menu */
#wpadminbar #wp-admin-bar-wp-escortwp-menu,
#wpadminbar #wp-admin-bar-wp-escortwp-menu div.ab-item,
#wpadminbar #wp-admin-bar-wp-escortwp-menu .ab-sub-wrapper {
	background: var(--c-info-cyan);
	background: var(--g-info);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#20c7f9', endColorstr='#1b6ad1',GradientType=0 );
	color: var(--c-white);
	font-weight: 600;
}
#wpadminbar #wp-admin-bar-wp-escortwp-menu div.ab-item {
	cursor: pointer;
}
#wpadminbar .quicklinks #wp-admin-bar-wp-escortwp-menu ul li a {
	color: var(--c-white);
	font-weight: 600;
	line-height: normal;
	height: auto;
}
#wpadminbar .quicklinks #wp-admin-bar-wp-escortwp-menu ul li a:hover {
	background: var(--c-white);
	color: #1D92E2;
}

.page404 {
	color: var(--c-white);
}
.page404 h2 {
	font-size: 7em;
}
.page404 h3 {
	font-size: 1.4em;
}



/***** ONLINE STATUS start *****/
.online-status  {
	position: relative;
	color: var(--c-white);
	font-weight: 600;
	text-transform: lowercase;
	vertical-align: middle;
	line-height: 1em;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 3px;
	display: inline-block;
	color: var(--c-white);
	padding-left: 20px;
}
.online-status .online-label {
	position: relative;
}
.online-status .notification-circle {
	display: block;
	position: absolute;
	top: 5px;
	left: -17px;
}
.online-status .notification-circle:after {
	content: "";
	background-color: #14E12F;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	display: block;
	top: 1px;
	left: 1px;
}
.online-status .notification-circle .notification-circle-outside {
	margin: 1px;
	display: block;
	text-align: center;
	opacity: 1;
	background-color: rgb(12, 204, 37, 0.7);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	-webkit-animation: notification-expand 1.5s linear infinite;
	-moz-animation: notification-expand 1.5s linear infinite;
	-o-animation: notification-expand 1.5s linear infinite;
	animation: notification-expand 1.5s linear infinite;
}
.online-status .notification-circle .notification-circle-inside {
	display: block;
	text-align: center;
	opacity: 1;
	background-color: rgb(12, 204, 37, 0.7);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	-webkit-animation: notification-expand 1.5s linear infinite;
	-moz-animation: notification-expand 1.5s linear infinite;
	-o-animation: notification-expand 1.5s linear infinite;
	animation: notification-expand 1.5s linear infinite;
}
.online-status .notification-circle .notification-circle-inside:after {
	content: "";
	display: block;
	text-align: center;
	opacity: 1;
	background-color: rgb(12, 204, 37, 0.7);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	-webkit-animation: notification-expand 1.5s linear infinite;
	-moz-animation: notification-expand 1.5s linear infinite;
	-o-animation: notification-expand 1.5s linear infinite;
	animation: notification-expand 1.5s linear infinite;
}
@-webkit-keyframes notification-expand {
	0% { transform: scale(1); opacity: 0.75; }
	25% { transform: scale(1); opacity: 0.75; }
	100% { transform: scale(2.5); opacity: 0; }
}
@keyframes notification-expand {
	0% { transform: scale(1); opacity: 0.75; }
	25% { transform: scale(1); opacity: 0.75; }
	100% { transform: scale(2.5); opacity: 0; }
}
@-moz-keyframes notification-expand {
	0% { transform: scale(1); opacity: 0.75; }
	25% { transform: scale(1); opacity: 0.75; }
	100% { transform: scale(2.5); opacity: 0; }
}
@-o-keyframes notification-expand {
	0% { transform: scale(1); opacity: 0.75; }
	25% { transform: scale(1); opacity: 0.75; }
	100% { transform: scale(2.5); opacity: 0; }
}

.girlsingle .online-status {
	background: none;
	margin-top: 10px;
}
.girlsingle .online-status .online-label {
	color: #0CCC25;
}

.girl .thumbwrapper .model-info .labels .online-status {
	background-color: rgba(12, 204, 37, 0.5);
	float: right;
	margin-top: 1px;
}
.girl .thumbwrapper .model-info .labels .online-status .notification-circle:after {
	background-color: rgba(255, 255, 255, 0.4);
}
.girl .thumbwrapper .model-info .labels .online-status .notification-circle .notification-circle-outside {
	background-color: rgba(4, 64, 12, 0.85);
}
/***** ONLINE STATUS end *****/

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
}

/* child theme CSS */

.sidebar-right .buyvip {
	display: block;
	position: relative;
	line-height: 2em;
	color: var(--c-white);
	text-decoration: none !important;
	padding: 5px 16px;
	cursor: pointer;
	border: none;
	font-weight: 600;
}
.sidebar-right .buyvip_details,
.sidebar-right .buyfeatured_details,
.sidebar-right .buypremium_details {
	display: none;
	padding: 20px 10px 10px 10px;
	border: 1px var(--c-brand-hover) solid;
	position: relative;
	text-align: center;
}
.sidebar-right .buyvip_details .payment-button,
.sidebar-right .buyfeatured_details .payment-button,
.sidebar-right .buypremium_details .payment-button {
	display: inline-block;
	font-size: 1.1em;
}

.sidebar-right .buyvip .show-price,
.sidebar-right .buyfeatured .show-price,
.sidebar-right .buypremium .show-price {
	font-weight: 600;
	padding: 2px 5px;
	font-size: 14px;
	float: right;
	line-height: 1.83em;
	position: absolute;
}





/*Header*/
.mobileview{display:none;}

.fixed-nav{position: fixed;z-index: 9999999; top: 0;}
body .header-top-bar .fixed-nav .header-menu li a {line-height: 2.7em;}
.closemenu, .header-top-bar .subnav-menu li.menuiconbtn{display:none;}

header .header-top-bar{padding: 0px; background: var(--c-header-bg);}
header .header-top-bar .head_logo{display: inline-block; width: 100%; padding: 5px 25px;}
header .header-top-bar .header-nav{width: 100%; background: var(--c-header-nav-bg);min-height:auto;}
header .header-top-bar .header-nav ul.header-menu{margin-top: 0px !important;}
.header-top-bar .header-nav .header-menu li a{border-radius: 0;line-height: 3.4em;}
.header-top-bar .header-nav .header-menu li a:hover{background: var(--c-header-nav-hover);}
.header-top-bar .header-nav .header-menu ul{top: 3.4em; border-radius: 0;    background: var(--c-header-dropdown-bg); padding: 0;}
.header-top-bar .header-nav .header-menu ul li a{background: transparent;border-top: 1px solid var(--c-header-divider);color: var(--c-brand-fg);font-size: 16px;font-weight: normal;}
.header-top-bar .header-nav .header-menu ul li a:hover{background: var(--c-header-dropdown-hover);}

.header-top-bar .subnav-menu{margin-top: 0 !important;}
.header-top-bar .subnav-menu li.subnav-menu-btn a{background:var(--c-header-subnav-btn);    border-radius: 0;}
.header-top-bar .subnav-menu li.subnav-menu-icon a{border-radius: 0;background: var(--c-header-subnav-btn);}

body .bodybox .see-all-top{background: var(--c-header-nav-bg);border-radius: 0;}
body .bodybox h3{color:var(--c-header-nav-bg);     width: 100%; font-size: 30px;}

/*Sidebar*/
.sidebar-left .countries{padding: 0px 0px; }
.sidebar-left .countries h4{background: var(--c-accent-darkest); color: var(--c-white);  padding: 12px 14px !important; font-size: 18px;text-align: left;}
.sidebar-left .countries h4 span{float: right;}
.sidebar-left .countries ul li{background: var(--c-sidebar-item-bg); border-bottom: 1px solid var(--c-sidebar-item-divider);text-align: left;}
.sidebar-left .countries ul li ul{padding: 0px;}
.sidebar-left .countries ul li ul li{background: var(--c-sidebar-item-bg-nested);    padding-left: 15px;}
.sidebar-left .countries ul li a{color:var(--c-white); width: calc(100% - 40px); padding: 4px 0px 4px 10px;}
.sidebar-left .countries ul li span.iconlocation{color:var(--c-white);background: var(--c-sidebar-icon-bg);float: right; margin: 0px 0px;height: 100%; padding: 5px 2px;}
.sidebar-left .country-list .iconlocation:hover{border-radius: 0px;}
.sidebar-left .countries h3{background: var(--c-accent-darkest);color: var(--c-white);padding: 5px 14px !important;font-size: 18px;text-align: left; line-height: 38px;}
.sidebar-left .countries h3 .icon-down-dir{float: right; line-height: 40px;}

/*Profile List*/
.overlay_content{position: absolute;bottom: 0;left: 0;right: 0;background-color: rgba(0, 0, 0, 0.7);overflow: hidden;
  width: 100%;height: 0;transition: .5s ease;}
.girlbox1:hover .overlay_content {height: 100%;}
.overlay_content .content{ color: var(--c-white);line-height: 20px;font-size: 14px;padding: 15px 12px 12px 42px;}

.show_video_img_count_round span{position:absolute;font-size: 11px;border-radius: 50%;width: 36px;height: 36px; line-height: 14px; padding-top: 4px;z-index: 99;}
.show_video_img_count_round span.pics{left: 0px;background:var(--c-brand);top: 0px;}
.show_video_img_count_round span.vids{left: 0px;background: #FF9B2D; top: 40px;}

.show_video_img_count{position: absolute; z-index: 9999; background:rgba(252, 31, 31, 0.62); padding: 4px 5px; text-align: left;  font-size: 13px; line-height: 21px;color: var(--c-white);}
.nk_call_2part{float: left; width: 100%;}
.nk_call_2part span{width:100%; float:left;    padding: 2px 0px;}
/*.nk_call_2part span.sms{float:right;border-left: 3px solid;}*/
.nk_call_2part a{ color: var(--c-white);}

.list_shadow { height: 14px; background: url(images/shadow_bottom_box.png) no-repeat;
    background-size: 98%;float: left; width: 100%;margin-top: -5px;}
.bodybox .girl .girlbox1{border: 1px solid #ccc; background: var(--c-white); padding: 3px;display: inline-block; width: 100%;}
body .girl .thumb{border: 0px transparent solid;}
body .girl .thumb:hover{ border: 0px transparent solid;}

/*Profile View*/
.profile_footer_fixed{display:none;}
.end-profile{text-align:center; margin: 40px 0px; border-bottom: 1px solid #ccc; float: left;width: 100%; padding: 12px 0px; border-top: 1px solid #ccc;}
.end-profile span{width: 100%;  float: left;}
.end-profile img{width: 70px;}

/*Category list View*/



/*Footer*/
.footer{background-color: var(--c-footer-bg);padding-top: 25px;}
.footer .body{border:0px;}
.footer .widgetbox{width:33%;}
.footer .widgetbox p{color:var(--c-white);margin-top: 0px;font-size: 13px;line-height: 24px;font-family: sans-serif;}
.footer .widgetbox img{ max-width:95%;}
.footer .widgetbox a{color:var(--c-white); font-size: 13px;} 
.footer .widgetbox .widgettitle{color:var(--c-white); font-size: 1.3em; font-weight: 600;} 
.underfooter{background: var(--c-header-bg); opacity: 1;font-size: 14px; padding: 10px 0px;}



@media screen and (min-width: 961px) and (max-width: 1100px) {
	body .girl {width: 50%;}
}


@media only screen and (min-width: 961px) {
.sidebar_part.stick {position: fixed; top: 0;z-index: 10;border-radius: 0 0 0.5em 0.5em;width:250px;margin-top: 40px; }
.catlocationlist .location-ul li{width:25%;}
body .catlocationlist .location-ul li a{background: transparent; color: #544e4e; font-size: 19px; font-weight: 600;}
.catlocationlist{text-align:center;}
	
}
	
@media only screen and (max-width: 992px) {
	.mobileview{display:block;}
	.desktopview{display:none !important;}
	.fixed-nav-mobile{position: fixed; z-index: 9999999; top: 0;}
	body header .header-top-bar .head_logo{padding: 2px 5px 0 5px !important;}
	body header.header-mobile1 .logo, header.header-mobile2 .logo{text-align: left;max-width: 65%; float: left;padding-top: 4px;margin-left: 9px;}
	header .logo h1 {line-height: 12px;}
	body header.header-mobile2 .subnav-menu-wrapper{width: auto; min-height: auto;}
	.account_mobile{display:none;}
	.menuusermobile a{color:var(--c-white);margin: 9px 4px; float: left;}
	.account_mobile {width: 150px;position: absolute;right: 0; background:var(--c-header-bg);}
	.account_mobile li{list-style: none;padding: 7px 10px;border-bottom: 1px solid #906e6e;}
	.account_mobile a{color:var(--c-white);}
	
	body header .header-top-bar .header-nav{ top: 0px; bottom:0px; left: 0; display: none; width:100%;z-index: 9999999;}
	.closemenu, .header-top-bar .subnav-menu li.menuiconbtn{display: block;}
	.header-nav ul li{width: 100%;text-align: left;}
	.header-nav ul li a{line-height:2.2em;width:100%;border-bottom:1px solid #bb5c5c;font-weight:normal;font-size: 14px;}
	.closemenu{display: block;color: var(--c-white);position: absolute;right: -30px; top: 5px;background: var(--c-black);width: 30px;height: 30px;line-height: 24px;font-size: 22px;}
	.fixed-nav{position: relative; }
	body .sidebar-left .country-list ul.children a {color: var(--c-white);}
	body .sidebar-left .country-list ul.children{background: transparent; margin: 0;}
	.header-top-bar .logo img{height: auto;}
	
}

@media only screen and (max-width: 557px) {
	body .header-top-bar .subnav-menu li{padding-left: 2px;}
	body .header-top-bar .subnav-menu li.subnav-menu-btn a{padding: 0 7px;}
	.sidebar-left .countries ul li a{ padding: 6px 0px 6px 10px; }
	body .vip_loop .girl{ width:100%;}
	.bodybox .girl{ width:50%;}
	.footer .widgetbox { width:100%;margin-bottom: 20px;}
	.footer .widgetbox p { text-align: center !important;}
	
	/* Mobile fixed bottom bar — two full-width side-by-side action buttons. */
	.profile_footer_fixed {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		padding: 0;
		z-index: 999;
		box-shadow: 0 -2px 8px rgba(0,0,0,0.18);
	}
	.profile_footer_fixed .pff-btn {
		flex: 1 1 0;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 14px 10px;
		color: var(--c-white);
		text-decoration: none;
		font-weight: 700;
		font-size: 15px;
		line-height: 1;
		text-transform: uppercase;
		letter-spacing: .3px;
	}
	.profile_footer_fixed .pff-btn:hover,
	.profile_footer_fixed .pff-btn:active,
	.profile_footer_fixed .pff-btn:focus { color: var(--c-white); }
	.profile_footer_fixed .pff-btn [class^="icon-"] { font-size: 18px; line-height: 1; }
	/* icon-whatsapp's glyph has its own brand-green :before color; force white
	   inside the footer button so it shows against the green background. */
	.profile_footer_fixed .pff-btn [class^="icon-"]::before { color: inherit; }
	/* WhatsApp green */
	.profile_footer_fixed .pff-whatsapp { background: var(--c-btn-wa-bg); }
	.profile_footer_fixed .pff-whatsapp:hover,
	.profile_footer_fixed .pff-whatsapp:active { background: var(--c-btn-wa-hover); }
	/* SMS (blue) — shown only when the profile hasn't opted into any chat
	   app (WhatsApp / Viber / Telegram). Opens the native messaging app. */
	.profile_footer_fixed .pff-sms { background: var(--c-btn-sms-bg); }
	.profile_footer_fixed .pff-sms:hover,
	.profile_footer_fixed .pff-sms:active { background: var(--c-btn-sms-hover); }
	/* Viber (purple) — brand: var(--c-btn-viber-bg) */
	.profile_footer_fixed .pff-viber { background: var(--c-btn-viber-bg); }
	.profile_footer_fixed .pff-viber:hover,
	.profile_footer_fixed .pff-viber:active { background: var(--c-btn-viber-hover); }
	/* Telegram (blue) — brand: var(--c-btn-tg-bg) */
	.profile_footer_fixed .pff-telegram { background: var(--c-btn-tg-bg); }
	.profile_footer_fixed .pff-telegram:hover,
	.profile_footer_fixed .pff-telegram:active { background: var(--c-btn-tg-hover); }
	/* Font-Awesome brand icons on Viber / Telegram sit slightly higher than
	   the theme icon-font glyphs — nudge them into visual alignment with
	   the other buttons' icons and match their font size. */
	.profile_footer_fixed .pff-btn .fab { font-size: 18px; line-height: 1; color: inherit; }

	/* Call (pink) — text uses --c-brand-fg so a light-brand palette
	   swaps text to dark automatically instead of leaving unreadable white. */
	.profile_footer_fixed .pff-call { background: var(--c-brand); }
	.profile_footer_fixed .pff-call:hover,
	.profile_footer_fixed .pff-call:active { background: var(--c-brand-dark); }
	.profile_footer_fixed .pff-call,
	.profile_footer_fixed .pff-call:hover,
	.profile_footer_fixed .pff-call:active,
	.profile_footer_fixed .pff-call:focus { color: var(--c-brand-fg); }

	.profile_footer_fixed .pff-btn { min-width: 0; }

	/* Icon-only mode — server sets .profile_footer_fixed--icons-only when
	   more than 2 buttons render, because 3+ labels + icons don't fit on a
	   phone width. Labels are hidden (still readable to screen readers) and
	   icons scale up so tap targets stay usable. */
	.profile_footer_fixed--icons-only .pff-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.profile_footer_fixed--icons-only .pff-btn { gap: 0; padding: 14px 6px; }
	.profile_footer_fixed--icons-only .pff-btn [class^="icon-"],
	.profile_footer_fixed--icons-only .pff-btn .fab { font-size: 22px; }
}
.form-section-title {
    font-size: 15px;
    font-weight: 700;
    margin: 20px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--c-border);
    color: #374151;
}
.form-section-title .icon {
    margin-right: 6px;
    opacity: .7;
}
.clear30 { clear: both; height: 30px; }

/* Quick nav strip */
.account-quicknav { list-style:none; margin:12px 0; padding:0; overflow:hidden; }
.account-quicknav li { float:left; margin:0 12px 12px 0; }
.account-quicknav-item { display:block; padding:12px 16px; border-radius:16px; text-decoration:none; color:inherit; min-width:140px; }
.account-quicknav-item:hover { border-color:var(--c-border-mid); background:var(--c-bg); }
.account-quicknav-item .fa { font-size:22px; display:block; margin-bottom:6px; color:var(--c-text-subtle); }
.aqn-label { display:block; font-weight:600; font-size:14px; }
.aqn-sub { display:block; font-size:12px; color:var(--c-text-muted); margin-top:2px; }

/* Section action link (e.g. "View" / "+ Add Profile" in h4) */
.account-section-action { float:right; font-size:12px; font-weight:400; }

/* Status checklist rows */
.account-status-row { padding:6px 0; border-bottom:1px solid var(--c-bg-alt); }
.account-status-row .fa { margin-right:8px; }

/* Profile thumb (individual) */
.profile-thumb-wrap { float:left; margin:0 14px 10px 0; }
.profile-thumb { width:72px; height:72px; object-fit:cover; border-radius:8px; }
.profile-summary-info { overflow:hidden; }

/* Agency profiles list */
.agency-profiles-list { list-style:none; margin:0; padding:0; }
.agency-profiles-item { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--c-bg-alt); }
.agency-profile-thumb { width:44px; height:44px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.agency-profile-thumb--empty { background:var(--c-bg-alt); display:flex; align-items:center; justify-content:center; color:var(--c-text-subtle); }
.agency-profile-meta { flex:1; min-width:0; }
.agency-profile-edit-btn { font-size:12px; color:var(--c-text-muted); white-space:nowrap; text-decoration:none; }
.agency-profile-edit-btn:hover { color:#111; }

/* Label badges */
.label-success { background:var(--c-success-bg); color:var(--c-success-text); font-size:12px; padding:2px 8px; border-radius:4px; }
.label-warning  { background:#fef9c3; color:#854d0e; font-size:12px; padding:2px 8px; border-radius:4px; }
.label-danger   { background:var(--c-danger-bg); color:var(--c-danger-text); font-size:12px; padding:2px 8px; border-radius:4px; }
.label-info     { background:var(--c-info-bg-tint); color:var(--c-info-text); font-size:12px; padding:2px 8px; border-radius:4px; }

/* Plan step indicator */
.plan-steps { list-style:none; display:flex; gap:8px; padding:0; margin:0 0 20px }
.plan-steps li { flex:1; text-align:center; padding:8px; background:var(--c-bg-alt); border-radius:4px; font-size:13px; color:var(--c-text-muted) }
.plan-steps li.active { background:#ec4899; color:var(--c-white); font-weight:600 }
.plan-steps li.completed { background:var(--c-success-bg); color:var(--c-success-text) }

/* Plan cards */
.plan-cards-wrap { display:flex; flex-wrap:wrap; gap:16px; margin:0 0 20px }
.plan-card { flex:1; min-width:180px; max-width:280px; padding:20px; border:2px solid var(--c-border); border-radius:8px; position:relative }
.plan-card--current { border-color:#3b82f6; background:var(--c-info-bg-alt) }
.plan-card--locked  { opacity:.55; pointer-events:none }
.plan-card-header   { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px }
.plan-card-name     { font-weight:700; font-size:15px }
.plan-badge         { font-size:11px; padding:2px 8px; border-radius:12px }
.plan-badge--current{ background:var(--c-info-bg-tint); color:var(--c-info-text) }
.plan-badge--locked { background:var(--c-bg-alt); color:var(--c-text-muted) }
.plan-card-price    { font-size:22px; font-weight:700; margin:12px 0 }
.plan-card-period   { font-size:13px; font-weight:400; color:var(--c-text-muted) }
.plan-card-desc     { font-size:13px; color:var(--c-text-muted); margin:0 0 12px }

/* Price + order summaries */
.plan-price-summary, .plan-order-summary { border:1px solid var(--c-border); border-radius:6px; padding:12px 16px; margin:12px 0 }
.plan-summary-row   { display:flex; justify-content:space-between; padding:4px 0; font-size:14px }
.plan-summary-total { border-top:1px solid var(--c-border); margin-top:6px; padding-top:8px }
.plan-current-notice{ background:var(--c-info-bg-alt); border:1px solid #bfdbfe; border-radius:6px; padding:10px 14px; font-size:13px }

/* Gateways */
.plan-gateway-row   { padding:8px 0; border-bottom:1px solid var(--c-bg-alt) }
.plan-gateway-row input { margin-right:8px }

/* Tier radio cards (Step 2) */
.plan-tier-radios { display:flex; flex-direction:column; gap:8px; margin:12px 0 }
.tier-radio-card  { display:flex; align-items:center; gap:12px; padding:12px 16px;
                    border:2px solid var(--c-border); border-radius:6px; cursor:pointer; transition:border-color .15s }
.tier-radio-card:hover:not(.tier-radio-card--disabled) { border-color:var(--c-border-mid); background:var(--c-bg) }
.tier-radio-card--selected  { border-color:#ec4899; background:#fff7fb }
.tier-radio-card--disabled  { opacity:.5; cursor:not-allowed; background:#f9f9f9 }
.tier-radio-label { display:flex; justify-content:space-between; align-items:center; flex:1; cursor:pointer }
.tier-radio-days  { font-weight:600; font-size:15px }
.tier-radio-pricing { text-align:right }
.tier-radio-price { font-size:15px; font-weight:600 }
.tier-radio-credit-note { font-size:12px }
.tier-radio-badge { font-size:11px; background:var(--c-danger-bg); color:var(--c-danger-text); padding:2px 8px; border-radius:10px; margin-left:8px }

/* Gateway rows (Step 3) */
.plan-gateway-row   { padding:10px 0; border-bottom:1px solid var(--c-bg-alt) }
.plan-gateway-label { display:inline-flex; align-items:center; gap:6px; cursor:pointer; margin-left:6px }
.plan-gateway-name  { font-weight:600 }

/* ─────────────────────────────────────────────────────────────────────────────
   PROFILE MEDIA GALLERY — unified image + video grid (profile/view.php)
   ───────────────────────────────────────────────────────────────────────── */
.girlsingle .thumbs.profile-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
    text-align: left;
    margin: 0 0 10px;
}
.girlsingle .thumbs.profile-media-grid > .clear { display: none; }

/* Neutralise the legacy float/inline-block for grid items */
.girlsingle .thumbs.profile-media-grid .profile-img-thumb-wrapper,
.girlsingle .thumbs.profile-media-grid .profile-video-thumb-wrapper {
    width: auto;
    padding: 0;
    display: block;
    float: none;
}

.girlsingle .thumbs.profile-media-grid .profile-img-thumb {
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
    background: var(--c-bg-alt);
}
.girlsingle .thumbs.profile-media-grid .profile-img-thumb img,
.girlsingle .thumbs.profile-media-grid .profile-img-thumb video {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
    float: none;
    border: 0;
    cursor: zoom-in;
    background: var(--c-black);
}
.girlsingle .thumbs.profile-media-grid .profile-img-thumb:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

/* Main image highlight */
.girlsingle .thumbs.profile-media-grid .profile-img-thumb-wrapper.is-main .profile-img-thumb {
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34,197,94,.18);
}
.girlsingle .thumbs.profile-media-grid .main-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: var(--c-success-mid);
    color: var(--c-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 4px 9px;
    border-radius: 999px;
    text-transform: uppercase;
    line-height: 1;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

/* ── Moderation status overlay (owner-side /profile/view/) ──────────────────
   Shows Pending / Approved / Rejected on each image & video thumb so the
   owner can see what's awaiting review and what's been rejected. Sits at the
   bottom-left of the thumb, clear of the .main-badge (top-left) and the
   .edit-buttons strip (top-right). */
/* "Verified" corner ribbon — reusable across every media surface (approved
   profile images on single.php, approved videos on single.php + /videos/).
   Renders as a right-angled triangle hugging the bottom-left corner of its
   parent thumb — legs along the left + bottom edges, hypotenuse from TL to
   BR, white checkmark centred inside. Must be inside a positioned parent
   (position: relative or absolute) since it uses position: absolute. */
.profile-verified-check {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 40px;
    background: var(--c-success-mid);
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    z-index: 2;
    pointer-events: none;
}
.profile-verified-check svg {
    position: absolute;
    bottom: 4px;
    left: 4px;
    width: 16px;
    height: 16px;
    display: block;
}

.profile-img-thumb-wrapper .media-status-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    color: var(--c-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 4px 9px;
    border-radius: 999px;
    text-transform: uppercase;
    line-height: 1;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.profile-img-thumb-wrapper .media-status-badge--pending  { background: var(--c-warning); }  /* amber */
.profile-img-thumb-wrapper .media-status-badge--approved { background: var(--c-success-mid); }  /* green */
.profile-img-thumb-wrapper .media-status-badge--rejected { background: var(--c-danger); }  /* red */

/* Rejection reason — small italic block under the thumb. */
.profile-img-thumb-wrapper .media-status-reason {
    margin: 6px 0 0;
    padding: 6px 8px;
    background: var(--c-danger-bg-palest);
    border-left: 3px solid var(--c-danger);
    color: var(--c-danger-text);
    font-size: 12px;
    line-height: 1.4;
    font-style: italic;
    border-radius: 0 3px 3px 0;
}
.profile-img-thumb-wrapper .media-status-reason strong {
    font-style: normal;
    color: var(--c-danger-deep);
    margin-right: 4px;
}

/* Subtle border tint on the thumb itself to reinforce the badge state.
   Approved stays neutral so it doesn't fight with the green .is-main border. */
.profile-img-thumb-wrapper.status-pending  .profile-img-thumb {
    border: 2px solid var(--c-warning);
}
.profile-img-thumb-wrapper.status-rejected .profile-img-thumb {
    border: 2px solid var(--c-danger);
    opacity: .85;
}

/* Edit-buttons overlay (delete / set-as-main) — always visible on touch,
   subtle-until-hover on desktop */
.girlsingle .thumbs.profile-media-grid .profile-img-thumb .edit-buttons {
    position: absolute;
    top: 6px;
    right: 6px;
    left: auto;
    display: flex;
    gap: 6px;
    z-index: 2;
    opacity: .85;
    transition: opacity .15s ease;
}
.girlsingle .thumbs.profile-media-grid .profile-img-thumb:hover .edit-buttons { opacity: 1; }

.girlsingle .thumbs.profile-media-grid .edit-buttons .icon {
    float: none;
    margin: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 14px;
    background: rgba(255,255,255,.96);
    color: #111827;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
    cursor: pointer;
    text-decoration: none;
    transition: transform .12s ease, background .12s ease, color .12s ease;
}
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon:hover { transform: scale(1.08); }

.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-image-set-main,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.icon-star-empty { color: var(--c-warning); }
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-image-set-main:hover,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.icon-star-empty:hover { background: #fef3c7; color: #b45309; }

.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-image-delete,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-video-delete,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.icon-cancel { color: var(--c-danger); }
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-image-delete:hover,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.profile-video-delete:hover,
.girlsingle .thumbs.profile-media-grid .edit-buttons .icon.icon-cancel:hover { background: var(--c-danger-bg); color: var(--c-danger-text); }

/* Busy state during delete — full-thumb overlay with a small spinner. */
.girlsingle .thumbs.profile-media-grid .profile-img-thumb-wrapper.is-deleting {
    pointer-events: none;
}
.girlsingle .thumbs.profile-media-grid .thumb-busy-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.6);
    border-radius: 3px;
}
.girlsingle .thumbs.profile-media-grid .thumb-busy-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(214, 51, 163, 0.25);   /* fallback: --c-brand-alt @ 25% */
    border: 3px solid color-mix(in srgb, var(--c-brand-alt) 25%, transparent);
    border-top-color: var(--c-brand-alt);
    border-radius: 50%;
    animation: theme-thumb-spin 0.8s linear infinite;
}
@keyframes theme-thumb-spin { to { transform: rotate(360deg); } }


/* Video-specific: centered play overlay */
.girlsingle .thumbs.profile-media-grid .profile-video-thumb { border: 2px solid transparent; }
.girlsingle .thumbs.profile-media-grid .profile-video-thumb .video-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    background: var(--g-image-dim);
}
.girlsingle .thumbs.profile-media-grid .profile-video-thumb .video-play-overlay .icon {
    font-size: 32px;
    color: var(--c-white);
    text-shadow: 0 0 10px rgba(0,0,0,.6);
    background: rgba(0,0,0,.4);
    border-radius: 50%;
    width: 56px;
    height: 56px;
    line-height: 56px;
    text-align: center;
}

/* Drag-over state on upload dropzones */
.profile-page-no-media.is-dragover {
    background: #ecfdf5;
    outline: 2px dashed #34d399;
    outline-offset: -6px;
}

@media (max-width: 640px) {
    .girlsingle .thumbs.profile-media-grid { grid-template-columns: repeat(2, 1fr); }
    .girlsingle .thumbs.profile-media-grid .profile-img-thumb img,
    .girlsingle .thumbs.profile-media-grid .profile-img-thumb video { height: 160px; }
}
.plan-gateway-fee   { margin-left:4px }

/* ── Agency profile list — Edit overlay on .girlslist thumb ──────────────
 * Must out-specific `.girl .thumb .thumbwrapper a` which forces width:100%
 * and float:left on every anchor inside the thumb. We also fight those
 * explicitly so the overlay stays as a small pill in the top-right corner.
 */
.girl .thumb .thumbwrapper { position: relative; }
.girl .thumb .thumbwrapper a.girl-edit-btn {
    position: absolute !important;
    top: 6px;
    right: 6px;
    left: auto;
    z-index: 3;
    float: none !important;
    width: auto !important;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
    line-height: 1.4;
    display: inline-flex !important;
    align-items: center;
    gap: 3px;
    box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.girl .thumb .thumbwrapper a.girl-edit-btn .icon-pencil { font-size: 10px; }
.girl .thumb .thumbwrapper a.girl-edit-btn:hover { text-decoration: none; }

/* ── Equal-height profile cards ────────────────────────────────────────────
 * Images come in at varied aspect ratios, which made float-layout cards
 * stack unevenly. Crop every main thumb to a 3/4 portrait box via
 * aspect-ratio + object-fit so all cards render the same height.
 */
.girlslist .girl .thumb .thumbwrapper a img.mobile-ready-img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    height: auto;
    display: block;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ACCOUNT CARDS — mirrors profile-view's .girlinfo-section aesthetic
   White card on the bodybox pink background, pink left-border heading.
   Used by templates/account/my-account.php and my-reviews.php.
   ───────────────────────────────────────────────────────────────────────── */
.account-card {
    background: var(--c-white);
    padding: 20px;
    margin-bottom: 12px;
    border-radius: 4px;
    color: var(--c-accent);
    overflow: hidden;
}
.account-card > h4,
.account-card > h4.account-card-title {
    color: var(--c-brand);
    padding-left: 10px;
    margin: 0 0 14px 0;
    border-left: 3px solid var(--c-brand);
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.3em;
}
.account-card > h4 .fa,
.account-card > h4 .icon {
    margin-right: 8px;
    color: var(--c-brand);
}
.account-card > h4 .account-section-action {
    float: right;
    font-size: 12px;
    font-weight: 400;
    text-transform: none;
    color: var(--c-brand);
}
.account-card a {
    color: var(--c-brand);
}
.account-card a:hover {
    color: var(--c-brand-hover);
}
.account-card .text-muted {
    color: var(--c-accent-muted);
}

/* Identity strip inside the first card */
.account-identity-card .account-identity-name {
    font-size: 1.2em;
    font-weight: 600;
    margin-right: 8px;
}
.account-identity-card .account-identity-role {
    color: var(--c-accent-muted);
    margin-right: 8px;
}

/* Theme the existing quick-nav strip so it visually matches the pink theme */
.account-card .account-quicknav { margin: 0; }
.account-card .account-quicknav-item {
    border: 1px solid var(--c-brand-soft);
    background: #fff7fb;
    transition: background .15s, border-color .15s;
}
.account-card .account-quicknav-item:hover {
    background: #ffe6f2;
    border-color: var(--c-brand);
}
.account-card .account-quicknav-item .fa { color: var(--c-brand); }

/* Theme the status checklist rows */
.account-card .account-status-row { border-bottom-color: #fbe4ec; }

/* My Reviews — review entries inside cards */
.account-card .review-entry {
    background: #fff7fb;
    border: 1px solid #fbe4ec;
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 12px;
    overflow: hidden;
}
.account-card .review-entry:last-child { margin-bottom: 0; }
.account-card .review-entry .review-meta { margin-bottom: 8px; }
.account-card .review-entry .review-meta .r { float: right; }
.account-card .review-entry p { margin: 8px 0 0; }
.account-card .review-empty {
    text-align: center;
    padding: 30px 0;
    color: var(--c-accent-muted);
}
.account-card .review-empty .fa {
    font-size: 40px;
    color: var(--c-brand-soft);
    margin-bottom: 12px;
}

/* ── Listing pages: page title row + plan sections ────────────────────────── */
/* Floated page titles must size to their content so the .r filter row can sit
   beside them — the global `body .bodybox h3 { width:100% }` rule would
   otherwise push the filter onto a second line. */
body .bodybox h3.pagetitle.l,
body .bodybox h3.pagetitle.r {
    width: auto;
    text-align: left;
    margin: 0;
    padding: 6px 0;
}
.bodybox .pagetitle-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.bodybox .pagetitle-menu li {
    float: none;
    padding: 0;
}
.pinkbutton.is-active,
.pinkbutton.is-active:hover {
    background: var(--c-brand-dark);
    color: var(--c-white);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.15);
}
.plan-section {
    margin-top: 24px;
    margin-bottom: 30px;
}
/* Plan section heading + admin editorial content are wrapped in a
   Bootstrap-alert-warning-style container. The container itself has the
   amber background + left accent; heading and content sit left-aligned
   inside it. */
.plan-section-alert {
    background: var(--c-warning-bg);
    border: 1px solid #ffe69c;
    border-left: 4px solid #d97706;
    border-radius: 4px;
    padding: 14px 18px;
    margin: 0 0 18px;
    color: var(--c-warning-text);
    text-align: left;
}

/* Reset the theme-wide h3.plan-section-title styling — need it left-aligned
   inside the alert and coloured for readability against the amber panel. */
body .bodybox h3.plan-section-title,
.plan-section-alert h3.plan-section-title {
    width: auto;
    padding: 0 !important;
    margin: 0 0 6px !important;
    text-align: left !important;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.35;
    color: var(--c-warning-text);
    background: transparent !important;
    border: 0 !important;
}

/* Per-plan editorial content rendered between the plan heading and the
   profile cards. Admin-authored via Geo Management → {entity} → edit. */
.plan-section-alert .plan-section-content {
    margin: 4px 0 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--c-warning-text);
    text-align: left;
}
.plan-section-alert .plan-section-content p { margin: 0 0 8px; color: inherit; }
.plan-section-alert .plan-section-content p:last-child { margin-bottom: 0; }
.plan-section-alert .plan-section-content h1,
.plan-section-alert .plan-section-content h2,
.plan-section-alert .plan-section-content h3,
.plan-section-alert .plan-section-content h4 { margin: 10px 0 6px; color: var(--c-warning-text); }
/* Link colour override inside the amber alert — the generic .wp-editor-content
   sets theme-red, but the amber container reads better with matching amber
   links. Higher-specificity selector wins. */
.plan-section-alert .plan-section-content a { color: #b45309; text-decoration: underline; }
.plan-section-alert .plan-section-content a:hover { color: #78350f; }

/* ── .wp-editor-content — generic wrapper for admin-authored wp_editor HTML ─
   The theme's global reset at the top of this file zeros out ul/ol padding
   and margins on every list, plus flattens headings. These rules restore
   WordPress-default rendering for any container that echoes raw wp_editor
   output on the frontend (geo descriptions, plan editorial content, any
   future editor blocks).

   Design: font-size + color INHERIT from the parent by default. Headings
   scale via em units so they're proportional to whatever the surrounding
   text is. Only the element structure (bullets, spacing, indentation,
   link accent) is set here — the surrounding context controls the tone.

   Usage: wrap the echoed content in <div class="wp-editor-content">. */
.wp-editor-content { line-height: 1.6; }

.wp-editor-content p {
    margin: 0 0 12px;
    line-height: inherit;
    color: inherit;
}
.wp-editor-content p:last-child { margin-bottom: 0; }

.wp-editor-content ul,
.wp-editor-content ol {
    margin: 0 0 12px 8px;
    padding-left: 24px;
    color: inherit;
}
.wp-editor-content ul { list-style: disc outside; }
.wp-editor-content ol { list-style: decimal outside; }
.wp-editor-content ul ul { list-style: circle outside; }
.wp-editor-content ul ul ul { list-style: square outside; }
.wp-editor-content ol ol { list-style: lower-alpha outside; }
.wp-editor-content li {
    margin: 0 0 6px;
    line-height: inherit;
    color: inherit;
}
.wp-editor-content li > ul,
.wp-editor-content li > ol { margin: 6px 0 6px 8px; }

.wp-editor-content h1,
.wp-editor-content h2,
.wp-editor-content h3,
.wp-editor-content h4,
.wp-editor-content h5,
.wp-editor-content h6 {
    margin: 18px 0 8px;
    line-height: 1.3;
    color: inherit;
    font-weight: 700;
}
.wp-editor-content h1 { font-size: 1.7em; }
.wp-editor-content h2 { font-size: 1.5em; }
.wp-editor-content h3 { font-size: 1.3em; }
.wp-editor-content h4 { font-size: 1.15em; }
.wp-editor-content h5 { font-size: 1.05em; }
.wp-editor-content h6 {
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.wp-editor-content strong,
.wp-editor-content b { font-weight: 700; }
.wp-editor-content em,
.wp-editor-content i { font-style: italic; }
.wp-editor-content u { text-decoration: underline; }
.wp-editor-content del,
.wp-editor-content s,
.wp-editor-content strike { text-decoration: line-through; }
.wp-editor-content small { font-size: 0.85em; }
.wp-editor-content sub { vertical-align: sub; font-size: 0.75em; }
.wp-editor-content sup { vertical-align: super; font-size: 0.75em; }

.wp-editor-content a {
    color: var(--c-danger-dark);
    text-decoration: underline;
}
.wp-editor-content a:hover,
.wp-editor-content a:focus {
    color: #8a0044;
    text-decoration: underline;
}

.wp-editor-content blockquote {
    margin: 12px 0;
    padding: 10px 16px;
    background: rgba(0, 0, 0, 0.03);
    border-left: 4px solid var(--c-danger-dark);
    font-style: italic;
    color: inherit;
}
.wp-editor-content blockquote p:last-child { margin-bottom: 0; }

.wp-editor-content code {
    background: rgba(0, 0, 0, 0.06);
    padding: 1px 6px;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.92em;
}
.wp-editor-content pre {
    background: #1f2937;
    color: #f9fafb;
    padding: 12px 14px;
    border-radius: 4px;
    overflow-x: auto;
    margin: 12px 0;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    line-height: 1.55;
}
.wp-editor-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
    font-size: inherit;
}

.wp-editor-content img {
    max-width: 100%;
    height: auto;
    margin: 8px 0;
    border-radius: 3px;
}
.wp-editor-content figure { margin: 12px 0; }
.wp-editor-content figure img { margin: 0; }
.wp-editor-content figcaption {
    margin-top: 6px;
    font-size: 0.9em;
    color: inherit;
    opacity: 0.75;
    text-align: center;
    font-style: italic;
}

.wp-editor-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}
.wp-editor-content th,
.wp-editor-content td {
    padding: 8px 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    text-align: left;
    vertical-align: top;
}
.wp-editor-content th {
    background: rgba(0, 0, 0, 0.04);
    font-weight: 700;
}

.wp-editor-content hr {
    margin: 18px 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.wp-editor-content > *:first-child { margin-top: 0; }
.wp-editor-content > *:last-child  { margin-bottom: 0; }

/* ── Profile Settings sidebar block ───────────────────────────────────────── */
.sidebar-right .profile-settings-links h4.ps-toggle {
    cursor: pointer;
    margin: -10px;
    padding: 10px;
    font-weight: 600;
    color: var(--c-white);
    user-select: none;
}
.profile-settings-links .ps-toggle .ps-toggle-icon {
    float: right;
    font-size: 14px;
    margin-top: 4px;
    transition: transform .2s ease;
}
.profile-settings-links.is-collapsed .ps-toggle .ps-toggle-icon {
    transform: rotate(180deg);
}
.profile-settings-links .ps-body {
    background-color: var(--c-white);
    color: var(--c-text);
    padding: 10px 12px;
    margin-top: 10px;
    border-radius: 4px;
    float: left;
    width: 100%;
    box-sizing: border-box;
}
.profile-settings-links .ps-link-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 1px solid var(--c-sidebar-block-border);
    background: var(--c-white);
    color: var(--c-text);
    padding: 10px 12px;
    border-radius: 4px;
    text-decoration: none;
    margin-bottom: 10px;
    transition: background .15s, border-color .15s;
}
.profile-settings-links .ps-link-btn:hover {
    background: #fff5fa;
    border-color: var(--c-brand);
    color: var(--c-text);
    text-decoration: none;
}
.profile-settings-links .ps-link-btn .ps-link-icon {
    font-size: 18px;
    color: var(--c-brand);
    flex: 0 0 auto;
}
.profile-settings-links .ps-link-btn .ps-link-text {
    font-weight: 600;
    color: var(--c-text);
}

.profile-settings-links .ps-pause-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 1px solid var(--c-sidebar-block-border);
    background: var(--c-white);
    color: var(--c-text);
    padding: 10px 12px;
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
    text-align: left;
    margin-bottom: 10px;
    transition: background .15s, border-color .15s;
}
.profile-settings-links .ps-pause-btn:hover {
    background: #fff5fa;
    border-color: var(--c-brand);
}
.profile-settings-links .ps-pause-btn[data-paused="1"] {
    background: #fff8e6;
    border-color: #d97706;
}
.profile-settings-links .ps-pause-btn .ps-pause-icon {
    font-size: 18px;
    color: var(--c-brand);
    flex: 0 0 auto;
}
.profile-settings-links .ps-pause-btn[data-paused="1"] .ps-pause-icon { color: #d97706; }
.profile-settings-links .ps-pause-btn .ps-pause-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.profile-settings-links .ps-pause-btn .js-pause-label {
    font-weight: 600;
    color: var(--c-text);
}
.profile-settings-links .ps-pause-btn .js-pause-state {
    color: #888;
    font-size: 11px;
    margin-top: 2px;
}

/* Danger button — destructive action variant of .ps-link-btn */
.profile-settings-links .ps-danger-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 1px solid #f3b4b4;
    background: var(--c-white);
    color: var(--c-sidebar-danger-fg);
    padding: 10px 12px;
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 0;
    transition: background .15s, border-color .15s;
}
.profile-settings-links .ps-danger-btn:hover {
    background: var(--c-danger-bg-palest);
    border-color: var(--c-danger);
    color: var(--c-danger-text);
}
.profile-settings-links .ps-danger-btn .ps-link-icon {
    font-size: 18px;
    color: var(--c-danger);
    flex: 0 0 auto;
}
.profile-settings-links .ps-danger-btn .ps-link-text {
    font-weight: 600;
}

/* Confirm-delete modal */
.ps-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
}
.ps-modal-overlay[hidden] { display: none; }
.ps-modal {
    background: var(--c-white);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    width: 100%;
    max-width: 440px;
    padding: 22px 24px;
    color: var(--c-text);
}
.ps-modal h4 {
    margin: 0 0 10px;
    font-size: 18px;
    color: var(--c-sidebar-danger-fg);
}
.ps-modal p {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
}
.ps-modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
.ps-modal-actions .graybutton,
.ps-modal-actions .redbutton {
    padding: 8px 16px;
    border: 0;
    cursor: pointer;
    font: inherit;
    color: var(--c-white);
}
.ps-modal-actions .graybutton  { background:var(--c-text-muted); }
.ps-modal-actions .graybutton:hover  { background:var(--c-text-slate); }
.ps-modal-actions .redbutton   { background:var(--c-danger); }
.ps-modal-actions .redbutton:hover   { background:var(--c-danger-text); }

.profile-settings-links .ps-block {
    border: 1px solid var(--c-sidebar-block-border);
    border-radius: 4px;
    background: var(--c-white);
    padding: 10px 12px;
    margin-bottom: 10px;
}
.profile-settings-links .ps-block:last-child { margin-bottom: 0; }
.profile-settings-links .ps-block-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f6e2eb;
}
.profile-settings-links .ps-block-head strong {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #444;
}
.profile-settings-links .ps-block-action {
    font-size: 12px;
    white-space: nowrap;
    color: var(--c-brand);
}
.profile-settings-links .ps-row {
    padding: 6px 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--c-text);
}
.profile-settings-links .ps-row + .ps-row {
    border-top: 1px dashed #f0e0e8;
    margin-top: 4px;
}
.profile-settings-links .ps-row-label {
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--c-text);
}
.profile-settings-links .ps-row-meta {
    display: block;
    margin-top: 4px;
    color: #888;
    font-size: 11px;
}
.profile-settings-links .ps-row-link {
    display: inline-block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--c-brand);
}

/* Status pill — sized to its text, color-coded by state. */
.profile-settings-links .ps-status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
}
.profile-settings-links .ps-status-badge--approved { background:var(--c-success-bg); color:var(--c-success-text); }
.profile-settings-links .ps-status-badge--pending  { background:#fef3c7; color:#92400e; }
.profile-settings-links .ps-status-badge--rejected { background:var(--c-danger-bg); color:var(--c-danger-text); }
.profile-settings-links .ps-status-badge--none     { background:var(--c-border); color:var(--c-text-slate); }

/* ── Blacklist list-row action links — icon-only, theme-style ──────────── */
.bl-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.bl-actions .bl-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #777;
    background: #f4f4f4;
    text-decoration: none;
    font-size: 13px;
    line-height: 1;
    transition: background .15s, color .15s;
}
.bl-actions .bl-action:hover {
    background: var(--c-brand);
    color: var(--c-white);
    text-decoration: none;
}
.bl-actions .bl-action-danger:hover {
    background: #c00;
    color: var(--c-white);
}

/* ── Blacklist: divider between in-card filter form and results ─────────── */
.bl-results-divider {
    border-top: 1px solid #eee;
    margin: 14px 0 6px;
}

/* ── Sidebar country switcher — autocomplete input (dark theme) ─────────── */
.sidebar-left .geo-search {
    position: relative;
    margin: 0 10px 0px;
}
/* Icon is positioned absolute to the wrapper. To stay vertically centred on
   the input even when the wrapper has extra padding-top (e.g. .pt-2), pin
   the icon to the bottom of the input row instead of the wrapper centre. */
.sidebar-left .geo-search-icon {
    position: absolute;
    left: 10px;
    bottom: 9px;          /* matches input's bottom padding */
    color: rgba(255,255,255,.55);
    font-size: 13px;
    line-height: 1.5;
    pointer-events: none;
    z-index: 2;
}
.sidebar-left .geo-search-input {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px 9px 30px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 3px;
    background: #1a0a10;
    color: var(--c-white);
    font: inherit;
    font-size: 13px;
    line-height: 1.3;
    outline: none;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.sidebar-left .geo-search-input::placeholder { color: rgba(255,255,255,.45); }
.sidebar-left .geo-search-input:focus {
    background: var(--c-black);
    border-color: rgba(255,255,255,.45);
    box-shadow: 0 0 0 2px rgba(224, 0, 108, .35);   /* fallback: --c-brand @ 35% */
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-brand) 35%, transparent);
}
.sidebar-left .geo-search-spinner {
    position: absolute;
    right: 10px;
    bottom: 12px;          /* matches input padding so it stays inside */
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.25);
    border-top-color: var(--c-white);
    border-radius: 50%;
    animation: bl-spin .7s linear infinite;
    pointer-events: none;
    z-index: 3;
}
@keyframes bl-spin { to { transform: rotate(360deg); } }

/* Suggest list — dark panel matching the sidebar */
.sidebar-left .geo-search-list {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    list-style: none;
    margin: 0;
    padding: 4px 0;
    background: #1a0a10;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 3px;
    box-shadow: 0 8px 20px rgba(0,0,0,.45);
    max-height: 260px;
    overflow-y: auto;
    z-index: 100;
}
.sidebar-left .geo-search-list[hidden] { display: none; }
.sidebar-left .geo-search-list li {
    list-style: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}
.sidebar-left .geo-search-list .geo-search-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    color: var(--c-white);
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
    transition: background .12s, color .12s;
    background: unset;
    border: unset;
}
.sidebar-left .geo-search-list .geo-search-item:hover {
    background: var(--c-black);
    color: var(--c-white);
}
.sidebar-left .geo-search-list .geo-search-item .icon {
    color: rgba(255,255,255,.55);
    font-size: 12px;
    flex: 0 0 auto;
}
.sidebar-left .geo-search-list .geo-search-item:hover .icon {
    color: var(--c-white);
}
.sidebar-left .geo-search-list .geo-search-empty {
    padding: 8px 12px;
    color: rgba(255,255,255,.55);
    font-size: 12px;
    font-style: italic;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .sidebar-left .geo-search { margin: 0 10px 8px; }
    .sidebar-left .geo-search-input { padding: 11px 10px 11px 30px; font-size: 14px; }
    .sidebar-left .geo-search-list { max-height: 60vh; }
    .sidebar-left .geo-search-list .geo-search-item { padding: 11px 12px; font-size: 14px; }
}


/* ── Generic collapsible card (.js-collapsible / .js-collapsible-toggle) ── */
.js-collapsible-toggle { cursor: pointer; user-select: none; }
.js-collapsible-toggle .collapsible-arrow {
    font-size: 14px;
    transition: transform .2s ease;
    margin-top: 4px;
}
.js-collapsible.is-collapsed .collapsible-arrow { transform: rotate(180deg); }
.js-collapsible.is-collapsed .collapsible-body   { display: none; }

/* ── My Account: agency logo summary ─────────────────────────────────── */
.agency-logo-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 4px 0 6px;
}
.agency-logo-summary-thumb {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
    background: #f4f0f3;
    border: 1px solid var(--c-sidebar-block-border);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: border-color .15s;
}
.agency-logo-summary-thumb:hover { border-color: var(--c-brand); }
.agency-logo-summary-thumb img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}
.agency-logo-summary-thumb--empty {
    color: #c89cb1;
    font-size: 28px;
}
.agency-logo-summary-info {
    flex: 1 1 auto;
    min-width: 0;
}
.agency-logo-summary-info strong {
    display: block;
    font-size: 16px;
    line-height: 1.3;
}

/* ── Route Content (admin-managed editorial block) ────────────────────── */
.route-content {
    margin: 0 0 24px;
    padding: 0;
}
.route-content-title {
    margin: 0 0 12px;
    font-size: 22px;
    line-height: 1.3;
    color: #1a0a10;
}
.route-content-body {
    line-height: 1.55;
    color: #444;
}
.route-content-body p { margin: 0 0 10px; }
.route-content-body ul,
.route-content-body ol { margin: 0 0 10px 22px; }
.route-content-body img { max-width: 100%; height: auto; border-radius: 4px; }
.route-content-body h2,
.route-content-body h3,
.route-content-body h4 { margin: 14px 0 8px; }
.route-content-body a { color: var(--c-brand); }
.route-content-body a:hover { text-decoration: underline; }

/* ── Geo page sections (country / city / location) ───────────────────── */
.geo-section {
    padding: 14px 0;
}
.geo-section + .geo-section {
    border-top: 1px solid var(--c-sidebar-block-border);
}
/* Tight breadcrumbs row — kill the Bootstrap .mb-4 + <ol> default margins
   so the divider line sits right under the breadcrumb text. */
.geo-section--breadcrumbs { padding: 0 0 8px; }
.geo-section--breadcrumbs > nav.breadcrumb,
.geo-section--breadcrumbs > nav { margin-bottom: 0 !important; }
.geo-section--breadcrumbs .breadcrumb { margin-bottom: 0 !important; }

/* Nearby locations — highlighted container, paragraph content.
   The section stands out via a soft theme-pink panel + theme-red left
   accent, but the copy inside reads as normal prose with inline links —
   no button/card styling. Compact vertical footprint so it doesn't
   overwhelm the profile listing above. */
.geo-section--nearby {
    margin: 18px 0 14px;
    padding: 12px 16px;
    background: var(--c-white);
    border: 1px solid #f5d5e0;
    border-left: 4px solid var(--c-danger-dark);
    border-radius: 4px;
}

/* Geo welcome / register CTA block — same shape as .geo-section--nearby
   but with the neutral-grey palette the user asked for. Sits between the
   profile grid and the nearby block on every geo page. */
.geo-section--welcome {
    margin: 18px 0 14px;
    padding: 14px 18px;
    background: #e2e3e5;
    border: 1px solid #d3d6da;
    border-left: 4px solid #6c757d;
    border-radius: 4px;
    color: #41464b;
}

/* "More about {profile name}" block on profile detail page — same shape as
   .geo-section--welcome / .geo-section--nearby but with Bootstrap info-alert
   colours. Sits between the "End of profile" divider (which is floated
   width:100% in the theme's legacy layout) and the visitor counter, so we
   force `clear: both` to drop below the float cleanly — otherwise the
   info-blue background paints over the .end-profile divider. */
.geo-section--about {
    clear: both;
    margin: 18px 0 14px;
    padding: 14px 18px;
    background: #cff4fc;
    border: 1px solid #b6effb;
    border-left: 4px solid #087990;
    border-radius: 4px;
    color: #055160;
}
.geo-section--about .geo-welcome-heading {
    color: #055160;
}
.geo-section--about .geo-welcome-content {
    color: #055160;
    line-height: 1.6;
}
.geo-section--about a {
    color: #087990;
    text-decoration: underline;
    font-weight: 600;
}
.geo-section--about a:hover,
.geo-section--about a:focus {
    color: #055160;
    text-decoration: underline;
}

/* "Random VIP Profiles" section — 5 related profile cards below the
   info-alert block. Uses the theme's existing .girlslist grid; only the
   heading + top clear are added here. */
.related-profiles-section {
    clear: both;
    margin: 20px 0 8px;
}
.related-profiles-title {
    text-align: left !important;
    padding: 4px 0 12px !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a;
}
.geo-welcome-heading {
    margin: 0 0 8px;
    padding: 0;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.4;
    color: #212529;
}
.geo-welcome-content {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.6;
    color: #41464b;
}
.geo-welcome-cta {
    margin: 0;
}
/* Register-now CTA — matches the theme's primary .pinkbutton style
   (pink gradient, brightens to solid pink on hover). */
.geo-welcome-btn {
    display: inline-block;
    padding: 8px 22px;
    color: var(--c-white);
    background: var(--c-brand);
    background: var(--g-brand);
    border: 0;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: .3px;
    transition: background .15s, transform .1s;
}
.geo-welcome-btn:hover,
.geo-welcome-btn:focus {
    background: var(--c-brand-hover);
    color: var(--c-white);
    text-decoration: none;
}
.geo-welcome-btn:active {
    transform: scale(0.98);
    color: var(--c-white);
}

/* ── Profile verification page (/profile/verify/{slug}/) ─────────────────
   4-step guided flow matching the reference design. State-driven: the
   guide + upload form only render when the user CAN upload (status =
   none or rejected). Pending/approved states show a compact read-only
   card. */

/* Admin rejection reason banner — sits above the guide. */
.verify-reject-banner {
    background: var(--c-danger-bg-palest);
    border: 1px solid #fecaca;
    border-left: 4px solid var(--c-danger);
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--c-danger-deep);
}
.verify-reject-banner strong { color: var(--c-danger-text); display: block; margin-bottom: 3px; }
.verify-reject-reason { color: var(--c-danger-deep); }

/* Guide card — light panel wrapping the 4 numbered steps + notices.
   Themed to match the site's light colour palette; the accent left
   border echoes the theme-red used on .geo-section--nearby and the
   card-media badges. */
.verify-steps-card {
    background: var(--c-white);
    border: 1px solid #f0d3d3;
    border-left: 4px solid var(--c-danger-dark);
    border-radius: 6px;
    padding: 20px 24px 18px;
    color: var(--c-text);
    margin: 0 0 18px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.verify-steps {
    list-style: none;
    margin: 0;
    padding: 0;
}
.verify-steps li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 0;
    font-size: 15px;
    line-height: 1.55;
    border-bottom: 1px solid #f2e0e0;
    color: var(--c-text);
}
.verify-steps li:last-child { border-bottom: 0; }
.verify-step-num {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c-danger-dark);
    color: var(--c-white);
    font-size: 13px;
    font-weight: 700;
    margin-top: 1px;
    box-shadow: 0 1px 2px rgba(184, 24, 24, 0.20);
}
.verify-step-text { flex: 1 1 auto; color: var(--c-text); }
.verify-step-text em { font-style: italic; color: #6b6b6b; }
.verify-step-text strong { color: #1a1a1a; font-weight: 700; }

/* The auto-generated 3-digit code inside step 3 — theme-red inline pill. */
.verify-code {
    display: inline-block;
    background: var(--c-danger-dark);
    color: var(--c-white);
    padding: 2px 10px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0 3px;
}

/* Warning box — amber, calls out what will get rejected. */
.verify-warning-box {
    background: var(--c-warning-bg-palest);
    border: 1px solid #fed7aa;
    border-left: 3px solid #ea580c;
    border-radius: 4px;
    padding: 12px 16px;
    margin: 16px 0 12px;
    color: #9a3412;
    font-size: 14px;
    line-height: 1.5;
}
.verify-warning-box p { margin: 0 0 4px; color: #9a3412; }
.verify-warning-box p:last-child { margin: 0; }
.verify-warning-box strong { color: #7c2d12; font-weight: 700; }

/* Privacy notice — blue, reassures about non-publication. */
.verify-privacy-box {
    background: var(--c-info-bg-alt);
    border: 1px solid #bfdbfe;
    border-left: 3px solid #2563eb;
    border-radius: 4px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1e3a8a;
    font-size: 14px;
    line-height: 1.5;
}
.verify-privacy-box strong { color: var(--c-info-text); font-weight: 700; }
.verify-privacy-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: #2563eb;
}

/* Upload form below the guide. */
.verify-upload-form {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 8px;
    padding: 16px 20px;
    margin: 0 0 18px;
}
/* Side-by-side layout: fields on the left, sample photo on the right.
   Stacks vertically on narrow screens. */
.verify-upload-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
    align-items: flex-start;
}
.verify-upload-fields {
    flex: 1 1 320px;
    min-width: 0;
}
.verify-sample {
    flex: 0 1 200px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.verify-sample-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--c-text-muted);
}
.verify-sample-img {
    display: block;
    width: 100%;
    max-width: 200px;
    border: 1px solid var(--c-border);
    border-radius: 4px;
    background: #f9fafb;
}
@media (max-width: 640px) {
    .verify-sample {
        flex: 1 1 100%;
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
    }
    .verify-sample-img { max-width: 140px; }
    .verify-sample-label { flex: 0 0 auto; padding-top: 4px; }
}
.verify-file-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 6px;
}
.verify-file-row input[type="file"] {
    padding: 4px 0;
    font-size: 14px;
}
.verify-file-hint {
    font-size: 12px;
    color: var(--c-text-muted);
}
.verify-preview-wrap {
    margin: 10px 0;
    padding: 8px;
    background: #f9fafb;
    border: 1px dashed #cbd5e1;
    border-radius: 4px;
    max-width: 260px;
}
.verify-preview-img {
    display: block;
    max-width: 100%;
    max-height: 240px;
    border-radius: 3px;
}
.verify-msg {
    font-size: 13px;
    font-weight: 600;
    min-height: 18px;
    margin: 6px 0;
}
.verify-msg.ok  { color: var(--c-success-mid); }
.verify-msg.err { color: var(--c-danger); }
.verify-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 8px;
}
.verify-apply-btn {
    padding: 10px 22px !important;
    font-size: 15px !important;
    font-weight: 700;
}
.verify-apply-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Previously-rejected photo shown for context on the re-verify page. */
.verify-rejected-previous {
    margin: 20px 0 10px;
    padding-top: 16px;
    border-top: 1px solid var(--c-border);
}
.verify-previous-title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text-muted);
    line-height: 1.3;
}
.verify-previous-thumb {
    position: relative;
    display: inline-block;
    max-width: 240px;
}
.verify-previous-thumb img {
    display: block;
    width: 100%;
    border-radius: 4px;
    border: 1px solid var(--c-border);
    opacity: 0.65;
    filter: grayscale(0.25);
}
.verify-previous-tag {
    position: absolute;
    top: 8px;
    left: 8px;
    background: var(--c-danger);
    color: var(--c-white);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 3px 8px;
    border-radius: 4px;
}

/* Read-only pending / approved status card. */
.verify-status-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 8px;
    padding: 22px 26px;
    text-align: center;
    margin: 0 0 16px;
}
.verify-status-card__icon {
    font-size: 36px;
    line-height: 1;
    margin-bottom: 8px;
}
.verify-status-card__title {
    margin: 0 0 6px;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #1f2937;
    /* Explicit reset — this element used to be an <h4>, which inherits
       theme-wide h4 styling (bg colour, borders, big margins) that
       conflicts with this card's intent. Switching to a div + explicit
       styling keeps the visual identical without the cascade fight. */
    background: transparent;
    border: 0;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
}
.verify-status-card p {
    margin: 0;
    font-size: 14px;
    color: var(--c-text-slate);
    line-height: 1.5;
}
.verify-status-card--pending  { border-left: 4px solid var(--c-warning); }
.verify-status-card--approved { border-left: 4px solid var(--c-success-mid); }
.verify-status-card--approved .verify-status-card__icon { color: var(--c-success-mid); }

.verify-locked-thumb {
    max-width: 260px;
    margin: 0 auto;
}
.verify-locked-thumb img {
    display: block;
    width: 100%;
    border-radius: 6px;
    border: 1px solid var(--c-border);
}

@media (max-width: 480px) {
    .verify-steps-card { padding: 16px 18px; }
    .verify-steps li { font-size: 14px; }
    .verify-upload-form { padding: 14px 16px; }
    .verify-apply-btn { width: 100%; text-align: center; }
}
.geo-section--nearby p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #3a3a3a;
}
.geo-section--nearby a {
    color: var(--c-danger-dark);
    text-decoration: underline;
    font-weight: 600;
}
.geo-section--nearby a:hover,
.geo-section--nearby a:focus {
    color: #8a0044;
    text-decoration: underline;
}

/* Children grid: cities / locations / areas under the section heading.
   Same chip look as .home-mobile-cities — filled theme-red buttons.
   Layout unchanged from the original (flex-wrap with space-between);
   only the chip itself is restyled. */
.geo-children-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    justify-content: center;
}
.geo-children-grid li,
.geo-children-item {
    list-style: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}
.geo-children-link {
    display: inline-block;
    padding: 8px;
    border: 0;
    border-radius: 4px;
    background: var(--c-header-bg);
    color: var(--c-white);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .2px;
    text-decoration: none;
    transition: background .15s, transform .1s;
}
.geo-children-link:hover,
.geo-children-link:focus {
    background: #7a1010;
    color: var(--c-white);
    text-decoration: none;
}
.geo-children-link:active {
    background: #4a0808;
    transform: scale(0.98);
    color: var(--c-white);
}

@media (max-width: 768px) {
    /*.geo-section { padding: 12px 0; }*/

    /* Right sidebar "Find Escorts from other towns" block — desktop only. */
    .menusection { display: none; }
}

/* ── Mobile quick-nav bar (Home / Escorts / Videos / Blog) ─────────────────
   Pill-shaped text buttons. The outer bar matches the header background so
   it visually extends the top section. Each button is a lighter red pill
   with white text. Hidden on desktop by the existing .mobileview rule. */
.mobile-quicknav {
    background: var(--c-header-bg);        /* matches header .header-top-bar */
    padding: 10px 12px;
    margin: 0;
}
.mobile-quicknav ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mobile-quicknav li {
    flex: 1 1 0;                /* equal width */
    list-style: none;
    margin: 0;
    padding: 0;
}
.mobile-quicknav li a {
    display: block;
    text-align: center;
    padding: 10px 4px;
    color: var(--c-white);
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .2px;
    transition: background .15s, border-color .15s, transform .1s;
}
.mobile-quicknav li a:hover,
.mobile-quicknav li a:focus {
    background: rgba(255, 255, 255, 0.20);
    border-color: rgba(255, 255, 255, 0.25);
    color: var(--c-white);
    text-decoration: none;
}
.mobile-quicknav li a:active {
    background: rgba(255, 255, 255, 0.30);
    transform: scale(0.98);
    color: var(--c-white);
}

/* ── Mobile CTA row (Join Now / Login or My Account / Log Out) ────────────
   Sits directly under .mobile-quicknav. Same dark-red background to feel
   continuous with the header + quicknav.

   IMPORTANT: do NOT declare `display: flex` on the base rule — that has
   equal specificity to `.mobileview { display: none }` and (because this
   rule is declared later in the stylesheet) would override the desktop-
   hide. Visibility is owned by .mobileview; layout below kicks in only
   inside the ≤ 992px media query. */
.mobile-cta-row {
    gap: 8px;
    padding: 0 12px 12px;
    background: var(--c-header-bg);
    margin: 0;
}
@media only screen and (max-width: 992px) {
    .mobile-cta-row { display: flex; }
}

/* ── Home-page mobile cities row ──────────────────────────────────────────
   Replaces the standard sidebar countries dropdown on mobile + home page.
   Sits in the same sidebar slot — no dark backdrop, transparent container.
   Each chip is a filled theme-pink button, same shape (3px corners, same
   padding + font) as the .mobile-quicknav buttons. */
.home-mobile-cities {
    margin: 0;
    padding: 0 10px;
    background: transparent;
}
.home-mobile-cities ul {
    /* Buttons sit side by side, wrap to a new row when full. Full names
       always shown — no truncation. */
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 10px 0;
}
.home-mobile-cities li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.home-mobile-cities li a {
    display: block;
    padding: 8px;
    color: var(--c-white);
    background: var(--c-header-bg);
    border: 0;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .2px;
    transition: background .15s, transform .1s;
}
.home-mobile-cities li a:hover,
.home-mobile-cities li a:focus {
    background: #7a1010;
    color: var(--c-white);
    text-decoration: none;
}
.home-mobile-cities li a:active {
    background: #4a0808;
    transform: scale(0.98);
    color: var(--c-white);
}

/* Hide the standard countries dropdown on mobile only when the sidebar
   is rendering the chips row. PHP sets `.has-mobile-chips` on
   `.sidebar-left` when the home-page TEMPLATE is rendering (not when a
   Frontend_Router virtual route is using index.php). This is more
   reliable than `body.front-page`, which WP sets true on virtual routes
   too. */
@media only screen and (max-width: 992px) {
    .sidebar-left.has-mobile-chips .sidebar_part > .countries.bg-dark {
        display: none;
    }

    /* ── Sticky header on mobile ──────────────────────────────────────────
       dolceescort.js adds the .header-mobile1 / .header-mobile2 classes to
       <header> dynamically at the mobile breakpoint. Pinning the header
       (sticky → stays in flow, no layout jump) keeps the hamburger and
       logo accessible while the page scrolls. */
    header.header-mobile1 {
        position: sticky;
        top: 0;
        z-index: 999;
    }
}
.mobile-cta {
    flex: 1 1 0;
    text-align: center;
    padding: 12px 8px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .4px;
    text-transform: uppercase;
    text-decoration: none;
    transition: transform .1s, box-shadow .15s, background .15s;
}
.mobile-cta:hover,
.mobile-cta:focus { text-decoration: none; }
.mobile-cta:active { transform: scale(0.98); }

/* Primary — orange→pink gradient with a soft warm glow. Approximates the
   "fire" treatment from the design while staying inside the theme palette.
   The pulsing glow animation draws the eye to the main CTA. */
.mobile-cta--primary {
    color: var(--c-white);
    background: var(--g-warning-pink);
    animation: mobile-cta-pulse-glow 2.4s ease-in-out infinite;
}
.mobile-cta--primary:hover,
.mobile-cta--primary:focus {
    color: var(--c-white);
    background: var(--g-warning-brand);
}
/* Pause the pulse while the user is engaging with the button — keeps the
   :active scale-press feedback crisp. */
.mobile-cta--primary:hover,
.mobile-cta--primary:focus,
.mobile-cta--primary:active {
    animation-play-state: paused;
}

@keyframes mobile-cta-pulse-glow {
    0%, 100% {
        /* fallback (--c-brand @ 45%) */
        box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.55),
                    0 4px 14px rgba(224, 0, 108, 0.45);
        box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.55),
                    0 4px 14px color-mix(in srgb, var(--c-brand) 45%, transparent);
    }
    50% {
        /* fallback (--c-brand @ 75%) */
        box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.95),
                    0 4px 22px rgba(224, 0, 108, 0.75),
                    0 0 28px rgba(251, 191, 36, 0.55);
        box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.95),
                    0 4px 22px color-mix(in srgb, var(--c-brand) 75%, transparent),
                    0 0 28px rgba(251, 191, 36, 0.55);
    }
}

/* Respect users who've requested reduced motion in their OS settings. */
@media (prefers-reduced-motion: reduce) {
    .mobile-cta--primary {
        animation: none;
        /* fallback (--c-brand @ 45%) */
        box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.55),
                    0 4px 14px rgba(224, 0, 108, 0.45);
        box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.55),
                    0 4px 14px color-mix(in srgb, var(--c-brand) 45%, transparent);
    }
}

/* Secondary — flat translucent panel, white text. */
.mobile-cta--secondary {
    color: var(--c-white);
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.mobile-cta--secondary:hover,
.mobile-cta--secondary:focus {
    color: var(--c-white);
    background: rgba(255, 255, 255, 0.18);
}

/* ── Center the logo on mobile (≤ 992px) ──────────────────────────────────
   3-column grid: hamburger (40px) | logo (1fr) | reserved spacer (40px).
   The side tracks have FIXED widths matching the hamburger button — that
   guarantees the right track holds its space even when its content
   (search icon) is hidden. The logo fills the centre column and is
   text-aligned center inside it. */
@media only screen and (max-width: 992px) {
    body header .header-top-bar .head_logo {
        display: grid !important;
        grid-template-columns: 40px 1fr 40px;
        align-items: center;
        gap: 8px;
        padding: 8px 12px !important;
    }

    /* Left grid item — hamburger wrapper */
    body header .header-top-bar .head_logo > .menuusermobile {
        display: flex !important;
        align-items: center;
        justify-self: start;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Right grid item — keep the 40×40 footprint even when empty */
    body header .header-top-bar .head_logo > .subnav-menu-wrapper {
        justify-self: end;
        float: none !important;
        width: 40px !important;
        min-width: 40px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Centre logo, kill all the float/text-align/padding rules from the
       legacy `.header-mobile1 .logo` block that pushed it off-centre. */
    body header .header-top-bar .head_logo .logo {
        justify-self: center;
        align-self: center;
        text-align: center !important;
        max-width: none !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }
    body header .header-top-bar .head_logo .logo h1 {
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block;
        text-align: center;
        line-height: 1 !important;
    }
    body header .header-top-bar .head_logo .logo h1 a {
        display: block;
        text-align: center;
        margin: 0;
        padding: 0;
    }
    body header .header-top-bar .head_logo .logo h1 img {
        float: none !important;
        display: block;
        margin: 0 auto !important;
        padding: 0 !important;
        width: 100%;
        height: auto;
        vertical-align: middle;
    }

    /* Hide the search icon — the right grid track keeps its 40px space. */
    body header .header-top-bar .head_logo .search_iconbtn {
        display: none !important;
    }

    /* ── Hamburger button as a chip ──────────────────────────────────────
       Translucent panel + crisp menu glyph centered inside. The 40×40
       footprint matches the side grid tracks so it lines up perfectly. */
    body header .header-top-bar .head_logo .menuiconbtn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin: 0 !important;
        padding: 0 !important;
        background: rgba(255, 255, 255, 0.10);
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 6px;
        color: var(--c-white);
        float: none !important;
        transition: background .15s, border-color .15s;
    }
    body header .header-top-bar .head_logo .menuiconbtn:hover,
    body header .header-top-bar .head_logo .menuiconbtn:focus {
        background: rgba(255, 255, 255, 0.20);
        border-color: rgba(255, 255, 255, 0.30);
        color: var(--c-white);
    }
    body header .header-top-bar .head_logo .menuiconbtn:active {
        background: rgba(255, 255, 255, 0.30);
    }
    body header .header-top-bar .head_logo .menuiconbtn .icon {
        font-size: 18px;
        line-height: 1;
        margin: 0;
    }
}

/***** BLOG — archive cards, single post, comments, sidebar block *****/

/* Match the existing h3.pagetitle color/size for h1.pagetitle. The base
   `body .bodybox h3` rule (line ~4775) sets red color + 30px size for
   h3, but our blog templates use h1 for SEO, so we mirror those values
   here. The h1.pagetitle.l/.r overrides match the h3.pagetitle.l/.r
   rules at line ~5291 — keeping width:auto + left-align before the
   bootstrap .text-center / .w-100 utilities take over via !important. */
body .bodybox h1.pagetitle {
    color: var(--c-header-nav-bg);
    font-size: 30px;
    width: 100%;
}
body .bodybox h1.pagetitle.l,
body .bodybox h1.pagetitle.r {
    width: auto;
    text-align: left;
    margin: 0;
    padding: 6px 0;
}

/* Archive card grid */
.blog-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}
@media (max-width: 768px) {
    .blog-list { grid-template-columns: 1fr; gap: 14px; }
}

.blog-card {
    background: var(--c-white);
    border: 1px solid var(--c-brand-muted);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.blog-card:hover {
    box-shadow: 0 6px 18px rgba(254, 90, 203, 0.18);   /* fallback: --c-brand-hover @ 18% */
    box-shadow: 0 6px 18px color-mix(in srgb, var(--c-brand-hover) 18%, transparent);
    transform: translateY(-2px);
}

.blog-card-body { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }

.blog-card-title { margin: 0 0 6px; font-size: 1.15em; line-height: 1.3; }
.blog-card-title a { color: var(--c-text-dark); text-decoration: none; }
.blog-card-title a:hover { color: var(--c-brand-hover); }

.blog-card-meta { margin-bottom: 10px; }
.blog-card-meta a { color: #777; }
.blog-card-meta a:hover { color: var(--c-brand-hover); }

.blog-card-excerpt { color: #555; margin: 0 0 14px; flex: 1; line-height: 1.55; }

.blog-card-readmore { align-self: flex-start; }

/* Single post */
.blog-single { padding: 0 0 30px; }
.blog-single-meta { margin-bottom: 18px; }
.blog-single-meta a { color: #777; }
.blog-single-meta a:hover { color: var(--c-brand-hover); }

.blog-single-body { font-size: 1.02em; line-height: 1.65; color: var(--c-text-dark); }
.blog-single-body p { margin: 0 0 14px; }
.blog-single-body img { max-width: 100%; height: auto; }
.blog-single-body h2,
.blog-single-body h3,
.blog-single-body h4 { margin: 22px 0 10px; }
.blog-single-body blockquote {
    border-left: 3px solid var(--c-brand-hover);
    padding: 4px 16px;
    color: #555;
    background: #fdf3f9;
    margin: 14px 0;
}

/* Tags + prev/next */
.blog-single-tags { margin: 18px 0; }
.blog-single-tags .blog-tag {
    display: inline-block;
    padding: 3px 12px;
    background: #fdf3f9;
    color: var(--c-brand-dark);
    margin: 0 4px 4px 0;
    text-decoration: none;
    border: 1px solid var(--c-brand-muted);
}
.blog-single-tags .blog-tag:hover { background: var(--c-brand-hover); color: var(--c-white); }

.blog-prev-next {
    border-top: 1px solid var(--c-brand-muted);
    padding: 16px 0 0;
    margin-top: 18px;
}
.blog-prev-next a { color: var(--c-brand-dark); text-decoration: none; }
.blog-prev-next a:hover { text-decoration: underline; }

/* Comments */
.blog-comments {
    margin-top: 30px;
    border-top: 1px solid var(--c-brand-muted);
    padding-top: 22px;
}
.blog-comments .comments-title { margin: 0 0 16px; font-size: 1.2em; }
.blog-comments .comment-list { list-style: none; padding: 0; margin: 0 0 22px; }
.blog-comments .comment-list .comment { padding: 12px 0; border-bottom: 1px dashed var(--c-brand-muted); }
.blog-comments .comment-list .children { list-style: none; padding-left: 18px; margin-top: 12px; }
.blog-comments .comment-author { font-weight: 600; }
.blog-comments .comment-meta a { color: #777; font-size: .85em; }
.blog-comments .comment-form input[type=text],
.blog-comments .comment-form input[type=email],
.blog-comments .comment-form input[type=url],
.blog-comments .comment-form textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--c-brand-muted);
    border-radius: 4px;
    margin-bottom: 10px;
}
.blog-comments .comment-form textarea { min-height: 100px; }

/* Pending-moderation notice on the author's own un-approved comment */
.blog-comments .comment-awaiting-moderation {
    display: inline-block;
    background: #fff7d6;
    border: 1px solid #f0d36e;
    color: #7a5e00;
    padding: 4px 10px;
    border-radius: 3px;
    font-style: normal;
    font-size: .9em;
    margin-bottom: 6px;
}

/* Reply link + the form when slid in under a comment */
.blog-comments .comment-reply-link {
    display: inline-block;
    color: var(--c-brand-dark);
    font-size: .9em;
    margin-top: 4px;
    text-decoration: none;
}
.blog-comments .comment-reply-link:hover { text-decoration: underline; }
.blog-comments .comment-list #respond {
    margin: 12px 0 6px;
    padding: 12px 14px;
    background: #fdf3f9;
    border: 1px solid var(--c-brand-muted);
    border-radius: 4px;
}
.blog-comments .comment-list #respond .comment-reply-title { font-size: 1em; margin-bottom: 8px; }
.blog-comments #cancel-comment-reply-link {
    margin-left: 10px;
    color: #888;
    font-size: .85em;
}

/* Static page (page.php) — share single-post body styling */
.static-page-body { font-size: 1.02em; line-height: 1.65; color: var(--c-text-dark); }
.static-page-body p { margin: 0 0 14px; }
.static-page-body img { max-width: 100%; height: auto; }

/* Sidebar — Blog Categories block */
.blog-categories-block .bc-body {
    list-style: none;
    padding: 0;
    margin: 0;
}
.blog-categories-block .bc-body li {
    padding: 5px 0;
    border-bottom: 1px dashed var(--c-brand-muted);
}
.blog-categories-block .bc-body li:last-child { border-bottom: 0; }
.blog-categories-block .bc-body a {
    display: block;
    color: var(--c-text-dark);
    text-decoration: none;
    padding: 2px 0;
}
.blog-categories-block .bc-body a:hover { color: var(--c-brand-hover); }
.blog-categories-block .bc-count {
    font-size: .85em;
    margin-left: 4px;
}


/* ─── Unified frontend pagination ─────────────────────────────────────────────
   Targets paginate_links() output (.page-numbers) AND the legacy manual
   markup (.page-btn) so blog/archive/search and the listing templates that
   use _profile-loop.php all share one visual. Pink-gradient pills, white
   active-state with a pink ring — matches the rest of the theme. */
.pagination-wrap {
    padding: 18px 0;
    clear: both;
    text-align: center;
}
.pagination {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 1;
}
.pagination .page-numbers,
.pagination .page-btn {
    display: inline-block;
    padding: 8px 14px;
    background: var(--g-brand);
    color: var(--c-white);
    font-weight: 600;
    font-size: 13px;
    border: 1px solid transparent;
    border-radius: 25px;
    text-decoration: none;
    line-height: 1.2;
    transition: filter .15s ease, transform .08s ease;
}
.pagination a.page-numbers:hover,
.pagination a.page-btn:hover {
    filter: brightness(1.08);
    color: var(--c-white);
}
.pagination a.page-numbers:active,
.pagination a.page-btn:active {
    transform: translateY(1px);
}
.pagination .page-numbers.current,
.pagination .page-btn.active {
    background: var(--c-white);
    color: var(--c-brand);
    border-color: var(--c-brand);
    cursor: default;
}
.pagination .page-numbers.dots {
    background: none;
    color: #999;
    padding: 8px 4px;
    border-color: transparent;
}


/* ─── /videos/ feed — card styling on top of .girl + .girl-card scaffolding
   The grid (5 cols on desktop, breakpoint separators) is inherited from the
   profile loop. We only need the video-specific bits: play-overlay on the
   thumb, and the caption block below the thumb. */
/* /videos/ feed uses CSS Grid (not the .girl float layout) so we get equal-
   height rows automatically and don't need the show-separator clearing trick.
   4 cols desktop → 3 → 2 → 1 on the same breakpoints the float layout uses. */
.girlslist.videos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.girlslist.videos-grid > .girl {
    width: auto;           /* override .girl { width: 20% } */
    float: none;
    padding: 0;            /* gap handles spacing */
    display: flex;         /* let .girl-card stretch full grid cell height */
    flex-direction: column;
}
.girlslist.videos-grid > .girl > .girl-card {
    flex: 1 1 auto;        /* card body fills available height */
}
@media (max-width: 1200px) { .girlslist.videos-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .girlslist.videos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .girlslist.videos-grid { grid-template-columns: repeat(1, 1fr); } }


/* Fixed 16:9 placeholder so every card's thumb is the same height regardless
   of source video aspect; the poster (or first video frame) is centre-cropped
   to fill via object-fit. Padding-top trick = universal browser support. */
.girl.video-card-item .video-thumb .thumbwrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;       /* 16:9 */
    overflow: hidden;
    background: #1a1a1a;       /* visible only if a transparent poster leaks */
}
.girl.video-card-item .video-thumb .thumbwrapper > a {
    position: absolute;
    inset: 0;
    display: block;
    line-height: 0;
}
.girl.video-card-item .video-thumb .thumbwrapper img,
.girl.video-card-item .video-thumb .thumbwrapper video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.girl.video-card-item .video-thumb .video-play-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.18);
    transition: background .15s ease;
    pointer-events: none;
}
.girl.video-card-item .video-thumb .thumbwrapper a:hover .video-play-overlay {
    background: rgba(0,0,0,0.32);
}
.girl.video-card-item .video-thumb .video-play-overlay .icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    color: var(--c-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.35);
    transition: transform .15s ease, background .15s ease;
}
.girl.video-card-item .video-thumb .thumbwrapper a:hover .video-play-overlay .icon {
    transform: scale(1.08);
    background: var(--c-white);
}
/* YouTube-style caption: small round avatar on the left, name + meta on the
   right. min-height keeps cards uniform when one entry's name wraps slightly
   differently from another's (the avatar floor would already be 38px alone). */
.girl.video-card-item .video-card-info {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 4px 6px;
    line-height: 1.3;
    min-height: 58px;
}
.girl.video-card-item .video-card-avatar {
    flex: 0 0 auto;
    display: block;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    overflow: hidden;
    background: #ebebeb;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.06);
}
.girl.video-card-item .video-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.girl.video-card-item .video-card-text {
    flex: 1 1 auto;
    min-width: 0;       /* lets ellipsis kick in inside flex */
}
.girl.video-card-item .video-card-name {
    display: block;
    color: var(--c-text-dark);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.girl.video-card-item .video-card-name:hover { color: var(--c-brand); }
.girl.video-card-item .video-card-meta {
    color: #707070;
    font-size: 12px;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.girl.video-card-item .video-card-meta .vc-sep {
    margin: 0 4px;
    color: #b8b8b8;
}
#menu-other-towns a {
	background: #e62222 none repeat scroll 0 0;
	cursor: pointer;
	display: inline-block;
	padding: 0.3em 0.8em 0.4em;
	position: relative;
	list-style: none;
	color: var(--c-white);
	text-align: center;
	text-decoration: none;
	border: 1px solid;
	border-spacing: 7px;
	font-size: 15px;
	float:left;
}
#menu-other-towns ol, ul {
	list-style: none;
}

/* ── Paid Banner Spots (Diamond / Gold / Silver) ─────────────────────────── */
/* Sits inside the right sidebar, above the admin-managed geo banners.
   Two variants:
     .banner-spot-card--placeholder  = Book SPOT prompt for eligible viewers
                                       Neutral gray card with dashed border
     .banner-spot-card--booked       = the paid-for booking rendering
                                       Bare/light so the user's image drives
                                       the visual identity
   Plain block container (no flex) — a flex column here caused the placeholder
   to collapse in narrower sidebar contexts because align-items:stretch fought
   the max-width + padding-top:100% square trick. Stacking with margin is
   more predictable across sidebars of varying widths. */
.banner-spots {
	margin: 12px 0;
}
.banner-spots .banner-spot-card + .banner-spot-card {
	margin-top: 12px;
}
/* Square placeholder — 250×250 to match the booked banner footprint so the
   sidebar layout stays stable when a slot fills. aspect-ratio is safe now
   that .banner-spots is a plain block (no flex-column stretching). */
.banner-spot-card--placeholder {
	background: #f8f9fa;
	border: 2px dashed var(--c-border-strong);
	border-radius: 4px;
	color: #495057;
	text-align: center;
	max-width: 250px;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 12px;
}
.banner-spot-card--placeholder .banner-spot-card__inner {
	width: 100%;
}
.banner-spot-card__badge {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .6px;
	color: #6c757d;
	background: var(--c-white);
	padding: 3px 10px;
	border-radius: 20px;
	margin: 0 0 10px;
	border: 1px solid #dee2e6;
}
.banner-spot-card__badge .fa { font-size: 10px; }
.banner-spot-card--placeholder .banner-spot-card-title {
	margin: 0 0 6px;
	font-size: 0.95em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: #212529;
}
.banner-spot-card--placeholder .banner-spot-card-price {
	margin: 0 0 12px;
	font-size: 0.85em;
	color: #6c757d;
}
.banner-spot-card--placeholder .banner-spot-card-price strong { color: #212529; }
.banner-spot-card-cta-wrap { margin: 0; }
.banner-spot-card--placeholder .banner-spot-card-cta {
	display: inline-block;
	padding: 7px 20px;
	background: var(--c-brand);
	color: var(--c-white);
	font-weight: 700;
	font-size: 0.9em;
	text-decoration: none;
	border-radius: 3px;
	transition: background .15s;
}
.banner-spot-card--placeholder .banner-spot-card-cta:hover,
.banner-spot-card--placeholder .banner-spot-card-cta:focus {
	background: var(--c-brand-hover);
	color: var(--c-white);
}
.banner-spot-card--booked {
	background: transparent;
	color: inherit;
	padding: 0;
	text-align: left;
}
/* Match the admin-added geo banner title style so both blocks read as a
   consistent sidebar group (see .geo-sidebar-banner-title). */
.banner-spot-card--booked .banner-spot-card-title {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: #6c757d; /* Bootstrap 5 $secondary */
	text-transform: uppercase;
	letter-spacing: .3px;
}
/* .icon-whatsapp has a hard-coded var(--c-btn-wa-bg) green on the glyph — that clashes
   with the white CTA button. Force white on our CTA icons. */
.banner-spot-cta-btn .icon:before,
.banner-spot-cta-btn .icon { color: var(--c-white); }
.banner-spot-img-link {
	display: block;
	line-height: 0;
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
	position: relative;   /* anchors the availability overlay */
	aspect-ratio: 1 / 1;  /* reserve 250x250 box before image loads so overlay locks in place */
	background: var(--c-brand-tint);  /* subtle placeholder tint while image is loading */
}
.banner-spot-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 250px;
	object-fit: cover;
}

/* Full-cover info overlay — visible to logged-in agency/individual viewers
   only. Dims the booked image and layers spot name + price + next-available
   date over it so eligible viewers immediately know what the spot costs and
   when they can book it next.
   pointer-events: none on the overlay so the entire image area still fires
   the underlying <a>'s click (through to the booking's link_url). The
   WhatsApp / SMS buttons sit BELOW the image in .banner-spot-cta-row and
   remain independently clickable. */
.banner-spot-info-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Light overlay in the theme's soft-pink tint (var(--c-brand-tint) — same palette
	   as .pinkbutton hover). Opacity is lower so the banner image behind
	   is clearly visible; a subtle white text-shadow keeps the dark-purple
	   text sharp when the image below is darkly coloured. */
	background: rgba(255, 232, 244, .70);
	color: var(--c-accent);         /* theme dark purple */
	text-align: center;
	pointer-events: none;
	padding: 14px 12px;
	line-height: 1.4;
	max-width: 250px;
	text-shadow: 0 0 3px rgba(255, 255, 255, .85);
}
.banner-spot-info-overlay__inner {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 100%;
	background: var(--c-white);
	padding: 10px;
}
.banner-spot-info-overlay__name {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--c-brand);         /* theme pink */
	line-height: 1.2;
}
.banner-spot-info-overlay__price {
	font-size: 14px;
	color: var(--c-accent);
	font-weight: 600;         /* was regular — now bolder for legibility */
}
.banner-spot-info-overlay__price strong { color: var(--c-brand); font-weight: 800; }
.banner-spot-info-overlay__next {
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid rgba(224, 0, 108, .28);   /* fallback: --c-brand @ 28% */
	border-top: 1px solid color-mix(in srgb, var(--c-brand) 28%, transparent);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.banner-spot-info-overlay__next-label {
	text-transform: uppercase;
	letter-spacing: .4px;
	color: var(--c-accent);         /* theme dark purple — high contrast on pink tint */
	font-size: 12px;
	font-weight: 700;
}
.banner-spot-info-overlay__next-date {
	color: var(--c-brand);         /* theme pink for punch */
	font-weight: 700;
	font-size: 15px;
}
.banner-spot-cta-row {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}
.banner-spot-cta-btn {
	flex: 1 1 0;
	text-align: center;
	padding: 8px 6px;
	font-size: 13px;
	text-decoration: none;
	color: var(--c-white);
	background: var(--c-success-mid);
}
.banner-spot-cta-btn.banner-spot-cta-sms { background: #2563eb; }
.banner-spot-cta-btn:hover { opacity: .92; color: var(--c-white); }

/* My Banner Bookings — /account/banner-bookings/
   Cards live inside .account-card wrappers so they inherit the pink/white
   theme aesthetic. Below are only the layout-specific rules the theme
   doesn't already provide (grid + toggle badge + history table). */

.account-card .mbb-card + .mbb-card {
	margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--c-border-soft);
}
.mbb-card {
	display: grid;
	grid-template-columns: 260px 1fr 220px;
	gap: 20px;
	align-items: start;
}
.mbb-card__thumb img { display: block; width: 100%; max-width: 250px; height: auto; border-radius: 4px; }
.mbb-card__placeholder {
	background: var(--c-bg); border: 2px dashed var(--c-border); border-radius: 4px;
	padding: 24px 12px; text-align: center;
}
/* Only the DIRECT-child icon is the big illustration — the icon inside the
   button below is a normal inline glyph and must be left untouched. */
.mbb-card__placeholder > .fa,
.mbb-card__placeholder > i.fa {
	font-size: 34px; color: var(--c-border-mid); display: block; margin-bottom: 6px;
}
.mbb-card__placeholder p { margin: 6px 0 12px; }
.mbb-card__placeholder .pinkbutton .fa { margin-right: 4px; }
/* Full-width CTA inside the 260px thumb column — keeps the button neatly
   contained and centered without wrapping or spilling. Explicit white text
   overrides .account-card a { color:var(--c-brand) } which otherwise beats the
   pinkbutton's own white by specificity. */
.account-card .mbb-placeholder-cta,
.account-card .mbb-placeholder-cta:hover,
.account-card .mbb-placeholder-cta:focus {
	display: inline-block;
	padding: 8px 18px;
	white-space: nowrap;
	line-height: 1.2;
	text-align: center;
	color: var(--c-white);
}
.mbb-card__spot { margin: 0 0 6px; font-size: 1.1em; font-weight: 700; }
.mbb-card__scope { margin: 0 0 12px; }
.mbb-card__meta { margin: 4px 0; font-size: 14px; }
.mbb-card__meta--link a { word-break: break-all; }
.mbb-card__actions { margin-top: 12px; }
.mbb-card__side {
	border-left: 1px solid var(--c-border-soft); padding-left: 20px;
}
.mbb-card__date { margin: 4px 0; }
.mbb-card__date strong { display: block; color: var(--c-success-mid); }
.mbb-card__publish { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--c-border-soft); }
.mbb-card__pause-hint { margin: 6px 0 0; font-style: italic; }
.mbb-toggle-published {
	background: transparent; border: 0; padding: 0 0 0 6px; cursor: pointer; vertical-align: middle;
}
.mbb-toggle-badge {
	display: inline-block; padding: 3px 12px; border-radius: 20px;
	font-size: 12px; font-weight: 700; color: var(--c-white);
}
.mbb-toggle-badge--on  { background: var(--c-success-mid); }
.mbb-toggle-badge--off { background: var(--c-text-subtle); }

/* History table */
.account-card .mbb-history {
	width: 100%; border-collapse: collapse;
}
.account-card .mbb-history th,
.account-card .mbb-history td {
	text-align: left; padding: 8px 10px;
	border-bottom: 1px solid var(--c-border-soft); font-size: 14px;
}
.account-card .mbb-history th {
	color: var(--c-accent-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .3px;
}
.mbb-status-badge {
	display: inline-block; padding: 2px 10px; border-radius: 20px;
	font-size: 11px; font-weight: 700; text-transform: uppercase;
}
.mbb-status-badge--expired   { background: var(--c-border); color: #374151; }
.mbb-status-badge--failed    { background: var(--c-danger-bg); color: var(--c-danger-text); }
.mbb-status-badge--suspended { background: #fecaca; color: var(--c-danger-deep); }

/* Owner-side card for admin-suspended bookings. Slightly muted so it reads
   as "still yours but frozen", with the suspend reason surfaced prominently. */
.mbb-card--suspended {
	background: var(--c-danger-bg-palest);
	border: 1px solid #fecaca;
	border-radius: 4px;
	padding: 14px;
	margin: 12px 0;
}
.mbb-card--suspended .mbb-card__thumb img { opacity: .55; filter: grayscale(1); }
.mbb-suspended-callout {
	background: var(--c-white);
	border-left: 3px solid var(--c-danger);
	padding: 10px 12px;
	margin: 12px 0 0;
	border-radius: 3px;
}
.mbb-suspended-callout strong { color: var(--c-danger-text); display: block; margin-bottom: 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .3px; }
.mbb-suspended-reason { display: block; color: #374151; font-style: italic; }

/* Step 2 / Edit form — uses theme .form-styling; only the current-image
   preview needs a light-tone treatment consistent with .form-input. */
.mbb-current-image {
	margin: 0 0 10px; padding: 8px;
	background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 3px;
	display: inline-block;
}
.mbb-current-image img { display: block; max-width: 200px; height: auto; margin-bottom: 4px; }
.mbb-cta-checks label {
	display: inline-block; margin-right: 20px; font-weight: 400;
}

/* Custom file picker — the native <input type="file"> can't be styled, so we
   hide it visually (but keep it accessible + clickable via <label>) and show
   a themed button + filename text next to it. */
.mbb-file-picker {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.mbb-file-input {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
/* When keyboard focus lands on the hidden input, reflect it on the label. */
.mbb-file-input:focus + .mbb-file-btn {
	outline: 2px solid var(--c-brand); outline-offset: 2px;
}
.mbb-file-btn {
	cursor: pointer; margin: 0; display: inline-flex; align-items: center; gap: 6px;
}
.mbb-file-name {
	font-size: 13px;
}

@media (max-width: 900px) {
	.mbb-card { grid-template-columns: 1fr; }
	.mbb-card__side {
		border-left: 0; padding-left: 0;
		border-top: 1px solid var(--c-border-soft); padding-top: 14px;
	}
}

/* Book-spot page — uses the theme's account-form pattern (.bodybox.registerform
   + .form-styling + .form-label / .form-input + .pinkbutton). Only the M-Pesa
   waiting spinner needs a rule of its own; everything else inherits. */
.banner-book-spinner {
	display: inline-block; animation: bb-spin 1.2s linear infinite;
	margin-right: 6px; font-size: 18px; font-weight: 700;
}
@keyframes bb-spin { to { transform: rotate(360deg); } }

/* Right-sidebar geo banners — vertically stacked, each with optional title
   above the image. Random order shuffled server-side per request. Sits just
   above the Right Ads widget block. */
.geo-sidebar-banners {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 12px 0;
}
.geo-sidebar-banner {
	display: block;
}
.geo-sidebar-banner-title {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: #6c757d; /* Bootstrap 5 $secondary */
	text-transform: uppercase;
	letter-spacing: .3px;
}
.geo-sidebar-banner-link {
	display: block;
	line-height: 0;
}
.geo-sidebar-banner-img {
	display: block;
	width: 100%;
	height: auto;
}

/* ── Admin "Switch to profile owner" inline pill on public profile view ── */
.profile-switch-to {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: 10px;
	padding: 3px 10px;
	background: var(--c-brand);
	color: var(--c-white) !important;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	border-radius: 20px;
	text-decoration: none !important;
	vertical-align: middle;
	white-space: nowrap;
}
.profile-switch-to:hover { background: var(--c-brand-hover); color: var(--c-white) !important; }
.profile-switch-to .fa   { font-size: 11px; }

/* ── Owner summary cards (active plan + wallet) on profile view page ─────── */
.profile-owner-summary-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
	margin-bottom: 10px;
}
.profile-owner-summary {
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	display: flex;
}
.profile-owner-summary .pos-card {
	position: relative;
	background: var(--c-brand-tint);
	border: 1px dashed var(--c-brand);
	padding: 16px 18px;
	width: 100%;
	display: flex;
	flex-direction: column;
}
.pos-card__label {
	font-size: 18px;
	font-weight: 700;
	color: var(--c-brand);
	margin-bottom: 8px;
	line-height: 1.2;
}
.pos-card__value {
	color: var(--c-brand);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: .5px;
}
.pos-card__value--plan {
	font-size: 42px;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.pos-card__value--plan.pos-card__value--empty {
	font-size: 24px;
}
.pos-card__value--wallet {
	font-size: 28px;
	margin: 8px 0 6px;
}
.pos-card__meta {
	color: var(--c-brand);
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 1.3;
}
.pos-card__cta {
	align-self: flex-end;
	margin-top: auto;
	padding: 5px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--c-white) !important;
	text-decoration: none;
	line-height: 1.3;
}
.profile-owner-summary--plan   .pos-card__cta { background: #d9384f; }
.profile-owner-summary--wallet .pos-card__cta {
	background: var(--c-white);
	color: #d9384f !important;
	border: 2px solid #d9384f;
	padding: 3px 12px;
}
.pos-card__cta:hover { opacity: .9; }
.pos-card .clear { display: none; }

@media (max-width: 700px) {
	.profile-owner-summary-row { flex-direction: column; }
	.pos-card__value--plan  { font-size: 32px; }
	.pos-card__value--plan.pos-card__value--empty { font-size: 20px; }
	.pos-card__value--wallet { font-size: 24px; }
}