/* WMC Points Styles (migrated from inline_css) */

        /* Site colors: --crimson: #9b1b4b; --wine: #7a1038; --light: #fdf5f7 */

        /* ── Checkout widget ─────────────────────────────────────── */
        .wmc-checkout-points {
            border: 1.5px solid #e8b4c8;
            border-radius: 10px;
            overflow: hidden;
            margin: 20px 0 4px;
            background: #fff;
            box-shadow: 0 2px 10px rgba(155,27,75,.07);
        }
        .wmc-cp-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 11px 16px;
            background: #9b1b4b;
        }
        .wmc-cp-title {
            font-size: 13.5px;
            font-weight: 700;
            color: #fff;
            letter-spacing: .3px;
        }
        .wmc-cp-balance-pill {
            background: rgba(255,255,255,.2);
            color: #fff;
            font-size: 11.5px;
            font-weight: 700;
            padding: 3px 11px;
            border-radius: 20px;
            border: 1px solid rgba(255,255,255,.3);
        }
        .wmc-cp-body {
            padding: 12px 16px 14px;
        }
        .wmc-cp-empty {
            margin: 0;
            color: #9ca3af;
            font-size: 13px;
            padding: 4px 0;
        }

        /* ── Radio rows ──────────────────────────────────────────── */
        .wmc-cp-row {
            display: grid;
            grid-template-columns: 17px 1fr auto;
            grid-template-rows: auto auto;
            column-gap: 10px;
            align-items: center;
            padding: 9px 0;
            cursor: pointer;
            border-bottom: 1px solid #fce8ef;
        }
        .wmc-cp-row:last-of-type { border-bottom: none; }
        .wmc-cp-radio {
            grid-row: 1 / 3;
            width: 16px;
            height: 16px;
            accent-color: #9b1b4b;
            cursor: pointer;
            margin-top: 1px;
        }
        .wmc-cp-row-label {
            grid-column: 2; grid-row: 1;
            font-size: 13.5px; font-weight: 600; color: #1f2937;
        }
        .wmc-cp-row-desc {
            grid-column: 2; grid-row: 2;
            font-size: 12px; color: #9ca3af; margin-top: 1px;
        }
        .wmc-cp-row-desc strong { color: #9b1b4b; font-weight: 700; }
        .wmc-cp-row-badge {
            grid-column: 3; grid-row: 1 / 3;
            background: #fce8ef; color: #9b1b4b;
            font-size: 11px; font-weight: 700;
            padding: 3px 8px; border-radius: 5px;
            white-space: nowrap;
        }

        /* ── Custom input ────────────────────────────────────────── */
        .wmc-cp-custom-row {
            display: flex; align-items: center; gap: 8px;
            padding: 8px 0 2px 26px; flex-wrap: nowrap;
        }
        .wmc-cp-number-input {
            border: 1.5px solid #e8b4c8;
            border-radius: 7px;
            padding: 7px 11px;
            font-size: 14px; width: 100px; max-width: 100px;
            outline: none; transition: border-color .15s, box-shadow .15s;
            background: #fdf5f7; color: #1f2937;
            font-family: inherit;
        }
        .wmc-cp-number-input:focus {
            border-color: #9b1b4b;
            box-shadow: 0 0 0 3px rgba(155,27,75,.1);
            background: #fff;
        }
        .wmc-cp-input-unit { font-size: 13px; color: #6b7280; font-weight: 600; }
        .wmc-cp-input-eq   { font-size: 13px; color: #9b1b4b; font-weight: 700; white-space: nowrap; }

        /* ── Apply button ────────────────────────────────────────── */
        .wmc-cp-action-row { margin-top: 14px; }
        .wmc-cp-apply-btn {
            display: block !important;
            width: 100% !important;
            padding: 12px 0 !important;
            background: #9b1b4b !important;
            color: #fff !important;
            border: none !important;
            border-radius: 8px !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            cursor: pointer !important;
            letter-spacing: .5px !important;
            transition: background .15s, box-shadow .15s;
            font-family: inherit;
            text-align: center !important;
            line-height: 1.4 !important;
            box-shadow: none !important;
        }
        .wmc-cp-apply-btn:hover {
            background: #7a1038 !important;
            box-shadow: 0 4px 14px rgba(155,27,75,.3) !important;
            color: #fff !important;
        }

        /* ── Applied state ───────────────────────────────────────── */
        .wmc-cp-applied-inner {
            display: flex; align-items: center; gap: 12px;
            background: #ecfdf5; border: 1.5px solid #86efac;
            border-radius: 9px; padding: 11px 14px;
        }
        .wmc-cp-applied-check {
            width: 24px; height: 24px; background: #22c55e;
            color: #fff; border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 13px; font-weight: 700; flex-shrink: 0;
        }
        .wmc-cp-applied-main { font-weight: 700; font-size: 14px; color: #15803d; }
        .wmc-cp-applied-sub  { font-size: 12px; color: #16a34a; margin-top: 2px; }
        .wmc-cp-cancel-btn {
            margin-left: auto !important;
            background: #fff !important;
            border: 1.5px solid #9b1b4b !important;
            border-radius: 6px !important;
            padding: 8px 18px !important;
            cursor: pointer !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            color: #9b1b4b !important;
            font-family: inherit !important;
            line-height: 1 !important;
            box-shadow: none !important;
            display: inline-block !important;
            width: auto !important;
            transition: all .15s;
        }
        .wmc-cp-cancel-btn:hover {
            background: #9b1b4b !important;
            color: #fff !important;
        }

        /* ── Earn note ───────────────────────────────────────────── */
        .wmc-cp-earn-note {
            margin: 11px 0 0;
            font-size: 12.5px; color: #7a1038;
            background: #fdf5f7;
            border-radius: 6px; padding: 7px 12px;
            border-left: 3px solid #e8b4c8;
        }
        .wmc-cp-earn-note strong { font-weight: 700; color: #9b1b4b; }

        /* ── Message ─────────────────────────────────────────────── */
        #wmc-redeem-msg { margin-top: 8px; font-size: 13px; display: none; }
        #wmc-redeem-msg.error   { color: #dc2626; display: block; }
        #wmc-redeem-msg.success { color: #059669; display: block; }

        /* ── Order table earn preview ────────────────────────────── */
        .wmc-earn-preview th, .wmc-earn-preview td { color: #9b1b4b !important; font-weight: 600; }

        /* ── Point fee row in order review ──────────────────────── */
        .cart-discount td, .fee td,
        tr.fee td.product-total,
        .woocommerce-checkout-review-order-table .fee td { color: #1f2937 !important; }
        .woocommerce-checkout-review-order-table .fee td strong { color: #9b1b4b !important; }

        /* ── Cart message (guest) ────────────────────────────────── */
        .wmc-cart-points-msg {
            background: #fdf5f7;
            border: 1.5px solid #e8b4c8;
            border-radius: 10px;
            padding: 16px 22px;
            margin-bottom: 20px;
            font-size: 13.5px;
            color: #374151;
            text-align: center;
        }
        .wmc-cart-points-msg p { margin: 0 0 6px; line-height: 1.7; }
        .wmc-cart-points-msg p:last-child { margin-bottom: 0; color: #6b7280; font-size: 13px; }
        .wmc-cart-points-msg strong { color: #9b1b4b; font-weight: 700; }

        /* ── Thank you page ──────────────────────────────────────── */
        .wmc-thankyou-points {
            border: 1.5px solid #e8b4c8;
            border-radius: 10px; overflow: hidden; margin: 24px 0;
            box-shadow: 0 2px 10px rgba(155,27,75,.07);
        }
        .wmc-ty-header {
            padding: 11px 18px; background: #9b1b4b;
            font-weight: 700; font-size: 14px; color: #fff; letter-spacing: .2px;
        }
        .wmc-ty-rows { padding: 4px 0; }
        .wmc-ty-row {
            display: flex; align-items: flex-start;
            justify-content: space-between;
            padding: 11px 18px; border-bottom: 1px solid #fce8ef; font-size: 13.5px;
        }
        .wmc-ty-row:last-child { border-bottom: none; }
        .wmc-ty-row-total { background: #fdf5f7; }
        .wmc-ty-label { color: #374151; line-height: 1.4; }
        .wmc-ty-note  { display: block; font-size: 11px; color: #e8b4c8; margin-top: 3px; }
        .wmc-ty-val   { font-weight: 700; color: #1f2937; white-space: nowrap; margin-left: 16px; }
        .wmc-ty-plus  { color: #9b1b4b; }
        .wmc-ty-minus { color: #dc2626; }

        /* ── My account ──────────────────────────────────────────── */
        .wmc-account-points .wmc-points-summary { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
        .wmc-points-balance {
            background: #9b1b4b; color: #fff;
            border-radius: 12px; padding: 22px 28px; text-align: center; min-width: 180px;
        }
        .wmc-points-label { display: block; font-size: 12px; opacity: .85; margin-bottom: 6px; }
        .wmc-points-value { display: block; font-size: 38px; font-weight: 800; line-height: 1; }
        .wmc-points-value small { font-size: 16px; font-weight: 500; }
        .wmc-points-yen   { display: block; font-size: 12px; opacity: .8; margin-top: 4px; }
        .wmc-points-rules { background: #fdf5f7; border-radius: 10px; padding: 14px 18px; flex: 1; font-size: 13px; }
        .wmc-points-rules h4 { margin: 0 0 8px; font-size: 13.5px; color: #374151; }
        .wmc-points-rules ul { margin: 0; padding-left: 18px; }
        .wmc-points-rules li { color: #6b7280; margin-bottom: 5px; }
        .wmc-history-table th, .wmc-history-table td { padding: 10px 12px; font-size: 13px; }
        .wmc-pt-earn  { color: #059669; font-weight: 700; }
        .wmc-pt-use   { color: #dc2626; font-weight: 700; }


/* ── Checkout shipping notice ───────────────────────────────────────────────── */
.wmc-checkout-shipping-notice-row {
    display: block;
    width: 100%;
}
.wmc-checkout-shipping-notice-row td {
    display: block !important;
    width: 100% !important;
    padding: 0 0 14px !important;
    border: none !important;
    box-sizing: border-box;
}
.wmc-checkout-shipping-notice {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fcd34d;
    border-left: 5px solid #f59e0b;
    border-radius: 6px;
    padding: 14px 20px;
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: #78350f;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
}
