/*
Theme Name: PNW Artists Collective
Author: PNW Artists Collective
Description: A storefront theme for a Pacific Northwest jewelry artists collective, built for WooCommerce. Includes artist profiles, a slide-out cart, live product search, and artist and influencer application forms.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pnw-artists-collective
Tags: e-commerce, custom-logo, custom-menu
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root{
  color-scheme:light;
  --bg:#ECEFEC; --surface:#F8FAF8; --ink:#15261F; --ink-2:#4A5A53; --line:#CBD3CE;
  --accent:#2C5F7A; --on-ink:#F3F6F4; --danger:#A3342A; --tile:#DDE3E1;
  --f-ui:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-text:'Newsreader',Georgia,'Times New Roman',serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E1815; --surface:#15231F; --ink:#E8EEEA; --ink-2:#9DB0A7; --line:#2B3B36;
    --accent:#7FB3CF; --on-ink:#0E1815; --danger:#E58A7A; --tile:#2F3B37;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1815; --surface:#15231F; --ink:#E8EEEA; --ink-2:#9DB0A7; --line:#2B3B36;
  --accent:#7FB3CF; --on-ink:#0E1815; --danger:#E58A7A; --tile:#2F3B37;
}

/* Point WooCommerce's own color variables at the theme palette. */
:root{
  --woocommerce:var(--ink);
  --wc-primary:var(--ink); --wc-primary-text:var(--on-ink);
  --wc-secondary:var(--surface); --wc-secondary-text:var(--ink);
  --wc-highlight:var(--ink); --wc-highligh-text:var(--on-ink);
  --wc-content-bg:var(--bg); --wc-subtext:var(--ink-2);
  --wc-red:var(--danger); --wc-green:var(--accent); --wc-blue:var(--accent);
  --wc-form-border-color:var(--line); --wc-form-border-radius:8px; --wc-form-border-width:1px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--f-text);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,h4{margin:0;font-family:var(--f-ui);letter-spacing:-.02em;line-height:1.1}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
svg{display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:1360px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip:focus{position:fixed!important;top:1rem;left:1rem;z-index:1000;width:auto;height:auto;margin:0;padding:.6rem 1rem;clip:auto;clip-path:none;white-space:normal;background:var(--surface);color:var(--ink);font:600 .95rem var(--f-ui);border-radius:8px}
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,figcaption{font:400 .9rem var(--f-ui);color:var(--ink-2)}

/* ==========================================================================
   Buttons and small controls
   ========================================================================== */
.btn{display:inline-block;font:600 .95rem var(--f-ui);padding:.85rem 1.5rem;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--on-ink);cursor:pointer;text-decoration:none;text-align:center}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.block{display:block;width:100%}
.linkbtn{background:none;border:0;padding:0;font:600 .95rem var(--f-ui);text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.iconbtn{width:40px;height:40px;border-radius:999px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;flex:none}
.iconbtn:hover{background:var(--line)}
.pill-select,.tools select,.woocommerce .woocommerce-ordering select{font:500 .9rem var(--f-ui);padding:.55rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;max-width:100%}

/* ==========================================================================
   Header
   ========================================================================== */
.announce{background:var(--ink);color:var(--on-ink);text-align:center;font:500 .85rem var(--f-ui);padding:.55rem 1rem}
.site-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .site-head{top:32px}
@media screen and (max-width:782px){.admin-bar .site-head{top:46px}}
@media screen and (max-width:600px){.admin-bar .site-head{top:0}}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:1360px;margin:0 auto;padding:.8rem clamp(1rem,3vw,2rem)}
.bar .left{display:flex;align-items:center;gap:.5rem;min-width:0}
.menu-btn{display:none}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font:700 1.2rem/1 var(--f-ui);letter-spacing:-.02em;min-width:0}
.brand img{width:34px;height:34px;flex:none;object-fit:contain;border-radius:6px}
.nav .menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0;font:500 .98rem var(--f-ui)}
.nav a{text-decoration:none}
.nav a:hover,.nav .current-menu-item > a{text-decoration:underline;text-underline-offset:.3em}
.actions{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem;font:500 .98rem var(--f-ui)}
.txtbtn{background:none;border:0;padding:.35rem 0;cursor:pointer;text-decoration:none;white-space:nowrap}
.txtbtn:hover{text-decoration:underline;text-underline-offset:.3em}
.cart-n{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;margin-left:.2rem;border-radius:999px;background:var(--accent);color:#fff;font:600 .78rem var(--f-ui)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cart-n{color:var(--on-ink)}}
:root[data-theme="dark"] .cart-n{color:var(--on-ink)}
@media (max-width:1100px){.nav .menu{gap:1.25rem}}
@media (max-width:860px){
  .bar{grid-template-columns:1fr auto}
  .nav{display:none}
  .menu-btn{display:grid}
  .brand{font-size:1.05rem}
  .actions{gap:1rem}
}

/* ==========================================================================
   Home: hero
   ========================================================================== */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;padding:clamp(2rem,5vw,4.5rem) 0 clamp(2.5rem,5vw,4rem)}
