/**
 * SC-ICG YSCO — 結帳頁面主樣式
 * @version 1.1.3
 *
 * 色彩系統：
 *   固定文字色  → --ys-text-*（本檔 :root 定義，不連動後台）
 *   主題連動色  → --ysco-*（PHP wp_head 注入，衍生自 Blocksy --theme-palette-color-*）
 *     --ysco-primary   = palette-color-1          （主色 / 按鈕 / 連結）
 *     --ysco-accent    = palette-color-2          （輔助色）
 *     --ysco-text      = palette-color-3          （正文色）
 *     --ysco-title     = palette-color-4          （標題色）
 *     --ysco-border    = color-mix(color-1, 25%)  （邊框）
 *     --ysco-bg        = color-mix(color-1, 4%)   （區塊背景）
 *     --ysco-bg-hover  = color-mix(color-1, 8%)   （Hover 背景）
 *     --ysco-radius    = 後台設定                  （圓角）
 *
 * 區塊順序對應 form-checkout.php：
 *   ① 商品明細  ② 運送方式  ③④ 訂購人+收件人
 *   ④½ 自訂欄位  ⑤ 訂單備註  ⑥ 折價券
 *   ⑦ 結帳明細  ⑧ 支付方式+下單
 */

/* 0. 固定文字色變數 */
:root {
    --ys-text-primary: #3d4852;
    --ys-text-secondary: #5a6570;
    --ys-text-muted: #8a939c;
    --ys-text-heading: #2d3748;
    --ys-text-danger: #c53030;
    --ys-text-white: #ffffff;
}

/* 1. 頁面容器 & 基礎排版 */

/* 主容器 800px 置中（單欄版型） */
.ysco-design-checkout-page {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
    color: var(--ys-text-primary);
    font-size: 15px;
    line-height: 1.6;
}

/* 段落文字 */
.ysco-design-checkout-page p {
    color: var(--ys-text-primary);
    margin-bottom: 12px;
}

/* 說明文字 */
.ysco-design-checkout-page .description,
.ysco-design-checkout-page .woocommerce-info {
    color: var(--ys-text-secondary);
    font-size: 14px;
}

/* 標籤文字 */
.ysco-design-checkout-page label:not(.payment_box *) {
    color: var(--ysco-text, var(--ys-text-primary));
    font-weight: 500;
}

/* 表單欄位文字 */
.ysco-design-checkout-page input:not(.payment_box *),
.ysco-design-checkout-page select:not(.payment_box *),
.ysco-design-checkout-page textarea:not(.payment_box *) {
    color: var(--ys-text-primary);
}

