/*
 * Nishstudios Client Portal v1.2.4
 * Soft Premium / Modern Luxury design system.
 */

body.nishstudios-client-portal {
	--nish-bg: #f4f7fb;
	--nish-bg-warm: #f8f6f2;
	--nish-surface: #ffffff;
	--nish-surface-soft: #f8fbff;
	--nish-surface-blue: #edf5ff;
	--nish-sidebar: #fbfdff;
	--nish-border: #e3e9f2;
	--nish-border-strong: #ccd9eb;
	--nish-text: #142033;
	--nish-text-strong: #0c1729;
	--nish-muted: #66758d;
	--nish-blue: #4b8fe8;
	--nish-blue-deep: #235d9f;
	--nish-cyan: #67bdf0;
	--nish-mint: #41bd91;
	--nish-gold: #d99d32;
	--nish-danger: #b84d65;
	--nish-danger-bg: #fff2f5;
	--nish-success-bg: #effbf6;
	--nish-radius: 24px;
	--nish-radius-sm: 16px;
	--nish-shadow: 0 22px 60px rgba(37, 61, 96, 0.11);
	--nish-shadow-soft: 0 10px 28px rgba(37, 61, 96, 0.075);

	background:
		radial-gradient(circle at 10% 4%, rgba(103, 189, 240, 0.13), transparent 31rem),
		radial-gradient(circle at 92% 8%, rgba(65, 189, 145, 0.10), transparent 34rem),
		linear-gradient(180deg, #f8fbff 0%, var(--nish-bg) 42%, #f6f7fa 100%) !important;
	color: var(--nish-text) !important;
}

body.nishstudios-client-portal,
body.nishstudios-client-portal button,
body.nishstudios-client-portal input,
body.nishstudios-client-portal select,
body.nishstudios-client-portal textarea {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.nishstudios-client-portal .site,
body.nishstudios-client-portal .site-content,
body.nishstudios-client-portal main,
body.nishstudios-client-portal .elementor,
body.nishstudios-client-portal .elementor-section-wrap,
body.nishstudios-client-portal .elementor-element,
body.nishstudios-client-portal .entry-content,
body.nishstudios-client-portal .page-content {
	background: transparent !important;
}

/* Remove duplicated theme/page titles. The portal hero becomes the primary heading. */
body.nishstudios-client-portal .entry-header,
body.nishstudios-client-portal .entry-title,
body.nishstudios-client-portal .page-title,
body.nishstudios-client-portal .wp-block-post-title,
body.nishstudios-client-portal .elementor-widget-theme-post-title {
	display: none !important;
}

body.nishstudios-client-portal .woocommerce {
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto;
	padding: 46px 0 26px;
}

body.nishstudios-client-portal a {
	color: var(--nish-blue-deep);
	text-underline-offset: 3px;
}

body.nishstudios-client-portal a:hover {
	color: var(--nish-blue);
}

.nish-portal-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 28px;
	padding: 34px 36px;
	border: 1px solid rgba(199, 214, 234, 0.92);
	border-radius: var(--nish-radius);
	background:
		radial-gradient(circle at 88% 22%, rgba(103, 189, 240, 0.18), transparent 19rem),
		linear-gradient(135deg, #ffffff 0%, #f5f9ff 50%, #eef8f6 100%);
	box-shadow: var(--nish-shadow);
}

.nish-portal-hero::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: linear-gradient(180deg, var(--nish-blue), var(--nish-mint));
}

.nish-portal-hero::after {
	content: "";
	position: absolute;
	top: -120px;
	right: -70px;
	width: 290px;
	height: 290px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(75, 143, 232, 0.13), transparent 68%);
	pointer-events: none;
}

.nish-portal-hero-copy {
	position: relative;
	z-index: 1;
}