.hero h1{font:700 clamp(2.9rem,7.4vw,6.4rem)/.93 var(--f-ui);letter-spacing:-.035em}
.hero .lede{max-width:38rem;margin:1.5rem 0 0;font-size:1.125rem;line-height:1.6;color:var(--ink-2)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mtile{position:relative;display:block;border-radius:8px;overflow:hidden;aspect-ratio:1;background:var(--tile);color:var(--ink);text-decoration:none}
.mtile.m1{grid-row:span 2;aspect-ratio:auto}
.mtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mtile .cap{position:absolute;left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);padding:.45rem .7rem;border-radius:8px;background:var(--surface);font:600 .88rem/1.25 var(--f-ui)}
.mtile .cap small{display:block;font:400 .82rem var(--f-ui);color:var(--ink-2)}
.mosaic.count-1{grid-template-columns:1fr}
.mosaic.count-1 .m1{grid-row:auto;aspect-ratio:1}
.mosaic.count-2 .m1{grid-row:auto;aspect-ratio:4/5}
.mosaic.count-2 .m2{aspect-ratio:4/5}
.mtile-logo{background:#fff}
.mtile-logo img{inset:6%;width:88%;height:88%;object-fit:contain}
@media (prefers-reduced-motion:no-preference){
  .mtile{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
  .mtile.m2{animation-delay:.12s}
  .mtile.m3{animation-delay:.24s}
}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (max-width:860px){.hero{grid-template-columns:1fr}}

/* ==========================================================================
   Home: section bands
   ========================================================================== */
.band{padding:clamp(2.5rem,6vw,5rem) 0}
.band h2{font:700 clamp(2rem,4.2vw,3.4rem)/1 var(--f-ui);letter-spacing:-.03em}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.count{margin:0;font:500 .95rem var(--f-ui);color:var(--ink-2)}
.tools{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1rem 0;border-block:1px solid var(--line);margin-bottom:1.75rem}
.tools-browse{min-width:0;max-width:100%}
.chips,.menu-sub{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;max-width:100%;padding:2px}
.chips::-webkit-scrollbar{display:none}
.menu-sub{flex-wrap:wrap;overflow:visible;margin-top:1.5rem}
.chip{flex:none;display:inline-block;font:500 .92rem var(--f-ui);padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line);background:transparent;text-decoration:none;cursor:pointer}
.chip:hover{border-color:var(--ink)}
.chip[aria-current="page"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.selects{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.empty{margin:0;padding:2rem 0;font:500 1.05rem/1.5 var(--f-ui);color:var(--ink-2)}
.empty a{color:var(--ink)}
.admin-hint{max-width:42rem;margin:1rem 0 0;padding:.75rem 1rem;border:1px dashed var(--line);border-radius:8px;background:var(--surface);font:500 .9rem/1.45 var(--f-ui);color:var(--ink-2)}

/* Artists */
.artists{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:clamp(1.5rem,5vw,5rem)}
.artists .intro{position:sticky;top:6rem;align-self:start}
.artists .intro p{margin:1rem 0 0;color:var(--ink-2);max-width:26rem}
.arow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 2rem;padding:1.75rem 0;border-top:1px solid var(--line)}
.arow:last-child{border-bottom:1px solid var(--line)}
.artist-id{display:flex;align-items:center;gap:.9rem;margin-bottom:.15rem}
.artist-photo{width:64px;height:64px;border-radius:999px;object-fit:cover;flex:none;border:1px solid var(--line)}
.arow h3{font:700 clamp(1.6rem,3vw,2.3rem)/1.05 var(--f-ui);letter-spacing:-.025em}
.arow h3 a{text-decoration:none}
.arow h3 a:hover{text-decoration:underline;text-underline-offset:.15em}
.arow .craft{font:500 .95rem var(--f-ui);color:var(--ink-2);margin:.45rem 0 .8rem}
.arow .bio{max-width:38rem;margin-bottom:1rem}
.arow .bio p{margin:0 0 .75em}
.thumbs{display:flex;gap:8px;align-self:start}
.thumb{position:relative;display:block;width:96px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--tile)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0}
@media (max-width:860px){
  .artists{grid-template-columns:1fr}
  .artists .intro{position:static}
  .arow{grid-template-columns:1fr}
}
@media (max-width:480px){.thumb{width:calc((100vw - 2rem - 16px)/3)}}

/* About and applications */
.join{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start;border-top:1px solid var(--line);padding-top:clamp(2rem,4vw,3rem)}
.join .about-p{margin-top:1.25rem;max-width:32rem;font-size:1.15rem;color:var(--ink-2)}
.join .about-p p{margin:0 0 1em}
#about .about-p{margin-top:0}
.apply{background:var(--surface);border-radius:14px;padding:clamp(1.25rem,3vw,2.25rem)}
.apply h3{font:700 1.6rem/1.1 var(--f-ui);letter-spacing:-.02em}
.field{display:block;margin-bottom:1rem}
.field span{display:block;font:600 .9rem var(--f-ui);margin-bottom:.35rem}
.field input{width:100%;padding:.8rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--bg)}
.thanks{margin:.75rem 0 0;font:500 1.1rem/1.4 var(--f-ui)}
@media (max-width:860px){.join{grid-template-columns:1fr}}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-foot{border-top:1px solid var(--line);padding:2.5rem 0 3rem;font:400 .95rem var(--f-ui);color:var(--ink-2)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem}
.foot p{margin:0}
.foot .menu{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;margin:0;padding:0}
.foot .brand{color:var(--ink)}

