/* Account Center Pro for WooCommerce - clean frontend UI */
:root {
	--afw-max: var(--afw-container-width, 1200px);
	--afw-sidebar: 270px;
	--afw-bg: #f8fbff;
	--afw-surface: #ffffff;
	--afw-surface-soft: #f8fafc;
	--afw-text: #0f172a;
	--afw-muted: #64748b;
	--afw-border: rgba(148, 163, 184, .24);
	--afw-brand: #2563eb;
	--afw-brand-hover: #1d4ed8;
	--afw-brand-rgb: 37, 99, 235;
	--afw-soft: #eff6ff;
	--afw-soft-2: #f8fbff;
	--afw-brand-border: #bfdbfe;
	--afw-radius: 12px;
	--afw-radius-lg: calc(var(--afw-radius) + 14px);
	--afw-radius-md: calc(var(--afw-radius) + 6px);
	--afw-radius-sm: var(--afw-radius);
	--afw-form-width: 560px;
	--afw-canvas-bg: #f6f8fb;
	--afw-canvas-background: var(--afw-canvas-bg);
	--afw-success: #059669;
	--afw-warning: #d97706;
	--afw-danger: #dc2626;
	--afw-shadow: 0 18px 50px rgba(15, 23, 42, .08);
	--afw-shadow-soft: 0 10px 26px rgba(15, 23, 42, .06);
	--afw-focus: 0 0 0 4px rgba(var(--afw-brand-rgb), .16);
}

.afw-account-stage,
.afw-account-stage * {
	box-sizing: border-box;
}

