/* =========================================================================
   FiberLion — 主样式
   色板取自已给效果图：深蓝 #20284E / 亮蓝 #112899 / 橙 #FF4800
   ========================================================================= */

:root {
	--navy: #20284e;
	--navy-hero: #101b60;
	--blue: #112899;
	--orange: #ff4800;
	--orange-dark: #e64100;
	--ink: #1a1a1a;
	--text: #3c3c3c;
	--gray: #6f6f6f;
	--gray-2: #8a8a8a;
	--line: #ececec;
	--soft: #f9f9f9;
	--maxw: 1060px;
	--radius: 8px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: #fff;
	color: var(--text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; }

h1, h2, h3, h4 {
	font-family: "Poppins", -apple-system, "Segoe UI", Arial, sans-serif;
	color: var(--ink);
	margin: 0;
	line-height: 1.3;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed; top: 12px; left: 12px; z-index: 999;
	clip: auto; clip-path: none; width: auto; height: auto;
	background: #fff; padding: 10px 16px; border-radius: 6px;
}

.fl-container {
	width: 100%;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 24px;
}

/* -------------------------------------------------------------------------
   页头
   ---------------------------------------------------------------------- */

.site-header {
	position: relative;
	z-index: 40;
	background: #fff;
}

.fl-header-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	height: 96px;
}

.fl-logo img { height: 32px; width: auto; }

.fl-main-nav { justify-self: center; }

.fl-nav {
	display: flex;
	align-items: center;
	gap: 44px;
}

.fl-nav li a {
	display: inline-block;
	padding: 6px 0;
	font-size: 13.5px;
	color: var(--ink);
	letter-spacing: .01em;
	border-bottom: 2px solid transparent;
	transition: color .18s, border-color .18s;
}

.fl-nav li a:hover { color: var(--orange); }

.fl-nav li.current-menu-item > a,
.fl-nav li.current_page_item > a {
	border-bottom-color: var(--ink);
	font-weight: 500;
}

.fl-header-actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 18px;
}

.fl-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px; height: 26px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink);
	cursor: pointer;
	position: relative;
}

.fl-icon-btn svg { width: 20px; height: 20px; }
.fl-icon-btn:hover { color: var(--orange); }

.fl-cart-count {
	position: absolute;
	top: -6px; right: -8px;
	min-width: 15px; height: 15px;
	border-radius: 99px;
	background: var(--orange);
	color: #fff;
	font-size: 9px;
	line-height: 15px;
	text-align: center;
	padding: 0 3px;
}

.fl-nav-toggle { display: none; }

.fl-search-panel {
	border-top: 1px solid var(--line);
	background: #fff;
	padding: 16px 0;
}

.fl-search-form {
	display: flex;
	max-width: 620px;
	gap: 8px;
}

.fl-search-form input[type="search"] {
	flex: 1;
	height: 42px;
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: 0 14px;
	font-size: 13px;
}

.fl-search-form button {
	height: 42px;
	padding: 0 22px;
	border: 0;
	border-radius: 4px;
	background: var(--ink);
	color: #fff;
	font-size: 12.5px;
	cursor: pointer;
}

/* 内页 banner */
.fl-banner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 200px;
	background: #0d1f63 url("../img/hero-bg.jpg") center/cover no-repeat;
	color: #fff;
	padding: 34px 0 38px;
	overflow: hidden;
}

.fl-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(96deg, rgba(6, 14, 48, .94) 0%, rgba(10, 26, 96, .8) 45%, rgba(17, 40, 153, .72) 100%);
}

.fl-banner-inner { position: relative; width: 100%; }

.fl-banner-title {
	color: #fff;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
}

.fl-banner-sub {
	margin: 8px 0 0;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .76);
}

/* -------------------------------------------------------------------------
   首页 hero
   ---------------------------------------------------------------------- */

.fl-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 450px;
	background: #0d1f63 url("../img/hero-bg.jpg") center/cover no-repeat;
	overflow: hidden;
}

.fl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(94deg, rgba(5, 12, 44, .95) 0%, rgba(9, 22, 84, .82) 42%, rgba(12, 29, 110, .5) 100%);
}

.fl-hero .fl-container { position: relative; }

.fl-hero-title {
	color: #fff;
	font-size: 46px;
	line-height: 1.26;
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.fl-hero-sub {
	margin: 20px 0 0;
	max-width: 520px;
	font-size: 13.5px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .74);
}

/* -------------------------------------------------------------------------
   通用区块
   ---------------------------------------------------------------------- */

.fl-section { padding: 64px 0; }
.fl-section--soft { background: var(--soft); }

.fl-section-title {
	font-size: 26px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -.01em;
	margin-bottom: 46px;
}

.fl-empty { color: var(--gray-2); font-size: 13px; text-align: center; }

.fl-link-more {
	font-size: 11px;
	color: var(--orange);
	letter-spacing: .01em;
}
.fl-link-more:hover { text-decoration: underline; }

/* 五大承诺 */
.fl-promises {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 30px;
}

.fl-promise { text-align: center; }

.fl-promise-icon {
	width: 64px; height: 64px;
	margin: 0 auto 16px;
}

.fl-promise h3 {
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 8px;
}

.fl-promise p {
	margin: 0;
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--gray);
}

