/* =========================================================
   WooCommerce My Account – login, register & dashboard
   Change the variables below to match your theme.
   ========================================================= */
.wca-auth,
.wca-account {
	--wca-accent: var(--wp--preset--color--primary, #1f4d5c);
	--wca-accent-ink: #fff;
	--wca-text: inherit;
	--wca-muted: #6b7280;
	--wca-line: #e3e5e8;
	--wca-surface: #fff;
	--wca-soft: #f6f7f8;
	--wca-error: #b3261e;
	--wca-radius: 10px;
	--wca-radius-sm: 6px;
	--wca-gap: 1.1rem;
	font-family: inherit;
	color: var(--wca-text);
}

/* ---------- Login / Register ---------- */
.wca-auth {
	max-width: 460px;
	margin: 2rem auto;
	background: var(--wca-surface);
	border: 1px solid var(--wca-line);
	border-radius: var(--wca-radius);
	overflow: hidden;
}

.wca-auth__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--wca-soft);
	border-bottom: 1px solid var(--wca-line);
}
.wca-auth__tab {
	appearance: none;
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	padding: 1rem;
	font: inherit;
	font-weight: 600;
	color: var(--wca-muted);
	cursor: pointer;
	transition: color .15s, border-color .15s;
}
.wca-auth__tab:hover { color: var(--wca-accent); }
.wca-auth__tab.is-active {
	color: var(--wca-accent);
	border-bottom-color: var(--wca-accent);
	background: var(--wca-surface);
}

.wca-auth__panel { display: none; padding: 2rem; }
.wca-auth__panel.is-active { display: block; }
.wca-auth__title { margin: 0 0 1.25rem; font-size: 1.5rem; line-height: 1.2; }

.wca-form { margin: 0; padding: 0; border: 0; }
.wca-field { margin: 0 0 var(--wca-gap); }
.wca-field label { display: block; margin-bottom: .35rem; font-weight: 600; font-size: .925rem; }
.wca-field .required { color: var(--wca-error); text-decoration: none; }

.wca-auth input.input-text,
.wca-account input.input-text,
.wca-account select,
.wca-account textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .75rem .9rem;
	font: inherit;
	color: inherit;
	background: var(--wca-surface);
	border: 1px solid var(--wca-line);
	border-radius: var(--wca-radius-sm);
	transition: border-color .15s, box-shadow .15s;
}
.wca-auth input.input-text:focus,
.wca-account input.input-text:focus,
.wca-account select:focus,
.wca-account textarea:focus {
	outline: none;
	border-color: var(--wca-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wca-accent) 20%, transparent);
}

.wca-password { position: relative; display: block; }
.wca-password input { padding-right: 4.5rem !important; }
.wca-password__toggle {
	position: absolute; top: 50%; right: .5rem; transform: translateY(-50%);
	background: none; border: 0; padding: .35rem .5rem; cursor: pointer;
	font: inherit; font-size: .85rem; color: var(--wca-muted);
}
.wca-password__toggle:hover { color: var(--wca-accent); }

.wca-form__row { display: flex; align-items: center; gap: 1rem; margin-bottom: var(--wca-gap); }
.wca-form__row--between { justify-content: space-between; flex-wrap: wrap; }
.wca-check { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-size: .925rem; }
.wca-check input { width: 1.05rem; height: 1.05rem; accent-color: var(--wca-accent); }
.wca-lost { margin: 0; font-size: .925rem; }
.wca-lost a, .wca-switch__btn { color: var(--wca-accent); }

.wca-note { margin: 0 0 var(--wca-gap); font-size: .9rem; color: var(--wca-muted); }
.woocommerce-privacy-policy-text { font-size: .85rem; color: var(--wca-muted); margin-bottom: var(--wca-gap); }
.woocommerce-privacy-policy-text p { margin: 0; }

.wca-actions { margin: 0; }
.wca-btn,
.wca-account .button {
	display: inline-block;
	width: 100%;
	padding: .85rem 1.25rem;
	font: inherit;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	color: var(--wca-accent-ink);
	background: var(--wca-accent);
	border: 1px solid var(--wca-accent);
	border-radius: var(--wca-radius-sm);
	cursor: pointer;
	transition: filter .15s, transform .05s;
}
.wca-btn:hover, .wca-account .button:hover { filter: brightness(1.12); color: var(--wca-accent-ink); }
.wca-btn:active { transform: translateY(1px); }
.wca-account .button { width: auto; }