.afw-account-stage {
	width: 100%;
	max-width: 100%;
	padding: 26px 0;
	color: var(--afw-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	line-height: 1.5;
	background: var(--afw-canvas-background, var(--afw-canvas-bg));
}

@supports (overflow: clip) {
	.afw-account-stage {
		overflow-x: clip;
	}
}

.afw-account-stage a {
	color: var(--afw-brand);
	text-decoration: none;
}

.afw-account-stage a:hover {
	color: var(--afw-brand-hover);
}

.afw-account-stage *,
.afw-account-stage *::before,
.afw-account-stage *::after {
	min-width: 0;
}

.afw-account-stage p,
.afw-account-stage h1,
.afw-account-stage h2,
.afw-account-stage h3,
.afw-account-stage h4,
.afw-account-stage li,
.afw-account-stage span,
.afw-account-stage strong,
.afw-account-stage small,
.afw-account-stage a {
	overflow-wrap: anywhere;
}

.afw-account-stage img,
.afw-account-stage svg {
	max-width: 100%;
	height: auto;
}

.afw-account-app,
.afw-account-app-guest {
	width: min(var(--afw-max), calc(100% - 32px));
	max-width: var(--afw-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: var(--afw-sidebar) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.afw-account-app-guest {
	grid-template-columns: var(--afw-sidebar) minmax(0, 1fr);
	justify-content: stretch;
}

.afw-account-app-guest .afw-account-main {
	width: 100%;
}

.afw-account-app-guest .afw-shell {
	width: 100%;
	max-width: none;
	margin: 0;
}

.afw-account-app-guest .afw-shell .afw-card {
	width: 100%;
	box-shadow: var(--afw-shadow-soft);
}

.afw-account-app-guest .afw-card-header {
	align-items: flex-start;
	text-align: left;
}

.afw-account-app-guest .afw-card-header h1,
.afw-account-app-guest .afw-card-header h2,
.afw-account-app-guest .afw-card-header p {
	text-align: left;
}

.afw-account-app-guest .afw-card-header .afw-eyebrow {
	margin-inline: 0;
}

.afw-account-sidebar,
.afw-section-card,
.afw-profile-completion,
.afw-card {
	background: rgba(255, 255, 255, .92);
	border: 1px solid var(--afw-border);
	box-shadow: var(--afw-shadow-soft);
}

.afw-account-sidebar {
	position: sticky;
	top: 24px;
	align-self: start;
	z-index: 4;
	padding: 18px;
	border-radius: var(--afw-radius-lg);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.afw-account-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 4px 18px;
	margin-bottom: 14px;
	border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.afw-account-dot {
	width: 42px;
	height: 42px;
	border-radius: var(--afw-radius);
	background: linear-gradient(135deg, var(--afw-brand), var(--afw-brand-hover));
	box-shadow: 0 12px 22px rgba(var(--afw-brand-rgb), .22);
	flex: 0 0 auto;
}

.afw-account-brand strong,
.afw-account-brand small {
	display: block;
}

.afw-account-brand strong {
	font-size: 16px;
	line-height: 1.2;
}

.afw-account-brand small {
	margin-top: 2px;
	font-size: 12px;
	color: var(--afw-muted);
}

.afw-account-nav {
	display: grid;
	max-width: 100%;
	gap: 8px;
}

.afw-account-nav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 44px;
	padding: 11px 13px;
	border: 1px solid transparent;
	border-radius: 15px;
	color: #334155;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.afw-account-nav a:hover {
	background: rgba(var(--afw-brand-rgb), .07);
	border-color: rgba(var(--afw-brand-rgb), .14);
	transform: translateY(-1px);
}

.afw-account-nav a.is-active {
	color: #fff;
	border-color: transparent;
	background: linear-gradient(135deg, var(--afw-brand), var(--afw-brand-hover));
	box-shadow: 0 14px 26px rgba(var(--afw-brand-rgb), .22);
}

.afw-account-nav a:focus-visible {
	outline: none;
	box-shadow: var(--afw-focus);
}

.afw-account-stage .afw-account-nav a,
.afw-account-stage .afw-account-nav a:hover,
.afw-account-stage .afw-account-nav a:focus,
.afw-account-stage .afw-account-nav a:active,
.afw-account-stage .afw-account-nav a.is-active,
.afw-account-stage .afw-order-filters .afw-button,
.afw-account-stage .afw-order-filters .afw-button:hover,
.afw-account-stage .afw-order-filters .afw-button:focus,
.afw-account-stage .afw-order-filters .afw-button:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.afw-nav-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, #f97316, #ef4444);
}

.afw-account-main,
.afw-portal,
.afw-section-card,
.afw-profile-completion,
.afw-card,
.afw-form,
.afw-order-row,
.afw-payment-row,
.afw-message-item,
.afw-request-row {
	min-width: 0;
	max-width: 100%;
}

.afw-portal {
	display: grid;
	gap: 20px;
}

.afw-dashboard-section {
	display: grid;
	gap: 20px;
	scroll-margin-top: 24px;
}

.afw-portal-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 34px;
	border-radius: 30px;
	color: #fff;
	background:
		radial-gradient(circle at 88% 16%, rgba(255, 255, 255, .28), transparent 28%),
		linear-gradient(135deg, var(--afw-brand) 0%, var(--afw-brand-hover) 100%);
	box-shadow: 0 24px 60px rgba(var(--afw-brand-rgb), .22);
	overflow: hidden;
}

.afw-portal-hero > * {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.afw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	margin-bottom: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--afw-brand-hover);
	background: rgba(var(--afw-brand-rgb), .09);
}

.afw-portal-hero .afw-eyebrow {
	color: rgba(255, 255, 255, .86);
	background: rgba(255, 255, 255, .16);
}

.afw-portal-hero h1 {
	margin: 0;
	max-width: 760px;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.05;
	letter-spacing: -.04em;
	color: #fff;
	overflow-wrap: anywhere;
}

.afw-portal-hero p {
	max-width: 660px;
	margin: 14px 0 0;
	color: rgba(255, 255, 255, .84);
	font-size: 16px;
	overflow-wrap: anywhere;
}

.afw-section-card,
.afw-profile-completion,
.afw-card {
	border-radius: var(--afw-radius-lg);
	padding: 24px;
}

