/* Asukayama Works checkout: required/optional labels, smartphone form sizes. */
#wc_customer .aw-checkout-required, #wc_delivery .aw-checkout-required,
#wc_customer .aw-checkout-optional, #wc_delivery .aw-checkout-optional {
    display:inline-block; vertical-align:middle; margin-left:7px;
    padding:1px 6px; border-radius:2px; font-size:11px; line-height:1.5;
    font-style:normal; font-weight:500; white-space:nowrap;
}
#wc_customer .aw-checkout-required, #wc_delivery .aw-checkout-required {color:#9e3936;background:#fff0ef;}
#wc_customer .aw-checkout-optional, #wc_delivery .aw-checkout-optional {color:#62686a;background:#f0f1f1;}
#wc_customer #customer-info tr.aw-checkout-password-hidden {display:none !important;}
#wc_customer .aw-checkout-signup-toggle-row th,
#wc_customer .aw-checkout-signup-toggle-row td {vertical-align:middle;}
#wc_customer .aw-checkout-signup-button {
    min-height:40px; padding:8px 14px; border:1px solid #adb9b7;
    border-radius:3px; color:#343d3d; background:#fff; font-size:13px;cursor:pointer;
}
#wc_customer .aw-checkout-signup-button:not(:disabled):hover {background:#f5f7f6;}
#wc_customer .aw-checkout-signup-button:focus-visible {outline:2px solid #557875;outline-offset:2px;}
#wc_customer .aw-checkout-signup-button:disabled {cursor:default;opacity:.8;}
#wc_customer .aw-checkout-signup-help {display:block;margin-top:4px;font-size:12px;color:#646b6c;}
#wc_customer #customer-info .customer_form input:focus-visible,
#wc_customer #customer-info .customer_form select:focus-visible,
#wc_delivery #delivery-info .customer_form input:focus-visible,
#wc_delivery #delivery-info .customer_form select:focus-visible {outline:2px solid #557875;outline-offset:2px;}
@media screen and (max-width:767.98px) {
    #wc_customer #customer-info form[name="customer_form"] table.customer_form,
    #wc_delivery #delivery-info table.customer_form {width:100%;max-width:100%;border-collapse:collapse;}
    #wc_customer #customer-info form[name="customer_form"] table.customer_form tr,
    #wc_delivery #delivery-info table.customer_form tr {
        display:block;box-sizing:border-box;padding:10px 0 12px;border-bottom:1px solid #e8ebeb;
    }
    #wc_customer #customer-info form[name="customer_form"] table.customer_form tr > th,
    #wc_customer #customer-info form[name="customer_form"] table.customer_form tr > td,
    #wc_delivery #delivery-info table.customer_form tr > th,
    #wc_delivery #delivery-info table.customer_form tr > td {
        display:block;box-sizing:border-box;width:100% !important;max-width:100%;
        height:auto;border:none;padding:0;
    }
    #wc_customer #customer-info form[name="customer_form"] table.customer_form tr > th,
    #wc_delivery #delivery-info table.customer_form tr > th {
        margin:0 0 6px;background:transparent;font-size:13px;font-weight:600;line-height:1.5;
    }
    #wc_customer #customer-info form[name="customer_form"] table.customer_form tr > td + td {margin-top:8px;}
    #wc_customer #customer-info .customer_form input[type="text"],
    #wc_customer #customer-info .customer_form input[type="email"],
    #wc_customer #customer-info .customer_form input[type="password"],
    #wc_customer #customer-info .customer_form select,
    #wc_delivery #delivery-info .customer_form input[type="text"],
    #wc_delivery #delivery-info .customer_form input[type="email"],
    #wc_delivery #delivery-info .customer_form select,
    #wc_delivery #delivery-info .customer_form textarea {
        box-sizing:border-box;width:100% !important;max-width:100% !important;
        min-height:44px;padding:10px 11px;font-size:16px;
    }
    #wc_delivery #delivery-info .customer_form textarea {min-height:100px;}
    #wc_delivery #delivery-info #delivery_flag label {display:inline;line-height:1.7;}
    #wc_delivery #delivery-info #delivery_flag input[type="radio"] {margin-right:8px;}
    #wc_customer .aw-checkout-signup-button {min-height:44px;}
    #wc_customer #customer-info .send input[type="submit"],
    #wc_delivery #delivery-info .send input[type="submit"] {min-height:44px;}
}


/* AW CHECKOUT LOGIN AND SIGNUP FLOW V2 (2026-11-10) */
#wc_customer #customer-info form[name="customer_loginform"].aw-checkout-login-closed {
    display: none !important;
}
#wc_customer #customer-info .aw-checkout-login-heading {
    margin-bottom: 12px;
}
#wc_customer #customer-info .aw-checkout-login-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin: 0;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
}
#wc_customer #customer-info .aw-checkout-login-toggle::after {
    content: "" !important;
    display: block !important;
    box-sizing: border-box;
    flex: 0 0 13px;
    width: 13px !important;
    height: 13px !important;
    margin: -6px 3px 0 8px;
    border: 0 !important;
    border-right: 2.5px solid currentColor !important;
    border-bottom: 2.5px solid currentColor !important;
    font-size: 0;
    transform: rotate(45deg);
    transition: transform .15s ease;
}
#wc_customer #customer-info .aw-checkout-login-toggle[aria-expanded="true"]::after {
    transform: translateY(6px) rotate(225deg);
}
#wc_customer #customer-info .aw-checkout-login-heading::after {
    content: none !important;
}
#wc_customer #customer-info .aw-checkout-login-toggle:focus-visible {
    outline: 2px solid #557875;
    outline-offset: 4px;
}
#wc_customer #customer-info form[name="customer_form"] .send input.aw-checkout-flow-hidden {
    display: none !important;
}
#wc_customer #customer-info .aw-checkout-signup-button {
    font-weight: 500;
}
#wc_customer #customer-info .aw-checkout-signup-button[aria-expanded="true"] {
    background: #f2f5f3;
}
@media screen and (max-width: 767.98px) {
    #wc_customer #customer-info .aw-checkout-login-toggle {
        width: 100%;
        justify-content: space-between;
    }
}
/* END AW CHECKOUT LOGIN AND SIGNUP FLOW V2 */


/* AW CHECKOUT EXCLUSIVE LOGIN PANELS V3 (2026-11-10)
 * Guest checkout remains fully in DOM; values and validation are untouched.
 */
#wc_customer #customer-info .aw-checkout-nonmember-heading::after {
    content: none !important;
}
#wc_customer #customer-info.aw-checkout-login-active .aw-checkout-nonmember-heading,
#wc_customer #customer-info.aw-checkout-login-active form[name="customer_form"] {
    display: none !important;
}
/* END AW CHECKOUT EXCLUSIVE LOGIN PANELS V3 */


/* AW CHECKOUT TWO TABS V4 (2026-11-10)
 * Original Welcart guest and member forms remain in place.
 * Desktop and mobile: select one checkout route; retain form values on switching.
 */
