/*
Theme Name: William Tractor WooCommerce
Theme URI: https://william-tractor.com
Author: William Tractor
Description: Custom WooCommerce storefront ported from the William Tractor managed-headless design.
Version: 1.5.1
Text Domain: william-tractor
Requires at least: 6.6
Requires PHP: 8.1
WC requires at least: 9.0
*/

/* WordPress and WooCommerce integration layer. The original storefront CSS
   remains in assets/css/source-global.css and source-ecom.css. */
:root {
  --color-paper:#fff;--color-paper-warm:#f4f4f2;--color-ink:#171a1d;--color-ink-soft:#3f4449;
  --color-mute:#6b7177;--color-rule:#dadddf;--color-accent:#f16623;--color-accent-dark:#c9470f;
  --color-accent-soft:#fff2ea;--color-cream:#f7f7f4;--color-white:#fff;--color-dark:#1b1f22;
  --color-success:#2f7d4b;--color-warning:#b85b0a;--color-error:#b63a32;
  --font-display:"Poppins",ui-sans-serif,system-ui,sans-serif;--font-body:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --spacing-2xs:.25rem;--spacing-xs:.5rem;--spacing-sm:.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;
  --spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:5rem;--spacing-4xl:8rem;
  --container-prose:42rem;--container-6xl:86.25rem;--radius-sm:.25rem;--radius-md:.25rem;--radius-lg:.25rem;--radius-xl:.25rem;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

body.cart-drawer-open { overflow:hidden; }
.cart-drawer-root { z-index:1000000!important; }
.cart-drawer-root[aria-hidden="false"] { visibility:visible!important;pointer-events:auto!important; }
.cart-drawer-backdrop { z-index:0; }
.cart-drawer-root[aria-hidden="false"] .cart-drawer-backdrop { opacity:1!important; }
[data-cart-drawer-panel] { width:min(340px,100vw)!important;height:100vh!important;height:100dvh!important;position:fixed!important;z-index:2!important;top:0!important;right:0!important;bottom:auto!important;left:auto!important;display:flex!important;flex-direction:column!important;visibility:visible!important;opacity:1!important;color:#171717!important;background:#fff!important;box-shadow:-22px 0 52px rgba(0,0,0,.2)!important;transform:translate3d(100%,0,0)!important; }
.cart-drawer-root.is-open [data-cart-drawer-panel],.cart-drawer-root[aria-hidden="false"] [data-cart-drawer-panel] { transform:translate3d(0,0,0)!important; }
.cart-drawer-panel > [data-cart-drawer-content] { height:100%;min-height:0;display:flex;flex-direction:column; }
.cart-drawer-header { min-height:116px;margin:0;padding:0 32px;border-bottom:1px solid #dedede; }
.cart-drawer-header h2 { font-size:1.62rem;letter-spacing:-.03em; }
.cart-drawer-header h2 span { color:#737373;font-size:.78rem; }
.cart-drawer-close { width:auto;display:flex;align-items:center;gap:9px;font-size:1.08rem; }
.cart-drawer-close svg { width:26px;height:26px; }
.cart-drawer-body { padding-top:18px; }
.cart-drawer-item h3 { font-size:.9rem; }
.cart-drawer-price small { color:#9a9a9a;font-size:.72rem; }
.cart-drawer-price strong,.cart-drawer-total strong { color:var(--color-accent);font-weight:600; }
.cart-drawer-footer { padding-top:18px; }
.cart-drawer-shipping { margin:16px 0 18px; }
.cart-drawer-shipping p { margin:0 0 10px;color:#777;font-size:.76rem;line-height:1.45; }
.cart-drawer-shipping p .amount { color:var(--color-accent);font-weight:700; }
.cart-drawer-shipping-track { height:10px;overflow:hidden;border-radius:99px;background:#ececea; }
.cart-drawer-shipping-track span { height:100%;display:block;border-radius:inherit;background:repeating-linear-gradient(135deg,#f16623 0,#f16623 8px,#f77f46 8px,#f77f46 16px);transition:width .25s ease; }
.cart-drawer-actions { display:grid;gap:10px; }
.cart-drawer-actions .cart-drawer-view-cart { margin:0;border-color:#e1e1df;color:#292929;background:#f7f7f6; }
.cart-drawer-actions .cart-drawer-view-cart:hover { border-color:#d7d7d4;color:#171717;background:#eeeeec; }
.cart-drawer-actions .cart-drawer-checkout { margin:0; }
.cart-drawer-payment-methods .payment-methods svg { width:38px;height:25px; }
.payment-method-live { display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 8px;border:1px solid #ddd;background:#fff;color:#303030;font-size:.7rem;font-weight:600; }
.payment-method-live img { width:auto;max-width:52px;max-height:24px;object-fit:contain; }
.product-service-grid strong a { color:inherit;text-decoration:none; }
.product-service-grid strong a:hover { color:var(--color-accent-dark); }

/* Woodmart's 340px desktop side cart uses a compact 65px product row and
   15px gutters. Keep these values desktop-only so the approved mobile drawer
   retains its roomier touch layout. */
@media (min-width:621px) {
  .cart-drawer-header { min-height:65px;margin:0;padding:20px 15px;gap:10px;border-bottom:1px solid #dedede; }
  .cart-drawer-header h2 { font-size:1.3rem;line-height:1; }
  .cart-drawer-header h2 span { display:none; }
  .cart-drawer-close { min-height:25px;gap:5px;font-size:.875rem;line-height:1; }
  .cart-drawer-close svg { width:18px;height:18px; }
  .cart-drawer-body { padding:0; }
  .cart-drawer-item { grid-template-columns:65px minmax(0,1fr) 20px;gap:15px;padding:15px; }
  .cart-drawer-image-link,.cart-drawer-item > img,.cart-drawer-image-placeholder { width:65px;height:65px; }
  .cart-drawer-item h3 { max-width:none;margin-bottom:8px;font-size:.875rem;line-height:1.4; }
  .cart-drawer-item-bottom { align-items:flex-start;flex-direction:column;gap:8px;padding-top:6px; }
  .cart-drawer-quantity { height:32px;grid-template-columns:30px 32px 30px;border-color:#ddd; }
  .cart-drawer-quantity button,.cart-drawer-quantity span { font-size:.8rem; }
  .cart-drawer-price { justify-items:start;font-size:.8rem; }
  .cart-drawer-price small { color:var(--color-accent);font-size:.8rem; }
  .cart-drawer-price strong { display:none; }
  .cart-drawer-remove { width:20px;height:25px;padding:0; }
  .cart-drawer-remove svg { width:16px;height:16px; }
  .cart-drawer-footer { padding:15px;border-top:1px solid #dedede; }
  .cart-drawer-total { font-size:1rem; }
  .cart-drawer-total strong { font-size:1.05rem; }
  .cart-drawer-shipping { margin:14px 0; }
  .cart-drawer-checkout,.cart-drawer-view-cart { min-height:44px;font-size:.78rem; }
  .cart-drawer-secure { margin-top:11px; }
  .cart-drawer-payment-methods { margin-top:8px;padding-top:8px; }
  .cart-drawer-payment-methods .payment-methods { gap:5px; }
  .cart-drawer-payment-methods .payment-methods svg { width:34px;height:22px; }
}

@media (max-width:620px) {
  .cart-drawer-header { min-height:82px;padding:0 18px;margin:0; }
  .cart-drawer-header h2 { font-size:1.35rem; }
  .cart-drawer-header h2 span { display:none; }
  .cart-drawer-close { width:auto;font-size:.9rem; }
  .cart-drawer-close svg { width:23px;height:23px; }
}

.woocommerce-notices-wrapper { width:min(100% - 32px,1440px);margin:18px auto 0; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { margin:0 0 14px!important;padding:16px 18px 16px 52px!important;border:1px solid #d9d9d5!important;border-top:3px solid var(--color-accent)!important;background:#fff!important;color:#171717!important;font-size:.82rem!important; }
.woocommerce-error { border-top-color:#b53c2b!important; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--color-accent)!important;top:16px!important; }
.woocommerce-error::before { color:#b53c2b!important;top:16px!important; }

.wt-native-add-to-cart { display:grid;gap:12px;margin-top:6px; }
.wt-native-add-to-cart .quantity { width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #797979;background:#fff; }
.wt-native-add-to-cart .quantity button { min-height:58px;border:0;background:#fff;color:#171717;font-size:1.1rem;cursor:pointer; }
.wt-native-add-to-cart .quantity button:hover { color:var(--color-accent-dark);background:#fff5ef; }
.wt-native-add-to-cart .qty { width:100%;min-height:58px;padding:0;border:0;border-inline:1px solid #d5d5d5;text-align:center;font:700 .9rem/1 Poppins,sans-serif;-moz-appearance:textfield; }
.wt-native-add-to-cart .qty::-webkit-outer-spin-button,.wt-native-add-to-cart .qty::-webkit-inner-spin-button { margin:0;-webkit-appearance:none; }
.wt-native-add-to-cart .wt-add-to-cart-button { width:100%;min-height:62px;border:1px solid #ef5b17!important;background:#ef5b17!important;color:#fff!important;font:800 .76rem/1 Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.18s ease; }
.wt-native-add-to-cart .wt-add-to-cart-button:hover { border-color:#d64c0d!important;background:#d64c0d!important; }
.wt-add-to-cart-button:disabled { opacity:.5;cursor:not-allowed; }

/* WooCommerce wraps prices in nested amount elements. Keep the exact Wix
   hierarchy instead of letting those wrappers flatten the type and color. */
.product-price-display .product-price-pair s,.product-price-display .product-price-pair s .amount,.product-price-display .product-price-pair s bdi { color:#666!important;font-size:clamp(1.9rem,2.65vw,2.42rem)!important;font-weight:700!important; }
.product-price-display .product-price-pair strong,.product-price-display .product-price-pair strong .amount,.product-price-display .product-price-pair strong bdi { color:#ef5b17!important;font-size:clamp(2rem,2.8vw,2.55rem)!important;font-weight:700!important; }
.product-card-pricing s .amount,.product-card-pricing s bdi { color:#777!important;font-size:inherit!important;font-weight:500!important; }
.product-card-pricing strong .amount,.product-card-pricing strong bdi { color:#e55413!important;font-size:inherit!important;font-weight:800!important; }
.woocommerce-Price-amount .woocommerce-Price-currencySymbol { min-width:0!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important;font-style:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important; }
.retail-product-gallery .product-gallery-main { width:100%; }

/* Reference-style dynamic product summary. Payment plugins can populate the
   express-checkout hook without coupling this theme to a specific gateway. */
.product-detail-conversion { padding-top:24px; }
.reference-product-buybox { top:108px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important; }
.buybox-breadcrumbs { display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 22px;color:#858585;font-size:.69rem;line-height:1.45; }
.buybox-breadcrumbs a { color:#858585; }
.buybox-breadcrumbs a:hover { color:#ef5b17; }
.buybox-breadcrumbs strong { max-width:58%;overflow:hidden;color:#333;font-weight:600;text-overflow:ellipsis;white-space:nowrap; }
.reference-product-buybox h1 { margin:0 0 22px!important;color:#2d2d2d;font:700 clamp(1.85rem,2.45vw,2.7rem)/1.16 var(--font-display)!important;letter-spacing:-.035em!important; }
.reference-status-pills { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px; }
.reference-status-pill { min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid;border-radius:999px;font-size:.69rem;font-weight:600;line-height:1;white-space:nowrap; }
.reference-status-pill svg { width:13px;height:13px;flex:0 0 13px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round; }
.reference-status-pill.status-stock { border-color:#a3e0c0;background:#e6f9f0;color:#1a8a4a; }
.reference-status-pill.status-stock svg circle { fill:#1a8a4a;stroke:#1a8a4a; }
.reference-status-pill.status-stock svg path { stroke:#fff; }
.reference-status-pill.status-out { border-color:#efb0aa;background:#fff0ee;color:#a83830; }
.reference-status-pill.status-out svg circle { fill:#a83830;stroke:#a83830; }
.reference-status-pill.status-out svg path { stroke:#fff; }
.reference-status-pill.status-new { border-color:#b3ccf7;background:#eef4ff;color:#1a4fb5; }
.reference-status-pill.status-shipping { border-color:#f5d08a;background:#fff7e6;color:#a05c00; }
.reference-return-note { margin:9px 0 0;color:#707070;font-size:.67rem;line-height:1.6; }
.reference-return-note a { color:#ef5b17;text-decoration:underline;text-underline-offset:2px; }
.reference-product-price { display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:24px 0 20px;font-family:var(--font-display);line-height:1; }
.reference-product-price del,.reference-product-price del .amount,.reference-product-price del bdi { color:#aaa!important;font-size:clamp(1.2rem,1.65vw,1.55rem)!important;font-weight:400!important;text-decoration-color:#aaa; }
.reference-product-price ins,.reference-product-price ins .amount,.reference-product-price ins bdi { color:#ef5b17!important;font-size:clamp(1.75rem,2.2vw,2.15rem)!important;font-weight:600!important;text-decoration:none!important; }
.reference-product-purchase { display:block;margin:0; }
.reference-purchase-row { display:grid;grid-template-columns:106px minmax(126px,1fr) 126px;gap:10px;align-items:stretch; }
.reference-product-purchase .reference-quantity { width:106px!important;height:50px!important;display:grid!important;grid-template-columns:30px 46px 30px!important;border:1px solid #dedede!important;background:#fff!important; }
.reference-product-purchase .reference-quantity > * { width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;border:0!important;background:#fff!important;color:#555!important;font-size:.73rem!important; }
.reference-product-purchase .reference-quantity .qty { border-inline:1px solid #e4e4e4!important;font-weight:500!important; }
.reference-product-purchase .reference-add-to-cart,.reference-product-purchase .reference-buy-now { min-height:50px;padding:0 15px;border-radius:4px;font:600 .72rem/1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease; }
.reference-product-purchase .reference-add-to-cart { border:1px solid #ef5b17!important;background:#ef5b17!important;color:#fff!important; }
.reference-product-purchase .reference-add-to-cart:hover { border-color:#d64c0d!important;background:#d64c0d!important; }
.reference-product-purchase .reference-buy-now { border:1px solid #171717!important;background:#171717!important;color:#fff!important; }
.reference-product-purchase .reference-buy-now:hover { border-color:#000!important;background:#000!important;color:#fff!important; }
.reference-express-checkout:empty { display:none; }
.reference-express-checkout { margin-top:12px; }
.reference-express-checkout #wc-stripe-express-checkout-element { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;clear:both; }
.reference-express-checkout #wc-stripe-express-checkout-element > :nth-child(n+3) { grid-column:1/-1; }
.reference-product-meta { display:grid;gap:11px;margin-top:28px;color:#666;font-size:.72rem; }
.reference-product-meta p { margin:0; }
.reference-product-meta strong { color:#333;font-weight:600; }
.reference-product-meta a { color:#777; }
.reference-product-meta a:hover { color:#ef5b17; }
.reference-payment-methods { margin-top:28px;padding-top:24px;border-top:1px solid #e3e3e3; }
.reference-payment-methods h2 { margin:0 0 20px;color:#2d2d2d;font:700 1.38rem/1.2 var(--font-display); }
.reference-payment-methods .payment-methods { justify-content:flex-start;gap:8px;margin:0; }
.reference-payment-methods .payment-methods svg { width:48px;height:31px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1)); }

@media (max-width:1100px) {
  .reference-purchase-row { grid-template-columns:96px repeat(2,minmax(0,1fr)); }
  .reference-product-purchase .reference-quantity { width:96px!important;grid-template-columns:28px 40px 28px!important; }
}
@media (max-width:760px) {
  .reference-product-buybox { padding-top:4px!important; }
  .buybox-breadcrumbs strong { max-width:70%; }
  .reference-purchase-row { grid-template-columns:106px minmax(0,1fr) minmax(0,1fr); }
  .reference-product-purchase .reference-quantity { width:106px!important;grid-template-columns:30px 46px 30px!important; }
  .reference-product-purchase .reference-buy-now { grid-column:auto; }
}
@media (max-width:520px) {
  .reference-product-buybox h1 { font-size:1.85rem!important; }
  .reference-purchase-row { grid-template-columns:106px minmax(0,1fr); }
  .reference-product-purchase .reference-buy-now { grid-column:1/-1; }
  .reference-status-pill { font-size:.64rem; }
}

/* Preserve the Wix catalogue card geometry inside Woo archives. */
.product-grid-collection .product-card { min-width:0; }
.product-grid-collection .product-card-link { height:100%; }
.product-grid-collection .product-card-media { flex:0 0 245px; }
.product-grid-collection .product-card-body { min-width:0; }

.wt-shop-page { padding:42px 0 90px; }
.wt-shop-header { display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,520px);gap:40px;align-items:end;margin-bottom:34px; }
.wt-shop-header p:first-child { margin:0 0 8px;color:var(--color-accent-dark);font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.wt-shop-header h1 { margin:0;font-size:clamp(2rem,4vw,4.25rem);letter-spacing:-.055em;line-height:1; }
.wt-shop-header > p { margin:0;color:#5c6368;font-size:.88rem;line-height:1.75; }
.wt-category-rail { display:flex;gap:9px;margin:0 0 34px;padding:0 0 10px;overflow-x:auto;scrollbar-width:none; }
.wt-category-rail::-webkit-scrollbar { display:none; }
.wt-category-rail a { flex:0 0 auto;padding:11px 16px;border:1px solid #d5d5d1;background:#fff;font-size:.7rem;font-weight:700;letter-spacing:.035em; }
.wt-category-rail a[aria-current="page"],.wt-category-rail a:hover { border-color:#171717;background:#171717;color:#fff; }
.wt-product-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px; }
.wt-pagination { margin-top:48px; }
.wt-pagination .page-numbers { display:flex;justify-content:center;gap:8px;list-style:none; }
.wt-pagination a,.wt-pagination span { min-width:42px;height:42px;display:grid;place-items:center;border:1px solid #d5d5d1;background:#fff;font-size:.75rem; }
.wt-pagination .current,.wt-pagination a:hover { border-color:#171717;background:#171717;color:#fff; }

.wt-cart-page { padding:0 0 100px;background:#fff; }
.wt-checkout-steps { margin:0 0 54px;padding:29px 0;background:var(--color-ink);color:#fff; }
.wt-checkout-steps ol { display:flex;align-items:center;justify-content:center;margin:0;padding:0;list-style:none; }
.wt-checkout-steps li { position:relative;display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.52);font-size:.76rem;letter-spacing:.025em;text-transform:uppercase; }
.wt-checkout-steps li + li { margin-left:74px; }
.wt-checkout-steps li + li::before { content:"";position:absolute;right:calc(100% + 17px);width:40px;height:1px;background:rgba(255,255,255,.25); }
.wt-checkout-steps li span { width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;font-size:.7rem; }
.wt-checkout-steps li.is-active { color:#fff; }
.wt-checkout-steps li.is-active span { border-color:var(--color-accent);background:var(--color-accent); }
.wt-cart-page-header { margin:0 0 34px; }
.wt-cart-page-header .kicker { margin:0 0 9px;color:var(--color-accent-dark);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.wt-cart-page-header h1 { margin:0;font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.05em;line-height:1; }
.wt-cart-content-wrapper { display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:42px;align-items:start; }
.wt-cart-content-wrapper .woocommerce-cart-form { min-width:0; }
.wt-cart-table { width:100%;margin:0;border:0!important;border-collapse:collapse;background:#fff;table-layout:fixed; }
.wt-cart-table col.wt-col-remove { width:34px; }
.wt-cart-table col.wt-col-thumbnail { width:112px; }
.wt-cart-table col.wt-col-price { width:144px; }
.wt-cart-table col.wt-col-quantity { width:118px; }
.wt-cart-table col.wt-col-subtotal { width:120px; }
.wt-cart-table th,.wt-cart-table td { border:0!important;background:transparent!important; }
.wt-cart-table thead { background:linear-gradient(var(--color-ink),var(--color-ink)) left bottom/100% 2px no-repeat; }
.wt-cart-table thead tr { height:48px; }
.wt-cart-table thead th { height:48px;padding:0 10px 15px!important;border:0!important;color:#3d4246;font-size:.65rem;font-weight:800;letter-spacing:.085em;line-height:1;text-align:left;text-transform:uppercase;vertical-align:bottom; }
.wt-cart-table thead .product-remove { padding-left:0!important; }
.wt-cart-table thead .product-name { padding-left:14px!important; }
.wt-cart-table thead .product-quantity { text-align:center; }
.wt-cart-table thead .product-subtotal { text-align:right; }
.wt-cart-table .cart_item { background:linear-gradient(var(--color-rule),var(--color-rule)) left bottom/100% 1px no-repeat; }
.wt-cart-table .cart_item td { height:140px;padding:24px 10px;border:0!important;vertical-align:middle; }
.wt-cart-table .cart_item .product-remove { padding-left:0; }
.wt-cart-table .product-remove .remove { width:26px;height:26px;display:grid!important;place-items:center;border:1px solid #d5d7d8;border-radius:50%;color:#777!important;font-size:1.1rem!important;font-weight:400!important;line-height:1!important;text-decoration:none!important;transition:.15s ease; }
.wt-cart-table .product-remove .remove:hover { border-color:var(--color-accent);background:var(--color-accent)!important;color:#fff!important; }
.wt-cart-table .product-thumbnail { width:112px; }
.wt-cart-table .product-thumbnail a { width:92px;height:92px;display:block;border:1px solid #e1e2e2;background:#f7f7f5; }
.wt-cart-table .product-thumbnail img { width:100%;height:100%;padding:5px;object-fit:contain; }
.wt-cart-table .product-name { padding-left:14px!important; }
.wt-cart-table .product-name > small { display:block;margin:0 0 5px;color:var(--color-accent-dark);font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase; }
.wt-cart-table .product-name > a { display:block;color:var(--color-ink);font-size:.8rem;font-weight:750;line-height:1.45; }
.wt-cart-table .product-name > a:hover { color:var(--color-accent-dark); }
.wt-cart-table .variation { margin:6px 0 0;color:var(--color-mute);font-size:.66rem; }
.wt-cart-table .variation dt,.wt-cart-table .variation dd { display:inline;margin:0; }
.wt-cart-table .variation dd + dt::before { content:" · "; }
.wt-cart-price-pair { display:flex;align-items:flex-start;flex-direction:column;gap:3px; }
.wt-cart-compare-price,.wt-cart-compare-price .amount,.wt-cart-compare-price bdi { color:#84888b!important;font-size:.68rem!important;font-weight:500!important;white-space:nowrap; }
.wt-cart-unit-price,.wt-cart-unit-price .amount,.wt-cart-unit-price bdi { color:var(--color-accent-dark)!important;font-size:.81rem!important;font-weight:800!important;white-space:nowrap; }
.wt-cart-quantity { width:max-content;display:grid;grid-template-columns:30px 40px 30px;align-items:center;margin:auto;border:1px solid #cfd2d3;background:#fff; }
.wt-cart-quantity > button { width:30px;height:40px;display:grid;place-items:center;padding:0;border:0;background:#fff;color:var(--color-ink);font-size:.92rem;line-height:1;cursor:pointer; }
.wt-cart-quantity > button:hover { color:var(--color-accent-dark);background:var(--color-accent-soft); }
.wt-cart-quantity .quantity { width:40px;margin:0; }
.wt-cart-quantity .qty { width:40px;height:40px;padding:0;border:0;border-inline:1px solid #e0e2e3;background:#fff;text-align:center;font-size:.76rem;font-weight:750;-moz-appearance:textfield; }
.wt-cart-quantity .qty::-webkit-outer-spin-button,.wt-cart-quantity .qty::-webkit-inner-spin-button { margin:0;-webkit-appearance:none; }
.wt-cart-table .product-subtotal { color:var(--color-ink);font-size:.84rem;font-weight:750;text-align:right;white-space:nowrap; }
.wt-cart-table .wt-cart-action-row td { padding:22px 0 0!important; }
.wt-cart-actions { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.wt-cart-actions .coupon { display:grid;grid-template-columns:minmax(150px,210px) auto; }
.wt-cart-actions .coupon input { min-width:0;height:46px;padding:0 13px;border:1px solid #bfc3c5;border-right:0;background:#fff;font-size:.75rem; }
.wt-cart-actions button { min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--color-ink);background:#fff;color:var(--color-ink);font-size:.63rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer; }
.wt-cart-actions .coupon button { border-color:var(--color-accent);background:var(--color-accent);color:#fff; }
.wt-cart-actions .coupon button:hover { border-color:var(--color-accent-dark);background:var(--color-accent-dark); }
.wt-cart-actions .wt-update-cart:hover:not(:disabled) { background:var(--color-ink);color:#fff; }
.wt-cart-actions button:disabled { opacity:.38;cursor:not-allowed; }
.wt-cart-summary { position:sticky;top:170px;padding:29px;border:1px solid var(--color-rule);background:var(--color-paper-warm); }
.wt-cart-summary .cart_totals { width:100%; }
.wt-cart-summary h2 { margin:0 0 24px;font-size:1.65rem;letter-spacing:-.035em; }
.wt-cart-summary table { width:100%;border:0;border-collapse:collapse;background:transparent; }
.wt-cart-summary tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:13px 0;border-top:1px solid #d5d8d5; }
.wt-cart-summary th,.wt-cart-summary td { width:auto;padding:0!important;border:0!important;background:transparent!important;text-align:left;vertical-align:top;font-size:.78rem; }
.wt-cart-summary th { color:var(--color-ink);font-weight:700; }
.wt-cart-summary td { color:var(--color-ink-soft);text-align:right; }
.wt-cart-summary .order-total { margin:0;padding-top:18px;font-size:1rem; }
.wt-cart-summary .order-total th,.wt-cart-summary .order-total td,.wt-cart-summary .order-total .amount,.wt-cart-summary .order-total bdi { color:var(--color-ink)!important;font-size:1rem!important;font-weight:800!important; }
.wt-cart-summary .woocommerce-shipping-methods { margin:0;padding:0;list-style:none; }
.wt-cart-summary .woocommerce-shipping-methods li + li { margin-top:7px; }
.wt-cart-summary .woocommerce-shipping-destination,.wt-cart-summary .woocommerce-shipping-calculator { margin:8px 0 0;font-size:.7rem;line-height:1.5; }
.wt-cart-summary .wc-proceed-to-checkout { padding:0; }
.wt-cart-summary .checkout-button { width:100%;min-height:56px;display:flex!important;align-items:center;justify-content:center;margin:22px 0 0!important;padding:0 18px!important;border:1px solid var(--color-accent)!important;border-radius:0!important;background:var(--color-accent)!important;color:#fff!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.055em;text-align:center;text-transform:uppercase; }
.wt-cart-summary .checkout-button:hover { border-color:var(--color-accent-dark)!important;background:var(--color-accent-dark)!important; }
.wt-cart-payment-trust { margin-top:22px;padding-top:18px;border-top:1px solid #d5d8d5; }
.wt-cart-payment-trust > strong { display:block;margin-bottom:12px;color:var(--color-ink-soft);font-size:.7rem;letter-spacing:.025em; }
.wt-cart-payment-trust .payment-methods { justify-content:flex-start;gap:6px;margin:0; }
.wt-cart-payment-trust .payment-methods svg { width:40px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1)); }

.wt-content-page { width:min(100% - 32px,980px);margin:0 auto;padding:60px 0 100px; }
.wt-content-page h1 { margin:0 0 28px;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.05em; }
.wt-content-page .entry-content { color:#3e454a;font-size:.94rem;line-height:1.8; }
.wt-content-page .entry-content h2 { margin:42px 0 12px;color:#171717;font-size:1.65rem; }
.wt-content-page .entry-content h3 { margin:28px 0 10px;color:#171717;font-size:1.15rem; }

/* Native WooCommerce checkout. */
.woocommerce-checkout .wt-content-page { width:min(calc(100% - 48px),1180px);padding:52px 0 100px; }
.woocommerce-checkout .wt-content-page > h1 { margin-bottom:38px;font-size:clamp(2.4rem,5vw,4.5rem); }
.woocommerce-checkout form.checkout { display:grid;grid-template-columns:minmax(0,1fr) 430px;column-gap:64px;align-items:start; }
.woocommerce-checkout #customer_details { grid-column:1;grid-row:1 / span 2;min-width:0; }
.woocommerce-checkout #order_review_heading { grid-column:2;grid-row:1;margin:0 0 16px;padding-bottom:14px;border-bottom:2px solid #171717;font-size:1.7rem; }
.woocommerce-checkout #order_review { grid-column:2;grid-row:2;padding:26px;border:1px solid #d6d6d1;background:#f4f4f1; }
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2 { width:100%;float:none; }
.woocommerce-checkout #customer_details .col-2 { margin-top:36px;padding-top:30px;border-top:1px solid #ddd; }
.woocommerce-checkout h3 { margin:0 0 22px;font-size:1.7rem; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px; }
.woocommerce-checkout .form-row { width:100%!important;float:none!important;margin:0!important;padding:0!important; }
.woocommerce-checkout .form-row-wide,.woocommerce-checkout #billing_address_1_field,.woocommerce-checkout #billing_address_2_field,.woocommerce-checkout #shipping_address_1_field,.woocommerce-checkout #shipping_address_2_field { grid-column:1 / -1; }
.woocommerce-checkout label { display:block;margin:0 0 7px;color:#34383c;font-size:.7rem;font-weight:750;letter-spacing:.025em; }
.woocommerce-checkout .required { color:#c9470f;text-decoration:none; }
.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,.woocommerce-checkout select,.woocommerce-checkout .select2-container .select2-selection { width:100%;min-height:48px;padding:11px 13px;border:1px solid #c8cbcd;border-radius:0;background:#fff;color:#171a1d;box-shadow:none;font-size:.82rem; }
.woocommerce-checkout textarea { min-height:120px;resize:vertical; }
.woocommerce-checkout .select2-container { width:100%!important; }
.woocommerce-checkout .select2-container .select2-selection__rendered { line-height:25px;padding-left:0; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height:46px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table { width:100%;border-collapse:collapse;font-size:.75rem; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding:13px 0;border-bottom:1px solid #d7d7d1;text-align:left;vertical-align:top; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child,.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align:right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total { font-size:.9rem; }
.woocommerce-checkout #payment { margin-top:24px; }
.woocommerce-checkout .wc_payment_methods { margin:0 0 20px;padding:0;list-style:none; }
.woocommerce-checkout .woocommerce-privacy-policy-text { margin:18px 0;color:#5c6267;font-size:.7rem;line-height:1.65; }
.woocommerce-checkout #place_order { width:100%;min-height:56px;border:1px solid #f16623;background:#f16623;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }
.woocommerce-checkout #place_order:hover { border-color:#c9470f;background:#c9470f; }
.wt-checkout-payment-trust { margin-top:18px;padding-top:17px;border-top:1px solid #d7d7d1; }
.wt-checkout-payment-trust > span { display:block;margin-bottom:11px;color:#555;font-size:.67rem;font-weight:650; }
.wt-checkout-payment-trust .payment-methods { justify-content:flex-start;gap:6px;margin:0; }
.wt-checkout-payment-trust .payment-methods svg { width:38px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1)); }

@media (max-width:1100px) {
  .wt-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wt-cart-content-wrapper { grid-template-columns:1fr; }
  .wt-cart-summary { position:static;width:min(100%,560px); }
}
@media (max-width:900px) {
  .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column:1;grid-row:auto; }
  .woocommerce-checkout #order_review_heading { margin-top:42px; }
}
@media (max-width:780px) {
  .wt-shop-header { grid-template-columns:1fr;gap:16px; }
  .wt-product-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
  .wt-cart-page { padding-bottom:72px; }
  .wt-checkout-steps { margin-bottom:38px;padding:22px 0; }
  .wt-checkout-steps li + li { margin-left:42px; }
  .wt-checkout-steps li + li::before { right:calc(100% + 11px);width:20px; }
  .wt-cart-page-header { margin-bottom:25px; }
  .wt-cart-table,.wt-cart-table tbody { display:block; }
  .wt-cart-table thead { display:none; }
  .wt-cart-table .cart_item { position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:15px;padding:20px 30px 20px 0;border-top:1px solid var(--color-rule); }
  .wt-cart-table .cart_item td { width:auto!important;padding:0!important;border:0!important; }
  .wt-cart-table .cart_item .product-remove { position:absolute;z-index:1;top:18px;right:0; }
  .wt-cart-table .product-thumbnail { grid-column:1;grid-row:1 / span 4; }
  .wt-cart-table .product-thumbnail a { width:92px;height:92px; }
  .wt-cart-table .product-name { grid-column:2;margin-bottom:14px;padding-right:8px!important; }
  .wt-cart-table .product-price,.wt-cart-table .product-quantity,.wt-cart-table .product-subtotal { grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:39px;border-top:1px solid #ececea!important;text-align:right; }
  .wt-cart-table .product-price::before,.wt-cart-table .product-quantity::before,.wt-cart-table .product-subtotal::before { content:attr(data-title);color:#707579;font-size:.59rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }
  .wt-cart-price-pair { align-items:flex-end; }
  .wt-cart-quantity { margin:0; }
  .wt-cart-table .wt-cart-action-row { display:block; }
  .wt-cart-table .wt-cart-action-row td { display:block; }
  .wt-cart-actions { align-items:stretch;flex-direction:column; }
  .wt-cart-actions .coupon { width:min(100%,430px); }
  .wt-cart-actions > button { align-self:flex-start; }
}
@media (max-width:520px) {
  .wt-product-grid { grid-template-columns:1fr; }
  .wt-checkout-steps ol { justify-content:space-between; }
  .wt-checkout-steps li { gap:6px;font-size:.54rem;letter-spacing:0; }
  .wt-checkout-steps li + li { margin-left:18px; }
  .wt-checkout-steps li + li::before { display:none; }
  .wt-checkout-steps li span { width:24px;height:24px;font-size:.58rem; }
  .wt-cart-page-header h1 { font-size:2.45rem; }
  .wt-cart-table .cart_item { grid-template-columns:76px minmax(0,1fr);column-gap:12px;padding-right:26px; }
  .wt-cart-table .product-thumbnail a { width:76px;height:76px; }
  .wt-cart-table .product-name > a { font-size:.73rem; }
  .wt-cart-actions .coupon { grid-template-columns:1fr;gap:8px; }
  .wt-cart-actions .coupon input { border-right:1px solid #bfc3c5; }
  .wt-cart-actions button,.wt-cart-actions > button { width:100%; }
  .wt-cart-summary { width:100%;padding:24px 18px; }
  .wt-cart-payment-trust .payment-methods { flex-wrap:wrap; }
  .product-price-display .product-price-pair s,.product-price-display .product-price-pair s .amount,.product-price-display .product-price-pair s bdi { font-size:1.8rem!important; }
  .product-price-display .product-price-pair strong,.product-price-display .product-price-pair strong .amount,.product-price-display .product-price-pair strong bdi { font-size:1.9rem!important; }
  .woocommerce-checkout .wt-content-page { width:min(calc(100% - 28px),1180px);padding-top:32px; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  .woocommerce-checkout .form-row { grid-column:1!important; }
  .woocommerce-checkout #order_review { padding:20px 16px; }
}