/* 商品分类 */
.fl-catalog {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.fl-catalog-card {
	position: relative;
	background: #fff;
	border: 1px solid #efefef;
	border-radius: var(--radius);
	padding: 26px 24px 22px;
	min-height: 176px;
	transition: border-color .2s, box-shadow .2s;
}

.fl-catalog-card:hover {
	border-color: #ddd;
	box-shadow: 0 8px 24px rgba(16, 27, 96, .06);
}

.fl-catalog-card h3 { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.fl-catalog-card h3 a:hover { color: var(--orange); }

.fl-catalog-desc {
	margin: 0 0 10px;
	font-size: 11px;
	color: var(--gray-2);
}

.fl-catalog-list li {
	font-size: 11.5px;
	color: var(--gray);
	line-height: 2;
}

.fl-catalog-icon {
	position: absolute;
	top: 24px; right: 22px;
	width: 40px; height: 40px;
	color: var(--ink);
}

/* 切图版图标自带配色，不做降透明度；仅内联 SVG 兜底图沿用原来的淡色 */
.fl-catalog-icon svg.fl-cat-icon { opacity: .82; }

.fl-cat-icon { width: 100%; height: 100%; display: block; }

img.fl-cat-icon { object-fit: contain; }

/* 商品网格 */
.fl-products {
	display: grid;
	gap: 26px;
}
.fl-products--4 { grid-template-columns: repeat(4, 1fr); gap: 52px; }
.fl-products--3 { grid-template-columns: repeat(3, 1fr); gap: 44px; }

.fl-card { min-width: 0; }

.fl-card-media {
	display: block;
	aspect-ratio: 1 / 1;
	padding: 12px;
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 6px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}

.fl-card-media img {
	width: 100%; height: 100%;
	object-fit: contain;
	transition: transform .35s ease;
}

.fl-card:hover .fl-card-media { border-color: #ddd; box-shadow: 0 10px 26px rgba(16, 27, 96, .07); }
.fl-card:hover .fl-card-media img { transform: scale(1.035); }

.fl-card-title {
	margin: 14px 0 6px;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.55;
	color: #333;
	font-family: inherit;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fl-card-title a:hover { color: var(--orange); }

.fl-card-price {
	font-size: 15px;
	font-weight: 700;
	color: var(--orange);
	letter-spacing: -.01em;
}
.fl-card-price del { color: var(--gray-2); font-size: 12px; font-weight: 400; margin-right: 4px; }
.fl-card-price ins { text-decoration: none; }

.fl-more-wrap { text-align: center; margin-top: 40px; }

.fl-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 34px;
	border: 1px solid #d9d9d9;
	border-radius: 999px;
	font-size: 12px;
	color: var(--ink);
	transition: border-color .2s, color .2s;
}
.fl-btn-outline:hover { border-color: var(--ink); color: var(--orange); }

/* 四步 */
.fl-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.fl-step {
	padding: 0 26px;
	border-right: 1px solid #e9e9e9;
}
.fl-step:first-child { padding-left: 0; }
.fl-step:last-child { border-right: 0; padding-right: 0; }

.fl-step-num {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	color: var(--orange);
	margin-bottom: 16px;
}

/* 标题与图标同一行：图标紧跟标题右侧，跟效果图一致 */
.fl-step-line {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 8px;
	min-height: 42px;
}

.fl-step h3 { font-size: 16px; font-weight: 700; margin: 0; line-height: 1.3; }

.fl-step-icon { width: 42px; height: 42px; flex: none; }

.fl-step p { margin: 0; font-size: 11.5px; color: var(--gray); line-height: 1.7; max-width: 240px; }

/* 信息块 */
.fl-more-blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.fl-more-block {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 6px 0;
}

.fl-more-block img { width: 54px; height: 54px; flex: none; }

.fl-more-block h3 { font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.fl-more-block p { margin: 0; font-size: 11.5px; color: var(--gray); line-height: 1.7; }

/* -------------------------------------------------------------------------
   商品列表页
   ---------------------------------------------------------------------- */

.fl-shop {
	display: grid;
	grid-template-columns: 218px 1fr;
	gap: 46px;
	padding-top: 46px;
	padding-bottom: 84px;
}

.fl-sidebar-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 22px;
}

.fl-cat-menu li { border-top: 1px solid #ededed; }
.fl-cat-menu li:last-child { border-bottom: 1px solid #ededed; }

.fl-cat-menu li a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 6px;
	font-size: 12.5px;
	color: var(--gray);
	transition: color .18s;
}

.fl-cat-menu li a:hover { color: var(--ink); }

.fl-cat-menu li.is-active { border-top-color: var(--blue); }
.fl-cat-menu li.is-active a { color: var(--ink); font-weight: 600; }
.fl-cat-menu .fl-cat-icon { width: 24px; height: 24px; flex: none; color: var(--ink); }

.fl-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
	gap: 20px;
}

.fl-toolbar-left { display: flex; gap: 26px; }

.fl-select { position: relative; display: inline-flex; }

.fl-select select {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent;
	font-size: 12.5px;
	color: #4a4a4a;
	padding: 4px 18px 4px 0;
	cursor: pointer;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 10px 7px;
}

.fl-select select:focus { outline: 1px dotted #bbb; }

.fl-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin-top: 52px;
}

.fl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 10px;
	border-radius: 4px;
	font-size: 12.5px;
	color: #555;
	border: 1px solid transparent;
}

.fl-pagination .page-numbers:hover { border-color: #ddd; }
.fl-pagination .page-numbers.current { background: var(--blue); color: #fff; }
.fl-pagination .dots { border: 0; }

/* -------------------------------------------------------------------------
   商品详情
   ---------------------------------------------------------------------- */

.fl-single { padding-top: 24px; padding-bottom: 88px; }

.fl-crumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	color: var(--gray-2);
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.fl-crumb a { color: var(--gray-2); }
.fl-crumb a:hover { color: var(--ink); }
.fl-crumb-sep { color: #c9c9c9; }
.fl-crumb span:last-child { color: #9a9a9a; }

.fl-single-grid {
	display: grid;
	grid-template-columns: 46% 1fr;
	gap: 56px;
	align-items: start;
}

.fl-gallery-main {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 26px;
	border: 1px solid #efefef;
	border-radius: 4px;
	background: #fff;
}

.fl-gallery-main img {
	max-width: 100%;
	max-height: 100%;
	width: auto; height: auto;
	object-fit: contain;
}

.fl-gallery-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.fl-gallery-thumbs button {
	width: 66px; height: 66px;
	padding: 5px;
	border: 1px solid #efefef;
	border-radius: 3px;
	background: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fl-gallery-thumbs button img { max-height: 100%; object-fit: contain; }
.fl-gallery-thumbs li.is-active button { border-color: #1a1a1a; }

/* 大图点击热区 + 放大提示 */
.fl-gallery-zoom {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}
.fl-gallery-zoom:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.fl-gallery-zoom-icon {
	position: absolute;
	right: 10px; bottom: 10px;
	width: 30px; height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(26, 26, 26, .72);
	color: #fff;
	opacity: 0;
	transition: opacity .18s ease;
	pointer-events: none;
}
.fl-gallery-main:hover .fl-gallery-zoom-icon,
.fl-gallery-zoom:focus-visible .fl-gallery-zoom-icon { opacity: 1; }

/* 全屏浏览层 */
html.fl-lb-open { overflow: hidden; }

.fl-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	padding: 22px;
	background: rgba(10, 12, 18, .94);
	animation: fl-lb-fade .16s ease;
}
.fl-lightbox[hidden] { display: none; }

@keyframes fl-lb-fade { from { opacity: 0; } to { opacity: 1; } }

.fl-lb-stage {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fl-lb-img {
	max-width: 100%;
	max-height: 100%;
	width: auto; height: auto;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
	cursor: default;
}

.fl-lb-close {
	position: absolute;
	top: 16px; right: 18px;
	width: 38px; height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.fl-lb-close:hover { background: rgba(255, 255, 255, .2); border-color: #fff; }

.fl-lb-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px; height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.fl-lb-nav[hidden] { display: none; }
.fl-lb-nav:hover { background: rgba(255, 255, 255, .2); border-color: #fff; }
.fl-lb-prev { left: 18px; }
.fl-lb-next { right: 18px; }

.fl-lb-bar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding-top: 16px;
}
.fl-lb-count { color: rgba(255, 255, 255, .72); font-size: 13px; letter-spacing: .04em; }

.fl-lb-thumbs { display: flex; gap: 10px; }
.fl-lb-thumbs button {
	width: 64px; height: 64px;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid transparent;
	border-radius: 4px;
	background: rgba(255, 255, 255, .1);
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.fl-lb-thumbs button img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fl-lb-thumbs button:hover { background: rgba(255, 255, 255, .22); }
.fl-lb-thumbs button.is-active { border-color: var(--orange); background: #fff; }

@media (max-width: 640px) {
	.fl-lightbox { padding: 14px; }
	.fl-lb-nav { width: 34px; height: 34px; font-size: 20px; }
	.fl-lb-prev { left: 8px; }
	.fl-lb-next { right: 8px; }
	.fl-lb-thumbs button { width: 48px; height: 48px; }
}

.fl-product-title {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -.01em;
	margin-bottom: 20px;
}

.fl-price-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--soft);
	border-radius: 6px;
	padding: 14px 18px;
	margin-bottom: 26px;
}

.fl-price {
	font-size: 26px;
	font-weight: 700;
	color: var(--orange);
	letter-spacing: -.02em;
	font-family: "Poppins", sans-serif;
}
.fl-price del { font-size: 15px; color: var(--gray-2); font-weight: 400; margin-right: 8px; }
.fl-price ins { text-decoration: none; }

.fl-sold { font-size: 11px; color: var(--gray-2); white-space: nowrap; }

.fl-var-form { margin: 0; }
.fl-var-group { margin-bottom: 16px; }

.fl-var-label {
	display: block;
	font-size: 12px;
	color: var(--gray);
	margin-bottom: 10px;
}

.fl-var-pills {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	max-width: 420px;
}

.fl-var-group[data-attribute="attribute_pa_length"] .fl-var-pills {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fl-var-pill-grid-4 .fl-var-pills { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.fl-pill {
	font-size: 11px;
	padding: 8px 10px;
	text-align: center;
	background: #f6f6f6;
	border: 1px solid transparent;
	border-radius: 3px;
	color: #4a4a4a;
	cursor: pointer;
	line-height: 1.3;
	transition: background .16s, border-color .16s, color .16s;
}

.fl-pill:hover { background: #efefef; }
.fl-pill.is-active {
	background: #fff;
	border-color: #1a1a1a;
	color: var(--ink);
	font-weight: 500;
}
.fl-pill:disabled { opacity: .38; cursor: not-allowed; }

.fl-buy {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin: 26px 0 32px;
	max-width: 420px;
}

.fl-qty {
	display: flex;
	align-items: center;
	border: 1px solid #e6e6e6;
	border-radius: 3px;
	background: #fff;
}

.fl-qty-btn {
	width: 34px; height: 44px;
	border: 0;
	background: none;
	color: #333;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}
.fl-qty-btn:hover { color: var(--orange); }

.fl-qty input.qty {
	width: 46px; height: 44px;
	border: 0;
	text-align: center;
	font-size: 13px;
	background: transparent;
	-moz-appearance: textfield;
}
.fl-qty input.qty::-webkit-outer-spin-button,
.fl-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.fl-btn {
	flex: 1;
	height: 46px;
	padding: 0 30px;
	border: 0;
	border-radius: 3px;
	background: var(--orange);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .18s;
}
.fl-btn:hover { background: var(--orange-dark); }
.fl-btn:disabled { background: #f0b49c; cursor: not-allowed; }

/* 简单商品沿用同一套外观 */
.single-product form.cart:not(.fl-var-form) {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin: 26px 0 32px;
	max-width: 520px;
}
.single-product form.cart:not(.fl-var-form) .quantity { display: flex; align-items: center; border: 1px solid #e6e6e6; border-radius: 3px; }
.single-product form.cart:not(.fl-var-form) .quantity input.qty { width: 70px; height: 44px; border: 0; text-align: center; }
.single-product form.cart:not(.fl-var-form) .single_add_to_cart_button {
	flex: 1; height: 46px; padding: 0 30px;
	border: 0; border-radius: 3px; background: var(--orange); color: #fff;
	font-size: 13px; font-weight: 700; cursor: pointer;
}

.fl-product-desc {
	font-size: 11.5px;
	line-height: 1.95;
	color: #5e5e5e;
}
.fl-product-desc p { margin: 0 0 12px; }
.fl-product-desc strong { color: var(--ink); font-weight: 700; }

.fl-sku { font-size: 11px; color: var(--gray-2); margin-top: 8px; }

.fl-related { margin-top: 72px; }

.fl-related-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 24px;
}
.fl-related-head h2 { font-size: 13.5px; font-weight: 700; }

/* -------------------------------------------------------------------------
   页脚
   ---------------------------------------------------------------------- */

.site-footer {
	background: var(--blue);
	color: #fff;
	margin-top: 0;
}

.home .site-footer { background: var(--navy); }

.fl-footer-top {
	display: grid;
	grid-template-columns: auto auto 1fr;
	align-items: center;
	gap: 44px;
	padding: 34px 0 30px;
}

.fl-footer-logo img { height: 26px; width: auto; }

.fl-newsletter-title { margin: 0 0 4px; font-size: 12.5px; font-weight: 700; }
.fl-newsletter-sub { margin: 0; font-size: 11px; color: rgba(255, 255, 255, .72); }

.fl-newsletter-form {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 6px;
	width: 330px;
	background: #fff;
	border-radius: 999px;
	padding: 5px 6px 5px 18px;
}

.fl-newsletter-form input {
	flex: 1;
	border: 0;
	outline: none;
	background: transparent;
	font-size: 11px;
	color: #444;
	min-width: 0;
}

.fl-newsletter-form button {
	width: 30px; height: 30px;
	flex: none;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.fl-newsletter-form button svg { width: 18px; height: 18px; }
.fl-newsletter-form button:hover { color: var(--orange); }

.fl-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255, 255, 255, .16);
	padding: 18px 0 22px;
	font-size: 11px;
	color: rgba(255, 255, 255, .78);
}

.fl-footer-bottom p { margin: 0; }
.fl-footer-links a:hover { color: #fff; text-decoration: underline; }

/* -------------------------------------------------------------------------
   响应式
   ---------------------------------------------------------------------- */

@media (max-width: 1080px) {
	.fl-shop { grid-template-columns: 200px 1fr; gap: 34px; }
	.fl-single-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
	.fl-promises { grid-template-columns: repeat(3, 1fr); row-gap: 36px; }
	.fl-steps { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
	.fl-step:nth-child(2) { border-right: 0; }
	.fl-step:nth-child(3) { padding-left: 0; }
}

@media (max-width: 860px) {
	.fl-header-inner { grid-template-columns: 1fr auto; height: 72px; }
	.fl-main-nav {
		display: none;
		position: absolute;
		top: 72px; left: 0; right: 0;
		background: #fff;
		border-top: 1px solid var(--line);
		padding: 10px 24px 18px;
		box-shadow: 0 16px 24px rgba(0, 0, 0, .06);
	}
	.fl-main-nav.is-open { display: block; }
	.fl-nav { flex-direction: column; align-items: flex-start; gap: 0; }
	.fl-nav li { width: 100%; border-bottom: 1px solid var(--line); }
	.fl-nav li a { display: block; padding: 12px 0; }
	.fl-nav-toggle { display: inline-flex; }

	.fl-hero { min-height: 360px; }
	.fl-hero-title { font-size: 32px; }

	.fl-products--4 { grid-template-columns: repeat(2, 1fr); }
	.fl-products--3 { grid-template-columns: repeat(2, 1fr); }
	.fl-catalog { grid-template-columns: 1fr; }
	.fl-more-blocks { grid-template-columns: 1fr; }
	.fl-shop { grid-template-columns: 1fr; }
	.fl-single-grid { grid-template-columns: 1fr; }

	.fl-footer-top { grid-template-columns: 1fr; gap: 20px; }
	.fl-newsletter-form { justify-self: stretch; width: 100%; }
	.fl-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}

@media (max-width: 560px) {
	.fl-section { padding: 44px 0; }
	.fl-section-title { font-size: 20px; margin-bottom: 30px; }
	.fl-hero-title { font-size: 27px; }
	.fl-promises { grid-template-columns: repeat(2, 1fr); }
	/* 四步流程：小屏也保持 2 列（1 列太长，用户实测反馈） */
	.fl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fl-step {
		padding: 0 16px 20px;
		border-right: 0;
		border-bottom: 1px solid #e9e9e9;
	}
	.fl-step:nth-child(odd) { padding-left: 0; border-right: 1px solid #e9e9e9; }
	.fl-step:nth-child(even) { padding-left: 18px; padding-right: 0; }
	.fl-step:nth-child(n + 3) { padding-top: 4px; }
	.fl-step:nth-last-child(-n + 2) { border-bottom: 0; padding-bottom: 0; }
	.fl-step h3 { font-size: 13.5px; }
	.fl-step p { font-size: 11px; }
	.fl-step-num { font-size: 16px; margin-bottom: 12px; }
	.fl-step-line { gap: 8px; flex-wrap: nowrap; min-height: 0; align-items: center; }
	.fl-step h3 { font-size: 13px; flex: 1 1 auto; }
	.fl-step-icon { width: 30px; height: 30px; }
	.fl-banner { padding: 28px 0 30px; }
	.fl-banner-title { font-size: 20px; }
	.fl-product-title { font-size: 17px; }
	.fl-price { font-size: 22px; }
}


/* =========================================================================
   我的账户
   ========================================================================= */

.fl-account { padding-top: 28px; padding-bottom: 84px; }
.fl-account--auth { padding-top: 44px; }

.fl-auth-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}

.fl-auth-card {
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	padding: 38px 36px 34px;
}

.fl-auth-title {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 8px;
}

.fl-auth-sub {
	margin: 0 0 22px;
	font-size: 13px;
	color: var(--gray);
}

.fl-form .fl-field { margin: 0 0 14px; }

.fl-form input[type="text"],
.fl-form input[type="email"],
.fl-form input[type="password"],
.fl-form input[type="tel"],
.fl-account-content input[type="text"],
.fl-account-content input[type="email"],
.fl-account-content input[type="password"],
.fl-account-content input[type="tel"],
.fl-account-content select,
.fl-account-content textarea,
.woocommerce-Input {
	width: 100%;
	height: 46px;
	border: 1px solid #ededed;
	border-radius: 4px;
	background: #f7f8fa;
	padding: 0 14px;
	font-size: 13px;
	color: var(--ink);
	outline: none;
	transition: border-color .18s, background .18s;
}

.fl-account-content textarea { height: auto; min-height: 90px; padding: 12px 14px; }

.fl-form input:focus,
.woocommerce-Input:focus,
.fl-account-content select:focus,
.fl-account-content textarea:focus {
	background: #fff;
	border-color: var(--navy);
}

.fl-auth-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 6px 0 20px;
}

.fl-check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #4a4a4a;
	cursor: pointer;
}

.fl-check input {
	width: 14px;
	height: 14px;
	accent-color: var(--blue);
	margin: 0;
}

.fl-auth-link { font-size: 12px; color: var(--orange); }
.fl-auth-link:hover { text-decoration: underline; }

/* display:flex 会把按钮文字变成匿名 flex 项：不显式居中就会贴左、纵向拉伸 */
.fl-btn--block { width: 100%; height: 46px; display: flex; align-items: center; justify-content: center; text-align: center; }
.fl-btn--navy { background: var(--navy); }
.fl-btn--navy:hover { background: #171d3a; }

.fl-hint { margin: 0 0 16px; font-size: 11.5px; color: var(--gray-2); }

.fl-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 18px 0 0;
	font-size: 11.5px;
	color: #4a4a4a;
}

/* 账户中心 */
.fl-account-grid {
	display: grid;
	grid-template-columns: 262px minmax(0, 1fr);
	gap: 36px;
	align-items: start;
}

.fl-account-nav {
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	overflow: hidden;
}

.fl-account-profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 28px 24px 22px;
	text-align: center;
}

.fl-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--navy);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 6px;
}

.fl-account-name { font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 600; color: var(--ink); }
.fl-account-mail { font-size: 11.5px; color: var(--gray-2); word-break: break-all; }

.fl-account-menu { border-top: 1px solid var(--line); padding: 10px; }

.fl-account-menu-item a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 44px;
	padding: 0 12px;
	border-radius: 6px;
	font-size: 13px;
	color: #4a4a4a;
	transition: background .16s, color .16s;
}

.fl-account-menu-item a:hover { background: #f7f8fa; }

.fl-account-dot {
	width: 16px;
	height: 16px;
	border-radius: 3px;
	background: #dde1e8;
	flex: none;
}

.fl-account-menu-item.is-active a {
	background: #f2f5fc;
	color: var(--blue);
	font-family: "Poppins", sans-serif;
	font-weight: 600;
}

.fl-account-menu-item.is-active .fl-account-dot { background: var(--blue); }
.fl-account-menu-item--customer-logout a { color: var(--orange); }

.fl-account-hello {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
	margin: 0 0 8px;
}

.fl-account-intro {
	margin: 0 0 26px;
	font-size: 13px;
	line-height: 1.75;
	color: var(--gray);
	max-width: 780px;
}

.fl-stat-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 22px;
}

.fl-stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	padding: 22px 24px;
}

.fl-stat-label {
	font-size: 10.5px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--gray-2);
}

.fl-stat-value {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: var(--navy);
	line-height: 1.2;
}

.fl-orders-card {
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	overflow: hidden;
}

.fl-orders-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
}

.fl-orders-head h3 {
	font-size: 14px;
	font-weight: 600;
	margin: 0;
}

.fl-order-row {
	display: grid;
	grid-template-columns: 110px 140px 1fr 110px 56px;
	align-items: center;
	gap: 12px;
	padding: 16px 24px;
	border-top: 1px solid #f2f2f2;
	font-size: 12.5px;
	color: var(--gray);
}

.fl-order-row:nth-child(even) { background: #fcfcfc; }
.fl-order-id { color: var(--ink); font-weight: 500; }
.fl-order-total { color: var(--ink); font-family: "Poppins", sans-serif; font-weight: 600; }
.fl-order-view { color: var(--orange); text-align: right; }
.fl-order-view:hover { text-decoration: underline; }

.fl-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	height: 22px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 500;
	white-space: nowrap;
}

.fl-status--done { background: #e7f6ec; color: #1b7f3b; }
.fl-status--active { background: #fff1e8; color: #b85c00; }
.fl-status--bad { background: #fdecec; color: #b42318; }
.fl-status--neutral { background: #f1f2f4; color: #4a4a4a; }

.fl-orders-empty {
	margin: 0;
	padding: 20px 24px 28px;
	font-size: 13px;
	color: var(--gray);
	border-top: 1px solid #f2f2f2;
}

/* 其余 endpoint（订单 / 地址 / 账户详情）通用样式 */
.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	margin: 0 0 18px;
	padding: 12px 16px;
	border: 1px solid #ececec;
	border-left: 3px solid var(--blue);
	border-radius: 4px;
	background: #fafbff;
	font-size: 12.5px;
	color: #3c3c3c;
}

.woocommerce-error { border-left-color: #b42318; background: #fef7f7; }
.woocommerce-message { border-left-color: #1b7f3b; background: #f7fdf9; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button { float: right; margin-left: 12px; }

.fl-account-content h2,
.fl-account-content h3 { font-size: 17px; font-weight: 600; margin: 0 0 16px; }

.fl-account-content p { font-size: 13px; }

.fl-account-content .form-row { margin: 0 0 14px; }
.fl-account-content label { display: block; margin-bottom: 6px; font-size: 12px; color: var(--gray); }
.fl-account-content fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.fl-account-content legend { font-family: "Poppins", sans-serif; font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.fl-account-content .required { color: var(--orange); text-decoration: none; }

.fl-account-content .button,
.woocommerce-Button,
.fl-account-content button.button,
.woocommerce-MyAccount-content a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 22px;
	border: 0;
	border-radius: 4px;
	background: var(--navy);
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background .18s;
}

.fl-account-content .button:hover,
.woocommerce-Button:hover { background: #171d3a; color: #fff; }

table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	margin: 0 0 22px;
}

table.shop_table th {
	text-align: left;
	padding: 12px;
	border-bottom: 1px solid var(--line);
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gray-2);
	font-weight: 500;
}

table.shop_table td {
	padding: 14px 12px;
	border-bottom: 1px solid #f4f4f4;
	color: #4a4a4a;
	vertical-align: middle;
}

table.shop_table .button { height: 32px; padding: 0 16px; font-size: 11.5px; }

.woocommerce-Addresses,
.addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 22px; }

.woocommerce-Address {
	border: 1px solid #efefef;
	border-radius: 8px;
	padding: 20px 22px;
	font-size: 12.5px;
	line-height: 1.8;
	color: #4a4a4a;
}

.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 { font-size: 14px; margin: 0; }
.woocommerce-Address address { font-style: normal; }

.fl-account-content a.edit { font-size: 11.5px; color: var(--orange); }

/* 响应式 */
@media (max-width: 1080px) {
	.fl-account-grid { grid-template-columns: 220px minmax(0, 1fr); gap: 26px; }
	.fl-order-row { grid-template-columns: 90px 120px 1fr 90px 48px; }
}

@media (max-width: 860px) {
	.fl-auth-grid { grid-template-columns: 1fr; }
	.fl-account-grid { grid-template-columns: 1fr; }
	.fl-stat-cards { grid-template-columns: 1fr; }
	.fl-order-row { grid-template-columns: 1fr 1fr; row-gap: 8px; }
	.fl-order-view { text-align: left; }
	.woocommerce-Addresses, .addresses { grid-template-columns: 1fr; }
}

/* 密码可见性切换（WooCommerce 按钮，默认样式已摘除，这里自绘） */
.fl-form .password-input,
.woocommerce-form .password-input { position: relative; display: block; width: 100%; }

.fl-form input[type="password"] { padding-right: 46px; }

button.show-password-input {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #9aa0a8;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}

button.show-password-input::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M2 12s3.6-6 10-6 10 6 10 6-3.6 6-10 6S2 12 2 12z'/><circle cx='12' cy='12' r='2.8'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M2 12s3.6-6 10-6 10 6 10 6-3.6 6-10 6S2 12 2 12z'/><circle cx='12' cy='12' r='2.8'/></svg>") center / contain no-repeat;
}

button.show-password-input.display-password::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M3 3l18 18'/><path d='M10.6 6.2A10.9 10.9 0 0 1 12 6c6.4 0 10 6 10 6a18 18 0 0 1-3.2 3.9'/><path d='M6.3 7.6A17.6 17.6 0 0 0 2 12s3.6 6 10 6a10.7 10.7 0 0 0 4.3-.9'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>") !important;
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M3 3l18 18'/><path d='M10.6 6.2A10.9 10.9 0 0 1 12 6c6.4 0 10 6 10 6a18 18 0 0 1-3.2 3.9'/><path d='M6.3 7.6A17.6 17.6 0 0 0 2 12s3.6 6 10 6a10.7 10.7 0 0 0 4.3-.9'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>") !important;
}

button.show-password-input:hover { color: var(--ink); }

/* 注册时的隐私声明 */
.fl-form .woocommerce-privacy-policy-text,
.fl-form .woocommerce-privacy-policy-text p {
	margin: 0 0 16px;
	font-size: 11.5px;
	line-height: 1.75;
	color: var(--gray-2);
}

.fl-form .woocommerce-privacy-policy-text a { color: var(--orange); text-decoration: underline; }


/* =========================================================================
   购物车
   短代码 [woocommerce_cart] 输出的 .woocommerce 就是页面内容容器
   （page.php 对购物车不再外包一层 max-width）
   ========================================================================= */

body.woocommerce-cart .woocommerce {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 24px;
}

body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { padding-top: 26px; }
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }

.fl-cart { padding: 34px 0 84px; }

/* 标题行 */
.fl-cart-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.fl-cart-title {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
}

.fl-cart-note {
	margin: 7px 0 0;
	font-size: 12.5px;
	color: var(--gray);
}

.fl-cart-back {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding-bottom: 3px;
	font-size: 12px;
	color: var(--gray);
	transition: color .18s;
}
.fl-cart-back svg { width: 15px; height: 15px; }
.fl-cart-back:hover { color: var(--orange); }

/* 双栏：左明细 / 右汇总 */
.fl-cart-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 36px;
	align-items: start;
}

.fl-cart-card {
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	overflow: hidden;
}

.fl-cart-labels,
.fl-cart-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 74px 104px 84px 26px;
	gap: 14px;
	align-items: center;
}

.fl-cart-labels {
	padding: 13px 22px;
	background: #fafafa;
	border-bottom: 1px solid #f0f0f0;
	font-size: 10.5px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--gray-2);
}
.fl-col-price,
.fl-col-sub { text-align: right; }
.fl-col-qty { text-align: center; }

.fl-cart-row {
	position: relative;
	padding: 18px 22px;
	border-bottom: 1px solid #f4f4f4;
}
.fl-cart-row:last-child { border-bottom: 0; }

/* 商品信息 */
.fl-cart-prod {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.fl-cart-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	flex: none;
	padding: 6px;
	border: 1px solid #efefef;
	border-radius: 6px;
	background: #fff;
	transition: border-color .18s;
}
.fl-cart-thumb img { width: 100%; height: 100%; object-fit: contain; }
.fl-cart-thumb:hover { border-color: #ddd; }

.fl-cart-info { min-width: 0; }

.fl-cart-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--ink);
}
.fl-cart-name:hover { color: var(--orange); }

.fl-cart-meta {
	margin-top: 5px;
	font-size: 11px;
	line-height: 1.65;
	color: var(--gray-2);
}
.fl-cart-meta dl.variation { display: flex; flex-wrap: wrap; gap: 2px 10px; margin: 0; }
.fl-cart-meta dl.variation dt,
.fl-cart-meta dl.variation dd { margin: 0; font-size: 11px; }
.fl-cart-meta dl.variation dt { color: #9a9a9a; }
.fl-cart-meta dl.variation dd { color: #4a4a4a; margin-right: 6px; }
.fl-cart-meta dl.variation dd p { margin: 0; }
.fl-cart-meta .backorder_notification { margin: 4px 0 0; color: #b85c00; }

/* 单价 / 小计 */
.fl-cart-price {
	text-align: right;
	font-size: 12.5px;
	color: #4a4a4a;
}

.fl-cart-line-total {
	text-align: right;
	font-family: "Poppins", sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em;
}

/* 数量步进器 */
.fl-cart-qty-cell { display: flex; justify-content: center; }

.fl-cart-qty {
	display: inline-flex;
	align-items: center;
	height: 34px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
}

.fl-cart-qty .fl-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 32px;
	border: 0;
	background: none;
	color: #6f6f6f;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}
.fl-cart-qty .fl-qty-btn:hover { color: var(--orange); background: #fafafa; }

.fl-cart-qty input.qty {
	width: 40px;
	height: 32px;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 12.5px;
	color: var(--ink);
	appearance: textfield;
	-moz-appearance: textfield;
}
.fl-cart-qty input.qty::-webkit-outer-spin-button,
.fl-cart-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fl-cart-qty input.qty:focus { outline: none; }

/* 删除 */
.fl-cart-row .product-remove { display: flex; justify-content: flex-end; }

.fl-cart-row .product-remove > a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	color: #b0b0b0;
	font-size: 0;
	line-height: 0;
	transition: color .16s, background .16s;
}
.fl-cart-row .product-remove > a.remove svg { width: 14px; height: 14px; }
.fl-cart-row .product-remove > a.remove:hover { color: #fff; background: #d94a3d; }

/* 优惠券 / 更新购物车 */
.fl-cart-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding: 15px 22px;
	background: #fafafa;
	border-top: 1px solid #f0f0f0;
}

.coupon.fl-cart-coupon {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
	float: none;
	margin: 0;
}

.fl-cart-coupon input#coupon_code {
	width: 190px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff;
	font-size: 12.5px;
	color: var(--ink);
	outline: none;
	transition: border-color .18s, background .18s;
}
.fl-cart-coupon input#coupon_code::placeholder { color: #b3b3b3; }
.fl-cart-coupon input#coupon_code:focus { border-color: var(--navy); background: #fff; }

.fl-cart-ghost,
.fl-cart-update {
	height: 38px;
	padding: 0 18px;
	border-radius: 4px;
	font-size: 12px;
	line-height: 36px;
	cursor: pointer;
	transition: background .18s, border-color .18s, color .18s;
}

.fl-cart-ghost {
	border: 1px solid var(--ink);
	background: #fff;
	color: var(--ink);
	font-weight: 500;
}
.fl-cart-ghost:hover { background: var(--ink); color: #fff; }

.fl-cart-update {
	border: 1px solid #e6e6e6;
	background: #fff;
	color: #5a5a5a;
	margin-left: auto;
}
.fl-cart-update:hover:not(:disabled) { border-color: #c9c9c9; color: var(--ink); }
.fl-cart-update:disabled { opacity: .45; cursor: default; }

.fl-cart-coupon .coupon-error-notice {
	flex: 1 1 100%;
	margin: 6px 0 0;
	font-size: 11px;
	line-height: 1.5;
	color: #b42318;
}

/* 服务承诺条 */
.fl-cart-perks {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 22px 0 0;
	padding: 22px 24px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}

.fl-cart-perk { display: flex; align-items: flex-start; gap: 12px; }
.fl-cart-perk svg { width: 24px; height: 24px; flex: none; color: var(--blue); margin-top: 1px; }
.fl-cart-perk h4 { margin: 0 0 4px; font-size: 12px; font-weight: 600; color: var(--ink); }
.fl-cart-perk p { margin: 0; font-size: 11px; line-height: 1.6; color: var(--gray); }

/* 右侧汇总 */
.fl-cart-aside { position: sticky; top: 20px; }

.fl-cart-sum {
	padding: 22px 22px 20px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}

.fl-sum-title {
	margin: 0 0 4px;
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
}

.fl-cart-sum table.shop_table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
}

.fl-cart-sum table.shop_table th,
.fl-cart-sum table.shop_table td {
	padding: 8px 0;
	border: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 12.5px;
	vertical-align: top;
}

.fl-cart-sum table.shop_table th {
	text-align: left;
	font-weight: 400;
	color: var(--gray);
}

.fl-cart-sum table.shop_table td {
	text-align: right;
	color: var(--ink);
}

.fl-cart-sum table.shop_table tr:first-child th,
.fl-cart-sum table.shop_table tr:first-child td { padding-top: 12px; }

.fl-cart-sum tr.cart-discount td { color: #1b7f3b; }
.fl-cart-sum tr.cart-discount td a.woocommerce-remove-coupon {
	display: inline-flex;
	margin-left: 6px;
	font-size: 14px;
	color: #b0b0b0;
	vertical-align: -1px;
}
.fl-cart-sum tr.cart-discount td a.woocommerce-remove-coupon:hover { color: #b42318; }

.fl-cart-sum tr.order-total th {
	padding-top: 16px;
	border-top: 1px solid #f0f0f0;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}

.fl-cart-sum tr.order-total td {
	padding-top: 13px;
	border-top: 1px solid #f0f0f0;
	font-family: "Poppins", sans-serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--orange);
	letter-spacing: -.02em;
}

/* 运费明细 / 计算器 */
.fl-cart-sum ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}
.fl-cart-sum ul#shipping_method li {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	color: var(--ink);
}
.fl-cart-sum ul#shipping_method input { margin: 0; accent-color: var(--blue); }
.fl-cart-sum .woocommerce-shipping-destination { margin: 4px 0 0; font-size: 11px; color: var(--gray-2); }
.fl-cart-sum a.shipping-calculator-button { font-size: 11px; color: var(--orange); }
.fl-cart-sum .shipping-calculator-form { margin-top: 10px; text-align: left; }
.fl-cart-sum .shipping-calculator-form p { margin: 0 0 8px; }
.fl-cart-sum .shipping-calculator-form select,
.fl-cart-sum .shipping-calculator-form input {
	width: 100%;
	height: 34px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	font-size: 12px;
	padding: 0 8px;
	background: #fff;
}

/* 结账按钮 */
.fl-cart-sum .wc-proceed-to-checkout { margin: 18px 0 0; padding: 0; }

.fl-cart-sum .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 4px;
	background: var(--orange);
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	transition: background .18s;
}
.fl-cart-sum .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--orange-dark);
	color: #fff;
}

.fl-sum-note {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 14px 0 0;
	font-size: 10.5px;
	line-height: 1.6;
	color: var(--gray-2);
}
.fl-sum-note svg { width: 13px; height: 13px; flex: none; margin-top: 2px; }

/* 关联推荐 */
.fl-cart-related { margin-top: 46px; }

/* 空购物车 */
.fl-cart-empty {
	max-width: 460px;
	margin: 0 auto;
	padding: 66px 20px 76px;
	text-align: center;
}

.fl-cart-empty-icon { display: inline-flex; color: #d3d8e2; margin-bottom: 16px; }
.fl-cart-empty-icon svg { width: 62px; height: 62px; }

.fl-cart-empty .cart-empty {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--ink);
	text-align: center;
}

.fl-cart-empty-sub {
	margin: 10px auto 0;
	max-width: 340px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--gray);
}

.fl-cart-empty .return-to-shop { margin: 24px 0 0; }

.fl-cart-empty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	padding: 0 34px;
	border-radius: 4px;
	background: var(--orange);
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	transition: background .18s;
}
.fl-cart-empty-btn:hover { background: var(--orange-dark); color: #fff; }

@media (max-width: 1080px) {
	.fl-cart-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
	.fl-cart-labels,
	.fl-cart-row { grid-template-columns: minmax(0, 1fr) 70px 100px 80px 24px; gap: 12px; }
}

@media (max-width: 860px) {
	.fl-cart { padding-top: 26px; padding-bottom: 60px; }
	.fl-cart-head { align-items: flex-start; flex-direction: column; gap: 10px; }
	.fl-cart-title { font-size: 22px; }
	.fl-cart-grid { grid-template-columns: 1fr; gap: 24px; }
	.fl-cart-aside { position: static; }
	.fl-cart-labels { display: none; }

	.fl-cart-row {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"prod prod"
			"qty sub";
		row-gap: 14px;
		padding: 16px 18px 18px;
	}
	.fl-cart-prod { grid-area: prod; padding-right: 32px; }
	.fl-cart-qty-cell { grid-area: qty; justify-content: flex-start; }
	.fl-cart-line-total { grid-area: sub; }
	.fl-cart-price { display: none; }
	.fl-cart-row .product-remove { position: absolute; top: 12px; right: 14px; }
	.fl-cart-thumb { width: 68px; height: 68px; }

	.fl-cart-actions { padding: 14px 18px; }
	.coupon.fl-cart-coupon { flex: 1 1 100%; }
	.fl-cart-coupon input#coupon_code { flex: 1 1 auto; width: auto; min-width: 0; }
	.fl-cart-update { margin-left: 0; flex: 1 1 100%; }

	.fl-cart-perks { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
	.fl-cart-related { margin-top: 34px; }
	.fl-cart-empty { padding: 44px 16px 56px; }
}


/* =========================================================================
   结账
   沿用购物车的卡片语言：左表单（两步）/ 右汇总，颜色、圆角、字号一致
   ========================================================================= */

body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 24px;
}

body.woocommerce-order-received .woocommerce { max-width: 820px; }

.fl-checkout { padding: 34px 0 84px; }

.fl-checkout-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.fl-checkout-title {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -.01em;
}

.fl-checkout-note {
	margin: 7px 0 0;
	font-size: 12.5px;
	color: var(--gray);
}

.fl-checkout-dot { margin: 0 5px; color: #cfcfcf; }

.fl-checkout-back {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding-bottom: 3px;
	font-size: 12px;
	color: var(--gray);
	transition: color .18s;
}
.fl-checkout-back svg { width: 15px; height: 15px; }
.fl-checkout-back:hover { color: var(--orange); }

/* 登录提示 / 优惠券入口 / 错误提示 */
.fl-checkout-notices { margin: 0 0 20px; }
.fl-checkout-notices:empty { display: none; }
.fl-checkout-notices .woocommerce-info,
.fl-checkout-notices .woocommerce-message,
.fl-checkout-notices .woocommerce-error { margin: 0 0 10px; }
.fl-checkout-notices .woocommerce-info a,
.fl-checkout-notices .woocommerce-message a { color: var(--orange); text-decoration: underline; }
.fl-checkout-notices .woocommerce-form-login { margin: 0 0 10px; }

/* 双栏：左步骤 / 右汇总 */
.fl-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 36px;
	align-items: start;
}

.fl-checkout-main {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}

/* 卡片 */
.fl-co-card {
	background: #fff;
	border: 1px solid #efefef;
	border-radius: 10px;
	overflow: hidden;
}

.fl-co-card-head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 22px;
	background: #fafafa;
	border-bottom: 1px solid #f0f0f0;
}

.fl-co-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: none;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--navy);
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}

