/* =========================================================
   「我的帐户」页（WooCommerce 账号页）
   ---------------------------------------------------------
   页面骨架走 `page.php` + WooCommerce 的 `[woocommerce_my_account]` 短码
   （官方推荐做法，不改模板、不动数据库）；
   左栏导航由 `inc/account.php` 换成主题结构；
   本文件只对 `.cp-account-page`（body class）生效，
   所以购物车 / 结账 / 商品页都不受影响。

   设计语言取自首页与法务页（设计稿 `设计稿/隐私政策.png` 反解值）：
     - 正文区白底、内容块 1210px 居中，页头/页脚保持浅灰 --cp-bg
     - 标题 48px 居中（与 `.cp-legal__title` 同款字体处理：500 字重 + 0.5px 描边）
     - 左栏 212px：24px 黑字，当前项加粗 + 4px 黑色下划线
     - 右栏正文 16px / 1.75，表格与表单用法务页同一套边框、圆角

   ⚠️ WooCommerce 自带的 woocommerce.css 仍然加载（inc/woocommerce.php 里
      `cardpouchy_keep_woocommerce_css` 目前是 true）。它的账号页布局是
      `float` + `width: 30% / 68%`，所以这里要**显式覆盖 float 和 width**，
      不能只写 display:grid。
   ========================================================= */

/* 正文区白底（与法务页同款处理） */
.cp-account-page .cp-main { background: var(--cp-surface); }

/* 账号页比其它内页宽：内容块用 1210px（法务页同一套横向基准） */
.cp-account-page .cp-container--narrow { max-width: 1258px; }

/*
 * 标题：与法务页 `.cp-legal__title` 完全同款。
 * 那份样式带 `.cp-legal` 前缀、只对法务页生效，所以这里照抄一份，
 * 而不是把 `.cp-legal__title` 借来用（免得以后改法务页时误伤账号页）。
 */
.cp-account-page .cp-entry__title {
	margin: 0 0 10px;
	color: #000;
	font-size: 48px;
	font-weight: 500;
	-webkit-text-stroke: 0.5px currentColor;
	line-height: 1.2;
	text-align: center;
}

/* 页面纵向节奏：比法务页（150 / 395）收一些 —— 账号页是功能页，不用留那么大尾白 */
.cp-account-page .cp-layout { padding-block: 96px 240px; }

/* ---- 左右两栏：左栏导航 212px + 右栏内容 ---- */

/*
 * 账号短码外面还有一层 `<div class="woocommerce">`，它才是 `.cp-entry__content`
 * 的直接子元素。用 `display: contents` 把它“透明化”，
 * 让里面的导航 / 内容直接成为网格项 —— 否则整块会被当成**一个**网格项，
 * 被塞进第一列（实测：整页缩成 212px 一列，右栏掉到左栏下面）。
 *
 * 子元素的栏位**显式指定**，不靠自动排布：
 * 内容容器里第一个子是 Woo 的 `.woocommerce-notices-wrapper`，
 * 后来还会插入 `.woocommerce-MyAccount-content`，
 * 自动排布在多子元素时容易错位。
 */
.cp-account-page .cp-entry__content {
	display: grid;
	grid-template-columns: 212px minmax(0, 1fr);
	gap: 40px;
	margin-top: 54px;
}

.cp-account-page .cp-entry__content > .woocommerce { display: contents; }

/*
 * 子元素只**指定列**、行由自动排布决定：
 * 内容容器里第一个子是 Woo 的 `.woocommerce-notices-wrapper`（通常高 0），
 * 它和正文容器是兄弟；写死行号会把正文推到导航下面（实测踩过）。
 * 显式给列号 + 自动行 = 导航在左、提示条与正文依次排在右列。
 */
.cp-account-page .woocommerce-MyAccount-navigation { grid-column: 1; }

