/* CORDEL — WooCommerce pages: cart, checkout, account, thank-you */

/* ============================================================
   SHARED PAGE SHELL
   These pages render through page.php, so we style the wrapper that
   ACTUALLY exists (.page-wrap / .entry-content) rather than inventing one.
   No theme woocommerce.php: adding one hijacks every WooCommerce page
   (archives and products included) and breaks them.
   ============================================================ */
.woocommerce-cart .page-wrap,
.woocommerce-checkout .page-wrap,
.woocommerce-account .page-wrap,
.woocommerce-order-received .page-wrap{max-width:1340px;margin:0 auto;width:100%;padding-inline:var(--pad);padding-block:0 clamp(48px,6vw,90px)}

/* page.php prints the WP page title; our templates print their own masthead,
   so hide the duplicate. */
.woocommerce-cart .page-wrap>article>.entry-title,
.woocommerce-checkout .page-wrap>article>.entry-title,
.woocommerce-order-received .page-wrap>article>.entry-title{display:none}
.woocommerce-account .entry-title{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;font-size:clamp(30px,4.4vw,54px);line-height:1;margin-bottom:clamp(24px,3vw,40px)}

/* WooCommerce's own clearfix/float helpers fight our grids — neutralise. */
.woocommerce-cart .col2-set .col-1,
.woocommerce-cart .col2-set .col-2,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{float:none;width:100%}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-account .woocommerce{display:grid!important;grid-template-columns:280px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start;width:100%}
.woocommerce-account.logged-out .woocommerce{display:block!important}
/* WooCommerce's woocommerce-layout.css floats the nav at 30% and the content
   at 68%, which breaks the grid. Beat it on specificity AND load order. */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{display:none!important;content:none!important}

