/* TheWatchCo 2.0.3. Transaction layouts replace the old rules, not a patch over them. */
/* Cart: product -> quantities and server totals -> primary checkout -> secondary navigation. */
.twct-cart-page{max-width:1180px}
.twct-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.twct-cart-items,.twct-cart-summary,.twct-checkout-details,.twct-order-panel{min-width:0}
.twct-cart-table{width:100%;border-collapse:collapse;text-align:left;table-layout:auto}
.twct-cart-table th{padding:12px 8px;border-bottom:1px solid var(--twct-line);font-size:13px;font-weight:500;color:var(--twct-muted);text-align:left}
.twct-cart-table th:nth-last-child(2){text-align:right}
.twct-cart-table td{padding:22px 8px;border-bottom:1px solid var(--twct-line);vertical-align:middle}
.twct-cart-table .product-thumbnail{width:86px;padding-left:0;vertical-align:top}
.twct-cart-table .product-thumbnail img{width:78px;height:86px;object-fit:contain}
.twct-cart-table .product-name{min-width:0;overflow-wrap:anywhere;vertical-align:top}
.twct-cart-name{font-size:15px;font-weight:500;line-height:1.75}
.twct-line-sku{font-size:12px;color:var(--twct-muted);margin:5px 0;overflow-wrap:anywhere}
.twct-unit-price{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-top:10px;font-size:16px}
.twct-unit-price>span:first-child{font-size:12px;color:var(--twct-muted)}
.twct-cart-table .product-quantity{width:156px}
.twct-quantity-label{display:none;font-size:13px;color:var(--twct-muted);white-space:nowrap;flex:none}
.twct-quantity-control{display:inline-flex;align-items:center;gap:0;max-width:100%;vertical-align:middle}
.twct-quantity-control .quantity{width:56px;flex:0 0 56px;min-width:0}
.twct-quantity-control .quantity input{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.twct-quantity-control input::-webkit-inner-spin-button,.twct-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.twct-quantity-control button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:48px;flex:0 0 44px;padding:10px;border:1px solid var(--twct-line);border-radius:4px;background:#fff}
.twct-quantity-control button .twct-icon{width:12px;height:12px}
.twct-quantity-control button:hover{background:var(--twct-soft)}
.twct-cart-table .product-subtotal{min-width:104px;font-size:16px;font-weight:600;text-align:right}
.twct-cart-table .product-subtotal .amount{white-space:nowrap}
.twct-cart-table .product-remove{width:44px;padding-right:0;vertical-align:top}
.twct-mobile-line-label{display:none}
.twct-cart-actions>.actions{padding:20px 0 0;border:0}
.twct-cart-update{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px;margin-bottom:16px;background:var(--twct-soft);border:1px solid var(--twct-line);border-radius:4px}
.twct-cart-update-status{margin:0;flex:1 1 240px;font-size:14px}
.twct-cart-update>a{font-size:14px;text-decoration:underline}
.twct-cart-stale{font-size:14px;line-height:1.7;margin:12px 0;padding:12px;background:#fff;border-left:3px solid var(--twct-gold)}
.twct-cart-summary{padding:26px 24px;border:1px solid var(--twct-line);border-radius:5px;background:var(--twct-soft)}
.twct-cart-summary h2{font-size:22px;margin-bottom:18px}
.twct-cart-summary .wc-proceed-to-checkout{margin-top:22px}
.twct-cart-summary .checkout-button{width:100%;font-size:16px;min-height:52px}
.wc-proceed-to-checkout a[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.twct-continue{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;font-size:14px;text-decoration:underline}
/* Shared amount rows. Numbers remain WooCommerce output, never client arithmetic. */
.twct-totals-table,.twct-review-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}
.twct-totals-table th,.twct-totals-table td,.twct-review-table th,.twct-review-table td{padding:14px 0;border-bottom:1px solid var(--twct-line);vertical-align:top;overflow-wrap:anywhere}
.twct-totals-table th,.twct-review-table tfoot th{width:43%;font-size:14px;font-weight:500;text-align:left;padding-right:14px}
.twct-totals-table td,.twct-review-table tfoot td{text-align:right;font-size:16px}
.twct-totals-table .amount,.twct-review-table .amount{font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}
.twct-totals-table .order-total th,.twct-review-table .order-total th{font-size:17px;padding-top:18px}
.twct-totals-table .order-total td,.twct-review-table .order-total td{padding-top:18px}
.twct-totals-table .order-total .amount,.twct-review-table .order-total .amount{font-size:22px}
.twct-totals-table small,.twct-review-table small{font-size:12px;font-weight:400}
.twct-totals-table small.includes_tax,.twct-review-table small.includes_tax{display:block;color:var(--twct-muted);margin-top:4px}
.twct-totals-table small .amount,.twct-review-table small .amount{font-size:inherit}
.woocommerce-shipping-methods{padding:0;margin:0;list-style:none}
.woocommerce-shipping-methods li{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;text-align:left;line-height:1.8;font-size:14px}
.woocommerce-shipping-methods input[type=radio]{margin:4px 0 0;flex:none}
.woocommerce-shipping-methods label{flex:1;min-width:0;cursor:pointer;line-height:1.8}
.twct-shipping-hint{font-size:12px;line-height:1.8;color:var(--twct-muted);margin:8px 0 0;text-align:left}
.woocommerce-remove-coupon{display:inline-block;font-size:13px;min-height:32px;padding:4px 0;text-decoration:underline}
/* Compact native disclosures: no second visibility or submission controller. */
.twct-checkout-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin:20px 0 32px}
.twct-checkout-tools>.woocommerce-notices-wrapper,.twct-checkout-tools>.woocommerce-error,.twct-checkout-tools>.woocommerce-message,.twct-checkout-tools>.woocommerce-info{grid-column:1/-1}
.twct-checkout-tools>*:only-child{width:100%;max-width:600px}
.twct-disclosure,.twct-coupon{border:1px solid var(--twct-line);border-radius:4px;padding:0 16px;background:#fff;min-width:0}
.twct-coupon{margin:0}
.twct-disclosure-toggle,.twct-coupon-toggle,.twct-coupon>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0;font-size:14px;line-height:1.8;cursor:pointer;text-decoration:none}
.twct-coupon>summary{list-style:none}
.twct-coupon>summary::-webkit-details-marker{display:none}
.twct-disclosure-toggle .twct-icon,.twct-coupon-toggle .twct-icon{width:14px;height:14px;transform:rotate(90deg)}
.twct-disclosure-toggle[aria-expanded=true] .twct-icon,.twct-coupon-toggle[aria-expanded=true] .twct-icon{transform:rotate(-90deg)}
.twct-checkout-login .login,.twct-checkout-coupon .checkout_coupon{margin:0;padding:4px 0 18px;border:0}
.twct-checkout-login-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.twct-checkout-login-fields>.form-row{margin:0}
.twct-checkout-login .form-row label{font-size:14px}
.twct-checkout-login .twct-login-remember{font-size:13px;display:flex;min-height:44px;align-items:center;gap:6px;padding:10px 0;margin:8px 0}
.twct-checkout-login-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.twct-checkout-login-actions .lost_password{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.twct-coupon-fields,.twct-coupon .coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-bottom:16px}
.twct-checkout-coupon .twct-coupon-fields{padding-bottom:0}
.twct-coupon-fields .form-row{margin:0}
.twct-coupon-fields .button,.twct-coupon .coupon .button{min-height:48px}
/* Password controls are a real grid cell, not a missing font icon or absolutely positioned sliver. */
:is(.twct-checkout-page,.twct-account-page) .password-input{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px;align-items:center;width:100%}
:is(.twct-checkout-page,.twct-account-page) .show-password-input,
:is(.twct-checkout-page,.twct-account-page) .twct-password-toggle{position:static;display:inline-flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:1px solid var(--twct-line);border-radius:4px;background:var(--twct-soft);color:var(--twct-ink);font-family:inherit;font-size:12px;line-height:1.5;cursor:pointer}
:is(.twct-checkout-page,.twct-account-page) .show-password-input::before,
:is(.twct-checkout-page,.twct-account-page) .show-password-input::after{content:none}
/* Checkout: desktop split, independently chosen tablet and phone layouts. */
.twct-checkout-page{max-width:1180px}
.twct-checkout-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,1fr);gap:28px;align-items:start}
.twct-checkout-details h3{font-size:22px;margin-bottom:22px}
.twct-checkout-details #ship-to-different-address{font-size:16px}
.twct-checkout-overview{margin:0 0 18px;border:1px solid var(--twct-line);border-radius:4px;background:var(--twct-soft);padding:0 16px}
.twct-checkout-overview>a{display:flex;align-items:center;gap:16px;min-height:58px;font-size:14px;text-decoration:none}
.twct-checkout-overview-amount{margin-left:auto;display:flex;align-items:baseline;gap:14px;min-width:0}
.twct-checkout-overview-amount>span{font-size:13px;white-space:nowrap}
.twct-checkout-overview-amount strong{font-size:18px;white-space:nowrap}
.twct-checkout-overview .twct-icon{width:12px;height:12px;transform:rotate(90deg)}
.twct-checkout-overview>p{font-size:13px;line-height:1.8;margin:0;padding:0 0 12px;color:var(--twct-muted)}
.twct-checkout-overview>p>a{text-decoration:underline;display:inline-block;padding:3px 8px}
.twct-order-panel{padding:26px;border:1px solid var(--twct-line);border-radius:5px;background:var(--twct-soft)}
.twct-order-panel h2{font-size:22px;margin-bottom:18px;scroll-margin-top:20px}
.twct-review-table thead th{font-size:13px;color:var(--twct-muted);font-weight:500;text-align:left}
.twct-review-table thead .product-name{width:70%;padding-right:16px}
.twct-review-table thead .product-total{text-align:right;width:30%}
.twct-review-table tbody .product-name{padding-right:14px}
.twct-review-table tbody .product-total{text-align:right;font-size:16px;font-weight:600}
.twct-review-product{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start}
.twct-review-image{background:#fff;border:1px solid var(--twct-line);border-radius:3px;overflow:hidden}
.twct-review-image img{display:block;width:54px;height:68px;object-fit:contain;padding:3px}
.twct-review-copy{min-width:0}
.twct-review-name{font-size:15px;line-height:1.75;font-weight:500;overflow-wrap:anywhere}
.twct-review-copy .product-quantity{display:block;font-size:13px;font-weight:400;margin-top:7px}
.woocommerce-checkout-payment{margin-top:24px}
.twct-payment-heading{font-size:18px;margin:0 0 10px}
.wc_payment_methods{list-style:none;padding:0;margin:0}
.wc_payment_method{padding:14px 0;border-bottom:1px solid var(--twct-line);font-size:15px}
.wc_payment_method>label{display:inline;font-weight:500;line-height:2;cursor:pointer}
.wc_payment_method>label img{max-width:100px;max-height:26px;object-fit:contain;width:auto;margin-left:8px}
.wc_payment_method>label a{font-size:12px;text-decoration:underline;margin-left:8px}
.payment_box{background:#fff;border:1px solid var(--twct-line);border-radius:4px;padding:16px;margin-top:12px;font-size:14px;overflow-wrap:anywhere}
.payment_box p:last-child{margin-bottom:0}
.payment_box iframe{max-width:100%}
.payment_box fieldset{padding:0;margin:0;border:0}
.woocommerce-checkout-payment .place-order{margin:18px 0 0}
.woocommerce-checkout-payment #place_order{width:100%;min-height:52px;font-size:16px}
.twct-payment-message{padding:18px;border:1px solid #d6c6aa;border-radius:4px;background:#fff;font-size:14px;line-height:1.9}
.twct-payment-message p{margin:0 0 14px}
.twct-payment-message .button{width:100%}
.twct-checkout-delivery{font-size:13px;margin:18px 0 0}
/* Tablet keeps readable line lengths and uses full-width rows, not narrow desktop panels. */
@media (min-width:768px) and (max-width:1100px){
 .twct-cart-layout,.twct-checkout-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .twct-cart-summary{padding:26px}
 .twct-cart-summary .wc-proceed-to-checkout{display:grid;grid-template-columns:minmax(0,1fr);max-width:440px;margin:22px 0 0 auto}
 .twct-totals-table th{width:58%}
 .twct-order-panel{padding:28px}
 .twct-review-table thead .product-name{width:76%}
 .twct-review-table thead .product-total{width:24%}
 .twct-checkout-login-fields{grid-template-columns:minmax(0,1fr)}
 .twct-checkout-coupon .twct-coupon-fields{grid-template-columns:minmax(0,1fr)}
 .twct-checkout-coupon .button{width:100%}
}
/* Phone: touch controls, ordered product cards and one-column customer fields. */
@media (max-width:767px){
 .twct-cart-layout,.twct-checkout-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .twct-cart-table,.twct-cart-table tbody{display:block;width:100%}
 .twct-cart-table thead{display:none}
 .twct-cart-table tr.cart_item{display:grid;grid-template-columns:76px minmax(0,1fr) 44px;gap:10px 12px;padding:18px 0;border-bottom:1px solid var(--twct-line)}
 .twct-cart-table tr.cart_item>td{display:block;padding:0;border:0;width:auto;min-width:0}
 .twct-cart-table .product-thumbnail{grid-column:1;grid-row:1/4}
 .twct-cart-table .product-thumbnail img{width:76px;height:92px}
 .twct-cart-table .product-name{grid-column:2;grid-row:1}
 .twct-cart-name{font-size:15px;line-height:1.75}
 .twct-cart-table .product-remove{grid-column:3;grid-row:1;justify-self:end}
 .twct-cart-table .product-remove>a{width:44px;min-height:44px}
 .twct-cart-table tr.cart_item>.product-quantity{grid-column:2/4;grid-row:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
 .twct-quantity-label{display:inline}
 .twct-cart-table tr.cart_item>.product-subtotal{grid-column:2/4;grid-row:3;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:4px;text-align:right;flex-wrap:wrap}
 .twct-mobile-line-label{display:inline;font-size:12px;font-weight:400;color:var(--twct-muted);white-space:nowrap}
 .twct-cart-table .twct-cart-actions,.twct-cart-table .actions{display:block;width:100%}
 .twct-cart-table .twct-cart-actions .actions{padding-top:16px;border:0}
 .twct-cart-update{padding:14px;gap:12px}
 .twct-cart-update-status{flex-basis:100%;font-size:14px}
 .twct-cart-update button{width:100%;font-size:15px}
 .twct-cart-summary{padding:22px 18px}
 .twct-cart-summary h2{font-size:21px}
 .twct-totals-table th{width:38%}
 .twct-totals-table .shipping>th{display:block;width:auto;border:0;padding-bottom:6px}
 .twct-totals-table .shipping>td{display:block;width:auto;padding-top:0;text-align:left}
 .twct-totals-table .shipping{display:block}
 .twct-cart-summary .twct-totals-table,.twct-cart-summary .twct-totals-table tbody{display:block;width:100%}
 .twct-cart-summary .twct-totals-table tr:not(.shipping){display:grid;grid-template-columns:minmax(80px,.65fr) minmax(0,1fr);gap:14px;border-bottom:1px solid var(--twct-line)}
 .twct-cart-summary .twct-totals-table tr:not(.shipping)>th,.twct-cart-summary .twct-totals-table tr:not(.shipping)>td{display:block;width:auto;border:0}
 .twct-coupon{padding-inline:12px}
 .twct-coupon .coupon{gap:10px;grid-template-columns:minmax(0,1fr)}
 .twct-coupon .coupon .button{width:100%}
 .twct-checkout-tools{grid-template-columns:minmax(0,1fr);gap:10px;margin:14px 0 26px}
 .twct-checkout-tools>*:only-child{max-width:none}
 .twct-checkout-login-fields,.twct-checkout-coupon .twct-coupon-fields{grid-template-columns:minmax(0,1fr);gap:14px}
 .twct-disclosure-toggle,.twct-coupon-toggle,.twct-coupon>summary{font-size:14px;min-height:48px}
 .twct-checkout-login-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
 .twct-checkout-login-actions .button,.twct-checkout-coupon .button{width:100%}
 .twct-checkout-login-actions .lost_password{justify-content:center;font-size:13px}
 .twct-checkout-overview{padding-inline:12px}
 .twct-checkout-overview>a{gap:10px;font-size:13px;min-height:58px;flex-wrap:wrap;padding-block:8px}
 .twct-checkout-overview-amount{gap:8px}
 .twct-checkout-overview-amount strong{font-size:17px}
 .twct-checkout-details h3{font-size:21px}
 .twct-checkout-page .woocommerce-billing-fields__field-wrapper,.twct-checkout-page .woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
 .twct-checkout-page .woocommerce-billing-fields__field-wrapper>.twct-half,.twct-checkout-page .woocommerce-shipping-fields__field-wrapper>.twct-half{grid-column:1/-1}
 .twct-order-panel{padding:22px 16px}
 .twct-order-panel h2{font-size:21px}
 .twct-review-table,.twct-review-table tbody,.twct-review-table tfoot{display:block;width:100%}
 .twct-review-table thead{display:none}
 .twct-review-table tbody>tr{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--twct-line)}
 .twct-review-table tbody>tr>td{display:block;padding:0;border:0;width:100%}
 .twct-review-table tbody>tr>.product-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-left:68px;flex-wrap:wrap}
 .twct-review-table tfoot>tr{display:grid;grid-template-columns:minmax(85px,.65fr) minmax(0,1fr);gap:14px;border-bottom:1px solid var(--twct-line);padding:14px 0}
 .twct-review-table tfoot>tr>th,.twct-review-table tfoot>tr>td{display:block;border:0;padding:0;width:auto}
 .twct-review-table tfoot>.shipping{grid-template-columns:minmax(0,1fr);gap:8px}
 .twct-review-table tfoot>.shipping>td{text-align:left}
 .twct-review-table .order-total .amount,.twct-totals-table .order-total .amount{font-size:22px}
 .twct-payment-message{padding:16px;font-size:14px}
 .twct-payment-heading{font-size:18px}
 .payment_box{padding:14px}
}

/* Shipping estimate uses the native cart form, never a second checkout form. */
.twct-shipping-disclosure{margin-top:12px;text-align:left}.twct-shipping-disclosure>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;text-decoration:underline}.twct-shipping-disclosure>summary::after{content:"＋";text-decoration:none}.twct-shipping-disclosure[open]>summary::after{content:"−"}.twct-shipping-fields{display:grid;gap:14px;padding-top:12px}.twct-shipping-fields .form-row{margin:0;min-width:0}.twct-shipping-fields label{display:block;margin-bottom:6px}.twct-shipping-fields input,.twct-shipping-fields select,.twct-shipping-fields button{width:100%;min-width:0;min-height:48px}.twct-shipping-fields .twct-postcode-status{font-size:12px;line-height:1.7;text-align:left}
