/*
 * WooCommerce screens in dist's design: shop, product, cart, checkout, order tracking / received (and My Account,
 * which only staff reach).
 * WooCommerce's own stylesheets are off (inc/woo.php); tokens, buttons, chips, cards and .qty come from site.css.
 */

/* ---- shop archive + product page ---- */
a.product-media{cursor:pointer}
.product-body h3 a{transition:color .2s}
.product-body h3 a:hover{color:var(--taupe-deep)}
.price del{margin-right:6px;opacity:.55}
.price ins{text-decoration:none}
.add-btn.is-loading,.single_add_to_cart_button.is-loading{opacity:.55;pointer-events:none}
/* The wide 住宿禮券 card fills the 3-column grid; in 2 columns its span leaves a hole, so it is a normal card there */
@media(max-width:1100px){.product-card.is-wide{grid-column:auto}.product-card.is-wide .product-media{height:auto;aspect-ratio:4/5}}
.product-single{padding-top:clamp(24px,4vw,48px)}
.product-single .product-detail{max-width:1100px;margin:0 auto;border-radius:28px;background:var(--surface);box-shadow:0 30px 80px -50px #1d150d40}
.product-single .dialog-body .shop-note{margin-top:18px}
.product-single .dialog-body>.price{font:500 22px/1.4 var(--serif);letter-spacing:.02em;color:var(--ink)}
.product-single .dialog-body:only-child{grid-column:1/-1}
/* Photo gallery: a scroll-snap track (swipe on phones) and thumbnails that scroll it (assets/cart.js) */
.product-gallery{display:grid;gap:10px;align-self:start;min-width:0;margin:10px}
.product-gallery-track{display:flex;aspect-ratio:1;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:20px;background:var(--sand)}
.product-gallery-track::-webkit-scrollbar{display:none}
.product-gallery-track img{flex:none;height:100%;scroll-snap-align:start}
.product-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.product-gallery-thumbs button{flex:none;width:64px;height:64px;padding:0;border:1px solid transparent;border-radius:12px;overflow:hidden;background:var(--sand);opacity:.55;cursor:pointer;transition:opacity .2s,border-color .2s}
.product-gallery-thumbs button:hover,.product-gallery-thumbs button[aria-current=true]{opacity:1}
.product-gallery-thumbs button[aria-current=true]{border-color:var(--ink)}
.product-gallery-thumbs img{height:100%}
@media(min-width:901px){.product-gallery{position:sticky;top:calc(var(--header-h) + 32px)}}
@media(prefers-reduced-motion:reduce){.product-gallery-track{scroll-behavior:auto}}
.product-notes:empty{display:none}
.product-notes ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.product-notes p+*{margin-top:10px}
.product-notes h3{margin-top:22px;font:400 12px/1.6 var(--sans);letter-spacing:.16em;color:var(--muted)}
.product-line{display:grid;justify-items:start;gap:8px;padding-top:24px;border-top:1px solid var(--line)}
.product-line .option-label{margin:0;color:var(--ink)}
.product-line .btn{margin-top:12px}
.product-detail form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.stock{font-size:13px;color:var(--muted)}
.stock.out-of-stock{color:#a4553f}

/* ---- quantity: dist's .qty pill around WooCommerce's number input ---- */
.woocommerce .quantity{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;transition:border-color .2s}
.woocommerce .quantity:focus-within{border-color:var(--ink)}
.woocommerce .quantity:has(input[type=hidden]){display:none}
.woocommerce .quantity button{width:42px;height:46px;padding:0;border:0;background:none;font-size:18px;line-height:1}
.woocommerce .quantity .qty{width:40px;height:46px;padding:0;border:0;background:none;text-align:center;font:400 15px/1 var(--sans);-moz-appearance:textfield;appearance:textfield}
.woocommerce .quantity .qty::-webkit-inner-spin-button,.woocommerce .quantity .qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.woocommerce .quantity .qty:focus{outline:none}

/* ---- store pages (page.php): cart, checkout, my account, order tracking ---- */
.section.store{padding-top:clamp(8px,2vw,24px)}
.store .woocommerce{display:grid;gap:32px;align-content:start}
.store .woocommerce>*,.woocommerce-MyAccount-content>*{min-width:0}

/* Headings WooCommerce prints inside the content */
.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,.u-columns h2,.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3,.woocommerce-order h2,.woocommerce-order-details h2,.woocommerce-customer-details h2,.no7-invoice h3,.no7-invoice-details h2{margin-bottom:18px;font:500 clamp(19px,1.8vw,22px)/1.5 var(--serif);letter-spacing:.06em;color:var(--ink)}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-message,.woocommerce-info{display:block;margin:0 0 24px;padding:16px 22px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:14px;background:var(--surface);font-size:14px;line-height:1.8;color:var(--ink-soft);list-style:none}
.store .woocommerce>.woocommerce-info,.store .woocommerce>div>.woocommerce-info,.store .woocommerce-notices-wrapper>*:last-child{margin-bottom:0}
:is(.woocommerce-message,.woocommerce-info):has(>.button){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px}
.woocommerce-error{border-left-color:#a4553f}
.woocommerce-error li{display:block}
:is(.woocommerce-error,.woocommerce-message,.woocommerce-info) a:not(.button){text-decoration:underline;text-underline-offset:3px}
:is(.woocommerce-error,.woocommerce-message,.woocommerce-info) .button{order:2;min-height:40px;padding:0 18px;font-size:13px}

/* Fields: dist's underline inputs (.field) */
.woocommerce form .form-row{display:grid;gap:8px;margin:0}
.woocommerce form .form-row>label,.woocommerce form legend{font-size:12px;letter-spacing:.14em;color:var(--muted)}
.woocommerce .required{color:var(--gold);text-decoration:none}
.woocommerce .optional{letter-spacing:.04em}
.woocommerce :where(.input-text:not(.qty),select,textarea){width:100%;min-height:46px;padding:10px 0;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;font:400 16px/1.6 var(--sans);letter-spacing:0;color:var(--ink);appearance:none;transition:border-color .2s}
.woocommerce select{padding-right:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236c5f52' stroke-width='1.3'/%3E%3C/svg%3E") right 4px center/12px no-repeat;cursor:pointer}
.woocommerce textarea{min-height:96px;resize:vertical}
.woocommerce :where(.input-text:not(.qty),select,textarea):focus{outline:none;border-color:var(--ink)}
.woocommerce-invalid :is(.input-text,select){border-color:#a4553f}
.checkout-inline-error-message{font-size:12px;color:#a4553f}
.woocommerce :is(input[type=checkbox],input[type=radio]){flex:none;width:18px;height:18px;margin:0;accent-color:var(--ink)}
.woocommerce form .form-row .woocommerce-form__label-for-checkbox,.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.02em;color:var(--ink-soft);cursor:pointer}
.woocommerce form .form-row em{font-style:normal;font-size:12.5px;color:var(--muted)}
.woocommerce .clear{display:none}
.password-input{position:relative;display:block}
.password-input .input-text{padding-right:52px}
.show-password-input{position:absolute;right:0;bottom:12px;padding:0;border:0;background:none;font-size:12px;letter-spacing:.1em;color:var(--muted)}
.show-password-input::after{content:'顯示'}
.show-password-input.display-password::after{content:'隱藏'}
.woocommerce-password-strength,.woocommerce-password-hint{font-size:12px;line-height:1.8;color:var(--muted)}
.woocommerce-password-strength.bad,.woocommerce-password-strength.short{color:#a4553f}

/* Two-column field grids: first / last name side by side, everything else full width */
:is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-form-track-order,.woocommerce-EditAccountForm,.woocommerce-ResetPassword,.checkout_coupon){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;align-items:start}
:is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-form-track-order,.woocommerce-EditAccountForm,.woocommerce-ResetPassword,.checkout_coupon)>*{grid-column:1/-1}
:is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-form-login,.woocommerce-form-track-order,.woocommerce-EditAccountForm,.woocommerce-ResetPassword,.checkout_coupon)>.form-row-first{grid-column:1}
:is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-form-login,.woocommerce-form-track-order,.woocommerce-EditAccountForm,.woocommerce-ResetPassword,.checkout_coupon)>.form-row-last{grid-column:2}
.woocommerce form p:not(.form-row){font-size:14px;line-height:1.9;color:var(--muted)}
.woocommerce fieldset{display:grid;gap:22px;margin:0;padding:24px;border:1px solid var(--line);border-radius:16px}
.woocommerce fieldset legend{padding:0 8px}
.lost_password{font-size:13px}
.lost_password a{text-decoration:underline;text-underline-offset:3px;color:var(--muted)}

/* Buttons: dist .btn-dark; secondary actions use .btn-line */
.woocommerce .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--surface);font:500 14px/1 var(--sans);letter-spacing:.06em;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.woocommerce .button:hover{background:#15120f}
.woocommerce :is([name=update_cart],[name=apply_coupon],.ry-choose-cvs,.woocommerce-orders-table .button,.woocommerce-table--order-details .button,.woocommerce-pagination .button,.order-again .button){border-color:var(--line-strong);background:transparent;color:var(--ink)}
.woocommerce :is([name=update_cart],[name=apply_coupon],.ry-choose-cvs,.woocommerce-orders-table .button,.woocommerce-table--order-details .button,.woocommerce-pagination .button,.order-again .button):hover{border-color:var(--ink);background:transparent}
.woocommerce :is(.woocommerce-orders-table .button,.woocommerce-table--order-details .button,.ry-choose-cvs){min-height:40px;padding:0 16px;font-size:13px}
.woocommerce .button:is(:disabled,.disabled){opacity:.4;cursor:not-allowed}
.woocommerce :is(.woocommerce-orders-table,.woocommerce-table--order-details) .button+.button{margin-left:6px}

/* Tables */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
.woocommerce table.shop_table :is(th,td){padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.woocommerce table.shop_table :is(th,td):first-child{padding-left:0}
.woocommerce table.shop_table :is(th,td):last-child{padding-right:0}
.woocommerce table.shop_table thead th{padding-top:0;font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--muted)}
.woocommerce table.shop_table :is(thead :is(.product-price,.product-subtotal,.product-total),td:has(>.amount,>strong>.amount)){text-align:right;white-space:nowrap}
.woocommerce table.shop_table tfoot th,.cart_totals th{font-weight:400;color:var(--muted)}
.cart_totals th{width:1%;padding-right:24px;white-space:nowrap} /* labels on one line; the amounts take the rest */
.woocommerce table.shop_table .order-total :is(th,td){font:500 18px/1.5 var(--serif);color:var(--ink)}
.woocommerce table.shop_table .product-quantity{font-weight:400;color:var(--muted)}
.woocommerce table.shop_table .wc-item-meta{margin:4px 0 0;padding:0;list-style:none;font-size:12px;color:var(--muted)}
.woocommerce table.shop_table .wc-item-meta :is(strong,p){display:inline;font-weight:400}
.woocommerce mark{background:none;color:var(--ink);font-weight:500}
.woocommerce address{font-style:normal;line-height:1.9;color:var(--ink-soft)}

/* Cart */
.woocommerce-cart-form__contents .product-remove{width:44px}
.woocommerce-cart-form__contents .product-thumbnail{width:96px}
.woocommerce-cart-form__contents .product-thumbnail img{width:72px;height:90px;border-radius:12px;background:var(--sand)}
.woocommerce-cart-form__contents .product-name{font:500 16px/1.5 var(--serif);letter-spacing:.04em}
.woocommerce a.remove{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;font-size:18px;line-height:1;color:var(--muted);transition:border-color .2s,color .2s}
.woocommerce a.remove:hover{border-color:var(--ink);color:var(--ink)}
.woocommerce-cart-form td.actions{display:table-cell;padding-top:24px} /* site.css .actions is a flex row */
.woocommerce-cart-form .coupon{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin-right:12px}
.woocommerce-cart-form .coupon .input-text{width:180px;min-height:44px}
.woocommerce-cart-form [name=update_cart]{float:right}
.cart-collaterals .cart_totals{padding:clamp(22px,3vw,32px);border-radius:var(--r-card);background:var(--surface)}
.wc-proceed-to-checkout{margin-top:24px}
.wc-proceed-to-checkout .checkout-button{width:100%}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{margin-top:8px;font-size:12.5px;color:var(--muted)}
.shipping-calculator-button{text-decoration:underline;text-underline-offset:3px}
.shipping-calculator-form{display:grid;gap:14px;margin-top:12px}
.return-to-shop{margin:0}

/* Shipping methods, RY Tools store picker, payment */
.woocommerce-shipping-methods{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.woocommerce-shipping-methods li{position:relative;display:flex;align-items:center;gap:10px;min-height:44px}
.woocommerce-shipping-methods label{cursor:pointer}
/* The whole row / card selects its radio (dist's .stretch); the payment box stays usable above the overlay. */
.woocommerce-shipping-methods label::after,#payment .wc_payment_method>label::after{content:'';position:absolute;inset:0}
/* A method this cart cannot use (woocommerce/cart/cart-shipping.php): shown, greyed, with the reason. */
.woocommerce-shipping-methods .is-unavailable{color:var(--muted)}
.woocommerce-shipping-methods .is-unavailable label{cursor:default}
.woocommerce-shipping-methods .is-unavailable label::after{content:none}
.no7-shipping-reason{display:block;font-size:12px}
.woocommerce table.shop_table tr.woocommerce-shipping-totals>th{vertical-align:top;padding-top:24px}
#payment .payment_box{position:relative;z-index:1}
.woocommerce table.shop_table tr:has(.ry-choose-cvs) td{text-align:left}
.ry-cvs-store-info{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--bg-soft);font-size:13px;line-height:1.9;color:var(--ink-soft)}
#payment .payment_methods{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}
#payment .wc_payment_method{position:relative;padding:14px 16px;border:1px solid var(--line);border-radius:14px;transition:border-color .2s}
#payment .wc_payment_method:has(>input:checked){border-color:var(--ink)}
#payment .wc_payment_method>input{vertical-align:middle}
#payment .wc_payment_method>label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-left:8px;font-size:15px;vertical-align:middle;cursor:pointer}
#payment label img{display:inline-block;width:auto;height:20px}
#payment .payment_box{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--bg-soft);font-size:13px;color:var(--muted)}
#payment .place-order{display:grid;gap:18px;margin-top:24px}
#place_order{width:100%}
.woocommerce-terms-and-conditions-wrapper{display:grid;gap:12px;font-size:13px;line-height:1.9;color:var(--muted)}
.woocommerce-terms-and-conditions-wrapper a{text-decoration:underline;text-underline-offset:3px}
.woocommerce-terms-and-conditions{max-height:240px;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:12px}
/* Keep the required mark next to the wrapped label text instead of at the row's far end. */
.woocommerce-terms-and-conditions-wrapper abbr.required{display:none}
.woocommerce-terms-and-conditions-checkbox-text::after{content:'\a0*';color:var(--gold)} /* no-break space: never a lone * on its own line */

/* Checkout: details on the left, order review card on the right */
form.checkout{display:flow-root}
form.checkout wc-order-attribution-inputs{display:none}
#customer_details{display:grid;gap:44px;margin-bottom:48px}
/* The recipient comes first. Its "ship to a different address" box is always checked (inc/commerce.php): hidden, and
   its label reads 收件人 as the section heading. */
#customer_details>.col-1{display:none} /* the billing column: its form moves under 收件人 (inc/commerce.php); its hidden attribution inputs still post */
.woocommerce-additional-fields{display:grid;gap:44px;margin-top:44px}
#ship-to-different-address input{display:none}
#ship-to-different-address label{font:inherit;letter-spacing:inherit;color:inherit;pointer-events:none}
.woocommerce-shipping-fields .shipping_address{margin-top:22px}
.woocommerce-account-fields{margin-top:22px}
#order_review{padding:clamp(20px,3vw,32px);border-radius:var(--r-card);background:var(--surface)}
/* Review table as flex rows, so shipping methods and the store picker get the card's full width */
#order_review table :is(thead,tbody,tfoot){display:block}
#order_review table tr{display:flex;align-items:baseline;justify-content:space-between;gap:10px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
#order_review table tr:has(ul,.ry-choose-cvs){flex-direction:column;align-items:stretch}
#order_review table thead tr{padding-top:0}
#order_review table :is(th,td){display:block;padding:0;border:0}
#order_review table .product-name{line-height:1.7}
.no7-invoice{display:grid;gap:20px;margin-top:40px;padding:clamp(20px,3vw,28px);border:1px solid var(--line);border-radius:var(--r-card)}
.no7-invoice h3{margin:0}
.no7-invoice fieldset{display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0}
.no7-invoice fieldset legend{margin-bottom:12px;padding:0}
.no7-invoice fieldset label{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;font-size:13.5px;letter-spacing:.04em;color:var(--ink-soft);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.no7-invoice fieldset input{position:absolute;opacity:0}
.no7-invoice fieldset label:has(:checked){border-color:var(--ink);background:var(--ink);color:var(--surface)}
.no7-invoice fieldset label:has(:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.no7-invoice :is([data-no7-invoice],[data-no7-carrier]){display:grid;gap:20px}
.woocommerce form p:is(.no7-invoice__note,.no7-field-hint),.no7-invoice__note{font-size:12.5px;color:var(--muted)}
.no7-field-hint{margin-top:10px}
.no7-invoice-info{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--ink-soft)}

/* My account */
.woocommerce-MyAccount-navigation ul{display:flex;gap:6px;margin:0;padding:0 0 4px;list-style:none;overflow-x:auto;scrollbar-width:none}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 18px;border:1px solid transparent;border-radius:999px;font-size:14px;letter-spacing:.06em;white-space:nowrap;color:var(--ink-soft);transition:background .2s,color .2s,border-color .2s}
.woocommerce-MyAccount-navigation a:hover{border-color:var(--line-strong)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:var(--surface)}
.woocommerce-MyAccount-content{display:grid;gap:20px;align-content:start;color:var(--ink-soft);line-height:2}
.woocommerce-MyAccount-content>p a,.woocommerce-order-details a:not(.button){text-decoration:underline;text-underline-offset:3px}
#customer_login{display:grid;gap:24px}
#customer_login>div,.woocommerce-form-track-order,.woocommerce-verify-email,.woocommerce-ResetPassword,.store .woocommerce>.woocommerce-form-login{padding:clamp(24px,4vw,44px);border-radius:var(--r-card);background:var(--surface)}
.woocommerce-form-track-order,.woocommerce-verify-email,.woocommerce-ResetPassword,.store .woocommerce>.woocommerce-form-login{width:100%;max-width:720px}
.woocommerce-verify-email{display:grid;gap:22px}
.woocommerce-privacy-policy-text p{font-size:12.5px;line-height:1.9;color:var(--muted)}
.woocommerce-privacy-policy-text a{text-decoration:underline;text-underline-offset:3px}
:is(.woocommerce-Addresses,.woocommerce-columns--addresses){display:grid;gap:20px}
:is(.woocommerce-Address,.woocommerce-column--billing-address,.woocommerce-column--shipping-address,.woocommerce-customer-details>address){padding:24px;border-radius:var(--r-card);background:var(--surface)}
.woocommerce-Address-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.woocommerce-Address-title .edit{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.woocommerce-pagination{display:flex;justify-content:space-between;gap:12px}
.woocommerce-OrderUpdates{margin:0;padding:0;list-style:none}

/* Order received / tracked */
.no7-order-lookup strong{font-family:var(--serif);color:var(--ink)} /* size inline: mails share the markup */
.woocommerce-order{display:grid;gap:32px;max-width:960px}
.woocommerce-thankyou-order-received{font:500 clamp(20px,2vw,26px)/1.6 var(--serif);letter-spacing:.06em;color:var(--ink)}
.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);background:var(--line);list-style:none}
.woocommerce-order-overview li{display:grid;align-content:start;gap:4px;padding:18px 20px;background:var(--surface);font-size:12px;letter-spacing:.14em;color:var(--muted)}
.woocommerce-order-overview strong{font:500 16px/1.5 var(--sans);letter-spacing:0;color:var(--ink);overflow-wrap:anywhere}
:is(.woocommerce-order-details,.woocommerce-customer-details,.no7-invoice-details)+*{margin-top:8px}
/* Order details: every value on the right; the shipping method as a tag before its fee (inc/woo.php). */
.woocommerce table.shop_table.woocommerce-table--order-details tfoot td{text-align:right}
.no7-ship-details .no7-ship-label{display:inline-block;min-width:4.5em;margin-right:12px;font-size:13px;color:var(--muted)}
.no7-ship-tag{display:inline-block;margin-right:10px;padding:2px 10px;border:1px solid var(--line-strong);border-radius:999px;font-size:12.5px;line-height:1.6;color:var(--ink-soft);vertical-align:1px}
.no7-invoice-details{margin-top:48px}

@media(min-width:900px){
 .woocommerce-account .store .woocommerce:has(>.woocommerce-MyAccount-navigation){grid-template-columns:220px minmax(0,1fr);gap:56px;align-items:start}
 .woocommerce-MyAccount-navigation ul{position:sticky;top:calc(var(--header-h) + 32px);flex-direction:column}
 #customer_login,:is(.woocommerce-Addresses,.woocommerce-columns--addresses){grid-template-columns:1fr 1fr}
}
@media(min-width:1000px){
 .woocommerce-cart .store .woocommerce{grid-template-columns:minmax(0,1fr) 380px;gap:32px 56px;align-items:start}
 .woocommerce-cart .store .woocommerce>*{grid-column:1/-1}
 .woocommerce-cart .store .woocommerce>.woocommerce-cart-form{grid-column:1}
 .woocommerce-cart .store .woocommerce>.cart-collaterals{grid-column:2}
 form.checkout>#customer_details{float:left;width:54%;margin:0}
 form.checkout>:is(#order_review_heading,#order_review){margin-left:calc(54% + 64px)}
}
/* Responsive tables (cart, cart totals, orders): one block per row, labels from data-title */
@media(max-width:768px){
 .woocommerce table.shop_table_responsive thead,.woocommerce table.shop_table_responsive th:not([data-title]){display:none}
 .woocommerce table.shop_table_responsive tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
 .woocommerce table.shop_table_responsive :is(td,th){display:block;padding:8px 0;border:0;text-align:right}
 .woocommerce table.shop_table_responsive :is(td,th)[data-title]::before{content:attr(data-title);float:left;margin-right:16px;font-size:12px;font-weight:400;letter-spacing:.14em;line-height:2;color:var(--muted)}
 /* the shipping methods (with their reasons) read as a list under the 運送方式 label */
 .woocommerce table.shop_table_responsive tr.woocommerce-shipping-totals td{text-align:left}
 .woocommerce table.shop_table_responsive tr.woocommerce-shipping-totals td::before{display:block;float:none;margin:0 0 8px}
 .woocommerce-cart-form__contents .product-thumbnail{display:none!important}
 .woocommerce-cart-form__contents tr:has(td.actions){border:0}
 .woocommerce .woocommerce-cart-form td.actions{display:grid;gap:12px}
 .woocommerce-cart-form .coupon{display:flex;margin:0}
 .woocommerce-cart-form .coupon .input-text{flex:1;width:auto}
 .woocommerce-cart-form [name=update_cart]{float:none;width:100%}
}
@media(pointer:coarse){
 .woocommerce a.remove{width:44px;height:44px}
}
@media(max-width:560px){
 :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-form-login,.woocommerce-form-track-order,.woocommerce-EditAccountForm,.checkout_coupon)>:is(.form-row-first,.form-row-last){grid-column:1/-1}
 .product-detail form.cart .button{flex:1}
}
