/**
 * Account shell. Every rule is scoped to the My Account body class
 * so Checkout and catalogue screens keep their own presentation.
 */

.pbpe-account .pb-page > .pb-page-title,
.pbpe-account .pb-page-title,
.pbpe-account .wp-block-post-title,
.pbpe-account .pb-page-media {
	display: none;
}

.pbpe-account .pb-page-content,
.pbpe-account .wp-block-post-content {
	width: 100%;
	max-width: none;
	margin-top: 0;
	padding-bottom: 0;
	overflow-x: visible;
}

.pbpe-account .woocommerce-MyAccount-navigation {
	display: none;
}

body.pbpe-account.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	clear: both;
	width: 100%;
	max-width: none;
}

.pbpe-account .pb-account-hero {
	padding: 1.75rem 1.5rem 1.5rem;
	background: var(--pb-navy);
	color: var(--pb-white);
}

.pbpe-account .pb-account-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--pb-text-eyebrow);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-eyebrow);
	line-height: 1;
	text-transform: uppercase;
}

.pbpe-account .pb-account-tick {
	flex: 0 0 auto;
	width: 2px;
	height: 0.75rem;
	background: var(--pb-red);
}

.pbpe-account .pb-account-title {
	margin: 0.75rem 0 0;
	color: var(--pb-white);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	letter-spacing: var(--pb-tracking-display);
	text-transform: uppercase;
}

.pbpe-account .pb-account-body {
	padding-block: 1.75rem 3rem;
	background: var(--pb-white);
}

.pbpe-account .pb-account-content {
	min-width: 0;
}

.pbpe-account .pb-account-nav {
	display: none;
}

.pbpe-account .pb-account-nav ul,
.pbpe-account .pb-account-disclosure ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pbpe-account .pb-account-nav a,
.pbpe-account .pb-account-disclosure a {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.75rem;
	color: var(--pb-navy);
	font-family: var(--font-sans);
	font-size: var(--pb-text-nav);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-nav);
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.pbpe-account .pb-account-disclosure {
	margin: 0 0 1.75rem;
	border: 1px solid var(--pb-navy);
}

.pbpe-account .pb-account-disclosure summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 2.75rem;
	padding: 0.75rem 1rem;
	cursor: pointer;
	list-style: none;
}

.pbpe-account .pb-account-disclosure summary::-webkit-details-marker {
	display: none;
}

.pbpe-account .pb-account-menu-label,
.pbpe-account .pb-account-menu-current {
	font-family: var(--font-sans);
	font-size: var(--pb-text-nav);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-nav);
	line-height: 1.2;
	text-transform: uppercase;
}

.pbpe-account .pb-account-disclosure nav {
	border-top: 1px solid var(--pb-navy-15);
}

.pbpe-account .pb-account-disclosure a {
	padding-inline: 1rem;
}

.pbpe-account .pb-account-education h2,
.pbpe-account .pb-account-overview h2,
.pbpe-account .pb-account-content > h2,
.pbpe-account .pb-account-content h2,
.pbpe-account .pb-account-empty h3,
.pbpe-account .pb-edu-title {
	margin: 0;
	color: var(--pb-navy);
	letter-spacing: var(--pb-tracking-display-tight);
	text-transform: uppercase;
}

.pbpe-account .pb-account-education h2,
.pbpe-account .pb-account-overview h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.pbpe-account .pb-account-intro,
.pbpe-account .pb-account-empty p,
.pbpe-account .pb-edu-note,
.pbpe-account .pb-edu-instructions,
.pbpe-account .woocommerce-privacy-policy-text,
.pbpe-account .lost_reset_password > p {
	margin: 0.75rem 0 0;
	color: var(--pb-navy);
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	font-weight: var(--pb-weight-regular);
	letter-spacing: 0;
	line-height: var(--pb-leading-body);
	text-transform: none;
}

.pbpe-account .pb-account-empty {
	margin-top: 1.75rem;
}

.pbpe-account .pb-account-empty h3 {
	font-size: 1.25rem;
}

