/**
 * Founders Helper — My Account look (11.21), every tab.
 *
 * The Elementor My Account widget (template "Akun Saya") owns the frame and
 * exposes its style controls as CSS variables (--tabs-*, --sections-*,
 * --tables-*). This file sets good defaults for those variables at a LOWER
 * specificity than the widget's own generated CSS, so anything changed in
 * Elementor wins. Parts the widget has no control for — the profile card,
 * menu icons, order-status pills, address cards, the mobile menu — are styled
 * here. Colours come from the Elementor kit (see ui-public.css); fonts inherit.
 *
 * Scope: body.fh-acct (logged-in account pages only).
 */

body.fh-acct {
	--fh-green: var(--e-global-color-secondary, #1DA678);
	--fh-green-hover: #168A63;
	--fh-green-ink: #0E7C57;
	--fh-green-light: var(--e-global-color-8ed0d9b, #E8F6F1);
	--fh-navy: var(--e-global-color-1be2e8c, #0D1B2A);
	--fh-red: var(--e-global-color-1ad8f47, #EF5743);
	--fh-red-light: #FFF1EE;
	--fh-yellow-light: #FFF8E1;
	--fh-text: #1F2933;
	--fh-muted: #5A6470;
	--fh-faint: #8A94A1;
	--fh-border: #E2E5EA;
	--fh-bg: #F8F9FA;
	--fh-radius-sm: 8px;
	--fh-radius: 12px;
	--fh-pill: 50px;
	--fh-shadow-sm: 0 1px 3px rgba(13, 27, 42, .08);
	--fh-shadow: 0 4px 16px rgba(13, 27, 42, .10);
	--fh-focus: 0 0 0 3px rgba(29, 166, 120, .35);
}

/* ── Widget defaults (Elementor style controls override these) ─────────── */

body.fh-acct .elementor-widget-woocommerce-my-account {
	--tab-content-spacing: 28px;
	--tabs-spacing: 4px;
	--tabs-divider-weight: 0;
	--sections-border-type: none;
	--sections-background-color: transparent;
	--sections-padding: 0;
	--tables-divider-border-color: var(--fh-border);
	--tables-buttons-border-color: var(--fh-green);
	--tables-button-normal-text-color: var(--fh-green-ink);
	--tables-button-border-radius: var(--fh-pill);
	--tables-button-padding: 6px 14px;
	--tabs-normal-color: var(--fh-text);
	--tabs-hover-color: var(--fh-green-ink);
	--tabs-active-color: var(--fh-green-ink);
	--tabs-padding: 10px 12px;
	--tabs-border-radius: 10px;
	--tabs-border-type: none;
	--links-normal-color: var(--fh-green-ink);
	--links-hover-color: var(--fh-green-hover);
	--tables-links-normal-color: var(--fh-green-ink);
	--tables-links-hover-color: var(--fh-green-hover);
	--forms-fields-normal-background-color: #fff;
	--forms-fields-normal-color: var(--fh-text);
	--forms-labels-color: var(--fh-navy);
	--general-text-color: var(--fh-text);
	--typography-section-titles-color: var(--fh-navy);
	--section-title-spacing: 12px;
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-MyAccount-content {
	min-width: 0;
}

/* ── Menu: profile card + items ────────────────────────────────────────── */

body.fh-acct .fh-acct-nav {
	padding: 14px;
	background: #fff;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	box-shadow: var(--fh-shadow-sm);
}

body.fh-acct .fh-acct-profile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 14px;
	margin: 0 0 10px;
	border-bottom: 1.5px solid var(--fh-border);
}

body.fh-acct .fh-acct-profile__avatar {
	flex: 0 0 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .02em;
}

body.fh-acct .fh-acct-profile__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.3;
}

body.fh-acct .fh-acct-profile__name {
	color: var(--fh-navy);
	font-size: 1rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.fh-acct .fh-acct-profile__email {
	color: var(--fh-muted);
	font-size: .8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.fh-acct .fh-acct-profile__role {
	align-self: flex-start;
	margin-top: 6px;
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: .72rem;
	font-weight: 600;
}

body.fh-acct .fh-acct-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

body.fh-acct .fh-acct-nav ul li {
	margin: 0;
	padding: 0;
}

/* Colours, background, padding and radius of the items come from the widget's
   Tabs controls in Elementor (variables above / its own CSS). Only the layout
   — icon next to the label — is set here, at a strength above the widget's
   stock CSS (which makes the link a block). */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

body.fh-acct .fh-acct-nav .fh-acct-ico {
	flex: 0 0 18px;
	opacity: .85;
}

/* Log out: always red, set apart from the rest (brief). */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1.5px solid var(--fh-border);
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--fh-red);
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: var(--fh-red-light);
}

body.fh-acct .fh-acct-nav ul li a:focus-visible {
	outline: none;
	box-shadow: var(--fh-focus);
}

/* ── Content: common pieces ────────────────────────────────────────────── */

body.fh-acct .woocommerce-MyAccount-content {
	color: var(--fh-text);
}

body.fh-acct .woocommerce-MyAccount-content h2,
body.fh-acct .woocommerce-MyAccount-content h3 {
	margin: 0 0 12px;
	color: var(--fh-navy);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
}

body.fh-acct .fh-acct-welcome {
	margin: 0 0 18px;
}

body.fh-acct .woocommerce-MyAccount-content .fh-acct-welcome__title {
	margin: 0 0 4px;
	font-size: 1.5rem;
}

body.fh-acct .fh-acct-welcome__text {
	margin: 0;
	color: var(--fh-muted);
}

body.fh-acct .fh-acct-slot {
	margin: 0 0 18px;
}

body.fh-acct .fh-acct-slot--bottom {
	margin: 18px 0 0;
}

/* Notices (WooCommerce info / message / error). */
body.fh-acct .woocommerce-MyAccount-content .woocommerce-info,
body.fh-acct .woocommerce-MyAccount-content .woocommerce-message,
body.fh-acct .woocommerce-MyAccount-content .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 1.5px solid var(--fh-border);
	border-left: 4px solid var(--fh-green);
	border-radius: var(--fh-radius);
	background: #fff;
	color: var(--fh-text);
	font-size: .92rem;
	list-style: none;
}

body.fh-acct .woocommerce-MyAccount-content .woocommerce-info::before,
body.fh-acct .woocommerce-MyAccount-content .woocommerce-message::before,
body.fh-acct .woocommerce-MyAccount-content .woocommerce-error::before {
	display: none;
}

body.fh-acct .woocommerce-MyAccount-content .woocommerce-error {
	border-left-color: var(--fh-red);
}

body.fh-acct .woocommerce-MyAccount-content .woocommerce-info .button,
body.fh-acct .woocommerce-MyAccount-content .woocommerce-message .button {
	order: 2;
	margin-left: auto;
}

/* Buttons inside content: pill, kit green. */
body.fh-acct .woocommerce-MyAccount-content .button,
body.fh-acct .woocommerce-MyAccount-content button[type="submit"]:not(.fh-dash__link-btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 22px;
	border: 1.5px solid var(--fh-green);
	border-radius: var(--fh-pill);
	background: var(--fh-green);
	color: #fff;
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.fh-acct .woocommerce-MyAccount-content .button:hover,
body.fh-acct .woocommerce-MyAccount-content button[type="submit"]:not(.fh-dash__link-btn):hover {
	background: var(--fh-green-hover);
	border-color: var(--fh-green-hover);
	color: #fff;
}

/* ── Tables (orders, downloads, order details) ─────────────────────────── */

body.fh-acct .woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	margin: 0 0 18px;
	border: 1.5px solid var(--fh-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--fh-radius);
	background: #fff;
	overflow: hidden;
	font-size: .92rem;
}

body.fh-acct .woocommerce-MyAccount-content table.shop_table th,
body.fh-acct .woocommerce-MyAccount-content table.shop_table td {
	padding: 12px 16px;
	border: 0;
	border-top: 1px solid var(--fh-border);
	text-align: left;
	vertical-align: middle;
}

body.fh-acct .woocommerce-MyAccount-content table.shop_table thead th {
	border-top: 0;
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.fh-acct .woocommerce-MyAccount-content table.shop_table a {
	color: var(--fh-green-ink);
	font-weight: 600;
	text-decoration: none;
}

body.fh-acct .woocommerce-MyAccount-content table.shop_table .button {
	padding: 6px 14px;
	background: transparent;
	color: var(--fh-green-ink);
	font-size: .82rem;
}

body.fh-acct .woocommerce-MyAccount-content table.shop_table .button:hover {
	background: var(--fh-green);
	color: #fff;
}

body.fh-acct .woocommerce-orders-table__cell-order-actions .button + .button {
	margin-left: 6px;
}

/* Order status as a pill, coloured by the row's status class. */
body.fh-acct .woocommerce-orders-table__cell-order-status {
	white-space: nowrap;
}

body.fh-acct .fh-acct-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: .78rem;
	font-weight: 600;
}

body.fh-acct .fh-acct-status--completed { background: var(--fh-green-light); color: var(--fh-green-ink); }
body.fh-acct .fh-acct-status--processing { background: #E3F2FD; color: #1565C0; }
body.fh-acct .fh-acct-status--on-hold,
body.fh-acct .fh-acct-status--pending { background: var(--fh-yellow-light); color: #8A5A00; }
body.fh-acct .fh-acct-status--cancelled,
body.fh-acct .fh-acct-status--failed,
body.fh-acct .fh-acct-status--refunded { background: var(--fh-red-light); color: #B23A2B; }

/* Order view: summary line and customer details. */
body.fh-acct .woocommerce-MyAccount-content mark {
	padding: 0 2px;
	background: transparent;
	color: var(--fh-navy);
	font-weight: 700;
}

body.fh-acct .woocommerce-customer-details address {
	padding: 16px 18px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: #fff;
	font-style: normal;
	line-height: 1.7;
}

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

body.fh-acct .woocommerce-MyAccount-content > p:first-child,
body.fh-acct .woocommerce-MyAccount-content-wrapper > p:first-of-type {
	color: var(--fh-muted);
}

body.fh-acct .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

body.fh-acct .woocommerce-Addresses::before,
body.fh-acct .woocommerce-Addresses::after {
	display: none;
}

body.fh-acct .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0 0 16px;
	padding: 18px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: #fff;
}

body.fh-acct .woocommerce-Addresses .woocommerce-Address {
	margin: 0;
}

body.fh-acct .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
}

body.fh-acct .woocommerce-Address-title::before,
body.fh-acct .woocommerce-Address-title::after {
	display: none;
}

body.fh-acct .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: 1rem;
}

body.fh-acct .woocommerce-Address-title .edit {
	float: none;
	padding: 5px 14px;
	border: 1.5px solid var(--fh-green);
	border-radius: var(--fh-pill);
	color: var(--fh-green-ink);
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
}

body.fh-acct .woocommerce-Address-title .edit:hover {
	background: var(--fh-green);
	color: #fff;
}

body.fh-acct .elementor-widget-woocommerce-my-account .woocommerce-Address address {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fh-text);
	font-style: normal;
	line-height: 1.7;
}

/* ── Forms (account details, edit address) ─────────────────────────────── */

body.fh-acct .woocommerce-EditAccountForm,
body.fh-acct .woocommerce-MyAccount-content form .woocommerce-address-fields {
	padding: 22px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: #fff;
}

body.fh-acct .woocommerce-EditAccountForm,
body.fh-acct .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
}

