/**
 * Rood Cycle Center — Mijn Account
 */

/* ── Icons (shared with megamenu) ─────────────────────────── */

.rc-account .rc-icon {
	display: block;
	flex-shrink: 0;
}

.rc-account .rc-icon--sm {
	width: 14px;
	height: 14px;
}

.rc-account .rc-icon--md {
	width: 20px;
	height: 20px;
}

.rc-account .rc-icon--lg {
	width: 28px;
	height: 28px;
}

/* ── Reset WooCommerce + Avada account layout ─────────────── */

body.rc-account-page.woocommerce-account .woocommerce {
	max-width: none;
}

body.rc-account-page .woocommerce-MyAccount-navigation,
body.rc-account-page .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

body.rc-account-page .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.rc-account-page .woocommerce-MyAccount-navigation li {
	list-style: none;
}

body.rc-account-page .woocommerce-MyAccount-navigation li::before {
	display: none !important;
}

body.rc-account-page .woocommerce-MyAccount-content > p:first-child {
	display: none;
}

body.rc-account-page .avada-myaccount-user {
	display: none !important;
}

/* Avada responsive typography blows up our headings — reset within account */
.rc-account h1,
.rc-account h2,
.rc-account h3,
.rc-account .fusion-responsive-typography-calculated {
	font-size: inherit !important;
	line-height: inherit !important;
	--fontSize: inherit !important;
}

.rc-account__card-title {
	font-size: 1.0625rem !important;
	line-height: 1.3 !important;
}

body.rc-account-page #main .fusion-title,
body.rc-account-page #main .post-content > h1:first-child,
body.rc-account-page .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
	display: none;
}

/* ── Page shell ───────────────────────────────────────────── */

body.rc-account-page {
	--rc-account-page-bg: color-mix(in srgb, var(--secondary) 45%, var(--background));
	--rc-account-sticky-top: calc(var(--rc-header-offset, 96px) + 1.25rem);
	--rc-account-sticky-height: calc(100vh - var(--rc-account-sticky-top) - 1.5rem);
	background-color: var(--rc-account-page-bg) !important;
}

body.admin-bar.rc-account-page {
	--rc-account-sticky-top: calc(32px + var(--rc-header-offset, 96px) + 1.25rem);
}

@media screen and (max-width: 782px) {
	body.admin-bar.rc-account-page {
		--rc-account-sticky-top: calc(46px + var(--rc-header-offset, 96px) + 1.25rem);
	}
}

body.rc-account-page #boxed-wrapper,
body.rc-account-page #wrapper,
body.rc-account-page #main,
body.rc-account-page #content,
body.rc-account-page .post-content,
body.rc-account-page .fusion-fullwidth,
body.rc-account-page .fusion-builder-row,
body.rc-account-page .fusion-layout-column,
body.rc-account-page .fusion-column-wrapper,
body.rc-account-page .woocommerce {
	background-color: transparent !important;
	background-image: none !important;
}

body.rc-account-page #content,
body.rc-account-page .post-content,
body.rc-account-page .woocommerce {
	overflow: visible;
}

body.rc-account-page #content,
body.rc-account-page .post-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.rc-account-page .fusion-builder-row .fusion-column-wrapper {
	padding-top: 0 !important;
}

body.rc-account-page .post-content > .fusion-fullwidth:first-child {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.rc-account-page .post-content > .fusion-fullwidth:first-child .fusion-builder-row {
	margin-top: 0 !important;
}

.rc-account {
	width: 100%;
	max-width: var(--container, 1280px);
	margin: 0 auto;
	padding: 0 var(--container-px, 24px) 56px;
	font-family: var(--font-family);
	color: var(--foreground);
}

.rc-account__layout {
	padding-top: 28px;
}

/* ── Hero (full-bleed background, contained content) ───────── */

.rc-account__hero {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 0;
	padding: 32px 0 28px;
	border-radius: 0;
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--primary) 10%, transparent),
		var(--rc-account-page-bg, color-mix(in srgb, var(--secondary) 45%, var(--background)))
	);
}

.rc-account__hero-container {
	width: 100%;
	max-width: var(--container, 1280px);
	margin: 0 auto;
	padding-left: var(--container-px, 24px);
	padding-right: var(--container-px, 24px);
}

