/**
 * EndCaps My Account Customizer - Dark Theme Styles
 * Custom dark theme with purple accents for WooCommerce My Account page
 */

@font-face {
	font-family: 'Cambria';
	src: url('../fonts/Cambria.woff2') format('woff2'),
		url('../fonts/Cambria.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cambria';
	src: url('../fonts/Cambria-Bold.woff2') format('woff2'),
		url('../fonts/Cambria-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* CSS Variables for consistent theming */
:root {
	--endcaps-bg-primary: #0F0F0F;
	--endcaps-accent-purple: #AC3CEC;
	--endcaps-text-primary: #FFFFFF;
}

.endcaps-myaccount #primary {
	display: none;
}

/* Main container styling */
.endcaps-myaccount main,
.endcaps-myaccount .main {
	background-color: var(--endcaps-bg-primary);
	color: var(--endcaps-text-primary);
	font-family: 'Cambria', sans-serif;
	font-size: 21px;
	margin-top: 100px;
	padding-bottom: 100px;
	position: relative;
	overflow: hidden;
}

.endcaps-myaccount .main .page-content-wrap {
	font-size: 21px;
}

.endcaps-myaccount main::before,
.endcaps-myaccount .main::before,
.endcaps-myaccount main::after,
.endcaps-myaccount .main::after {
	content: '';
	position: absolute;
	width: 50%;
	height: 100%;
	background-color: var(--endcaps-bg-primary);
}

.endcaps-myaccount main::before,
.endcaps-myaccount .main::before {
	right: 100%;
}

.endcaps-myaccount main::after,
.endcaps-myaccount .main::after {
	left: 100%;
}

.endcaps-myaccount .page-content-wrap {
	margin-left: 0;
	width: 100%;
}

.endcaps-myaccount input,
.endcaps-myaccount .woocommerce form .form-row .input-text {
	width: 100%;
	padding: 10px 0;
	background: transparent;
	border: none;
	border-bottom: 2px solid #FFFFFF;
	color: var(--endcaps-text-primary);
	font-size: 21px;
	border-radius: 0;
}

.endcaps-myaccount .select2-search--dropdown .select2-search__field {
	color: #000;
}

.endcaps-myaccount .endcaps-btn,
.endcaps-myaccount .woocommerce .endcaps-btn,
.endcaps-myaccount .woocommerce-address-fields button[type="submit"] {
	border-radius: 14px;
	border: 2px solid rgba(255, 255, 255, 0.33);
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	padding: 7px 0;
	line-height: 1;
	transition: all 0.3s ease;
	cursor: pointer;
	color: var(--endcaps-text-primary);
	background-color: transparent;
	text-transform: capitalize;
	font-family: 'Cambria', sans-serif;
}

.endcaps-myaccount .endcaps-btn:hover,
.endcaps-myaccount .woocommerce .endcaps-btn:hover,
.endcaps-myaccount .endcaps-account-header .endcaps-btn.active:hover,
.endcaps-myaccount .woocommerce-address-fields button[type="submit"]:hover {
	background-color: var(--endcaps-accent-purple);
	color: var(--endcaps-text-primary);
	border-color: transparent;
	opacity: 1 !important;
}

/* Account Header styling */
.endcaps-myaccount .endcaps-account-header {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 75px;
}

.endcaps-myaccount .endcaps-account-header .endcaps-header-left {
	flex: 1;
}

.endcaps-myaccount .endcaps-account-header .endcaps-header-title {
	font-size: 57.5px;
	font-weight: 700;
	font-family: 'Cambria', sans-serif;
	line-height: 1;
	color: var(--endcaps-accent-purple);
	margin-top: 0;
	margin-bottom: 20px;
}

.endcaps-myaccount .endcaps-account-header .endcaps-header-subtitle {
	color: var(--endcaps-text-primary);
	font-size: 24.5px;
	font-weight: 700;
	margin: 0;
}

.endcaps-myaccount .endcaps-account-header .endcaps-header-description {
	font-size: 24.5px;
	margin: 0;
	max-width: 780px;
}

.endcaps-myaccount .endcaps-account-header .endcaps-header-right {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: center;
}

.endcaps-myaccount .endcaps-account-header .endcaps-btn {
	width: 243px;
}

.endcaps-myaccount .endcaps-account-header .endcaps-btn.active {
	background-color: var(--endcaps-text-primary);
	border-color: var(--endcaps-text-primary);
	color: var(--endcaps-accent-purple);
}

.endcaps-myaccount .endcaps-account-header .endcaps-nav-account {
	margin-top: 13px;
}

.endcaps-myaccount .endcaps-purple-block,
.endcaps-myaccount .woocommerce-address-fields {
	background: rgba(72, 0, 159, 0.23);
	border: 1px solid rgba(255, 255, 255, 0.49);
	box-shadow: inset 0px 0px 25px 5px rgba(141, 48, 255, 0.43);
	border-radius: 32px;
	padding: 35px;
}

.endcaps-myaccount .woocommerce-MyAccount-navigation,
.endcaps-myaccount .woocommerce-MyAccount-content >p {
	display: none;
}

.endcaps-myaccount .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

/* Dashboard orders card */
/* .endcaps-myaccount .endcaps-orders-card {
	min-height: 70vh;
} */

/* Card headers */
.endcaps-myaccount .endcaps-card-header {
	background-color: var(--endcaps-text-primary);
	color: var(--endcaps-accent-purple);
	padding: 7px 0;
	margin-bottom: 20px;
	line-height: 1;
	font-weight: 700;
	border: 2px solid #FFFFFF;
	border-radius: 14px;
	text-align: center;
	font-size: 21px;
}

/* Orders table styling */
.endcaps-myaccount .endcaps-orders-table {
	width: 100%;
	text-align: center;
}

.endcaps-myaccount .endcaps-search-input {
	background: #212121;
	border: 2px solid #8D30FF;
	border-radius: 97px;
	max-width: 560px;
	padding-inline: 30px;
	font-size: 15px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.endcaps-myaccount .endcaps-search-input-wrapper.is-focused .endcaps-search-input {
	background: none;
}

.endcaps-myaccount .endcaps-search-input::placeholder {
	color: rgba(255, 255, 255, 0.52);
}

.endcaps-myaccount .endcaps-orders-table tbody td {
	padding-inline: 10px;
}

.endcaps-myaccount .endcaps-orders-table thead>tr>th,
.endcaps-myaccount .endcaps-orders-table tbody>tr>td {
	text-align: center;
}

.endcaps-myaccount .endcaps-orders-table thead>tr>th {
	font-size: 21px;
}

.endcaps-myaccount .endcaps-orders-table tbody>tr>td {
	font-size: 20px;
	padding-bottom: 16px;
	vertical-align: top;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-table-subheader th {
	padding-bottom: 35px;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-sku {
	text-align: left;
	text-transform: capitalize;
	line-height: 100%;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-report {
	text-align: left;
	text-transform: capitalize;
	max-width: 110px;
	line-height: 100%;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-retailer {
	text-transform: capitalize;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-status {
	white-space: nowrap;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-view-report-td {
	max-width: 140px;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-view-report {
	font-weight: 700;
	border: 2px solid rgba(255, 255, 255, 0.33);
	border-radius: 3px;
	transition: all 0.3s ease;
	padding: 3px 8px;
	line-height: 20px;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-view-report:hover {
	background-color: var(--endcaps-accent-purple);
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-view-report a {
	text-decoration: none;
	outline: none;
	color: #fff;
	opacity: 1 !important;
}

.endcaps-myaccount .endcaps-orders-table .endcaps-orders-view-report a.disabled {
	pointer-events: none;
  opacity: 0.5;
  color: #888;
  cursor: default;
}

/* Edit account form */
.endcaps-myaccount .endcaps-account-wrapper {
	max-width: 942px;
	margin-inline: auto;
}

.endcaps-myaccount .endcaps-edit-account-form {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-details {
	width: 100%;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-password {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-password .endcaps-input-wrapper {
	max-width: 200px;
	margin-top: 0;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-password .endcaps-btn-wrapper {
	width: 100%;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-btn-wrapper {
	margin-top: auto;
	text-align: right;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-btn-wrapper .endcaps-btn,
.endcaps-myaccount .woocommerce-address-fields button[type="submit"] {
	margin-top: 20px;
	font-size: 21px;
	padding-inline: 30px;
}

.endcaps-myaccount .woocommerce-address-fields button[type="submit"] {
	margin-inline: auto;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-details .endcaps-btn-wrapper {
	margin-top: 35px;
}

.endcaps-myaccount .endcaps-input-wrapper {
	margin-top: 32px;
	height: 100px;
	position: relative;
}

.endcaps-myaccount .endcaps-input-wrapper label {
	font-weight: 700;
}

.endcaps-myaccount .endcaps-input-wrapper label .required {
	color: #FF9898;
}

.endcaps-myaccount .endcaps-input-wrapper .endcaps-input-description {
	color: rgba(255, 255, 255, 0.4);
	font-weight: 700;
	font-size: 16px;
}

.endcaps-myaccount .endcaps-input-wrapper .woocommerce-password-strength {
	z-index: 1;
	position: relative;
}

.endcaps-myaccount .endcaps-input-wrapper .woocommerce-password-hint {
	position: absolute;
	background-color: #fff;
	color: #000;
	margin-top: -2px;
	padding: 5px;
	z-index: 1;
}

.endcaps-myaccount .endcaps-form-row-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	margin-top: 32px;
}

.endcaps-myaccount .endcaps-form-row-wrapper .endcaps-input-wrapper {
	margin-block: 0;
}

/* Address section */
.endcaps-myaccount .endcaps-address-section {
	margin-top: 20px;
}

.endcaps-myaccount .endcaps-address-section .endcaps-address-content {
	text-align: center;
}

.endcaps-myaccount .endcaps-address-section .endcaps-address-details {
	font-weight: 700;
}

.endcaps-myaccount .endcaps-address-section .endcaps-address-item {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
}

.endcaps-myaccount .endcaps-address-section .endcaps-address-button .endcaps-btn {
	display: block;
	min-width: 315px;
	line-height: 25px !important;
}

.endcaps-myaccount .endcaps-account-footer {
	margin-top: 35px;
	text-align: center;
}

.endcaps-myaccount .endcaps-account-footer .endcaps-nav-logout {
	margin-top: auto;
	background-color: var(--endcaps-accent-purple);
	border: 2px solid #AC3CED;
	color: var(--endcaps-text-primary);
	transform: translateY(20px);
	min-width: 247px;
	display: inline-block;
}

.endcaps-myaccount .endcaps-account-footer .endcaps-nav-logout:hover {
	background-color: var(--endcaps-text-primary);
	color: var(--endcaps-accent-purple);
}

/* Responsive design */
@media (max-width: 768px) {
	.endcaps-myaccount main,
	.endcaps-myaccount .main {
		margin-top: 50px;
	}

	.endcaps-myaccount .endcaps-account-header {
		flex-wrap: wrap;
	}

	.endcaps-myaccount .endcaps-account-header .endcaps-header-left,
	.endcaps-myaccount .endcaps-account-header .endcaps-header-right {
		width: 100%;
	}

	.endcaps-myaccount .endcaps-account-header .endcaps-header-right {
		align-items: center;
		margin-top: 30px;
	}

	.endcaps-myaccount .endcaps-orders-card {
		overflow-x: auto;
	}

	.endcaps-myaccount .endcaps-input-wrapper {
		height: auto;
	}

	.endcaps-myaccount .endcaps-form-row-wrapper {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.endcaps-myaccount .endcaps-edit-account-form .endcaps-edit-account-password .endcaps-input-wrapper {
		width: 100%;
		max-width: 100%;
		margin-top: 32px;
	}

	.endcaps-myaccount .endcaps-edit-account-form .endcaps-btn-wrapper {
		text-align: center;
	}

	.endcaps-myaccount .endcaps-edit-account-form .endcaps-btn-wrapper .endcaps-btn {
		margin-top: 50px;
	}

	.endcaps-myaccount .endcaps-address-section .endcaps-address-item {
		flex-wrap: wrap;
	}
}