.afw-section-card {
	scroll-margin-top: 24px;
}

.afw-section-head,
.afw-card-header,
.afw-message-section-head,
.afw-orders-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.afw-section-head-stacked,
.afw-card-header {
	flex-direction: column;
	gap: 8px;
}

.afw-section-head h2,
.afw-card-header h1,
.afw-card-header h2,
.afw-request-history h3 {
	margin: 0;
	color: var(--afw-text);
	letter-spacing: -.025em;
	line-height: 1.15;
}

.afw-section-head h2 {
	font-size: 26px;
}

.afw-card-header h1 {
	font-size: 34px;
}

.afw-section-head p,
.afw-card-header p,
.afw-help,
.afw-empty {
	margin: 6px 0 0;
	color: var(--afw-muted);
}

.afw-profile-completion-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-weight: 800;
}

.afw-progress {
	height: 10px;
	margin-top: 14px;
	border-radius: 999px;
	background: rgba(148, 163, 184, .18);
	overflow: hidden;
}

.afw-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--afw-brand), var(--afw-brand-hover));
}

.afw-button,
.afw-account-stage button.afw-button,
.afw-account-stage input[type="submit"].afw-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 12px 18px;
	border: 0;
	border-radius: var(--afw-radius);
	background: linear-gradient(135deg, var(--afw-brand), var(--afw-brand-hover));
	box-shadow: 0 14px 26px rgba(var(--afw-brand-rgb), .20);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	text-align: center;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.afw-button:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 18px 32px rgba(var(--afw-brand-rgb), .24);
}

.afw-button:focus-visible,
.afw-form input:focus,
.afw-form select:focus,
.afw-form textarea:focus,
.afw-order-filters input:focus,
.afw-order-filters select:focus {
	outline: none;
	box-shadow: var(--afw-focus);
	border-color: rgba(var(--afw-brand-rgb), .48);
}

.afw-button-secondary,
.afw-button-light {
	color: #1e293b;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
	border: 1px solid rgba(148, 163, 184, .20);
}

.afw-button-secondary:hover,
.afw-button-light:hover {
	color: #0f172a;
	background: #fff;
}

.afw-button-small {
	min-height: 38px;
	padding: 9px 13px;
	border-radius: var(--afw-radius-sm);
	font-size: 13px;
}

.afw-account-stage .afw-order-filters .afw-button,
.afw-account-stage .afw-order-filters a.afw-button,
.afw-account-stage .afw-order-filters button.afw-button {
	width: auto !important;
	min-width: 84px;
	max-width: max-content;
	min-height: 40px !important;
	padding: 0 16px !important;
	font-size: 13px !important;
	line-height: 1 !important;
	border-radius: var(--afw-radius-sm);
	justify-self: start;
	align-self: end;
	flex: 0 0 auto;
}

.afw-full-button {
	width: 100%;
}

.afw-form,
.afw-auth-form,
.afw-contact-form {
	display: grid;
	gap: 15px;
	width: 100%;
}

.afw-form p,
.afw-order-filters label,
.afw-contact-form p {
	margin: 0;
}

.afw-form label,
.afw-order-filters label {
	display: grid;
	gap: 7px;
	color: #334155;
	font-size: 13px;
	font-weight: 800;
}

.afw-form input,
.afw-form select,
.afw-form textarea,
.afw-order-filters input,
.afw-order-filters select {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	border: 1px solid var(--afw-border);
	border-radius: var(--afw-radius);
	background: #fff;
	color: var(--afw-text);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
}

.afw-form textarea {
	min-height: 130px;
	resize: vertical;
}

.afw-two-col,
.afw-address-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.afw-address-form {
	gap: 18px;
}

.afw-address-primary,
.afw-shipping-panel {
	min-width: 0;
	width: 100%;
}

.afw-address-fieldset {
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 20px;
	border: 1px solid rgba(148, 163, 184, .20);
	border-radius: 18px;
	background: rgba(248, 250, 252, .65);
}