.fl-co-card-title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
}

.fl-co-card-sub {
	margin: 3px 0 0;
	font-size: 11.5px;
	color: var(--gray);
}

.fl-co-card-body { padding: 22px; }

/* -------------------------------------------------------------------------
   表单字段
   WooCommerce 会把「名 / 姓」「城市 / 州」这类字段标成 form-row-first / -last，
   默认是 float 48%，这里统一改成 grid，宽字段占满整行。
   ---------------------------------------------------------------------- */

.fl-checkout .col2-set,
.fl-checkout .col2-set .col-1,
.fl-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
}
.fl-checkout .col2-set .col-1 { margin-bottom: 4px; }

.fl-checkout .woocommerce-billing-fields__field-wrapper,
.fl-checkout .woocommerce-shipping-fields__field-wrapper,
.fl-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.fl-checkout .woocommerce-billing-fields > h3,
.fl-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 14px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gray-2);
}

.fl-checkout .form-row {
	float: none;
	width: auto;
	margin: 0 0 14px;
	padding: 0;
}
.fl-checkout .form-row-first,
.fl-checkout .form-row-last { width: auto; float: none; clear: none; }
.fl-checkout .form-row-wide { grid-column: 1 / -1; }

.fl-checkout .form-row > label,
.fl-checkout .form-row label:not(.woocommerce-form__label) {
	display: block;
	margin: 0 0 5px;
	font-size: 11.5px;
	font-weight: 500;
	color: var(--gray);
	letter-spacing: .01em;
}

