@charset "UTF-8";

/* ========================================================================
   PSYCHICS FOR HIRE - RESPONSIVE STYLESHEET
   Reorganized: December 25, 2024

   BREAKPOINT STRUCTURE:
   - Base (1200px+): Large desktop - standard non-query styles
   - 1199px and below: Standard desktop
   - 1023px and below: Tablet landscape
   - 767px and below: Tablet portrait
   - 599px and below: Mobile
   - 479px and below: Small mobile
   - 359px and below: Very small mobile
   ======================================================================== */


/* ========================================================================
   IMAGE PRELOADING - Hover state backgrounds
   ======================================================================== */
body::after {
	content: url("../images/phonereadings-over.png") url("../images/tarotbutton-over.png");
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	z-index: -1;
}

/* ========================================================================
   BASE STYLES (1200px and above)
   ======================================================================== */

/* Body */
html {
	background-color: #3a2e5d;
	background-image: url("/images/background-2025.webp");
	background-repeat: repeat;
	background-position: top left;
	min-height: 100%;
}

body {
	background-color: #3a2e5d;
	background-image: url("/images/background-2025.webp");
	background-repeat: repeat;
	background-position: top left;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	font-weight: 400;
}

/* Global text */
p {
	margin-top: 0;
	padding-top: 0px;
	margin-bottom: 13px;
	line-height: 1.3rem;
	text-align: justify;
}

.pfirstpara {
	padding-top:10px;
	margin-top:0px;
}

a {
	color: #3e16b5;
	text-decoration: none;
}

a:hover {
	color: #b78c00;
	text-decoration: underline;
}

hr {
	border-top: 1px solid #3e16b5;
	box-shadow: 0px 0px 4px rgba(255, 255, 255, 1);
}

/* Headings */
h1 {
	color: #b78c00;
	font-family: 'GoudySansPro-Bold';
	font-size: 2.37rem;
	line-height: 110%;
	margin: 0px;
	margin-bottom: 0;
	padding: 0px;
	font-weight: 400;
	text-align: left;
}

h2 {
	position: relative;
	color: #8c71de;
	font-family: 'GoudySansPro-Bold';
	font-size: 1.7rem;
	line-height: 110%;
	letter-spacing: 0;
	width: 100%;
	font-weight: 400;
	margin-bottom: 0px;
	margin-top: 3px;
	padding: 0px;
	text-align: left;
}

.h2asterisk {
 	position: absolute;
	vertical-align: text-top;
	line-height: 110%;
	font-size: 70%;
	color: #999;
	cursor: help;
}

.h2asterisk::after {
	content: "* available only to first-time callers";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 100%;
	margin-top: 5px;
	background-color: #5b39bf;
	border: 1px solid #000000;
	box-shadow: inset 5px 5px 7px rgba(0, 0, 0, 0.3), 3px 3px 5px rgba(0, 0, 0, 0.3);
	color: #ffffff;
	font-family: 'Rubik', sans-serif;
	font-size: 12px;
	font-weight: 400;
	padding: 8px 12px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
	z-index: 100;
}

.h2asterisk:hover::after {
	opacity: 1;
	visibility: visible;
}

h3 {
	position: relative;
	color: #3e16b5;
	font-family: 'GoudySansPro-Bold';
	font-weight: bold;
	font-style: normal;
	font-size: 1.4rem;
	margin-top: 15px;
	margin-bottom: 0px;
	padding: 0px;
	z-index: 410;
	text-align: left;
}

.h3tan {
	color: #b78c00;
}

h4 {
	position: relative;
	font-family: 'GoudySansPro-Bold';
	color: #3e16b5;
	font-size: 1.25rem;
	font-weight: 400;
	margin: 0px;
	padding: 0px;
	letter-spacing: 0;
	z-index: 410;
	text-align: left;
}

.h4tan {
	color: #b78c00;
}

h5 {
	color: #3e16b5;
	font-family: 'GoudySansPro-Bold';
	font-size: 1.1rem;
	line-height: 1.375rem;
	font-weight: 400;
	margin: 0px;
	padding: 0px;
	letter-spacing: 0;
	text-align: left;
	text-shadow: 0px 0px 10px #ffffff;
}

h6 {
	position: relative;
	font-family: 'GoudySansPro-Bold';
	color: #3e16b5;
	font-size: 1rem;
	line-height: 1.1rem;
	font-weight: 400;
	margin: 0px;
	padding: 0px;
	letter-spacing: 0;
	z-index: 410;
	text-align:left;
	text-shadow: 0px 0px 10px #ffffff;
}

.h6tan {
	color: #b78c00;
}

/* Container */
.container {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	background-color: #efeaff;
	border-left-color: #3e16b5;
	border-left-style: solid;
	border-left-width: 1px;
	border-right-color: #3e16b5;
	border-right-style: solid;
	border-right-width: 1px;
	border-bottom-color: #3e16b5;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	overflow: visible;
}

/* Hero Section */
.hero {
	background-position: center center;
	height: 461px;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	width: 100%;
	max-width: 1200px;
	z-index: 80;
}

/* Individual hero images */
.hero1 {
	background-image: url('../images/hero1.webp');
}

.hero2 {
	background-image: url('../images/hero2.webp');
}

.hero3 {
	background-image: url('../images/hero3.webp');
}

.hero4 {
	background-image: url('../images/hero4.webp');
}

.hero5 {
	background-image: url('../images/hero5.webp');
}

.hero6 {
	background-image: url('../images/hero6.webp');
}

.hero7 {
	background-image: url('../images/hero7.webp');
}

.hero8 {
	background-image: url('../images/hero8.webp');
}

.hero9 {
	background-image: url('../images/hero9.webp');
}

.hero10 {
	background-image: url('../images/hero10.webp');
}

.hero11 {
	background-image: url('../images/hero11.webp');
}

.hero12 {
	background-image: url('../images/hero12.webp');
}

.goldstrip {
	position: relative;
	background-image: url("../images/strip.png");
	top: 0;
	width: 100%;
	max-width: 1200px;
	height: 36px;
	z-index: 120;
}

.logobox {
	position: absolute;
	width: 50%;
	left: 323px;
    top: -10px;
	z-index: 150;
}

.logo {
	width: 100%;
	vertical-align: middle;
}

/* Content Area */
.content {
	position: relative;
	overflow: visible;
	min-height: 500px;
}
.content::after {
	content: "";
	display: table;
	clear: both;
}

/* Left Column Area */
.features {
	position: relative;
	float: left;
	top: 0px;
	width: 21%;
	height: 50px;
	z-index: 320;
	overflow: visible;
}

.getanswersnow {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
    margin-top: 3px;
	overflow: visible;
}

.getanswersnowhdr {
	width: 100%;
	height: auto;
	margin: 0px;
	padding: 0px;
}

.getanswersnowcopy {
	position: relative;
	padding-top: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
	padding-bottom: 5px;
	color: #143466;
	font-family: 'Rubik', sans-serif;
	font-weight: 400;
	font-size: .9em;
	line-height: 1.2em;
	text-align: justify;
	text-shadow: 0px 0px 7px #ffffff;
}

.phonereadingsbox {
	position: relative;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}

.phonereadings {
	position: relative;
	width: 100%;
	display: block;
	background-image: url("../images/phonereadings.png");
	background-size: 100%;
	background-repeat: no-repeat;
	overflow: visible;
}

.phonereadings:hover {
	background-image: url("../images/phonereadings-over.png");
}

.phonereadings img {
	width: 100%;
	height: auto;
	display: block;
}

.phonereadingsspacer {
	position: relative;
	width: 100%;
}

.zodiacbox {
	position: relative;
	width: 61%;
	margin-left: auto;
	margin-right: auto;
	/* TURN ZODIAC OFF TILL IT WORKS */
	display: none;
}

.zodiac {
	position: relative;
	width: 100%;
	display: block;
	background-image: url("../images/zodiacbutton.png");
	background-size: 100%;
	background-repeat: no-repeat;
	overflow: visible;
}

.zodiac:hover {
	background-image: url("../images/zodiacbutton-over.png");
}

.zodiac img {
	width: 100%;
	height: auto;
	display: block;
}

.zodiacspacer {
	position: relative;
	width: 100%;
}

.tarotbox {
	position: relative;
	width: 78%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}

.tarot {
	position: relative;
	width: 100%;
	display: block;
	background-image: url("../images/tarotbutton.png");
	background-size: 100%;
	background-repeat: no-repeat;
	overflow: visible;
}

.tarot:hover {
	background-image: url("../images/tarotbutton-over.png");
}

.tarot img {
	width: 100%;
	height: auto;
	display: block;
}

.tarotspacer {
	position: relative;
	width: 100%;
}

.shufflebox {
	background-image:url("/images/shuffle.gif");
	background-repeat: no-repeat;
	width: 40%;
	background-size: 100%;
	display: block;
	margin-left: 33%;
	margin-right: 28%;
	overflow: auto;
} 

.shufflebox:hover {
	background-image:url("/images/shuffle-over.gif");
	overflow:auto;
}

.shuffledeck {
	width: 100%;
	height: auto;
}

/* Sidebar context widths for promo boxes */
.phonereadingsbox.sidebar { width: 82%; }
.tarotbox.sidebar { width: 92%; }

/* Review divider */
.review-divider {
	margin: 20px 0;
	border: 0;
	border-top: 1px solid #ccc;
}

/* Pagination */
.pagination {
	text-align: center;
	margin: 30px 0;
}
.pagination a,
.pagination b {
	margin: 0 5px;
}
.pagination-select {
	margin-right: 15px;
	padding: 8px 40px 8px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1rem;
	font-family: 'Rubik', sans-serif;
	background-color: #fff;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233e16b5' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px 16px;
}
.pagination-select:focus {
	outline: none;
	border-color: #3e16b5;
	box-shadow: 0 0 5px rgba(61, 19, 189, 0.3);
}

/* Review count summary */
.review-count {
	text-align: center;
	color: #666;
	margin-top: 20px;
}

/* Listings Area */
.mainboxouter {
    position: relative;
	float: left;
	width: 58%;
	z-index: 300;
	overflow: visible;
    top: -55px;
}
.mainboxouter-full {
	width: 100%;
	max-width: 1200px;
	float: none;
	margin: 20px auto;
	top: 0;
}

.mainbox {
	position: relative;
	width: auto;
	top: 0px;
	z-index: 300;
	padding: 0px;
	color: #252c36;
	background-color: #ffffff;
	border: #9673ff ridge 6px;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
	border-image-source: url("/images/border.png");
	border-image-slice: 20;
	border-image-width: 4;
	border-image-outset: 0;
}

.mainboxinner {
	padding: 18px;
	box-shadow: inset 5px 5px 7px rgba(0, 0, 0, 0.3), 3px 3px 5px rgba(0, 0, 0, 0.3);
	min-height: 480px;
}

/* Psychic Block Area */
.psychicheaderblock {
	position: relative;
	clear: both;
	margin-bottom: 0px;
	padding-top: 0px;
}

.psychicheaderblock p {
	margin-bottom: 12px;
}

.psychicblock {
	position: relative;
	clear: both;
	margin-top: 15px;
	text-align: left;
}

.psychicblock::after {
	content: "";
	display: table;
	clear: both;
}

.photobox {
	position: relative;
	width: 180px;
	float: left;
	margin-top: 4px;
	margin-right: 0px;
}

.photo {
	width: 180px;
	height: 180px;
	object-fit: cover;
}

.psychictext {
	position: relative;
	width: calc(100% - 195px);
	float: left;
	padding-left: 15px;
	padding-bottom: 0px;
}

.psychic-headline {
	font-family: 'Rubik', sans-serif;
	font-size: 0.95rem;
	font-weight: 400;
	color: #444;
	margin: 3px 0 5px 0;
	padding: 0;
	line-height: 1.3;
}

.priceline {
	position: relative;
	text-align: left;
	font-family: 'GoudySansPro-Bold';
	font-weight: 400;
	font-size: 1.1em;
	color: #3e16b5;
	margin-top: 5px;
	margin-bottom: 0px;
	padding: 0px;
    padding-left: 10px;
}

.pricelinetan {
	color: #b78c00;
}

.pricenextline {
	display: block;
	position: relative;
	font-family: 'GoudySansPro-Bold' !important;
	font-size: 0.8125rem;
	line-height: 0.8125rem;
	margin-top: 0px;
	margin-bottom: 3px;
	text-align: left;
}

.pricenodash {
	display: none;
}

.pricelinegray {
	font-size: 0.83rem;
	color: #949494;
	font-family: 'Rubik', sans-serif;
	font-weight: 400;
}

.pricelineasterisk {
	position: relative;
	font-size: .7rem;
	color: #999;
	top: 0;
	cursor: help;
}

.pricelineasterisk::after {
	content: "* available only to first-time callers";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 100%;
	margin-bottom: 5px;
	background-color: #5b39bf;
	border: 1px solid #000000;
	box-shadow: inset 5px 5px 7px rgba(0, 0, 0, 0.3), 3px 3px 5px rgba(0, 0, 0, 0.3);
	color: #ffffff;
	font-family: 'Rubik', sans-serif;
	font-size: 12px;
	font-weight: 400;
	padding: 8px 12px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
	z-index: 100;
}

.pricelineasterisk:hover::after {
	opacity: 1;
	visibility: visible;
}

.mobilecallbutton {
	margin-top:0px;
	margin-bottom: 0px;
	display: none;
}

.mobilecallbutton .allcallbuttons {
	float: left !important;
}

.mobilecallbutton h3 {
	font-size: 1.5rem;
	line-height: 1.6rem;
	margin-top:0px;
	margin-bottom: 0px;
}

.pricelinemobile {
	float: left;
	top: 4px;
	left: 2px;
	height: 47px;
	margin-top: 0px;
}

.mobilereviewline {
	clear: both !important;
	position: relative;
	top: 0;
	text-align: left;
}

.mobileul {
	display: none;
}

.psychicbox {
	display: block;
	clear: both;
	padding-top:10px;
}
.advisor-headline {
	margin-top: 0;
	margin-bottom: 3px;
	line-height: 1.8rem;
}

