/*
 * My Account – Enhanced Styles
 *
 * Loaded only on account pages (is_account_page()).
 * Extends the base My Account styles in style.css with:
 *   - Nav profile card (avatar, name, email, admin badge)
 *   - Nav icons beside each menu item
 *   - Admin quick-access block in sidebar
 *   - Dashboard greeting, stat cards, store-overview grid
 *   - Admin context banner
 *   - Improved order-status badges (colour-coded)
 *   - Richer empty states across all tabs
 *   - Refined spacing, typography, responsive tweaks
 *
 * @package HolydogArtboardsChild
 * @since   1.5.0
 */

/* ============================================================
   SCOPED VARIABLES  (augment / override :root values for
   account pages without touching the rest of the site)
   ============================================================ */
.woocommerce-account {
	--hd-forest: #1A3228;
	--hd-forest-dk: #132419;
	--hd-forest-tint: #e8f0eb;
	--hd-stat-bg: #f0f5fb;
	--hd-admin-stripe: #fff8e1;
	--hd-admin-border: #f59e0b;
	--hd-admin-text: #78350f;
	--hd-radius-lg: 16px;
	--hd-radius-md: 12px;
	--hd-radius-sm: 8px;
}

/* ============================================================
   NAV — LAYOUT  (icons are provided by Astra; no changes needed
   to li a display — Astra's styles handle icon + label layout)
   ============================================================ */

/* ============================================================
   NAV — PROFILE CARD
   ============================================================ */
.hd-nav-profile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 22px 20px 18px;
	border-bottom: 1px solid var(--hd-line);
}

/* Circular avatar with initials */
.hd-nav-avatar {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--hd-forest);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
	display: flex;
	align-items: center;
	justify-content: center;
	user-select: none;
}

.hd-nav-user-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
	/* allow text truncation */
}

.hd-nav-display-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--hd-ink);
	line-height: 1.3;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.hd-nav-user-email {
	font-size: 12px;
	color: var(--hd-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 160px;
	margin-top: 2px;
}

/* Admin badge pill */
.hd-nav-admin-badge {
	display: inline-flex;
	align-items: center;
	padding: 1px 7px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: var(--hd-admin-border);
	color: #fff;
	line-height: 1.6;
}

/* ============================================================
   NAV — ADMIN QUICK-ACCESS BLOCK
   ============================================================ */
.hd-nav-admin-links {
	border-top: 1px solid var(--hd-line);
	padding: 14px 16px 16px;
}

.hd-nav-admin-links-title {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hd-muted);
	margin: 0 0 8px;
}

.hd-nav-admin-link {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 10px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--hd-muted) !important;
	text-decoration: none !important;
	border-radius: var(--hd-radius-sm) !important;
	transition: background .15s, color .15s !important;
	line-height: 1.4 !important;
}

.hd-nav-admin-link:hover {
	background: var(--hd-bg) !important;
	color: var(--hd-blue) !important;
	text-decoration: none !important;
}

.hd-nav-admin-link svg {
	flex-shrink: 0;
	opacity: .7;
}

/* ============================================================
   DASHBOARD — ADMIN CONTEXT BANNER
   ============================================================ */
.hd-dashboard-admin-banner {
	display: none;
	align-items: center;
	gap: 10px;
	background: var(--hd-admin-stripe);
	border: 1px solid var(--hd-admin-border);
	border-radius: var(--hd-radius-md);
	padding: 12px 16px;
	margin-bottom: 28px;
	font-size: 13.5px;
	color: var(--hd-admin-text);
}

.hd-dashboard-admin-banner svg {
	flex-shrink: 0;
	color: var(--hd-admin-border);
}

.hd-dashboard-admin-banner span {
	flex: 1;
}

.hd-dashboard-admin-banner a {
	white-space: nowrap;
	font-size: 13px;
	font-weight: 700;
	color: var(--hd-admin-text) !important;
	text-decoration: underline !important;
}

/* ============================================================
   DASHBOARD — ADMIN BANNER SPACING
   (greeting / stats / store overview removed; Astra's hook
    outputs those, we only add the admin-context banner above)
   ============================================================ */
.hd-dashboard-admin-banner+* {
	/* let Astra's content breathe below the banner */
	margin-top: 0;
}

/* ============================================================
   ORDER STATUS BADGES  (used in orders table + everywhere)
   ============================================================ */