.pbpe-account .pb-account-empty .pb-btn {
	margin-top: 1.25rem;
}

.pbpe-account .pb-edu-list {
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--pb-navy);
}

.pbpe-account .pb-edu-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 1.5rem;
	padding-block: 1.25rem;
	border-bottom: 1px solid var(--pb-navy-15);
}

.pbpe-account .pb-edu-title {
	font-family: var(--font-display);
	font-size: var(--pb-text-card-title);
	font-weight: var(--pb-weight-medium);
	line-height: var(--pb-leading-title);
	overflow-wrap: anywhere;
}

.pbpe-account .pb-edu-format,
.pbpe-account .pb-edu-status,
.pbpe-account .pb-edu-progress {
	margin: 0;
	font-family: var(--font-sans);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-meta);
	line-height: 1.3;
	text-transform: uppercase;
}

.pbpe-account .pb-edu-format,
.pbpe-account .pb-edu-progress {
	color: var(--pb-navy-55);
	font-size: var(--pb-text-meta);
}

.pbpe-account .pb-edu-format {
	margin-top: 0.4rem;
}

.pbpe-account .pb-edu-status {
	color: var(--pb-navy);
	font-size: var(--pb-text-control);
}

.pbpe-account .pb-edu-progress {
	margin-top: 0.65rem;
}

.pbpe-account .pb-edu-instructions {
	overflow-wrap: anywhere;
}

.pbpe-account .pb-edu-instructions a {
	color: var(--pb-navy);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.pbpe-account .pb-edu-action {
	margin: 0.35rem 0 0;
}

.pbpe-account .pb-edu-action .pb-arrow-link {
	min-height: 2.75rem;
	text-decoration: none;
}

.pbpe-account .pb-account-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.pbpe-account .pb-account-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	min-height: 100%;
	padding: 1.25rem;
	border: 1px solid var(--pb-navy);
	background: var(--pb-white);
	color: var(--pb-navy);
	text-decoration: none;
}

.pbpe-account .pb-account-card:hover,
.pbpe-account .pb-account-card:focus-visible {
	border-color: var(--pb-red);
}

.pbpe-account .pb-account-card-label {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-family: var(--font-sans);
	font-size: var(--pb-text-nav);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-nav);
	line-height: 1.2;
	text-transform: uppercase;
}

.pbpe-account .pb-account-card-copy {
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	font-weight: var(--pb-weight-regular);
	letter-spacing: 0;
	line-height: var(--pb-leading-body);
	text-transform: none;
}

.pbpe-account .pb-account-shell.is-guest {
	width: 100%;
	max-width: none;
}

.pbpe-account .pb-account-shell.is-guest .pb-account-content {
	max-width: 64rem;
}

.pbpe-account .pb-account-shell.is-guest .form-row-first,
.pbpe-account .pb-account-shell.is-guest .form-row-last {
	float: none;
	width: 100%;
}

.pbpe-account .pb-account-shell.is-guest h2 {
	margin: 0 0 1rem;
	color: var(--pb-navy);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	letter-spacing: var(--pb-tracking-display-tight);
	text-transform: uppercase;
}

.pbpe-account #customer_login {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	margin: 0;
}

.pbpe-account #customer_login .u-column1,
.pbpe-account #customer_login .u-column2,
.pbpe-account #customer_login .col-1,
.pbpe-account #customer_login .col-2,
.pbpe-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
}

.pbpe-account .pb-account-shell .form-row,
.pbpe-account .pb-account-shell .woocommerce-form-row {
	margin: 0 0 1rem;
	padding: 0;
}

.pbpe-account .pb-account-shell .form-row label,
.pbpe-account .pb-account-shell .woocommerce-form-row label,
.pbpe-account .pb-account-shell legend {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--pb-navy);
	font-family: var(--font-sans);
	font-size: var(--pb-text-meta);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-meta);
	line-height: 1.3;
	text-transform: uppercase;
}

.pbpe-account .pb-account-shell .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: var(--pb-text-body);
	letter-spacing: 0;
	text-transform: none;
}