.rc-account__hero-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.rc-account__hero-main {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rc-account__hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	min-width: 0;
}

.rc-account__hero-copy .rc-account__eyebrow,
.rc-account p.rc-account__eyebrow {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.1 !important;
	color: var(--muted-foreground);
}

.rc-account__hero-copy .rc-account__title,
.rc-account h1.rc-account__title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 700;
	line-height: 1.1 !important;
}

.rc-account__avatar-wrap {
	position: relative;
	flex-shrink: 0;
	width: 56px;
	height: 56px;
}

.rc-account__avatar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: none;
	border-radius: var(--radius-pill, 9999px);
	background: var(--primary);
	color: var(--primary-foreground);
	cursor: pointer;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rc-account__avatar:hover,
.rc-account__avatar:focus-visible {
	transform: scale(1.04);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent);
	outline: none;
}

.rc-account__avatar.has-photo {
	background: var(--muted, #e8e8e8);
	cursor: default;
}

.rc-account__avatar.has-photo:hover,
.rc-account__avatar.has-photo:focus-visible {
	transform: none;
	box-shadow: none;
}

.rc-account__avatar.is-uploading {
	pointer-events: none;
	opacity: 0.72;
}

.rc-account__avatar-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rc-account__avatar-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
}

.rc-account__avatar-fallback[hidden] {
	display: none;
}

.rc-account__avatar-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, #000 45%, transparent);
	color: #fff;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.rc-account__avatar:not(.has-photo):hover .rc-account__avatar-overlay,
.rc-account__avatar:not(.has-photo):focus-visible .rc-account__avatar-overlay,
.rc-account__avatar.is-uploading .rc-account__avatar-overlay {
	opacity: 1;
}

.rc-account__avatar.has-photo .rc-account__avatar-overlay {
	display: none;
}

.rc-account__avatar-overlay .rc-icon {
	width: 20px;
	height: 20px;
}

.rc-account__avatar-remove {
	position: absolute;
	top: -4px;
	right: -4px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 2px solid var(--background, #fff);
	border-radius: var(--radius-pill, 9999px);
	background: var(--foreground, #1a1a1a);
	color: var(--background, #fff);
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 1px 3px color-mix(in srgb, #000 18%, transparent);
	transition: opacity 0.15s ease, transform 0.15s ease, background-color 0.15s ease;
}

.rc-account__avatar-wrap:hover .rc-account__avatar-remove:not([hidden]),
.rc-account__avatar-wrap:focus-within .rc-account__avatar-remove:not([hidden]) {
	opacity: 1;
	pointer-events: auto;
}

.rc-account__avatar-remove:hover,
.rc-account__avatar-remove:focus-visible {
	transform: scale(1.08);
	background: var(--primary);
	outline: none;
}

.rc-account__avatar-remove[hidden] {
	display: none;
}

.rc-account__avatar-remove .rc-icon {
	width: 12px;
	height: 12px;
}

.rc-account__avatar-wrap.is-busy .rc-account__avatar-remove {
	pointer-events: none;
	opacity: 0.6;
}

.rc-account__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.rc-account__stat-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: var(--radius-2xl, 16px);
	background: var(--background);
}

.rc-account__stat-head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.rc-account__stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: var(--primary);
	/* Optical align with uppercase label glyphs */
	transform: translateY(-1px);
}

.rc-account__stat-icon .rc-icon,
.rc-account__stat-icon svg {
	display: block;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

.rc-account__stat-card p.rc-account__stat-label {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.rc-account__stat-value {
	margin: 0;
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
}

/* ── Layout ───────────────────────────────────────────────── */

.rc-account__layout {
	display: grid;
	grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

@media (min-width: 901px) {
	.rc-account__sidebar {
		position: sticky;
		top: var(--rc-account-sticky-top);
		max-height: var(--rc-account-sticky-height);
		overflow-y: auto;
		overscroll-behavior: contain;
		align-self: start;
	}

	body.rc-account-page.woocommerce-orders .woocommerce-MyAccount-content {
		position: sticky;
		top: var(--rc-account-sticky-top);
		display: flex;
		flex-direction: column;
		max-height: var(--rc-account-sticky-height);
		min-height: 0;
		align-self: start;
		overflow: hidden;
	}

	body.rc-account-page.woocommerce-orders .woocommerce-MyAccount-content > h2,
	body.rc-account-page.woocommerce-orders .woocommerce-MyAccount-content > .fusion-title {
		display: none !important;
	}
}

.rc-account__orders-view {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex: 1 1 auto;
}

.rc-account__content-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	flex-shrink: 0;
	margin: 0 0 16px;
	padding-bottom: 12px;
	background: var(--rc-account-page-bg);
}

.rc-account__order-filter {
	display: inline-flex;
	align-items: center;
	padding: 4px;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill, 9999px);
	background: var(--background);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--foreground) 5%, transparent);
}

.rc-account__order-filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 16px;
	border-radius: var(--radius-pill, 9999px);
	color: var(--muted-foreground);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.rc-account__order-filter-btn:hover {
	color: var(--foreground);
}

.rc-account__order-filter-btn.is-active {
	background: var(--primary);
	color: var(--primary-foreground);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--primary) 25%, transparent);
}