.woocommerce-account .order-status,
.woocommerce-account .woocommerce-orders-table__cell-order-status mark,
.woocommerce-account mark.order-status {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: var(--hd-bg);
	color: var(--hd-muted);
	border: 1.5px solid var(--hd-line);
}

/* Processing */
.woocommerce-account .order-status.status-processing,
.woocommerce-account mark.status-processing {
	background: #eff6ff;
	color: #1d4ed8;
	border-color: #bfdbfe;
}

/* Completed */
.woocommerce-account .order-status.status-completed,
.woocommerce-account mark.status-completed {
	background: var(--hd-forest-tint);
	color: var(--hd-forest);
	border-color: #a7d3b5;
}

/* On hold */
.woocommerce-account .order-status.status-on-hold,
.woocommerce-account mark.status-on-hold {
	background: #fffbeb;
	color: #92400e;
	border-color: #fde68a;
}

/* Pending */
.woocommerce-account .order-status.status-pending,
.woocommerce-account mark.status-pending {
	background: #f5f3ff;
	color: #4c1d95;
	border-color: #ddd6fe;
}

/* Cancelled */
.woocommerce-account .order-status.status-cancelled,
.woocommerce-account mark.status-cancelled {
	background: #fef2f2;
	color: #991b1b;
	border-color: #fecaca;
}

/* Refunded */
.woocommerce-account .order-status.status-refunded,
.woocommerce-account mark.status-refunded {
	background: #fff7ed;
	color: #9a3412;
	border-color: #fed7aa;
}

/* Ready for pickup (custom) */
.woocommerce-account .order-status.status-ready-for-pickup,
.woocommerce-account mark.status-ready-for-pickup {
	background: var(--hd-forest-tint);
	color: var(--hd-forest);
	border-color: #a7d3b5;
}

/* Collected (custom) */
.woocommerce-account .order-status.status-collected,
.woocommerce-account mark.status-collected {
	background: var(--hd-forest-tint);
	color: var(--hd-forest-dk);
	border-color: #6dbb87;
}

/* ============================================================
   ORDERS TABLE — column action buttons
   ============================================================ */
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button {
	padding: 7px 14px !important;
	font-size: 12px !important;
	border-radius: 999px !important;
}

/* ============================================================
   EMPTY STATES
   ============================================================ */
.woocommerce-account .woocommerce-Message--info,
.woocommerce-account .woocommerce-message {
	border-radius: var(--hd-radius-md);
}

/* Generic helper class used in other templates */
.hd-empty-state {
	text-align: center;
	padding: 56px 24px 48px;
}

.hd-empty-state-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
	color: var(--hd-line);
}

.hd-empty-state-icon svg {
	width: 56px;
	height: 56px;
}

.hd-empty-state-text {
	font-size: 15px;
	color: var(--hd-muted);
	margin: 0 0 24px;
}

.hd-empty-state-cta.button {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

/* ============================================================
   ACCOUNT DETAILS (Your data tab) — read-only info card
   ============================================================ */

/* The dark-green info card sitting at the top of the Your data tab */
.woocommerce-account .woocommerce-customer-details--account,
.woocommerce-account .woocommerce-EditAccountForm+.hd-account-info-card {
	background: var(--hd-forest);
	border-radius: var(--hd-radius-lg);
	padding: 32px 36px;
	color: rgba(255, 255, 255, .85);
	margin-bottom: 28px;
}

/* Section divider labels inside the card */
.woocommerce-account .woocommerce-customer-details--account dt,
.woocommerce-account .woocommerce-customer-details--account th {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	margin-bottom: 2px;
}

.woocommerce-account .woocommerce-customer-details--account dd,
.woocommerce-account .woocommerce-customer-details--account td {
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	margin-bottom: 14px;
}

/* ============================================================
   SUBSCRIPTIONS TAB  — title & empty-state
   ============================================================ */
.woocommerce-account h2.entry-title {
	font-size: clamp(20px, 3vw, 26px);
}

/* "No subscriptions found" text */
.woocommerce-account p.woocommerce-no-subscriptions,
.woocommerce-account .woocommerce-subscriptions-not-found {
	color: var(--hd-muted);
	font-size: 15px;
}

/* ============================================================
   ADDRESS CARDS — polish
   ============================================================ */
.woocommerce-account .woocommerce-Address {
	position: relative;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 640px) {
	.hd-nav-profile {
		padding: 16px;
	}

	.hd-dashboard-admin-banner {
		flex-wrap: wrap;
	}
}