.wca-switch { margin: 1.5rem 0 0; text-align: center; font-size: .925rem; color: var(--wca-muted); }
.wca-switch__btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }

.wca-auth a:focus-visible,
.wca-auth button:focus-visible,
.wca-nav a:focus-visible {
	outline: 2px solid var(--wca-accent);
	outline-offset: 2px;
}

/* WooCommerce notices above the form */
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	max-width: 960px;
	margin-left: auto; margin-right: auto;
	border-radius: var(--wca-radius-sm);
}

/* ---------- Logged-in account ---------- */
.wca-account {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin: 2rem 0;
}
.wca-account .woocommerce-MyAccount-navigation,
.wca-account .woocommerce-MyAccount-content { float: none; width: auto; }

.wca-nav {
	background: var(--wca-surface);
	border: 1px solid var(--wca-line);
	border-radius: var(--wca-radius);
	overflow: hidden;
}
.wca-nav__user { display: flex; align-items: center; gap: .85rem; padding: 1.25rem; border-bottom: 1px solid var(--wca-line); background: var(--wca-soft); }
.wca-nav__avatar { border-radius: 50%; display: block; }
.wca-nav__name { display: block; line-height: 1.25; }
.wca-nav__email { display: block; font-size: .8rem; color: var(--wca-muted); word-break: break-all; }

.wca-nav__list { list-style: none; margin: 0; padding: .5rem; }
.wca-nav__list li { margin: 0; }
.wca-nav__list a {
	display: block;
	padding: .7rem .9rem;
	border-radius: var(--wca-radius-sm);
	color: inherit;
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: background .15s, color .15s;
}
.wca-nav__list a:hover { background: var(--wca-soft); color: var(--wca-accent); }
.wca-nav__list .is-active a {
	background: color-mix(in srgb, var(--wca-accent) 10%, transparent);
	border-left-color: var(--wca-accent);
	color: var(--wca-accent);
	font-weight: 600;
}
.wca-nav__list .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--wca-error); }

.wca-content {
	background: var(--wca-surface);
	border: 1px solid var(--wca-line);
	border-radius: var(--wca-radius);
	padding: 2rem;
	min-width: 0;
}

.wca-dash__title { margin: 0 0 .5rem; font-size: 1.6rem; }
.wca-dash__intro { margin: 0 0 1.5rem; color: var(--wca-muted); max-width: 60ch; }
.wca-dash__intro a { color: var(--wca-accent); }
.wca-dash__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.wca-dash__cards li { margin: 0; }
.wca-dash__cards a {
	display: block; height: 100%; padding: 1.1rem;
	color: inherit; text-decoration: none;
	border: 1px solid var(--wca-line); border-radius: var(--wca-radius-sm);
	transition: border-color .15s, background .15s;
}
.wca-dash__cards a:hover { border-color: var(--wca-accent); background: var(--wca-soft); }
.wca-dash__cards strong { display: block; margin-bottom: .25rem; }
.wca-dash__cards span { font-size: .85rem; color: var(--wca-muted); }

/* Orders / downloads tables */
.wca-content table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--wca-line); border-radius: var(--wca-radius-sm); }
.wca-content table.shop_table th,
.wca-content table.shop_table td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--wca-line); }
.wca-content table.shop_table th { background: var(--wca-soft); font-weight: 600; }
.wca-content .woocommerce-address-fields .form-row,
.wca-content .woocommerce-EditAccountForm .form-row { margin-bottom: var(--wca-gap); }
.wca-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.wca-content .woocommerce-Addresses .col-1, .wca-content .woocommerce-Addresses .col-2 { float: none; width: auto; }

/* ---------- Responsive ---------- */
@media (max-width: 800px) {
	.wca-account { grid-template-columns: 1fr; gap: 1.25rem; }
	.wca-nav__list { display: flex; overflow-x: auto; gap: .25rem; }
	.wca-nav__list a { white-space: nowrap; border-left: 0; border-bottom: 3px solid transparent; }
	.wca-nav__list .is-active a { border-bottom-color: var(--wca-accent); }
	.wca-content { padding: 1.25rem; }
	.wca-content table.shop_table { display: block; overflow-x: auto; }
}
@media (max-width: 480px) {
	.wca-auth { border-radius: 0; border-left: 0; border-right: 0; margin: 1rem 0; }
	.wca-auth__panel { padding: 1.5rem 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	.wca-auth *, .wca-account * { transition: none !important; }
}