/* 連結（排除 Blocksy 推薦模組 & 付款方式內容） */
.ysco-design-checkout-page a:not(.ct-order-review-modules a, .payment_box a) {
    color: var(--ysco-primary);
}
.ysco-design-checkout-page a:not(.ct-order-review-modules a, .payment_box a):hover {
    color: color-mix(in srgb, var(--theme-palette-color-1) 75%, #000);
}

/* 表單 Grid reset */
form.checkout {
    display: grid !important;
    grid-template-columns: unset !important;
    grid-row-gap: unset !important;
}

.ysco-design-checkout-page .ysco-form-column,
.ysco-design-checkout-page form.checkout {
    width: 100%;
    float: none;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

/* 所有區塊寬度限制：防止子元素超出 ysco-design-checkout-page */
.ysco-design-checkout-page .ysco-section,
.ysco-design-checkout-page .ysco-review-wrapper,
.ysco-design-checkout-page .ysco-order-review,
.ysco-design-checkout-page .ysco-billing-wrapper,
.ysco-design-checkout-page .ysco-shipping-wrapper,
.ysco-design-checkout-page .ysco-shipping-cards-wrapper,
.ysco-design-checkout-page .ysco-coupon-block,
.ysco-design-checkout-page .ysco-payment-section,
.ysco-design-checkout-page .ysco-order-notes-section,
.ysco-design-checkout-page #customer_details,
.ysco-design-checkout-page #order_review {
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

/* WC notices 寬度限制 */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* WordPress 區塊主題 layout 修正 */
.woocommerce-checkout .entry-content.is-layout-constrained > .woocommerce {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout .entry-content.is-layout-constrained {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 統一區塊間距 */
.ysco-design-checkout-page .ysco-section {
    margin-bottom: 24px;
}

/* 2. 統一區塊標題 */
.woocommerce-billing-fields .ysco-h3-title,
.woocommerce-shipping-fields .ysco-h3-title,
.woocommerce-additional-fields .ysco-h3-title,
.woocommerce-additional-fields h3,
.ysco-checkout-country h3,
.ysco-order-review h3,
.ysco-coupon-block .ysco-h3-title,
.ct-order-review h3,
h3.ysco-h3-title,
h3#order_review_heading,
.ysco-payment .ysco-h3-title,
.ysco-design-checkout-page h3 {
    margin: 0 0 15px 0;
    font-size: 18px !important;
    font-weight: 600;
    color: var(--ys-text-primary);
}

/* 3. 通用表單欄位 */

/* 圓角 + 完整樣式強化（防止第三方外掛覆蓋） */
.ysco-design-checkout-page input[type="text"]:not(.payment_box *),
.ysco-design-checkout-page input[type="email"]:not(.payment_box *),
.ysco-design-checkout-page input[type="tel"]:not(.payment_box *),
.ysco-design-checkout-page input[type="password"]:not(.payment_box *),
.ysco-design-checkout-page input[type="number"]:not(.payment_box *),
.ysco-design-checkout-page input[type="url"]:not(.payment_box *),
.ysco-design-checkout-page input[type="search"]:not(.payment_box *),
.ysco-design-checkout-page textarea:not(.payment_box *),
.ysco-design-checkout-page select:not(.payment_box *),
.ysco-design-checkout-page .select2-container .select2-selection--single,
.ysco-design-checkout-page .woocommerce-input-wrapper input,
.ysco-design-checkout-page .woocommerce-input-wrapper select {
    border-radius: var(--ysco-radius, 8px) !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding: 10px 12px !important;
    background-color: #fff !important;
    color: var(--ys-text-primary, #1d2327) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}
/* Focus 狀態 */
.ysco-design-checkout-page input:not(.payment_box *):focus,
.ysco-design-checkout-page textarea:not(.payment_box *):focus,
.ysco-design-checkout-page select:not(.payment_box *):focus {
    border-color: var(--ysco-primary, #3b82f6) !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15) !important;
    outline: none !important;
}
/* Select 保留箭頭 */
.ysco-design-checkout-page select:not(.payment_box *) {
    padding-right: 32px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23555' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 14px !important;
}
/* Select2 高度對齊 */
.ysco-design-checkout-page .select2-container .select2-selection--single {
    height: auto !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
}
.ysco-design-checkout-page .select2-container .select2-selection__rendered {
    padding: 0 !important;
    line-height: 1.5 !important;
    color: var(--ys-text-primary, #1d2327) !important;
}
.ysco-design-checkout-page .select2-container .select2-selection__arrow {
    height: 100% !important;
    right: 8px !important;
}
/* Textarea 高度自適應 */
.ysco-design-checkout-page textarea:not(.payment_box *) {
    min-height: 80px !important;
    resize: vertical !important;
}
/* Placeholder */
.ysco-design-checkout-page input:not(.payment_box *)::placeholder,
.ysco-design-checkout-page textarea:not(.payment_box *)::placeholder {
    color: #999 !important;
    opacity: 1 !important;
}
/* Checkbox / Radio 不受上面的 width/padding 影響 */
.ysco-design-checkout-page input[type="checkbox"]:not(.payment_box *),
.ysco-design-checkout-page input[type="radio"]:not(.payment_box *) {
    width: auto !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

/* 單選按鈕 + 複選框：每個選項一行，按鈕與文字同行垂直置中 */
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"],
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="checkbox"] {
    margin: 0 6px 0 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"] + label,
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="checkbox"] + label,
.ysco-custom-fields-wrapper .ysco-checkbox-option {
    display: flex !important;
    align-items: center !important;
    font-weight: normal !important;
    margin: 6px 0 !important;
    cursor: pointer;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"] + label {
    display: inline-flex !important;
}
/* WC radio: 讓 input 和 label 配對顯示 */
.ysco-custom-fields-wrapper .woocommerce-input-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"] {
    display: none !important;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"] + label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 0 !important;
    font-weight: normal !important;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"] + label::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    border: 2px solid #ccc;
    border-radius: 50%;
    background: #fff;
    transition: all 0.15s ease;
    box-sizing: border-box;
}
.ysco-custom-fields-wrapper .woocommerce-input-wrapper input[type="radio"]:checked + label::before {
    border-color: var(--ysco-primary, #3b82f6);
    background: var(--ysco-primary, #3b82f6);
    box-shadow: inset 0 0 0 3px #fff;
}

/* 複選框選項 */
.ysco-checkboxes-wrapper {
    display: flex !important;
    flex-direction: column !important;
}
.ysco-checkbox-option {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: normal !important;
    padding: 4px 0 !important;
    cursor: pointer;
}
.ysco-checkbox-option input[type="checkbox"] {
    margin: 0 !important;
}

/* 統一邊框色（覆蓋 Blocksy / Stripe / Fluent Forms 主題變數） */
.ysco-design-checkout-page select:not(.payment_box *),
.ysco-design-checkout-page textarea:not(.payment_box *),
.ysco-design-checkout-page input:not(.payment_box *):is(
    [type="url"],[type="tel"],[type="text"],[type="time"],
    [type="date"],[type="datetime"],[type="datetime-local"],
    [type="email"],[type="number"],[type="search"],[type="password"]
),
.ysco-design-checkout-page .ct-pseudo-input,
.ysco-design-checkout-page fieldset .wc-stripe-elements-field,
.ysco-design-checkout-page .ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]),
.ysco-design-checkout-page .select2-container .select2-selection--single {
    border: 1px solid var(--ysco-border) !important;
}

/* 隱藏地址欄位的「選填」文字 */
#shipping_postcode_field .optional,
#shipping_state_field .optional,
#shipping_city_field .optional,
#shipping_address_1_field .optional,
#shipping_address_2_field .optional,
#billing_postcode_field .optional,
#billing_state_field .optional,
#billing_city_field .optional,
#billing_address_1_field .optional,
#billing_address_2_field .optional,
#CVSStoreName_field .optional,
#CVSAddress_field .optional,
#CVSTelephone_field .optional,
#payuni_storename_field .optional,
#payuni_storeaddress_field .optional,
#payuni_storeid_field .optional {
    display: none !important;
}

.form-row {
    margin-bottom: 10px;
}

#shipping_postcode_field input {
    background: #fff;
    border-color: var(--ysco-border);
}

/* 4. 按鈕通用（排除 Blocksy 推薦模組） */
.ysco-design-checkout-page button.button,
.ysco-design-checkout-page #place_order,
.ysco-design-checkout-page .ysco-login-submit {
    background: var(--ysco-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ysco-radius, 8px) !important;
    transition: all .2s ease;
}

.ysco-design-checkout-page button.button:hover,
.ysco-design-checkout-page #place_order:hover,
.ysco-design-checkout-page .ysco-login-submit:hover {
    background: color-mix(in srgb, var(--theme-palette-color-1) 85%, #000) !important;
    color: #fff !important;
}

/* Blocksy 推薦模組：不干涉按鈕樣式（連結色已由 :not() 排除） */

/* 5. ① 商品明細 */

/* 外層 */
.ysco-review-wrapper {
    margin-bottom: 20px;
    overflow: hidden;
    max-width: 100%;
    min-width: 0;
}

.ysco-order-review {
    border: 2px solid var(--ysco-border);
    background-color: var(--ysco-bg);
    border-radius: var(--ysco-radius, 8px);
    margin-bottom: 0;
    box-sizing: border-box;
}

.ysco-order-items-container {
    margin-bottom: 0;
}
.ysco-order-items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* 單個商品項目 */
.ysco-order-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: nowrap;
}
.ysco-order-item:last-child {
    border-bottom: none;
}

/* 商品欄（圖+名稱） */
.ysco-order-item .col-product {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.ysco-order-item .product-image {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
}
.ysco-order-item .product-image img {
    width: 50px !important;
    height: 50px !important;
    object-fit: cover;
    border-radius: 6px;
}
.ysco-order-item .product-info {
    min-width: 0;
}
.ysco-order-item .product-name {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 單價 */
.ysco-order-item .col-price {
    flex-shrink: 0;
    font-size: 14px;
    color: var(--ys-text-secondary);
    white-space: nowrap;
}
/* 訂閱商品隱藏單價 */
.ysco-order-item--subscription .col-price {
    display: none;
}

/* 數量控制 */
.ysco-order-item .col-qty {
    flex-shrink: 0;
}
.ysco-quantity-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ysco-border);
    border-radius: 6px;
    overflow: hidden;
    height: 32px;
}
.ysco-qty-btn {
    width: 28px;
    height: 32px;
    border: none;
    background: #f5f5f5;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    transition: background 0.15s;
    padding: 0;
    line-height: 1;
}
.ysco-qty-btn:hover {
    background: #e0e0e0;
}
.ysco-qty-value {
    min-width: 28px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    padding: 0 2px;
}

/* 小計 */
.ysco-order-item .col-subtotal {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--ysco-primary, #333);
    white-space: nowrap;
}

/* 移除按鈕 */
.ysco-order-item .col-remove {
    flex-shrink: 0;
}
.ysco-remove-item {
    width: 22px;
    height: 22px;
    border: none;
    background: rgba(0, 0, 0, 0.08);
    color: #888;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.2s;
    line-height: 1;
}
.ysco-remove-item:hover {
    background: #e74c3c;
    color: #fff;
}

/* 結帳區域圖片尺寸限制 */
.ct-order-review img,
.woocommerce-checkout-review-order img,
/* 隱藏 WC 預設數量顯示 */
.woocommerce-checkout-review-order-table .product-quantity {
    display: none !important;
}

/* Blocksy 推薦商品區 */
.ysco-upsell-zone {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.ysco-upsell-zone > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden;
}
.ysco-upsell-zone .ct-order-review-modules {
    margin-top: 12px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden;
}
.ysco-upsell-zone .ct-order-review-modules > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.ysco-upsell-zone .ct-suggested-products--checkout {
    width: 100%;
}

/* ct-order-review 取消 sticky */
.ct-order-review,
.ct-order-review-modules,
.ysco-order-summary-section {
    position: static !important;
    top: auto !important;
}
.ct-order-review table.shop_table {
    margin-bottom: 0px !important;
}
.ct-order-review {
    background: var(--ysco-bg) !important;
    border: 2px solid var(--ysco-border) !important;
    margin-bottom: 20px !important;
    border-radius: var(--ysco-radius, 8px) !important;
}

/* 商品明細手機版 <=599px */
@media (max-width: 599px) {
    .ysco-order-item {
        flex-wrap: wrap;
        gap: 8px;
    }
    .ysco-order-item .col-product {
        width: 100%;
        flex: none;
    }
    .ysco-order-item .col-price {
        display: none;
    }
    .ysco-order-item .col-qty,
    .ysco-order-item .col-subtotal,
    .ysco-order-item .col-remove {
        flex: none;
    }
}

/* 6. 運送方式（物流卡片樣式在 ysco-shipping-cards.css） */

/* 非卡片模式 fallback 列表 */
ul#shipping_method {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 20px;
}
ul#shipping_method li {
    margin: 0 !important;
    padding: 5px 10px;
    border: 1px solid;
}

/* 7. ③④ 訂購人 + 收件人 */

/* #customer_details：透明容器（WC JS 依賴此 ID） */
#customer_details {
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 24px;
}

/* billing / shipping wrapper 各自獨立有邊框 */
.ysco-billing-wrapper,
.ysco-shipping-wrapper {
    background: var(--ysco-bg);
    border: 2px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px);
    box-sizing: border-box;
}

/* 當 billing/shipping-fields 不在 wrapper 內時的 fallback（如獨立區塊） */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.ysco-checkout-country {
    border: 2px solid var(--ysco-border);
    background-color: var(--ysco-bg);
    margin-bottom: 20px;
    border-radius: var(--ysco-radius, 8px);
}

/* 在 wrapper 內時去掉重複邊框 */
.ysco-billing-wrapper .woocommerce-billing-fields,
.ysco-shipping-wrapper .woocommerce-shipping-fields {
    border: none;
    background: transparent;
    margin-bottom: 0;
    border-radius: 0;
    padding: 0;
}

/* 帳單國家隱藏 */
#billing_country_field {
    display: none;
}