.afw-address-fieldset h3 {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 850;
	color: var(--afw-text);
}

.afw-address-fieldset legend {
	padding: 0 8px;
	font-weight: 850;
	color: var(--afw-text);
}

.afw-shipping-toggle {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	padding: 16px 18px;
	border: 1px solid rgba(var(--afw-brand-rgb), .20);
	border-radius: 18px;
	background: rgba(var(--afw-brand-rgb), .06);
	cursor: pointer;
}

.afw-shipping-toggle input {
	appearance: auto;
	width: 18px;
	height: 18px;
	min-width: 18px;
	max-width: 18px;
	min-height: 18px;
	padding: 0;
	margin: 3px 0 0;
	border-radius: 4px;
	accent-color: var(--afw-brand);
	box-shadow: none;
	flex: 0 0 auto;
}

.afw-shipping-toggle-text {
	display: grid;
	gap: 3px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--afw-text);
}

.afw-shipping-toggle-text small {
	font-size: 13px;
	font-weight: 600;
	color: var(--afw-muted);
}

.afw-shipping-panel {
	display: none;
}

.afw-shipping-panel.is-open {
	display: block;
}

.afw-form-actions,
.afw-link-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.afw-link-row {
	justify-content: center;
	margin-top: 16px;
	color: var(--afw-muted);
}

.afw-check-line label {
	display: flex;
	grid-template-columns: none;
	align-items: flex-start;
	gap: 10px;
	font-weight: 600;
	color: #475569;
}

.afw-check-line input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-height: 0;
	margin-top: 2px;
	flex: 0 0 auto;
}

.afw-required {
	color: var(--afw-danger);
}

.afw-password-hint {
	margin: 0;
	font-size: 13px;
	color: var(--afw-muted);
}

.afw-password-good {
	color: var(--afw-success);
}

.afw-password-bad {
	color: var(--afw-danger);
}

.afw-message,
.afw-order-notice,
.afw-empty {
	padding: 14px 16px;
	border-radius: 16px;
	border: 1px solid var(--afw-border);
	background: rgba(248, 250, 252, .86);
}

.afw-message-success,
.afw-order-notice.is-success {
	color: #065f46;
	border-color: rgba(5, 150, 105, .24);
	background: rgba(209, 250, 229, .55);
}

.afw-message-warning,
.afw-order-notice.is-error {
	color: #991b1b;
	border-color: rgba(220, 38, 38, .24);
	background: rgba(254, 226, 226, .62);
}

.afw-message-info {
	color: #1e40af;
	border-color: rgba(var(--afw-brand-rgb), .24);
	background: rgba(219, 234, 254, .66);
}

.afw-order-filters {
	display: grid;
	grid-template-columns: 1fr 1fr auto auto;
	align-items: end;
	gap: 12px;
	padding: 14px;
	margin-bottom: 18px;
	border: 1px solid rgba(148, 163, 184, .18);
	border-radius: 18px;
	background: rgba(248, 250, 252, .72);
}

.afw-hidden-orders-link-wrap a,
.afw-pagination a {
	font-size: 14px;
	font-weight: 800;
}

.afw-order-list {
	display: grid;
	gap: 12px;
}

.afw-order-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(120px, 1.1fr) minmax(120px, 1fr) minmax(110px, .75fr) minmax(110px, .75fr) 48px;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid rgba(148, 163, 184, .18);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
	transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

.afw-order-row:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(15, 23, 42, .07);
}

.afw-order-row.is-removing {
	opacity: 0;
	transform: translateY(-4px);
}

.afw-order-cell {
	min-width: 0;
	overflow-wrap: anywhere;
	color: #475569;
	font-size: 14px;
}

.afw-order-number,
.afw-order-total {
	color: var(--afw-text);
	font-weight: 850;
}

.afw-order-status {
	justify-self: start;
	width: fit-content;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 850;
	background: rgba(100, 116, 139, .10);
	color: #475569;
}