.rc-account__order-filter-btn.is-active:hover {
	color: var(--primary-foreground);
}

.rc-account__page-title {
	margin: 0;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: var(--foreground);
}

.rc-account__content-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 2px 4px 24px 2px;
	scrollbar-gutter: stable;
}

.rc-account__orders .rc-account__order-card:last-child {
	margin-bottom: 2px;
}

.rc-account__sidebar {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.rc-account__sidebar-toggle {
	display: none;
	width: 100%;
	margin-bottom: 12px;
	padding: 12px 16px;
	border: 1px solid var(--border);
	border-radius: var(--radius-md, 6px);
	background: var(--background);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	text-align: left;
}

.rc-account__sidebar-toggle::after {
	content: " ▾";
	float: right;
}

.rc-account__sidebar.is-open .rc-account__sidebar-toggle::after {
	content: " ▴";
}

/* ── Cards ────────────────────────────────────────────────── */

.rc-account__card {
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: var(--radius-2xl, 16px);
	background: var(--background);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--foreground) 6%, transparent);
}

.rc-account__sidebar .rc-account__card + .rc-account__card {
	margin-top: 0;
}

.rc-account__card-title {
	margin: 0 0 16px;
	font-size: 1.0625rem;
	font-weight: 700;
}

.rc-account__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.rc-account__card-head .rc-account__card-title {
	margin: 0;
}

/* ── Sidebar nav ──────────────────────────────────────────── */

/* Avada WooCommerce nav defaults (chevron, borders, padding) */
body.rc-account-page .woocommerce-MyAccount-navigation ul li a.rc-account__nav-link,
body.rc-account-page .woocommerce-MyAccount-navigation > ul .is-active a.rc-account__nav-link,
body.rc-account-page .woocommerce-MyAccount-navigation ul li.is-active a.rc-account__nav-link {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	border-bottom: none !important;
	padding: 12px 18px !important;
	position: static !important;
}

body.rc-account-page .woocommerce-MyAccount-navigation ul li:not(.is-active) > a:not(:hover) {
	background: transparent !important;
}

body.rc-account-page .woocommerce-MyAccount-navigation ul li a::before,
body.rc-account-page .woocommerce-MyAccount-navigation ul li a::after,
body.rc-account-page .woocommerce-MyAccount-navigation ul li.is-active a::after {
	display: none !important;
	content: none !important;
}

.rc-account__card--nav {
	padding: 8px 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.rc-account__nav-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__nav-item {
	margin: 0;
}

.rc-account__nav-link {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 52px;
	box-sizing: border-box;
	padding: 12px 18px;
	border: none;
	border-radius: 0;
	color: var(--foreground);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	transition: background 0.2s ease, color 0.2s ease;
}

.rc-account__nav-link:hover,
body.rc-account-page .woocommerce-MyAccount-navigation ul li .rc-account__nav-link:hover {
	background: color-mix(in srgb, var(--secondary) 70%, var(--background)) !important;
	color: var(--foreground) !important;
}

.rc-account__nav-item.is-active .rc-account__nav-link,
body.rc-account-page .woocommerce-MyAccount-navigation ul li.is-active .rc-account__nav-link {
	background: var(--primary-08) !important;
	color: var(--primary) !important;
	font-weight: 600;
	box-shadow: none;
}

.rc-account__nav-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	flex-shrink: 0;
	background: transparent !important;
	color: var(--muted-foreground);
}