/* nav */
.acc-nav{border:1px solid var(--line);background:var(--bone-2);position:sticky;top:96px}
.acc-nav-user{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}
.anu-avatar{flex-shrink:0;line-height:0}
.anu-avatar img{width:44px;height:44px;border-radius:50%;display:block;object-fit:cover;flex-shrink:0}
.anu-meta{min-width:0;display:flex;flex-direction:column;gap:2px}
.anu-name{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anu-mail{font-size:12px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-nav ul{list-style:none;padding:8px 0;margin:0}
.acc-nav li{margin:0}
.acc-nav li a{display:flex;align-items:center;gap:11px;padding:12px 20px;font-family:var(--mono);font-size:14px;color:var(--txt-2);transition:all .18s;white-space:nowrap;text-decoration:none}
.acc-nav li a svg{width:17px;height:17px;stroke:var(--faint);flex-shrink:0;transition:stroke .18s}
.acc-nav li a:hover{background:var(--bone);color:var(--txt)}
.acc-nav li.is-active a{background:var(--bone);color:var(--oxblood);font-weight:600;box-shadow:inset 3px 0 0 var(--oxblood)}
.acc-nav li.is-active a svg{stroke:var(--oxblood)}

/* content */
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>p{color:var(--txt-2);line-height:1.7}

/* dashboard */
.acc-hello h2{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;font-size:clamp(26px,3.4vw,38px);margin-bottom:6px}
.acc-hello p{color:var(--txt-2);font-size:14px}
.acc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.acc-stat{border:1px solid var(--line);background:var(--bone-2);padding:18px}
.as-n{font-size:24px;font-weight:700;color:var(--txt);letter-spacing:-.01em}
.as-n .amount{font-size:24px}
.as-l{font-size:12.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.acc-block{margin-bottom:28px}
.acc-block-h{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.acc-block-h h3{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
.acc-block-h a{font-size:13px;color:var(--txt-2)}
.acc-block-h a:hover{color:var(--oxblood)}
.acc-orders{display:flex;flex-direction:column}
.acc-order{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.acc-order:hover{background:var(--bone-2)}
.ao-id{font-size:14px;font-weight:600;color:var(--txt)}
.ao-date{font-size:13px;color:var(--faint)}
.ao-status{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border:1px solid var(--line);color:var(--txt-2)}
.ao-completed{border-color:var(--ok);color:var(--ok)}
.ao-processing{border-color:var(--brass-ink);color:var(--brass-ink)}
.ao-cancelled,.ao-failed{border-color:var(--err);color:var(--err)}
.ao-total{font-size:14px;font-weight:600;color:var(--txt)}
.acc-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px}
.acc-link{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 13px;border:1px solid var(--line);background:var(--bone);padding:18px;transition:all .2s}
.acc-link:hover{border-color:var(--tan);background:var(--bone-2)}
.acc-link svg{width:21px;height:21px;stroke:var(--tan);grid-row:1/3;align-self:center}
.al-t{font-family:var(--disp);font-weight:700;font-size:15.5px;color:var(--txt)}
.al-s{font-size:12.5px;color:var(--faint)}
.acc-help{border:1px solid var(--line);background:var(--bone-2);padding:22px}
.acc-help-t{font-family:var(--disp);font-weight:700;font-size:17px;margin-bottom:6px}
.acc-help p{font-size:13.5px;color:var(--txt-2);margin-bottom:14px}

/* orders / downloads / addresses tables */
.woocommerce-account table.shop_table{border:1px solid var(--line);background:var(--bone);border-collapse:collapse;width:100%}
.woocommerce-account table.shop_table thead th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:14px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-account table.shop_table td{padding:16px 14px;border-bottom:1px solid var(--line);font-size:14px}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions .button{margin:0 4px 0 0}
.woocommerce-account .woocommerce-Address{border:1px solid var(--line);background:var(--bone-2);padding:22px}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{font-family:var(--disp);font-weight:800;font-size:18px}
.woocommerce-account .woocommerce-Address-title a{font-family:var(--mono);font-size:13px;color:var(--oxblood);text-decoration:underline}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:var(--txt-2);line-height:1.7;font-size:14px}
.woocommerce-account .addresses .col-1,
.woocommerce-account .addresses .col-2{width:48%}

/* auth (login / register) */
.acc-auth{max-width:1000px;margin:0 auto;display:grid;gap:clamp(20px,3vw,36px)}
.acc-auth.has-reg{grid-template-columns:1fr 1fr}
.acc-auth-panel{border:1px solid var(--line);background:var(--bone-2);padding:clamp(24px,3vw,38px)}
.acc-auth-reg{background:var(--bone)}
.acc-auth-panel h2{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;font-size:26px;margin-bottom:5px}
.acc-auth-sub{font-size:13.5px;color:var(--txt-2);margin-bottom:22px}
.acc-field{display:block;margin-bottom:16px}
.acc-field span{display:block;font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--txt-2);margin-bottom:7px}
.acc-field input{width:100%;border:1px solid var(--line);background:var(--bone);padding:14px;font-family:var(--body);font-size:16px;color:var(--txt)}
.acc-auth-reg .acc-field input{background:var(--bone-2)}
.acc-field input:focus{outline:0;border-color:var(--oxblood)}
.acc-auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.acc-check{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--txt-2);cursor:pointer}
.acc-lost{font-size:13px;color:var(--txt-2);text-decoration:underline}
.acc-lost:hover{color:var(--oxblood)}
.acc-note{font-size:13px;color:var(--faint);margin-bottom:16px;line-height:1.6}
.acc-auth button{width:100%;background:var(--oxblood)!important;color:var(--bone)!important;border:0!important;border-radius:0!important;font-family:var(--mono)!important;font-size:15px!important;font-weight:600!important;padding:16px!important;cursor:pointer;transition:background .25s!important}
.acc-auth button:hover{background:var(--ink)!important}

/* ============================================================
   THANK YOU
   ============================================================ */
.ty{max-width:720px;margin:0 auto;text-align:center}
.ty-tick svg{width:60px;height:60px;stroke:var(--oxblood);margin-bottom:18px}
.ty-head h1{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;font-size:clamp(30px,4.6vw,52px);line-height:1.05;margin-bottom:12px}
.ty-sub{color:var(--txt-2);font-size:16px;line-height:1.7}
.ty-steps{display:flex;align-items:center;justify-content:center;gap:0;margin:clamp(32px,5vw,52px) 0}
.ty-step{display:flex;flex-direction:column;align-items:center;gap:9px;flex:1;position:relative}
.ty-step::before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:1px;background:var(--line)}
.ty-step:first-child::before{display:none}
.ty-step.done::before{background:var(--oxblood)}
.ts-dot{width:15px;height:15px;border-radius:50%;border:1px solid var(--line);background:var(--bone);position:relative;z-index:1}
.ty-step.done .ts-dot{background:var(--oxblood);border-color:var(--oxblood)}
.ts-l{font-size:12.5px;color:var(--faint)}
.ty-step.done .ts-l{color:var(--txt)}
.ty-meta{list-style:none;border:1px solid var(--line);background:var(--bone-2);display:grid;grid-template-columns:repeat(2,1fr);text-align:left}
.ty-meta li{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ty-meta li:nth-child(odd){border-right:1px solid var(--line)}
.ty-meta li:nth-last-child(-n+2){border-bottom:0}
.tm-l{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}
.tm-v{font-size:15px;font-weight:600;color:var(--txt)}
.ty-account{border:1px solid var(--line);padding:24px;margin-top:26px}
.ty-account-t{font-family:var(--disp);font-weight:700;font-size:18px;margin-bottom:6px}
.ty-account p{font-size:13.5px;color:var(--txt-2);margin-bottom:14px}
.ty-back{display:inline-block;margin-top:30px;font-family:var(--mono);font-size:13.5px;color:var(--txt-2)}
.ty-back:hover{color:var(--oxblood)}
.ty-fail{padding:40px 0}
.ty-fail h2{font-family:var(--disp);font-weight:800;font-size:32px;margin-bottom:10px}
.ty-fail p{color:var(--txt-2);margin-bottom:22px}
.ty-fail-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{margin-top:36px;text-align:left}
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2{font-family:var(--disp);font-weight:800;font-size:20px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.woocommerce-order-received table.shop_table{border:1px solid var(--line);width:100%;border-collapse:collapse;background:var(--bone)}
.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px;text-align:left}
.woocommerce-order-received table.shop_table td{font-family:var(--mono)}

/* ============================================================
   NOTICES (shared)
   ============================================================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--line);border-top:2px solid var(--oxblood);background:var(--bone-2)!important;font-family:var(--mono);font-size:13.5px;padding:16px 20px 16px 46px!important;border-radius:0;list-style:none}
.woocommerce-message::before,.woocommerce-info::before{color:var(--oxblood)!important;top:16px;left:18px}
.woocommerce-error{border-top-color:var(--err);background:var(--err-bg)!important}
.woocommerce-error::before{color:var(--err)!important;top:16px;left:18px}
.woocommerce-message .button,.woocommerce-info .button{background:none!important;color:var(--oxblood)!important;padding:0!important;text-decoration:underline;font-size:13.5px!important}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ============================================================
   THE LEDGER — cart
   Full-bleed hairlines, numbered entries, editorial type.
   No cards, no shadows, no rounded corners.
   ============================================================ */
.ledger{padding-bottom:clamp(60px,8vw,110px)}

/* masthead */
.ledger-mast{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,56px) 0 clamp(20px,2.5vw,30px);border-bottom:1px solid var(--txt)}
.ledger-ttl{font-family:var(--disp);font-weight:800;letter-spacing:-.045em;font-size:clamp(44px,8vw,104px);line-height:.82;color:var(--txt)}
.ledger-tally{display:flex;align-items:flex-end;gap:12px;flex-shrink:0;padding-bottom:6px}
.lt-n{font-size:clamp(30px,4vw,46px);font-weight:600;line-height:.8;color:var(--oxblood);letter-spacing:-.02em}
.lt-l{font-size:12.5px;line-height:1.3;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}

/* body: entries + docket */
.ledger-body{display:grid;grid-template-columns:1fr 330px;gap:clamp(30px,5vw,80px);align-items:start}

/* an entry */
.entries{min-width:0}
.entry{display:grid;grid-template-columns:30px 108px 1fr auto;gap:clamp(14px,2vw,26px);padding:clamp(22px,3vw,34px) 0;border-bottom:1px solid var(--line);align-items:start}
.entry-no{font-size:12px;color:var(--faint);padding-top:5px;letter-spacing:.04em}
.entry-plate{aspect-ratio:4/5;overflow:hidden;background:var(--bone-2);border:1px solid var(--line)}
.entry-plate img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--e2)}
.entry-plate:hover img{transform:scale(1.04)}
.entry-read{min-width:0;padding-top:2px}
.entry-name{font-family:var(--disp);font-weight:700;font-size:clamp(19px,2vw,25px);letter-spacing:-.02em;line-height:1.1;margin-bottom:7px}
.entry-name a{color:var(--txt);transition:color .2s}
.entry-name a:hover{color:var(--oxblood)}
.entry-spec{font-size:12.5px;color:var(--faint);letter-spacing:.02em;padding-bottom:2px}
.entry-meta{font-size:13px;color:var(--txt-2);margin-top:5px}
.entry-meta dl{display:flex;gap:5px;flex-wrap:wrap}
.entry-meta dt{font-weight:600}
.entry-meta p{margin:0}
.entry-back{font-size:12px;color:var(--brass-ink);margin-top:6px;letter-spacing:.03em}
.entry-hand{display:flex;align-items:center;gap:16px;margin-top:16px}
.entry-hand .quantity{display:flex;align-items:center;border:1px solid var(--line);background:var(--bone)}
.entry-hand .quantity input.qty{width:52px;height:38px;text-align:center;border:0;background:none;font-family:var(--mono);font-size:14px;color:var(--txt);-moz-appearance:textfield}
.entry-hand .quantity input.qty::-webkit-outer-spin-button,
.entry-hand .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-one{width:52px;height:38px;display:grid;place-items:center;border:1px solid var(--line);font-size:14px}
.entry-cut{font-family:var(--mono);font-size:12.5px;color:var(--faint);letter-spacing:.04em;text-transform:lowercase;position:relative;transition:color .2s}
.entry-cut::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--e2)}
.entry-cut:hover{color:var(--oxblood)}
.entry-cut:hover::after{transform:scaleX(1);transform-origin:left}
.entry-sum{text-align:right;padding-top:4px;display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.es-each{font-size:12px;color:var(--faint);letter-spacing:.03em}
.es-line{font-family:var(--mono);font-size:clamp(17px,1.6vw,21px);font-weight:600;color:var(--txt)}

/* ledger foot: coupon + update */
.ledger-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:26px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.chit{flex:1;min-width:250px;max-width:360px}
.chit-l{display:block;font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}
.chit-in{display:flex;border-bottom:1px solid var(--txt)}
.chit-in input{flex:1;border:0;background:none;padding:8px 0;font-family:var(--mono);font-size:14px;color:var(--txt)}
.chit-in input:focus{outline:0}
.chit-in input::placeholder{color:var(--faint)}
.chit-go{border:0;background:none;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--oxblood);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:8px 0 8px 16px;transition:color .2s}
.chit-go:hover{color:var(--ink)}
.ledger-redo{border:0;background:none;font-size:12.5px;color:var(--faint);letter-spacing:.04em;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:4px;transition:color .2s}
.ledger-redo:hover{color:var(--txt)}
.ledger-back{display:inline-block;margin-top:26px;font-family:var(--mono);font-size:13px;color:var(--txt-2);letter-spacing:.02em;position:relative}
.ledger-back::before{content:"← "}
.ledger-back:hover{color:var(--oxblood)}