.pbpe-account .pb-account-shell input.input-text,
.pbpe-account .pb-account-shell textarea,
.pbpe-account .pb-account-shell select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--pb-navy);
	border-radius: 0;
	background: var(--pb-white);
	color: var(--pb-navy);
	box-shadow: none;
}

.pbpe-account .pb-account-shell textarea {
	min-height: 8rem;
}

.pbpe-account .pb-account-shell input[type="checkbox"],
.pbpe-account .pb-account-shell input[type="radio"] {
	width: 1rem;
	height: 1rem;
	min-height: 0;
	accent-color: var(--pb-red);
}

.pbpe-account .pb-account-shell .required {
	color: var(--pb-red);
	text-decoration: none;
}

.pbpe-account .pb-account-shell .woocommerce-LostPassword,
.pbpe-account .pb-account-shell .woocommerce-LostPassword a,
.pbpe-account .woocommerce-Address .edit {
	color: var(--pb-navy);
	font-family: var(--font-sans);
	font-size: var(--pb-text-control);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-control);
	text-transform: uppercase;
	text-decoration: none;
}

.pbpe-account .pb-account-shell .woocommerce-LostPassword a:hover,
.pbpe-account .woocommerce-Address .edit:hover {
	color: var(--pb-red);
}

.pbpe-account .pb-account-shell .button:not(.show-password-input),
.pbpe-account .pb-account-content .button:not(.show-password-input),
.pbpe-account .woocommerce-message .button,
.pbpe-account .woocommerce-info .button,
.pbpe-account .woocommerce-error .button,
.pbpe-account .woocommerce-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin: 0.25rem 0.5rem 0.25rem 0;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--pb-red);
	border-radius: 0;
	background: var(--pb-red);
	color: var(--pb-white);
	font-family: var(--font-sans);
	font-size: var(--pb-text-control);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-control);
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.pbpe-account .pb-account-shell .button:not(.show-password-input):hover,
.pbpe-account .pb-account-content .button:not(.show-password-input):hover,
.pbpe-account .woocommerce-message .button:hover,
.pbpe-account .woocommerce-info .button:hover,
.pbpe-account .woocommerce-error .button:hover,
.pbpe-account .woocommerce-pagination a:hover {
	border-color: var(--pb-navy);
	background: var(--pb-navy);
	color: var(--pb-white);
}

.pbpe-account .woocommerce-message,
.pbpe-account .woocommerce-info,
.pbpe-account .woocommerce-error {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--pb-navy);
	border-left: 2px solid var(--pb-red);
	border-radius: 0;
	background: var(--pb-white);
	color: var(--pb-navy);
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	line-height: var(--pb-leading-body);
	list-style: none;
}

.pbpe-account .woocommerce-error {
	border-color: var(--pb-red);
}

.pbpe-account .woocommerce-message::before,
.pbpe-account .woocommerce-info::before,
.pbpe-account .woocommerce-error::before,
.pbpe-account .woocommerce-message::after,
.pbpe-account .woocommerce-info::after,
.pbpe-account .woocommerce-error::after {
	content: none;
	display: none;
}

.pbpe-account .woocommerce-message a,
.pbpe-account .woocommerce-info a,
.pbpe-account .woocommerce-error a {
	color: var(--pb-navy);
}

.pbpe-account .woocommerce-orders-table,
.pbpe-account .woocommerce-table--order-details,
.pbpe-account table.shop_table {
	width: 100%;
	margin: 1.75rem 0 0;
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid var(--pb-navy);
}

.pbpe-account .woocommerce-orders-table th,
.pbpe-account .woocommerce-orders-table td,
.pbpe-account .woocommerce-table--order-details th,
.pbpe-account .woocommerce-table--order-details td,
.pbpe-account table.shop_table th,
.pbpe-account table.shop_table td {
	padding: 1rem 0.75rem;
	border: 0;
	border-bottom: 1px solid var(--pb-navy-15);
	background: transparent;
	color: var(--pb-navy);
	text-align: start;
	vertical-align: middle;
}