.rc-account__nav-icon .rc-icon,
.rc-account__nav-icon svg {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.rc-account__nav-link:hover .rc-account__nav-icon,
.rc-account__nav-item.is-active .rc-account__nav-icon {
	background: transparent !important;
	color: currentColor;
}

.rc-account__nav-label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.rc-account__sidebar-tip {
	margin: 0;
}

.rc-account__sidebar-tip .rc-account__tip {
	margin: 0;
}

.rc-account__nav-item.woocommerce-MyAccount-navigation-link--customer-logout,
body.rc-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.rc-account__nav-item.woocommerce-MyAccount-navigation-link--customer-logout .rc-account__nav-link {
	color: var(--muted-foreground);
}

.rc-account__nav-item.woocommerce-MyAccount-navigation-link--customer-logout .rc-account__nav-link:hover {
	color: var(--primary);
}

/* ── Sidebar profile card ─────────────────────────────────── */

.rc-account__card--profile {
	padding: 16px 18px;
}

.rc-account__card--profile .rc-account__card-title {
	margin-bottom: 8px;
	font-size: 1rem !important;
}

.rc-account__tip {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--border);
	border-radius: var(--radius-2xl, 16px);
	background: color-mix(in srgb, var(--secondary) 75%, var(--background));
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--foreground-75);
}

.rc-account__tip strong {
	font-weight: 600;
	color: var(--foreground);
}

.rc-account__profile-list {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.rc-account__profile-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	font-size: 0.875rem;
	line-height: 1.35;
	color: var(--foreground-75);
	border-top: 1px solid var(--border-60);
}

.rc-account__profile-list li:first-child {
	border-top: 0;
	padding-top: 0;
}

.rc-account__profile-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	margin-top: 0;
	border-radius: 0;
	background: color-mix(in srgb, var(--secondary) 80%, var(--background));
	color: var(--muted-foreground);
}

.rc-account__profile-icon .rc-icon {
	width: 16px;
	height: 16px;
}

.rc-account__card--profile .rc-account__btn--block {
	padding: 9px 14px;
	font-size: 0.8125rem;
}

/* ── Buttons ──────────────────────────────────────────────── */

.rc-account__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: var(--radius-form, var(--radius));
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.rc-account__btn--primary {
	background: var(--primary);
	color: var(--primary-foreground);
}

.rc-account__btn--primary:hover {
	background: var(--primary-90);
	color: var(--primary-foreground);
}

.rc-account__btn--outline {
	border-color: var(--border);
	background: var(--background);
	color: var(--foreground);
}

.rc-account__btn--outline:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.rc-account__btn--block {
	width: 100%;
}

/* ── Badges ───────────────────────────────────────────────── */

.rc-account__badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	border-radius: var(--radius-pill, 9999px);
	background: var(--badge-bg);
	color: var(--badge-text);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.rc-account__badge--lg {
	padding: 4px 12px;
	font-size: 0.75rem;
}

.rc-account__badge--channel-store {
	background: color-mix(in srgb, var(--secondary) 85%, var(--background));
	color: var(--muted-foreground);
}

.rc-account__badge--channel-webshop {
	background: #dbeafe;
	color: #1e40af;
}

.rc-account__order-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 8px;
}

/* ── Dashboard ────────────────────────────────────────────── */

.rc-account__latest-order {
	display: flex;
	gap: 16px;
}

.rc-account__latest-thumb {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	aspect-ratio: 1 / 1;
	border-radius: var(--radius-md, 6px);
	overflow: hidden;
	background: var(--background);
	border: 1px solid var(--border-60);
}

.rc-account__latest-thumb img,
.rc-account__thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.rc-account__thumb-img--fallback {
	padding: 14px;
	object-fit: contain;
	background: color-mix(in srgb, var(--secondary) 35%, var(--background));
}