/* Call Buttons */
.allcallbuttons {
	position: relative;
	display: inline-block;
	width: 162px;
	height: 38px;
	border-radius: 19px;
	border: none;
	font-family: 'GoudySansPro-Bold';
	font-weight: 400;
	text-align: center;
	line-height: 38px;
	text-decoration: none;
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.allcallbuttons:hover {
	text-decoration: none;
}

.callnowbutton {
	background-color: #8866ed;
	color: #ffffff;
	font-size: 29px;
	box-shadow: inset 0 8px 20px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
}

.chatnowbutton {
	background-color: #8866ed;
	color: #ffffff;
	font-size: 20px;
	box-shadow: inset 0 8px 20px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
	width: 130px;
	height: 29px;
	line-height: 29px;
	border-radius: 14px;
}

.callnowbutton:hover,
.chatnowbutton:hover {
	color: #ffe05c;
	text-decoration: none;
}

.awaybutton {
	background-color: #d5dbe5;
	color: #ffffff;
	font-size: 25px;
	box-shadow: inset 0 8px 20px rgba(50, 49, 51, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
}

.chatawaybutton {
	background-color: #d5dbe5;
	color: #ffffff;
	font-size: 20px;
	box-shadow: inset 0 8px 20px rgba(50, 49, 51, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
	width: 130px;
	height: 29px;
	line-height: 29px;
	border-radius: 14px;
}

.awaybutton:hover,
.chatawaybutton:hover {
	background-color: #d5dbe5;
	color: #ffe05c;
	box-shadow: inset 0 8px 20px rgba(50, 49, 51, 1);
	text-decoration: none;
}

.busybutton {
	background-color: #8866ed;
	color: #ffffff;
	font-size: 25px;
	box-shadow: inset 0 8px 20px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
}

.busybutton:hover {
	color: #ffe05c;
	text-decoration: none;
}

.callnowbutton:focus,
.chatnowbutton:focus,
.busybutton:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

.button-price-wrapper {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-right: 10px;
	margin-bottom: 8px;
}

.button-price-wrapper .priceinline {
	padding-top: 6px;
}

.button-busy-wrapper {
	display: inline-block;
}

.listing-button {
	width: 138px;
	height: 32px;
	line-height: 32px;
	font-size: 25px;
	border-radius: 16px;
}

.listing-button.chatnowbutton,
.listing-button.chatawaybutton {
	width: 104px;
	height: 24px;
	line-height: 24px;
	font-size: 15px;
	border-radius: 12px;
}

.listing-button.awaybutton,
.listing-button.busybutton {
	font-size: 20px;
}

.chat-price-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 8px;
}

.chat-price-wrapper .priceinline,
.chat-price-wrapper .priceline {
	font-size: .95rem;
}

.busytext {
	display: block;
	text-align: right;
	font-family: 'GoudySansPro-Bold';
	font-size: 15px;
	color: #7c41ef;
	margin-top: 1px;
	line-height: 1;
	padding-right: 15px;
}

.fineprint {
	font-size: 0.83rem;
	color: #949494;
}

.priceinline {
	display: inline-block;
	font-family: 'GoudySansPro-Bold';
	font-size: 1.1rem;
	color: #333;
	margin-left: 4px;
	margin-right: 7px;
}

.freeminutesline {
	font-family: 'GoudySansPro-Bold';
	font-size: 1.1em;
	color: #b78c00;
	margin-top: -3px;
	margin-bottom: 0;
	line-height: 1.1em;
}

.freeminutesline .fineprint {
	display: block;
	font-family: 'Rubik', sans-serif;
	font-weight: 400;
	line-height: 0.83rem;
}

.mobileshowpipe {
	display: block;
	margin-top: 15px;
}

/* Sidebar Feedback Area */
.feedback {
	position: relative;
	float: left;
	top: 0px;
	width: 21%;
	height: 50px;
	z-index: 320;
}

.feedbackcopy {
	width: 87%;
	text-align: justify;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.feedbackcopy p {
	position: relative;
	font-family: 'Rubik', sans-serif;
	color: #3f2f70;
	font-weight: 400;
	font-size: .9em;
	line-height: 1.2em;
	margin-bottom: 9px;
	text-shadow: 0px 0px 7px #ffffff;
}

.feedbackcopy h6 {
	font-size: 1.1rem;
}

.feedbackcopy a {
	color: #3e16b5;
}

.feedbackcopy a:hover {
	color: #7749ff;
	text-decoration: none;
}

.feedbacklearnmore {
	position: relative;
	font-family: 'GoudySansPro-Bold' !important;
	color: #1c3363 !important;
	font-size: 0.8125rem;
	margin-top: 1px;
	margin-bottom: 9px;
	text-align: left;
}

.fullfeedbackh6 {
	color: #1c3363;
	padding-bottom: 2px;
	padding-top: 1px; 
}

.feedbackh3 {
	font-size: 1.25rem;
}

.reviewleavelink {
	margin-top: 5px;
	margin-bottom: 0px;
}

.radiobutton {
	display: inline-block;
	background-color: #ffc;
	margin-bottom: 10px;
}

.radiobuttontext {
	display: inline-block;
	font-size: .95rem;
	padding-right: 5px;
	padding-left: 2px;
}

.contactclick4advisor, 
.contactaspecificpsychic, 
.contactpsychicsforhire {
	display:none;
	width:1;
}

#radio1:checked ~ .contactclick4advisor {
	display: block;
}

#radio2:checked ~ .contactaspecificpsychic {
	display: block;
}

#radio3:checked ~ .contactpsychicsforhire {
	display: block;
}

/* Psychic Page Section */
.advisorphoto {
	clear: both;
	float: left;
	width: 50%;
	height: auto;
	padding-right: 10px;
	padding-top: 4px;
	padding-bottom: 3px;
	cursor: pointer;
}

.featurescallbutton {
	width: 90%;
	max-width: 162px;
	margin-top: 4px;
	margin-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;
	padding: 5px;
	border-radius: 23px;
	border: solid 1px #3e16b5;
	box-shadow: 0px 0px 8px 2px rgba(255, 255, 255, 1);
	box-sizing: border-box;
}

.featurescallbutton .allcallbuttons {
	width: 100%;
	margin-top: 0;
	left: 0;
}

.featurescallbutton.featureschatbutton {
	width: auto;
	max-width: 150px;
}

.featurescallbutton.featureschatbutton .allcallbuttons {
	width: 100%;
	height: 32px;
	line-height: 32px;
	font-size: 20px;
	border-radius: 16px;
}

.featurescallbutton.featureschatbutton .priceline {
	font-size: 0.9em;
}

.featurescallbutton.featureschatbutton .pricelinetan {
	font-size: 0.75rem;
}

.featurescallbuttonlink {
	margin-left: 0;
}

/* See More Psychics link */
.seemorepsychics {
	margin-top: 15px;
	text-align: center;
}

.seemorepsychics a {
	color: #3e16b5;
	text-decoration: none;
}

.seemorepsychics a:hover {
	color: #7749ff;
}

/* Tarot Page */
.tarotcard {
	width: 50%;
	float: left;
	padding-right:5px;
}

.clear {
	clear: both;
}

.tarotheader {
	width: 100%;
	padding-top: 20px;
}

.tarotbuffer {
	padding-top: 20px;
}

/* Join Team */
.jointeamh3 {
	font-size: 1.4rem;
}

.jointeamh4 {
	font-size: 1.2rem;
}

.urgentcallout {
	font-family: 'Rubik', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	margin-top: 0px !important;
	background-color: #fff5b2;
	padding: 9px;
	margin-bottom: 20px !important;
	border: solid 1px #3e16b5;
	border-radius: 10px;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
}

.urgentcallout p {
	color: #292536;
	margin: 0;
}

.biopic {
	padding-right: 8px;
	padding-top: 6px;
	width: 30%;
}

/* Join Team - Step Boxes */
.step-box {
	background: linear-gradient(135deg, #f8f5ff 0%, #ece6fa 100%);
	border: 2px solid #8c71de;
	border-radius: 12px;
	padding: 20px 25px;
	margin: 20px 0;
	box-shadow: 0 4px 12px rgba(62, 22, 181, 0.1);
}

.step-box h4 {
	margin-top: 0;
	color: #3e16b5;
}

.step-box ul {
	margin-bottom: 15px;
}

/* Checkmark list for benefits */
.checkmark-list {
	list-style: none;
	padding-left: 0;
}

.checkmark-list li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
}

.checkmark-list li::before {
	content: "\f00c";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	left: 0;
	color: #3e16b5;
}

/* Icon list for benefits with FA icons */
.icon-list {
	list-style: none;
	padding-left: 0;
	margin-bottom: 25px;
}

.icon-list li {
	margin-bottom: 15px;
	padding-left: 35px;
	position: relative;
}

.icon-list li i {
	position: absolute;
	left: 0;
	top: 2px;
	color: #3e16b5;
	width: 24px;
	text-align: center;
}

/* Warning box for important notices */
.warning-box {
	background-color: #fff0c2;
	border: 2px solid #b53e16;
	border-radius: 8px;
	padding: 20px 25px;
	margin: 25px 0;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
}

.warning-box h3 {
	color: #b53e16;
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 1.2rem;
}

.warning-box h3 i {
	color: #b53e16;
	margin-right: 4px;
}

.warning-box p {
	margin-bottom: 12px;
	color: #252c36;
}

.warning-box p:last-child {
	margin-bottom: 0;
}

.warning-box-image {
	background-color: #fff;
	border: 1px solid #252c36;
	border-radius: 8px;
	padding: 10px;
	margin: 15px 0;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
	color: #252c36;
}

.warning-box-image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

/* Exclamation circle icon color - site-wide */
.fa-exclamation-circle {
	color: #b53e16;
}

/* Money split list */
.money-split {
	list-style: none;
	padding-left: 0;
	margin-bottom: 25px;
}

.money-split li {
	margin-bottom: 8px;
	padding-left: 0;
}

/* Footer Section */
.footer {
	clear: both;
	width: 100%;
	margin-top: 8px;
	font-family: 'Rubik', sans-serif;
	font-size: .85rem;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.footer-links {
	text-align: center;
}

.footer-links a {
	color: #3e16b5;
	text-decoration: none;
}

.footer-links a:hover {
	text-decoration: underline;
}

.footer-copyright {
	color: #666666;
}

/* Burger Nav - hidden by default on desktop */
.topnav {
	font-family: 'GoudySansPro-Bold';
	display: none;
}

.topnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.topnav li {
	float: left;
}

.topnav li a {
	display: block;
	color: #ffffff;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 24px !important;
}

.topnav li a:hover {
	color: #ffdf00;
}

.topnav li a.active {
	background-color: #a1bbe6;
	color: white;
}

.topnav .icon {
	display: none;
}

/* ========================================================================
   FORM STYLES (Registration, Login, Profile Forms)
   ======================================================================== */

.form-group {
	margin-bottom: 20px;
}

.form-group label {
	display: block;
	font-family: 'GoudySansPro-Bold';
	color: #3e16b5;
	font-size: 1.1rem;
	margin-bottom: 5px;
}

.required-asterisk {
	color: #dc3545;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="password"],
.form-group input[type="file"],
.form-group textarea,
.form-group select {
	width: 100%;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	box-sizing: border-box;
}

.form-group select {
	background-color: #fff;
	cursor: pointer;
	appearance: none;
	/* Bolder chevron icon - larger size, darker color */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233e16b5' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px 16px;
	padding-right: 40px;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
	outline: none;
	border-color: #3e16b5;
	box-shadow: 0 0 5px rgba(61, 19, 189, 0.3);
}

.form-group textarea {
	min-height: 150px;
	resize: vertical;
}

.form-group p {
	margin-bottom: 10px;
}

.form-group .help-text {
	font-size: 0.85rem;
	color: #666;
	margin-top: 5px;
}

.c4a-name-info {
	background-color: #efeaff;
	border: 1px solid #d4c9f7;
	color: #3e16b5;
	padding: 10px 15px;
	border-radius: 6px;
	margin-bottom: 10px;
}

.c4a-name-info i {
	margin-right: 6px;
}

.c4a-name-warning {
	background-color: #fff0c2;
	border: 1px solid #b53e16;
	color: #b53e16;
	padding: 10px 15px;
	border-radius: 6px;
	margin-bottom: 10px;
}

.c4a-name-warning i {
	margin-right: 6px;
}

.form-group .email-display {
	margin: 0;
	padding: 5px 0;
}

.example-photos {
	display: flex;
	gap: 2%;
	margin: 10px 0;
}

.example-photos img {
	width: 32%;
	max-width: 32%;
	height: auto;
	border-radius: 6px;
}

/* Admin Settings Form */
.settings-form {
	background: #fff;
	border-radius: 10px;
	padding: 25px;
	padding-left: 0;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.settings-form h2 {
	font-size: 2em;
	margin: 0 0 10px 0;
	color: #3e16b5;
}
.settings-form h3 {
	margin-top: 30px;
}
.settings-form hr {
	margin: 40px 0;
	border: none;
	border-top: 2px solid #eee;
}
.settings-form p.description {
	color: #666;
	margin-bottom: 20px;
}
.settings-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
}
.settings-form textarea {
	width: 100%;
	min-height: 400px;
	padding: 15px;
	border: 2px solid #ddd;
	border-radius: 8px;
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1em;
	line-height: 1.5;
	resize: vertical;
	box-sizing: border-box;
}
.settings-form textarea#blocked_name_words,
.settings-form textarea#lowercase_name_words,
.settings-form textarea#embedded_name_prefixes,
.settings-form textarea[id$="_reminder_preamble"] {
	min-height: 50px;
}
.settings-form .reminder-preamble-label {
	margin-top: 15px;
}
.settings-form textarea:focus {
	border-color: #3e16b5;
	outline: none;
}
.settings-form .help-text {
	font-size: 0.85rem;
	color: #666;
	margin-top: 10px;
}
.settings-form .email-button-info {
	font-size: 0.85rem;
	color: #666;
	margin: 10px 0 0 0;
}
.settings-form .email-button-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0;
	padding: 10px;
	background: #f8f9fa;
	border-radius: 6px;
}
.settings-form .email-button-row label {
	font-weight: bold;
	margin: 0;
	white-space: nowrap;
}
.settings-form .email-button-row input {
	flex: 0 0 250px;
	padding: 6px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.settings-form p.button-url {
	font-size: 0.85rem;
	color: #666;
	margin: 0 0 10px 0;
}
.settings-form .variables {
	background: #f8f9fa;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}
.settings-form .variables h4 {
	margin: 0 0 10px 0;
	font-size: 0.9rem;
}
.settings-form .variables code {
	background: #e9ecef;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.85rem;
}

/* Email Quill Editor Overrides - !important to override Quill defaults */
.email-quill-editor .ql-editor {
	font-family: Tahoma, Arial, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #252c36 !important;
}
.email-quill-editor .ql-editor p {
	font-family: Tahoma, Arial, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #252c36 !important;
	margin: 0 0 15px 0 !important;
	text-align: justify !important;
}
.email-quill-editor .ql-editor h1 {
	font-family: Tahoma, Arial, sans-serif !important;
	font-size: 22px !important;
	line-height: 110% !important;
	color: #3e16b5 !important;
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
	font-weight: bold !important;
	text-align: left !important;
}
.email-quill-editor .ql-editor h2 {
	font-family: Tahoma, Arial, sans-serif !important;
	font-size: 22px !important;
	line-height: 110% !important;
	color: #3e16b5 !important;
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
	font-weight: bold !important;
	text-align: left !important;
}
.email-quill-editor .ql-editor h3 {
	font-family: Tahoma, Arial, sans-serif !important;
	font-size: 18px !important;
	color: #8c71de !important;
	margin: 0 0 0 0 !important;
}
.email-quill-editor .ql-editor h4 {
	font-family: Tahoma, Arial, sans-serif !important;
	font-weight: bold !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #3e16b5 !important;
	margin: 0 0 0 0 !important;
	text-align: justify !important;
}
.email-quill-editor .ql-editor ol {
	margin-bottom: 15px;
}
.email-quill-editor .ql-tooltip {
	z-index: 9999 !important;
}

/* Email wrapper editor with preview */
.email-wrapper-container {
	display: flex;
	gap: 15px;
	margin-bottom: 15px;
	height: 600px;
}
.email-wrapper-editor {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.email-wrapper-editor label {
	margin-bottom: 5px;
}
#email_wrapper_codemirror {
	flex: 1;
	border: 2px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
}
#email_wrapper_codemirror .CodeMirror {
	height: 100%;
	font-size: 13px;
	line-height: 1.5;
}
.email-wrapper-preview {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.email-wrapper-preview label {
	margin-bottom: 5px;
}
.email-wrapper-preview iframe {
	flex: 1;
	width: 100%;
	border: 2px solid #ddd;
	border-radius: 8px;
	background: #f5f5f5;
	box-sizing: border-box;
}
@media (max-width: 1200px) {
	.email-wrapper-container {
		flex-direction: column;
		height: auto;
	}
	#email_wrapper_codemirror,
	.email-wrapper-preview iframe {
		height: 400px;
	}
	#email_wrapper_codemirror .CodeMirror {
		height: 400px;
	}
}

/* Quill editor styles */
#bio-editor {
	background: #fff;
	min-height: 200px;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
}

#bio-editor .ql-editor {
	min-height: 200px;
	font-family: 'Rubik', sans-serif;
}

#bio-editor .ql-editor strong,
#bio-editor .ql-editor b {
	font-weight: 700;
}