/* 運送標題隱藏 */
h3#ship-to-different-address {
    display: none;
}

/* 強制國家欄位顯示 */
#shipping_country_field {
    display: block !important;
    visibility: visible !important;
}

/* PAYNOW 圖示隱藏 */
#payment ul.payment_methods > li > img {
    display: none;
}

/* 複製收件人 label 內 span */
.ysco-copy span {
    display: none !important;
}

/* 7a. 登入折疊（訂購人區塊內） */
.ysco-login-prompt {
    background: var(--ysco-bg);
    border: 1px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px);
    padding: 12px 16px;
    margin-bottom: 16px;
}
.ysco-login-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    color: var(--ysco-primary);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}
.ysco-login-toggle:hover {
    color: color-mix(in srgb, var(--ysco-primary) 75%, #000);
}
.ysco-toggle-arrow {
    margin-left: auto;
    font-size: 12px;
    transition: transform 0.2s;
}
.ysco-login-form-wrapper {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ysco-border);
}

/* 7b. 自訂 AJAX 登入表單  */
.ysco-ajax-login-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ysco-login-field {
    margin: 0;
}
.ysco-login-field label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--ys-text-secondary);
    margin-bottom: 4px;
}
.ysco-login-field input[type="text"],
.ysco-login-field input[type="password"] {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px);
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.ysco-login-field input:focus {
    border-color: var(--ysco-primary);
    outline: none;
}