.fl-checkout .required {
	color: var(--orange);
	text-decoration: none;
	font-weight: 400;
}

.fl-checkout .woocommerce-input-wrapper { display: block; width: 100%; }

.fl-checkout .input-text,
.fl-checkout .form-row input[type="text"],
.fl-checkout .form-row input[type="email"],
.fl-checkout .form-row input[type="tel"],
.fl-checkout .form-row input[type="password"],
.fl-checkout .form-row input[type="number"],
.fl-checkout .form-row select,
.fl-checkout .form-row textarea {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff;
	font-size: 13px;
	color: var(--ink);
	line-height: normal;
	outline: none;
	box-shadow: none;
	transition: border-color .18s, background .18s;
}

.fl-checkout .form-row textarea {
	height: auto;
	min-height: 84px;
	padding: 11px 12px;
	line-height: 1.7;
}

.fl-checkout .input-text::placeholder { color: #b3b3b3; }

.fl-checkout .input-text:focus,
.fl-checkout .form-row select:focus,
.fl-checkout .form-row textarea:focus {
	border-color: var(--navy);
	background: #fff;
	outline: none;
}

/* 用 select2 美化的国家 / 州下拉 */
.fl-checkout .select2-container { width: 100% !important; }

.fl-checkout .select2-container .select2-selection--single {
	height: 42px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff;
	transition: border-color .18s;
}

.fl-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	height: 40px;
	padding: 0 30px 0 12px;
	line-height: 40px;
	font-size: 13px;
	color: var(--ink);
}