#bio-editor .ql-editor em,
#bio-editor .ql-editor i {
	font-style: italic;
}

/* Listing text editor on register and edit-profile pages */
#listing-text-editor .ql-editor {
	min-height: 200px;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	line-height: 1.6;
}

#listing-text-editor .ql-editor strong,
#listing-text-editor .ql-editor b {
	font-weight: 700;
}

#listing-text-editor .ql-editor em,
#listing-text-editor .ql-editor i {
	font-style: italic;
}

#listing-text-editor .ql-editor h4 {
	font-size: 1.3rem;
	font-family: 'GoudySansPro-Bold', sans-serif;
	color: #3e16b5;
	margin: 15px 0 10px 0;
}

/* Disabled state for editors when name/pronouns not set */
.editor-disabled {
	opacity: 0.5;
	pointer-events: none;
	position: relative;
}

.editor-disabled::after {
	content: "Please enter your Professional Name and Pronouns first";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	padding: 15px 25px;
	border-radius: 8px;
	font-size: 0.95rem;
	text-align: center;
	z-index: 10;
	pointer-events: none;
}

.toolbar-disabled {
	opacity: 0.5;
	pointer-events: none;
}

.ql-toolbar.ql-snow {
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	background: #f8f8f8;
}

.ql-container.ql-snow {
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}

.label-hint {
	font-family: 'Rubik', sans-serif;
	font-weight: 400;
	color: #333;
}

.skills-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}

.skill-checkbox {
	display: flex;
	align-items: center;
	gap: 5px;
}

.skill-checkbox input {
	width: 18px;
	height: 18px;
	accent-color: #8866ed;
}

.skill-checkbox label {
	display: inline;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	color: #333;
	cursor: pointer;
	padding-top: 5px;
}

.skill-icon {
	width: 38px;
	height: auto;
	flex-shrink: 0;
	cursor: pointer;
}

/* When checkbox is checked, color the icon purple using CSS filter */
.skill-checkbox input:checked ~ label .skill-icon,
.skill-checkbox input:checked + .skill-icon {
	filter: brightness(0) saturate(100%) invert(15%) sepia(80%) saturate(4500%) hue-rotate(255deg) brightness(85%) contrast(120%);
}

/* Skills box for psychic page */
.skills-box {
	background: #f8f6ff;
	border: 1px solid #e0d8f0;
	border-radius: 10px;
	padding: 15px 20px;
	margin: 20px 0;
}
.skills-box h6 {
	margin: 0 0 10px 0;
	color: #5b39bf;
	font-size: 1rem;
}
.skills-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.skill-tag {
	background: #fff;
	border: 1px solid #d0c8e8;
	border-radius: 15px;
	padding: 5px 12px;
	font-size: 0.85rem;
	color: #5b39bf;
	font-family: 'Rubik', sans-serif;
}

.password-wrapper {
	position: relative;
	display: block;
}

.password-wrapper input {
	width: 100%;
	padding-right: 60px;
	box-sizing: border-box;
}

.password-toggle {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: #8866ed;
	font-family: 'Rubik', sans-serif;
	font-size: 0.9rem;
	cursor: pointer;
	padding: 5px;
	z-index: 10;
}

.password-toggle:hover {
	color: #6644cc;
}

.witch-checkbox {
	background-color: #f5f0ff;
	padding: 15px;
	border-radius: 8px;
	margin-top: 10px;
}

.witch-checkbox input {
	width: 18px;
	height: 18px;
	accent-color: #8866ed;
}

.witch-checkbox label {
	display: inline;
	font-family: 'Rubik', sans-serif;
	font-weight: 500;
}

/* Large purple buttons - consolidated base class */
.submit-btn,
.cancel-btn {
	display: inline-block;
	background-color: #8866ed;
	color: #fff;
	border: none;
	padding: 15px 40px;
	font-family: 'GoudySansPro-Bold';
	font-size: 1.3rem;
	border-radius: 25px;
	cursor: pointer;
	box-shadow: inset 0 8px 20px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 1);
	text-decoration: none;
}

.submit-btn:hover,
.cancel-btn:hover {
	background-color: #7755dd;
	color: #ffe05c;
	text-decoration: none;
}

.submit-btn:focus,
.cancel-btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* cancel-btn specific override */
.cancel-btn {
	margin-left: 10px;
}

/* File input styling */
input[type="file"] {
	display: none;
}

.file-input-wrapper {
	display: flex;
	align-items: center;
	gap: 15px;
}

/* Small purple buttons - consolidated base class */
.form-btn,
.file-input-btn,
.ai-button,
.reset-crop-btn {
	display: inline-block;
	background-color: #8866ed;
	color: #fff !important;
	border: none;
	padding: 10px 15px;
	font-family: 'GoudySansPro-Bold';
	font-size: 0.97rem;
	line-height: 0.97rem;
	border-radius: 20px;
	cursor: pointer;
	box-shadow: inset 0 6px 15px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
	flex-shrink: 0;
	margin-right: 5px;
}

.form-btn:hover,
.file-input-btn:hover,
.ai-button:hover,
.reset-crop-btn:hover {
	background-color: #7755dd;
	color: #ffe05c !important;
}

.form-btn:focus,
.file-input-btn:focus,
.ai-button:focus,
.reset-crop-btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* reset-crop-btn specific overrides */
.reset-crop-btn {
	padding: 10px 25px;
	font-size: 1rem;
}

.file-name-display {
	font-family: 'Rubik', sans-serif;
	font-size: 0.95rem;
	color: #333;
}

/* Photo drop zone */
.photo-drop-zone {
	border: 2px dashed #7161a0;
	border-radius: 10px;
	padding: 30px 20px;
	text-align: center;
	background-color: #faf9fc;
	cursor: pointer;
	transition: all 0.2s;
}
.photo-drop-zone:hover {
	border-color: #5b39bf;
	background-color: #f5f2fa;
}
.photo-drop-zone.dragover {
	border-color: #3e16b5;
	background-color: #efeaff;
	border-style: solid;
}
.photo-drop-zone:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.photo-drop-zone .drop-zone-content p {
	margin: 0;
	text-align: center;
}

/* Hide browser autofill icons (Safari, Chrome, etc.) */
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
	visibility: hidden !important;
	display: none !important;
}

/* Hide Quill editor autofill suggestions */
.ql-editor::-webkit-contacts-auto-fill-button,
.ql-editor *::-webkit-contacts-auto-fill-button {
	display: none !important;
}

/* Disable autofill yellow background - uses long transition delay */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill,
.ql-editor:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset !important;
	transition: background-color 5000s ease-in-out 0s;
}

/* ========================================================================
   TOOLTIPS - consolidated base class for purple tooltips
   ======================================================================== */
.validation-tooltip,
.admin-tooltip {
	background-color: #5b39bf;
	border: 1px solid #000000;
	box-shadow: inset 5px 5px 7px rgba(0, 0, 0, 0.3), 3px 3px 5px rgba(0, 0, 0, 0.3);
	color: #ffffff;
	font-family: 'Rubik', sans-serif;
	font-size: 13px;
	font-weight: 400;
	padding: 8px 12px;
	border-radius: 4px;
	animation: tooltipFadeIn 0.2s ease-out;
}

.validation-tooltip i,
.admin-tooltip i {
	margin-right: 6px;
	color: #ffe05c;
}

@keyframes tooltipFadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* validation-tooltip specific overrides */
.validation-tooltip {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 5px;
	white-space: normal;
	word-wrap: break-word;
	width: auto;
	max-width: 100%;
	z-index: 1000;
}

/* admin-tooltip specific overrides */
.admin-tooltip {
	position: fixed;
	z-index: 10000;
}

/* External References Modal */
.external-refs-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10001;
	animation: tooltipFadeIn 0.2s ease-out;
}
.external-refs-modal .external-refs-content {
	background: #fff;
	border-radius: 12px;
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}
.external-refs-header {
	background: #e67e22;
	color: #fff;
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.external-refs-header h3 {
	margin: 0;
	font-size: 1.1rem;
}
.external-refs-header h3 i {
	margin-right: 10px;
}
.external-refs-header .close-modal {
	background: none;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}
.external-refs-body {
	padding: 20px;
	max-height: 50vh;
	overflow-y: auto;
}
.external-refs-list {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 8px;
	padding: 15px;
	margin: 10px 0;
}
.external-refs-list ul {
	margin: 0;
	padding-left: 20px;
}
.external-refs-list li {
	margin-bottom: 8px;
	color: #856404;
}
.external-refs-warning {
	color: #856404;
	font-size: 0.9rem;
	margin-top: 15px;
	margin-bottom: 0;
}
.external-refs-footer {
	padding: 15px 20px;
	background: #f5f5f5;
	text-align: right;
}

/* External Refs Box (inline in review page) */
.external-refs-box {
	padding: 12px 15px;
	border-radius: 6px;
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 0.9rem;
}
.external-refs-box.external-refs-success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}
.external-refs-box.external-refs-warning {
	background: #fff3cd;
	border: 1px solid #ffeeba;
	color: #856404;
}
.external-refs-box .external-refs-header {
	font-weight: bold;
	margin-bottom: 8px;
	display: block;
	background: none;
	padding: 0;
	color: inherit;
}
.external-refs-box .external-refs-content {
	padding: 0;
	margin: 0;
}
.external-ref-item {
	padding: 8px;
	margin-bottom: 10px;
	background-color: #fff;
	border: 1px solid #e67e22;
	border-radius: 4px;
}
.btn-remove-ref {
	background: #dc3545;
	color: #fff;
	border: none;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 0.75rem;
	cursor: pointer;
	white-space: nowrap;
}
.btn-remove-ref:hover {
	background: #c82333;
}

/* Utility: margin-top for buttons */
.btn-mt {
	margin-top: 5px;
}

/* Headline section in review queue */
.headline-section {
	margin-top: 20px;
	padding-top: 15px;
	border-top: 1px solid #ddd;
}
.headline-section label {
	display: block;
	margin-bottom: 8px;
}
.headline-review-input {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
}
.headline-review-input:focus {
	border-color: #3e16b5;
	outline: none;
}

/* Review Decision Checkboxes - Approve (green) / Reject (red) */
.review-decision {
	display: flex;
	gap: 15px;
	margin-top: 15px;
	margin-bottom: 15px;
	align-items: center;
}
.decision-checkbox {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 8px 16px;
	border-radius: 4px;
	border: 2px solid #ccc;
	transition: all 0.2s;
}
.decision-checkbox input[type="checkbox"] {
	margin-right: 8px;
	width: 18px;
	height: 18px;
	cursor: pointer;
}
.decision-checkbox span {
	font-weight: 600;
}
.decision-checkbox.approve {
	border-color: #28a745;
	color: #28a745;
}
.decision-checkbox.approve:hover {
	background: #e8f5e9;
}
.decision-checkbox.approve input:checked + span {
	color: #fff;
}
.decision-checkbox.approve:has(input:checked) {
	background: #28a745;
	color: #fff;
}
.decision-checkbox.reject {
	border-color: #dc3545;
	color: #dc3545;
}
.decision-checkbox.reject:hover {
	background: #fce8e8;
}
.decision-checkbox.reject input:checked + span {
	color: #fff;
}
.decision-checkbox.reject:has(input:checked) {
	background: #dc3545;
	color: #fff;
}

/* Review Submit Wrapper */
.review-submit-wrapper {
	margin-top: 25px;
	padding-top: 20px;
	border-top: 2px solid #ddd;
	display: flex;
	gap: 15px;
	justify-content: flex-end;
}
.review-submit-btn {
	padding: 12px 24px;
	font-size: 1rem;
	font-weight: 600;
}
.btn-danger {
	background: #dc3545;
	color: #fff;
	border: none;
	padding: 12px 24px;
	border-radius: 4px;
	cursor: pointer;
}
.btn-danger:hover {
	background: #c82333;
}

/* Headline AI tooltip - wider, right-aligned */
#headlineAiTooltip {
	position: relative;
	left: auto;
	right: 0;
	top: auto;
	margin-top: 5px;
	margin-left: auto;
	width: 100%;
	max-width: 450px;
	text-align: left;
}

.error-box {
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}

.error-box ul {
	margin: 0;
	padding-left: 20px;
}

.error-box li {
	margin-bottom: 5px;
}

.error-box li:last-child {
	margin-bottom: 0;
}

.success-box {
	background-color: #e6ecd4;
	border: 1px solid #dde6c2;
	color: #465714;
	padding: 20px;
	border-radius: 8px;
	margin-top: 15px;
	margin-bottom: 20px;
}

.success-box h3 {
	color: #465714;
	margin-top: 0;
}

/* Remove bottom margin from lists that are last child in alert boxes */
.success-box ul:last-child,
.info-box ul:last-child,
.warning-box ul:last-child,
.error-box ul:last-child {
	margin-bottom: 0;
}

/* .ai-button styles consolidated into .form-btn group above */

.ai-button-cancel {
	background-color: #6c757d;
	box-shadow: inset 0 6px 15px rgba(50, 50, 50, 1);
}

.ai-button-cancel:hover {
	background-color: #5a6268;
}

/* ========================================================================
   MODAL OVERLAYS - consolidated base class for all modal backgrounds
   ======================================================================== */
.ai-modal-overlay,
.styled-modal-overlay,
.alert-modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.85);
	z-index: 10000;
	justify-content: center;
	align-items: center;
}

.ai-modal-overlay.active,
.ai-modal-overlay:not(.hidden),
.styled-modal-overlay.active,
.alert-modal-overlay.active {
	display: flex;
}

/* AI Suggestion Modal */

.ai-modal-box {
	max-width: 600px;
	max-height: 80vh;
	margin: 20px;
}

.ai-modal-box .mainboxinner {
	min-height: auto;
	display: flex;
	flex-direction: column;
}

.ai-suggestion-content {
	background-color: #f8f9fa;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 15px;
	max-height: 400px;
	overflow-y: auto;
	margin-bottom: 20px;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	line-height: 1.6;
}

.ai-modal-buttons {
	display: flex;
	gap: 15px;
	justify-content: center;
}

/* .reset-crop-btn styles consolidated into .form-btn group above */

.char-count {
	text-align: right;
	font-size: 0.85rem;
	color: #8866ed;
}

.char-count.valid {
	color: #8866ed;
}

/* Headline suggestion options */
.headline-option {
	padding: 12px 15px;
	background: #f8f9fa;
	border: 2px solid #ddd;
	border-radius: 8px;
	margin-bottom: 10px;
	cursor: pointer;
	font-family: 'Rubik', sans-serif;
	font-size: 0.95rem;
	transition: all 0.2s;
}

.headline-option:hover {
	background: #e9ecef;
	border-color: #8866ed;
}

.headline-option:active {
	background: #8866ed;
	color: #fff;
	border-color: #8866ed;
}

.more-text {
	display: none;
}

/* .cancel-btn styles consolidated into .submit-btn group above */

.links {
	margin-top: 20px;
	text-align: center;
}

.links a {
	color: #3e16b5;
}

/* ========================================================================
   ADMIN & ADVISOR PAGE STYLES (Base)
   ======================================================================== */
body.admin-page .container {
	background: transparent;
}
body.advisor-page .container {
	background-color: #efeaff;
}
body.admin-page .content,
body.advisor-page .content {
	top: -14px;
}
body.admin-page .footer {
	display: none;
}
body.admin-page .topnav,
body.advisor-page .topnav {
	left: 6px;
	top: 3px;
}
body.admin-page .topnav .icon,
body.advisor-page .topnav .icon {
	line-height: 31px;
	font-size: 31px;
}
body.admin-page .logobox,
body.advisor-page .logobox {
	left: 50% !important;
	transform: translateX(-50%) !important;
	top: -24px;
	width: 75%;
}
body.admin-page .hero,
body.advisor-page .hero {
	background-image: url('../images/hero-admin-small.webp') !important;
	background-position: center -42px;
	height: 180px;
}
body.admin-page .mainboxinner,
body.advisor-page .mainboxinner {
	margin: 0;
	padding: 30px;
	overflow: hidden;
}
body.admin-page h3 {
	margin-top: 30px;
	margin-bottom: 5px;
}