/* ============================================================
   THE DOCKET — totals, as a tag tied to the order
   ============================================================ */
.docket{position:sticky;top:96px}
.docket-in{border:1px solid var(--txt);background:transparent}
.docket-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--txt)}
.dh-l{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--txt)}
.dh-r{font-size:11.5px;color:var(--faint);letter-spacing:.04em}
a.dh-r{text-decoration:underline;text-underline-offset:3px}
a.dh-r:hover{color:var(--oxblood)}

/* totals table (WooCommerce prints this) */
.docket-totals{padding:6px 16px 14px}
.docket-totals h2{display:none}
.docket-totals table{width:100%;border-collapse:collapse}
.docket-totals table th,
.docket-totals table td{padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;text-align:left;vertical-align:top}
.docket-totals table th{font-family:var(--mono);font-weight:400;color:var(--txt-2);letter-spacing:.02em}
.docket-totals table td{text-align:right;font-family:var(--mono);color:var(--txt)}
.docket-totals .order-total th,
.docket-totals .order-total td{border-bottom:0;border-top:1px solid var(--txt);padding-top:14px;font-size:19px;font-weight:700;color:var(--txt)}
.docket-totals .order-total th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--txt);padding-top:18px}
.docket-totals .woocommerce-shipping-methods{list-style:none;text-align:right}
.docket-totals .woocommerce-shipping-methods li{margin-bottom:5px;font-size:13px}
.docket-totals .woocommerce-shipping-destination{font-size:12px;color:var(--faint);margin-top:4px}
.docket-totals .shipping-calculator-button{font-family:var(--mono);font-size:12px;color:var(--oxblood);text-decoration:underline;text-underline-offset:3px}
.docket-totals .wc-proceed-to-checkout{padding:16px 0 4px}
.docket-totals .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;background:var(--oxblood);color:var(--bone)!important;text-align:center;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:17px;border:0;transition:background .3s var(--e1)}
.docket-totals .wc-proceed-to-checkout a.checkout-button:hover{background:var(--ink)}

/* the word: quiet reassurance, not badges */
.docket-word{list-style:none;border-top:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.docket-word li{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.02em;padding-left:14px;position:relative;line-height:1.45}
.docket-word li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:1px;background:var(--tan)}

/* ============================================================
   THE ORDER FORM — checkout
   ============================================================ */
.checkout-sheet{padding-bottom:clamp(60px,8vw,110px)}
.co-mast{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,56px) 0 clamp(20px,2.5vw,30px);border-bottom:1px solid var(--txt);flex-wrap:wrap}
.co-ttl{font-family:var(--disp);font-weight:800;letter-spacing:-.045em;font-size:clamp(44px,8vw,104px);line-height:.82;color:var(--txt)}
.co-trail{display:flex;align-items:center;gap:10px;padding-bottom:10px;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.co-trail .on{color:var(--txt)}
.co-trail i{width:22px;height:1px;background:var(--line);display:block}
.co-gate{padding:60px 0;text-align:center;color:var(--txt-2)}

.co-body{display:grid;grid-template-columns:1fr 330px;gap:clamp(30px,5vw,80px);align-items:start}
.co-fields{min-width:0}

/* a numbered step */
.co-step{border-bottom:1px solid var(--line);padding:clamp(24px,3vw,38px) 0}
.co-step-hd{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.cs-no{font-size:11.5px;color:var(--oxblood);letter-spacing:.1em;flex-shrink:0}
.co-step-hd h2{font-family:var(--disp);font-weight:800;font-size:clamp(21px,2.2vw,29px);letter-spacing:-.025em;color:var(--txt)}
.co-step-in{padding-left:26px}

/* fields — hairline underlines, not boxes */
.woocommerce-checkout .co-step-in .form-row{padding:0;margin:0 0 20px}
.woocommerce-checkout .co-step-in label{display:block;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:8px}
.woocommerce-checkout .co-step-in .required{color:var(--oxblood);text-decoration:none}
.woocommerce-checkout .co-step-in input.input-text,
.woocommerce-checkout .co-step-in textarea,
.woocommerce-checkout .co-step-in select,
.woocommerce-checkout .co-step-in .select2-container .select2-selection--single{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:10px 0!important;border-radius:0!important;font-family:var(--body)!important;font-size:16px!important;color:var(--txt)!important;width:100%;height:auto!important;transition:border-color .25s}
.woocommerce-checkout .co-step-in input.input-text:focus,
.woocommerce-checkout .co-step-in textarea:focus{outline:0;border-bottom-color:var(--oxblood)!important}
.woocommerce-checkout .co-step-in .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.5;padding:0;color:var(--txt)}
.woocommerce-checkout .co-step-in .select2-container .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:0}
.woocommerce-checkout .co-step-in .woocommerce-invalid input.input-text{border-bottom-color:var(--err)!important}
.woocommerce-checkout .co-step-in .woocommerce-validated input.input-text{border-bottom-color:var(--tan)!important}
.woocommerce-checkout .co-step-in textarea{min-height:100px;resize:vertical}
#ship-to-different-address{margin-bottom:16px}
#ship-to-different-address label{display:inline-flex!important;align-items:center;gap:9px;font-family:var(--disp)!important;font-size:16px!important;text-transform:none!important;letter-spacing:0!important;color:var(--txt)!important;cursor:pointer}