#wc_customer #customer-info .aw-checkout-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    box-sizing: border-box;
    width: 100%;
    margin: 25px 0 18px;
    border-bottom: 1px solid #d4dadd;
}
#wc_customer #customer-info .aw-checkout-tab {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 11px 12px;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 4px 4px 0 0;
    background: #f2f4f4;
    color: #555e61;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}
#wc_customer #customer-info .aw-checkout-tab[aria-selected="true"] {
    background: #fff;
    color: #303b40;
    font-weight: 700;
    border-bottom-color: #6fb8dc;
}
#wc_customer #customer-info .aw-checkout-tab:not([aria-selected="true"]):hover {
    background: #e8eeee;
}
#wc_customer #customer-info .aw-checkout-tab:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #527986;
    outline-offset: -2px;
}
#wc_customer #customer-info.aw-checkout-tabs-ready .aw-checkout-source-heading {
    display: none !important;
}
#wc_customer #customer-info.aw-checkout-tabs-ready.aw-checkout-tab-guest form[name="customer_loginform"],
#wc_customer #customer-info.aw-checkout-tabs-ready.aw-checkout-tab-member form[name="customer_form"] {
    display: none !important;
}
@media screen and (max-width: 767.98px) {
    #wc_customer #customer-info .aw-checkout-tabs {
        gap: 3px;
        margin-top: 18px;
        margin-bottom: 16px;
    }
    #wc_customer #customer-info .aw-checkout-tab {
        min-height: 48px;
        padding: 10px 6px;
        font-size: 14px;
    }
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form,
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form tbody {
        display: block;
        width: 100%;
    }
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form tr {
        display: block;
        padding: 10px 0 12px;
        border-bottom: 1px solid #e8ebeb;
    }
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form th,
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form td {
        display: block;
        box-sizing: border-box;
        width: 100% !important;
        padding: 0;
        border: 0;
    }
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form th {
        margin-bottom: 6px;
        font-size: 13px;
        font-weight: 600;
    }
    #wc_customer #customer-info form[name="customer_loginform"] table.customer_form input {
        box-sizing: border-box;
        width: 100%;
        min-height: 44px;
        padding: 10px 11px;
        font-size: 16px;
    }
}
/* END AW CHECKOUT TWO TABS V4 */


/* AW CHECKOUT SERVER FIRST PAINT V5 (2026-11-10) */
/* Without JS: show the original two forms, hide nonworking tab buttons. */
#wc_customer #customer-info .aw-checkout-tabs {
    display: none;
}
/* The server renders tabs before both forms, then enables this class synchronously. */
html.aw-checkout-js #wc_customer #customer-info .aw-checkout-tabs {
    display: grid;
}
html.aw-checkout-js #wc_customer #customer-info > h2 {
    display: none !important;
}
html.aw-checkout-js #wc_customer #customer-info form[name="customer_loginform"] {
    display: none !important;
}
html.aw-checkout-js.aw-checkout-member #wc_customer #customer-info form[name="customer_loginform"] {
    display: block !important;
}
html.aw-checkout-js.aw-checkout-member #wc_customer #customer-info form[name="customer_form"] {
    display: none !important;
}
/* END AW CHECKOUT SERVER FIRST PAINT V5 */


/* AW MOBILE CUSTOMER NAME GRID V6 (2026-11-11) */
/* Welcart renders the surname/given-name as two separate td.name_td cells.
 * Keep both fields within the available viewport, including their labels.
 */
@media screen and (max-width: 767.98px) {
  #wc_customer #customer-info form[name="customer_form"] table.customer_form tr#name_row,
  #wc_delivery #delivery-info table#delivery_table tr#name_row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }
  #wc_customer #customer-info form[name="customer_form"] table.customer_form tr#name_row > th,
  #wc_delivery #delivery-info table#delivery_table tr#name_row > th {
    grid-column: 1 / -1;
  }
  #wc_customer #customer-info form[name="customer_form"] table.customer_form tr#name_row > td,
  #wc_delivery #delivery-info table#delivery_table tr#name_row > td {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #wc_customer #customer-info form[name="customer_form"] table.customer_form tr#name_row > td .member_name,
  #wc_delivery #delivery-info table#delivery_table tr#name_row > td .member_name {
    display: block;
    margin-bottom: 5px;
    line-height: 1.4;
  }
  #wc_customer #customer-info form[name="customer_form"] table.customer_form tr#name_row input[type="text"],
  #wc_delivery #delivery-info table#delivery_table tr#name_row input[type="text"] {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}
/* END AW MOBILE CUSTOMER NAME GRID V6 */


/* AW DELIVERY STEP LAYOUT V7 (2026-11-11)
 * Keep privacy notice and layout; the 3D Secure notice appears at the payment method.
 * Only update the additional shipping hint and notes form sizing.
 */
#wc_delivery #delivery-info .aw-checkout-shipping-hint {
    margin: 8px 0 0;
    max-width: 45em;
    color: #56666a;
    font-size: 12px;
    line-height: 1.6;
}
#wc_delivery #delivery-info #delivery_flag label {
    cursor: pointer;
}
#wc_delivery #delivery-info #notes_table textarea {
    box-sizing: border-box;
    max-width: 100%;
    resize: vertical;
}
@media screen and (max-width: 767.98px) {
    #wc_delivery #delivery-info #notes_table textarea {
        height: 112px !important;
        min-height: 112px !important;
    }
}
/* END AW DELIVERY STEP LAYOUT V7 */


/* AW CONFIRMATION DISPLAY V8 (2026-11-11) */
/* A blank optional field should not take up space in an order review. */
@supports selector(tr:has(> td:empty)) {
    #wc_confirm #confirm_table tr:not(.ttl):has(> td:empty) {
        display: none;
    }
}
/* Emphasize the actual order total, without restyling security/privacy notices. */
#wc_confirm #cart_table tfoot tr:last-child .amount {
    font-weight: 700;
}
#wc_confirm #confirm_table tr.aw-confirm-same-address th,
#wc_confirm #confirm_table tr.aw-confirm-same-address td {
    padding-top: 12px;
    padding-bottom: 16px;
}
@media screen and (max-width: 767.98px) {
    #wc_confirm #cart_table tfoot tr:last-child .amount {
        font-size: 1.1rem;
    }
}
/* END AW CONFIRMATION DISPLAY V8 */