.cp-account-page .woocommerce-notices-wrapper,
.cp-account-page .woocommerce-MyAccount-content { grid-column: 2; }

/* 未登录时 Woo 只渲染登录表单，那时不要两栏（导航整个不存在） */
.cp-account-page .cp-entry__content:not(:has(.woocommerce-MyAccount-navigation)) {
	grid-template-columns: minmax(0, 1fr);
	margin-top: 32px;
}

.cp-account-page .cp-entry__content:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-notices-wrapper,
.cp-account-page .cp-entry__content:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-MyAccount-content {
	grid-column: 1;
}

/* 显式解掉 WooCommerce 的 float + 30% / 68%（它是浮动布局，这里是 grid） */
.cp-account-page .woocommerce-MyAccount-navigation,
.cp-account-page .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

/*
 * Woo 原来那个菜单列表：**保留它的 DOM**（官方模板直接调
 * `wc_get_account_menu_items()` 输出 `<ul>`，不走 `woocommerce_account_menu_items`
 * 过滤器，替换不了；而且外层 `<nav>` 也是官方回调输出的，摘回调会连容器一起没）。
 * 所以这里只做换皮：去掉系统圆点，条目、字体、当前项下划线全部重画。
 */
.cp-account-page .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cp-account-page .woocommerce-MyAccount-navigation { padding-top: 8px; }

/* ---- 左栏：账号导航 ---- */

/*
 * 条目间距：法务页左栏是 3 条、用 margin 52px；
 * 这里默认 6 条（仪表盘/订单/下载/地址/账户详情/注销），
 * 按 24px 字号给 28px 间距，紧凑些也不挤。
 */
.cp-account-page .woocommerce-MyAccount-navigation ul li + li { margin-top: 28px; }

.cp-account-page .woocommerce-MyAccount-navigation ul li a {
	position: relative;
	display: inline-block;
	padding-bottom: 9px;
	color: #000;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
}

.cp-account-page .woocommerce-MyAccount-navigation ul li a:hover { color: var(--cp-brand-red-strong); }

/* 当前这一页：加粗 + 4px 黑色下划线（与法务页当前项同款） */
.cp-account-page .woocommerce-MyAccount-navigation ul li.is-active a { font-weight: 700; }

.cp-account-page .woocommerce-MyAccount-navigation ul li.is-active a::after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
	background: #000;
	content: "";
}

/* ---- 右栏：WooCommerce 账号内容 ---- */
.cp-account-page .woocommerce-MyAccount-content {
	color: var(--cp-body);
	line-height: 1.75;
}

.cp-account-page .woocommerce-MyAccount-content > *:first-child { margin-top: 0; }

.cp-account-page .woocommerce-MyAccount-content p { margin: 0 0 16px; }

.cp-account-page .woocommerce-MyAccount-content a { color: var(--cp-brand-blue); }
.cp-account-page .woocommerce-MyAccount-content a:hover { color: var(--cp-brand-red-strong); }

/*
 * 「您好 xxx（不是 xxx？退出）」这一行：把「退出」做成描边胶囊按钮。
 * ⚠️ 仪表盘那句里的「退出」指向的是 **核心** `wp-login.php?action=logout`
 *    （不是左栏那个 `/my-account/customer-logout/`），两个都要覆盖。
 *    选择器按 href 命中、并只作用于正文栏，不会误伤左栏导航里的「注销」。
 */
.cp-account-page .woocommerce-MyAccount-content a[href*="customer-logout"],
.cp-account-page .woocommerce-MyAccount-content a[href*="action=logout"] {
	display: inline-block;
	margin-left: 6px;
	padding: 4px 14px;
	border: 1px solid var(--cp-border);
	border-radius: 999px;
	color: var(--cp-brand-red-strong);
	font-size: 15px;
	font-weight: 700;
}