/* payment */
.co-step-pay #order_review{margin-top:4px}
.co-step-pay .shop_table{display:none}
#payment{background:transparent!important;border-radius:0}
#payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 20px;list-style:none}
#payment ul.payment_methods li{margin-bottom:10px;border:1px solid var(--line);background:var(--bone-2);padding:15px 16px;transition:border-color .25s}
#payment ul.payment_methods li:hover{border-color:var(--tan)}
#payment ul.payment_methods li label{font-family:var(--mono)!important;font-size:14px!important;color:var(--txt)!important;text-transform:none!important;letter-spacing:.01em!important;display:inline-flex!important;align-items:center;gap:9px;margin:0!important;cursor:pointer}
#payment div.payment_box{background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;margin:12px 0 0!important;padding:12px 0 0!important;font-size:13px!important;color:var(--txt-2)!important}
#payment div.payment_box::before{display:none!important}
#payment .form-row.place-order{padding:0!important;margin:0!important}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:18px;font-size:13px;color:var(--txt-2)}
.woocommerce-terms-and-conditions-wrapper a{color:var(--oxblood);text-decoration:underline;text-underline-offset:2px}
#place_order{width:100%;background:var(--oxblood)!important;color:var(--bone)!important;border:0!important;border-radius:0!important;font-family:var(--mono)!important;font-size:14px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:19px!important;cursor:pointer;transition:background .3s var(--e1)!important}
#place_order:hover{background:var(--ink)!important}

/* checkout docket lines */

.docket-lines{padding:4px 16px 10px}
.dl{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.dl:last-child{border-bottom:0}
.dl-plate{position:relative;width:44px;height:52px;overflow:hidden;background:var(--bone);border:1px solid var(--line)}
.dl-plate img{width:100%;height:100%;object-fit:cover}
.dl-q{position:absolute;top:-6px;right:-6px;width:19px;height:19px;border-radius:50%;background:var(--ink);color:var(--bone);font-size:10.5px;display:grid;place-items:center;font-weight:600}
.dl-name{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--txt);line-height:1.25}
.dl-amt{font-size:13px;color:var(--txt-2);white-space:nowrap}
.docket-tot{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--txt)}
.dt-l{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--txt)}
.dt-v{font-family:var(--mono);font-size:21px;font-weight:700;color:var(--txt)}
.dt-v .amount{font-size:21px}

/* ============================================================
   THE STAMP — order received
   ============================================================ */
.stamp{max-width:760px;margin:0 auto;padding:clamp(30px,5vw,60px) 0 clamp(60px,8vw,110px)}
.stamp-mast{text-align:center;padding-bottom:clamp(30px,4vw,50px)}
/* the stamp mark: a rotated ink circle, like a workshop stamp */
.stamp-mark{width:auto;height:auto;margin:0 auto 22px;border:0;display:inline-flex;align-items:center;gap:9px;padding:0}
.stamp-mark::before{content:"";width:26px;height:1px;background:var(--oxblood)}
.stamp-mark span{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--oxblood)}
.stamp-mark-no::before{background:var(--err)}
.stamp-mark-no span{color:var(--err)}

.stamp-mast h1{font-family:var(--disp);font-weight:800;letter-spacing:-.04em;font-size:clamp(34px,5.5vw,64px);line-height:.95;margin-bottom:14px;color:var(--txt)}
.stamp-sub{color:var(--txt-2);font-size:16px;line-height:1.7;max-width:52ch;margin:0 auto}
.stamp-sub b{color:var(--txt);font-weight:600}
.stamp-acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.stamp-go{background:var(--oxblood);color:var(--bone);font-family:var(--mono);font-size:13.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:16px 32px;transition:background .3s var(--e1)}
.stamp-go:hover{background:var(--ink)}
.stamp-alt{font-size:13px;color:var(--txt-2);text-decoration:underline;text-underline-offset:4px;padding:16px 0}
.stamp-alt:hover{color:var(--oxblood)}