/* AW LIVE ORDER TOTAL PREVIEW V1 (2026-11-11) */
#wc_delivery #delivery-info .aw-checkout-total {
    box-sizing:border-box; max-width:100%; margin:24px 0 20px; padding:23px 25px 18px;
    border:1px solid #dce3e2; border-radius:4px; background:#fbfcfb;
}
#wc_delivery #delivery-info .aw-checkout-total h3 {
    margin:0 0 15px; padding:0 0 10px; font-size:19px; line-height:1.5;
    border-bottom:1px solid #dce3e2; color:#303c3e;
}
#wc_delivery #delivery-info .aw-checkout-total-row,
#wc_delivery #delivery-info .aw-checkout-total-grand {
    display:flex; justify-content:space-between; align-items:baseline;
    gap:16px; margin:0; padding:6px 0; line-height:1.6;
}
#wc_delivery #delivery-info .aw-checkout-total-row[hidden] {display:none!important;}
#wc_delivery #delivery-info .aw-checkout-total-row span,
#wc_delivery #delivery-info .aw-checkout-total-grand span {flex:1; min-width:0;}
#wc_delivery #delivery-info .aw-checkout-total-row strong,
#wc_delivery #delivery-info .aw-checkout-total-grand strong {
    text-align:right; white-space:nowrap; font-weight:500; font-variant-numeric:tabular-nums;
}
#wc_delivery #delivery-info .aw-checkout-total-grand {
    margin-top:12px; padding-top:16px; border-top:1px solid #c9d3d1; font-weight:700;
}
#wc_delivery #delivery-info .aw-checkout-total-grand strong {
    font-size:24px; font-weight:700; color:#263b3c;
}
#wc_delivery #delivery-info .aw-checkout-total-status {
    margin:12px 0 0; color:#4d6366; font-size:12px; line-height:1.6;
}
#wc_delivery #delivery-info .aw-checkout-total-note {
    margin:7px 0 0; color:#687376; font-size:12px; line-height:1.65;
}
@media screen and (max-width:767.98px){
    #wc_delivery #delivery-info .aw-checkout-total {margin:20px 0 17px;padding:18px 16px 15px;}
    #wc_delivery #delivery-info .aw-checkout-total h3 {font-size:17px;}
    #wc_delivery #delivery-info .aw-checkout-total-grand strong {font-size:21px;}
}
/* END AW LIVE ORDER TOTAL PREVIEW V1 */


/* AW CHECKOUT DESKTOP TWO-COLUMN LAYOUT + APPLY COUPON V2 (2026-11-11)
   Form contents are grouped client-side. With JS disabled the original Welcart form remains unchanged.
*/
#wc_delivery #delivery-info .aw-checkout-fields {
    box-sizing:border-box; min-width:0; width:100%;
}
#wc_delivery #delivery-info .aw-checkout-coupon-control {
    display:flex; align-items:stretch; box-sizing:border-box; width:100%; max-width:100%;
    gap:8px;
}
#wc_delivery #delivery-info .aw-checkout-coupon-control input.aw-checkout-coupon-input {
    flex:1 1 auto; box-sizing:border-box!important; width:1px!important;
    min-width:0!important; max-width:100%!important; min-height:42px;
    margin:0!important; font-size:16px;
}
#wc_delivery #delivery-info .aw-checkout-coupon-apply {
    flex:0 0 auto; box-sizing:border-box; min-width:78px; min-height:42px;
    padding:8px 13px; border:1px solid #809795; border-radius:3px;
    color:#2c4546; background:#fff; font:inherit; font-size:13px; font-weight:600;
    cursor:pointer; white-space:nowrap;
}
#wc_delivery #delivery-info .aw-checkout-coupon-apply:hover {background:#f0f5f3;}
#wc_delivery #delivery-info .aw-checkout-coupon-apply:focus-visible {
    outline:2px solid #527986; outline-offset:2px;
}
#wc_delivery #delivery-info .aw-checkout-coupon-status {
    min-height:1.4em; margin:6px 0 0; color:#59666a;
    font-size:12px; line-height:1.5;
}
#wc_delivery #delivery-info .aw-checkout-coupon-status.aw-checkout-coupon-success {
    color:#29684a; font-weight:600;
}
@media screen and (min-width:1024px) {
    #wc_delivery #delivery-info form.aw-checkout-columns {
        display:grid; box-sizing:border-box; width:100%;
        grid-template-columns:minmax(0, 1.28fr) minmax(290px, 1fr);
        column-gap:24px; row-gap:16px; align-items:start;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns > .aw-checkout-fields {
        grid-column:1; grid-row:1;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns > .aw-checkout-total {
        grid-column:2; grid-row:1; align-self:start;
        position:sticky; top:112px; margin:0;
        padding:20px 19px 17px;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns > .send {
        grid-column:1 / -1; grid-row:2;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form {
        box-sizing:border-box; width:100%!important; max-width:100%; min-width:0;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form td,
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form th {
        box-sizing:border-box;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form input,
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form select,
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-fields table.customer_form textarea {
        max-width:100%;
    }
    /* Coupon row follows the same two-column table layout as payment and notes. */
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order {
        box-sizing:border-box;
        width:100%!important;
        max-width:100%;
        table-layout:fixed;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon {
        display:table-row;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon > th {
        display:table-cell;
        width:25%!important;
        min-width:0!important;
        box-sizing:border-box;
        white-space:normal;
        padding-right:4px!important;
        overflow-wrap:anywhere;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon > td {
        display:table-cell;
        width:75%;
        box-sizing:border-box;
        min-width:0!important;
        max-width:100%;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon .aw-checkout-coupon-control {
        display:grid;
        grid-template-columns:minmax(0,1fr) 78px;
        box-sizing:border-box;
        width:100%!important;
        min-width:0!important;
        max-width:210px!important;
        gap:8px;
        align-items:stretch;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon .aw-checkout-coupon-control input.aw-checkout-coupon-input {
        display:block;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns #custom_order tr.customkey_awcoupon th .aw-checkout-optional {
        display:block; width:max-content; margin:5px 0 0;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns .aw-checkout-total-grand strong {
        font-size:22px;
    }
}
@media screen and (max-width:1023.98px){
    /* Restore the original stacked form and order-total layout below desktop. */
    #wc_delivery #delivery-info form.aw-checkout-columns {
        display:block; width:100%;
    }
    #wc_delivery #delivery-info form.aw-checkout-columns > .aw-checkout-total {
        position:static; margin:22px 0 18px;
    }
}
/* AW MOBILE CHECKOUT TWO-ACTION NAV V2 (2026-11-11)
   All four checkout steps: left = return/continue shopping, right = proceed/purchase.
   Preserve the actual Welcart button elements, names and handlers.
   Explicit grid placement plus zero line-height neutralizes native &nbsp; spacers.
*/
@media screen and (max-width:767.98px){
    #wc_cart .send,
    #wc_customer #customer-info form[name="customer_form"] .send,
    #wc_delivery #delivery-info form.aw-checkout-columns > .send,
    #wc_confirm #info-confirm .send {
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:12px;
        row-gap:0;
        align-items:stretch;
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        min-width:0;
        font-size:0;
        line-height:0;
    }
    #wc_cart .send > input[name="previous"],
    #wc_cart .send > input[name="customerinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="backCustomer"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="confirm"],
    #wc_confirm #info-confirm .send > input[name="backDelivery"],
    #wc_confirm #info-confirm .send > input[name="purchase"] {
        box-sizing:border-box!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        min-height:48px;
        height:auto!important;
        margin:0!important;
        padding:11px 4px!important;
        float:none!important;
        clear:none!important;
        grid-row:1;
        text-align:center;
        font-size:clamp(11px,3.6vw,14px)!important;
        line-height:1.4!important;
        white-space:normal;
    }
    #wc_cart .send > input[name="previous"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="backCustomer"],
    #wc_confirm #info-confirm .send > input[name="backDelivery"] {
        grid-column:1;
    }
    #wc_cart .send > input[name="customerinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="confirm"],
    #wc_confirm #info-confirm .send > input[name="purchase"] {
        grid-column:2;
    }
}

@media screen and (max-width:359.98px) {
    /* Input/button labels do not line-wrap: fit long confirmation wording in 133px. */
    #wc_cart .send > input[name="previous"],
    #wc_cart .send > input[name="customerinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[type="submit"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[type="submit"],
    #wc_confirm #info-confirm .send > input[type="submit"] {
        font-size:10.5px!important;
        letter-spacing:-.015em;
        -webkit-text-size-adjust:100%;
        text-size-adjust:100%;
    }
}
/* END AW MOBILE CHECKOUT TWO-ACTION NAV V2 */

/* AW DESKTOP CHECKOUT ACTION ALIGNMENT V1 (2026-11-11)
   Back on the left and proceed/purchase at the right edge on every step.
   Mobile two-column grid rules above remain unchanged.
*/
@media screen and (min-width:768px) {
    #wc_cart .send,
    #wc_customer #customer-info form[name="customer_form"] .send,
    #wc_delivery #delivery-info form.aw-checkout-columns > .send,
    #wc_confirm #info-confirm .send {
        display:flex!important;
        justify-content:space-between!important;
        align-items:center;
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        min-width:0;
    }
    #wc_cart .send > input[name="previous"],
    #wc_cart .send > input[name="customerinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="backCustomer"],
    #wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="confirm"],
    #wc_confirm #info-confirm .send > input[name="backDelivery"],
    #wc_confirm #info-confirm .send > input[name="purchase"] {
        margin-left:0!important;
        margin-right:0!important;
        float:none!important;
        text-align:center;
    }
    #wc_confirm #info-confirm .send > input[name="backDelivery"] {
        position:static!important;
        left:auto!important;
        right:auto!important;
        top:auto!important;
        bottom:auto!important;
    }
}
/* END AW DESKTOP CHECKOUT ACTION ALIGNMENT V1 */

/* AW CUSTOMER PC ACTION WIDTH STABILITY V1 (2026-11-11)
   Original theme breakpoints enlarge both guest action buttons differently.
   Preserve their left/right positions and equal height, but cap at the same
   widths seen in the wide PC checkout. Mobile 2-column grid stays untouched.
*/
@media screen and (min-width:768px) {
    #wc_customer #customer-info form[name="customer_form"] .send {
        display:flex!important;
        justify-content:space-between!important;
        align-items:stretch!important;
        flex-wrap:nowrap!important;
        gap:12px;
        width:100%!important;
        max-width:100%;
        box-sizing:border-box;
    }
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"] {
        flex:0 1 195px!important;
        width:195px!important;
        max-width:45%!important;
        min-width:0!important;
        margin:0!important;
        float:none!important;
    }
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"] {
        flex:0 1 354px!important;
        width:354px!important;
        max-width:52%!important;
        min-width:0!important;
        margin:0!important;
        float:none!important;
    }
}
/* END AW CUSTOMER PC ACTION WIDTH STABILITY V1 */