.fl-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; right: 6px; }
.fl-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #9a9a9a transparent transparent transparent; }

.fl-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.fl-checkout .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--navy); }

.fl-checkout .select2-dropdown { border-color: #e6e6e6; font-size: 13px; }
.fl-checkout .select2-results__option--highlighted[aria-selected] { background: var(--navy); }

/* 单选 / 复选 */
.fl-checkout .woocommerce-form__input-checkbox,
.fl-checkout input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	flex: none;
	accent-color: var(--blue);
	cursor: pointer;
}

.fl-checkout input.input-radio {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	margin: 0;
	flex: none;
	border: 1px solid #cfcfcf;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s, border-width .15s;
}
.fl-checkout input.input-radio:checked { border: 5px solid var(--navy); }

/* 「寄到其他地址」 */
.fl-checkout #ship-to-different-address {
	margin: 20px 0 14px;
	padding-top: 18px;
	border-top: 1px solid #f4f4f4;
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink);
}

.fl-checkout #ship-to-different-address label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--ink);
	cursor: pointer;
}

/* 创建账户 / 隐私条款那一类说明 */
.fl-checkout .woocommerce-account-fields,
.fl-checkout .create-account { margin-top: 4px; }

.fl-checkout .form-row.create-account {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
}

.fl-checkout .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	color: var(--text);
	cursor: pointer;
}
.fl-checkout .woocommerce-form__label-for-checkbox span { line-height: 1.6; }