.nish-portal-eyebrow,
.nish-section-kicker {
	display: inline-block;
	margin-bottom: 10px;
	color: #238564;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.nish-portal-hero-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.nish-portal-hero h1 {
	margin: 0 0 8px !important;
	color: var(--nish-text-strong) !important;
	font-size: clamp(32px, 5vw, 54px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.045em;
}

.nish-portal-hero p {
	max-width: 720px;
	margin: 0;
	color: var(--nish-muted);
	font-size: 15px;
	line-height: 1.75;
}

.nish-secure-chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	padding: 10px 14px;
	border: 1px solid #c8e7dc;
	border-radius: 999px;
	background: var(--nish-success-bg);
	color: #236f57;
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 7px 20px rgba(65, 189, 145, 0.08);
}

.nish-secure-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--nish-mint);
	box-shadow: 0 0 0 0 rgba(65, 189, 145, 0.28);
	animation: nishSecurePulse 1.35s ease-in-out infinite;
}

@keyframes nishSecurePulse {
	0% {
		opacity: 1;
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(65, 189, 145, 0.28);
	}
	50% {
		opacity: 0.55;
		transform: scale(1.12);
		box-shadow: 0 0 0 6px rgba(65, 189, 145, 0.10);
	}
	100% {
		opacity: 1;
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(65, 189, 145, 0.02);
	}
}