.afw-status-completed {
	background: rgba(5, 150, 105, .12);
	color: #047857;
}

.afw-status-processing,
.afw-status-on-hold {
	background: rgba(var(--afw-brand-rgb), .12);
	color: var(--afw-brand-hover);
}

.afw-status-pending {
	background: rgba(217, 119, 6, .14);
	color: #b45309;
}

.afw-status-cancelled,
.afw-status-failed {
	background: rgba(220, 38, 38, .12);
	color: #b91c1c;
}

.afw-status-refunded {
	background: rgba(124, 58, 237, .12);
	color: var(--afw-brand-hover);
}

.afw-order-actions {
	position: relative;
	justify-self: end;
}

.afw-order-actions summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	border: 1px solid rgba(148, 163, 184, .20);
	background: rgba(248, 250, 252, .85);
	cursor: pointer;
	font-size: 20px;
	font-weight: 850;
	line-height: 1;
	list-style: none;
}

.afw-order-actions summary::-webkit-details-marker {
	display: none;
}

.afw-order-action-menu {
	position: absolute;
	right: 0;
	top: 48px;
	z-index: 20;
	min-width: 170px;
	padding: 8px;
	border: 1px solid var(--afw-border);
	border-radius: var(--afw-radius);
	background: #fff;
	box-shadow: var(--afw-shadow-soft);
}

.afw-order-action-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 800;
}

.afw-order-action-menu a:hover {
	background: rgba(var(--afw-brand-rgb), .08);
}

.afw-order-visibility-action.is-loading {
	pointer-events: none;
	opacity: .62;
}

.afw-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 18px;
	color: var(--afw-muted);
}

.afw-payment-list,
.afw-message-list,
.afw-request-list {
	display: grid;
	gap: 12px;
}

.afw-payment-row,
.afw-payment-empty-card,
.afw-message-item,
.afw-request-row {
	padding: 16px;
	border: 1px solid rgba(148, 163, 184, .18);
	border-radius: 18px;
	background: rgba(248, 250, 252, .74);
	overflow-wrap: anywhere;
}

.afw-payment-empty-card {
	display: grid;
	gap: 5px;
	text-align: center;
}

.afw-payment-empty-card strong,
.afw-payment-row strong {
	color: var(--afw-text);
}

.afw-payment-empty-card span,
.afw-request-row small,
.afw-message-item small {
	color: var(--afw-muted);
}

.afw-message-item {
	position: relative;
	background: #fff;
}

.afw-message-item.is-unread {
	border-color: rgba(var(--afw-brand-rgb), .24);
	background: linear-gradient(135deg, var(--afw-soft), #fff);
}

.afw-message-item-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.afw-message-item-head strong {
	font-size: 16px;
	color: var(--afw-text);
}

.afw-message-tags {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px;
}

.afw-message-tags span,
.afw-request-row > span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 850;
	color: var(--afw-brand-hover);
	background: rgba(var(--afw-brand-rgb), .10);
}

.afw-message-body {
	margin-top: 12px;
	color: #334155;
	overflow-wrap: anywhere;
}

.afw-message-body p:first-child,
.afw-message-body p:last-child {
	margin-top: 0;
	margin-bottom: 0;
}

.afw-contact-card .afw-contact-form {
	width: 100%;
	max-width: none;
}

.afw-request-history {
	margin-top: 22px;
}

.afw-request-history h3 {
	font-size: 18px;
	margin-bottom: 12px;
}

.afw-request-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 10px;
}

.afw-shell {
	width: min(var(--afw-form-width, 560px), calc(100% - 32px));
	margin: 0 auto;
}

.afw-shell .afw-card {
	box-shadow: var(--afw-shadow);
}

.afw-card-body {
	margin-top: 18px;
}