body.fh-acct .woocommerce-EditAccountForm > *,
body.fh-acct .woocommerce-address-fields__field-wrapper > * {
	grid-column: 1 / -1;
}

body.fh-acct .woocommerce-EditAccountForm > .form-row-first,
body.fh-acct .woocommerce-address-fields__field-wrapper > .form-row-first {
	grid-column: 1;
}

body.fh-acct .woocommerce-EditAccountForm > .form-row-last,
body.fh-acct .woocommerce-address-fields__field-wrapper > .form-row-last {
	grid-column: 2;
}

body.fh-acct .woocommerce-EditAccountForm .clear {
	display: none;
}

body.fh-acct .woocommerce-MyAccount-content .form-row {
	float: none;
	width: auto;
	margin: 0 0 14px;
	padding: 0;
}

body.fh-acct .woocommerce-MyAccount-content .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--fh-navy);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.4;
}

body.fh-acct .woocommerce-MyAccount-content .form-row .required {
	color: var(--fh-red);
	text-decoration: none;
}

body.fh-acct .woocommerce-MyAccount-content .form-row input.input-text,
body.fh-acct .woocommerce-MyAccount-content .form-row select,
body.fh-acct .woocommerce-MyAccount-content .form-row textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 14px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius-sm);
	background: #fff;
	color: var(--fh-text);
	font-size: .95rem;
	box-shadow: none;
}