/* the cord: progress drawn as thread + knots */
.cord{display:flex;align-items:flex-start;padding:clamp(26px,4vw,44px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(26px,4vw,44px)}
.cord-stage{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}
.cord-stage::before{content:"";position:absolute;top:5px;left:-50%;width:100%;height:1px;background:var(--line)}
.cord-stage:first-child::before{display:none}
.cord-stage.on::before{background:var(--oxblood)}
.cord-knot{width:11px;height:11px;border-radius:50%;background:var(--bone);border:1.5px solid var(--line);position:relative;z-index:1}
.cord-stage.on .cord-knot{background:var(--oxblood);border-color:var(--oxblood)}
.cord-l{font-size:11.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;text-align:center}
.cord-stage.on .cord-l{color:var(--txt)}

/* the stamped docket */
.stamp-docket{border:1px solid var(--txt);background:transparent}
.stamp-facts{border-top:1px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sf{display:flex;flex-direction:column;gap:4px;min-width:0}
.sf-wide{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}
.sf-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.sf-v{font-size:13.5px;color:var(--txt);line-height:1.5}
.stamp-keep{border:1px solid var(--line);padding:22px;text-align:center;margin-top:24px}
.stamp-keep p{font-family:var(--disp);font-weight:700;font-size:17px;margin-bottom:10px;color:var(--txt)}
.stamp-back{display:inline-block;margin-top:32px;font-family:var(--mono);font-size:13px;color:var(--txt-2)}
.stamp-back::before{content:"← "}
.stamp-back:hover{color:var(--oxblood)}
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{display:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1000px){
	.ledger-body,.co-body{grid-template-columns:1fr;gap:36px}
	.docket{position:static;order:-1}
	.co-step-in{padding-left:0}
}
@media(max-width:620px){
	.ledger-mast,.co-mast{align-items:flex-start;flex-direction:column;gap:14px}
	.entry{grid-template-columns:22px 78px 1fr;gap:12px}
	.entry-plate{aspect-ratio:4/5}
	.entry-sum{grid-column:2/-1;text-align:left;flex-direction:row;align-items:baseline;gap:10px;padding-top:10px}
	.ledger-foot{flex-direction:column;align-items:stretch}
	.chit{max-width:none}
	.stamp-facts{grid-template-columns:1fr}
	.cord-l{font-size:10.5px}
	/* keep the CTA in the thumb zone */
	.docket-totals .wc-proceed-to-checkout a.checkout-button{position:sticky;bottom:14px}
}

/* checkout coupon / login toggles — WooCommerce prints these above the form */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle{margin:clamp(20px,3vw,32px) 0 0}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:16px 0!important;font-family:var(--mono);font-size:13px;color:var(--txt-2)}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before{display:none!important}
.woocommerce-checkout .woocommerce-form-coupon-toggle a,
.woocommerce-checkout .woocommerce-form-login-toggle a{color:var(--oxblood);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login{border:1px solid var(--line)!important;background:var(--bone-2);padding:22px!important;border-radius:0!important;margin:0 0 24px!important}
.woocommerce-checkout form.checkout_coupon .form-row{margin-bottom:0}
.woocommerce-checkout form.checkout_coupon input.input-text{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:10px 0!important;font-family:var(--mono)!important;font-size:14px!important}
.woocommerce-checkout form.checkout_coupon button{background:var(--oxblood)!important;color:var(--bone)!important;border:0!important;border-radius:0!important;font-family:var(--mono)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:.05em!important;text-transform:uppercase!important;padding:14px 24px!important}
.woocommerce-checkout form.checkout_coupon button:hover{background:var(--ink)!important}

/* ============================================================
   THE ORDER BOOK — account · orders
   ============================================================ */
.book-hd{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--txt);margin-bottom:4px;flex-wrap:wrap}
.book-ttl{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;font-size:clamp(24px,3vw,36px);line-height:1;color:var(--txt)}
.book-n{font-size:12px;color:var(--faint);letter-spacing:.04em}
a.book-n:hover{color:var(--oxblood)}

.book-rows{display:flex;flex-direction:column}
.book-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:clamp(14px,2vw,26px);align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.br-plates{display:flex;align-items:center}
.br-plate{width:40px;height:48px;overflow:hidden;background:var(--bone-2);border:1px solid var(--line);margin-right:-12px;transition:transform .3s var(--e2)}
.br-plate:last-child{margin-right:0}
.book-row:hover .br-plate{margin-right:2px}
.br-plate img{width:100%;height:100%;object-fit:cover}
.br-more{font-size:11px;color:var(--faint);margin-left:16px}
.br-read{display:flex;flex-direction:column;gap:3px;min-width:0}
.br-no{font-size:14px;font-weight:600;color:var(--txt)}
.br-date{font-size:12px;color:var(--faint)}
.br-state{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:5px 10px;border:1px solid var(--line);color:var(--txt-2);white-space:nowrap}
.br-completed{border-color:var(--tan);color:var(--tan)}
.br-processing{border-color:var(--brass-ink);color:var(--brass-ink)}
.br-on-hold,.br-pending{border-color:var(--faint);color:var(--faint)}
.br-cancelled,.br-failed,.br-refunded{border-color:var(--err);color:var(--err)}
.br-sum{font-size:15px;font-weight:600;color:var(--txt);white-space:nowrap}
.br-do{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.br-act{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--txt-2);border-bottom:1px solid var(--line);padding-bottom:2px;transition:all .2s;white-space:nowrap}
.br-act:hover{color:var(--oxblood);border-color:var(--oxblood)}
.br-act-pay{color:var(--oxblood);border-color:var(--oxblood);font-weight:600}
.book-page{display:flex;align-items:center;justify-content:center;gap:22px;padding:26px 0}
.book-pg{font-size:12.5px;color:var(--txt-2)}
.book-pg:hover{color:var(--oxblood)}
.book-pgn{font-size:12px;color:var(--faint)}
.book-none{padding:60px 0;text-align:center}
.book-none p{font-family:var(--disp);font-size:20px;color:var(--txt-2);margin-bottom:20px}

/* ============================================================
   ORDER DETAIL
   ============================================================ */
.odet-hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--txt);flex-wrap:wrap}
.odet-id{display:flex;flex-direction:column;gap:3px}
.oi-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}
.oi-v{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em;color:var(--txt)}
.odet-cord{border-top:0;margin-bottom:clamp(24px,3vw,36px)}
.odet-body{display:grid;grid-template-columns:1fr 300px;gap:clamp(28px,4vw,60px);align-items:start}
.odet-lines{min-width:0}
.oline{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.ol-plate{position:relative;width:52px;height:62px;overflow:hidden;background:var(--bone-2);border:1px solid var(--line)}
.ol-plate img{width:100%;height:100%;object-fit:cover}
.ol-q{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--bone);font-size:10.5px;display:grid;place-items:center;font-weight:600}
.ol-read{min-width:0;display:flex;flex-direction:column;gap:4px}
.ol-name{font-family:var(--disp);font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--txt)}
.ol-name a:hover{color:var(--oxblood)}
.ol-meta{font-size:12.5px;color:var(--txt-2)}
.ol-meta p{margin:0}
.ol-note{font-size:12.5px;color:var(--faint);font-style:italic}
.ol-amt{font-size:14.5px;color:var(--txt);white-space:nowrap}
.odet-tots{padding-top:8px}
.ot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.ot-l{font-size:13px;color:var(--txt-2)}
.ot-v{font-size:13.5px;color:var(--txt)}
.ot-big{border-bottom:0;border-top:1px solid var(--txt);margin-top:6px;padding-top:14px}
.ot-big .ot-l{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--txt);font-weight:600}
.ot-big .ot-v{font-size:20px;font-weight:700}
.odet-note{margin-top:22px;padding:16px;border:1px solid var(--line)}
.on-l{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:6px}
.odet-note p{font-size:14px;color:var(--txt-2);line-height:1.6}