.cp-account-page .woocommerce-MyAccount-content a[href*="customer-logout"]:hover,
.cp-account-page .woocommerce-MyAccount-content a[href*="action=logout"]:hover {
	border-color: var(--cp-brand-red-strong);
	background: var(--cp-brand-red-strong);
	color: #fff;
}

/* ---- 提示条（Woo 的 info / message / error / success） ---- */
.cp-account-page .woocommerce-message,
.cp-account-page .woocommerce-info,
.cp-account-page .woocommerce-error {
	margin: 0 0 24px;
	padding: 14px 20px;
	border: 0;
	border-left: 4px solid var(--cp-brand-blue);
	border-radius: var(--cp-radius);
	list-style: none;
	background: #f5f8ff;
	color: var(--cp-ink);
	font-size: 15px;
}

.cp-account-page .woocommerce-message { border-left-color: var(--cp-brand-green); background: #eef9f3; }
.cp-account-page .woocommerce-error { border-left-color: var(--cp-brand-red); background: #fdecea; }

/* 去掉 Woo 自带的图标字体（未装字体时会显示成方块） */
.cp-account-page .woocommerce-message::before,
.cp-account-page .woocommerce-info::before,
.cp-account-page .woocommerce-error::before { display: none; }

.cp-account-page .woocommerce-message .button,
.cp-account-page .woocommerce-info .button { margin-left: 10px; }

/* ---- 表单（账户详情 / 地址 / 登录） ---- */
.cp-account-page .woocommerce-MyAccount-content form { margin-bottom: 8px; }

.cp-account-page .woocommerce-MyAccount-content .form-row {
	display: block;
	margin: 0 0 18px;
	padding: 0;
}

.cp-account-page .woocommerce-MyAccount-content .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--cp-ink);
	font-size: 14px;
	font-weight: 600;
}

/* Woo 的「必填」星号用品牌红 */
.cp-account-page .woocommerce-MyAccount-content .required { color: var(--cp-brand-red-strong); }

.cp-account-page .woocommerce-MyAccount-content .form-row em {
	display: block;
	margin-top: 4px;
	color: var(--cp-muted);
	font-size: 13px;
}

.cp-account-page .woocommerce-MyAccount-content .form-row input[type="checkbox"] { width: auto; }