.rc-account__latest-number {
	margin: 0 0 4px;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.rc-account__latest-title {
	margin: 0 0 6px;
	font-weight: 600;
}

.rc-account__latest-meta {
	margin: 0 0 12px;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.rc-account__quick-links {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 16px;
}

.rc-account__quick-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 20px 12px;
	border: 1px solid var(--border);
	border-radius: var(--radius-2xl, 16px);
	background: var(--background);
	color: var(--foreground);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	text-align: center;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.rc-account__quick-link:hover {
	border-color: var(--primary);
	background: var(--primary-08);
	color: var(--primary);
}

.rc-account__quick-icon {
	display: flex;
	color: var(--primary);
}

.rc-account__empty {
	text-align: center;
}

.rc-account__empty p {
	margin: 0 0 16px;
	color: var(--muted-foreground);
}

/* ── Orders list ──────────────────────────────────────────── */

.rc-account__orders-panel {
	display: block;
}

.rc-account__orders {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rc-account__order-card {
	display: block;
	padding: 20px 22px;
	border: 1px solid var(--border);
	border-radius: var(--radius-2xl, 16px);
	background: var(--background);
	color: inherit;
	text-decoration: none;
	box-shadow:
		0 1px 2px color-mix(in srgb, var(--foreground) 6%, transparent),
		0 4px 14px color-mix(in srgb, var(--foreground) 5%, transparent);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rc-account__order-card:hover {
	border-color: color-mix(in srgb, var(--primary) 22%, var(--border));
	background: var(--background);
	box-shadow:
		0 2px 4px color-mix(in srgb, var(--foreground) 8%, transparent),
		0 10px 24px color-mix(in srgb, var(--foreground) 8%, transparent);
}

.rc-account__order-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.rc-account__order-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.rc-account__order-number {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.rc-account__order-title {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
}

.rc-account__order-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--border-60);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.rc-account__order-channel {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
}

.rc-account__order-total {
	margin-left: auto;
	font-weight: 600;
	color: var(--foreground);
}

.rc-account__order-arrow {
	flex-shrink: 0;
	color: var(--primary);
}

.rc-account__pagination {
	display: flex;
	gap: 12px;
	margin-top: 20px;
}

/* ── Order detail ─────────────────────────────────────────── */

.rc-account__order-detail {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.rc-account__order-detail > .rc-account__card {
	margin: 0 !important;
}

.rc-account__order-header-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.rc-account__order-eyebrow {
	margin: 0 0 6px;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.rc-account__order-headline {
	margin: 0 0 8px;
	font-size: 1.25rem;
	font-weight: 700;
}

.rc-account__order-sub {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.rc-account__order-actions {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
}

body.rc-account-page .rc-account__order-actions > .rc-account__btn,
body.rc-account-page .rc-account__order-actions > button.rc-account__btn,
body.rc-account-page .rc-account__order-actions > a.rc-account__btn {
	margin: 0 !important;
	flex: 0 0 auto;
	width: auto !important;
	max-width: none;
}

/* ── Stepper ──────────────────────────────────────────────── */

.rc-account__stepper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 8px 8px;
}

.rc-account__step-marker {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-bottom: 8px;
	color: var(--muted-foreground);
}

.rc-account__step--done .rc-account__step-marker {
	color: var(--primary);
}

.rc-account__step--current .rc-account__step-marker {
	color: var(--primary);
}

.rc-account__step--current .rc-icon--sm {
	animation: rc-account-spin 1.2s linear infinite;
}

@keyframes rc-account-spin {
	to {
		transform: rotate(360deg);
	}
}

.rc-account__step-label {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.rc-account__step--done .rc-account__step-label,
.rc-account__step--current .rc-account__step-label {
	color: var(--foreground);
	font-weight: 600;
}

.rc-account__step-line {
	position: absolute;
	top: 14px;
	left: calc(50% + 14px);
	width: calc(100% - 28px);
	height: 2px;
	background: var(--border);
}

.rc-account__step-line--done {
	background: var(--primary);
}

.rc-account__alert {
	padding: 16px;
	border-radius: var(--radius-md, 6px);
	background: var(--secondary);
}

.rc-account__alert p {
	margin: 0 0 12px;
}

.rc-account__workshop-note {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
}

.rc-account__workshop-note-title {
	margin: 0 0 8px;
	font-size: 0.875rem;
	font-weight: 700;
}

.rc-account__workshop-note-body {
	font-size: 0.875rem;
	color: var(--foreground-75);
}

.rc-account__workshop-note-body p:last-child {
	margin-bottom: 0;
}

/* ── Line items ───────────────────────────────────────────── */

.rc-account__card > .rc-account__card-title {
	margin: 0 0 8px;
}

.rc-account__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__item {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	padding: 16px 0;
	border-top: 1px solid var(--border-60);
}

.rc-account__item:first-child {
	padding-top: 20px;
}

.rc-account__item-thumb {
	width: 80px;
	height: 80px;
	aspect-ratio: 1 / 1;
	border-radius: var(--radius-md, 6px);
	overflow: hidden;
	background: var(--background);
	border: 1px solid var(--border-60);
}

.rc-account__item-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.rc-account__item-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.rc-account__item-brand {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2 !important;
	color: var(--muted-foreground);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.rc-account__item-name {
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 600;
	line-height: 1.25 !important;
}

.rc-account__item-variant {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.8125rem;
	line-height: 1.3 !important;
	color: var(--muted-foreground);
}

.rc-account__item-variant .wc-item-meta {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__item-variant .wc-item-meta li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__item-variant .wc-item-meta-label {
	font-weight: 600;
}

.rc-account__item-qty {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.8125rem;
	line-height: 1.25 !important;
	color: var(--muted-foreground);
}

.rc-account__item-price {
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
	line-height: 1.25;
}

.rc-account__totals {
	margin: 16px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--border);
}

.rc-account__total-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 6px 0;
	font-size: 0.9375rem;
}

.rc-account__total-row--order_total {
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--border);
	font-size: 1.0625rem;
	font-weight: 700;
}

.rc-account__total-row dt,
.rc-account__total-row dd {
	margin: 0;
}

.rc-account__documents {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-account__document-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--primary);
	font-weight: 600;
	text-decoration: none;
}

.rc-account__document-link:hover {
	text-decoration: underline;
}

/* ── Addresses ────────────────────────────────────────────── */

body.rc-account-page .woocommerce-MyAccount-content .woocommerce-Addresses,
body.rc-account-page .woocommerce-MyAccount-content .u-columns.col2-set.addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
}

body.rc-account-page .woocommerce-MyAccount-content .woocommerce-Address,
body.rc-account-page .woocommerce-MyAccount-content .u-column1,
body.rc-account-page .woocommerce-MyAccount-content .u-column2 {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	vertical-align: initial !important;
}

body.rc-account-page .woocommerce-MyAccount-content .woocommerce-Address.rc-account__address-card {
	padding: 24px !important;
}

body.rc-account-page .woocommerce-Addresses .edit::after,
body.rc-account-page .woocommerce-Addresses .edit::before {
	display: none !important;
	content: none !important;
}

body.rc-account-page .woocommerce-Address-title {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.rc-account__addresses-intro {
	margin: 0 0 20px;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.rc-account__addresses-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.rc-account__address-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px !important;
	min-height: 100%;
	overflow: hidden;
}

.rc-account__address-deco {
	position: absolute;
	top: 50%;
	right: -28px;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 140px;
	color: var(--primary);
	opacity: 0.1;
	pointer-events: none;
	transform: translateY(-50%) rotate(-12deg);
}

.rc-account__address-deco .rc-icon,
.rc-account__address-deco svg {
	display: block;
	width: 100%;
	height: 100%;
	stroke-width: 1.25;
}

.rc-account__address-card--shipping .rc-account__address-deco {
	right: -32px;
	transform: translateY(-42%) rotate(8deg);
}

.rc-account__address-card > *:not(.rc-account__address-deco) {
	position: relative;
	z-index: 1;
}

.rc-account__address-head {
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border-60);
}

.rc-account__address-head .rc-account__card-title {
	margin: 0;
	font-size: 1.125rem !important;
}

.rc-account__address-body {
	display: block;
	flex: 1;
	margin: 0 0 20px;
	padding-top: 2px;
	font-style: normal;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--foreground-75);
}

.rc-account__address-footer {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--border-60);
}

.rc-account__address-edit {
	padding: 14px 18px !important;
	font-size: 0.875rem;
}
.rc-account__address-edit:hover {
	color: #fff !important;
}
.rc-account__address-form .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.rc-account__address-form .woocommerce-address-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

.rc-account__form-actions {
	margin: 20px 0 0;
}

/* ── Forms (edit account + addresses) ─────────────────────── */

.rc-account__card--form .woocommerce-form-row label,
.woocommerce-MyAccount-content .woocommerce-address-fields label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.875rem;
	font-weight: 600;
}

.rc-account__card--form .input-text,
.rc-account__card--form select,
.woocommerce-MyAccount-content .woocommerce-address-fields .input-text,
.woocommerce-MyAccount-content .woocommerce-address-fields select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: var(--radius-form, var(--radius));
	font: inherit;
	background: var(--background);
}