/* ==========================================================================
   Dialogs: menu, search, cart
   ========================================================================== */
dialog{border:0;padding:0;color:var(--ink);background:var(--surface)}
dialog::backdrop{background:rgba(10,20,16,.55)}
.panel{display:flex;flex-direction:column;height:100%}
.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(440px,100vw);max-width:100vw}
.drawer.left{margin:0 auto 0 0}
@media (prefers-reduced-motion:no-preference){
  .drawer[open]{animation:in-r .28s cubic-bezier(.2,.8,.2,1)}
  .drawer.left[open]{animation-name:in-l}
  .top[open]{animation:in-t .25s cubic-bezier(.2,.8,.2,1)}
}
@keyframes in-r{from{transform:translateX(100%)}to{transform:none}}
@keyframes in-l{from{transform:translateX(-100%)}to{transform:none}}
@keyframes in-t{from{transform:translateY(-24px);opacity:0}to{transform:none;opacity:1}}
.ph{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem .9rem 1.25rem;border-bottom:1px solid var(--line);font:700 1.15rem var(--f-ui)}
.pb{flex:1;overflow:auto;padding:1rem 1.25rem}
.menu-links .menu{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;font:700 1.9rem/1.2 var(--f-ui);letter-spacing:-.02em}
.menu-links a{display:block;padding:.5rem 0;text-decoration:none}

/* Search */
.top{width:min(720px,100vw);max-width:100vw;max-height:80dvh;margin:0 auto auto;border-radius:0 0 14px 14px}
.top .panel{max-height:80dvh}
.sbar{display:flex;align-items:center;gap:.5rem;margin:0;padding:.9rem 1rem .9rem 1.25rem;border-bottom:1px solid var(--line)}
.sbar input{flex:1;min-width:0;border:0;background:transparent;font:500 1.15rem var(--f-ui);padding:.4rem 0}
.sbar input:focus-visible{outline:none}
#sres:empty{padding:0}
.sr-row{display:grid;grid-template-columns:56px 1fr auto;gap:.9rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);text-decoration:none;font:500 1rem/1.3 var(--f-ui)}
.sr-row:hover .sr-name{text-decoration:underline;text-underline-offset:.2em}
.sr-row .th{position:relative;width:56px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--tile)}
.sr-row .th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sr-row .price{font:600 .95rem var(--f-ui);text-align:right}
.sr-row .price del{color:var(--ink-2);font-weight:400;margin-right:.3rem}
.sr-row .price ins{text-decoration:none}
.sres-all{display:inline-block;margin-top:1rem}
.sres-empty{margin:0;padding:.5rem 0;font:500 1rem/1.45 var(--f-ui);color:var(--ink-2)}