.odet-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.odet-pay{border:1px solid var(--oxblood);padding:18px;text-align:center}
.odet-pay p{font-size:12.5px;color:var(--oxblood);margin-bottom:12px}
.odet-card{border:1px solid var(--line);padding:18px}
.oc-hd{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.odet-card address{font-style:normal;font-size:14px;line-height:1.65;color:var(--txt)}
.oc-line{display:block;font-size:12.5px;color:var(--txt-2);margin-top:6px}
.oc-p{font-size:13px;color:var(--txt-2);line-height:1.6;margin-bottom:10px}
.oc-link{font-size:12.5px;color:var(--oxblood);font-weight:600}
.oc-link:hover{color:var(--ink)}

/* ============================================================
   ADDRESSES + ACCOUNT FORMS
   ============================================================ */
.addr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}
.addr-card{border:1px solid var(--line);padding:20px}
.ac-hd{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.ac-t{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--txt);font-weight:600}
.ac-edit{font-size:12px;color:var(--oxblood);text-decoration:underline;text-underline-offset:3px}
.ac-edit:hover{color:var(--ink)}
.addr-card address{font-style:normal;font-size:14.5px;line-height:1.7;color:var(--txt)}
.ac-none{color:var(--faint);font-size:13.5px}

.acform{max-width:640px}
.acf-sec{padding:clamp(20px,3vw,30px) 0;border-bottom:1px solid var(--line)}
.acf-l{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--oxblood);margin-bottom:16px}
.acf-hint{display:block;font-size:12px;color:var(--faint);margin-top:6px;line-height:1.5}
.acf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acf-row .form-row{width:auto!important;float:none!important;margin:0 0 18px}
.woocommerce-account .acform .form-row{padding:0;margin:0 0 18px}
.woocommerce-account .acform label{display:block;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:8px}
.woocommerce-account .acform .required{color:var(--oxblood);text-decoration:none}
.woocommerce-account .acform input.input-text,
.woocommerce-account .acform input[type=password],
.woocommerce-account .acform select,
.woocommerce-account .acform textarea,
.woocommerce-account .acform .select2-container .select2-selection--single{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:10px 0!important;border-radius:0!important;font-family:var(--body)!important;font-size:16px!important;color:var(--txt)!important;width:100%;height:auto!important;transition:border-color .25s}
.woocommerce-account .acform input:focus,
.woocommerce-account .acform textarea:focus{outline:0;border-bottom-color:var(--oxblood)!important}
.woocommerce-account .acform .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.5;padding:0;color:var(--txt)}
.woocommerce-account .acform .select2-container .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:0}
.acf-go{padding-top:24px}

@media(max-width:1000px){
	.odet-body{grid-template-columns:1fr}
	.odet-side{position:static}
}
@media(max-width:720px){
	.book-row{grid-template-columns:auto 1fr;gap:12px 14px}
	.br-state{grid-column:2;justify-self:start}
	.br-sum{grid-column:2;justify-self:start}
	.br-do{grid-column:1/-1;justify-content:flex-start}
	.acf-row{grid-template-columns:1fr}
}

/* ============================================================
   1.18 — PAGE DESIGN LAYER
   Loads last, so it settles the surfaces for cart, checkout and
   account. Replaces the old "contrast pass", which turned the
   account sidebar into oxblood-on-ink (unreadable), advertised
   empty stats as ink slabs, and put an outlined button on an
   oxblood ground.
   Rules here restyle the EXISTING class names rather than needing
   new markup, except where noted in the templates.
   ============================================================ */

/* ---- utility page mastheads ----
   These were clamp(44px,8vw,104px). A cart spending the whole first
   screen on the word "Cart" is the single biggest space problem on
   these pages. Working size, status attached, content above the fold. */
.ledger-ttl,
.co-ttl{font-size:clamp(30px,3.6vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1}
.ledger-mast,
.co-mast{align-items:flex-end;padding:clamp(28px,3.4vw,44px) 0 20px;border-bottom:0}
.ledger-tally{align-items:baseline;gap:8px;padding-bottom:2px}
.lt-n{font-size:15px;font-weight:600;color:var(--txt);letter-spacing:0}
.lt-l{font-size:13px;color:var(--faint);text-transform:none;letter-spacing:0;line-height:1.35}
.co-trail{padding-bottom:6px;font-size:12px;letter-spacing:.06em;color:var(--faint)}
.co-trail .on{color:var(--txt-2)}
.co-trail span:last-child.on{color:var(--oxblood);font-weight:600}

/* ---- shared: two column with a sticky rail ---- */
.ledger-body,
.co-body{grid-template-columns:minmax(0,1fr) 372px;gap:clamp(28px,4vw,64px)}
.docket{top:130px}

/* ============================================================
   CART
   ============================================================ */

/* delivery estimate: replaces nothing that existed — new markup in
   cart.php. A hairline row, not a filled widget. */
.cart-eta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cart-eta svg{width:19px;height:19px;stroke:var(--oxblood);fill:none;stroke-width:1.6;flex:none}
.ce-main{font-size:15px;color:var(--txt)}
.ce-main b{font-weight:600}
.ce-sep{width:1px;height:16px;background:var(--line)}
.ce-to{font-family:var(--mono);font-size:13px;color:var(--txt-2)}
.ce-cut{font-family:var(--mono);font-size:12.5px;color:var(--faint);margin-left:auto}
@media(max-width:760px){.ce-sep{display:none}.ce-cut{margin-left:0;width:100%}}

/* line items: the numbered gutter goes (a cart is not a sequence),
   the plate comes down to 88px, the name to a readable 18px. */
.entry-no{display:none}
.entry{grid-template-columns:88px minmax(0,1fr) auto;gap:22px;padding:22px 0;
  border-bottom:1px solid var(--line-2)}
.entry-plate{border:0;background:var(--bone-2)}
.entry-name{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:5px}
.entry-spec{font-size:12.5px;color:var(--faint);font-family:var(--mono);opacity:1}
.entry-hand{gap:18px;margin-top:14px}
.entry-sum{gap:4px;padding-top:2px}
.es-line{font-family:var(--mono);font-size:17px;font-weight:600;order:1}
.es-each{font-size:12px;color:var(--faint);order:2;opacity:1}

/* quantity becomes a real control. cart.js injects the two buttons. */
.entry-hand .quantity{border:1px solid var(--field-line);background:var(--field);height:38px}
.entry-hand .quantity input.qty{width:38px;height:100%}
.cd-step{width:34px;height:100%;border:0;background:none;font-size:16px;line-height:1;
  color:var(--txt-2);cursor:pointer;display:grid;place-items:center;font-family:var(--body)}
.cd-step:hover{color:var(--oxblood);background:var(--bone-2)}
.entry-cut{text-transform:none;color:var(--faint)}
.entry-cut:hover{color:var(--err)}

/* coupon + update row: quieter, and no longer the width of a search bar */
.ledger-foot{padding:22px 0;border-bottom:0;align-items:center}
.chit{max-width:300px;min-width:200px}
.chit-l{font-size:12px;color:var(--txt-2)}
.chit-in{border-bottom:0;border:1px solid var(--field-line);background:var(--field)}
.chit-in input{padding:10px 12px}
.chit-go{padding:10px 14px}

/* ---- the docket becomes a paper panel with a light head ---- */
.docket-in{border:1px solid var(--line-2);background:var(--paper)}
.docket-hd{background:transparent;padding:18px 22px;border-bottom:1px solid var(--line-2)}
.dh-l{font-family:var(--disp);font-size:16px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--txt)}
.dh-r{font-size:12.5px;color:var(--oxblood)}
a.dh-r:hover{color:var(--ink)}
.docket-totals{padding:6px 22px 20px}
.docket-totals table th,
.docket-totals table td{padding:11px 0;border-bottom:0;font-size:14.5px}
.docket-totals table th{color:var(--txt-2);font-family:var(--body)}
.docket-totals table td{font-weight:600;color:var(--txt)}
.docket-totals .order-total th,
.docket-totals .order-total td{border-top:1px solid var(--line-2);padding-top:16px}
.docket-totals .order-total th{font-family:var(--disp);font-size:16px;text-transform:none;letter-spacing:0}
.docket-totals .order-total td{font-family:var(--disp);font-size:24px;letter-spacing:-.02em}
.docket-totals .wc-proceed-to-checkout a.checkout-button{text-transform:none;letter-spacing:.02em;font-size:14px;padding:16px}
.docket-word{border-top:1px solid var(--line-2);padding:16px 22px;gap:9px;background:transparent}
.docket-word li{font-family:var(--body);font-size:13px;color:var(--txt-2);opacity:1;padding-left:15px}
.docket-word li::before{background:var(--tan);top:9px;width:6px}
.docket-tot{border-top:1px solid var(--line-2);padding:16px 22px;background:transparent}
.dt-l{font-family:var(--disp);font-size:16px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--txt)}
.dt-v,.dt-v .amount{font-family:var(--disp);font-size:24px;color:var(--txt);letter-spacing:-.02em}
.docket-lines{padding:6px 22px 0}
.dl{grid-template-columns:48px minmax(0,1fr) auto;gap:13px;border-bottom:1px solid var(--line-2)}
.dl-plate{width:48px;height:48px;border:0;background:var(--bone-2)}
.dl-name{font-family:var(--body);font-size:14px;font-weight:500}
.dl-amt{font-family:var(--mono);font-size:14px;color:var(--txt)}