/* 記住我 + 忘記密碼 */
.ysco-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
}
.ysco-login-remember {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.ysco-login-remember input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    border-radius: 4px;
}
.ysco-lost-password {
    color: var(--ysco-primary);
    text-decoration: none;
    font-size: 13px;
}
.ysco-lost-password:hover {
    color: color-mix(in srgb, var(--ysco-primary) 75%, #000);
    text-decoration: underline;
}

/* 登入按鈕 */
.ysco-login-submit {
    width: 100%;
    height: 44px;
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--ysco-radius, 8px) !important;
    cursor: pointer;
    transition: opacity 0.2s;
}
.ysco-login-submit:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* 登入回饋訊息 */
.ysco-login-message {
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 6px;
}
.ysco-login-error {
    color: #c0392b;
    background: #fdf0ef;
    display: block;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #f5c6cb;
}
.ysco-login-success {
    color: #27ae60;
    background: #edfbf0;
    display: block;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #c3e6cb;
}

/* 非會員說明 */
.ysco-login-guest-note {
    font-size: 12px;
    color: #999;
    margin: 4px 0 0;
    line-height: 1.5;
}

/* xoo-el 相容（隱藏） */
.ysco-login-form-wrapper .xoo-el-tabs,
.ysco-login-form-wrapper .xoo-el-action-form:not(.xoo-el-action-login),
.ysco-login-form-wrapper .xoo-el-section--register {
    display: none !important;
}

/* 7c. 同訂購人 / 備註 Checkbox */
.ysco-same-as-billing,
.ysco-order-notes-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    margin-bottom: 15px;
    padding: 0;
    position: relative;
}
.ysco-same-as-billing span,
.ysco-order-notes-toggle span {
    font-size: 16px;
    font-weight: 500;
    color: var(--ys-text-primary);
    line-height: 1.4;
}