/* AW CHECKOUT CURRENCY AND PC MEMBER ACTION V1 (2026-11-11)
   Remove redundant currency caption only; keep every monetary amount and
   payment currency unmodified. Restore consistent customer login button
   alignment in member tab without affecting guest or mobile layouts.
*/
#wc_cart .currency_code,
#wc_customer .currency_code,
#wc_delivery .currency_code,
#wc_confirm .currency_code {
    display:none!important;
}
@media screen and (min-width:768px) {
    #wc_customer #customer-info form[name="customer_loginform"] .send {
        display:flex!important;
        justify-content:flex-end!important;
        box-sizing:border-box;
        width:100%!important;
        max-width:100%;
    }
    #wc_customer #customer-info form[name="customer_loginform"] .send > input[name="customerlogin"] {
        position:static!important;
        float:none!important;
        flex:0 1 354px!important;
        width:354px!important;
        max-width:100%!important;
        min-width:0!important;
        margin:0!important;
        box-sizing:border-box;
        background:#424242!important;
        color:#fff!important;
        border:1px solid #424242!important;
        border-radius:0!important;
        font-weight:700!important;
    }
}
/* END AW CHECKOUT CURRENCY AND PC MEMBER ACTION V1 */

/* AW CUSTOMER 320PX NAV LABEL SAFETY V1 (2026-11-11)
   Keep the buyer action labels readable at the narrowest tested width.
   Previous intermittent 320px failure came from a wider inherited font rule.
*/
@media screen and (max-width:359.98px) {
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"] {
        font-size:10.5px!important;
        letter-spacing:-.015em!important;
        padding-left:3px!important;
        padding-right:3px!important;
        box-sizing:border-box!important;
        min-width:0!important;
    }
}
/* END AW CUSTOMER 320PX NAV LABEL SAFETY V1 */



@media screen and (max-width:767.98px){
    #wc_delivery #delivery-info .aw-checkout-coupon-control input.aw-checkout-coupon-input {
        width:1px!important; min-width:0!important; max-width:100%!important;
    }
    #wc_delivery #delivery-info .aw-checkout-coupon-apply {
        min-width:82px; min-height:44px; padding:9px 12px;
    }
}
/* END AW CHECKOUT DESKTOP TWO-COLUMN LAYOUT + APPLY COUPON V2 */





/* AW BANK PAYMENT NOTICE TYPOGRAPHY V1 (2026-11-11)
   Match the short delivery/shipping help text, not the payment radio label.
*/
#wc_delivery #delivery-info .aw-checkout-bank-note {
    font-size:12px;
    line-height:1.6;
    color:#56666a;
}
/* END AW BANK PAYMENT NOTICE TYPOGRAPHY V1 */

/* AW CARD 3DS NOTE V1 (2026-11-11) */
#wc_delivery #delivery-info .aw-checkout-3ds-note {
    margin: 4px 0 0;
    color: #56666a;
    font-size: 12px;
    line-height: 1.6;
}
/* END AW CARD 3DS NOTE V1 */

/* AW CARD BRAND LOGOS V1 (2026-11-11) */
#wc_delivery #delivery-info .aw-checkout-card-brands {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    column-gap:6px;
    row-gap:5px;
    max-width:100%;
    margin:0 0 7px;
}
#wc_delivery #delivery-info .aw-checkout-card-brands img {
    display:block;
    width:38px;
    height:24px;
    object-fit:contain;
    flex:0 0 38px;
}
#wc_delivery #delivery-info .aw-checkout-card-brands + .aw-checkout-3ds-note {
    margin:0;
}
/* END AW CARD BRAND LOGOS V1 */



/* AW COUPON TABLET WIDTH CAP V1 (2026-11-11)
   Keep the coupon control compact even when the two-column checkout collapses.
*/
@media screen and (min-width:768px) {
    #wc_delivery #delivery-info #custom_order tr.customkey_awcoupon .aw-checkout-coupon-control {
        width:100%!important;
        max-width:210px!important;
    }
}
/* END AW COUPON TABLET WIDTH CAP V1 */

