/* SP2s Glass — WooCommerce pages. Layered on WooCommerce's own CSS, which still handles base layout. */

.woocommerce,
.woocommerce-page { color: var(--text); }
.woocommerce a { color: inherit; }

/* 麵包屑 */
.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 20px; font-size: 13px; color: var(--text-3);
}
.woocommerce .woocommerce-breadcrumb a { color: var(--text-2); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--blue); }

/* 按鈕 */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce .button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px;
	background: var(--text); color: #fff; font-size: 15px; font-weight: 600; line-height: 1.2;
	text-decoration: none; transition: transform .2s, background .2s;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover { background: #000; color: #fff; transform: scale(1.02); }
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order { background: var(--blue); box-shadow: 0 10px 24px rgba(0, 113, 227, .28); }
.woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover { background: #0062c4; }
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce button.button.alt.disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* 購物車：「更新購物車」改數量才會啟用，用外框樣式；停用時 WooCommerce 會把文字變成底色，這裡補回來 */
.woocommerce .woocommerce-cart-form button.button[name="update_cart"],
.woocommerce .woocommerce-cart-form button.button[name="update_cart"]:disabled[disabled] {
	padding: 0 18px;
	background: rgba(255, 255, 255, .85);
	color: var(--text);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14);
}
.woocommerce .woocommerce-cart-form button.button[name="update_cart"]:not(:disabled):hover { background: #fff; color: var(--text); }

/* 購物車：折價券那一列（WooCommerce 預設輸入框只有 80px，平板很擠）。td 要維持表格儲存格，跨欄才不會壞 */
.woocommerce .woocommerce-cart-form td.actions .coupon { display: flex; gap: 8px; }
.woocommerce .woocommerce-cart-form td.actions .coupon .input-text { flex: 1; min-width: 0; width: 240px; margin: 0; padding: 0 14px; }
.woocommerce .woocommerce-cart-form td.actions .coupon .button { flex: none; margin: 0; }
@media (max-width: 768px) {
	.woocommerce .woocommerce-cart-form td.actions .coupon { margin-bottom: 10px; }
	.woocommerce .woocommerce-cart-form td.actions button[name="update_cart"] { width: 100%; }
}


/* 表單 */
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 600; color: var(--text-2); margin-bottom: 6px; display: block; }
.woocommerce form .form-row .required { color: var(--pink); text-decoration: none; }
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page .select2-container .select2-selection--single {
	width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .1); background: rgba(255, 255, 255, .78);
	font: inherit; font-size: 16px; color: var(--text); box-shadow: none;
}
.woocommerce-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce-page .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(0, 113, 227, .15); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--pink); }