/* 隱藏原生 checkbox */
.ysco-same-as-billing input[type="checkbox"],
.ysco-order-notes-toggle input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none;
}

/* 自訂勾選框 */
.ysco-same-as-billing::before,
.ysco-order-notes-toggle::before {
    content: '';
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: 2px solid var(--ysco-border);
    border-radius: 4px;
    background: #ffffff;
    position: relative;
    transition: all 0.2s ease;
    display: inline-block;
}
.ysco-same-as-billing:hover::before,
.ysco-order-notes-toggle:hover::before {
    border-color: var(--ysco-primary);
}
.ysco-same-as-billing:has(input:checked)::before,
.ysco-order-notes-toggle:has(input:checked)::before {
    border-color: var(--ysco-primary);
    background: var(--ysco-primary);
}

/* 勾勾符號 */
.ysco-same-as-billing::after,
.ysco-order-notes-toggle::after {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    margin-top: -6px;
    width: 6px;
    height: 11px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: all 0.2s ease;
}
.ysco-same-as-billing:has(input:checked)::after,
.ysco-order-notes-toggle:has(input:checked)::after {
    transform: rotate(45deg) scale(1);
}

/* 7d. 帳號註冊欄位 */
.ysco-account-note {
    font-size: 13px;
    color: var(--ys-text-muted);
    padding: 10px 15px;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 4px;
    margin-top: 8px;
}
#ysco_account_note {
    font-size: 13px;
    color: #888;
    margin: -4px 0 12px 0;
    padding: 0;
    font-style: italic;
}

/* 密碼欄位 100% + 自動產生按鈕在正下方 */
.ysco-account-fields {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.ysco-account-fields #account_password_field,
#account_password_field {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
}

/* 帳號相關欄位在 Grid 中全寬 */
.woocommerce-billing-fields__field-wrapper .ysco-account-note,
.woocommerce-billing-fields__field-wrapper .ysco-create-account,
.woocommerce-billing-fields__field-wrapper #account_password_field,
.woocommerce-billing-fields__field-wrapper .woocommerce-account-fields {
    grid-column: 1 / -1;
}

/* form-row-wide 在 Grid 中自動全寬 */
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1;
}

/* 7e. 結帳欄位 Grid 佈局 */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    gap: 15px;
}

/* 清理 form-row 預設寬度（讓 Grid 正常運作） */
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
    width: auto !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

/* 7g. 超取模式 */
body.ysco-cvs-mode #shipping_postcode_field,
body.ysco-cvs-mode #shipping_state_field,
body.ysco-cvs-mode #shipping_city_field,
body.ysco-cvs-mode #shipping_address_1_field,
body.ysco-cvs-mode #shipping_address_2_field,
body.ysco-cvs-mode #shipping-zipcode-fields {
    display: none !important;
}
body.ysco-cvs-mode .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
}
body.ysco-cvs-mode #shipping_first_name_field,
body.ysco-cvs-mode #shipping_last_name_field,
body.ysco-cvs-mode #shipping_phone_field {
    grid-column: span 1 !important;
}

/* 8. ④½ 自訂欄位 */
/* 自訂欄位區塊共用外框 */
.ysco-custom-fields-container {
    background: var(--ysco-bg);
    border: 2px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px);
    padding: 20px;
}
/* 第二個以後的區塊加上間距 */
.ysco-custom-fields-section--subsequent {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
/* 無標題的後續區塊間距 */
.ysco-custom-fields-section--subsequent:not(:has(.ysco-h3-title)) {
    margin-top: 12px;
    padding-top: 0;
    border-top: none;
}
.ysco-custom-fields-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 9. ⑤ 訂單備註 */
.ysco-order-notes-section {
    background: var(--ysco-bg);
    border: 2px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px);
    padding: 20px;
    box-sizing: border-box;
}
.ysco-order-comments-wrapper textarea {
    width: 100%;
    min-height: 80px;
    border: 1px solid var(--ysco-border);
    border-radius: 6px;
    padding: 10px;
}
.woocommerce-additional-fields__field-wrapper #order_comments_field {
    width: 100%;
}

/* 10. ⑥ 折價券 */
.ysco-coupon-block {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border: 2px solid var(--ysco-border);
    background-color: var(--ysco-bg);
    border-radius: var(--ysco-radius, 8px);
    padding: 20px !important;
    margin-bottom: 20px;
    box-sizing: border-box;
    gap: 0;
}
.ysco-coupon-block .ysco-coupon-section {
    width: 100%;
}
.ysco-coupon-block .ysco-inputform input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--ysco-border);
    border-radius: 6px;
    box-sizing: border-box;
}

a.woocommerce-remove-coupon {
    font-size: 10px !important;
}