/* Cart drawer (WooCommerce mini cart) */
#cart .widget_shopping_cart_content{display:flex;flex-direction:column;min-height:100%}
#cart .woocommerce-mini-cart{flex:1;list-style:none;margin:0;padding:0}
#cart .woocommerce-mini-cart-item{position:relative;min-height:calc(64px + 1.8rem);margin:0;padding:.9rem 2.5rem .9rem 78px;border-bottom:1px solid var(--line);font:500 .95rem/1.35 var(--f-ui);list-style:none}
#cart .woocommerce-mini-cart-item a:not(.remove){display:block;font-weight:600;text-decoration:none}
#cart .woocommerce-mini-cart-item img{position:absolute;left:0;top:.9rem;width:64px;height:64px;margin:0;float:none;object-fit:cover;border-radius:6px;box-shadow:none}
#cart .woocommerce-mini-cart-item .quantity{display:block;margin-top:.3rem;color:var(--ink-2)}
#cart .woocommerce-mini-cart-item .variation{margin:.25rem 0 0;font-size:.85rem;color:var(--ink-2)}
#cart .woocommerce-mini-cart-item .variation dt,#cart .woocommerce-mini-cart-item .variation dd,#cart .woocommerce-mini-cart-item .variation p{display:inline;margin:0;padding:0;float:none}
#cart a.remove.remove_from_cart_button{position:absolute;top:.8rem;right:0;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:transparent;color:var(--ink-2)!important;font:400 1.3rem/1 var(--f-ui);text-decoration:none}
#cart a.remove.remove_from_cart_button:hover{background:var(--ink);color:var(--on-ink)!important}
#cart .woocommerce-mini-cart__total{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:1rem 0 .25rem;border:0;font:700 1.05rem var(--f-ui)}
#cart .woocommerce-mini-cart__buttons{display:grid;gap:.6rem;margin:1rem 0 0;padding:0}
#cart .woocommerce-mini-cart__buttons .button{display:block;width:100%;margin:0;padding:.85rem 1.5rem;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:600 .95rem/1.2 var(--f-ui);text-align:center;text-decoration:none}
#cart .woocommerce-mini-cart__buttons .button.checkout{background:var(--ink);color:var(--on-ink)}
#cart .woocommerce-mini-cart__empty-message{margin:0;padding:2rem 0;font:500 1.05rem/1.45 var(--f-ui)}
.ship-progress{padding-top:.75rem}
.ship{margin:0;font:500 .92rem var(--f-ui)}
.meter{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:.5rem 0 0}
.meter i{display:block;height:100%;background:var(--accent);transition:width .4s}

/* ==========================================================================
   WooCommerce: product grid and cards
   ========================================================================== */