body.fh-acct .woocommerce-MyAccount-content .form-row input.input-text:focus,
body.fh-acct .woocommerce-MyAccount-content .form-row select:focus,
body.fh-acct .woocommerce-MyAccount-content .form-row textarea:focus {
	border-color: var(--fh-green);
	outline: none;
	box-shadow: var(--fh-focus);
}

body.fh-acct .woocommerce-MyAccount-content .form-row em,
body.fh-acct .woocommerce-MyAccount-content #account_display_name_description {
	display: block;
	margin-top: 6px;
	color: var(--fh-muted);
	font-size: .8rem;
	font-style: normal;
}

body.fh-acct .woocommerce-EditAccountForm fieldset {
	margin: 10px 0 14px;
	padding: 18px 18px 4px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-bg);
}

body.fh-acct .woocommerce-EditAccountForm fieldset legend {
	padding: 0 8px;
	color: var(--fh-navy);
	font-weight: 700;
	font-size: .95rem;
}

body.fh-acct .woocommerce-EditAccountForm > p:last-of-type,
body.fh-acct .woocommerce-address-fields > p:last-child {
	margin: 6px 0 0;
}

/* ── Student photo & profile on Account details (11.76.0) ──────────────── */

/* Tutor's Account details: public profile, then e-mail & password (11.78.4) */
body.fh-acct .fh-tpf-account {
	margin: 0 0 8px;
	scroll-margin-top: 90px;
}