/* AW RADIO CHOICES INLINE V1 (2026-11-11)
   Keep Welcart's shipping-method SELECT unchanged.
   Preserve both groups' real radio inputs and the bank transfer explanation.
*/
#wc_delivery #delivery-info table#delivery_flag.aw-delivery-radios-inline .aw-delivery-choice-list {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    column-gap:22px;
    row-gap:10px;
    width:100%;
    min-width:0;
    box-sizing:border-box;
}
#wc_delivery #delivery-info table#delivery_flag.aw-delivery-radios-inline .aw-delivery-choice {
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:5px;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}
#wc_delivery #delivery-info table#delivery_flag.aw-delivery-radios-inline .aw-delivery-choice input[type="radio"] {
    flex:0 0 auto;
    margin:0 3px 0 0;
}
#wc_delivery #delivery-info table#delivery_flag.aw-delivery-radios-inline .aw-delivery-choice label {
    display:inline;
    margin:0;
    white-space:normal;
}
#wc_delivery #delivery-info #time tr:last-child > td > dl {
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:0;
    margin:0;
    min-width:0;
}
#wc_delivery #delivery-info #time tr:last-child > td > dl > dt {
    order:0;
    flex:none;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    margin:0;
    padding:0;
}
#wc_delivery #delivery-info #time tr:last-child > td > dl > dt:not(:first-child) {
    margin-top:14px;
}
#wc_delivery #delivery-info #time tr:last-child > td > dl > dd {
    order:0;
    flex:none;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    margin:3px 0 0;
    padding:0 0 0 25px;
}
@media screen and (max-width:767.98px) {
    #wc_delivery #delivery-info table#delivery_flag.aw-delivery-radios-inline .aw-delivery-choice-list {
        column-gap:8px;
        row-gap:12px;
    }
    #wc_delivery #delivery-info #time tr:last-child > td > dl {
        column-gap:0;
        row-gap:0;
    }
}
/* END AW RADIO CHOICES INLINE V1 */


/* AW CHECKOUT CART FIRST PAINT V1 (2026-11-11)
   Hide only the cart component until its display-only JS text updates have
   completed. The existing head script removes this guard on load or timeout
   if anything prevents the footer script from completing.
*/
html.aw-checkout-cart-preparing #wc_cart {
    visibility:hidden!important;
}
/* END AW CHECKOUT CART FIRST PAINT V1 */

/* AW CHECKOUT DELIVERY FIRST PAINT V1 (2026-11-11)
   Only hides the delivery form while its footer script rearranges Welcart markup.
   With JavaScript disabled, the preparing class is never added.
*/
html.aw-checkout-delivery-preparing #wc_delivery #delivery-info {
    visibility: hidden !important;
}
/* END AW CHECKOUT DELIVERY FIRST PAINT V1 */


/* AW CHECKOUT CONFIRM FIRST PAINT V9 (2026-11-11)
   Avoid a flash of the unmodified confirmation table while JS removes
   the unavailable delivery-date/time rows. JS disabled => default view.
*/
html.aw-checkout-confirm-preparing #wc_confirm #info-confirm {
    visibility: hidden !important;
}
/* END AW CHECKOUT CONFIRM FIRST PAINT V9 */


/* AW CONFIRMATION DESKTOP TWO-PANEL GRID V10 (2026-11-11)
   Two existing tbody groups in the same #confirm_table; the native
   single-column table remains the fallback for phones and narrow windows.
   Product/cart summary, checkout buttons, and monetary figures are untouched.
*/
@media screen and (min-width:1180px) {
    #wc_confirm #confirm_table.aw-confirm-two-panels {
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:30px;
        align-items:start;
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        border:0;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody {
        display:block;
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        min-width:0;
        margin:0;
    }
    /* A fixed label/value grid avoids theme table auto-sizing compressing
       the label to its text width when tbody is placed in a CSS grid. */
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) {
        display:grid;
        grid-template-columns:minmax(0,36%) minmax(0,64%);
        align-items:stretch;
        width:100%;
        box-sizing:border-box;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) > th,
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) > td {
        display:block;
        box-sizing:border-box;
        width:auto!important;
        max-width:100%;
        min-width:0;
        overflow-wrap:anywhere;
        text-align:left;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) > th {
        padding-right:14px;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr.ttl {
        display:block;
        width:100%;
        box-sizing:border-box;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr.ttl > td {
        display:block;
        box-sizing:border-box;
        width:100%!important;
        max-width:100%;
        padding-top:0;
    }
}
/* END AW CONFIRMATION DESKTOP TWO-PANEL GRID V10 */

/* AW CHECKOUT INVOICE DISCLOSURE V1 (2026-11-11) */
#wc_confirm #info-confirm .aw-checkout-invoice-notice {
    margin:20px 0 14px;
    padding:0;
    color:#59656a;
    font-size:12px;
    line-height:1.7;
    text-align:left;
}
#wc_confirm #info-confirm .aw-checkout-invoice-notice a {
    color:inherit;
    text-decoration:underline;
    text-underline-offset:2px;
}
/* END AW CHECKOUT INVOICE DISCLOSURE V1 */


/* AW CHECKOUT PRODUCT-DESIGN SYSTEM V1 (2026-11-11)
   Visual alignment with actual Asukayama Works product-detail page:
   BIZ UDPGothic, white canvas, charcoal #424242, square dark primary actions,
   outlined secondary actions, restrained strokes and maker-trust slate tones.
   Styles only: no form structure, Welcart calculations, submit names or handlers.
*/
#wc_cart, #wc_customer, #wc_delivery, #wc_confirm {
    --aw-checkout-ink: #424242;
    --aw-checkout-muted: #62676b;
    --aw-checkout-rule: #dedede;
    --aw-checkout-rule-light: #ebebeb;
    --aw-checkout-surface: #f7f8f8;
    --aw-checkout-slate: #edf1f3;
    --aw-checkout-link: #4d6c7b;
    color: var(--aw-checkout-ink);
    font-family: "BIZ UDPGothic", Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
}

/* The checkout progress line must look like part of the same storefront. */
#wc_cart .cart_navi li.current,
#wc_customer .cart_navi li.current,
#wc_delivery .cart_navi li.current,
#wc_confirm .cart_navi li.current {
    color: var(--aw-checkout-ink) !important;
    font-weight: 700;
}
#wc_cart .cart_navi li.current::before,
#wc_customer .cart_navi li.current::before,
#wc_delivery .cart_navi li.current::before,
#wc_confirm .cart_navi li.current::before {
    background-color: var(--aw-checkout-ink) !important;
    border-color: var(--aw-checkout-ink) !important;
    color: #fff !important;
}
#wc_cart .cart_navi li:not(.current)::before,
#wc_customer .cart_navi li:not(.current)::before,
#wc_delivery .cart_navi li:not(.current)::before,
#wc_confirm .cart_navi li:not(.current)::before {
    background-color: #8a8f91 !important;
    border-color: #8a8f91 !important;
    color: #fff !important;
}

/* The privacy-policy notice keeps its original site design. */
#wc_confirm .aw-checkout-invoice-notice a {
    color: var(--aw-checkout-link) !important;
    text-underline-offset: 3px;
}
#wc_confirm .confiem_notice {
    border-color: #dfe6e9 !important;
    background: var(--aw-checkout-slate) !important;
    color: #515a60 !important;
    font-size: 12px;
    line-height: 1.65;
}