.woocommerce ul.products.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.25rem 1.25rem;margin:0;padding:0;list-style:none;clear:both}
.woocommerce ul.products.products::before,.woocommerce ul.products.products::after{display:none}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.woocommerce ul.products.products:not(.columns-2){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.woocommerce ul.products.products,.woocommerce ul.products.products:not(.columns-2){grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem .75rem}}
.woocommerce ul.products[class*="columns-"] li.product.product,
.woocommerce-page ul.products[class*="columns-"] li.product.product{position:relative;display:flex;flex-direction:column;width:auto;float:none;clear:none;margin:0;padding:0;text-align:left}
.woocommerce ul.products li.product a.tile{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--tile)}
.woocommerce ul.products li.product a.tile img{display:block;width:100%;height:auto;margin:0;box-shadow:none;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.woocommerce ul.products li.product a.tile:hover img{transform:scale(1.04)}}
.tag,.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{position:absolute;top:.7rem;left:.7rem;right:auto;z-index:2;min-width:0;min-height:0;margin:0;padding:.2rem .65rem;border-radius:999px;background:var(--surface);color:var(--ink);font:600 .78rem/1.4 var(--f-ui);text-align:left}
.woocommerce ul.products li.product .meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-top:.7rem}
.woocommerce ul.products li.product .meta-text{min-width:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0;padding:0;font:600 1rem/1.25 var(--f-ui);letter-spacing:-.01em}
.woocommerce ul.products li.product .woocommerce-loop-product__title a{text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover{text-decoration:underline;text-underline-offset:.2em}
.woocommerce ul.products li.product .by{margin:.15rem 0 0;font:400 .9rem var(--f-ui);color:var(--ink-2)}
.woocommerce ul.products li.product .price{display:block;margin:0;color:var(--ink);font:600 1rem/1.25 var(--f-ui);text-align:right}
.woocommerce ul.products li.product .price del{display:block;color:var(--ink-2);font-weight:400;font-size:.85em;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:600}
@media (max-width:760px){
  .woocommerce ul.products li.product .meta{flex-direction:column;gap:.2rem}
  .woocommerce ul.products li.product .price{text-align:left}
}

/* ==========================================================================
   WooCommerce: shop, category and artist pages
   ========================================================================== */
.wc-wrap{padding-top:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(3rem,6vw,5rem)}
.woocommerce .woocommerce-breadcrumb{margin:0 0 1.25rem;font:500 .88rem var(--f-ui);color:var(--ink-2)}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink-2)}
.woocommerce-products-header{margin:0 0 1.5rem;padding:0}
.page-title,.woocommerce-products-header__title.page-title{margin:0 0 1rem;font:700 clamp(2.2rem,5vw,3.6rem)/1 var(--f-ui);letter-spacing:-.03em}
.term-description{max-width:42rem;color:var(--ink-2);font-size:1.1rem}
.term-description p{margin:0 0 1em}
.woocommerce .woocommerce-result-count{float:none;margin:0;font:500 .9rem var(--f-ui);color:var(--ink-2)}
.woocommerce .woocommerce-ordering{float:none;margin:0}
.artist-hero{display:flex;align-items:center;gap:1.25rem;margin:0 0 1.25rem}
.artist-hero-photo{width:112px;height:112px;flex:none;border-radius:999px;object-fit:cover;border:1px solid var(--line)}
.artist-hero .page-title{margin:0}
.artist-hero .craft{margin:.5rem 0 0;font:500 1rem var(--f-ui);color:var(--ink-2)}
@media (max-width:560px){.artist-hero{flex-direction:column;align-items:flex-start}}
.woocommerce nav.woocommerce-pagination{margin-top:2.5rem;text-align:left}
.woocommerce nav.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;border:0}
.woocommerce nav.woocommerce-pagination ul li{float:none;border:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);font:600 .92rem var(--f-ui);text-decoration:none}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li a:focus{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}

/* ==========================================================================
   WooCommerce: single product
   ========================================================================== */
.woocommerce div.product{position:relative}
.woocommerce div.product div.images img{border-radius:8px}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:.5rem}
.woocommerce div.product div.images .flex-control-thumbs li{padding:0 .5rem 0 0}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:6px}
.woocommerce div.product .product-artist{margin:0 0 .6rem;font:500 1rem var(--f-ui);color:var(--ink-2)}
.woocommerce div.product .product-artist a{color:var(--ink)}
.woocommerce div.product .product_title{margin:0 0 .75rem;font:700 clamp(2rem,4vw,3rem)/1.02 var(--f-ui);letter-spacing:-.03em}
.woocommerce div.product p.price,.woocommerce div.product span.price{margin:0 0 1.25rem;color:var(--ink);font:600 1.35rem/1.3 var(--f-ui)}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--ink-2);font-weight:400;opacity:1}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{max-width:36rem;margin-bottom:1.5rem}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 1em}
.woocommerce div.product .stock{color:var(--accent);font:600 .95rem var(--f-ui)}
.woocommerce div.product .stock.out-of-stock{color:var(--danger)}
.woocommerce div.product form.cart{margin:0 0 1.75rem}
.woocommerce div.product form.cart .variations{margin-bottom:1rem}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{padding:0 0 .75rem;border:0;vertical-align:middle;line-height:1.4}
.woocommerce div.product form.cart .variations th label{font:600 .92rem var(--f-ui);margin-right:1rem}
.woocommerce div.product form.cart .variations select{min-width:12rem;margin-right:.75rem;font:500 .95rem var(--f-ui);padding:.6rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.woocommerce div.product form.cart .reset_variations{font:500 .88rem var(--f-ui);color:var(--ink-2)}
.woocommerce div.product form.cart div.quantity{margin:0 .6rem 0 0}
.woocommerce .quantity .qty{width:4.75rem;padding:.85rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 .95rem var(--f-ui);text-align:center}
.woocommerce div.product .product_meta{display:grid;gap:.3rem;padding-top:1rem;border-top:1px solid var(--line);font:500 .9rem/1.5 var(--f-ui);color:var(--ink-2)}
.woocommerce div.product .product_meta > span{display:block}
.woocommerce div.product .product_meta a{color:var(--ink)}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:2.5rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:1.75rem;margin:0 0 1.5rem;padding:0;overflow-x:auto;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;margin-bottom:-1px;padding:.75rem 0;border-bottom:2px solid transparent;color:var(--ink-2);font:600 .98rem var(--f-ui);white-space:nowrap;text-decoration:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--ink)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:46rem;margin:0 0 2rem}
.woocommerce div.product .woocommerce-tabs .panel h2{margin:0 0 .75rem;font:700 1.3rem/1.2 var(--f-ui)}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 1em}
.woocommerce table.shop_attributes{border-top:1px solid var(--line)}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line);background:transparent;font:500 .95rem var(--f-ui)}
.woocommerce table.shop_attributes tr:nth-child(even) th,.woocommerce table.shop_attributes tr:nth-child(even) td{background:transparent}
.woocommerce .related,.woocommerce .upsells,.woocommerce .more-from-artist{clear:both;padding-top:2.5rem}
.woocommerce .related > h2,.woocommerce .upsells > h2,.woocommerce .more-from-artist > h2,.woocommerce .cross-sells > h2{margin:0 0 1.25rem;font:700 clamp(1.5rem,3vw,2rem)/1.1 var(--f-ui);letter-spacing:-.02em}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:var(--line);border-radius:8px}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--ink)}

