/*
 * My account (Figma dashboard 636:3527 = Account Settings, dashboard-2 637:4354 = Subscription): template
 * page-account (main header, no footer) with WooCommerce's My account page, whose templates come from
 * reviewscribe-core (templates/myaccount). #f6f6f6 page; an 840 column 120 from the top: tabs, 32, cards
 * 16 apart. Card: radius 12, 0.5px #ccc, white; 56px head (18/26, 0.5px rule under it), 24px body.
 * Also the header's Account Menu (photo + name + caret, dropdown). Form parts: auth.css.
 */

body:has(.rs-account-page) {
	background-color: #f6f6f6;
}

.rs-account-page {
	box-sizing: border-box;
	min-height: 100vh;
	padding: 120px var(--wp--style--root--padding-right) var(--wp--preset--spacing--104) var(--wp--style--root--padding-left);
}

.rs-account-page > *,
.rs-account-page__content > *,
.rs-account-page .rs-account-page__content > .woocommerce {
	margin: 0;
}

/* WooCommerce's own My account CSS: a 1000px wrapper and a 30% / 68% float layout. */
.rs-account-page .rs-account-page__content > .woocommerce {
	max-width: none;
	width: 100%;
}

.rs-account > .rs-account-tabs.woocommerce-MyAccount-navigation,
.rs-account > .rs-account__body.woocommerce-MyAccount-content {
	float: none;
	width: auto;
	margin: 0;
}

.rs-account {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 840px;
	max-width: 100%;
	margin: 0 auto;
}

.rs-account p,
.rs-account h2,
.rs-account ul {
	margin: 0;
}

.rs-account ul {
	padding: 0;
	list-style: none;
}

.rs-account .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---- Tabs ---- */

.rs-account-tabs {
	display: flex;
	gap: 24px;
	overflow-x: auto;
}

.rs-account-tabs__item {
	flex: none;
	padding: 8px 0;
	color: var(--wp--preset--color--text-tertiary);
	font-size: var(--wp--preset--font-size--paragraph);
	line-height: 24px;
	letter-spacing: -0.005em;
	text-decoration: none;
	white-space: nowrap;
}

.rs-account-tabs__item:hover {
	color: var(--wp--preset--color--black);
}

.rs-account-tabs__item.is-current {
	box-shadow: inset 0 -1px 0 var(--wp--preset--color--black);
	color: var(--wp--preset--color--black);
	font-weight: 500;
}

.rs-account__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* WooCommerce notices (orders, downloads) in the account column. */
.rs-account__body > .woocommerce-notices-wrapper:empty {
	display: none;
}

/* ---- Card ---- */

.rs-account-card {
	overflow: hidden;
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 0.5px var(--wp--preset--color--gray-20);
}

.rs-account-card__head {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	min-height: 56.5px;
	padding: 12px 24px 12.5px;
	box-shadow: inset 0 -0.5px 0 var(--wp--preset--color--gray-20);
}

.rs-account-card__title {
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 400;
	line-height: 26px;
	letter-spacing: -0.005em;
}

.rs-account-card__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 24px;
}

.rs-account-card .rs-auth-notice.is-success {
	background: var(--wp--preset--color--positive-soft);
	box-shadow: inset 0 0 0 0.5px var(--wp--preset--color--positive-secondary);
}

/* ---- Buttons (Figma button "small": 16/24, pill, 4/12 padding; outline 1px purple/50) ---- */

.rs-account-button {
	box-sizing: border-box;
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 3px 11px;
	border: 1px solid var(--wp--preset--color--purple-50);
	border-radius: 20px;
	background: transparent;
	color: var(--wp--preset--color--purple-100);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--paragraph);
	font-weight: 400;
	line-height: 24px;
	letter-spacing: -0.005em;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.rs-account-button:hover,
.rs-account-button:focus-visible {
	background: var(--wp--preset--color--purple-20);
}