/* ============================================================
   CHECKOUT
   ============================================================ */

/* WooCommerce prints its own H3 inside our numbered step, so every
   section read twice: "01 Delivery" then "Billing details". */
.woocommerce-checkout .co-step-in .woocommerce-billing-fields>h3,
.woocommerce-checkout .co-step-in .woocommerce-shipping-fields>h3,
.woocommerce-checkout .co-step-in .woocommerce-additional-fields>h3,
.woocommerce-checkout #order_review_heading{display:none}

/* the coupon toggle prints above the form, so it was the first thing
   on the page. Demoted to a slim line, not removed. */
.woocommerce-form-coupon-toggle{margin:0;padding-top:18px}
.woocommerce-form-coupon-toggle .woocommerce-info{background:transparent;border:0;padding:0;
  font-size:13px;color:var(--txt-2);text-align:right}

.co-step{padding:26px 0 30px;border-bottom:1px solid var(--line-2)}
.co-step:last-of-type{border-bottom:0}
.co-step-hd{gap:12px;margin-bottom:20px;align-items:baseline}
.cs-no{font-size:12px;font-weight:600;letter-spacing:.06em}
.co-step-hd h2{font-size:20px;font-weight:700;letter-spacing:-.01em}
.co-step-in{padding-left:0}

/* fields become boxes. an input has to read as an input — the hairline
   underline gave no target and no affordance. */
.woocommerce-checkout .co-step-in input.input-text,
.woocommerce-checkout .co-step-in textarea,
.woocommerce-checkout .co-step-in select,
.woocommerce-checkout .co-step-in .select2-container .select2-selection--single{
  border:1px solid var(--field-line)!important;background:var(--field)!important;
  padding:0 14px!important;height:48px!important;font-size:15px!important;
  border-radius:0!important;color:var(--txt)!important}
.woocommerce-checkout .co-step-in textarea{padding:12px 14px!important;height:auto!important;min-height:96px}
.woocommerce-checkout .co-step-in input.input-text:focus,
.woocommerce-checkout .co-step-in textarea:focus,
.woocommerce-checkout .co-step-in select:focus{outline:0;border-color:var(--oxblood)!important;
  box-shadow:0 0 0 3px rgba(110,42,34,.12)}