.pbpe-account .woocommerce-orders-table th,
.pbpe-account .woocommerce-table--order-details th,
.pbpe-account table.shop_table th {
	font-family: var(--font-sans);
	font-size: var(--pb-text-meta);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-meta);
	line-height: 1.3;
	text-transform: uppercase;
}

.pbpe-account .woocommerce-orders-table td,
.pbpe-account .woocommerce-table--order-details td {
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	letter-spacing: 0;
	text-transform: none;
}

.pbpe-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
	font-size: var(--pb-text-meta);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-meta);
	line-height: 1.3;
	text-transform: uppercase;
}

.pbpe-account .woocommerce-orders-table__cell-order-number a {
	color: var(--pb-navy);
	font-weight: var(--pb-weight-semibold);
	text-decoration: none;
}

.pbpe-account .woocommerce-orders-table__cell-order-number a:hover {
	color: var(--pb-red);
}

.pbpe-account .woocommerce-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.pbpe-account .woocommerce-order-details,
.pbpe-account .woocommerce-customer-details,
.pbpe-account .woocommerce-order-overview {
	margin-top: 1.75rem;
}

.pbpe-account .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.pbpe-account .woocommerce-order-overview li {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	text-transform: none;
}

.pbpe-account .woocommerce-order-overview strong {
	display: block;
	margin-top: 0.25rem;
	font-size: var(--pb-text-control);
	letter-spacing: var(--pb-tracking-meta);
	text-transform: uppercase;
}

.pbpe-account .woocommerce-Addresses,
.pbpe-account .col2-set.addresses {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.75rem;
}

.pbpe-account .woocommerce-Address {
	padding: 1.25rem;
	border: 1px solid var(--pb-navy);
}

.pbpe-account .woocommerce-Address address {
	margin: 0.75rem 0 0;
	font-family: var(--font-sans);
	font-style: normal;
	line-height: var(--pb-leading-body);
}

@media (max-width: 767px) {
	.pbpe-account .woocommerce-orders-table.shop_table_responsive thead,
	.pbpe-account table.shop_table_responsive thead {
		display: none;
	}

	.pbpe-account .woocommerce-orders-table.shop_table_responsive tr,
	.pbpe-account table.shop_table_responsive tr {
		display: block;
		padding-block: 0.5rem;
		border-bottom: 1px solid var(--pb-navy);
	}

	.pbpe-account .woocommerce-orders-table.shop_table_responsive td,
	.pbpe-account table.shop_table_responsive td {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.4rem 0;
		border: 0;
		text-align: end;
	}

	.pbpe-account .woocommerce-orders-table.shop_table_responsive td::before,
	.pbpe-account table.shop_table_responsive td::before {
		content: attr(data-title);
		float: none;
		font-family: var(--font-sans);
		font-size: var(--pb-text-meta);
		font-weight: var(--pb-weight-semibold);
		letter-spacing: var(--pb-tracking-meta);
		text-align: start;
		text-transform: uppercase;
	}
}

@media (min-width: 768px) {
	.pbpe-account #customer_login,
	.pbpe-account .woocommerce-Addresses,
	.pbpe-account .col2-set.addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.pbpe-account .pb-account-nav {
		display: block;
		grid-column: 1 / span 3;
	}

	.pbpe-account .pb-account-disclosure {
		display: none;
	}

	.pbpe-account .pb-account-grid {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 1.5rem;
	}

	.pbpe-account .pb-account-content {
		grid-column: 5 / span 8;
	}

	.pbpe-account .pb-account-shell.is-guest .pb-account-content {
		grid-column: auto;
	}

	.pbpe-account .pb-account-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pbpe-account .pb-edu-primary {
		grid-column: 1;
		grid-row: 1;
	}

	.pbpe-account .pb-edu-status {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		align-self: start;
		text-align: end;
	}

	.pbpe-account .pb-edu-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.pbpe-account .pb-edu-progress,
	.pbpe-account .pb-edu-note,
	.pbpe-account .pb-edu-instructions,
	.pbpe-account .pb-edu-action {
		grid-column: 1 / -1;
	}
}