.rs-account-button.is-solid {
	padding: 4px 12px;
	border: 0;
	background: var(--wp--preset--color--purple-100);
	color: var(--wp--preset--color--white);
}

.rs-account-button.is-solid:hover,
.rs-account-button.is-solid:focus-visible {
	background: var(--wp--preset--color--purple-90);
}

.rs-account-button.is-quiet {
	border-color: var(--wp--preset--color--gray-20);
	color: var(--wp--preset--color--text-secondary);
}

.rs-account-button.is-quiet:hover,
.rs-account-button.is-quiet:focus-visible {
	background: var(--wp--preset--color--surface);
}

.rs-account-button.has-plus::after {
	content: "";
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: url("../../images/account/plus.svg") center / 16px no-repeat;
	mask: url("../../images/account/plus.svg") center / 16px no-repeat;
}

.rs-account-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--purple-100);
	outline-offset: 2px;
}

/* ---- Basic Information: 132 photo column, 64, the fields (24 apart) ---- */

.rs-account-info__main {
	display: flex;
	align-items: center;
	gap: 64px;
}

.rs-account-photo {
	display: flex;
	flex: 0 0 132px;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.rs-account-photo > .rs-account-photo__pick,
.rs-account-photo > .rs-account-photo__link {
	margin: 0;
}

.rs-account-photo__pick {
	display: block;
	cursor: pointer;
}

.rs-account-photo__image,
.rs-account-photo .rs-account-avatar {
	display: block;
	width: 132px;
	height: 132px;
	border-radius: 16px;
	object-fit: cover;
}

.rs-account-photo .rs-account-avatar.is-initials {
	font-size: 40px;
}

.rs-account-photo__input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.rs-account-photo__input:focus-visible + .rs-account-photo__link,
.rs-account-photo:has(.rs-account-photo__input:focus-visible) .rs-account-photo__pick {
	outline: 2px solid var(--wp--preset--color--purple-100);
	outline-offset: 2px;
}

.rs-account-photo__link {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--blue-100);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--paragraph-sm);
	line-height: 20px;
	letter-spacing: -0.005em;
	text-align: center;
	cursor: pointer;
}

.rs-account-photo__link:hover {
	text-decoration: underline;
}

.rs-account-info__fields {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.rs-account-info__row {
	display: flex;
	gap: 24px;
}

.rs-account-info__row > .rs-field {
	flex: 1 1 0;
}

/* ---- Login Information: email and password rows (600 field + button), then connected services ---- */

.rs-account-login__rows {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rs-account-login__rows:has(+ .rs-account-connect) {
	padding-bottom: 32px;
	box-shadow: 0 0.5px 0 var(--wp--preset--color--gray-20);
}

.rs-account-login__row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}

.rs-account-login__row > .rs-field {
	flex: 0 1 600px;
}

/* The password field shows Figma's six dots (86×6, #808080). */
.rs-account-dots {
	display: block;
	width: 86px;
	height: 20px;
	background: url("../../images/account/password-dots.svg") left center / 86px 6px no-repeat;
}

/* Change Email / Update Password open below their row. */
.rs-account-panel {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
	border-radius: 8px;
	background: #f6f6f6;
}

.rs-account-panel[hidden] {
	display: none;
}

.rs-account-panel__fields {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 600px;
}

.rs-account-panel__actions {
	display: flex;
	gap: 8px;
}

.rs-account-connect {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rs-account-connect__item {
	display: flex;
	align-items: center;
	gap: 16px;
}

.rs-account-connect__icon {
	box-sizing: border-box;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 99px;
	box-shadow: inset 0 0 0 0.5px var(--wp--preset--color--gray-20);
	background: center / 24px no-repeat;
}

.rs-account-connect__icon.is-google {
	background-image: url("../../images/account/google.svg");
	background-size: 21.8px;
}

.rs-account-connect__icon.is-apple {
	background-image: url("../../images/account/apple.svg");
}

.rs-account-connect__icon.is-facebook {
	background-image: url("../../images/account/facebook.svg");
}

.rs-account-connect__icon.is-linkedin {
	background-image: url("../../images/account/linkedin.svg");
}

.rs-account-connect__name {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--paragraph);
	line-height: 24px;
	letter-spacing: -0.005em;
}

.rs-account-connect__handle {
	color: var(--wp--preset--color--text-tertiary);
	font-size: var(--wp--preset--font-size--paragraph-sm);
	line-height: 20px;
}

/* ---- Newsletter ---- */

.rs-account-newsletter {
	gap: 24px;
}

/* ---- Subscription ---- */

.rs-account-plan__size {
	color: var(--wp--preset--color--purple-100);
}

.rs-account-plan__used {
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--body);
	line-height: 26px;
	letter-spacing: -0.005em;
}