/* Product details and prices: measured line height, restrained rules. */
#wc_cart #cart_table,
#wc_confirm #cart_table,
#wc_confirm #confirm_table {
    color: var(--aw-checkout-ink);
    font-size: 14px;
}
#wc_cart #cart_table thead th,
#wc_confirm #cart_table thead th {
    color: #51565a;
    font-weight: 600;
    border-bottom-color: var(--aw-checkout-rule) !important;
}
#wc_cart #cart_table tbody td,
#wc_confirm #cart_table tbody td {
    border-bottom-color: var(--aw-checkout-rule-light);
}
#wc_cart #cart_table td.productname,
#wc_confirm #cart_table td.productname {
    line-height: 1.75;
    color: var(--aw-checkout-ink);
}
#wc_cart #cart_table tfoot tr:last-child,
#wc_confirm #cart_table tfoot tr:last-child {
    border-top: 1px solid var(--aw-checkout-rule) !important;
}
#wc_cart #cart_table tfoot tr:last-child .amount,
#wc_confirm #cart_table tfoot tr:last-child .amount {
    font-weight: 700 !important;
    color: var(--aw-checkout-ink) !important;
    font-variant-numeric: tabular-nums;
}

/* Product-detail fields are white and have clear square borders. */
#wc_customer #customer-info input[type="text"],
#wc_customer #customer-info input[type="email"],
#wc_customer #customer-info input[type="password"],
#wc_customer #customer-info select,
#wc_delivery #delivery-info input[type="text"],
#wc_delivery #delivery-info input[type="email"],
#wc_delivery #delivery-info input[type="password"],
#wc_delivery #delivery-info select,
#wc_delivery #delivery-info textarea,
#wc_cart #cart_table input[type="number"],
#wc_cart #cart_table input[type="text"] {
    box-sizing: border-box;
    background-color: #fff !important;
    color: var(--aw-checkout-ink) !important;
    border: 1px solid #b7b7b7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#wc_customer #customer-info select,
#wc_delivery #delivery-info select {
    border: 2px solid var(--aw-checkout-ink) !important;
}
#wc_customer #customer-info input:disabled,
#wc_customer #customer-info select:disabled,
#wc_delivery #delivery-info input:disabled,
#wc_delivery #delivery-info select:disabled {
    background-color: #f2f2f2 !important;
    color: #717171 !important;
}
#wc_customer #customer-info input:focus-visible,
#wc_customer #customer-info select:focus-visible,
#wc_delivery #delivery-info input:focus-visible,
#wc_delivery #delivery-info select:focus-visible,
#wc_delivery #delivery-info textarea:focus-visible,
#wc_cart #cart_table input:focus-visible {
    outline: 2px solid #4d6c7b !important;
    outline-offset: 2px;
}
#wc_customer #customer-info table.customer_form th,
#wc_delivery #delivery-info table.customer_form th,
#wc_delivery #delivery-info #custom_order th,
#wc_delivery #delivery-info #notes_table th {
    color: var(--aw-checkout-ink);
    font-weight: 600;
}
#wc_customer #customer-info table.customer_form tr,
#wc_delivery #delivery-info table.customer_form tr {
    border-bottom-color: var(--aw-checkout-rule-light);
}

/* Guest/member selection: one quiet, square product-style tab system. */
#wc_customer #customer-info .aw-checkout-tabs {
    border-bottom-color: #bdbdbd;
    gap: 4px;
}
#wc_customer #customer-info .aw-checkout-tab {
    border-radius: 0 !important;
    background: #f4f4f4 !important;
    color: #666 !important;
    font-size: 14px;
    font-weight: 500;
}
#wc_customer #customer-info .aw-checkout-tab[aria-selected="true"] {
    background: #fff !important;
    color: var(--aw-checkout-ink) !important;
    border-bottom-color: var(--aw-checkout-ink) !important;
    font-weight: 700;
}
#wc_customer #customer-info .aw-checkout-tab:not([aria-selected="true"]):hover {
    background: #ebebeb !important;
}
#wc_customer #customer-info .aw-checkout-signup-button {
    border-color: var(--aw-checkout-ink) !important;
    border-radius: 0 !important;
    color: var(--aw-checkout-ink) !important;
    background: #fff !important;
    font-weight: 600;
}

/* Same balance as the pale maker-trust card on product pages. */
#wc_delivery #delivery-info .aw-checkout-total {
    border: 1px solid #dfe6e9 !important;
    border-radius: 2px !important;
    background: var(--aw-checkout-slate) !important;
    box-shadow: none !important;
}
#wc_delivery #delivery-info .aw-checkout-total h3 {
    border-bottom-color: #d5dce0;
    color: var(--aw-checkout-ink);
    font-size: 18px;
    font-weight: 600;
}
#wc_delivery #delivery-info .aw-checkout-total-grand {
    border-top-color: #cfd7da !important;
}
#wc_delivery #delivery-info .aw-checkout-total-grand strong {
    color: var(--aw-checkout-ink) !important;
}
#wc_delivery #delivery-info .aw-checkout-coupon-apply {
    background: #fff !important;
    border: 1px solid var(--aw-checkout-ink) !important;
    border-radius: 0 !important;
    color: var(--aw-checkout-ink) !important;
    font-weight: 600;
}
#wc_delivery #delivery-info .aw-checkout-coupon-apply:hover {
    background: #efefef !important;
}

/* Confirmation summary: matching section titles and neutral key/value rows. */
#wc_confirm #confirm_table tr.ttl h2,
#wc_confirm #confirm_table tr.ttl h3 {
    box-sizing: border-box;
    margin: 0 0 8px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--aw-checkout-rule);
    color: var(--aw-checkout-ink);
    background: transparent;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: .035em;
}
#wc_confirm #confirm_table tbody tr:not(.ttl) > th {
    color: #54585b;
    background: #f7f8f8 !important;
    font-weight: 600;
    border-bottom-color: var(--aw-checkout-rule-light);
}
#wc_confirm #confirm_table tbody tr:not(.ttl) > td {
    color: var(--aw-checkout-ink);
    background: #fff !important;
    border-bottom-color: var(--aw-checkout-rule-light);
}
#wc_confirm #info-confirm .aw-checkout-invoice-notice {
    padding-top: 13px;
    border-top: 1px solid var(--aw-checkout-rule-light);
    color: var(--aw-checkout-muted);
}