body.fh-acct .fh-acct-login-h {
	margin: 28px 0 10px !important;
	color: var(--fh-navy);
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.fh-acct .fh-tpf-account > .fh-dash__h {
	margin: 0 0 6px !important;
	font-size: 1.25rem !important;
}

body.fh-acct .fh-acct-profile__label {
	align-self: flex-start;
	margin: 2px 0 0;
	font-size: .7rem !important;
}

body.fh-acct .fh-acct-profile__avatar.has-photo {
	overflow: hidden;
	background: var(--fh-bg);
}

body.fh-acct .fh-acct-profile__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.fh-acct .fh-sp-photo {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 18px;
	padding: 0 0 18px;
	border-bottom: 1.5px solid var(--fh-border);
}

body.fh-acct .fh-sp-photo__img {
	flex: 0 0 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-size: 1.4rem;
	font-weight: 700;
}

body.fh-acct .fh-sp-photo__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.fh-acct .fh-sp-photo__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-width: 0;
}

body.fh-acct .fh-sp-photo__label {
	color: var(--fh-navy);
	font-size: .85rem;
	font-weight: 600;
}

body.fh-acct .fh-sp-photo input[type="file"] {
	max-width: 100%;
	color: var(--fh-muted);
	font-size: .85rem;
}

body.fh-acct .fh-sp-photo input[type="file"]::file-selector-button {
	margin: 0 10px 0 0;
	padding: 7px 16px;
	border: 1.5px solid var(--fh-green);
	border-radius: 50px;
	background: #fff;
	color: var(--fh-green-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

body.fh-acct .fh-sp-photo input[type="file"]::file-selector-button:hover {
	background: var(--fh-green-light);
}

body.fh-acct .fh-sp-photo__remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--fh-muted);
	font-size: .85rem;
}

body.fh-acct .fh-sp-hint {
	display: block;
	margin: 0;
	color: var(--fh-muted);
	font-size: .8rem;
	line-height: 1.5;
}

body.fh-acct .woocommerce-EditAccountForm fieldset.fh-sp-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
}

body.fh-acct .fh-sp-fields > * {
	grid-column: 1 / -1;
}

body.fh-acct .fh-sp-fields > .fh-sp-half {
	grid-column: auto;
}

body.fh-acct .fh-sp-fields > .fh-sp-hint {
	margin: 0 0 14px;
}

body.fh-acct .woocommerce-MyAccount-content .fh-sp-fields .form-row textarea {
	min-height: 84px;
	resize: vertical;
}