.rs-account-sites {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.rs-account .rs-account-sites,
.rs-account-plan__none {
	padding-bottom: 24px;
	box-shadow: 0 0.5px 0 var(--wp--preset--color--gray-20);
}

.rs-account-site {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.rs-account-site,
.rs-account-plan__facts,
.rs-account-plan__none,
.rs-account-empty p {
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--paragraph);
	line-height: 24px;
	letter-spacing: -0.005em;
}

.rs-account-site__name {
	display: flex;
	flex: 0 0 248px;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.rs-account-site__icon {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 99px;
	background: url("../../images/account/globe.svg") center / 24px no-repeat var(--wp--preset--color--gray-10);
}

.rs-account-site__key {
	display: flex;
	align-items: center;
	gap: 8px;
}

.rs-account-site__key code {
	font-family: inherit;
	font-size: inherit;
}

.rs-account-site__key .rs-field__copy {
	width: 24px;
	height: 24px;
	background-size: 24px;
}

.rs-account-site__state {
	display: flex;
	align-items: center;
	gap: 16px;
}

.rs-fr-status.has-icon {
	gap: 4px;
}

.rs-fr-status.has-icon::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url("../../images/account/check-circle.svg") center / 16px no-repeat;
}

.rs-account-site__menu {
	position: relative;
}

.rs-account-site__menu summary {
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: url("../../images/account/dots-three.svg") center / 32px no-repeat;
	cursor: pointer;
	list-style: none;
}

.rs-account-site__menu summary::-webkit-details-marker {
	display: none;
}

.rs-account-site__menu ul,
.rs-account-menu__list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 10;
	min-width: 180px;
	padding: 8px;
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), inset 0 0 0 0.5px var(--wp--preset--color--gray-20);
	list-style: none;
}

.rs-account-site__menu a,
.rs-account-menu__list a {
	display: block;
	padding: 8px 12px;
	border-radius: 8px;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--paragraph);
	line-height: 24px;
	letter-spacing: -0.005em;
	text-decoration: none;
	white-space: nowrap;
}

.rs-account-site__menu a:hover,
.rs-account-menu__list a:hover,
.rs-account-menu__list a:focus-visible {
	background: var(--wp--preset--color--surface);
}

/* "Plan: … | Price: … | Expire: … | Status: …" with 1×20 #e5e5e5 rules, 16 apart. */
.rs-account-plan__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

.rs-account-plan__facts li + li {
	display: flex;
	align-items: center;
	gap: 16px;
}

.rs-account-plan__facts li + li::before {
	content: "";
	width: 1px;
	height: 20px;
	background: var(--wp--preset--color--gray-10);
}

.rs-account-plan__facts .woocommerce-Price-amount {
	font-weight: inherit;
}

.rs-account-empty {
	align-items: flex-start;
}