/* One visual language for every backward/forward pair. Do not alter flow. */
#wc_cart .send > input[name="previous"],
#wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
#wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="backCustomer"],
#wc_confirm #info-confirm .send > input[name="backDelivery"] {
    background: #fff !important;
    color: var(--aw-checkout-ink) !important;
    border: 1px solid var(--aw-checkout-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    letter-spacing: .015em;
}
#wc_cart .send > input[name="customerinfo"],
#wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
#wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"],
#wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="confirm"],
#wc_confirm #info-confirm .send > input[name="purchase"] {
    background: var(--aw-checkout-ink) !important;
    color: #fff !important;
    border: 1px solid var(--aw-checkout-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    letter-spacing: .015em;
}
#wc_cart .send > input[name="previous"]:hover,
#wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"]:hover,
#wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="backCustomer"]:hover,
#wc_confirm #info-confirm .send > input[name="backDelivery"]:hover {
    background: #f2f2f2 !important;
}
#wc_cart .send > input[name="customerinfo"]:hover,
#wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"]:hover,
#wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"]:hover,
#wc_delivery #delivery-info form.aw-checkout-columns > .send > input[name="confirm"]:hover,
#wc_confirm #info-confirm .send > input[name="purchase"]:hover {
    background: #666 !important;
    border-color: #666 !important;
}
#wc_cart .send > input:focus-visible,
#wc_customer #customer-info .send > input:focus-visible,
#wc_delivery #delivery-info .send > input:focus-visible,
#wc_confirm #info-confirm .send > input:focus-visible {
    outline: 2px solid #4d6c7b !important;
    outline-offset: 3px;
}
@media screen and (max-width: 767.98px) {
    #wc_cart #cart_table,
    #wc_confirm #cart_table,
    #wc_confirm #confirm_table {
        font-size: 13px;
    }
    #wc_confirm #confirm_table tr.ttl h2,
    #wc_confirm #confirm_table tr.ttl h3 {
        font-size: 17px;
    }
}
/* END AW CHECKOUT PRODUCT-DESIGN SYSTEM V1 */


/* AW CONFIRM SUMMARY MATCH DELIVERY V1 (2026-11-11)
   #confirm_table summarizes the delivery/customer form as a read-only version.
   Wide view: full-height #efefef left key cell and white right value cell,
   like #wc_delivery .customer_form. Small screens: the same stacked label/value
   treatment as the delivery inputs, with a delicate row divider.
   Keep existing two-panel table groups and all original order data untouched.
*/
@media screen and (min-width: 768px) {
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 1px solid #e7e7e7 !important;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > th,
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > td {
        box-sizing: border-box !important;
        padding: 18px 16px !important;
        font-size: 14px !important;
        line-height: 1.65;
        vertical-align: middle;
        overflow-wrap: anywhere;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > th {
        background: #efefef !important;
        color: #424242 !important;
        font-weight: 600;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > td {
        background: #fff !important;
        color: #424242 !important;
    }
    /* The purchase table stays a purchase table; only its surface matches. */
    #wc_confirm #cart_table thead th {
        background: #efefef !important;
        padding: 14px 12px !important;
    }
    #wc_confirm #cart_table tbody td {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
}
@media screen and (min-width:1180px) {
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) {
        grid-template-columns: minmax(0,30%) minmax(0,70%);
        align-items: stretch;
    }
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) > th,
    #wc_confirm #confirm_table.aw-confirm-two-panels > tbody > tr:not(.ttl) > td {
        display: flex !important;
        align-items: center;
        min-width: 0;
        height: auto !important;
    }
}
@media screen and (max-width:767.98px) {
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) {
        display: block;
        box-sizing: border-box;
        padding: 10px 0 12px !important;
        border-bottom: 1px solid #ebebeb !important;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > th,
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > td {
        display: block !important;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        overflow-wrap: anywhere;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > th {
        margin: 0 0 6px !important;
        color: #424242 !important;
        font-size: 13px !important;
        font-weight: 600;
        line-height: 1.5;
    }
    #wc_confirm #confirm_table > tbody > tr:not(.ttl) > td {
        margin: 0 !important;
        color: #424242 !important;
        font-size: 14px !important;
        line-height: 1.65;
    }
}

/* Disclose invoice status directly beneath the payment total, not before Submit.
   It remains legible but less prominent than the price itself.
*/
#wc_confirm #info-confirm .aw-checkout-invoice-notice {
    box-sizing: border-box;
    width: auto;
    max-width: 580px;
    margin: 12px 0 26px auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #62676b !important;
    font-size: 12px;
    line-height: 1.75;
    text-align: left;
}
@media screen and (max-width:767.98px) {
    #wc_confirm #info-confirm .aw-checkout-invoice-notice {
        width: 100%;
        max-width: 100%;
        margin: 12px 0 24px !important;
    }
}
/* END AW CONFIRM SUMMARY MATCH DELIVERY V1 */


/* AW CONFIRM INVOICE AT LEFT OF GRAND TOTAL V1 (2026-11-11)
   The invoice notice sits within the grand-total label cell, left of
   "総合計金額" and the amount; only presentation changes.
   Reduce the space between the money table and the detail summary to ~2/3
   (desktop 89px -> about 60px; mobile 111px -> about 74px).
*/
@media screen and (min-width:768px) {
    #wc_confirm #cart_table {
        margin-bottom:60px!important;
    }
    #wc_confirm #cart_table tfoot tr:last-child > th.aw-checkout-grand-total-key {
        text-align:right!important;
        vertical-align:middle!important;
        overflow:visible;
    }
    #wc_confirm #cart_table tfoot tr:last-child > th.aw-checkout-grand-total-key > .aw-checkout-invoice-notice {
        float:left!important;
        width:65%!important;
        max-width:65%!important;
        box-sizing:border-box;
        margin:0 16px 0 0!important;
        padding:0!important;
        color:#62676b!important;
        font-size:11px!important;
        font-weight:400!important;
        line-height:1.5!important;
        text-align:left!important;
    }
    #wc_confirm #cart_table .aw-checkout-grand-total-caption {
        display:inline-block;
        white-space:nowrap;
        vertical-align:middle;
    }
}
@media screen and (max-width:767.98px) {
    #wc_confirm #cart_table {
        margin-bottom:26px!important;
    }
    #wc_confirm #confirm_table {
        margin-top:74px!important;
    }
    #wc_confirm #cart_table tfoot tr:last-child:has(> th.aw-checkout-grand-total-key) {
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:end!important;
        column-gap:12px!important;
    }
    #wc_confirm #cart_table tfoot tr:last-child > th.thumbnail {
        display:none!important;
    }
    #wc_confirm #cart_table tfoot tr:last-child > th.aw-checkout-grand-total-key {
        box-sizing:border-box;
        display:block!important;
        grid-column:1!important;
        width:100%!important;
        min-width:0!important;
        padding:8px 0!important;
        text-align:right!important;
    }
    #wc_confirm #cart_table tfoot tr:last-child > th.aright.amount {
        box-sizing:border-box;
        display:block!important;
        grid-column:2!important;
        width:auto!important;
        min-width:max-content!important;
        padding:8px 0!important;
        text-align:right!important;
        align-self:end;
    }
    #wc_confirm #cart_table tfoot tr:last-child .aw-checkout-invoice-notice {
        display:block!important;
        float:none!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        margin:0 0 8px!important;
        padding:0!important;
        font-size:11px!important;
        font-weight:400!important;
        line-height:1.5!important;
        text-align:left!important;
    }
    #wc_confirm #cart_table .aw-checkout-grand-total-caption {
        display:block;
        white-space:nowrap;
    }
}
/* If a theme change prevents the notice moving into the label cell, show it. */
#wc_confirm #cart > .aw-checkout-invoice-notice {
    margin:12px 0 18px!important;
}
/* END AW CONFIRM INVOICE AT LEFT OF GRAND TOTAL V1 */