.ysco-coupon,
.ysco-coupon-point {
    padding: 20px;
    box-sizing: border-box;
}
.ysco-coupon {
    flex: 1 1 50%;
    min-width: 0;
}
.ysco-coupon-point {
    flex: 1 1 50%;
    min-width: 0;
    border-left: 1px solid var(--ysco-border);
    display: none;
    border-radius: 0 var(--ysco-radius, 8px) var(--ysco-radius, 8px) 0;
}
.ysco-coupon-point.has-content,
.ysco-coupon-point[style*="display: block"] {
    display: block !important;
}
.ysco-coupon-block:not(.has-point) .ysco-coupon {
    flex: 1 1 100%;
}

.ysco-coupon input {
    background: #fff !important;
}
.ysco-inputform {
    width: 100%;
    margin: 0 !important;
}
.ysco-coupon-button {
    padding: 0;
    width: 100%;
    margin-top: 8px;
    margin-bottom: 0;
}
.ysco-coupon-button button {
    padding: 10px 0;
    width: 100%;
}

/* 購物金 */
.ysco-h3-point-title {
    margin: 0;
}
.ysco-coupon-point .woocommerce-cart-notice {
    background-color: var(--ysco-bg);
    margin-bottom: 0 !important;
    display: block !important;
    padding: 0;
}
.ysco-coupon-point .woocommerce-cart-notice::before {
    display: none !important;
}
.ysco-coupon-point a.ywpar-button-message {
    display: none !important;
}
.ysco-coupon-point .ywpar_apply_discounts_container {
    margin: 10px 0 0 !important;
    display: block !important;
    width: 100% !important;
    color: var(--ys-text-secondary) !important;
}
.ysco-coupon-point .ywpar_apply_discounts {
    display: flex;
    flex-direction: column !important;
    gap: 5px;
}
.ysco-coupon-point #ywpar-points-max {
    width: 100%;
    max-width: 100% !important;
    background: #fff;
    padding: 0 15px !important;
    text-align: left;
}
.ysco-coupon-point .button {
    padding: 12px 0;
    width: 100%;
    border-radius: 0;
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 0;
}

#yith-par-message-reward-cart {
    display: none !important;
}
#yith-par-message-cart {
    display: block !important;
}

/* 智慧折扣券 */
#coupons_list {
    border: 2px solid var(--ysco-border);
    margin-bottom: 20px;
}
#coupons_list h3 {
    margin-bottom: 10px;
}

/* 11. ⑦ 結帳明細（review-order.php） */

/* 內層 summary-section 透明（避免雙層框） */
.ysco-order-summary-section {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* 外層有框 */
#order_review,
.woocommerce-checkout-review-order {
    background: var(--ysco-bg);
    padding:0px 5px;
    box-sizing: border-box;
}

.ysco-summary-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ysco-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 14px;
}
/*
 * 底線規則：
 * - total 行永遠無底線（由上方 border-top 分隔）
 * - 緊鄰 total 的前一個 row 無底線
 * - 若只有一個非 total 的 row（含唯一行的情況），無底線
 */
.ysco-summary-row.ysco-summary-total {
    border-bottom: none !important;
}
/* :has() — 緊鄰 total 前的那一行 */
.ysco-summary-row:not(.ysco-summary-total):has(+ .ysco-summary-total) {
    border-bottom: none !important;
}
/* 唯一一個非 total 行 */
.ysco-summary-row:not(.ysco-summary-total):only-of-type {
    border-bottom: none !important;
}
/* 最後一個子元素若非 total（無 total 的情況） */
.ysco-summary-table > :last-child:not(.ysco-summary-total):not(.ysco-summary-extra) {
    border-bottom: none !important;
}

/* 訂閱制額外資訊 — PHP 端重組為單行 */
.ysco-summary-extra {
    padding: 6px 0 2px;
    font-size: 13px;
    color: var(--ys-text-secondary);
    line-height: 1.6;
    text-align: right;
}
/* 手機版下次扣款換行 */
@media (max-width: 600px) {
    .ysco-next-payment {
        display: block;
    }
}

.ysco-summary-row.ysco-summary-total {
    border-top: 2px solid var(--ysco-border);
    border-bottom: none !important;
    padding-top: 12px;
    margin-top: 4px;
    font-size: 18px;
    font-weight: 700;
}
.ysco-summary-label {
    color: var(--ys-text-secondary);
}
.ysco-summary-value {
    font-weight: 600;
    color: var(--ys-text-primary);
}
.ysco-summary-row.ysco-summary-total .ysco-summary-value {
    color: #c0392b;
}
.ysco-coupon-row .ysco-remove-coupon {
    margin-left: 6px;
    font-size: 12px;
    color: #d36f6f;
    text-decoration: none;
}

/* 隱藏 WC 原始 order_review（由自訂模板取代） */
.ysco-order-totals .woocommerce-checkout-review-order {
    display: none !important;
}

/* 12. ⑧ 支付方式 + 下單按鈕 */
.ysco-payment-section {
    background: var(--ysco-bg);
    border: 2px solid var(--ysco-border);
    border-radius: var(--ysco-radius, 8px) !important;
    padding: 20px;
    box-sizing: border-box;
}
.ysco-payment-section #payment {
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
}