@media (max-width: 767px) {
	body.fh-acct .woocommerce-EditAccountForm fieldset.fh-sp-fields {
		grid-template-columns: 1fr;
	}

	body.fh-acct .fh-sp-photo {
		align-items: flex-start;
	}
}

/* ── Mobile / tablet (the widget stacks below 1024px) ──────────────────── */

@media (max-width: 1024px) {
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav {
		margin: 0 0 18px;
		padding: 12px;
	}

	body.fh-acct .fh-acct-profile {
		padding: 2px 2px 12px;
	}

	/* Menu becomes one row of pills that scrolls sideways. */
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul::-webkit-scrollbar {
		display: none;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li {
		flex: 0 0 auto;
		width: auto;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li::after {
		display: none;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li a {
		padding: 8px 14px;
		border: 1.5px solid var(--fh-border);
		border-radius: var(--fh-pill);
		white-space: nowrap;
		font-size: .85rem;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li.is-active a {
		border-color: var(--fh-green);
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .fh-acct-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0;
		padding: 0;
		border: 0;
	}
}

@media (max-width: 767px) {
	body.fh-acct .woocommerce-EditAccountForm,
	body.fh-acct .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	body.fh-acct .woocommerce-EditAccountForm > .form-row-first,
	body.fh-acct .woocommerce-EditAccountForm > .form-row-last,
	body.fh-acct .woocommerce-address-fields__field-wrapper > .form-row-first,
	body.fh-acct .woocommerce-address-fields__field-wrapper > .form-row-last {
		grid-column: 1;
	}

	body.fh-acct .woocommerce-EditAccountForm,
	body.fh-acct .woocommerce-MyAccount-content form .woocommerce-address-fields {
		padding: 16px;
	}

	/* WooCommerce turns responsive tables into label/value rows; make each row a card. */
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive thead {
		display: none;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive {
		border: 0;
		background: transparent;
		border-radius: 0;
		overflow: visible;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr {
		display: block;
		margin: 0 0 12px;
		border: 1.5px solid var(--fh-border);
		border-radius: var(--fh-radius);
		background: #fff;
		overflow: hidden;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr td {
		display: block;
		padding: 10px 14px;
		border: 0;
		border-top: 1px solid var(--fh-border);
		text-align: right;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr > :first-child {
		border-top: 0;
		background: var(--fh-bg);
		text-align: left;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr td::before {
		content: attr(data-title);
		float: left;
		color: var(--fh-muted);
		font-weight: 600;
		text-align: left;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table_responsive tbody tr th::before {
		content: none;
	}
}

/* ── Where the widget's stock CSS (no style control) gets in the way ─────── */

/* Address cards: the stock CSS floats the "Edit" link absolutely over the title. */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address .edit,
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Addresses .edit {
	position: static;
	float: none;
	margin: 0;
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address address,
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Addresses address {
	padding: 0;
	border: 0;
	background: transparent;
}

/* Buttons that are links: the widget paints every link with the link colour. */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .woocommerce-info .button,
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .woocommerce-message .button {
	color: #fff;
}

/* Inputs get a visible edge (Elementor's Forms → Border overrides this). */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .form-row input.input-text,
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .form-row select,
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .form-row textarea {
	border: 1.5px solid var(--fh-border);
}

/* Welcome title on the dashboard. */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .fh-acct-welcome .fh-acct-welcome__title {
	margin: 0 0 4px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address-title h2 {
	font-size: 1rem;
	font-weight: 700;
}

body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-MyAccount-content h2 {
	font-weight: 700;
}

/* Table cells: the widget's stock CSS zeroes the left padding of every cell
   (thead, tbody rows, order totals in tfoot), so text touches the card edge.
   Desktop only — below 768px the rows are cards (see the mobile block). */
@media (min-width: 768px) {
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table thead th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table thead td,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tbody > tr > th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tbody > tr > td,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tbody > tr:nth-child(2n) > th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tbody > tr:nth-child(2n) > td,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tfoot th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table tfoot td {
		padding: 12px 18px;
	}

	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table thead:first-child tr:first-child th,
	body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce table.shop_table thead:first-child tr:first-child td {
		padding: 12px 18px;
	}
}

/* Order view: billing/shipping block as a card, like the rest. */
body.fh-acct .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-customer-details address {
	padding: 16px 18px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: #fff;
	line-height: 1.7;
}