/* 提示訊息 */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;
	margin: 0 0 20px; padding: 14px 18px 14px 44px; border: 0; border-radius: 16px;
	background: rgba(255, 255, 255, .72); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); font-size: 15px; list-style: none;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { top: 50%; left: 16px; transform: translateY(-50%); }
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::after { display: none; }
.woocommerce .woocommerce-message::before { color: #1a9f53; }
.woocommerce .woocommerce-info::before { color: var(--blue); }
/* 錯誤訊息是 <ul>，多筆欄位錯誤要上下排列 */
.woocommerce .woocommerce-error { background: rgba(255, 236, 241, .85); flex-direction: column; align-items: flex-start; }
.woocommerce .woocommerce-error::before { color: var(--pink); }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button { order: 2; min-height: 36px; padding: 0 16px; font-size: 14px; float: none; }

/* 空購物車 */
.cart-empty-card {
	display: grid; justify-items: center; gap: 12px; padding: 56px 24px 48px; text-align: center;
	border-radius: var(--r-md); background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05);
}
.cart-empty-icon {
	width: 88px; height: 88px; margin-bottom: 8px; border-radius: 50%; display: grid; place-items: center; color: var(--blue);
	background: radial-gradient(circle at 30% 25%, #fff, rgba(214, 230, 255, .9) 60%, rgba(196, 214, 255, .8));
	box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 14px 30px rgba(0, 113, 227, .18);
}
.cart-empty-icon .icon { width: 40px; height: 40px; }
.cart-empty-title { font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.cart-empty-text { color: var(--text-2); font-size: 15px; margin-bottom: 8px; }
.woocommerce .cart-empty-card .btn-blue { color: #fff; }
.cart-empty-cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.cart-empty-cats .pill { background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.cart-empty-cats .pill:hover { background: #fff; color: var(--blue); }

/* 商店與分類頁 */
.woocommerce-products-header { margin-bottom: 8px; }
.woocommerce-products-header__title.page-title { margin-bottom: 12px; }
.woocommerce .term-description { color: var(--text-2); margin-bottom: 16px; }
.woocommerce .woocommerce-result-count { float: none; margin: 0; font-size: 14px; color: var(--text-3); }
.woocommerce .woocommerce-ordering { float: none; margin: 0; }
.woocommerce .woocommerce-ordering select { width: auto; min-height: 40px; padding: 6px 36px 6px 14px; border-radius: 999px; font-size: 14px; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.shop-toolbar:empty { display: none; }
.woocommerce nav.woocommerce-pagination { margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; display: grid; place-items: center;
	background: rgba(255, 255, 255, .7); color: var(--text-2); font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--text); color: #fff; }

/* 商品頁 */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 48px; align-items: start; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images { grid-column: 1; }
/* 不用 sticky：購買區常比商品圖高，跟著停留會滑到下方內容上面 */
.woocommerce div.product div.summary { grid-column: 2; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 24px; overflow: hidden; }
.woocommerce div.product div.images img { border-radius: 24px; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 12px; opacity: .55; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce span.onsale {
	min-width: 0; min-height: 0; padding: 4px 12px; line-height: 1.4; border-radius: 999px;
	background: rgba(255, 255, 255, .9); color: var(--pink); font-size: 13px; font-weight: 700; top: 14px; left: 14px;
}
.woocommerce div.product .product_title { font-size: clamp(26px, 3vw, 36px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 12px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--text); font-size: 26px; font-weight: 700; margin-bottom: 16px; }
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { font-size: 16px; font-weight: 400; color: var(--text-3); opacity: 1; margin-right: 8px; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; color: var(--pink); }
/* 簡短說明：店家自己加的紅字、橘字促銷保留原色，外面包成玻璃卡片 */
.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 20px; padding: 18px 20px; border-radius: 20px; color: var(--text-2); font-size: 15px; line-height: 1.7;
	background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9);
}
.woocommerce div.product .woocommerce-product-details__short-description > * { margin: 0; }
.woocommerce div.product .woocommerce-product-details__short-description > * + * { margin-top: 12px; }
.woocommerce div.product .woocommerce-product-details__short-description a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce div.product .woocommerce-product-details__short-description ul {
	list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;
}
.woocommerce div.product .woocommerce-product-details__short-description li {
	padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .85);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); font-size: 14px; color: var(--text);
}
.woocommerce div.product .woocommerce-product-details__short-description :is(h2, h3, h4, h5) {
	padding: 12px 16px; border-radius: 14px; background: rgba(255, 102, 0, .08); font-size: 15px; line-height: 1.6;
}
.woocommerce div.product .woocommerce-product-details__short-description :is(h2, h3, h4, h5) span[style] { font-size: inherit !important; }
.woocommerce div.product form.cart { margin-bottom: 20px; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; border: 0; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; border: 0; line-height: 1.4; }
.woocommerce div.product form.cart .variations th label { font-size: 14px; font-weight: 600; color: var(--text-2); }
.woocommerce div.product form.cart .variations td { padding: 8px 0 14px; }
.woocommerce div.product form.cart .reset_variations { font-size: 13px; color: var(--text-3); }
.woocommerce div.product form.cart div.quantity { margin-right: 10px; }
.woocommerce .quantity .qty { width: 72px; min-height: 46px; border-radius: 999px; text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 48px; padding: 0 32px; }
/* 選中口味的價格改由 theme.js 顯示在標題下方，這裡不再重複 */
.woocommerce div.product .woocommerce-variation-price { display: none; }
.woocommerce div.product .woocommerce-variation-availability { margin-bottom: 8px; }
/* buy-now-woo 的「立即購買」：玻璃次要按鈕 */
.woocommerce div.product form.cart .wsb-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; margin-left: 10px;
	border: 1px solid var(--glass-edge); border-radius: 999px; background: rgba(255, 255, 255, .7);
	color: var(--blue); font-size: 15px; font-weight: 600; box-shadow: var(--glass-shadow); vertical-align: top;
}
.woocommerce div.product form.cart .wsb-button:hover { background: #fff; }
.woocommerce div.product form.cart .wsb-button.disabled { opacity: .45; cursor: not-allowed; }
.woocommerce div.product .stock { color: #1a9f53; font-weight: 600; }
.woocommerce div.product .stock.out-of-stock { color: var(--pink); }
.woocommerce div.product .product_meta { font-size: 13px; color: var(--text-3); display: grid; gap: 4px; }
/* 貨號、分類對顧客沒有幫助，只保留標籤 */
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in { display: none; }
.woocommerce div.product .product_meta a { color: var(--text-2); }

/* woo-variation-swatches 口味按鈕：玻璃膠囊，選中變藍底白字，缺貨淡化加刪除線 */
.woocommerce div.product form.cart .variations th.label label { font-size: 15px; font-weight: 700; color: var(--text); }
.woo-variation-swatches .variable-items-wrapper { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	width: auto !important; height: auto !important; min-height: 38px; margin: 0 !important; padding: 0 !important;
	border-radius: 999px !important; background: rgba(255, 255, 255, .8) !important; color: var(--text) !important;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important; transition: background .15s, box-shadow .15s, color .15s;
}
.woo-variation-swatches .variable-items-wrapper .variable-item.button-variable-item .variable-item-contents { padding: 0 !important; width: auto !important; height: auto !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) { min-width: 0 !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item.button-variable-item .variable-item-span {
	padding: 8px 16px !important; font-size: 14px; line-height: 1.3; white-space: nowrap;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
	box-shadow: inset 0 0 0 1.5px var(--blue) !important; color: var(--blue) !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
	background: var(--blue) !important; color: #fff !important; box-shadow: 0 6px 16px rgba(0, 113, 227, .3) !important;
}
/* 缺貨：不可點選，灰底虛線框，文字後面加「缺貨」小標 */
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled,
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled:hover {
	opacity: 1 !important; pointer-events: none; cursor: not-allowed;
	background: rgba(0, 0, 0, .04) !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12) !important;
	color: var(--text-3) !important; filter: none !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled { outline: 1px dashed rgba(0, 0, 0, .18); outline-offset: -1px; }
/* 外掛的「blur」行為會再把內層調淡，缺貨要看得清楚，所以還原 */
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled .variable-item-contents,
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled .variable-item-span {
	opacity: 1 !important; filter: none !important; color: var(--text-2) !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled .variable-item-span { text-decoration: line-through; text-decoration-color: rgba(0, 0, 0, .35); }
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled .variable-item-span::after {
	content: "缺貨"; display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 999px;
	background: rgba(229, 72, 77, .12); color: #e5484d; font-size: 11px; font-weight: 700; text-decoration: none;
}
/* 外掛預設在缺貨按鈕上畫紅色叉叉，改用刪除線就好 */
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled::after,
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled::before,
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled .variable-item-contents::before { display: none !important; background: none !important; }

/* 數量、加入購物車、立即購買排成一列 */
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 160px; }
.woocommerce div.product form.cart .wsb-button { flex: 1 1 140px; margin: 0; white-space: nowrap; }

/* 商品頁分頁（描述／評價） */
.woocommerce div.product .woocommerce-tabs { margin-top: 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: inline-flex; gap: 2px; padding: 4px; margin: 0 0 20px; border-radius: 999px;
	background: rgba(255, 255, 255, .55); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .85); overflow-x: auto; max-width: 100%;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 9px 20px; font-size: 14px; font-weight: 600; color: var(--text-2); white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .08); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--text); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel img { border-radius: 16px; margin: 12px auto; }
.woocommerce div.product .woocommerce-tabs table.shop_attributes { border: 0; }
.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td { border: 0; border-bottom: 1px solid rgba(0, 0, 0, .06); background: transparent; padding: 10px 0; font-style: normal; }

.woocommerce .related.products,
.woocommerce .upsells.products { margin-top: 40px; }
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 { font-size: 26px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 20px; }

/* 購物車與結帳 */
.woocommerce table.shop_table {
	border: 0; border-radius: 18px; overflow: hidden; border-collapse: separate; border-spacing: 0;
	background: rgba(255, 255, 255, .6);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border: 0; border-top: 1px solid rgba(0, 0, 0, .06); padding: 14px 16px; }
.woocommerce table.shop_table thead th { border-top: 0; font-size: 13px; color: var(--text-3); font-weight: 600; }
.woocommerce table.shop_table img { width: 64px; border-radius: 12px; }
.woocommerce table.shop_table .order-total .amount { font-size: 20px; font-weight: 800; }
.woocommerce a.remove { color: var(--text-3) !important; border-radius: 50%; }
.woocommerce a.remove:hover { background: var(--pink); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
#order_review_heading { font-size: 22px; font-weight: 800; letter-spacing: -.01em; margin: 8px 0 16px; }

.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 8px; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
/* 結帳頁單欄排列：表單很短，而且 7-11 門市選擇等外掛內容插在訂單摘要裡，並排或浮動都容易互相遮蓋 */
.woocommerce form.checkout { max-width: 720px; margin: 0 auto; }
.woocommerce-checkout .woocommerce > .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce > form.checkout_coupon,
.woocommerce-checkout .woocommerce > form.login { max-width: 720px; margin-left: auto; margin-right: auto; }
.woocommerce form.checkout #order_review_heading { margin-top: 28px; }
.woocommerce form.checkout #order_review { position: static; }

/* 只讓顧客填姓名、電話、LINE ID；其他欄位由 inc/checkout.php 標記隱藏（數值仍會送出） */
.woocommerce form .sp2s-hidden-field,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields { display: none !important; }
.woocommerce form .form-row .description { font-size: 13px; color: var(--text-2); margin-top: 6px; }
.woocommerce form .form-row .description a {
	display: inline-flex; padding: 2px 10px; margin-left: 4px; border-radius: 999px;
	background: #06c755; color: #fff; font-weight: 600;
}
/* WooMP 單頁結帳：購物車表格、運費表格、付款表格三塊對齊成同寬的卡片 */
.woocommerce-checkout .cart-shortcode { max-width: 720px; margin: 0 auto 16px; }
.woocommerce-checkout .cart-shortcode .cart-collaterals:empty { display: none; }
.woocommerce-checkout .cart-shortcode table.shop_table { margin-bottom: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
.woocommerce-checkout #paymentWrap {
	width: 100%; margin: 0 0 16px; border: 0; border-radius: 18px; border-collapse: separate; border-spacing: 0;
	background: rgba(255, 255, 255, .6); overflow: hidden;
}
/* WooMP 的 form-checkout.php 內嵌 CSS 把標籤內距設成 0（手機版用 !important），這裡用 body + id 提高權重蓋過去 */
body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #paymentWrap th {
	width: 120px !important; padding: 16px !important; font-size: 14px; font-weight: 600; color: var(--text-2);
	text-align: left; vertical-align: middle;
}
body.woocommerce-checkout #order_review table.shop_table tfoot td,
body.woocommerce-checkout #paymentWrap td { padding: 14px 16px !important; vertical-align: middle; }
body.woocommerce-checkout #paymentWrap th { vertical-align: top; }
body.woocommerce-checkout #order_review #paymentWrap { margin-bottom: 28px !important; }
body.woocommerce-checkout form.checkout #order_review { border-bottom: 0 !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr + tr > * { border-top: 1px solid rgba(0, 0, 0, .06); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td { border-top: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr + tr > * { border-top: 1px solid rgba(0, 0, 0, .06); }
.woocommerce-checkout #shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce-checkout #shipping_method li { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; }
.woocommerce-checkout #shipping_method .fee-tag { border-radius: 999px; padding: 2px 10px; font-size: 12px; }
.woocommerce-checkout .order-total .amount { font-size: 22px; font-weight: 800; }
body.woocommerce-checkout .choose_cvs td button,
body.woocommerce-checkout .choose_cvs td .button {
	min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; font-size: 14px; font-weight: 600;
}
@media (max-width: 600px) {
	body.woocommerce-checkout #order_review table.shop_table tfoot th,
	body.woocommerce-checkout #paymentWrap th { width: 84px !important; padding: 14px 0 14px 14px !important; }
	body.woocommerce-checkout #order_review table.shop_table tfoot td,
	body.woocommerce-checkout #paymentWrap td { padding: 12px 14px !important; }
}
/* 付款方式：WooMP 把 #payment 放進表格的窄欄，讓它填滿整列 */
.woocommerce-checkout #paymentWrap td { width: auto; }
.woocommerce-checkout #paymentWrap #payment { background: transparent; border-radius: 0; margin: 0; }
.woocommerce-checkout #paymentWrap #payment ul.payment_methods { padding: 0; border: 0; }
.woocommerce-checkout #paymentWrap #payment ul.payment_methods li { list-style: none; }
.woocommerce-checkout #paymentWrap #payment div.payment_box { margin: 10px 0 0; padding: 12px 14px; font-size: 14px; }
.woocommerce-checkout #paymentWrap #payment div.form-row.place-order { padding: 0; margin: 0; }
/* 門市資訊與下單按鈕（WooMP 放在 #customer_details 裡） */
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 8px; }
.woocommerce-checkout #customer_details #place_order { margin-top: 12px; }
.woocommerce-checkout #payment { border-radius: 18px; background: rgba(255, 255, 255, .6); margin-top: 16px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid rgba(0, 0, 0, .06); padding: 16px 18px; }
.woocommerce-checkout #payment div.payment_box { border-radius: 12px; background: rgba(255, 255, 255, .8); color: var(--text-2); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: rgba(255, 255, 255, .8); }
.woocommerce-checkout #payment div.form-row { padding: 16px 18px; }
.woocommerce #place_order { width: 100%; min-height: 52px; font-size: 17px; float: none; }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--text-3); }
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 4px; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border: 0; border-radius: 18px; background: rgba(255, 255, 255, .55); padding: 20px; margin: 0 0 20px; }

/* 訂單完成頁、訂單明細 */
.woocommerce ul.order_details {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; padding: 0; margin: 0 0 24px;
}
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after { display: none; }
.woocommerce ul.order_details li {
	float: none; margin: 0; padding: 14px 16px; border: 0; border-radius: 16px; background: rgba(255, 255, 255, .6);
	font-size: 12px; color: var(--text-3); text-transform: none;
}
.woocommerce ul.order_details li strong { font-size: 16px; color: var(--text); margin-top: 4px; }
.woocommerce .woocommerce-customer-details address {
	border: 0; border-radius: 16px; background: rgba(255, 255, 255, .6); padding: 16px 18px; font-style: normal;
}
/* 沿用舊站：訂單狀態、物流單號、訂單更新說明用紅字強調 */
.woocommerce td.woocommerce-orders-table__cell-order-status,
.woocommerce td.woocommerce-table__shipping-no.shipping-no,
.woocommerce .woocommerce-OrderUpdate-description p { color: #e5484d; font-weight: 700; }
.cvs-tracking {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; margin: 0 0 14px; border-radius: 999px;
	background: var(--blue); color: #fff !important; font-weight: 600; font-size: 15px;
}

@media (max-width: 900px) {
	/* minmax(0, 1fr)：避免商品圖輪播的固定寬度把單欄撐出畫面 */
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary { grid-column: 1; position: static; }
}

@media (max-width: 600px) {
	.page-main { padding-top: 24px; }
	.page-card { padding: 18px; border-radius: 24px; }
	.woocommerce table.shop_table_responsive tr td { padding: 10px 14px; }
	.woocommerce div.product form.cart .wsb-button { flex: 1 0 100%; }
}

/* ---------- Checkout for guests: login / register card (inc/checkout-gate.php) ---------- */
.checkout-gate {
	max-width: 720px;
	margin: 0 auto 28px;
	padding: 28px;
	border-radius: var(--r-md);
}
.checkout-gate-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.checkout-gate-icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: linear-gradient(135deg, #0a84ff, #5e5ce6);
	color: #fff;
	box-shadow: 0 8px 20px rgba(10, 132, 255, .28);
}
.checkout-gate h2 { margin: 2px 0 6px; font-size: 22px; letter-spacing: -.01em; }
.checkout-gate-head p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.6; }
.checkout-gate-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.checkout-gate-cart-title { max-width: 720px; margin: 0 auto 12px; font-size: 18px; }

/* ---------- Easy Login forms (我的帳號登入頁、結帳登入卡片、彈出視窗) ----------
   Styled here, not in Easy Login's settings, so the launch-day database resync keeps them.
   `body` prefix outranks the plugin's own inline style rules. */
.checkout-gate .xoo-el-form-container { max-width: none; margin: 0; padding: 0; background: none; box-shadow: none; }
.woocommerce-account .entry-content > .woocommerce > .xoo-el-form-inline { max-width: 440px; margin: 8px auto 0; }
body .xoo-el-form-container { color: var(--text); font-family: var(--font); }
body .xoo-el-form-container ul.xoo-el-tabs {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	width: 100%;
	margin: 0 0 20px;
	padding: 4px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, .06);
	list-style: none;
	overflow: hidden;
}
body .xoo-el-form-container ul.xoo-el-tabs li {
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 10px 0;
	border: 0;
	border-radius: 999px !important; /* Easy Login gives the two tabs square inner corners */
	background: transparent;
	color: var(--text-2);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s, box-shadow .2s;
}
body .xoo-el-form-container ul.xoo-el-tabs li.xoo-el-active { background: #fff; color: var(--text); box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
body .xoo-el-form-container .xoo-el-section { padding: 0; }
body .xoo-el-form-container .xoo-el-fields-cont { display: flex; flex-wrap: wrap; gap: 0 12px; margin: 0; }
body .xoo-el-form-container .xoo-aff-group { box-sizing: border-box; flex: 1 1 100%; width: auto; margin: 0 0 14px; padding: 0; }
body .xoo-el-form-container .xoo-aff-group.onehalf { flex-basis: calc(50% - 6px); }
body .xoo-el-form-container .xoo-aff-input-group .xoo-aff-input-icon { display: none; }
body .xoo-el-form-container .xoo-aff-input-group input,
body .xoo-el-form-container .xoo-aff-input-group select {
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 0 16px;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .85);
	color: var(--text);
	font-size: 16px;
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
body .xoo-el-form-container .xoo-aff-input-group input:focus,
body .xoo-el-form-container .xoo-aff-input-group select:focus {
	border-color: var(--blue);
	outline: 0;
	box-shadow: 0 0 0 4px rgba(0, 113, 227, .15);
}
body .xoo-el-form-container .xoo-aff-pw-toggle { color: var(--text-3); }
body .xoo-el-form-container .xoo-el-login-btm-fields { box-sizing: border-box; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 18px; }
body .xoo-el-form-container .xoo-el-form-label { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--text-2); font-size: 15px; }
body .xoo-el-form-container .xoo-el-form-label input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--blue); }
body .xoo-el-form-container a.xoo-el-lostpw-tgr,
body .xoo-el-form-container .xoo-el-lostpw-tgr { margin-left: auto; color: var(--blue); font-size: 15px; text-decoration: none; }
body .xoo-el-form-container button.btn.button.xoo-el-action-btn {
	width: 100%;
	min-height: 50px;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	box-shadow: 0 10px 24px rgba(0, 113, 227, .25);
	transition: background-color .2s, transform .2s;
}
body .xoo-el-form-container button.btn.button.xoo-el-action-btn:hover { background: #0062c4; color: #fff; }
body .xoo-el-form-container button.btn.button.xoo-el-action-btn:active { transform: scale(.98); }
body .xoo-el-form-container .xoo-el-notice { border-radius: 14px; }
.checkout-needs-login .cart-shortcode .wc-proceed-to-checkout { display: none; }

@media (max-width: 600px) {
	.checkout-gate { padding: 22px 18px; }
	.checkout-gate-icon { width: 42px; height: 42px; border-radius: 14px; }
	.checkout-gate h2 { font-size: 20px; }
}