/* ========================================================================
   PHOTO UPLOAD & CROP TOOL STYLES
   ======================================================================== */

/* Current photo display */
.current-photo {
	text-align: center;
	margin-bottom: 30px;
}
.current-photo img {
	max-width: 200px;
	border-radius: 10px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Upload area */
.upload-area {
	border: 3px dashed #ccc;
	border-radius: 10px;
	padding: 40px;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s;
	margin-bottom: 20px;
}
.upload-area:hover {
	border-color: #3e16b5;
	background: #f8f9fa;
}
.upload-area.dragover {
	border-color: #3e16b5;
	background: #f0e6ff;
}
.upload-area input[type="file"] {
	display: none;
}
.upload-icon {
	font-size: 48px;
	color: #3e16b5;
	margin-bottom: 15px;
}
.upload-icon .fa-check-circle {
	color: #87a728;
}
.upload-icon .fa-cloud-upload-alt {
	font-size: 3rem;
	color: #7161a0;
	margin-bottom: 10px;
}

/* Crop tool */
.crop-container {
	position: relative;
	display: inline-block;
	max-width: 100%;
	margin: 20px 0;
}
.crop-image {
	max-width: 100%;
	display: block;
}
.crop-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}
.crop-box {
	position: absolute;
	border: 3px solid #fff;
	box-shadow: 0 0 0 9999px rgba(0,0,0,0.5), 0 0 10px rgba(0,0,0,0.5);
	cursor: move;
	pointer-events: auto;
}
.crop-box::before {
	content: '';
	position: absolute;
	top: 33.33%;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255,255,255,0.3);
}
.crop-box::after {
	content: '';
	position: absolute;
	top: 66.66%;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255,255,255,0.3);
}
.crop-handle {
	position: absolute;
	width: 20px;
	height: 20px;
	background: #fff;
	border: 2px solid #3e16b5;
	border-radius: 50%;
	pointer-events: auto;
	cursor: nwse-resize;
}
.crop-handle.corner-nw {
	top: -10px;
	left: -10px;
}
.crop-handle.corner-ne {
	top: -10px;
	right: -10px;
	cursor: nesw-resize;
}
.crop-handle.corner-sw {
	bottom: -10px;
	left: -10px;
	cursor: nesw-resize;
}
.crop-handle.corner-se {
	bottom: -10px;
	right: -10px;
}
.crop-preview {
	width: 150px;
	height: 150px;
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
	margin: 20px auto;
}
.crop-preview img {
	display: block;
}
.crop-preview-label {
	color: #666;
}
.crop-container-wrapper {
	text-align: center;
}

/* Photo requirements box */
.requirements {
	background: #f8f9fa;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}
.requirements ul {
	margin: 0;
	padding-left: 20px;
}

/* Photo crop sections */
#photo-crop-container,
#photo-approved-container,
#photo-upload-section,
#current-photo-section {
	margin-top: 15px;
}
#photo-crop-wrapper {
	max-width: 500px;
}
#photo-preview {
	display: block;
	max-width: 100%;
}
.photo-approved-canvas {
	width: 300px;
	height: 300px;
	border-radius: 5px;
	display: block;
}
.photo-approved-thumb {
	width: 300px;
	height: 300px;
	border-radius: 5px;
	display: block;
	object-fit: cover;
}
#approved-photo-display .photo-preview-buttons {
	margin-top: 10px;
}
.photo-error {
	color: #dc3545;
	font-size: 0.9rem;
	margin-top: 5px;
}

/* ========================================================================
   FORM UTILITIES
   ======================================================================== */

/* Centered form group (for submit buttons) */
.form-group-centered {
	text-align: center;
	margin-top: 30px;
}

/* Character count row */
.char-count-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 5px;
}
.char-count {
	text-align: left;
}

/* AI buttons wrapper */
.ai-buttons-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
}

/* Headline suggestions */
#headline-suggestions {
	margin-top: 15px;
}

/* ========================================================================
   REVISION FEEDBACK BOXES
   ======================================================================== */

/* Purple info box for migrated advisors */
.revision-feedback.info-purple {
	background: #3e16b5;
	border: 1px solid #3e16b5;
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 10px;
	color: #fff;
}
.revision-feedback.info-purple strong,
.revision-feedback.info-purple span {
	color: #ffffff;
}

/* Yellow warning box for revision requested */
.revision-feedback.warning-yellow {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 10px;
}
.revision-feedback.warning-yellow strong,
.revision-feedback.warning-yellow span {
	color: #856404;
}

/* Profile Status Summary Box */
.profile-status-summary {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 15px 20px;
	margin-bottom: 20px;
}
.profile-status-summary h4 {
	margin: 0 0 12px 0;
	color: #3e16b5;
	font-size: 1.1rem;
}
.profile-status-summary .status-items {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.profile-status-summary .status-item {
	padding: 8px 15px;
	border-radius: 5px;
	font-size: 0.9rem;
}
.profile-status-summary .status-item.status-approved {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}
.profile-status-summary .status-item.status-revision {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}
.profile-status-summary .status-item.status-pending {
	background: #e7e3f3;
	border: 1px solid #3e16b5;
	color: #3e16b5;
}
.profile-status-summary .status-label {
	font-weight: bold;
	margin-right: 5px;
}

/* ========================================================================
   AI MODAL STYLES
   ======================================================================== */

.ai-modal-content h3,
.ai-modal-title {
	margin-top: 0;
	color: #5b39bf;
}

/* ========================================================================
   UTILITY CLASSES
   ======================================================================== */

.hidden {
	display: none !important;
}
.hidden-input {
	display: none;
}

/* Current photo preview in edit forms */
.current-photo-preview {
	max-width: 300px;
	max-height: 300px;
	display: block;
}
#current-photo-section {
	margin-bottom: 15px;
}
#current-photo-section p {
	margin-bottom: 10px;
}
#change-photo-btn {
	margin-top: 10px;
}

/* Drop zone styles */
.drop-zone-primary {
	margin: 0;
	font-weight: bold;
}
.drop-zone-secondary {
	margin: 5px 0;
	color: #666;
	padding: 10px;
}
.drop-zone-help {
	margin: 15px 0 0 0;
	color: #888;
	font-size: 0.85rem;
}

/* Intro text */
.intro-text {
	margin-bottom: 20px;
}

/* ========================================================================
   STYLED MODAL DIALOG
   .styled-modal-overlay consolidated into MODAL OVERLAYS section above
   ======================================================================== */
.styled-modal {
	background: #fff;
	border-radius: 12px;
	padding: 30px;
	max-width: 450px;
	width: 90%;
	box-shadow: 0 10px 40px rgba(0,0,0,0.3);
	text-align: center;
	animation: modalSlideIn 0.2s ease-out;
}
@keyframes modalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.styled-modal h3 {
	margin: 0 0 15px 0;
	color: #333;
	font-family: 'Rubik', sans-serif;
	font-size: 1.3rem;
}
.styled-modal p {
	margin: 0 0 25px 0;
	color: #666;
	font-size: 1rem;
	line-height: 1.5;
}
.styled-modal-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
}
.styled-modal-buttons button {
	padding: 12px 30px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	font-family: 'Rubik', sans-serif;
	transition: all 0.2s;
	min-width: 100px;
}
.btn-modal-cancel {
	background: #e9ecef;
	color: #495057;
}
.btn-modal-cancel:hover {
	background: #dee2e6;
}
.btn-modal-confirm {
	background: #3e16b5;
	color: #fff;
}
.btn-modal-confirm:hover {
	background: #2d0f8a;
}
.btn-modal-confirm.danger {
	background: #dc3545;
}
.btn-modal-confirm.danger:hover {
	background: #c82333;
}
.btn-modal-confirm.info {
	background: #7161a0;
}
.btn-modal-confirm.info:hover {
	background: #5a4d80;
}
.btn-modal-cancel:focus,
.btn-modal-confirm:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* Admin/Advisor mainbox positioning */
.advisor-mainboxouter,
.admin-mainboxouter {
	top: 0;
}
.advisor-page .feedback,
.advisor-page .features {
	margin-top: 15px;
}

/* ========================================================================
   ALERT MODAL (from validations.js)
   .alert-modal-overlay consolidated into MODAL OVERLAYS section above
   ======================================================================== */
.alert-modal {
	background: #fff;
	border-radius: 12px;
	padding: 30px;
	max-width: 450px;
	width: 90%;
	box-shadow: 0 10px 40px rgba(0,0,0,0.3);
	text-align: center;
	animation: alertSlideIn 0.2s ease-out;
}
@keyframes alertSlideIn {
	from { opacity: 0; transform: translateY(-20px); }
	to { opacity: 1; transform: translateY(0); }
}
.alert-modal h3 {
	margin: 0 0 15px 0;
	color: #333;
	font-family: 'Rubik', sans-serif;
	font-size: 1.3rem;
}
.alert-modal p {
	margin: 0 0 25px 0;
	color: #666;
	font-size: 1rem;
	line-height: 1.5;
	text-align: justify;
}
.alert-modal-buttons {
	display: flex;
	justify-content: center;
}
.btn-alert-ok {
	padding: 12px 40px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	font-family: 'Rubik', sans-serif;
	background: #3e16b5;
	color: #fff;
	transition: all 0.2s;
}
.btn-alert-ok:hover {
	background: #2d0f8a;
}

/* ========================================================================
   QUILL EDITOR CUSTOM STYLES
   ======================================================================== */

#listing-text-editor .ql-editor p,
.bio-quill-editor .ql-editor p {
	margin-bottom: 15px;
}
.ql-header[value="4"]::before {
	content: "Header";
	font-size: 1.1rem;
	line-height: 1.2rem;
	font-family: GoudySansPro-Bold;
	color: #3e16b5;
}
.ql-header[value="4"] svg {
	display: none;
}
.ql-snow .ql-editor h4 {
	font-size: 1.25rem;
	line-height: 1.5rem;
}

/* ========================================================================
   ADMIN PAGES SHARED STYLES
   ======================================================================== */

.admin-section-spaced {
	margin-top: 25px;
}

/* Admin table wrapper */
.table-responsive {
	max-width: 100%;
}

/* Admin table styles */
.admin-page table,
.admin-table {
	width: auto;
	min-width: 100%;
	table-layout: auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
	border-collapse: collapse;
}
.admin-page th,
.admin-page td,
.admin-table th,
.admin-table td {
	padding: 12px 15px;
	text-align: left;
	border-bottom: 1px solid #eee;
	vertical-align: top;
	font-size: 0.9rem;
}
.admin-page th,
.admin-table th {
	background: #f8f9fa;
	font-weight: 500;
	color: #666;
	font-size: 0.85rem;
}
.admin-page tr:hover,
.admin-table tr:hover {
	background: #f8f9fa;
}
.admin-page input[type="checkbox"],
.admin-table input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #8866ed;
	cursor: pointer;
}

/* Admin table column-specific styles */
.admin-table .col-actions .btn,
.admin-table .col-actions .inline-form {
	display: block;
	margin-bottom: 4px;
	margin-right: 4px;
}
.admin-table .col-actions .btn {
	width: fit-content;
}
.admin-table .status-badge {
	display: inline-block;
}

/* ==========================================================================
   CSS GRID DATA TABLE (div-based replacement for tables)
   ========================================================================== */
.data-table {
	width: 100%;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}

.data-cell {
	padding: 7px 5px;
	font-size: 0.85rem;
}

/* Desktop: CSS Grid layout (600px and above) */
@media (min-width: 600px) {
	/* 2-column tables */
	.data-table.cols-2 {
		display: grid;
		grid-template-columns: 1fr auto;
	}

	/* 3-column tables (checkbox + name + actions) */
	.data-table.cols-3 {
		display: grid;
		grid-template-columns: auto 1fr auto;
	}

	/* 4-column tables */
	.data-table.cols-4 {
		display: grid;
		grid-template-columns: auto 1fr auto auto;
	}

	/* 5-column tables */
	.data-table.cols-5 {
		display: grid;
		grid-template-columns: auto 1fr auto auto auto;
	}

	/* 6-column tables */
	.data-table.cols-6 {
		display: grid;
		grid-template-columns: auto 1fr auto auto auto auto;
	}

	.data-table-header,
	.data-row {
		display: contents;
	}

	.data-table-header .data-cell {
		background: #cecece;
		font-weight: 500;
		color: #666;
		font-size: 0.85rem;
		border-bottom: 1px solid #cecece;
	}

	.data-table-header .data-cell:first-child {
		border-radius: 0;
	}

	.data-table-header .data-cell:last-child {
		border-radius: 0;
	}

	.data-table-body {
		display: contents;
	}

	.data-row .data-cell {
		border-bottom: 1px solid #cecece;
	}

	.data-row:last-child .data-cell {
		border-bottom: none;
	}

	.data-row:hover .data-cell {
		background: #f8f9fa;
	}

	.col-checkbox {
		padding: 0px;
		padding-left: 10px;
		padding-top: 2px;
	}
}

/* Mobile: Card/box layout (599px and below) */
@media (max-width: 599px) {
	.data-table-header {
		display: none;
	}

	.data-table-body {
		display: block;
	}

	.data-row {
		display: flex;
		flex-wrap: wrap;
		padding: 15px;
		border-bottom: 1px solid #cecece;
		gap: 1px;
	}

	.data-row:last-child {
		border-bottom: none;
	}

	.data-cell {
		padding: 1px 0;
	}

	.data-cell[data-label]:before {
		content: attr(data-label) ": ";
		font-weight: 500;
		color: #666;
	}

	/* C4A Name takes full width (first row) */
	.col-c4a-advisor-name {
		flex: 0 0 100%;
	}

	/* Date Sent takes full width (second row) */
	.col-date-sent {
		flex: 0 0 100%;
	}

	/* Action cells inline (wrap after date) */
	.col-view-at-c4a,
	.col-send-listing-form,
	.col-send-reminder,
	.col-resend,
	.col-reject,
	.col-email {
		flex: 0 0 auto;
	}

	/* These don't need labels - self-explanatory buttons */
	.col-reject[data-label]:before,
	.col-send-listing-form[data-label]:before,
	.col-view-at-c4a[data-label]:before,
	.col-resend[data-label]:before,
	.col-send-reminder[data-label]:before,
	.col-email[data-label]:before {
		content: none;
	}

	.col-checkbox {
		display: none;
	}

	/* Advisors table mobile layout */
	/* Line 1: Name (full width) */
	.data-row .col-name {
		flex: 0 0 100%;
		order: 1;
	}

	/* Line 2: Joined (full width) */
	.data-row .col-date {
		flex: 0 0 100%;
		order: 2;
	}

	/* Line 3: Status badges (full width, inline) */
	.data-row .col-photo,
	.data-row .col-listing-text,
	.data-row .col-name-status {
		flex: 0 0 auto;
		order: 3;
	}

	/* Line 4: Actions (full width) */
	.data-row .col-actions {
		flex: 0 0 100%;
		order: 4;
		margin-top: 5px;
	}

	/* Remove label prefix from action buttons */
	.col-actions[data-label]:before {
		content: none;
	}
}

/* Name column - bold but same font size */
.col-name {
	font-weight: 600;
}

/* Actions column - buttons in a row, wrap when needed */
.col-actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	align-items: center;
}

.col-actions .btn,
.col-actions .inline-form {
	flex-shrink: 0;
	margin: 0;
}

.col-actions .inline-form {
	display: flex;
}

.data-cell {
	text-align: left;
}

/* Data table checkboxes */
.data-table input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #8866ed;
	cursor: pointer;
}