/* -------------------------------------------------------------------------
   支付
   ---------------------------------------------------------------------- */

.fl-checkout .woocommerce-checkout-payment { padding: 0; background: none; }

.fl-co-methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fl-co-methods li.wc_payment_method {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 13px 15px;
	border: 1px solid #e9e9e9;
	border-radius: 6px;
	background: #fff;
	list-style: none;
	transition: border-color .18s, background .18s;
}

.fl-co-methods li.wc_payment_method:hover { border-color: #d6d6d6; }
.fl-co-methods li.wc_payment_method:has(input.input-radio:checked) { border-color: var(--navy); background: #fbfbff; }

.fl-co-methods li label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	cursor: pointer;
}

.fl-co-methods li label img { max-height: 24px; width: auto; display: inline-block; }

.fl-checkout .payment_box {
	grid-column: 1 / -1;
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px solid #f0f0f0;
	border-radius: 4px;
	background: #fafafa;
	font-size: 12px;
	line-height: 1.7;
	color: var(--text);
}
.fl-checkout .payment_box::before { display: none; }
.fl-checkout .payment_box p { margin: 0 0 8px; }
.fl-checkout .payment_box p:last-child { margin-bottom: 0; }

.fl-checkout .fl-co-no-method { list-style: none; }

/* 条款 + 下单按钮 */
.fl-checkout .place-order { margin: 18px 0 0; padding: 0; }

.fl-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 14px;
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--gray);
}