/* 付款方式列表 */
.ysco-design-checkout-page #payment ul.payment_methods {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ysco-design-checkout-page #payment ul.payment_methods > li.wc_payment_method {
    border: 1px solid var(--ysco-border) !important;
    border-radius: var(--ysco-radius, 8px) !important;
    padding: 12px 16px;
    background: #fff;
    transition: border-color 0.2s ease;
    margin: 0;
}
.ysco-design-checkout-page #payment ul.payment_methods > li.wc_payment_method:hover,
.ysco-design-checkout-page #payment ul.payment_methods > li.wc_payment_method.wc_payment_method--selected {
    border-color: var(--ysco-primary) !important;
}

/* Label & Radio */
.wc_payment_methods .wc_payment_method > label {
    padding: 8px 10px !important;
    display: block;
    cursor: pointer;
}
.wc_payment_methods .wc_payment_method > input[type="radio"] {
    accent-color: var(--ysco-primary);
}
/* 付款方式描述框間距 */
#payment ul.payment_methods .payment_box {
    margin-top: 12px !important;
    padding: 12px 12px 0 12px !important;
}

/* 下單按鈕 */
.ysco-payment-section .place-order {
    padding: 0;
}
.woocommerce-checkout-payment .place-order {
    padding: 0 !important;
    margin-top: 16px !important;
}
.ysco-payment-section #place_order {
    width: 100%;
    border-radius: var(--ysco-radius, 8px);
    font-size: 16px;
    font-weight: 600;
    padding: 14px 24px;
}

/* 超商同步按鈕 */
.choose-cvs-row {
    width: 100%;
    margin-bottom: 10px;
}
.choose-cvs-shipping {
    width: 100%;
    background: var(--ysco-primary);
    color: #fff;
    border: none;
    padding: 12px 0;
    border-radius: var(--ysco-radius, 8px);
    font-size: 16px;
    cursor: pointer;
    margin-top: 10px;
}
.choose-cvs-shipping:hover {
    background: color-mix(in srgb, var(--ysco-primary) 85%, #000);
}

/* 13. Toast 全域浮動通知 */
/* 13. Toast 通知 */
.ysco-toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    z-index: 999999;
    max-width: 520px;
    width: calc(100% - 32px);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease, top 0.3s ease;
    pointer-events: auto;
    box-sizing: border-box;
}
.ysco-toast--show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* 錯誤：紅色半透明 */
.ysco-toast--error {
    background: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.25);
    color: #b91c1c;
}
/* 成功：綠色半透明 */
.ysco-toast--success {
    background: rgba(22, 163, 74, 0.08);
    border: 1px solid rgba(22, 163, 74, 0.25);
    color: #15803d;
}
/* 資訊：藍色半透明 */
.ysco-toast--info {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.25);
    color: #1d4ed8;
}

.ysco-toast-msg {
    flex: 1;
    word-break: break-word;
}
.ysco-toast-close {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
    opacity: 0.6;
    transition: opacity 0.2s;
    color: inherit;
}
.ysco-toast-close:hover {
    opacity: 1;
    background: rgba(0,0,0,0.06);
}

/* 全部關閉按鈕 */
.ysco-toast-close-all {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    background: rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.12);
    color: #555;
    font-size: 12px;
    padding: 4px 14px;
    border-radius: 20px;
    cursor: pointer;
    transition: top 0.3s ease, background 0.2s;
}
.ysco-toast-close-all:hover {
    background: rgba(0,0,0,0.12);
}

/* 隱藏原位 WC 通知 */
.woocommerce-checkout .woocommerce-notices-wrapper:empty,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout:empty {
    display: none;
}

/* 14. RWD 響應式 */

/* 14a. 電腦版 >=1000px */
@media (min-width: 1000px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    /* 地址、Email、建立帳號全寬 */
    .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
    .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_address_1_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
    .woocommerce-billing-fields__field-wrapper #billing_email_field,
    .woocommerce-billing-fields__field-wrapper .ysco-create-account {
        grid-column: 1 / -1;
    }

    .ysco-create-account .create-account,
    .ysco-create-account .ysco-account-fields,
    .ysco-create-account #account_password_field,
    .ysco-create-account #account_username_field {
        width: 100% !important;
    }

    /* 同訂購人 Checkbox 全寬 */
    .woocommerce-shipping-fields__field-wrapper .ysco-copy-billing,
    #ysco_copy_billing_field {
        grid-column: 1 / -1;
    }

    /* 姓名+電話並排 */
    .woocommerce-shipping-fields__field-wrapper #shipping_last_name_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_first_name_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_phone_field {
        grid-column: span 1;
    }

    /* 區塊 padding 統一 20px */
    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields,
    .ysco-checkout-country,
    .ysco-payment,
    .ysco-order-review,
    .ct-order-review {
        padding: 20px !important;
    }

    #ysco_copy_field {
        width: 100%;
        margin-bottom: 10px;
        display: block !important;
    }

    #coupons_list {
        padding: 20px;
    }
}