/* AW CART QUANTITY INLINE ACTION V1 (2026-11-11)
   New per-row quantity-update proxy invokes Welcart's native upButton.
   Hide that original ONLY after JS successfully installs the proxies.
*/
#wc_cart input[name="upButton"].aw-cart-original-update-hidden {
    display:none!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls {
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    max-width:100%;
    min-width:0;
    vertical-align:middle;
    white-space:nowrap;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls > input.quantity {
    box-sizing:border-box!important;
    flex:0 0 56px;
    width:56px!important;
    min-width:0!important;
    max-width:56px!important;
    height:42px!important;
    margin:0!important;
    padding:5px 3px!important;
    text-align:center;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-update {
    box-sizing:border-box!important;
    flex:0 0 auto;
    width:auto!important;
    min-width:69px;
    max-width:none;
    height:42px;
    padding:0 9px!important;
    margin:0!important;
    border:1px solid #424242!important;
    border-radius:0!important;
    background:#fff!important;
    color:#424242!important;
    box-shadow:none!important;
    font:600 12px/1.2 "BIZ UDPGothic", Arial, Meiryo, sans-serif!important;
    letter-spacing:0;
    cursor:pointer;
    white-space:nowrap;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-update:hover {
    background:#efefef!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-update:focus-visible {
    outline:2px solid #4d6c7b!important;
    outline-offset:2px;
}
@media screen and (max-width:767.98px) {
    #wc_cart #cart_table tbody td.quantity:has(.aw-cart-quantity-controls) {
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
        box-sizing:border-box;
    }
    #wc_cart #cart_table td.quantity .aw-cart-quantity-controls {
        gap:5px;
        flex:0 0 auto;
        max-width:calc(100% - 56px);
    }
    #wc_cart #cart_table td.quantity .aw-cart-quantity-controls > input.quantity {
        flex-basis:54px;
        width:54px!important;
        max-width:54px!important;
    }
    #wc_cart #cart_table td.quantity .aw-cart-quantity-update {
        min-width:68px;
        padding:0 6px!important;
        font-size:11px!important;
    }
}
/* END AW CART QUANTITY INLINE ACTION V1 */


/* AW CUSTOMER WIDE-PC ABSOLUTE FIX V1 (2026-11-11)
   The theme switches Back to position:absolute at >= ~1400px, causing
   the forward action to collapse toward the left. Override positioning
   explicitly on the real Welcart submit buttons, not just their widths.
*/
@media screen and (min-width:768px) {
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="backCart"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="deliveryinfo"],
    #wc_customer #customer-info form[name="customer_form"] .send > input[name="reganddeliveryinfo"] {
        position:static!important;
        left:auto!important;
        right:auto!important;
        top:auto!important;
        bottom:auto!important;
        transform:none!important;
        clear:none!important;
    }
}
/* END AW CUSTOMER WIDE-PC ABSOLUTE FIX V1 */

/* AW CART QUANTITY INLINE UPDATE V1 (2026-11-11)
   Compact per-item quantity+update controls: the original global submit is
   preserved in the same form and invoked by the row-level proxy button.
*/
#wc_cart input[name="upButton"].aw-cart-original-update-hidden {
    display:none!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:6px;
    max-width:100%;
    white-space:nowrap;
    vertical-align:middle;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls input.quantity {
    box-sizing:border-box!important;
    flex:0 0 56px;
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:42px;
    margin:0!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls button.aw-cart-quantity-update {
    box-sizing:border-box!important;
    position:static!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 64px;
    width:64px!important;
    min-width:64px!important;
    height:40px;
    min-height:40px;
    margin:0!important;
    padding:0 5px!important;
    border:1px solid #424242!important;
    border-radius:0!important;
    background:#fff!important;
    color:#424242!important;
    font:600 12px/1.3 "BIZ UDPGothic",Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:none!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls button.aw-cart-quantity-update:hover {
    background:#f2f2f2!important;
}
#wc_cart #cart_table td.quantity .aw-cart-quantity-controls button.aw-cart-quantity-update:focus-visible {
    outline:2px solid #4d6c7b!important;
    outline-offset:2px;
}
@media screen and (max-width:767.98px) {
    #wc_cart #cart_table td.quantity .aw-cart-quantity-controls {
        justify-content:flex-start;
    }
}
/* END AW CART QUANTITY INLINE UPDATE V1 */


/* AW MEMBER LOGIN BACK AND RETIRED CART NOTICE V1 (2026-11-11)
   Existing Welcart quantity-updating submit remains in the form and is
   invoked by the per-item buttons; only its obsolete guidance is suppressed.
*/
#wc_cart .upbutton.aw-cart-upbutton-guidance-retired {
    display:none!important;
}

/* Match the guest checkout navigation: Back left, Login right. */
#wc_customer #customer-info form[name="customer_loginform"] .send > .aw-checkout-member-back {
    box-sizing:border-box!important;
    appearance:none;
    position:static!important;
    float:none!important;
    margin:0!important;
    padding:8px 12px!important;
    background:#fff!important;
    border:1px solid #424242!important;
    border-radius:0!important;
    color:#424242!important;
    font-family:inherit!important;
    font-size:14px;
    font-weight:600!important;
    line-height:1.5;
    min-height:48px;
    cursor:pointer;
}
#wc_customer #customer-info form[name="customer_loginform"] .send > .aw-checkout-member-back:hover {
    background:#f2f2f2!important;
}
#wc_customer #customer-info form[name="customer_loginform"] .send > .aw-checkout-member-back:focus-visible {
    outline:2px solid #4d6c7b!important;
    outline-offset:3px;
}
@media screen and (min-width:768px) {
    #wc_customer #customer-info form[name="customer_loginform"] .send {
        display:flex!important;
        justify-content:space-between!important;
        align-items:stretch!important;
        width:100%!important;
        box-sizing:border-box!important;
        gap:12px;
    }
    #wc_customer #customer-info form[name="customer_loginform"] .send > .aw-checkout-member-back {
        flex:0 1 195px!important;
        width:195px!important;
        max-width:45%!important;
        min-width:0!important;
    }
}
@media screen and (max-width:767.98px) {
    #wc_customer #customer-info form[name="customer_loginform"] .send {
        display:grid!important;
        grid-template-columns:minmax(92px,34%) minmax(0,1fr)!important;
        column-gap:12px!important;
        box-sizing:border-box!important;
        width:100%!important;
        max-width:100%!important;
        align-items:stretch!important;
    }
    #wc_customer #customer-info form[name="customer_loginform"] .send > .aw-checkout-member-back {
        grid-column:1!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:48px;
    }
    #wc_customer #customer-info form[name="customer_loginform"] .send > input[name="customerlogin"] {
        grid-column:2!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:48px;
        min-height:48px;
        margin:0!important;
        padding:4px 3px!important;
        box-sizing:border-box!important;
        text-align:center!important;
        font-size:12px!important;
        letter-spacing:-.02em!important;
    }
}
@media screen and (max-width:359.98px) {
    #wc_customer #customer-info form[name="customer_loginform"] .send > input[name="customerlogin"] {
        font-size:12px!important;
        letter-spacing:-.03em!important;
    }
}
/* END AW MEMBER LOGIN BACK AND RETIRED CART NOTICE V1 */