body.nishstudios-client-portal .woocommerce::after {
	content: "";
	display: table;
	clear: both;
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation {
	float: left;
	width: 252px;
	margin: 0;
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 !important;
	padding: 14px !important;
	list-style: none !important;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--nish-shadow-soft);
	backdrop-filter: blur(16px);
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation li::before,
body.nishstudios-client-portal .woocommerce-MyAccount-navigation li::marker {
	display: none !important;
	content: none !important;
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 11px 14px 11px 42px;
	border: 1px solid transparent;
	border-radius: 13px;
	color: #4d5d75;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.3;
	text-decoration: none !important;
	transition: 180ms ease;
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation a::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	transform: translateY(-50%);
	border-radius: 999px;
	background: #9ecdf0;
	box-shadow: 0 0 0 4px rgba(103, 189, 240, 0.09);
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation a:hover {
	border-color: #e1ebf7;
	background: #f7fbff;
	color: var(--nish-text-strong);
	transform: translateX(2px);
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation .is-active a {
	border-color: #cbdcf1;
	background: linear-gradient(135deg, #eff6ff, #f1faf7);
	color: #173b63;
	box-shadow: inset 0 0 0 1px rgba(75, 143, 232, 0.04);
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation .is-active a::before {
	background: var(--nish-mint);
	box-shadow: 0 0 0 4px rgba(65, 189, 145, 0.12);
}

body.nishstudios-client-portal .woocommerce-MyAccount-navigation .nish-menu-customer-logout a {
	margin-top: 6px;
	border-top-color: var(--nish-border);
	border-radius: 0 0 13px 13px;
	color: var(--nish-danger);
}

body.nishstudios-client-portal .woocommerce-MyAccount-content {
	float: right;
	width: calc(100% - 280px);
	min-height: 440px;
	padding: 28px;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: var(--nish-shadow);
	backdrop-filter: blur(14px);
	color: var(--nish-text);
}

/* Remove WooCommerce's generic dashboard copy; the premium overview replaces it. */
body.nishstudios-client-portal.nish-portal-endpoint-dashboard .woocommerce-MyAccount-content > p {
	display: none !important;
}

body.nishstudios-client-portal .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

body.nishstudios-client-portal .woocommerce-MyAccount-content h2,
body.nishstudios-client-portal .woocommerce-MyAccount-content h3,
body.nishstudios-client-portal .woocommerce-MyAccount-content h4 {
	color: var(--nish-text-strong);
	letter-spacing: -0.027em;
}

body.nishstudios-client-portal .woocommerce-MyAccount-content p,
body.nishstudios-client-portal .woocommerce-MyAccount-content address {
	color: var(--nish-muted);
	line-height: 1.75;
}

.nish-service-summaries.has-multiple-services {
	display: grid;
	gap: 20px;
	margin-bottom: 24px;
}

.nish-service-summary-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 10px;
	padding: 0 2px;
}

.nish-service-summary-heading span {
	color: #718198;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.nish-service-summary-heading strong {
	color: var(--nish-text-strong);
	font-size: 17px;
	letter-spacing: -0.02em;
}

.nish-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.nish-service-summaries.has-multiple-services .nish-summary-grid {
	margin-bottom: 0;
}

.nish-summary-card {
	position: relative;
	min-height: 132px;
	padding: 21px;
	overflow: hidden;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius-sm);
	background: linear-gradient(155deg, #ffffff, #f8fbff);
	box-shadow: var(--nish-shadow-soft);
}

.nish-summary-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--nish-blue), var(--nish-cyan));
}

.nish-card-status::before {
	background: linear-gradient(90deg, var(--nish-mint), #8bd8bd);
}

.nish-card-billing::before {
	background: linear-gradient(90deg, #7c8fe6, #a6b4f2);
}

.nish-card-next::before {
	background: linear-gradient(90deg, #d4a14e, #f0c777);
}

.nish-summary-card span {
	display: block;
	margin-bottom: 14px;
	color: #718198;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.nish-summary-card strong {
	display: block;
	color: var(--nish-text-strong);
	font-size: 18px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.nish-status {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
}

.nish-status i {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--nish-mint);
	box-shadow: 0 0 0 4px rgba(65, 189, 145, 0.12);
}

.nish-status-pending-cancellation i,
.nish-status-pending-cancel i {
	background: var(--nish-gold);
	box-shadow: 0 0 0 4px rgba(217, 157, 50, 0.12);
}

.nish-status-inactive i,
.nish-status-cancelled i,
.nish-status-expired i {
	background: var(--nish-danger);
	box-shadow: 0 0 0 4px rgba(184, 77, 101, 0.11);
}

.nish-dashboard-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius-sm);
	background: linear-gradient(135deg, #fbfdff, #f6faf8);
}

.nish-dashboard-intro h2 {
	margin: 0;
	font-size: clamp(22px, 3vw, 30px);
}

.nish-dashboard-intro p {
	max-width: 480px;
	margin: 0;
}

body.nishstudios-client-portal table,
body.nishstudios-client-portal .shop_table,
body.nishstudios-client-portal .woocommerce-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	border: 1px solid var(--nish-border) !important;
	border-radius: var(--nish-radius-sm) !important;
	background: #ffffff !important;
	color: var(--nish-text) !important;
	box-shadow: 0 7px 18px rgba(37, 61, 96, 0.04);
}

body.nishstudios-client-portal table th,
body.nishstudios-client-portal table td,
body.nishstudios-client-portal .shop_table th,
body.nishstudios-client-portal .shop_table td {
	padding: 15px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--nish-border) !important;
	background: transparent !important;
	color: var(--nish-text) !important;
	vertical-align: middle !important;
}

body.nishstudios-client-portal table thead th {
	background: #f7faff !important;
}

body.nishstudios-client-portal table tr:last-child th,
body.nishstudios-client-portal table tr:last-child td {
	border-bottom: 0 !important;
}

body.nishstudios-client-portal table th {
	color: #5f6f86 !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

body.nishstudios-client-portal .woocommerce-orders-table__cell-order-status,
body.nishstudios-client-portal .subscription-status {
	font-weight: 850;
	color: #26785c !important;
}

body.nishstudios-client-portal .woocommerce-message,
body.nishstudios-client-portal .woocommerce-info,
body.nishstudios-client-portal .woocommerce-error {
	margin: 0 0 22px !important;
	padding: 16px 18px 16px 48px !important;
	border: 1px solid #cddff3 !important;
	border-radius: var(--nish-radius-sm) !important;
	background: #f2f8ff !important;
	color: var(--nish-text) !important;
}

body.nishstudios-client-portal .woocommerce-error {
	border-color: #f0c8d1 !important;
	background: var(--nish-danger-bg) !important;
}

body.nishstudios-client-portal .button,
body.nishstudios-client-portal button,
body.nishstudios-client-portal input[type="submit"],
body.nishstudios-client-portal .woocommerce-button {
	min-height: 42px;
	padding: 10px 17px !important;
	border: 1px solid #4d8bd3 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #5d9ce8, #72bae5) !important;
	box-shadow: 0 10px 24px rgba(75, 143, 232, 0.17);
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	transition: 180ms ease;
}

body.nishstudios-client-portal .button:hover,
body.nishstudios-client-portal button:hover,
body.nishstudios-client-portal input[type="submit"]:hover,
body.nishstudios-client-portal .woocommerce-button:hover {
	transform: translateY(-1px);
	filter: saturate(1.06) brightness(1.03);
	box-shadow: 0 14px 28px rgba(75, 143, 232, 0.22);
}

body.nishstudios-client-portal a.cancel,
body.nishstudios-client-portal .button.cancel,
body.nishstudios-client-portal .button.delete,
body.nishstudios-client-portal a.delete {
	border-color: #e5b9c3 !important;
	background: #fff6f8 !important;
	box-shadow: none !important;
	color: var(--nish-danger) !important;
}

body.nishstudios-client-portal .button.reactivate,
body.nishstudios-client-portal a.reactivate {
	border-color: #bfe3d5 !important;
	background: #effbf6 !important;
	box-shadow: none !important;
	color: #237657 !important;
}

body.nishstudios-client-portal label {
	color: #34445c !important;
	font-size: 13px;
	font-weight: 750;
}

body.nishstudios-client-portal input[type="text"],
body.nishstudios-client-portal input[type="email"],
body.nishstudios-client-portal input[type="password"],
body.nishstudios-client-portal input[type="tel"],
body.nishstudios-client-portal input[type="number"],
body.nishstudios-client-portal select,
body.nishstudios-client-portal textarea {
	width: 100%;
	min-height: 49px;
	border: 1px solid #d8e1ee !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	color: var(--nish-text-strong) !important;
	box-shadow: inset 0 1px 2px rgba(21, 37, 61, 0.025) !important;
}

body.nishstudios-client-portal input:focus,
body.nishstudios-client-portal select:focus,
body.nishstudios-client-portal textarea:focus {
	border-color: var(--nish-blue) !important;
	box-shadow: 0 0 0 4px rgba(75, 143, 232, 0.10) !important;
	outline: 0 !important;
}

body.nishstudios-client-portal fieldset {
	margin: 20px 0;
	padding: 21px;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius-sm);
	background: #fbfdff;
}

body.nishstudios-client-portal legend {
	padding: 0 8px;
	color: var(--nish-text-strong);
	font-weight: 850;
}

body.nishstudios-client-portal address {
	padding: 18px;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius-sm);
	background: #f9fbfe;
	font-style: normal;
}