.fl-checkout .woocommerce-privacy-policy-text p { margin: 0 0 8px; font-size: 11.5px; color: var(--gray); }
.fl-checkout .woocommerce-privacy-policy-text a { color: var(--orange); text-decoration: underline; }
.fl-checkout .woocommerce-terms-and-conditions-checkbox-text { font-size: 11.5px; line-height: 1.7; }

.fl-checkout form.checkout #place_order,
.fl-checkout .fl-co-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 4px;
	background: var(--orange);
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1;
	cursor: pointer;
	transition: background .18s;
}
.fl-checkout form.checkout #place_order:hover,
.fl-checkout .fl-co-submit:hover { background: var(--orange-dark); color: #fff; }
.fl-checkout form.checkout #place_order:disabled { opacity: .6; cursor: default; }

/* 下单时的遮罩（blockUI）不要太刺眼 */
.fl-checkout .blockUI.blockOverlay { background: rgba(255, 255, 255, .72) !important; opacity: 1 !important; }

/* -------------------------------------------------------------------------
   右栏汇总
   ---------------------------------------------------------------------- */

.fl-checkout-aside {
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fl-co-summary {
	padding: 22px 22px 20px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}

.fl-co-summary .fl-sum-title { margin-bottom: 2px; }

.fl-checkout table.woocommerce-checkout-review-order-table {
	width: 100%;
	margin: 12px 0 0;
	border: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

.fl-checkout table.woocommerce-checkout-review-order-table th,
.fl-checkout table.woocommerce-checkout-review-order-table td {
	padding: 7px 0;
	border: 0;
	background: none;
	font-size: 12.5px;
	line-height: 1.55;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	vertical-align: top;
}

.fl-checkout table.woocommerce-checkout-review-order-table td.product-total {
	width: 84px;
	text-align: right;
	white-space: nowrap;
	color: var(--ink);
}

.fl-checkout table.woocommerce-checkout-review-order-table tbody td.product-name { padding-right: 10px; }

.fl-checkout .fl-co-item + .fl-co-item td {
	padding-top: 12px;
	border-top: 1px solid #f6f6f6;
}

.fl-co-item-main {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}

.fl-co-item-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	padding: 3px;
	border: 1px solid #efefef;
	border-radius: 4px;
	background: #fff;
}
.fl-co-item-thumb img { width: 100%; height: 100%; object-fit: contain; }

.fl-co-item-text { min-width: 0; }

.fl-co-item-name {
	display: block;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ink);
	word-break: break-word;
}

.fl-co-item-qty {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: var(--gray-2);
}

.fl-co-item-text dl.variation { margin: 3px 0 0; font-size: 10.5px; }
.fl-co-item-text dl.variation dt,
.fl-co-item-text dl.variation dd { display: inline; margin: 0; font-size: 10.5px; }
.fl-co-item-text dl.variation dt { color: #9a9a9a; }
.fl-co-item-text dl.variation dd { margin-right: 6px; color: #4a4a4a; }
.fl-co-item-text dl.variation dd p { margin: 0; display: inline; }

.fl-checkout table.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 400;
	color: var(--gray);
}

.fl-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right; color: var(--ink); }

.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr:first-child td {
	padding-top: 13px;
	border-top: 1px solid #f0f0f0;
}

.fl-checkout tr.cart-discount td { color: #1b7f3b; }
.fl-checkout tr.cart-discount td a.woocommerce-remove-coupon {
	display: inline-flex;
	margin-left: 6px;
	font-size: 14px;
	color: #b0b0b0;
	vertical-align: -1px;
}
.fl-checkout tr.cart-discount td a.woocommerce-remove-coupon:hover { color: #b42318; }

.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	padding-top: 14px;
	border-top: 1px solid #f0f0f0;
}

.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}

.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.02em;
	color: var(--orange);
}