/* Packages: logomark in a 48 circle, name + PREMIUM / FREE tag; version select (120) and Download. */
.rs-account-packages {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rs-account-package {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.rs-account-package__name {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--paragraph);
	line-height: 24px;
	letter-spacing: -0.005em;
}

.rs-account-package__icon {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 99px;
	box-shadow: inset 0 0 0 0.5px var(--wp--preset--color--gray-20);
	background: url("../../images/blog/logomark.svg") center / 30px 24px no-repeat;
}

/* Figma: one text run, the tag 10.32px Medium sitting high after a space. */
.rs-account-package__badge {
	margin-left: 0.25em;
	color: var(--wp--preset--color--black);
	font-size: 10.32px;
	font-weight: 500;
	line-height: 1;
	vertical-align: 0.55em;
}

.rs-account-package__badge.is-premium {
	color: var(--wp--preset--color--purple-100);
}

.rs-account-package__get {
	display: flex;
	align-items: center;
	gap: 16px;
}

.rs-account-select {
	box-sizing: border-box;
	width: 120px;
	height: 32px;
	padding: 6px 28px 6px 8px;
	border: 0;
	border-radius: 8px;
	background: url("../../images/icons/caret-down.svg") right 8px center / 16px no-repeat var(--wp--preset--color--gray-10);
	box-shadow: inset 0 0 0 0.5px var(--wp--preset--color--gray-20);
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--paragraph-sm);
	font-weight: 500;
	line-height: 20px;
	cursor: pointer;
	appearance: none;
}

/* ---- Header Account Menu (Figma dashboard navMenu "account") ---- */

.rs-account-menu {
	position: relative;
}

.rs-account-menu__toggle {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--gray-50);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--paragraph);
	font-weight: 500;
	line-height: 24px;
	letter-spacing: -0.005em;
	cursor: pointer;
}

.rs-account-menu__toggle::after {
	content: "";
	width: 20px;
	height: 20px;
	margin-left: -4px;
	background: url("../../images/account/caret-down-20.svg") center / 20px no-repeat;
	transition: transform 0.2s ease;
}

.rs-account-menu__toggle[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

/* Photo only (no name): a lilac ring shows hover and the open state. */
.rs-account-menu__avatar {
	transition: box-shadow 0.2s ease;
}

.rs-account-menu__toggle:hover .rs-account-menu__avatar,
.rs-account-menu__toggle[aria-expanded="true"] .rs-account-menu__avatar {
	box-shadow: 0 0 0 2px var(--wp--preset--color--white), 0 0 0 4px var(--wp--preset--color--purple-30);
}

.rs-account-menu__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--purple-100);
	outline-offset: 4px;
	border-radius: 20px;
}

.rs-account-menu__list[hidden] {
	display: none;
}

/* Photo or initials. */
.rs-account-avatar {
	display: block;
	flex: none;
	border-radius: 50%;
	object-fit: cover;
}

.rs-account-avatar.is-initials {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: var(--wp--preset--color--black);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}

/* ---- Smaller screens ---- */

@media (max-width: 781px) {
	.rs-account-page {
		padding-top: 112px;
	}

	.rs-account-card__head {
		padding-inline: 16px;
	}

	.rs-account-card__body {
		padding: 16px;
	}

	.rs-account-info__main {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.rs-account-photo {
		flex-basis: auto;
	}

	.rs-account-info__row,
	.rs-account-login__row,
	.rs-account-site,
	.rs-account-package {
		flex-direction: column;
		align-items: stretch;
	}

	.rs-account-login__row > .rs-field {
		flex-basis: auto;
	}

	.rs-account-login__row > .rs-account-button,
	.rs-account-panel__actions > .rs-account-button {
		align-self: flex-start;
	}

	.rs-account-site {
		gap: 12px;
	}

	.rs-account-site__name {
		flex-basis: auto;
	}

	.rs-account-site__key {
		word-break: break-all;
	}

	.rs-account-site__state {
		justify-content: space-between;
	}

	.rs-account-plan__facts {
		flex-direction: column;
		align-items: flex-start;
	}

	.rs-account-plan__facts li + li::before {
		display: none;
	}

	.rs-account-plan__used {
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 8px 16px;
	}

	.rs-account-card__head:has(.rs-account-plan__used) {
		flex-wrap: wrap;
	}

	.rs-account-package__get {
		justify-content: space-between;
	}
}