body.nishstudios-client-portal .woocommerce-Address,
body.nishstudios-client-portal .woocommerce-column {
	padding: 20px;
	border: 1px solid var(--nish-border);
	border-radius: var(--nish-radius-sm);
	background: #ffffff;
	box-shadow: var(--nish-shadow-soft);
}

/* Billing-only layout */
body.nishstudios-client-portal.nish-portal-endpoint-edit-address .u-columns,
body.nishstudios-client-portal.nish-portal-endpoint-edit-address .woocommerce-Addresses {
	display: block !important;
}

body.nishstudios-client-portal.nish-portal-endpoint-edit-address .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	max-width: 720px;
}

.nish-support-card {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 20px;
	align-items: start;
	padding: 30px;
	border: 1px solid #d7e3f2;
	border-radius: var(--nish-radius);
	background:
		radial-gradient(circle at 92% 12%, rgba(103, 189, 240, 0.15), transparent 19rem),
		linear-gradient(135deg, #ffffff, #f2f7ff 58%, #eff9f5);
	box-shadow: var(--nish-shadow-soft);
}

.nish-support-card h2 {
	margin: 4px 0 10px !important;
	font-size: clamp(26px, 4vw, 38px);
}

.nish-support-icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 1px solid #c4d9ef;
	border-radius: 17px;
	background: #eef6ff;
	color: var(--nish-blue-deep);
	font-size: 25px;
	font-weight: 900;
}