.fl-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong { font-weight: 700; }

.fl-checkout ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}
.fl-checkout ul#shipping_method li {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--ink);
}
.fl-checkout ul#shipping_method input { margin: 0; accent-color: var(--blue); }

.fl-checkout .woocommerce-shipping-destination { margin: 2px 0 0; font-size: 11px; color: var(--gray-2); }

/* 右栏服务承诺：跟购物车同一个组件，改成竖排 */
.fl-checkout-perks {
	grid-template-columns: 1fr;
	gap: 16px;
	margin: 0;
	padding: 18px 20px;
}

/* 登录表单（展开后出现在提示区） */
.fl-checkout .woocommerce-form-login {
	margin: 0 0 10px;
	padding: 20px 22px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}
.fl-checkout .woocommerce-form-login > p:first-child { margin: 0 0 14px; font-size: 12.5px; color: var(--gray); }
.fl-checkout .woocommerce-form-login .form-row { margin: 0 0 14px; }
.fl-checkout .woocommerce-form-login .form-row-first,
.fl-checkout .woocommerce-form-login .form-row-last { width: auto; float: none; }
.fl-checkout .woocommerce-form-login .lost_password { margin: 0; font-size: 11.5px; }
.fl-checkout .woocommerce-form-login .lost_password a { color: var(--gray); text-decoration: underline; }
.fl-checkout .woocommerce-form-login .button {
	height: 40px;
	padding: 0 22px;
	border: 0;
	border-radius: 4px;
	background: var(--navy);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
}
.fl-checkout .woocommerce-form-login .button:hover { background: #171d3a; color: #fff; }

/* 优惠券表单（展开后出现在提示区） */
.fl-checkout form.checkout_coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	margin: 0 0 10px;
	padding: 16px 18px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}
.fl-checkout form.checkout_coupon .form-row { margin: 0; padding: 0; width: auto; float: none; }
.fl-checkout form.checkout_coupon input#coupon_code { height: 40px; }
.fl-checkout form.checkout_coupon button.button {
	height: 40px;
	padding: 0 20px;
	border: 1px solid var(--ink);
	border-radius: 4px;
	background: #fff;
	color: var(--ink);
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: background .18s, color .18s;
}
.fl-checkout form.checkout_coupon button.button:hover { background: var(--ink); color: #fff; }

@media (max-width: 1080px) {
	.fl-checkout-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
}

@media (max-width: 860px) {
	.fl-checkout { padding-top: 26px; padding-bottom: 60px; }
	.fl-checkout-head { align-items: flex-start; flex-direction: column; gap: 10px; }
	.fl-checkout-title { font-size: 22px; }
	.fl-checkout-grid { grid-template-columns: 1fr; gap: 22px; }

	/* 手机上先把订单汇总提上来：付款前能先看总价 */
	.fl-checkout-aside { position: static; order: -1; }
	.fl-checkout-perks { display: none; }

	.fl-checkout .woocommerce-billing-fields__field-wrapper,
	.fl-checkout .woocommerce-shipping-fields__field-wrapper,
	.fl-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
	.fl-checkout .form-row-wide { grid-column: auto; }

	.fl-co-card-head { padding: 16px 18px; }
	.fl-co-card-body { padding: 18px; }

	.fl-checkout form.checkout_coupon { grid-template-columns: 1fr; }
}

/* =========================================================================
   订单完成（thank-you）
   ========================================================================= */

body.woocommerce-order-received .woocommerce-order { padding: 34px 0 84px; }

.woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 18px;
	padding: 16px 20px;
	border: 0;
	border-left: 3px solid #1b7f3b;
	border-radius: 6px;
	background: #f7fdf9;
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
}

.woocommerce-order ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 0 0 26px;
	padding: 0;
	border: 1px solid #efefef;
	border-radius: 10px;
	overflow: hidden;
	background: #f4f4f4;
	list-style: none;
}

.woocommerce-order ul.woocommerce-order-overview li {
	margin: 0;
	padding: 14px 18px;
	border: 0;
	background: #fff;
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gray-2);
}

.woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink);
}

.woocommerce-order section.woocommerce-order-details,
.woocommerce-order section.woocommerce-customer-details {
	margin: 0 0 22px;
	padding: 22px;
	border: 1px solid #efefef;
	border-radius: 10px;
	background: #fff;
}

.woocommerce-order section.woocommerce-order-details h2,
.woocommerce-order section.woocommerce-customer-details h2 {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
}

.woocommerce-order table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	border: 0;
}

.woocommerce-order table.woocommerce-table--order-details th,
.woocommerce-order table.woocommerce-table--order-details td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid #f4f4f4;
	font-size: 12.5px;
	text-align: left;
	color: var(--text);
}

.woocommerce-order table.woocommerce-table--order-details thead th {
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gray-2);
}

.woocommerce-order table.woocommerce-table--order-details tfoot th { color: var(--gray); }
.woocommerce-order table.woocommerce-table--order-details tfoot td { text-align: right; }

.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child td {
	padding-top: 14px;
	font-family: "Poppins", sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--orange);
}

.woocommerce-order .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 12.5px;
	line-height: 1.9;
	color: var(--text);
}

.woocommerce-order .woocommerce-customer-details address p { margin: 6px 0 0; }
