/*
 * Dental APPNA - My Account styles
 * Matches the site theme: Elementor global navy, brand red, Lato.
 * Loaded only on My Account pages by mu-plugins/dentalappna-member-account.php. Built by Linknbit.
 */

.woocommerce-account {
	--da-navy: var(--e-global-color-primary, #3C4475);
	--da-navy-tint: #E8EAF4;
	--da-red: #EE2737;
	--da-red-dark: #C81E2C;
	--da-red-tint: #FDECEE;
	--da-ink: #2B2F4A;
	--da-muted: #6B7090;
	--da-line: #E3E5EE;
	--da-bg: #F4F5F9;
	--da-radius: 12px;
	--da-font: var(--e-global-typography-text-font-family, Lato), Lato, sans-serif;
}

/* ---------- Icons (mask images, coloured by currentColor) ---------- */
.woocommerce-MyAccount-navigation-link,
.da-quick-link__icon {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--dashboard,
.da-ico--dashboard {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--orders,
.da-ico--orders {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16l-3-2-2 2-2-2-2 2-2-2-3 2z'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link[class*="event"],
.da-ico--events {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--payment-methods,
.da-ico--payment-methods {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--edit-account,
.da-ico--edit-account {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--customer-logout {
	--da-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2'/%3E%3Cpath d='M9 12h12M18 9l3 3-3 3'/%3E%3C/svg%3E");
}

/* ---------- Layout ---------- */
.woocommerce-account.logged-in .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
	font-family: var(--da-font);
}
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after {
	content: none;
	display: none;
}
.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
	flex: 0 0 100%;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	flex: 0 0 250px;
	background: #fff;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
	padding: 10px;
	font-family: var(--da-font);
}
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	flex: 1 1 0;
	min-width: 0;
	font-family: var(--da-font);
	color: var(--da-ink);
}

/* ---------- Sidebar menu ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 0 2px;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	border-radius: 8px;
	color: var(--da-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: var(--da-ico) center / contain no-repeat;
	mask: var(--da-ico) center / contain no-repeat;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
	background: var(--da-navy-tint);
	color: var(--da-navy);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--da-navy);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--da-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--da-red);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: var(--da-red-tint);
}

/* ---------- Member card ---------- */
.da-account {
	font-family: var(--da-font);
	color: var(--da-ink);
}
.da-member-card {
	background: #fff;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
	overflow: hidden;
}
.da-member-card__band {
	height: 72px;
	background: var(--da-navy);
}
.da-member-card__body {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 20px;
	padding: 0 24px;
	margin-top: -44px;
}
.da-member-card__photo {
	flex: 0 0 104px;
	width: 104px;
	height: 104px;
	border-radius: 50%;
	border: 4px solid #fff;
	background: var(--da-navy-tint);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.da-member-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	max-width: none;
}
.da-member-card__photo span {
	font-size: 30px;
	font-weight: 700;
	color: var(--da-navy);
}
.da-member-card__info {
	flex: 1 1 220px;
	min-width: 0;
	padding: 52px 0 4px;
}
.da-member-card__hello {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--da-muted);
}
.woocommerce-account .da-member-card__name {
	margin: 2px 0 10px;
	font-family: var(--da-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--da-ink);
}
.da-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.da-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--da-bg);
	color: #54595F;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
}
.da-badge--member {
	background: var(--da-navy-tint);
	color: var(--da-navy);
}
.da-badge--verified {
	background: #E3F4E8;
	color: #1E6B3A;
}
.da-badge--verified::before {
	content: "";
	width: 13px;
	height: 13px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.da-badge--pending {
	background: #FFF4E0;
	color: #8A5300;
}
.da-member-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 20px 24px 24px;
}

/* ---------- Buttons ---------- */
.da-account a.da-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--da-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.da-account a.da-btn--primary,
.da-account a.da-btn--primary:visited {
	background: var(--da-red);
	color: #fff;
}
.da-account a.da-btn--primary:hover,
.da-account a.da-btn--primary:focus-visible {
	background: var(--da-red-dark);
	color: #fff;
}
.da-account a.da-btn--outline,
.da-account a.da-btn--outline:visited {
	background: transparent;
	border-color: var(--da-navy);
	color: var(--da-navy);
}
.da-account a.da-btn--outline:hover,
.da-account a.da-btn--outline:focus-visible {
	background: var(--da-navy);
	color: #fff;
}
.da-account a.da-btn--cert::before {
	content: "";
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='M9 13.5L8 21l4-2 4 2-1-7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='M9 13.5L8 21l4-2 4 2-1-7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Quick links ---------- */
.da-quick-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-top: 16px;
}
.da-account a.da-quick-link {
	display: block;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
	color: var(--da-ink);
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.da-account a.da-quick-link:hover,
.da-account a.da-quick-link:focus-visible {
	border-color: var(--da-red);
	transform: translateY(-2px);
	color: var(--da-ink);
}
.da-quick-link__icon {
	display: block;
	width: 22px;
	height: 22px;
	background-color: var(--da-red);
	-webkit-mask: var(--da-ico) center / contain no-repeat;
	mask: var(--da-ico) center / contain no-repeat;
}
.da-quick-link__title {
	display: block;
	margin-top: 10px;
	font-size: 16px;
	font-weight: 700;
	color: var(--da-ink);
}
.da-quick-link__text {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--da-muted);
}
.da-account__switch {
	margin: 16px 0 0;
	font-size: 14px;
	color: var(--da-muted);
}
.da-account__switch a {
	color: var(--da-red);
	font-weight: 700;
}

/* ---------- Other tabs: tables ---------- */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content table {
	width: 100%;
	background: #fff;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
	padding: 12px 14px;
	background: var(--da-bg);
	border: 0;
	border-bottom: 1px solid var(--da-line);
	color: var(--da-navy);
	font-size: 14px;
	font-weight: 700;
	text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table td {
	padding: 12px 14px;
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--da-line);
	font-size: 15px;
	vertical-align: middle;
}
.woocommerce-account .woocommerce-MyAccount-content table tr:last-child td {
	border-bottom: 0;
}
.woocommerce-account .woocommerce-MyAccount-content table a:not(.button) {
	color: var(--da-navy);
	font-weight: 700;
}

/* ---------- Buttons in Woo forms and tables ---------- */
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce .button.alt,
body.woocommerce-account .woocommerce button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 26px;
	background: var(--da-red);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-family: var(--da-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s ease;
}
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce .button.alt:hover,
body.woocommerce-account .woocommerce button[type="submit"]:hover {
	background: var(--da-red-dark);
	color: #fff;
}
body.woocommerce-account .woocommerce .shop_table .button {
	padding: 8px 16px;
	margin: 2px 4px 2px 0;
	font-size: 13px;
}

/* ---------- Forms (account details, login) ---------- */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
	background: #fff;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
	padding: 24px;
	font-family: var(--da-font);
}
.woocommerce-account .woocommerce form .form-row label {
	margin-bottom: 6px;
	color: var(--da-ink);
	font-size: 14px;
	font-weight: 700;
}
.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form input[type="text"],
.woocommerce-account .woocommerce form input[type="email"],
.woocommerce-account .woocommerce form input[type="password"],
.woocommerce-account .woocommerce form input[type="tel"],
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea {
	width: 100%;
	padding: 11px 14px;
	background: #fff;
	border: 1px solid #CFD3E0;
	border-radius: 8px;
	box-shadow: none;
	color: var(--da-ink);
	font-family: var(--da-font);
	font-size: 15px;
}
.woocommerce-account .woocommerce form .input-text:focus,
.woocommerce-account .woocommerce form input:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce form textarea:focus {
	border-color: var(--da-navy);
	outline: none;
	box-shadow: 0 0 0 3px rgba(60, 68, 117, .15);
}
.woocommerce-account .woocommerce form fieldset {
	margin: 24px 0;
	padding: 18px;
	border: 1px solid var(--da-line);
	border-radius: var(--da-radius);
}
.woocommerce-account .woocommerce form legend {
	padding: 0 8px;
	color: var(--da-navy);
	font-weight: 700;
}
.woocommerce-account .woocommerce form .form-row.avatar span,
.woocommerce-account .woocommerce form .form-row.certification span {
	display: block;
	margin-bottom: 4px;
	color: var(--da-muted);
	font-size: 13px;
}
.woocommerce-account img.user_change_avatar {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--da-navy-tint);
}
.woocommerce-account img.user_change_avatar[src=""] {
	display: none;
}

/* ---------- Notices ---------- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
	background: var(--da-bg);
	border-top-color: var(--da-navy);
	border-radius: 8px;
	color: var(--da-ink);
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
	color: var(--da-navy);
}
.woocommerce-account .woocommerce-error {
	border-top-color: var(--da-red);
	border-radius: 8px;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.woocommerce-account.logged-in .woocommerce {
		gap: 16px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		flex: 0 0 100%;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation {
		padding: 8px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		margin: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		white-space: nowrap;
		font-size: 14px;
		padding: 9px 12px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0;
		padding: 0;
		border-top: 0;
	}
	.da-member-card__body {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 0 18px;
	}
	.da-member-card__info {
		padding-top: 0;
		flex-basis: auto;
	}
	.da-member-card__actions {
		padding: 16px 18px 20px;
	}
	.da-account a.da-btn {
		flex: 1 1 auto;
	}
	.woocommerce-account .woocommerce-EditAccountForm,
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register {
		padding: 18px;
	}
}