@media (max-width: 1024px) {
	.afw-account-stage {
		padding: 18px 0;
		overflow-x: hidden;
	}

	.afw-account-app,
	.afw-account-app-guest {
		grid-template-columns: 1fr;
		width: min(var(--afw-max), calc(100% - 24px));
		gap: 16px;
	}

	.afw-account-sidebar {
		position: relative;
		top: auto;
		width: 100%;
		max-width: 100%;
		padding: 12px;
		border-radius: 22px;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.afw-account-brand {
		justify-content: center;
		text-align: left;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.afw-account-nav {
		display: flex;
		width: 100%;
		max-width: 100%;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		padding: 4px 2px 8px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.afw-account-nav a {
		flex: 0 0 auto;
		min-height: 42px;
		white-space: nowrap;
		border-radius: 999px;
		padding: 10px 14px;
		transform: none;
	}

	.afw-account-app-guest {
		justify-content: stretch;
	}

	.afw-account-app-customer .afw-nav-logout {
		display: none;
	}

	.afw-address-grid {
		grid-template-columns: 1fr;
	}

	.afw-portal-hero {
		padding: 28px;
		align-items: flex-start;
		flex-direction: column;
	}

	.afw-portal-hero h1 {
		font-size: clamp(30px, 5.6vw, 42px);
	}

	.afw-order-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: stretch;
	}

	.afw-account-stage .afw-order-filters .afw-button,
	.afw-account-stage .afw-order-filters a.afw-button,
	.afw-account-stage .afw-order-filters button.afw-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		min-width: 0;
		max-width: none;
		min-height: 48px !important;
		padding: 0 18px !important;
		font-size: 14px !important;
		text-align: center;
		justify-self: stretch;
		align-self: stretch;
	}
}

@media (max-width: 767px) {
	.afw-account-stage {
		padding: 10px 0;
	}

	.afw-account-app,
	.afw-account-app-guest,
	.afw-shell {
		width: calc(100% - 16px);
	}

	.afw-account-app,
	.afw-account-app-guest {
		gap: 12px;
	}

	.afw-account-sidebar {
		padding: 8px;
		border-radius: var(--afw-radius-md);
	}

	.afw-account-brand {
		display: none;
	}

	.afw-account-nav {
		gap: 6px;
		padding: 2px 1px 6px;
	}

	.afw-account-nav a {
		min-height: 40px;
		padding: 9px 12px;
		font-size: 13px;
	}

	.afw-portal {
		gap: 14px;
	}

	.afw-portal-hero,
	.afw-section-card,
	.afw-profile-completion,
	.afw-card {
		padding: 18px;
		border-radius: 20px;
	}

	.afw-portal-hero {
		align-items: center;
		text-align: center;
	}

	.afw-portal-hero h1 {
		font-size: clamp(25px, 8vw, 34px);
	}

	.afw-portal-hero p {
		font-size: 15px;
	}

	.afw-portal-hero .afw-eyebrow {
		margin-inline: auto;
	}

	.afw-section-head,
	.afw-card-header,
	.afw-message-section-head,
	.afw-orders-head,
	.afw-message-item-head {
		align-items: stretch;
		flex-direction: column;
		text-align: center;
	}

	.afw-section-head h2 {
		font-size: 23px;
	}

	.afw-account-app-guest .afw-card-header {
		align-items: center;
		text-align: center;
	}

	.afw-account-app-guest .afw-card-header h1,
	.afw-account-app-guest .afw-card-header h2,
	.afw-account-app-guest .afw-card-header p {
		text-align: center;
	}

	.afw-account-app-guest .afw-card-header .afw-eyebrow {
		margin-inline: auto;
	}

	.afw-two-col,
	.afw-address-grid,
	.afw-request-row {
		grid-template-columns: 1fr;
	}

	.afw-order-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: stretch;
	}

	.afw-order-filters label {
		grid-column: 1 / -1;
		width: 100%;
		justify-self: stretch;
	}

	.afw-button,
	.afw-form-actions .afw-button,
	.afw-link-row .afw-button,
	.afw-contact-form .afw-button,
	.afw-message-section-head .afw-button {
		width: 100%;
	}

	.afw-account-stage .afw-order-filters .afw-button,
	.afw-account-stage .afw-order-filters a.afw-button,
	.afw-account-stage .afw-order-filters button.afw-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: none;
		min-width: 0;
		min-height: 48px !important;
		padding: 0 18px !important;
		justify-self: stretch;
		align-self: stretch;
		font-size: 14px !important;
		text-align: center;
	}

	.afw-form-actions,
	.afw-link-row {
		align-items: stretch;
		flex-direction: column;
	}

	.afw-address-fieldset {
		padding: 16px;
		border-radius: 16px;
	}

	.afw-address-fieldset h3,
	.afw-addresses-card .afw-section-head,
	.afw-addresses-card .afw-section-head h2,
	.afw-addresses-card .afw-section-head p {
		text-align: center;
	}

	.afw-shipping-toggle {
		padding: 14px 15px;
		border-radius: 16px;
	}

	.afw-order-row {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 16px;
	}

	.afw-order-row:hover {
		transform: none;
	}

	.afw-order-cell {
		display: grid;
		grid-template-columns: minmax(88px, .34fr) minmax(0, 1fr);
		gap: 10px;
		align-items: start;
		padding: 10px 0;
		border-top: 1px solid rgba(148, 163, 184, .16);
		text-align: left;
	}

	.afw-order-cell:first-child {
		border-top: 0;
		padding-top: 0;
	}

	.afw-order-cell::before {
		content: attr(data-label);
		text-align: left;
		color: var(--afw-muted);
		font-size: 11px;
		font-weight: 850;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	.afw-order-status {
		justify-self: start;
		width: fit-content;
		max-width: 100%;
		border-radius: 999px;
	}

	.afw-order-actions {
		justify-self: end;
		margin-top: 8px;
	}

	.afw-order-action-menu {
		right: 0;
		left: auto;
		max-width: calc(100vw - 36px);
	}

	.afw-message-tags {
		justify-content: center;
	}

	.afw-request-row {
		text-align: left;
	}

	.afw-request-row > span {
		justify-self: start;
	}
}