.woocommerce-checkout .co-step-in label{font-size:12px;letter-spacing:.04em;color:var(--txt-2);margin-bottom:7px}
.woocommerce-checkout .co-step-in ::placeholder{color:#6B6255}

/* pair the fields up. Woo already tags them first/last/wide — this is
   what halves the height of the form. */
.woocommerce-checkout .co-step-in .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .co-step-in .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .co-step-in .woocommerce-additional-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.woocommerce-checkout .co-step-in .form-row{margin:0;min-width:0}
.woocommerce-checkout .co-step-in .form-row-wide,
.woocommerce-checkout .co-step-in #billing_country_field,
.woocommerce-checkout .co-step-in #billing_address_1_field,
.woocommerce-checkout .co-step-in #billing_address_2_field,
.woocommerce-checkout .co-step-in #shipping_address_1_field,
.woocommerce-checkout .co-step-in #shipping_address_2_field,
.woocommerce-checkout .co-step-in #order_comments_field{grid-column:1/-1}
@media(max-width:620px){
  .woocommerce-checkout .co-step-in .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .co-step-in .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .co-step-in .woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
}

/* payment methods as selectable rows on paper, not a box inside a box */
#payment ul.payment_methods li{background:var(--paper);border:1px solid var(--line);padding:16px 18px}
#payment ul.payment_methods li:hover{border-color:var(--field-line)}
#payment ul.payment_methods li.wc_payment_method>input:checked+label{font-weight:600}
#payment div.payment_box{border-top:1px solid var(--line-2)!important;margin-top:14px!important;padding-top:14px!important}
#payment .woocommerce-notice,
#payment .woocommerce-info{background:transparent;border:1px solid var(--line);padding:16px 18px;font-size:14px;color:var(--txt-2)}
#place_order{text-transform:none!important;letter-spacing:.02em!important;font-size:15px!important;padding:18px 26px!important;width:auto!important;min-width:260px}

/* ============================================================
   ACCOUNT
   ============================================================ */
.woocommerce-account .entry-title{font-size:clamp(30px,3.6vw,42px);font-weight:700;letter-spacing:-.03em;margin-bottom:26px}
.woocommerce-account .woocommerce{grid-template-columns:250px minmax(0,1fr)!important}

/* the sidebar was oxblood text on near-black. Light panel, ink text,
   active state marked by a rule instead of a red slab. */
.acc-nav{background:var(--paper);border:1px solid var(--line-2);top:130px}
.acc-nav-user{border-bottom:1px solid var(--line-2);padding:18px}
.anu-avatar img{width:40px;height:40px}
.anu-name{color:var(--txt);font-family:var(--body);font-weight:600;font-size:15px}
.anu-mail{color:var(--faint);opacity:1;font-family:var(--mono);font-size:11.5px}
.acc-nav li a{font-family:var(--body);font-size:14.5px;color:var(--txt-2);opacity:1;
  padding:11px 18px;border-left:2px solid transparent;background:none}
.acc-nav li a svg{stroke:var(--txt-2);opacity:.7}
.acc-nav li a:hover{background:var(--bone-2);color:var(--txt);opacity:1}
.acc-nav li a:hover svg{stroke:var(--txt)}
.acc-nav li.is-active a{background:var(--bone-2);color:var(--txt);font-weight:600;
  border-left-color:var(--oxblood);box-shadow:none}
.acc-nav li.is-active a svg{stroke:var(--oxblood);opacity:1}

.acc-hello h2{font-size:clamp(22px,2.6vw,28px);font-weight:700}
.acc-hello p{font-family:var(--body);font-size:15px;color:var(--txt-2)}

/* stats only render when there is something to report — see dashboard.php */
.acc-stats{gap:0;background:var(--paper);border:1px solid var(--line-2);
  grid-template-columns:repeat(3,1fr);margin:24px 0}
.acc-stat{background:transparent;border:0;border-left:1px solid var(--line-2);padding:18px 20px}
.acc-stat:first-child{border-left:0}
.as-n,.as-n .amount{color:var(--txt);font-size:22px;font-family:var(--disp);font-weight:700}
.acc-stat:first-child .as-n{color:var(--txt)}
.as-l{color:var(--faint);opacity:1;letter-spacing:.05em;font-size:12px}

/* order rows */
.acc-block-h{border-bottom:1px solid var(--line-2)}
.acc-block-h h3{font-weight:700;font-size:18px}
.acc-order{grid-template-columns:auto minmax(0,1fr) auto auto;padding:15px 0;border-bottom:1px solid var(--line-2)}
.acc-order:hover{background:transparent}
.acc-order:hover .ao-id{color:var(--oxblood)}
.ao-id{font-family:var(--mono)}
.ao-date{color:var(--faint);font-family:var(--mono);font-size:12.5px}
.ao-status{background:transparent;border:1px solid var(--line);color:var(--txt-2);font-size:11px}
.ao-completed{background:rgba(78,98,71,.07);border-color:rgba(78,98,71,.4);color:var(--ok)}
.ao-processing{background:rgba(122,92,58,.07);border-color:rgba(122,92,58,.45);color:var(--tan)}
.ao-total{font-family:var(--mono)}

/* help: one hairline row, and a button you can actually see.
   The old block was an oxblood slab carrying an outlined button. */
.acc-help{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--bone-2);border:1px solid var(--line-2);color:var(--txt);padding:18px 22px}
.acc-help-t{color:var(--txt);font-size:15px;margin-bottom:2px}
.acc-help p{color:var(--txt-2);opacity:1;font-size:14px;margin-bottom:0}
.acc-help .btn-line{border-color:var(--line);color:var(--txt);background:var(--paper);
  padding:10px 16px;font-size:12.5px}
.acc-help .btn-line:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* empty state: an invitation, not a wall of zeroes */
.acc-empty{text-align:center;padding:56px 24px;border:1px dashed var(--line);background:var(--paper);margin-bottom:20px}
.acc-empty .k{width:30px;height:30px;margin:0 auto 18px;border:2px solid var(--oxblood);border-radius:50%;position:relative}
.acc-empty .k::after{content:"";position:absolute;inset:7px;background:var(--oxblood);border-radius:50%}
.acc-empty h3{font-family:var(--disp);font-size:21px;font-weight:700;margin-bottom:8px}
.acc-empty p{font-size:14.5px;color:var(--txt-2);max-width:38ch;margin:0 auto 22px}

/* account forms + addresses on paper */
.woocommerce-account .woocommerce-Address,
.odet-card,.addr-card,.odet-note,.stamp-keep{background:var(--paper);border-color:var(--line-2)}
.woocommerce-account table.shop_table{background:var(--paper);border-color:var(--line-2)}
.woocommerce-account table.shop_table thead th{color:var(--faint);border-bottom-color:var(--line-2)}
.woocommerce-account table.shop_table td{border-bottom-color:var(--line-2)}
.woocommerce-account .acform input.input-text,
.woocommerce-account .acform input[type=password],
.woocommerce-account .acform select,
.woocommerce-account .acform textarea,
.acc-field input{border:1px solid var(--field-line)!important;background:var(--field)!important;
  padding:0 14px!important;height:48px!important;border-radius:0!important}
.woocommerce-account .acform textarea{padding:12px 14px!important;height:auto!important}
.woocommerce-account .acform input.input-text:focus,
.acc-field input:focus{outline:0;border-color:var(--oxblood)!important;box-shadow:0 0 0 3px rgba(110,42,34,.12)}
.woocommerce-account .acform label,
.acc-field span{color:var(--txt-2)!important}

/* order-book + received states, brought onto the same paper */
.book-row:hover{background:var(--paper)}
.br-state{background:transparent;border-color:var(--line);color:var(--txt-2)}
.br-processing{background:rgba(122,92,58,.07);border-color:rgba(122,92,58,.45);color:var(--tan)}
.br-completed{background:rgba(78,98,71,.07);border-color:rgba(78,98,71,.4);color:var(--ok)}
.br-cancelled,.br-failed,.br-refunded{background:transparent;border-color:var(--err);color:var(--err)}
.entry-plate,.ol-plate,.br-plate,.dl-plate{background:var(--bone-2);border:0}
.cp-pick,.cp-pick-img{background:var(--paper);border-color:var(--line-2)}

/* unclassed anchors inside our components still pick up the prose underline */
.entry-name a,
.acc-nav li a,
.acc-block-h a,
.woocommerce-MyAccount-content .acc-order{text-decoration:none}