.cp-account-page .woocommerce-MyAccount-content fieldset {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.cp-account-page .woocommerce-MyAccount-content fieldset legend {
	margin: 0 0 18px;
	padding: 0;
	color: var(--cp-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
}

/* 表单别铺满整个内容栏：太宽反而不易读（账户详情 / 地址表单都是双列） */
.cp-account-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.cp-account-page .woocommerce-MyAccount-content form.woocommerce-address-fields,
.cp-account-page .woocommerce-MyAccount-content form.woocommerce-form-login,
.cp-account-page .woocommerce-MyAccount-content form.lost_reset_password {
	max-width: 640px;
}

/* ---- 按钮：账号页用品牌红（首页「联系客服」那支），别用 Woo 的蓝 ---- */

/*
 * ⚠️ 排除 `.show-password-input`：那是 Woo 表单里「显示/隐藏密码」的小眼睛按钮，
 *    它是个 `<button>`，会被下面的按钮样式误伤成一个红色大胶囊（实测踩过）。
 *    这里把它还原成透明无边框的小图标按钮。
 */
.cp-account-page .woocommerce a.button,
.cp-account-page .woocommerce button.button,
.cp-account-page .woocommerce input.button,
.cp-account-page .woocommerce #respond input#submit,
.cp-account-page .woocommerce-MyAccount-content button:not(.show-password-input),
.cp-account-page .woocommerce-MyAccount-content input[type="submit"] {
	padding: 11px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--cp-brand-red-strong);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.cp-account-page .woocommerce a.button:hover,
.cp-account-page .woocommerce button.button:hover,
.cp-account-page .woocommerce input.button:hover,
.cp-account-page .woocommerce #respond input#submit:hover,
.cp-account-page .woocommerce-MyAccount-content button:not(.show-password-input):hover,
.cp-account-page .woocommerce-MyAccount-content input[type="submit"]:hover {
	background: #c8170f;
	color: #fff;
}

.cp-account-page .woocommerce-MyAccount-content .show-password-input {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cp-ink);
}

.cp-account-page .woocommerce-MyAccount-content .show-password-input:hover { background: transparent; }

/* 次要动作（订单里的小按钮）保持克制 */
.cp-account-page .woocommerce-MyAccount-content a.button.woocommerce-button--small,
.cp-account-page .woocommerce-MyAccount-content .button--small {
	padding: 7px 16px;
	font-size: 13.5px;
}

/* ---- 表格（订单列表 / 下载 / 地址） ---- */
.cp-account-page table.shop_table {
	margin: 0 0 28px;
	border: 1px solid var(--cp-border);
	border-radius: var(--cp-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.cp-account-page table.shop_table th,
.cp-account-page table.shop_table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--cp-border);
	color: var(--cp-ink);
	font-size: 15px;
	vertical-align: middle;
}

.cp-account-page table.shop_table thead th {
	background: #f7f7fa;
	color: var(--cp-ink);
	font-size: 14px;
	font-weight: 700;
}

.cp-account-page table.shop_table tbody tr:last-child td { border-bottom: 0; }
.cp-account-page table.shop_table tfoot th { background: #f7f7fa; font-weight: 700; }

/* 订单状态：Woo 默认是浅色小徽章，这里统一成墨色加粗 */
.cp-account-page .woocommerce-orders-table__cell-order-status,
.cp-account-page mark.order-status {
	color: var(--cp-ink);
	font-weight: 700;
}

/* ---- 地址栏 ---- */
.cp-account-page .woocommerce-Addresses { margin-bottom: 8px; }
.cp-account-page .woocommerce-Address { margin-bottom: 24px; }

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

.cp-account-page .woocommerce-Address-title h2,
.cp-account-page .woocommerce-Address-title h3 {
	margin: 0;
	color: var(--cp-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
}

.cp-account-page .woocommerce-MyAccount-content address {
	padding: 18px 20px;
	border: 1px solid var(--cp-border);
	border-radius: var(--cp-radius);
	background: #fbfbfd;
	color: var(--cp-body);
	font-style: normal;
	line-height: 1.7;
}

/* ---- 响应式：≤900px 塌成单列（导航变横向，与法务页窄屏同款处理） ---- */
@media (max-width: 900px) {
	.cp-account-page .cp-layout { padding-block: 56px 120px; }
	.cp-account-page .cp-entry__title { font-size: 32px; }

	.cp-account-page .cp-entry__content {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		margin-top: 26px;
	}

	/* 单列后把显式列号复位，改由自动排布（导航 → 提示条 → 内容） */
	.cp-account-page .woocommerce-MyAccount-navigation {
		grid-column: 1;
		padding-top: 0;
		margin-bottom: 28px;
	}

	.cp-account-page .woocommerce-notices-wrapper,
	.cp-account-page .woocommerce-MyAccount-content {
		grid-column: 1;
	}

	.cp-account-page .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 26px;
	}

	.cp-account-page .woocommerce-MyAccount-navigation ul li + li { margin-top: 0; }

	.cp-account-page .woocommerce-MyAccount-navigation ul li a {
		padding-bottom: 6px;
		font-size: 18px;
	}

	.cp-account-page .woocommerce-MyAccount-navigation ul li.is-active a::after { height: 3px; }
}

@media (max-width: 767px) {
	/* 订单表格在手机上横向滚动，别把列挤到文字竖排 */
	.cp-account-page .woocommerce-MyAccount-content table.shop_table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

@media (max-width: 480px) {
	.cp-account-page .cp-layout { padding-block: 40px 88px; }
	.cp-account-page .cp-entry__title { font-size: 26px; }
}
