/* Cartwright concept stores, v2 polish layer (5 Nov 2026). Loads after each store's own CSS. */
:root{--v2ink:var(--ink,#1c1c1c);--v2line:var(--line,rgba(0,0,0,.12));--v2soft:var(--soft,var(--bg2,#ecebe7));--v2card:var(--paper,var(--card,#fff));--v2acc:var(--acc,#1c1c1c)}
/* ---------- type polish ---------- */
.v2 h1,.v2 h2,.v2 h3{text-wrap:balance}
.v2 p,.v2 .lede,.v2 li{text-wrap:pretty}
.v2 .pr,.v2 [data-price],.v2 [data-sub],.v2 [data-tot],.v2 #btn-price,.v2 #hero-price,.v2 .v2-uc span{font-variant-numeric:tabular-nums lining-nums}
.v2 ::selection{background:var(--v2acc);color:var(--onacc,#fff)}
/* ---------- rotating bar ---------- */
.bar .v2-has{display:inline-block}
html.v2 body .topbar.v2-has{display:block!important;width:100%!important;box-sizing:border-box;text-align:center!important}
.v2-rot{display:inline-grid;vertical-align:top}
.v2-rot>span{grid-area:1/1;opacity:0;transform:translateY(60%);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.v2-rot>span.on{opacity:1;transform:none}
.bar .wrap{justify-content:center!important;text-align:center}
/* ---------- Afterpay + delivery on product pages ---------- */
.v2-afterpay{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted,var(--ink2,#555));display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.v2-afterpay b{color:var(--v2ink);font-weight:600}
.v2-afp{font-style:normal;font-weight:700;font-size:11.5px;letter-spacing:-.01em;background:#b2fce4;color:#000;border-radius:99px;padding:2px 8px 3px;line-height:1.2}
.v2-tip{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid currentColor;font-size:10px;font-weight:600;font-style:normal;opacity:.6;cursor:help}
.v2-ship{margin:16px 0 4px;padding:14px 16px;border:1px solid var(--v2line);border-radius:var(--r,10px);display:grid;gap:8px;font-size:14px;line-height:1.4;background:color-mix(in srgb,var(--v2card) 70%,transparent)}
.v2-ship p{margin:0;display:flex;gap:10px;align-items:center}
.v2-stock{font-weight:600;color:var(--v2ink)}
.v2-stock i{width:8px;height:8px;border-radius:50%;background:#2f9e5b;box-shadow:0 0 0 0 rgba(47,158,91,.5);animation:v2pulse 2.2s infinite;flex:none;margin:0 3px}
.v2-eta{color:var(--muted,var(--ink2,#555))}.v2-eta b{color:var(--v2ink);font-weight:600}
.v2-eta svg,.v2-deta svg{width:18px;height:18px;flex:none}
@keyframes v2pulse{0%{box-shadow:0 0 0 0 rgba(47,158,91,.45)}70%{box-shadow:0 0 0 8px rgba(47,158,91,0)}100%{box-shadow:0 0 0 0 rgba(47,158,91,0)}}
/* ---------- bag drawer ---------- */
.v2-up{padding:18px 28px 6px;border-top:1px solid var(--v2line)}
.sdrawer .v2-up{padding:18px 1.25rem 6px}
.v2-uph{margin:0 0 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;opacity:.7}
.v2-upr{display:grid;gap:10px}
.v2-uc{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:calc(var(--r,10px) - 2px);background:var(--v2soft);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.v2-uc:hover{transform:translateY(-1px)}
.v2-uc img{width:56px;height:56px;object-fit:cover;border-radius:calc(var(--r,10px) - 4px);display:block}
.v2-uc b{display:block;font-size:14px;line-height:1.2}
.v2-uc small{display:block;font-size:12px;opacity:.65;line-height:1.3}
.v2-uc span{display:block;font-size:13px;font-weight:600;margin-top:2px}
.v2-uadd{appearance:none;border:1px solid var(--v2ink);background:transparent;color:var(--v2ink);border-radius:99px;padding:7px 12px;font:600 12.5px/1 var(--fb,var(--sans,inherit));cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.v2-uadd:hover{background:var(--v2ink);color:var(--bg,#fff)}
.v2-dap{margin:10px 0 0;font-size:12.5px;line-height:1.4;color:var(--muted,var(--ink2,#555));display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.v2-dap:empty{display:none}.v2-dap b{color:var(--v2ink)}
.v2-dtrust{display:grid;gap:10px;margin-top:12px}
.v2-deta{margin:0;display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted,var(--ink2,#555))}.v2-deta b{color:var(--v2ink);font-weight:600}
.cw-isempty .v2-dtrust,.sd-isempty .v2-dtrust,.cw-isempty .v2-up,.sd-isempty .v2-up{display:none}
/* the drawer scrolls as one column so the extras never squash the lines */
aside.drawer .lines{flex:0 1 auto;max-height:none}
aside.drawer .v2-up{flex:0 0 auto}
aside.drawer .bot{margin-top:auto}
.v2 aside.drawer{overflow-y:auto;overscroll-behavior:contain}
/* ---------- payment marks ---------- */
.v2-pay{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.pm{font-style:normal;display:inline-flex;align-items:center;justify-content:center;gap:1px;height:22px;min-width:34px;padding:0 6px;border-radius:4px;background:#fff;border:1px solid rgba(0,0,0,.12);color:#1a1a1a;font:800 9.5px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em;box-sizing:border-box}
.pm-visa{color:#1a1f71;font-style:italic;font-size:10.5px;letter-spacing:.04em}
.pm-mc b{width:11px;height:11px;border-radius:50%;background:#eb001b;display:block}.pm-mc b+b{background:#f79e1b;margin-left:-5px;mix-blend-mode:multiply}
.pm-amex{background:#2e77bc;color:#fff;border-color:#2e77bc;font-size:8.5px}
.pm-ap svg{width:11px;height:11px;margin-top:-2px}.pm-ap{font-weight:600;font-size:10px}
.pm-gp{font-weight:600;font-size:9.5px}
.pm-shop{background:#5a31f4;border-color:#5a31f4;color:#fff;font-weight:800;font-size:10px;letter-spacing:-.01em}
.pm-afp{background:#b2fce4;border-color:#b2fce4;color:#000;font-size:9.5px;letter-spacing:-.01em}
.v2-fpay{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;padding:22px 0;margin-top:28px;border-top:1px solid var(--v2line);font-size:13px;color:var(--muted,var(--ink2,#666))}
.foot .v2-fpay{margin-top:20px}
/* ---------- shoppable hero card ---------- */
.v2-hhost{position:relative}
.v2-hc{position:absolute;z-index:5;right:max(var(--g,24px),calc((100vw - 1440px)/2 + 40px));bottom:clamp(28px,4vw,56px);width:340px;display:grid;grid-template-columns:96px 1fr;gap:14px;padding:12px;border-radius:calc(var(--r,10px) + 6px);background:rgba(250,248,244,.86);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);color:#161616;box-shadow:0 24px 60px -24px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.4) inset;opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.v2-hc.in{opacity:1;transform:none}
.v2-hci{display:block;border-radius:calc(var(--r,10px) - 2px);overflow:hidden;background:#ebe8e2;aspect-ratio:1/1.15}
.v2-hci img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.v2-hc:hover .v2-hci img{transform:scale(1.06)}
.v2-hcb{display:flex;flex-direction:column;min-width:0;padding:2px 2px 0 0}
.v2-hck{margin:0 0 4px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.6}
.v2-hcn{font-family:var(--fh,var(--disp,inherit));font-weight:var(--hw,600);font-size:19px;line-height:1.1;letter-spacing:-.01em;color:inherit;text-decoration:none}
.v2-hcs{margin:4px 0 0;font-size:12px;line-height:1.35;opacity:.7}
.v2-hcf{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.v2-hcf b{font-size:15px;font-variant-numeric:tabular-nums}
.v2-hcd{display:flex;gap:4px}.v2-hcd i{width:13px;height:13px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px rgba(0,0,0,.15) inset}
.v2-hcadd{margin-top:9px;appearance:none;border:0;border-radius:99px;background:#161616;color:#fff;font:600 13px/1 var(--fb,var(--sans,inherit));padding:10px 14px;cursor:pointer;text-align:center;text-decoration:none;transition:transform .2s,background .2s}
.v2-hcadd:hover{transform:translateY(-1px);background:#000}
@media (max-width:980px){.v2-hc{display:none}}
/* ---------- big footer wordmark (Halden, Paddock Hound, noon) ---------- */
.v2 .bigwm .hlogo,.v2 .bigwm .klogo,.v2 .bigwm .nlogo{display:flex;align-items:center;gap:.08em;font-size:clamp(64px,16.5vw,272px);line-height:.82;letter-spacing:-.055em;font-weight:700;white-space:nowrap}
.v2 .bigwm .hlogo span,.v2 .bigwm .klogo span,.v2 .bigwm .nlogo span{font-size:1em!important;letter-spacing:inherit}
.v2 .bigwm .hmk,.v2 .bigwm .kmk{width:.82em!important;height:.82em!important;flex:none}
.v2 .bigwm .nmk{width:1.25em!important;height:auto!important;flex:none}
.v2 .bigwm:has(.hlogo),.v2 .bigwm:has(.klogo),.v2 .bigwm:has(.nlogo){padding-top:clamp(48px,6vw,96px);padding-bottom:0;margin-bottom:-.02em;overflow:hidden;opacity:.96}
.v2 .bigwm .klogo{color:var(--ink);font-size:clamp(44px,10.4vw,168px)}
.v2 .bigwm .nlogo{font-size:clamp(80px,22vw,360px)}
.v2-hcd:empty{display:none}
/* ---------- motion niceties ---------- */
@media (hover:hover){.v2 .card .ph img{transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity .5s ease}.v2 .card:hover .ph img:first-child{transform:scale(1.035)}}
.v2 .btn{transition:transform .2s cubic-bezier(.2,.7,.2,1),background-color .2s,box-shadow .2s}
.v2 .btn:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){.v2-rot>span,.v2-hc,.v2-uc{transition:none}.v2-stock i{animation:none}}
/* ---------- mobile hero: first screen shows the buy button ---------- */
@media (max-width:600px){
 html.v2 body .hh picture{aspect-ratio:auto!important;height:min(48svh,410px)!important}
 html.v2 body .hh h1{font-size:clamp(52px,14.5vw,62px)!important;margin-bottom:12px!important}
 html.v2 body .hh-c{padding-top:64px!important;padding-bottom:24px!important}
 html.v2 body .hh-c .lede{font-size:15.5px!important;margin-top:0!important}
 html.v2 body .hh-c .btns{margin-top:16px!important}
 html.v2 body .kh picture{height:min(60svh,520px)!important;min-height:0!important}
 html.v2 body .kh picture img{aspect-ratio:auto!important;height:100%!important}
 html.v2 body .kh-c .btns{order:3;margin-top:18px!important}
 html.v2 body .kh-c .krb{order:4;margin-top:14px}
 html.v2 body .kh-c h1{order:1}html.v2 body .kh-c .lede{order:2}
 html.v2 body .shero picture{max-height:340px;overflow:hidden}
 html.v2 body .shero .scopy{display:flex;flex-direction:column}
 html.v2 body .shero .btns{order:5;margin-top:18px!important}html.v2 body .shero .srvb{order:6;margin-top:14px!important}
 html.v2 body .shero .skicker,html.v2 body .shero h1,html.v2 body .shero .lede{order:1}
 html.v2 body .v2-tip{display:none}
}
/* ---------- Halden: the two everyday photos sit on one line ---------- */
@media (min-width:861px){
 html.v2 body .hpe-g{align-items:start!important}
 html.v2 body .hpe-a,html.v2 body .hpe-b{align-self:start!important}
 html.v2 body .hpe-a img,html.v2 body .hpe-b img{aspect-ratio:auto!important;height:clamp(460px,44vw,660px)!important;object-fit:cover}
 html.v2 body .hpe-a img{object-position:50% 40%}
}

/* round 3: art direction */
html.v2 body .hpe-a picture{display:block}
@media (max-width:860px){html.v2 body .hh picture img{object-position:50% 30%!important}}
html.v2 body .ntile .ph img{aspect-ratio:inherit;object-fit:cover}
html.v2 body .ntile .kind{max-width:34ch;line-height:1.45}
@media (min-width:861px){html.v2 body .kh::before{background:linear-gradient(90deg,rgba(14,11,9,.66) 0%,rgba(14,11,9,.4) 34%,rgba(14,11,9,0) 60%)!important}
html.v2 body .kh-c{position:relative;z-index:2}
html.v2 body .kh-c .lede{text-shadow:0 1px 14px rgba(0,0,0,.45)}}