/* 14b. 平板 768~999px */
@media (min-width: 768px) and (max-width: 999.9px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
    .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_address_1_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
    .woocommerce-billing-fields__field-wrapper #billing_email_field,
    .woocommerce-billing-fields__field-wrapper .ysco-create-account,
    .woocommerce-billing-fields__field-wrapper .create-account,
    #createaccount_field {
        grid-column: 1 / -1;
    }

    .ysco-create-account .create-account,
    .ysco-create-account .ysco-account-fields,
    .ysco-create-account #account_password_field,
    .ysco-create-account #account_username_field {
        width: 100% !important;
    }

    .woocommerce-shipping-fields__field-wrapper #shipping_last_name_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_first_name_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_phone_field {
        grid-column: span 1;
    }
}

/* 14c. 平板以下 <=999.9px */
@media (max-width: 999.9px) {
    .ysco-wide50,
    #shipping_phone_field {
        width: 100%;
    }

    #coupons_list {
        padding: 20px 15px;
    }

    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields,
    .ysco-checkout-country,
    .ysco-payment,
    .ysco-order-review,
    .ct-order-review {
        padding: 20px 15px !important;
    }
}

/* 14d. 手機 <768px：Grid 1欄 */
@media (max-width: 767.9px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
}

/* 14e. 折價券 RWD */
/* 平板以上：左右並排 + 等高 */
@media (min-width: 768px) {
    .ysco-coupon-block {
        flex-direction: row !important;
        padding: 20px !important;
    }
    .ysco-coupon,
    .ysco-coupon-point {
        flex: 1 1 50%;
        padding: 0 20px;
    }
    .ysco-coupon-point.has-content {
        border-left: 1px solid var(--ysco-border);
        border-top: none;
    }

    /* 折價券 input+button 水平排列 */
    .ysco_checkout_coupon.coupon-form {
        display: flex !important;
        align-items: center !important;
        gap: 10px;
    }
    .ysco_checkout_coupon .ysco-inputform {
        flex: 1;
        margin-bottom: 0 !important;
    }
    .ysco_checkout_coupon .ysco-coupon-button {
        flex-shrink: 0;
        width: auto;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .ysco_checkout_coupon .ysco-coupon-button .button {
        height: 44px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 24px !important;
        border-radius: var(--ysco-radius, 8px) !important;
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
        border: none;
        cursor: pointer;
    }
    .ysco_checkout_coupon .ysco-inputform input[type="text"] {
        height: 44px !important;
        padding: 0 12px;
        border-radius: var(--ysco-radius, 8px);
        box-sizing: border-box;
    }
}

/* 手機：上下堆疊 */
@media (max-width: 767.9px) {
    .ysco-coupon-block {
        flex-direction: column !important;
        padding: 20px !important;
    }
    .ysco-coupon,
    .ysco-coupon-point {
        margin: 0;
        width: 100%;
        flex: 1 1 100%;
        padding: 0 15px;
    }
    .ysco-coupon-point.has-content {
        border-left: none;
        border-top: 1px solid var(--ysco-border);
        margin-top: 20px;
        padding-top: 20px;
    }
}

/* 14f. 社群登入 / 登入表單 RWD */
.ysco-design-checkout-page .nsl-container-buttons,
.ysco-design-checkout-page #nsl-custom-login-form-1,
.ysco-design-checkout-page #nsl-custom-login-form-2,
.ysco-design-checkout-page #nsl-custom-login-form-3,
.ysco-design-checkout-page #nsl-custom-login-form-4,
.ysco-design-checkout-page #nsl-custom-login-form-5,
.ysco-design-checkout-page #nsl-custom-login-form-6 {
    width: 100%;
}
#nsl-custom-login-form-5 .nsl-separator,
#nsl-custom-login-form-6 .nsl-separator {
    margin: 10px 0px 0px 0px !important;
}

@media (min-width: 699px) {
    .ysco-design-checkout-page .nsl-container-buttons {
        display: flex !important;
        gap: 20px;
    }
    .ysco-design-checkout-page #nsl-custom-login-form {
        width: 98%;
    }
    form.woocommerce-form-login {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media (max-width: 689.98px) {
    form.woocommerce-form-login {
        display: flex;
        flex-wrap: wrap;
    }
    .woocommerce-checkout-payment {
        margin-inline: unset !important;
    }
    .ysco-payment-block .place-order {
        padding: 0 !important;
        margin-top: 10px;
    }
    .ysco-payment-block .woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper {
        margin-bottom: 10px !important;
    }
}

/* 14g. Toast 手機定位 */
@media (max-width: 767px) {
    .ysco-toast {
        top: 120px;
    }
}

/* 15. 訂單確認頁（order-received）/ 訂單檢視頁 */

/* 電腦版：800px 置中，比照結帳表單 */
.woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

/* 手機版：正常寬度 + padding */
@media (max-width: 767px) {
    .woocommerce-order {
        max-width: 100%;
        padding: 0 15px;
    }
}