/* ==========================================================================
   WooCommerce: buttons, notices, forms, account
   ========================================================================== */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{padding:.85rem 1.5rem;border:1.5px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--on-ink);font:600 .95rem/1.2 var(--f-ui);text-shadow:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit.alt:hover{background:color-mix(in srgb,var(--ink) 82%,var(--bg));border-color:color-mix(in srgb,var(--ink) 82%,var(--bg));color:var(--on-ink)}
.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],
.woocommerce a.button.alt.disabled,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled[disabled],
.woocommerce a.button.alt.disabled:hover,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled]:hover{padding:.85rem 1.5rem;background:var(--ink);border-color:var(--ink);color:var(--on-ink);opacity:.45}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{margin:0 0 1.5rem;border-top-color:var(--accent);border-radius:0 0 8px 8px;background:var(--surface);color:var(--ink);font:500 .95rem/1.45 var(--f-ui)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}
.woocommerce-error{border-top-color:var(--danger)}
.woocommerce-error::before{color:var(--danger)}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a:not(.button){color:var(--ink)}
.woocommerce-store-notice,p.demo_store{background:var(--ink);color:var(--on-ink);font:500 .9rem var(--f-ui)}
.woocommerce-store-notice a,p.demo_store a{color:var(--on-ink)}
.woocommerce form .form-row label{margin-bottom:.35rem;font:600 .9rem/1.4 var(--f-ui)}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{padding:.8rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:400 1rem var(--f-ui)}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:clamp(1.25rem,3vw,2rem)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.7rem 0;border-bottom:1px solid var(--line);font:600 .95rem var(--f-ui);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--accent)}
.woocommerce-MyAccount-content p,.woocommerce-order p{margin:0 0 1em}

/* Block-based cart and checkout */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--f-ui)}
body .wc-block-components-button:not(.is-link){border:0;border-radius:999px;background:var(--ink);color:var(--on-ink);font:600 .95rem/1.2 var(--f-ui)}
body .wc-block-components-button:not(.is-link):hover{background:color-mix(in srgb,var(--ink) 82%,var(--bg));color:var(--on-ink)}

/* ==========================================================================
   Pages, posts and search results
   ========================================================================== */
.page-wrap{padding-top:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(3rem,6vw,5rem)}
.page-wrap .entry-content,.post-list{max-width:46rem}
.page-wrap.is-store .entry-content{max-width:none}
.entry-content > * + *{margin-top:1em}
.entry-content > *:first-child{margin-top:0}
.entry-content p{margin-bottom:0}
.entry-content h2,.entry-content h3{margin-top:1.6em}
.post-list{display:grid;gap:2rem}
.entry-title{font:700 1.6rem/1.15 var(--f-ui)}
.entry-title a{text-decoration:none}
.entry-summary{margin-top:.5rem;color:var(--ink-2)}
.entry-summary p{margin:0}
.nav-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2.5rem;font:600 .92rem var(--f-ui)}
.nav-links .page-numbers{display:grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;text-decoration:none}
.nav-links .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.search-form{display:flex;gap:.5rem;margin-top:1.5rem;max-width:32rem}
.search-form label{flex:1}
.search-form .search-field{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.search-form .search-submit{padding:.8rem 1.25rem;border:0;border-radius:999px;background:var(--ink);color:var(--on-ink);font:600 .95rem var(--f-ui);cursor:pointer}