.rc-account__card--form fieldset {
	margin: 20px 0;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: var(--radius-md, 6px);
}

.rc-account__card--form legend {
	padding: 0 4px;
	font-weight: 700;
}

.rc-account-page .password-input {
	position: relative;
	display: block;
}

.rc-account-page .password-input .input-text {
	padding-right: 44px !important;
}

.rc-account-page .password-input .show-password-input {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: var(--radius);
	background: transparent !important;
	box-shadow: none !important;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease;
}

.rc-account-page .password-input .show-password-input::before,
.rc-account-page .password-input .show-password-input::after {
	display: none !important;
	content: none !important;
}

.rc-account-page .password-input .show-password-input:hover {
	color: var(--foreground);
}

.rc-account-page .password-input .show-password-input:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

.rc-account-page .password-input .show-password-input svg {
	display: block;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	pointer-events: none;
}

@media (max-width: 900px) {
	.rc-account__addresses-grid,
	body.rc-account-page .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.rc-account__address-form .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

/* ── Modal ────────────────────────────────────────────────── */

.rc-account__modal[hidden] {
	display: none !important;
}

.rc-account__modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.rc-account__modal-backdrop {
	position: absolute;
	inset: 0;
	background: color-mix(in srgb, var(--foreground) 40%, transparent);
}

.rc-account__modal-dialog {
	position: relative;
	width: min(100%, 400px);
	padding: 24px;
	border-radius: var(--radius-2xl, 16px);
	background: var(--background);
	box-shadow: var(--shadow-mega);
}

.rc-account__modal-dialog h3 {
	margin: 0 0 8px;
	font-size: 1.125rem;
}

.rc-account__modal-dialog p {
	margin: 0 0 16px;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.rc-account__modal-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.rc-account__modal-actions .rc-account__btn {
	min-width: 7.5rem;
	justify-content: center;
}

.rc-account__checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	font-size: 0.875rem;
}

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 900px) {
	.rc-account__layout {
		grid-template-columns: 1fr;
	}

	.rc-account__sidebar-toggle {
		display: block;
	}

	.rc-account__sidebar:not(.is-open) .rc-account__card {
		display: none;
	}

	.rc-account__sidebar:not(.is-open) .rc-account__sidebar-tip {
		display: none;
	}

	.rc-account__sidebar.is-open .rc-account__card + .rc-account__card {
		margin-top: 12px;
	}

	.rc-account__stats {
		grid-template-columns: 1fr;
	}

	.rc-account__quick-links {
		grid-template-columns: 1fr;
	}

	.rc-account__stepper {
		grid-template-columns: 1fr 1fr;
		row-gap: 20px;
	}

	.rc-account__step-line {
		display: none;
	}

	.rc-account__latest-order {
		flex-direction: column;
	}

	.woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.rc-account__order-header-top {
		flex-direction: column;
	}

	.rc-account__order-card {
		padding: 16px 18px;
	}

	.rc-account__content-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.rc-account__order-filter {
		width: 100%;
	}

	.rc-account__order-filter-btn {
		flex: 1 1 0;
		padding-inline: 12px;
		white-space: normal;
		text-align: center;
	}

	.rc-account__item {
		grid-template-columns: 56px 1fr;
	}

	.rc-account__item-price {
		grid-column: 2;
		text-align: left;
	}
}