.nish-primary-button {
	display: inline-flex !important;
	margin-top: 8px;
}

body.nishstudios-client-portal .woocommerce-form-login,
body.nishstudios-client-portal .woocommerce-form-register,
body.nishstudios-client-portal .u-column1,
body.nishstudios-client-portal .u-column2 {
	border-color: var(--nish-border) !important;
	border-radius: var(--nish-radius) !important;
	background: #ffffff !important;
	color: var(--nish-text) !important;
	box-shadow: var(--nish-shadow-soft);
}

@media (max-width: 1024px) {
	.nish-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nish-dashboard-intro {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 820px) {
	body.nishstudios-client-portal .woocommerce {
		width: min(100% - 24px, 760px);
		padding-top: 24px;
	}

	.nish-portal-hero {
		padding: 26px 24px;
	}

	.nish-portal-hero-row {
		align-items: flex-start;
		flex-direction: column;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-navigation,
	body.nishstudios-client-portal .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-navigation {
		margin-bottom: 16px;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-direction: row;
		gap: 8px;
		overflow-x: auto;
		padding: 10px !important;
		scrollbar-width: thin;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-navigation a {
		min-height: 44px;
		padding: 10px 14px 10px 36px;
		white-space: nowrap;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-content {
		padding: 21px;
	}

	body.nishstudios-client-portal table,
	body.nishstudios-client-portal .shop_table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

@media (max-width: 560px) {
	.nish-summary-grid {
		grid-template-columns: 1fr;
	}

	.nish-service-summary-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.nish-portal-hero h1 {
		font-size: 33px !important;
	}

	.nish-secure-chip {
		padding: 9px 12px;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-content {
		padding: 16px;
	}

	body.nishstudios-client-portal .woocommerce-MyAccount-content .button {
		width: 100%;
		margin: 4px 0 !important;
		text-align: center;
		justify-content: center;
	}

	.nish-support-card {
		grid-template-columns: 1fr;
		padding: 22px;
	}
}

/* v1.2.3 — keep the logged-out portal footer at the bottom of short screens. */
@media (min-width: 701px) {
	html:has(body.nishstudios-client-portal:not(.logged-in)) {
		min-height: 100%;
	}

	body.nishstudios-client-portal:not(.logged-in) {
		display: flex !important;
		flex-direction: column !important;
		min-height: 100vh !important;
	}

	body.nishstudios-client-portal:not(.logged-in) > .nish-portal-footer {
		margin-top: auto !important;
	}
}


/* v1.1.1 — portal finishing polish */

/* Remove the generic theme footer on account pages; the branded portal footer replaces it. */
body.nishstudios-client-portal footer.site-footer,
body.nishstudios-client-portal #colophon,
body.nishstudios-client-portal .site-info,
body.nishstudios-client-portal .elementor-location-footer {
	display: none !important;
}

/* Prevent theme/Elementor wrappers from creating a large empty tail below short portal pages. */
body.nishstudios-client-portal .site-content,
body.nishstudios-client-portal main#primary,
body.nishstudios-client-portal .content-area,
body.nishstudios-client-portal .page-content,
body.nishstudios-client-portal .elementor-location-single,
body.nishstudios-client-portal .elementor-section-wrap {
	min-height: 0 !important;
}

body.nishstudios-client-portal .woocommerce-MyAccount-content {
	margin-bottom: 0;
}

/* Branded, intentional footer */
.nish-portal-footer {
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto 28px;
	padding: 0;
	color: var(--nish-muted);
}

.nish-portal-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	padding: 17px 22px;
	min-height: 74px;
	border: 1px solid rgba(210, 221, 235, 0.95);
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.94), rgba(246,250,255,0.92));
	box-shadow: 0 10px 28px rgba(37, 61, 96, 0.07);
}

.nish-portal-footer-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex: 0 0 auto;
}

.nish-portal-footer-brand > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.nish-footer-mark {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid #c9daed;
	border-radius: 12px;
	background: linear-gradient(135deg, #edf5ff, #eef9f5);
	color: #245f9e;
	font-size: 15px;
	font-weight: 900;
	box-shadow: 0 6px 16px rgba(75, 143, 232, 0.09);
}

.nish-portal-footer-brand strong,
.nish-portal-footer-brand span {
	display: block;
}

.nish-portal-footer-brand strong {
	color: var(--nish-text-strong);
	font-size: 14px;
	line-height: 1.2;
}

.nish-portal-footer-brand span {
	margin-top: 3px;
	color: var(--nish-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.nish-portal-footer p {
	margin: 0;
	display: flex;
	align-items: center;
	color: #6c7b91;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.4;
	text-align: right;
}

/* Account-page utility icons: clearer styling without touching the WordPress admin toolbar. */
body.nishstudios-client-portal .site-header .search-toggle,
body.nishstudios-client-portal .site-header .header-search button,
body.nishstudios-client-portal .elementor-location-header .elementor-search-form__toggle,
body.nishstudios-client-portal .site-header .account-link,
body.nishstudios-client-portal .site-header .header-account a {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0 !important;
	border: 1px solid #d5e0ed !important;
	border-radius: 13px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	color: #34516f !important;
	box-shadow: 0 8px 20px rgba(37, 61, 96, 0.08);
}

body.nishstudios-client-portal .site-header .search-toggle:hover,
body.nishstudios-client-portal .site-header .header-search button:hover,
body.nishstudios-client-portal .elementor-location-header .elementor-search-form__toggle:hover,
body.nishstudios-client-portal .site-header .account-link:hover,
body.nishstudios-client-portal .site-header .header-account a:hover {
	border-color: #b9cee6 !important;
	background: #f2f8ff !important;
	transform: translateY(-1px);
}

@media (max-width: 820px) {
	.nish-portal-footer {
		width: min(100% - 24px, 760px);
		margin-bottom: 18px;
	}

	.nish-portal-footer-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.nish-portal-footer p {
		text-align: left;
	}
}

@media (max-width: 560px) {
	.nish-portal-footer-inner {
		padding: 15px 16px;
	}

	.nish-portal-footer p {
		font-size: 11px;
	}
}


/* v1.1.2 — remove the nonessential theme search control from portal pages.
 * This is deliberately scoped to My Account pages only and does not affect
 * the public Nishstudios website header.
 */
body.nishstudios-client-portal .site-header .search-toggle,
body.nishstudios-client-portal .site-header .search-button,
body.nishstudios-client-portal .site-header .search-icon,
body.nishstudios-client-portal .site-header .header-search,
body.nishstudios-client-portal .site-header .header-search-button,
body.nishstudios-client-portal .site-header .search-form,
body.nishstudios-client-portal .site-header .search-form-wrapper,
body.nishstudios-client-portal .site-header .search-popup-trigger,
body.nishstudios-client-portal .site-header .search-toggle-wrapper,
body.nishstudios-client-portal .site-header [class*="search-toggle"],
body.nishstudios-client-portal .site-header [class*="search-button"],
body.nishstudios-client-portal .site-header [class*="header-search"],
body.nishstudios-client-portal .site-header [aria-label*="search" i],
body.nishstudios-client-portal .site-header [title*="search" i],
body.nishstudios-client-portal .elementor-location-header .elementor-search-form,
body.nishstudios-client-portal .elementor-location-header .elementor-search-form__toggle,
body.nishstudios-client-portal .elementor-location-header [class*="search"],
body.nishstudios-client-portal .hfe-search-button-wrapper,
body.nishstudios-client-portal .hfe-search-icon-toggle,
body.nishstudios-client-portal .ekit_navsearch-button,
body.nishstudios-client-portal .ast-header-search,
body.nishstudios-client-portal .ast-search-icon,
body.nishstudios-client-portal .header-search {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}


/* v1.1.3 — definitive WordPress admin-bar isolation.
 * The white pill at the upper-right was the admin-bar search input inheriting
 * portal form styles. Customers never see the admin bar, but administrators
 * should still get a clean, undistorted interface.
 */
body.nishstudios-client-portal #wpadminbar #wp-admin-bar-search {
	display: none !important;
}

body.nishstudios-client-portal #wpadminbar input,
body.nishstudios-client-portal #wpadminbar input[type="text"],
body.nishstudios-client-portal #wpadminbar input[type="search"],
body.nishstudios-client-portal #wpadminbar button,
body.nishstudios-client-portal #wpadminbar select,
body.nishstudios-client-portal #wpadminbar textarea {
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
}

/* Keep portal form styling inside WooCommerce content only. */
body.nishstudios-client-portal .woocommerce-MyAccount-content input[type="text"],
body.nishstudios-client-portal .woocommerce-MyAccount-content input[type="email"],
body.nishstudios-client-portal .woocommerce-MyAccount-content input[type="password"],
body.nishstudios-client-portal .woocommerce-MyAccount-content input[type="tel"],
body.nishstudios-client-portal .woocommerce-MyAccount-content input[type="number"],
body.nishstudios-client-portal .woocommerce-MyAccount-content select,
body.nishstudios-client-portal .woocommerce-MyAccount-content textarea {
	width: 100%;
	min-height: 49px;
	border: 1px solid #d8e1ee !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	color: var(--nish-text-strong) !important;
	box-shadow: inset 0 1px 2px rgba(21, 37, 61, 0.025) !important;
}

/* v1.1.6 — secure chip moved higher, footer returned to the cleaner split layout. */
.nish-portal-hero-main {
	flex: 1 1 auto;
	min-width: 0;
}

@media (max-width: 980px) {
	.nish-portal-hero-tools {
		flex: 0 0 100%;
		max-width: none;
		align-items: flex-start;
		padding-top: 0;
	}

	.nish-portal-hero-row {
		align-items: stretch;
		flex-direction: column;
	}

	.nish-secure-chip {
		align-self: flex-start;
	}
}


/* v1.1.8 — final footer centering fix. Both brand and copyright sit together in the center. */
body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: row !important;
	gap: 30px !important;
	min-height: 74px;
	text-align: center;
}

body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-brand {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px;
	flex: 0 0 auto;
	text-align: left;
}

body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-brand > div {
	display: flex !important;
	flex-direction: column;
	justify-content: center !important;
	align-items: flex-start;
}

body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner > p {
	position: relative;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding-left: 30px;
	text-align: center !important;
	white-space: nowrap;
}

body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner > p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 34px;
	transform: translateY(-50%);
	background: #dbe4ef;
}

@media (max-width: 700px) {
	body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner {
		flex-direction: column !important;
		gap: 12px !important;
	}

	body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-brand {
		justify-content: center !important;
	}

	body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner > p {
		padding-left: 0;
		white-space: normal;
	}

	body.nishstudios-client-portal .nish-portal-footer .nish-portal-footer-inner > p::before {
		display: none;
	}
}

/* v1.1.9 — refined login layout and cleanup for the logged-out portal page. */
body.nishstudios-client-portal:not(.logged-in) .woocommerce {
	width: min(1120px, calc(100% - 40px));
	padding-top: 34px;
	padding-bottom: 8px;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce h2,
body.nishstudios-client-portal:not(.logged-in) .woocommerce > h2,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column1 h2,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column2 h2 {
	margin: 0 0 18px !important;
	font-size: clamp(30px, 4vw, 42px) !important;
	letter-spacing: -0.03em;
	color: var(--nish-text-strong) !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column1,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column2 {
	max-width: 860px;
	margin: 0 auto 22px !important;
	padding: 28px 28px 22px !important;
	border: 1px solid rgba(207, 218, 233, 0.98) !important;
	border-radius: 28px !important;
	background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,252,255,0.98)) !important;
	box-shadow: 0 16px 42px rgba(37, 61, 96, 0.09) !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .form-row {
	margin: 0 0 14px !important;
}

/* v1.2.0 — use the real black Nishstudios logo in the portal masthead and footer. */
body.nishstudios-client-portal .wp-block-site-title,
body.nishstudios-client-portal .site-title {
	margin: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.nishstudios-client-portal .wp-block-site-title > a,
body.nishstudios-client-portal .site-title > a,
body.nishstudios-client-portal .site-branding .site-title a {
	display: block !important;
	width: clamp(155px, 14.8vw, 203px) !important;
	aspect-ratio: 2048 / 911;
	font-size: 0 !important;
	line-height: 0 !important;
	background: url('https://nishstudios.com/wp-content/uploads/2026/07/P05-serif-luxury-black-transparent_logo.webp') center / contain no-repeat !important;
}

body.nishstudios-client-portal .nish-portal-footer-logo {
	display: block;
	width: 94px;
	height: auto;
	max-height: 44px;
	object-fit: contain;
}

body.nishstudios-client-portal .nish-portal-footer-brand > div {
	min-width: 132px;
}

@media (max-width: 560px) {
	body.nishstudios-client-portal .wp-block-site-title > a,
	body.nishstudios-client-portal .site-title > a,
	body.nishstudios-client-portal .site-branding .site-title a {
		width: 155px !important;
	}

	body.nishstudios-client-portal .nish-portal-footer-logo {
		width: 86px;
	}
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login .form-row label,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register .form-row label {
	display: block;
	margin-bottom: 8px;
	color: #2e425f !important;
	font-size: 13px;
	font-weight: 800;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login input[type="text"],
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login input[type="email"],
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login input[type="password"],
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register input[type="text"],
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register input[type="email"],
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register input[type="password"] {
	min-height: 54px;
	padding: 0 16px;
	border-radius: 14px !important;
	background: #ffffff !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register .woocommerce-form-register__submit {
	min-width: 118px;
	padding-inline: 22px !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 10px;
	font-weight: 700;
	color: #41536f !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .lost_password,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-LostPassword {
	margin-top: 10px !important;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .lost_password a,
body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-LostPassword a {
	font-weight: 700;
}

body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

body.nishstudios-client-portal:not(.logged-in) .site-content,
body.nishstudios-client-portal:not(.logged-in) main#primary,
body.nishstudios-client-portal:not(.logged-in) .content-area,
body.nishstudios-client-portal:not(.logged-in) .entry-content,
body.nishstudios-client-portal:not(.logged-in) .page-content,
body.nishstudios-client-portal:not(.logged-in) .elementor,
body.nishstudios-client-portal:not(.logged-in) .elementor-section-wrap,
body.nishstudios-client-portal:not(.logged-in) .elementor-widget-wrap {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.nishstudios-client-portal:not(.logged-in) .nish-portal-footer {
	margin-top: 12px;
	margin-bottom: 0;
}

body.nishstudios-client-portal:not(.logged-in) .nish-portal-footer .nish-portal-footer-inner {
	justify-content: center !important;
}

@media (max-width: 900px) {
	body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	body.nishstudios-client-portal:not(.logged-in) .woocommerce {
		width: min(100% - 24px, 760px);
		padding-top: 22px;
	}

	body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login,
	body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-register,
	body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column1,
	body.nishstudios-client-portal:not(.logged-in) .woocommerce .u-column2 {
		padding: 22px 18px 18px !important;
		border-radius: 22px !important;
	}

	body.nishstudios-client-portal:not(.logged-in) .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
		display: flex;
		margin: 8px 0 0;
	}
}

/* v1.3.0 — first-login and password-recovery guidance. */
body.nishstudios-client-portal:not(.logged-in) .nish-account-access-note {
	display: block;
	margin: 0 0 18px;
	padding: 15px 17px;
	border: 1px solid rgba(79, 140, 255, 0.22);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(79, 140, 255, 0.08), rgba(49, 212, 152, 0.08));
	color: #334864;
	font-size: 13px;
	line-height: 1.65;
}

body.nishstudios-client-portal:not(.logged-in) .nish-account-access-note strong {
	display: block;
	margin-bottom: 3px;
	color: #10233f;
	font-size: 14px;
	font-weight: 850;
}

body.nishstudios-client-portal:not(.logged-in) .nish-account-recovery-note {
	margin-bottom: 22px;
}