@media (max-width: 480px) {
	.afw-account-app,
	.afw-account-app-guest,
	.afw-shell {
		width: calc(100% - 10px);
	}

	.afw-account-nav a {
		font-size: 12.5px;
		padding: 8px 10px;
	}

	.afw-portal-hero,
	.afw-section-card,
	.afw-profile-completion,
	.afw-card {
		padding: 15px;
		border-radius: 18px;
	}

	.afw-portal-hero h1 {
		font-size: clamp(23px, 8.8vw, 30px);
	}

	.afw-order-cell {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.afw-order-cell::before {
		font-size: 10px;
	}
}



/* Unified frontend content alignment
   Desktop/tablet: account content is left-aligned.
   Mobile: only top module headers are centered; actual information, lists, empty states, and forms stay left-aligned. */
.afw-account-stage .afw-section-head,
.afw-account-stage .afw-card-header,
.afw-account-stage .afw-message-section-head,
.afw-account-stage .afw-orders-head,
.afw-account-stage .afw-card-body,
.afw-account-stage .afw-profile-completion,
.afw-account-stage .afw-empty,
.afw-account-stage .afw-payment-empty-card,
.afw-account-stage .afw-payment-row,
.afw-account-stage .afw-message-item,
.afw-account-stage .afw-message-item-head,
.afw-account-stage .afw-message-body,
.afw-account-stage .afw-request-history,
.afw-account-stage .afw-request-row,
.afw-account-stage .afw-form,
.afw-account-stage .afw-form label,
.afw-account-stage .afw-help,
.afw-account-stage .afw-inline-note,
.afw-account-stage .afw-order-filters,
.afw-account-stage .afw-order-filters label,
.afw-account-stage .afw-address-fieldset,
.afw-account-stage .afw-address-fieldset h3,
.afw-account-stage .afw-shipping-toggle,
.afw-account-stage .afw-shipping-toggle-text {
	text-align: left;
}

.afw-account-stage .afw-payment-empty-card {
	justify-items: start;
	align-items: start;
}

.afw-account-stage .afw-empty,
.afw-account-stage .afw-payment-empty-card,
.afw-account-stage .afw-message-item,
.afw-account-stage .afw-request-row {
	width: 100%;
}

.afw-account-stage .afw-button,
.afw-account-stage button.afw-button,
.afw-account-stage input[type="submit"].afw-button {
	text-align: center;
}

@media (max-width: 767px) {
	.afw-account-stage .afw-section-card > .afw-section-head,
	.afw-account-stage .afw-section-card > .afw-message-section-head,
	.afw-account-stage .afw-section-card > .afw-orders-head {
		align-items: center;
		text-align: center;
	}

	.afw-account-stage .afw-section-card > .afw-section-head h2,
	.afw-account-stage .afw-section-card > .afw-section-head p,
	.afw-account-stage .afw-section-card > .afw-message-section-head h2,
	.afw-account-stage .afw-section-card > .afw-message-section-head p,
	.afw-account-stage .afw-section-card > .afw-orders-head h2,
	.afw-account-stage .afw-section-card > .afw-orders-head p {
		text-align: center;
	}

	.afw-account-stage .afw-account-app-guest .afw-card-header,
	.afw-account-stage .afw-shell .afw-card-header {
		align-items: center;
		text-align: center;
	}

	.afw-account-stage .afw-account-app-guest .afw-card-header h1,
	.afw-account-stage .afw-account-app-guest .afw-card-header h2,
	.afw-account-stage .afw-account-app-guest .afw-card-header p,
	.afw-account-stage .afw-shell .afw-card-header h1,
	.afw-account-stage .afw-shell .afw-card-header h2,
	.afw-account-stage .afw-shell .afw-card-header p {
		text-align: center;
	}

	.afw-account-stage .afw-account-app-guest .afw-card-header .afw-eyebrow,
	.afw-account-stage .afw-shell .afw-card-header .afw-eyebrow {
		margin-inline: auto;
	}

	.afw-account-stage .afw-card-body,
	.afw-account-stage .afw-profile-completion,
	.afw-account-stage .afw-profile-completion .afw-help,
	.afw-account-stage .afw-empty,
	.afw-account-stage .afw-payment-empty-card,
	.afw-account-stage .afw-payment-row,
	.afw-account-stage .afw-message-item,
	.afw-account-stage .afw-message-item-head,
	.afw-account-stage .afw-message-body,
	.afw-account-stage .afw-message-item small,
	.afw-account-stage .afw-request-history,
	.afw-account-stage .afw-request-history h3,
	.afw-account-stage .afw-request-row,
	.afw-account-stage .afw-form,
	.afw-account-stage .afw-form label,
	.afw-account-stage .afw-help,
	.afw-account-stage .afw-inline-note,
	.afw-account-stage .afw-order-filters,
	.afw-account-stage .afw-order-filters label,
	.afw-account-stage .afw-address-fieldset,
	.afw-account-stage .afw-address-fieldset h3,
	.afw-account-stage .afw-shipping-toggle,
	.afw-account-stage .afw-shipping-toggle-text {
		text-align: left;
	}

	.afw-account-stage .afw-message-item-head {
		align-items: flex-start;
	}

	.afw-account-stage .afw-message-tags {
		justify-content: flex-start;
	}

	.afw-account-stage .afw-payment-empty-card {
		justify-items: start;
		align-items: start;
	}

	.afw-account-stage .afw-request-row > span,
	.afw-account-stage .afw-message-tags span {
		justify-self: start;
	}
}

@media (hover: none) {
	.afw-account-nav a:hover,
	.afw-button:hover,
	.afw-order-row:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.afw-account-stage *,
	.afw-account-stage *::before,
	.afw-account-stage *::after {
		transition: none;
		animation: none;
		scroll-behavior: auto;
	}
}