/* Empty state */
.data-empty {
	width: 100%;
	text-align: center;
	color: #999;
	padding: 30px 15px;
}

/* Info list (key-value pairs, replaces advisor-view-table) */
.info-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.info-row {
	display: flex;
	gap: 10px;
}

.info-label {
	font-weight: 500;
	color: #666;
	min-width: 120px;
}

.info-value {
	color: #333;
}


/* Admin mainbox - full width centered */
.admin-mainboxouter {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	float: none;
}

/* Admin two-column layout (main + sidebar) */
.admin-two-column {
	display: flex;
	gap: 30px;
}
.admin-main-column {
	flex: 1;
	min-width: 0;
}
.admin-sidebar {
	width: 220px;
	flex-shrink: 0;
}

/* Admin sidebar sections */
.admin-sidebar-section {
	background: #f8f5ff;
	border-radius: 10px;
	padding: 15px;
	margin-bottom: 15px;
}
.admin-sidebar-section h4 {
	margin: 0 0 12px 0;
	color: #3e16b5;
	font-family: 'GoudySansPro-Bold';
	font-size: 0.95rem;
}

/* Admin sidebar action links */
.sidebar-action {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	background: #fff;
	border-radius: 6px;
	margin-bottom: 8px;
	text-decoration: none;
	color: #333;
	transition: all 0.2s;
	position: relative;
}
.sidebar-action:last-child {
	margin-bottom: 0;
}
.sidebar-action:hover {
	background: #ece6fa;
}
.sidebar-action .icon {
	width: 28px;
	height: 28px;
	background: linear-gradient(135deg, #8866ed, #3e16b5);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 12px;
	flex-shrink: 0;
}
.sidebar-action span {
	font-size: 0.85rem;
	font-weight: 500;
}
.sidebar-action .badge {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: #dc3545;
	color: #fff;
	font-size: 0.7rem;
	padding: 2px 6px;
	border-radius: 8px;
}

/* FILTERS - consolidated base class for filter button navigation */
.filters {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.filter-btn {
	padding: 8px 16px;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 6px;
	text-decoration: none;
	color: #333;
	font-family: "Rubik", sans-serif;
	font-size: 0.85rem;
	transition: all 0.2s;
	text-align: center;
}
.filter-btn:hover {
	border-color: #3e16b5;
}
.filter-btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.filter-btn.active {
	background: #3e16b5;
	color: #fff;
	border-color: #3e16b5;
}
.filter-btn .count {
	opacity: 0.7;
}

/* Section Buttons (for jumping to sections) */
.section-buttons {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

/* Advisor Sections */
.advisor-section {
	margin-bottom: 40px;
}
.advisor-section h2 {
	margin-bottom: 10px;
}

/* Search/Name Filter */
.search-filter {
	margin-bottom: 15px;
}
.name-filter-input {
	width: 100%;
	max-width: 300px;
	padding: 10px 15px;
	border: 2px solid #ddd;
	border-radius: 6px;
	font-family: "Rubik", sans-serif;
	font-size: 0.95rem;
	transition: border-color 0.2s;
	box-sizing: border-box;
}
.name-filter-input:focus {
	outline: none;
	border-color: #3e16b5;
}
.name-filter-input::placeholder {
	color: #999;
}

/* STATUS BADGES - consolidated base class for all status indicators */
.status-badge {
	display: inline-block;
	padding: 4px 11px;
	border-radius: 15px;
	font-size: 0.75rem;
	font-weight: 500;
	margin-left: 0px;
}
/* Status badge color variants */
.status-badge.approved,
.status-approved {
	background: #e6ecd4;
	color: #465714;
}
.status-badge.pending,
.status-pending {
	background: #fff3cd;
	color: #856404;
}
.status-badge.rejected,
.status-rejected,
.status-badge.revision,
.status-revision {
	background: #f8d7da;
	color: #721c24;
}
.status-badge.awaiting,
.status-awaiting {
	background: #efeaff;
	color: #7161a0;
}
.status-badge.migrate,
.status-migrate {
	background: #d4edda;
	color: #155724;
}
.status-badge.migration,
.status-migrating,
.status-migration {
	background: #cce5ff;
	color: #004085;
}
.status-badge.reinvite,
.status-reinvite {
	background: #d4edda;
	color: #155724;
}
.status-badge.reinvited,
.status-reinviting,
.status-reinvited {
	background: #e2d4f0;
	color: #5a3d7a;
}
.status-badge.default,
.status-default {
	background: #3e16b5;
	color: #fff;
}

/* Admin action buttons */
.admin-page .actions {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
.admin-page .btn {
	padding: 5px 8px;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	font-size: 0.75rem;
	font-weight: 500;
	transition: all 0.2s;
	font-family: "Rubik", sans-serif;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	color: #fff !important;
}
.btn-edit {
	background: #3e16b5;
}
.btn-edit:hover {
	background: #5a3fd4;
	transform: translateY(-1px);
}
.btn-view {
	background: #6c757d;
}
.btn-view:hover {
	background: #868e96;
	transform: translateY(-1px);
}
.btn-delete {
	background: #dc3545;
}
.btn-delete:hover {
	background: #e4606d;
	transform: translateY(-1px);
}
.btn-email {
	background: #17a2b8;
}
.btn-email:hover {
	background: #1fc8e3;
	transform: translateY(-1px);
}
.btn-invite,
.btn-remind,
.btn-review,
.btn-view,
.btn-pause,
.btn-resume {
	width: 65px;
	text-align: center;
}
.btn-invite {
	background: #28a745;
}
.btn-invite:hover {
	background: #34ce57;
	transform: translateY(-1px);
}
.btn-remind {
	background: #fd7e14;
}
.btn-remind:hover {
	background: #ff9b4a;
	transform: translateY(-1px);
}
.btn-review {
	background: #28a745;
}
.btn-review:hover {
	background: #34ce57;
	transform: translateY(-1px);
}
.btn-pause {
	background: #6c757d;
}
.btn-pause:hover {
	background: #868e96;
	transform: translateY(-1px);
}
.btn-resume {
	background: #28a745;
}
.btn-resume:hover {
	background: #34ce57;
	transform: translateY(-1px);
}
.admin-page .btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* C4A link status */
.c4a-linked {
	color: #87a728;
}
.c4a-unlinked {
	color: #dc3545;
}

/* ========================================================================
   C4A IMPORT PAGE STYLES
   ======================================================================== */

.col-c4a-advisor-name {
	font-weight: 600;
}

.c4a-bulk-actions {
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.c4a-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}
.c4a-count {
	background: #e9ecef;
	padding: 4px 10px;
	border-radius: 12px;
	font-size: 14px;
	color: #666;
}
.btn-pill-sm {
	padding: 4px 10px;
	font-size: 13px;
}

.btn-sm {
	padding: 5px 10px;
	font-size: 0.8rem;
}

.empty-state {
	text-align: center;
	padding: 40px;
	color: #666;
}
.empty-state i {
	font-size: 3rem;
	margin-bottom: 15px;
	color: #ddd;
}

.stats-bar {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.stat-box {
	background: #fff;
	padding: 15px 25px;
	border-radius: 8px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.stat-box .number {
	font-size: 2rem;
	font-weight: bold;
	color: #3e16b5;
}
.stat-box .label {
	color: #666;
	font-size: 0.85rem;
}

/* ========================================================================
   REVIEW PAGE STYLES
   ======================================================================== */

.review-section-block {
	margin-top: 20px;
	padding: 15px;
	background: #f8f9fa;
	border-radius: 8px;
}
.review-section-block h4 {
	margin: 0 0 15px 0;
	color: #3e16b5;
}
.review-section-block h4 i {
	margin-right: 8px;
}

/* Approved section styling */
.review-section-block.section-approved {
	background: #e8f5e9;
	border: 2px solid #4caf50;
}
.review-section-block.section-approved h4 {
	margin-bottom: 10px;
}
.approved-value {
	color: #333;
	font-size: 1rem;
	padding: 8px 12px;
	background: rgba(255,255,255,0.7);
	border-radius: 4px;
}
.listing-text-preview {
	max-height: 150px;
	overflow-y: auto;
}
.approved-photo-preview {
	text-align: center;
}
.approved-photo-thumb {
	max-width: 200px;
	max-height: 200px;
	border-radius: 8px;
	border: 2px solid #4caf50;
}

/* Approved section toggle */
.approved-collapsed {
	cursor: pointer;
}
.approved-collapsed:hover {
	background: rgba(255,255,255,0.9);
	border-radius: 4px;
}
.click-to-edit {
	font-size: 0.85rem;
	color: #666;
	margin-top: 8px;
	opacity: 0.7;
}
.approved-collapsed:hover .click-to-edit {
	opacity: 1;
	color: #3e16b5;
}
.approved-expanded {
	padding-top: 10px;
}
.revision-request-form {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(0,0,0,0.1);
}
.revision-request-form label {
	display: block;
	margin-bottom: 8px;
	font-weight: bold;
}
.revision-request-form textarea {
	width: 100%;
	min-height: 80px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	margin-bottom: 10px;
	box-sizing: border-box;
}
.revision-buttons {
	display: flex;
	gap: 10px;
}

/* Skills info section */
.review-section-block.section-info {
	background: #f0f4ff;
	border: 1px solid #d0d8e8;
}
.skills-display {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.skill-badge {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	padding: 6px 12px;
	border-radius: 20px;
	border: 1px solid #ddd;
	font-family: 'Rubik', sans-serif;
	font-size: 1rem;
	color: #252c36;
}
.skill-badge .skill-icon {
	width: 38px;
	height: auto;
	cursor: default;
}
.skill-icon-sm {
	width: 20px;
	height: 20px;
}

.pending-change-notice {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 6px;
	padding: 10px 15px;
	margin-bottom: 15px;
	color: #856404;
	font-size: 0.9rem;
}
.headline-change-notice {
	margin-top: 10px;
	color: #666;
	font-size: 0.9rem;
}

.admin-page .review-card .badge {
	background: #dc3545;
	color: #fff;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 0.75rem;
}

/* ========================================================================
   ADVISOR VIEW PAGE STYLES
   ======================================================================== */

.advisor-view-grid {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 30px;
}

.advisor-view-photo {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #3e16b5;
}

.advisor-view-photo-placeholder {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: #ddd;
	display: none;
	align-items: center;
	justify-content: center;
}
.advisor-view-photo-placeholder i {
	font-size: 80px;
	color: #999;
}

.advisor-view-name {
	margin: 0 0 5px 0;
	color: #3e16b5;
}

.advisor-view-email {
	color: #666;
	margin: 0 0 15px 0;
}

.advisor-view-headline {
	font-style: italic;
	font-size: 1.1rem;
	margin-bottom: 15px;
}

.advisor-view-statuses {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.advisor-view-table {
	width: 100%;
	border-collapse: collapse;
}
.advisor-view-table td {
	padding: 8px 0;
	border-bottom: 1px solid #eee;
}
.advisor-view-table td:first-child {
	font-weight: bold;
	width: 150px;
}

.advisor-view-section {
	margin-top: 20px;
}
.advisor-view-section h4 {
	color: #3e16b5;
	margin-bottom: 10px;
}
.advisor-view-section .content-box {
	background: #f8f9fa;
	padding: 15px;
	border-radius: 8px;
	line-height: 1.6;
}
.advisor-view-section .notes-box {
	background: #fff3cd;
	padding: 15px;
	border-radius: 8px;
}

.advisor-view-skills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.advisor-view-skill {
	background: #e9e1f7;
	color: #3e16b5;
	padding: 5px 12px;
	border-radius: 15px;
	font-size: 0.9rem;
}

.name-review-original {
	font-size: 1.5rem;
	font-weight: bold;
	color: #3e16b5;
}

.name-review-input {
	width: 100%;
	padding: 10px;
	font-size: 1.2rem;
	border: 1px solid #ddd;
	border-radius: 5px;
}

.pronouns-display {
	color: #666;
	font-style: italic;
}

.pronouns-select {
	width: 100%;
	padding: 12px;
	padding-right: 40px;
	font-size: 1rem;
	font-family: 'Rubik', sans-serif;
	border: 1px solid #ccc;
	border-radius: 6px;
	margin-bottom: 10px;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233e16b5' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px 16px;
	cursor: pointer;
}
.pronouns-select:focus {
	outline: none;
	border-color: #3e16b5;
	box-shadow: 0 0 5px rgba(61, 19, 189, 0.3);
}

.inline-form {
	display: inline;
	margin: 0;
}

.error-text {
	color: #dc3545;
}

.toggle-html-btn {
	margin-left: 10px;
	font-size: 0.8rem;
	padding: 2px 8px;
	cursor: pointer;
}

.html-preview {
	display: none;
	background: #f5f5f5;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 0.85rem;
	white-space: pre-wrap;
	word-wrap: break-word;
	max-height: 200px;
	overflow: auto;
	margin-top: 10px;
}
.html-preview.active {
	display: block;
}

/* Headline error messages */
.headline-error {
	font-size: 0.9rem;
	margin-top: 5px;
}
.headline-error-danger {
	color: #dc3545;
}
.headline-error-warning {
	color: #b78c00;
}

/* .ai-modal-overlay consolidated into MODAL OVERLAYS section above */


/* ========================================================================
   ADMIN & ADVISOR PORTAL STYLES
   ======================================================================== */

/* Admin Bar & Advisor Bar - top navigation bars */
.admin-bar,
.advisor-bar {
	background: linear-gradient(135deg, #3a2e5d 0%, #5b39bf 100%);
	color: #fff;
	padding: 10px 20px;
	font-family: 'Rubik', sans-serif;
	position: relative;
	z-index: 200;
}
.advisor-bar .change-password-short {
	display: none;
}
.admin-bar-inner,
.advisor-bar-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.admin-bar a,
.advisor-bar a {
	color: #fff;
	text-decoration: none;
	opacity: 0.8;
}
.admin-bar a:hover,
.advisor-bar a:hover {
	opacity: 1;
}
.advisor-bar-link:hover {
	color: #ffe05c !important;
}
.admin-bar .badge {
	display: inline-block;
	background: #dc3545;
	color: #fff;
	font-size: 0.75rem;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 5px;
}

/* Admin Navigation Pills */
.admin-nav-pills {
	display: flex;
	gap: 10px;
	margin: 20px 0;
	flex-wrap: wrap;
}
.admin-nav-pills a {
	padding: 8px 16px;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 6px;
	text-decoration: none;
	color: #333;
	font-family: 'Rubik', sans-serif;
	transition: all 0.2s;
	text-align: center;
}
.admin-nav-pills a:hover {
	border-color: #3e16b5;
}
.admin-nav-pills a:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.admin-nav-pills a.active {
	background: #3e16b5;
	color: #fff;
	border-color: #3e16b5;
}
.admin-nav-pills .badge {
	display: inline-block;
	background: #dc3545;
	color: #fff;
	font-size: 0.75rem;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 5px;
}

/* Admin Tabs - see consolidated definition in C4A SYNC PAGE STYLES section */

/* Admin Message/Alert Boxes */
.message {
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
	font-family: 'Rubik', sans-serif;
}
.message.success {
	background: #e6ecd4;
	color: #465714;
	border: 1px solid #dde6c2;
}
.message.error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

/* Info/Warning/Success Boxes - shared styles */
.info-box {
	background-color: #efeaff;
	border: 1px solid #d4c9f7;
	color: #3e16b5;
	padding: 15px;
	border-radius: 8px;
	margin-top: 10px;
	margin-bottom: 20px;
}
.admin-warning-box {
	background: #fff3cd;
	border: 1px solid #ffeeba;
	color: #856404;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}
.admin-warning-box .pending-list {
	margin: 10px 0;
	padding-left: 25px;
}
.admin-warning-box .pending-list li {
	margin: 3px 0;
}

/* Admin Buttons */
.btn-save {
	background: #3e16b5;
	color: #fff;
	border: none;
	padding: 12px 30px;
	border-radius: 6px;
	font-size: 1rem;
	cursor: pointer;
	margin-top: 20px;
}
.btn-save:hover {
	background: #5b39bf;
}
.btn-save:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.btn-reset {
	background: #6c757d;
	color: #fff;
	border: none;
	padding: 12px 30px;
	border-radius: 6px;
	font-size: 1rem;
	cursor: pointer;
	margin-top: 20px;
	margin-left: 0;
}
.btn-reset:hover {
	background: #5a6268;
}
.btn-reset:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.button-row {
	display: flex;
	gap: 15px;
	margin-top: 20px;
	flex-wrap: wrap;
}
.button-row .btn-reset,
.button-row .btn-save {
	margin-top: 0;
}
.btn-html-toggle {
	background: #8866ed;
	color: #fff;
	border: none;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
	margin-bottom: 10px;
}
.btn-html-toggle:hover {
	background: #7755dd;
}
.btn-html-toggle:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* Admin Dashboard Stats */
.stats-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	gap: 15px;
	margin-bottom: 25px;
}
.stat-card {
	background: #fff;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
	text-align: center;
	text-decoration: none;
	display: block;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	border: 2px solid #3e16b5;
	text-decoration: none;
}
.stat-card .number {
	font-size: 2rem;
	font-weight: 700;
	color: #3e16b5;
}
.stat-card .label {
	color: #666;
	margin-top: 5px;
	font-size: 0.9rem;
}
.stat-card.warning .number { color: #ffc107; }
.stat-card.success .number { color: #87a728; }
.stat-card.danger .number { color: #dc3545; }
.stat-card.info .number { color: #7161a0; }

/* Second row stats - centered */
.stats-grid.stats-grid-right {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-bottom: 25px;
}
.stat-card.stat-card-small {
	padding: 15px 20px;
}
.stat-card.stat-card-small .number {
	font-size: 1.5rem;
}
.stat-card.stat-card-small .label {
	font-size: 0.8rem;
}

/* Welcome Card */
.welcome-card {
	background: #fff;
	border-radius: 10px;
	padding: 25px;
	margin-bottom: 25px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.welcome-card h2 {
	margin: 0 0 10px 0;
	color: #3e16b5;
}

/* Quick Actions */
.quick-actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 15px;
}
.action-card {
	background: #fff;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
	text-decoration: none;
	color: #333;
	transition: transform 0.2s, box-shadow 0.2s;
	display: flex;
	align-items: center;
	gap: 15px;
}
.action-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}
.action-card .icon {
	width: 50px;
	height: 50px;
	background: #f0e6ff;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: #3e16b5;
	flex-shrink: 0;
}
.action-card h3 {
	margin: 0 0 5px 0;
	font-size: 1rem;
}
.action-card p {
	margin: 0;
	color: #666;
	font-size: 0.85rem;
}
.action-card .badge {
	background: #dc3545;
	color: #fff;
	font-size: 0.75rem;
	padding: 3px 10px;
	border-radius: 10px;
	margin-left: auto;
}

/* Review Cards */
.review-section { display: none; }
.review-section.active { display: block; }

.review-card {
	background: #fff;
	border-radius: 10px;
	padding: 25px;
	margin-bottom: 20px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.review-card h3 {
	margin: 0 0 5px 0;
	color: #3e16b5;
}
.review-card .meta {
	color: #666;
	font-size: 0.9rem;
	margin-bottom: 15px;
}

/* Review Card Header with Reject Button */
.review-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 15px;
}
.review-card-header h3 {
	margin: 0 0 5px 0;
}
.review-card-header .header-buttons {
	display: flex;
	gap: 10px;
	align-items: center;
}
.btn-reject-applicant {
	background: #dc3545;
	color: #fff;
	border: none;
	padding: 8px 16px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: background 0.2s;
}
.btn-reject-applicant:hover {
	background: #c82333;
}
.btn-reject-applicant i {
	font-size: 0.85rem;
}

/* Revision checkboxes layout */
.revision-checkboxes {
	display: flex;
	gap: 25px;
	margin: 15px 0;
	flex-wrap: wrap;
}

/* Photo Review Container */
.photo-review-container {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 20px;
	margin-bottom: 15px;
}

.crop-wrapper {
	max-width: 500px;
	max-height: 500px;
	overflow: hidden;
}
.crop-wrapper img {
	max-width: 100%;
	display: block;
}

/* Cropper.js v2 Web Components */
cropper-canvas {
	display: block;
	width: 100%;
	max-width: 500px;
	height: 400px;
}
cropper-image {
	display: block;
}
cropper-selection {
	outline: 2px solid #fff;
	outline-offset: -2px;
}
cropper-handle[action="move"] {
	cursor: move;
}
cropper-grid {
	opacity: 0.5;
}

.preview-section h4 {
	margin: 0 0 10px 0;
	color: #666;
}
.preview-canvas {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	border: 3px solid #3e16b5;
	margin-bottom: 15px;
}

.crop-reset-buttons {
	display: flex;
	gap: 10px;
	margin-top: 10px;
	flex-wrap: wrap;
}
.btn-reset-crop {
	padding: 8px 16px;
	background: #6c757d;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 0.85rem;
	font-family: 'Rubik', sans-serif;
}
.btn-reset-crop:hover { background: #5a6268; }
.btn-reset-crop:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.btn-reset-crop.active { background: #3e16b5; }

/* Bio Editing */
.bio-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 15px;
}
.bio-box {
	background: #f8f9fa;
	padding: 15px;
	border-radius: 8px;
}
.bio-box h4 {
	margin: 0 0 10px 0;
	color: #666;
}
.bio-box textarea {
	width: 100%;
	min-height: 150px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-family: inherit;
	font-size: 0.95rem;
	resize: vertical;
}
.bio-quill-editor {
	min-height: 150px;
	background: #fff;
}
.bio-quill-editor .ql-editor {
	min-height: 150px;
	font-family: inherit;
	font-size: 0.95rem;
}
.bio-char-count {
	font-size: 0.85rem;
	color: #666;
	margin-top: 5px;
}
.bio-char-count.valid { color: #87a728; }
.bio-char-count.invalid { color: #dc3545; }
.bio-box .original-bio {
	white-space: pre-wrap;
	line-height: 1.6;
}

/* Action Buttons - Admin Portal */
.action-buttons {
	display: flex;
	gap: 10px;
	margin-top: 15px;
	flex-wrap: wrap;
}
.btn {
	padding: 10px 20px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 500;
	transition: all 0.2s;
	font-family: 'Rubik', sans-serif;
}
.btn-approve { background: #87a728; color: #fff; }
.btn-approve:hover { background: #6e8720; }
.btn-reject { background: #dc3545; color: #fff; }
.btn-reject:hover { background: #c82333; }
.btn-secondary { background: #6c757d; color: #fff; }
.btn-secondary:hover { background: #5a6268; }
.btn-ai {
	background: #8866ed;
	color: #fff !important;
	font-family: 'GoudySansPro-Bold';
	border-radius: 20px;
	box-shadow: inset 0 6px 15px rgba(38, 25, 77, 1);
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
}
.btn-ai:hover { background: #7755dd; color: #ffe05c !important; }
.btn-ai-warning {
	background: #e67e22;
	box-shadow: inset 0 6px 15px rgba(100, 50, 0, 1);
}
.btn-ai-warning:hover { background: #d35400; }
.btn-success-flash { background: #28a745 !important; }
.btn-suggest { background: #7161a0; color: #fff; }
.btn-suggest:hover { background: #5a4d80; }
/* btn-sm - see consolidated definition in BASE STYLES */
.btn-pagination {
	background: #fff;
	color: #3e16b5;
	border: 1px solid #3e16b5;
	padding: 8px 14px;
	min-width: 40px;
	text-align: center;
}
.btn-pagination:hover { background: #3e16b5; color: #fff; text-decoration: none; }
.btn-pagination.active { background: #3e16b5; color: #fff; font-weight: bold; }
.pagination-info {
	text-align: center;
	color: #666;
	margin-bottom: 20px;
	font-size: 0.9rem;
}
.btn:disabled { opacity: 0.6; cursor: not-allowed; }
.btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}

/* Rejection Form */
.rejection-form {
	display: none;
	margin-top: 15px;
	padding: 15px;
	background: #fff3cd;
	border-radius: 8px;
}
.rejection-form.active { display: block; }
.rejection-form textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 5px;
	min-height: 80px;
	margin-bottom: 10px;
	font-family: inherit;
	box-sizing: border-box;
}
.rejection-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: 500;
}

/* Loading Spinner */
.loading-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	border-top-color: transparent;
	animation: spin 1s linear infinite;
	margin-right: 8px;
	vertical-align: middle;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Admin table styles - see ADMIN PAGES SHARED STYLES section */

.actions a {
	color: #3e16b5;
	text-decoration: none;
	margin-right: 10px;
}
.actions a:hover { text-decoration: underline; }

/* Featured Advisors */
.featured-section {
	margin-bottom: 30px;
}
.featured-section h3 {
	margin: 0 0 15px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #eee;
}

.advisor-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.advisor-item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 12px 15px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.12);
	transition: all 0.2s;
}
.advisor-item:hover {
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.advisor-item.featured {
	border-left: 4px solid #ffc107;
	background: #fffdf5;
}
.advisor-item.dragging {
	opacity: 0.5;
	background: #f0e6ff;
}

.advisor-item .drag-handle {
	cursor: grab;
	color: #999;
	padding: 5px;
}
.advisor-item .drag-handle:active {
	cursor: grabbing;
}

.advisor-item input[type="checkbox"] {
	width: 20px;
	height: 20px;
	cursor: pointer;
}

.advisor-item .photo {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
	background: #eee;
}

.advisor-item .info {
	flex: 1;
}
.advisor-item .info .name {
	font-weight: 600;
	color: #333;
}
.advisor-item .info .meta {
	font-size: 0.85rem;
	color: #666;
}

.advisor-item .order-badge {
	background: #ffc107;
	color: #000;
	font-weight: bold;
	padding: 5px 12px;
	border-radius: 20px;
	font-size: 0.9rem;
}

.save-bar {
	position: sticky;
	bottom: 20px;
	background: #fff;
	padding: 15px 20px;
	border-radius: 10px;
	box-shadow: 0 -2px 20px rgba(0,0,0,0.15);
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

.no-advisors {
	text-align: center;
	padding: 30px;
	color: #666;
	background: #f8f9fa;
	border-radius: 8px;
}


/* ========================================================================
   ADVISOR PORTAL STYLES
   ======================================================================== */

/* Advisor Dashboard */
.dashboard-container {
	max-width: 900px;
	margin: 0 auto;
}
.welcome-header {
	margin-bottom: 30px;
}
.status-card .status-badge {
	display: inline-block;
	margin: 0 auto;
	text-align: center;
}
.rejection-reason {
	margin-top: 10px;
	padding: 10px;
	background: #fff3cd;
	border-radius: 5px;
	font-size: 0.9rem;
	color: #856404;
}
.c4a-links {
	background: #f8f9fa;
	border-radius: 10px;
	padding: 20px;
	margin-top: 30px;
}
.c4a-links h4 {
	margin-top: 0;
	color: #3e16b5;
}
.c4a-links ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.c4a-links li {
	margin-bottom: 10px;
}
.c4a-links a {
	color: #3e16b5;
}
.logout-link {
	float: right;
	color: #666;
	font-size: 0.9rem;
}
.logout-link:hover {
	color: #3e16b5;
}
.profile-photo {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

/* Advisor Edit Forms */
.form-container {
	max-width: 700px;
	margin: 0 auto;
}

#aiSuggestion {
	display: none;
	margin-top: 15px;
	padding: 15px;
	background: #f8f9fa;
	border: 1px solid #ddd;
	border-radius: 8px;
}
#aiSuggestion h5 {
	margin-top: 0;
	color: #3e16b5;
}
#aiSuggestion .suggested-bio {
	background: #fff;
	padding: 15px;
	border: 1px solid #ccc;
	border-radius: 5px;
	margin: 10px 0;
	white-space: pre-wrap;
}
#aiSuggestion button {
	margin-right: 10px;
}

/* Photo Upload & Crop - see consolidated definition in BASE STYLES */


/* ========================================================================
   ADMIN LOGIN PAGE
   ======================================================================== */
.admin-login-page {
	font-family: 'Rubik', sans-serif;
	background: linear-gradient(135deg, #3a2e5d 0%, #5b39bf 100%);
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 20px;
}
.login-box {
	background: #fff;
	padding: 40px;
	border-radius: 15px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.3);
	width: 100%;
	max-width: 400px;
}
.login-box h1 {
	font-family: 'GoudySansPro-Bold', sans-serif;
	color: #3e16b5;
	text-align: center;
	margin: 0 0 10px 0;
	font-size: 2rem;
}
.login-box h2 {
	color: #666;
	text-align: center;
	font-weight: 400;
	font-size: 1rem;
	margin: 0 0 30px 0;
}
.login-box .form-group {
	margin-bottom: 20px;
}
.login-box label {
	display: block;
	color: #3e16b5;
	font-weight: 500;
	margin-bottom: 5px;
}
.login-box input[type="text"],
.login-box input[type="password"] {
	width: 100%;
	padding: 12px 15px;
	padding-right: 45px;
	border: 2px solid #ddd;
	border-radius: 8px;
	font-size: 1rem;
	transition: border-color 0.2s;
	box-sizing: border-box;
}
.login-box input:focus {
	outline: none;
	border-color: #3e16b5;
}
.login-box .password-wrapper {
	position: relative;
	display: block;
}
.login-box .password-toggle {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: #8866ed;
	padding: 5px;
}
.password-toggle:hover {
	color: #6644cc;
}
.login-box .submit-btn {
	width: 100%;
	background: linear-gradient(135deg, #8866ed 0%, #5b39bf 100%);
	color: #fff;
	border: none;
	padding: 15px;
	font-size: 1.1rem;
	font-weight: 500;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}
.login-box .submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 20px rgba(91, 57, 191, 0.4);
}
.login-box .submit-btn:focus {
	outline: 3px solid #3e16b5;
	outline-offset: 2px;
}
.login-box .logo {
	text-align: center;
	margin-bottom: 20px;
}
.login-box .logo img {
	width: 100%;
}

/* Remember me checkbox */
.remember-group {
	margin-top: 10px;
}
.remember-group .checkbox-label,
.form-group .checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-weight: normal;
}
.remember-group .checkbox-label input[type="checkbox"],
.form-group .checkbox-label input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #8866ed;
	cursor: pointer;
}
.remember-group .checkbox-label span {
	color: #333;
}


/* ========================================================================
   ADVISOR PORTAL - Status Cards & Dashboard
   ======================================================================== */

/* Status Cards Grid */
.status-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	margin-top: 20px;
	margin-bottom: 30px;
}
.admin-page .status-cards {
	max-width: 624px;
}
.status-card {
	background: #fff;
	border-radius: 10px;
	padding: 15px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	text-align: center;
}
.status-card h4 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.55rem;
	color: #3e16b5;
	font-family: 'GoudySansPro-Bold';
	word-spacing: 100vw;
	text-align: center;
}
/* Status badge within status-card: larger size with default purple style */
.status-card .status-badge {
	padding: 5px 12px;
	border-radius: 0;
	font-size: 0.9rem;
	background: #3e16b5;
	color: #fff;
}

/* action-buttons - see consolidated definition above */

/* C4A Status Badges - Advisor Portal */
.c4a-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 15px;
	font-size: 0.85rem;
	font-weight: 500;
}
.c4a-status.available {
	background: #e6ecd4;
	color: #465714;
}
.c4a-status.busy {
	background: #fff3cd;
	color: #856404;
}
.c4a-status.unavailable {
	background: #f8d7da;
	color: #721c24;
}

/* Advisor C4A Quick Links (right column) */
.advisor-c4a-links {
	background: #fff;
	border-radius: 10px;
	padding: 15px 20px;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
	margin-bottom: 20px;
}
.advisor-c4a-links h6 {
	margin-top: 0;
	margin-bottom: 3px;
	color: #b78c00;
	font-family: 'GoudySansPro-Bold';
	font-size: 1.1rem;
}
.advisor-c4a-links p {
	position: relative;
	font-family: 'Rubik', sans-serif;
	color: #3f2f70;
	font-weight: 400;
	font-size: .9em;
	line-height: 1.2em;
	margin: 0;
}
.advisor-c4a-links ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.advisor-c4a-links li {
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #eee;
}
.advisor-c4a-links li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.advisor-c4a-links a {
	color: #3e16b5;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.advisor-c4a-links a:hover {
	color: #b78c00;
}
.advisor-c4a-links a i {
	width: 20px;
	text-align: center;
	color: #8866ed;
}
.c4a-link-desc {
	display: block;
	font-size: 0.8rem;
	color: #666;
	margin-top: 2px;
	padding-left: 28px;
}


/* ========================================================================
   UTILITY CLASSES - Reusable helpers to eliminate inline styles
   ======================================================================== */

/* Text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Text colors */
.text-muted { color: #666; }
.text-primary { color: #3e16b5; }
.text-success { color: #87a728; }
.text-danger { color: #dc3545; }
.text-warning { color: #856404; }
.text-info { color: #0056b3; }
.text-gold { color: #ffc107; }
.text-purple { color: #7161a0; }
.text-orange { color: #ffe05c; }

/* Font sizes */
.text-sm { font-size: 0.8rem; }
.text-md { font-size: 0.875rem; }
.text-lg { font-size: 1rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 2rem; }
.text-4xl { font-size: 3rem; }

/* Font weights */
.font-normal { font-weight: normal; }
.font-bold { font-weight: bold; }
.font-italic { font-style: italic; }

/* Margins */
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 1px; }
.mt-3 { margin-top: 3px; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.my-20 { margin-top: 20px; margin-bottom: 20px; }
.my-30 { margin-top: 30px; margin-bottom: 30px; }
.mx-5 { margin-left: 5px; margin-right: 5px; }
.mb-0 { margin-bottom: 0; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.m-0 { margin: 0; }

/* Padding */
.p-0 { padding: 0; }
.p-15 { padding: 15px; }
.p-20 { padding: 20px; }
.pt-3 { padding-top: 3px; }

/* Display */
.d-none { display: none !important; }
.hidden-textarea { display: none; }
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.d-flex { display: flex; }
.d-grid { display: grid; }

/* Flexbox */
.flex-1 { flex: 1; }
.flex-wrap { flex-wrap: wrap; }
.align-center { align-items: center; }
.justify-center { justify-content: center; }
.gap-10 { gap: 10px; }
.gap-15 { gap: 15px; }

/* Width */
.w-full { width: 100%; }
.w-150 { width: 150px; }
.w-300 { width: 300px; }
.max-w-400 { max-width: 400px; }


/* ========================================================================
   ADMIN DASHBOARD COMPONENTS - Migration status, controls, etc.
   ======================================================================== */

/* Migration Status Box */
.admin-status-box {
	border-radius: 8px;
	padding: 15px 20px;
	margin-bottom: 30px;
	border: 1px solid #dee2e6;
	background: #f8f9fa;
}
.admin-status-box.enabled {
	background: #e8f4fd;
	border-color: #b8daff;
}
.admin-status-box.warning {
	background: #fff3cd;
	border-color: #ffc107;
}
.admin-status-box-inner {
	display: flex;
	align-items: center;
	gap: 15px;
}
.admin-status-icon {
	font-size: 24px;
}
.admin-status-icon.enabled { color: #0056b3; }
.admin-status-icon.disabled { color: #6c757d; }
.admin-status-icon.warning { color: #856404; }
.admin-status-content {
	flex: 1;
}
.admin-status-label {
	font-weight: bold;
}
.admin-status-label.enabled { color: #0056b3; }
.admin-status-label.disabled { color: #6c757d; }
.admin-status-label.warning { color: #856404; }
.admin-status-description {
	color: #666;
	font-size: 14px;
}
.admin-status-active {
	color: #856404;
	font-weight: bold;
}

/* Progress bar */
.progress-bar-container {
	margin-top: 10px;
	background: #fff;
	border-radius: 4px;
	height: 8px;
	overflow: hidden;
}
.progress-bar-fill {
	height: 100%;
	background: #0056b3;
}
.progress-bar-fill.disabled { background: #6c757d; }

/* Pill buttons (small rounded) */
.btn-pill {
	display: inline-block;
	border: none;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 12px;
	cursor: pointer;
	text-decoration: none;
	margin-right: 5px;
}
.btn-pill:last-child {
	margin-right: 0;
}
.btn-pill-lg {
	padding: 10px 20px;
	font-size: 14px;
}
.btn-pill-success { background: #87a728; color: #fff; }
.btn-pill-danger { background: #dc3545; color: #fff; }
.btn-pill-warning { background: #ffc107; color: #000; }
.btn-pill-primary { background: #0056b3; color: #fff; }
.btn-pill-secondary { background: #6c757d; color: #fff; }
.btn-pill-c4a { background: #4065c6; color: #fff; }
.btn-pill:hover { color: #ffc107; }

/* Send email box */
.send-email-box {
	background: #f0f7ff;
	border: 1px solid #b8daff;
	border-radius: 8px;
	padding: 15px 20px;
	margin-bottom: 30px;
}
.send-email-form {
	display: flex;
	align-items: center;
	gap: 15px;
}
.send-email-icon {
	font-size: 20px;
	color: #0056b3;
}
.send-email-label {
	font-weight: bold;
	color: #0056b3;
	display: block;
	margin-bottom: 5px;
}
.send-email-select {
	width: 100%;
	max-width: 400px;
	padding: 12px;
	padding-right: 40px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1rem;
	font-family: 'Rubik', sans-serif;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233e16b5' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px 16px;
	cursor: pointer;
}
.send-email-select:focus {
	outline: none;
	border-color: #3e16b5;
	box-shadow: 0 0 5px rgba(61, 19, 189, 0.3);
}

/* Empty state in tables */
.table-empty {
	text-align: center;
	padding: 40px;
	color: #666;
}

/* Success message (card removal) */
.card-success-msg {
	text-align: center;
	padding: 20px;
	color: #87a728;
}
.card-success-msg i {
	font-size: 2rem;
}

/* Inline form - see consolidated definition in BASE STYLES */


/* ========================================================================
   ADVISOR EDIT PAGE COMPONENTS
   ======================================================================== */

/* Photo preview placeholder */
.photo-placeholder {
	width: 300px;
	height: 300px;
	background: #f0f0f0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
}
.photo-placeholder-icon {
	font-size: 80px;
}

/* Photo preview image */
.photo-preview-img {
	width: 300px;
	height: 300px;
	object-fit: cover;
	display: block;
}

/* Status grid (3 columns) */
.status-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-top: 10px;
}
.status-grid-label {
	font-size: 14px;
	font-weight: normal;
	display: block;
	margin-bottom: 5px;
}

/* Help text */
.help-text-lg {
	font-size: 1rem;
}

/* Revision reason container (hidden by default) */
.revision-reason-container {
	display: none;
}
.revision-reason-container.visible {
	display: block;
}

/* Checkbox label with flex */
.checkbox-flex-label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

/* Table with fixed column widths */
.advisor-view-table td:first-child {
	width: 150px;
}


/* ========================================================================
   C4A SYNC PAGE COMPONENTS
   ======================================================================== */

/* C4A card meta */
.c4a-meta {
	margin-top: 5px;
	font-style: italic;
}

/* Button group with flex and wrap */
.btn-group-flex {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}


/* ========================================================================
   FEATURED PAGE COMPONENTS
   ======================================================================== */

/* Featured section header */
.featured-header { color: #ffc107; }
.available-header { color: #666; }

/* No C4A warning */
.no-c4a-warning {
	color: #dc3545;
	font-size: 0.8rem;
}

/* Change indicator */
.change-indicator {
	color: #666;
	display: none;
}
.change-indicator.visible {
	display: inline;
}


/* ========================================================================
   AUTH PAGES (Login, Forgot Password)
   ======================================================================== */

/* Auth links container */
.auth-links {
	margin-top: 20px;
	text-align: center;
}
.auth-links a {
	color: #3e16b5;
	text-decoration: none;
}
.auth-links a:hover {
	text-decoration: underline;
}

/* Success box for auth pages */
.auth-success-box {
	background: #d4edda;
	color: #155724;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}


/* ========================================================================
   REVIEW PAGE COMPONENTS
   ======================================================================== */

/* Success message card (JS-generated) */
.review-success-card {
	text-align: center;
	padding: 20px;
	color: #87a728;
}
.review-success-icon {
	font-size: 2rem;
}


/* ========================================================================
   EDIT PROFILE PAGE COMPONENTS
   ======================================================================== */

/* Warning icon (orange triangle) */
.warning-icon-orange {
	color: #ffe05c;
}


/* ========================================================================
   PSYCHIC PAGE COMPONENTS
   ======================================================================== */

/* Psychic page spacer */
.psychic-spacer {
	margin-top: 25px;
}


/* ========================================================================
   JOIN TEAM PAGE COMPONENTS
   ======================================================================== */

/* List with top padding */
.list-pt {
	padding-top: 3px;
	margin-top: 3px;
}


/* ========================================================================
   BREAKPOINT: 1199px and below (Small Laptops / Large Tablets)
   ======================================================================== */

@media (max-width: 1199px) {
	body {
		background-color: #efeaff;
		padding: 0px;
		margin: 0px;
	}
	
	.container {
		border: none;
		width: 100%;
		margin: 0px;
		padding: 0px;
	}
	
	.hero {
		height: 38.4vw;
		background-size: 100%;
	}

	body.admin-page .hero,
	body.advisor-page .hero {
		background-position: center -3vw;
		height: 15vw;
	}

	.logobox {
		width: 50%;
		left: 26.9vw;
	}

	body.admin-page .logobox,
	body.advisor-page .logobox {
		top: -2vw;
		width: 75%;
	}

	body.admin-page .mainboxouter {
		width: 100%;
		max-width: 100%;
		float: none;
		box-sizing: border-box;
	}

	body.admin-page .mainbox {
		max-width: 100%;
		box-sizing: border-box;
	}

	body.admin-page .mainboxinner {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Filters wrap */
	.filters {
		flex-wrap: wrap;
	}

	.mainbox {
		top: 0;
	}
	
	h2 {
		font-size: 1.6rem;
	}
	h3 {
		font-size: 1.35rem;
	}
	h4 {
		font-size: 1.2rem;
	}
	h5 {
		font-size: 1.05rem;
	}
	h6 {
		font-size: 0.95rem;
	}
}


/* ========================================================================
   BREAKPOINT: 1023px and below (Tablets)
   ======================================================================== */

@media (max-width: 1023px) {
	.mainbox {
		top: 0 !important;
	}

	/* Admin Pages - hide sidebar */
	.admin-sidebar {
		display: none;
	}
	.admin-two-column {
		display: block;
	}

	/* Status Cards - shrink fonts for 4-column layout */
	.status-cards {
		gap: 8px;
	}
	.status-card {
		padding: 10px;
	}
	.status-card h4 {
		font-size: 1rem;
		line-height: 1.15rem;
	}
	.status-card .status-badge {
		font-size: 0.7rem;
		padding: 3px 6px;
	}
}


/* ========================================================================
   BREAKPOINT: 767px and below (Small Tablets / Large Phones Landscape)
   ======================================================================== */

@media (max-width: 767px) {
	body.admin-page .hero,
	body.advisor-page .hero {
		background-position: center -4vw;
		background-size: 120%;
	}

	body.admin-page .mainboxouter {
		width: 100%;
		float: none;
	}

	/* Admin table converts to card layout at 767px */
	.admin-page table,
	.admin-table {
		display: block;
		width: 100%;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
		table-layout: auto;
	}

	.admin-page table thead,
	.admin-table thead {
		display: none;
	}

	.admin-page table tbody,
	.admin-table tbody {
		display: block;
		width: 100%;
	}

	.admin-page table tr,
	.admin-table tr {
		display: block;
		margin-bottom: 15px;
		background: #fff;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0,0,0,0.15);
		padding: 15px;
		border: 1px solid #e0e0e0;
	}

	.admin-page table tr:hover,
	.admin-table tr:hover {
		background: #fff;
	}

	.admin-page table td,
	.admin-table td {
		display: block;
		width: auto !important;
		text-align: left;
		border-bottom: none;
		padding: 8px 0;
		font-size: 1rem;
	}

	.admin-page table td:first-child,
	.admin-table td:first-child {
		font-size: 1.2rem;
		padding-bottom: 12px;
		border-bottom: 1px solid #cecece;
		margin-bottom: 10px;
	}

	.admin-page table td:before,
	.admin-table td:before {
		content: attr(data-label);
		font-weight: 600;
		color: #555;
		font-size: 0.9rem;
		display: block;
		margin-bottom: 4px;
	}

	.admin-page table td:first-child:before,
	.admin-table td:first-child:before {
		display: none;
	}

	.admin-page table td.col-actions,
	.admin-table td.col-actions {
		display: block;
		padding-top: 12px;
		border-top: 1px solid #cecece;
		margin-top: 8px;
	}

	.admin-page table td.col-actions:before,
	.admin-table td.col-actions:before {
		display: none;
	}

	.admin-table .col-actions .btn,
	.admin-table .col-actions .inline-form {
		display: inline-block;
		margin-right: 8px;
		margin-bottom: 8px;
	}

	/* Data table 767px layout - actions go full width below row */
	.data-table.cols-6 {
		grid-template-columns: auto 1fr auto auto auto auto;
	}

	.data-table .col-actions {
		grid-column: 1 / -1;
		margin-top: 10px;
		justify-content: flex-start;
	}

	.data-table-header .col-actions {
		display: none;
	}

	.footer {
		width: 100%;
		justify-content: center;
		gap: 10px;
	}

	/* Enable burger nav */
	.topnav {
		display: block;
		position: absolute;
		left: 10px;
		top: 6px;
		z-index: 250;
	}

	.topnav ul {
		display: none;
	}

	.topnav li {
		float: none;
	}

	.topnav .icon {
		float: left;
		display: block;
		font-size: 32px;
		margin: 0 !important;
	}

	.burger {
		color: #ffffff;
		background-color: transparent;
		border-radius: 0;
		box-shadow: none;
		padding: 0;
		text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.9);
	}

	.burger:hover,
	.burger:active {
		color: #ffe05c;
	}

	.topnav.responsive li a.active,
	.topnav.responsive li span.active {
		color: #ffe05c;
	}

	.topnav.responsive li a.active::before,
	.topnav.responsive li span.active::before {
		content:"\f35a";
		display:inline-block;
		font:normal normal normal 14px/1 FontAwesome;
		font-size:inherit;
		text-rendering:auto;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		padding-right:5px;
	}

	.topnav.responsive li span.active {
		display: block;
		text-align: left;
		padding: 14px 16px;
		font-size: 24px !important;
		background-color: #5b39bf;
		border-bottom: 1px solid #b5a6e3;
	}

	.topnav.responsive li a:hover {
		background-color: #371894;
		color: #ffe05c;
	}

	.topnav.responsive {
		position: absolute;
		width: auto;
		padding-top: 43px;
		z-index: 9998;
	}

	.topnav.responsive ul {
		display: block;
		border-left: 1px solid #b5a6e3;
		border-top: 1px solid #b5a6e3;
		border-right: 1px solid #b5a6e3;
	}

	.topnav.responsive .icon {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9999;
		background-color: transparent !important;
		border: none !important;
	}

	.topnav.responsive .burger {
		background-color: transparent;
		box-shadow: none;
		padding: 0;
		border-radius: 0;
	}

	.topnav.responsive li a {
		float: none;
		display: block;
		text-align: left;
		border-bottom: 1px solid #b5a6e3;
		background-color: #5b39bf;
	}

	.feedback {
		display: none;
	}
	
	body {
		background-color: #efeaff;
	}
	
	.container {
		border-bottom: none;
		border-right: none;
		border-left: none;
	}
	
	.hero {
		height: 40vw;
		background-position: center top;
		background-size: auto 115%;
	}
	
	.logobox {
		width: 61.5%;
		left: 21.2vw;
		top: -10px;
	}
	
	.features {
		width: 27%;
		max-width: 210px;
	}
	
	.content {
		margin-right: auto;
		margin-left: auto;
	}
	
	.mainboxouter {
		width: 70.5%;
		float: left;
	}
	
	.mainbox {
		top: 0;
		margin-left: 0px;
	}
	
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.3rem;
	}
	h4 {
		font-size: 1.15rem;
	}
	h5 {
		font-size: 1rem;
	}
	h6 {
		font-size: 0.9rem;
	}

	.photo-review-container {
		grid-template-columns: 1fr;
	}

	.bio-container {
		grid-template-columns: 1fr;
	}

	.admin-table {
		font-size: 0.85rem;
	}
	.admin-table th,
	.admin-table td {
		padding: 8px 10px;
	}

	/* Filter buttons on mobile - smaller padding */
	.filter-btn {
		padding: 8px 12px;
	}

	/* Status Cards - smaller fonts to keep 4 cards per row */
	.status-cards {
		gap: 8px;
	}
	.status-card {
		padding: 10px;
	}
	.status-card h4 {
		font-size: 1.05rem;
		line-height: 1.2rem;
	}
	.status-card .status-badge {
		font-size: 0.7rem;
		padding: 3px 6px;
	}
}


/* ========================================================================
   BREAKPOINT: 599px and below (Large Phones - iPhone Pro Max, etc.)
   ======================================================================== */

@media (max-width: 599px) {
	/* Reset 767px data-table styles back to mobile card layout */
	.data-table .col-actions {
		margin-top: 5px;
	}

	.data-table-body .data-row .data-cell {
		border-bottom: none;
		margin-bottom: 3px;
	}

	.data-table-body .data-row .col-actions {
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 0;
	}

	body.admin-page .hero,
	body.advisor-page .hero {
		background-image: url('../images/hero-admin-small.webp') !important;
	}

	.features {
		display: none;
	}

	.mobilecallbutton {
		display: block;
	}

	.logobox {
		top: 29.7vw;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
	}

	body.admin-page .logobox,
	body.advisor-page .logobox {
		top: -3vw;
		width: 85%;
	}

	.logo {
		width: 100%;
		clip-path: inset(0 1.5% 0 1.5%);
	}
	
	.hero {
		background-color: #000;
		background-position: top center;
		height: 55vw;
		background-size: 125%;
	}
	
	.hero1 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero1.webp') !important;
	}

	.hero2 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero2.webp') !important;
	}

	.hero3 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero3.webp') !important;
	}

	.hero4 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero4.webp') !important;
	}

	.hero5 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero5.webp') !important;
	}

	.hero6 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero6.webp') !important;
	}

	.hero7 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero7.webp') !important;
	}

	.hero8 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero8.webp') !important;
	}

	.hero9 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero9.webp') !important;
	}

	.hero10 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero10.webp') !important;
	}

	.hero11 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero11.webp') !important;
	}

	.hero12 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero12.webp') !important;
	}
	
	body {
		background-color: #efeaff;
	}

	.container {
		border-bottom: none;
		border-right: none;
		border-left: none;
		overflow-x: hidden;
		background-color: transparent !important;
		max-width: 100vw;
	}

	.mainboxouter {
		position: relative;
		float: none;
		width: 91.5%;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
	}
	
	.mainbox {
		top: 0 !important;
		max-width: 100%;
	}

	.mainboxinner {
		max-width: 100%;
		box-sizing: border-box;
	}

	h1 {
		font-size: 7.3vw;
	}

	h2 {
		font-size: 1.4rem;
	}
	h3 {
		font-size: 1.2rem;
	}
	h4 {
		font-size: 1.1rem;
	}
	h5 {
		font-size: 0.95rem;
	}
	h6 {
		font-size: 0.85rem;
	}

	.footer {
		color: #fff;
		gap: 15px;
	}
	.footer-links,
	.footer-links a,
	.footer-copyright {
		text-shadow: 0 0 5px #000, 0 0 10px #000, 0 0 15px #000, 0 0 20px #000;
	}
	.footer-links a {
		color: #efeaff;
	}
	.footer-copyright {
		color: #fff;
	}

	/* Status Cards - even smaller fonts to keep 4 cards per row */
	.status-cards {
		gap: 6px;
	}
	.status-card {
		padding: 8px;
	}
	.status-card h4 {
		font-size: 0.9rem;
		line-height: 1.1rem;
	}
	.status-card .status-badge {
		font-size: 0.65rem;
		padding: 3px 5px;
	}
}


/* ========================================================================
   BREAKPOINT: 479px and below (Standard Phones - iPhone, Pixel, etc.)
   ======================================================================== */

@media (max-width: 479px) {
	.advisor-bar {
		font-size: 0.9em;
	}
	.advisor-bar .change-password-full {
		display: none;
	}
	.advisor-bar .change-password-short {
		display: inline;
	}

	/* Photo, Listing, Name each on own line */
	.data-row .col-photo,
	.data-row .col-listing-text,
	.data-row .col-name-status {
		flex: 0 0 100%;
	}

	.radiobutton {
		display: block;
		float: left;
		clear:both;
	}
	
	.radiobuttontext {
		display: block;
		float: left;
	}
	
	h2 {
		font-size: 1.35rem;
	}
	h3 {
		font-size: 1.15rem;
	}
	h4 {
		font-size: 1.05rem;
	}
	h5 {
		font-size: 0.9rem;
	}
	h6 {
		font-size: 0.8rem;
	}

	body {
		background-color: #ffffff;
	}
	
	.container {
		overflow-x: hidden;
		border: 0px;
		margin: 0px;
	}
	
	.hero {
		height: 51vw;
	}

	.hero1 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero1.webp') !important;
	}

	.hero2 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero2.webp') !important;
	}

	.hero3 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero3.webp') !important;
	}

	.hero4 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero4.webp') !important;
	}

	.hero5 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero5.webp') !important;
	}

	.hero6 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero6.webp') !important;
	}

	.hero7 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero7.webp') !important;
	}

	.hero8 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero8.webp') !important;
	}

	.hero9 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero9.webp') !important;
	}

	.hero10 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero10.webp') !important;
	}

	.hero11 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero11.webp') !important;
	}

	.hero12 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 69%, rgba(0, 0, 0, 1) 84%, rgba(0, 0, 0, 1) 100%), url('../images/hero12.webp') !important;
	}

	.goldstrip {
		height: 32px;
		background-size: 100% 100%;
	}

	.content {
		position: relative;
		top: -15px;
		width: 100%;
		max-width: 100vw;
		box-sizing: border-box;
	}

	.mainboxouter {
		top: 0px;
		width: 100%;
		max-width: 100vw;
		margin: 0px;
		box-sizing: border-box;
	}

	.mainbox {
		top: 0vw;
		border-left: 0px;
		border-right: 0px;
		border-bottom: 0px;
		box-shadow: none;
	}
	
	.mainboxinner {
		box-shadow: none;
		padding: 13px;
	}
	
	h1 {
		font-size: 9.5vw;
		line-height: 100%;
		margin-bottom: 0px;
	}
	
	h2 {
		font-size: 1.25rem;
	}
	h3 {
		font-size: 1.1rem;
	}
	h4 {
		font-size: 1rem;
	}
	h5 {
		font-size: 0.85rem;
	}
	h6 {
		font-size: 0.75rem;
	}

	.advisorphoto {
		padding-bottom: 6px;
	}
	
	.logobox {
		top: 29vw;
	}

	body.admin-page .logobox,
	body.advisor-page .logobox {
		top: -4vw;
		width: 100%;
	}

	body.admin-page .hero,
	body.advisor-page .hero {
		height: 17vw;
	}

	.pricenodash {
		display:none;
	}
	
	.pricenextline {
		display: block;
		font-size: .9em;
	}
	
	.h4tan {
		display:block;
	}

	.photobox {
		width: 40%;
		max-width: 180px;
	}

	.photo {
		width: 100%;
		height: auto;
	}

	.psychictext {
		width: calc(60% - 15px);
	}

	.example-photos img {
		width: 48%;
		max-width: 48%;
	}
	.example-photos img:nth-child(3) {
		display: none;
	}

	/* Status Cards - 2 per row at 479px and below */
	.status-cards {
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
	.status-card h4 {
		font-size: 1rem;
		line-height: 1.2rem;
	}
}


/* ========================================================================
   BREAKPOINT: 359px and below (Small Phones - iPhone SE, older devices)
   ======================================================================== */

@media (max-width: 359px) {
	.hero {
		background-size: auto 105%;
		background-position: top left;
		background-position-x: 5%;
		height: calc(55vw + 79px);
	}

	.hero1 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero1.webp') !important;
	}

	.hero2 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero2.webp') !important;
	}

	.hero3 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero3.webp') !important;
	}

	.hero4 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero4.webp') !important;
	}

	.hero5 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero5.webp') !important;
	}

	.hero6 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero6.webp') !important;
	}

	.hero7 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero7.webp') !important;
	}

	.hero8 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero8.webp') !important;
	}

	.hero9 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero9.webp') !important;
	}

	.hero10 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero10.webp') !important;
	}

	.hero11 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero11.webp') !important;
	}

	.hero12 {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 1) 83%, rgba(0, 0, 0, 1) 100%), url('../images/hero12.webp') !important;
	}

	.logobox {
		top: calc(30vw + 83px);
		left: 50.5%;
		width: 108%;
	}

	body.admin-page .logobox,
	body.advisor-page .logobox {
		top: -4vw;
		width: 100%;
	}

	.goldstrip {
		height: 30px;
	}

	.content {
		top: -13px;
	}

	.mobileul {
		display: block;
		margin: 0px;
		padding-left: 19px;
		color: #3e16b5;
	}

	.mobileshowpipe {
		display: none;
	}

	.button-price-wrapper,
	.chat-price-wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.button-price-wrapper .priceinline,
	.chat-price-wrapper .priceinline {
		margin-left: 0;
		margin-top: 3px;
		padding-top: 0;
	}

	.photobox {
		width: 100%;
		max-width: 300px;
		float: none;
	}

	.photo {
		width: 100%;
		max-width: 300px;
		height: auto;
	}

	.psychictext {
		width: 100%;
		float: none;
		padding-left: 0;
	}
}

/* ========================================================================
   STYLE INVENTORY PAGE
   ======================================================================== */
.inv-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
}
.inv-section {
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: 2px solid #ddd;
}
.inv-section:last-child {
	border-bottom: none;
}
.inv-section-title {
	font-family: 'GoudySansPro-Bold', sans-serif;
	color: #3e16b5;
	font-size: 1.8rem;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 3px solid #8866ed;
}
.inv-item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
	padding: 20px;
	background: #ffffff;
	border-radius: 8px;
	border: 1px solid #ddd;
}
.inv-preview {
	min-width: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
}
.inv-preview-col {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.inv-preview-wrap {
	flex-wrap: wrap;
	gap: 8px;
}
.inv-preview-full {
	width: 100%;
	max-width: 600px;
}
.inv-info {
	flex: 1;
	min-width: 300px;
}
.inv-info-full {
	width: 100%;
}
.inv-name {
	font-family: monospace;
	font-size: 1.1rem;
	color: #333;
	background: #e9ecef;
	padding: 5px 10px;
	border-radius: 4px;
	margin-bottom: 10px;
	display: inline-block;
}
.inv-desc {
	color: #666;
	margin-bottom: 15px;
	font-size: 0.9rem;
}
.inv-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.inv-swatch {
	text-align: center;
}
.inv-swatch-box {
	width: 24px;
	height: 24px;
	border: 1px solid #333;
	border-radius: 3px;
	margin-bottom: 3px;
}
.inv-swatch-label {
	font-size: 10px;
	color: #666;
	font-family: monospace;
}
.inv-swatch-hex {
	font-size: 9px;
	color: #999;
	font-family: monospace;
}
.inv-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 15px;
}
.inv-subsection {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #ddd;
}
.inv-subsection-title {
	font-family: 'GoudySansPro-Bold', sans-serif;
	color: #666;
	font-size: 1.2rem;
	margin-bottom: 15px;
}
.inv-notes {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 6px;
	padding: 10px 15px;
	margin-top: 10px;
	font-size: 0.85rem;
	color: #856404;
}
.inv-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	margin-top: 15px;
}
.inv-table th {
	text-align: left;
	padding: 10px;
	border-bottom: 2px solid #3e16b5;
}
.inv-table td {
	padding: 5px 10px;
	border-bottom: 1px solid #eee;
}
.inv-table td:first-child {
	font-weight: bold;
}
.inv-color-sample {
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 2px;
	vertical-align: middle;
	margin-right: 5px;
}
.inv-color-box {
	width: 80px;
	height: 80px;
	border-radius: 10px;
	margin-bottom: 5px;
}
.inv-color-item {
	text-align: center;
}
.inv-color-name {
	font-weight: bold;
}
.inv-color-hex {
	font-family: monospace;
	font-size: 12px;
}
.inv-color-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 20px;
}
.inv-skills-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.inv-page-title {
	text-align: center;
}
.inv-page-subtitle {
	text-align: center;
	color: #666;
	margin-bottom: 40px;
}
.inv-heading-no-margin {
	margin-top: 0;
}

/* Color swatches for inventory */
.swatch-8866ed { background: #8866ed; }
.swatch-ffffff { background: #ffffff; }
.swatch-ffe05c { background: #ffe05c; }
.swatch-d5dbe5 { background: #d5dbe5; }
.swatch-7755dd { background: #7755dd; }
.swatch-6c757d { background: #6c757d; }
.swatch-3e16b5 { background: #3e16b5; }
.swatch-dc3545 { background: #dc3545; }
.swatch-17a2b8 { background: #17a2b8; }
.swatch-28a745 { background: #28a745; }
.swatch-fd7e14 { background: #fd7e14; }
.swatch-87a728 { background: #87a728; }
.swatch-7161a0 { background: #7161a0; }
.swatch-c82333 { background: #c82333; }
.swatch-ffc107 { background: #ffc107; }
.swatch-0056b3 { background: #0056b3; }
.swatch-4065c6 { background: #4065c6; }
.swatch-cce5ff { background: #cce5ff; }
.swatch-f8f9fa { background: #f8f9fa; }
.swatch-e9ecef { background: #e9ecef; }
.swatch-fff0c2 { background: #fff0c2; }
.swatch-b53e16 { background: #b53e16; }
.swatch-f8d7da { background: #f8d7da; }
.swatch-721c24 { background: #721c24; }
.swatch-e6ecd4 { background: #e6ecd4; }
.swatch-465714 { background: #465714; }
.swatch-efeaff { background: #efeaff; }
.swatch-f8f5ff { background: #f8f5ff; }
.swatch-ece6fa { background: #ece6fa; }
.swatch-8c71de { background: #8c71de; }
.swatch-fff3cd { background: #fff3cd; }
.swatch-d4edda { background: #d4edda; }
.swatch-d0c8e8 { background: #d0c8e8; }
.swatch-5b39bf { background: #5b39bf; }
.swatch-gray { background: #888888; }
.swatch-ddd { background: #ddd; }
