/* Shared catalog styles for the homepage and standalone shop. */
.shop-surface .collection-nav{display:flex;align-items:center;gap:30px;padding:0 24px;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;overflow-x:auto;scrollbar-width:none}
.shop-surface .collection-nav a{display:flex;align-items:center;min-height:49px;white-space:nowrap;text-decoration:none;text-transform:uppercase;letter-spacing:.8px;font-size:10px;border-bottom:2px solid transparent}
.shop-surface .collection-nav a[aria-current=page]{border-bottom-color:#172d3a}
.shop-surface .shop-collection-heading{padding:30px 24px 25px}
.shop-surface .shop-collection-heading h1{font:36px/1.15 var(--serif)}
.shop-surface [hidden],.shop-surface .swatches:empty{display:none!important}
.shop-surface .category-nav{overflow-x:auto;scrollbar-width:none}
.shop-surface .collection-bar:has(.category-nav[hidden]){min-height:44px;padding-top:0;padding-bottom:0}
.shop-surface.inline-shop .collection-nav{padding-left:30px;padding-right:30px}
.shop-surface.inline-shop .collection-bar{border-top:0}
@media(max-width:760px){.shop-surface .collection-nav,.shop-surface.inline-shop .collection-nav{padding:0 12px;gap:24px}.shop-surface .collection-nav a{font-size:9px;min-height:45px}.shop-surface .shop-collection-heading{padding:24px 16px 20px}.shop-surface .shop-collection-heading h1{font-size:29px}.shop-surface .collection-bar:has(.category-nav[hidden]){min-height:40px}}
.shop-surface{--ink:#171717;--line:#d9d9d9;--muted:#707070;color:var(--ink);font:14px/1.4 Arial,Helvetica,sans-serif}
.shop-surface button,.shop-surface input{font:inherit;color:inherit}
.shop-surface button{border:0;padding:0;background:none;cursor:pointer}
.shop-surface h1,.shop-surface h2,.shop-surface h3,.shop-surface p{margin:0;font-weight:400}
.shop-surface svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.2}
.shop-surface img{display:block;width:100%}
.shop-surface summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.shop-surface dialog{border:0;color:var(--ink);background:#fff}
.shop-surface dialog::backdrop{background:#0006}
body:has(dialog[open]){overflow:hidden}
.shop-surface .collection-bar{display:flex;gap:35px;align-items:center;min-height:58px;padding:0 24px;border-bottom:1px solid var(--line);position:sticky;top:var(--header);z-index:9;background:#fff}
.shop-surface .collection-bar #collection-title{font:21px/1.15 var(--serif);white-space:nowrap}
.shop-surface .category-nav{display:flex;gap:28px;align-items:center;flex:1;min-width:0}
.shop-surface .category-nav button{text-transform:uppercase;font-size:10px;letter-spacing:.7px;white-space:nowrap;min-height:48px;border-bottom:1px solid transparent;padding-top:1px}
.shop-surface .category-nav button[aria-pressed=true]{border-color:#171717}
.shop-surface .collection-tools{display:flex;gap:27px;margin-left:auto;align-items:center}
.shop-surface .collection-tools button{display:flex;gap:10px;align-items:center;min-height:44px;white-space:nowrap;font-size:10px}
.shop-surface .collection-tools svg{width:22px;height:22px}
.shop-surface .grid-label{display:none}
.shop-surface .filter-label{font-size:10px;letter-spacing:.3px}
.shop-surface .collection-intro{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;gap:20px;font-size:11px;color:#646464;letter-spacing:.15px}
.shop-surface .collection-intro>span{font-size:9px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}
.shop-surface .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 18px;margin:0 24px}
.shop-surface .product-grid.dense{grid-template-columns:repeat(6,minmax(0,1fr))}
.shop-surface .product-card{min-width:0;position:relative}
.shop-surface .product-photo{display:block;position:relative;overflow:hidden;background:#ededed;aspect-ratio:1}
.shop-surface .product-photo img{height:100%;object-fit:cover;transition:transform .4s}
.shop-surface .product-photo:hover img{transform:scale(1.035)}
.shop-surface .product-quick{position:absolute;bottom:0;left:0;right:0;padding:11px;background:#fffffff0;font-size:9px;text-align:center;text-transform:uppercase;letter-spacing:1px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.shop-surface .product-photo:hover .product-quick,.shop-surface .product-photo:focus-visible .product-quick{opacity:1;transform:none}
.shop-surface .save-product{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:32px;height:32px;z-index:1;background:#ffffffb5;border-radius:50%}
.shop-surface .save-product svg{width:16px;height:17px}
.shop-surface .save-product[aria-pressed=true] svg{fill:currentColor}
.shop-surface .product-caption{padding-top:13px;padding-right:3px}
.shop-surface .product-caption h2,.shop-surface .product-caption h3{font:16px/1.12 var(--serif)}
.shop-surface .product-meta{display:flex;gap:12px;justify-content:space-between;margin-top:7px;font-size:11px;color:#555;line-height:1.3}
.shop-surface .product-price{white-space:nowrap;color:#333}
.shop-surface .swatches{display:flex;gap:9px;margin-top:11px;align-items:center}
.shop-surface .swatch{display:block;width:15px;height:15px;background:var(--swatch);border:2px solid #fff;outline:1px solid #d6d6d6;border-radius:50%}
.shop-surface .swatch[aria-current=true]{outline-color:#222}
.shop-surface .swatch:hover{outline-color:#222}
.shop-surface .results-bar{display:flex;justify-content:space-between;align-items:center;padding:0 24px 19px;font-size:11px}
.shop-surface .results-bar button{text-decoration:underline;text-underline-offset:3px}
.shop-surface .search-bar{display:flex;align-items:center;gap:20px;margin:0 24px 25px;padding:16px 0;border-bottom:1px solid #333}
.shop-surface .search-bar label{font-size:11px;white-space:nowrap}
.shop-surface .search-bar input{border:0;border-radius:0;min-width:0;flex:1;font:22px/1.3 var(--serif);padding:8px}
.shop-surface .search-bar>button{padding:10px}
.shop-surface .empty-results{padding:90px 20px;text-align:center}
.shop-surface .empty-results h2{font:35px var(--serif);margin-bottom:12px}
.shop-surface .empty-results p{font-size:13px;color:var(--muted)}
.shop-surface .empty-results button{margin-top:24px;text-decoration:underline;text-underline-offset:4px}
.shop-surface .collection-end{text-align:center;margin:52px 20px 85px;font-size:10px;letter-spacing:.3px;color:var(--muted)}
.shop-surface .noscript{padding:30px}
.shop-surface .filter-drawer{margin:0 0 0 auto;width:min(420px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0}
.shop-surface .filter-drawer form{padding:26px 28px}
.shop-surface .drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.shop-surface .drawer-heading h2{font:26px var(--serif)}
.shop-surface .drawer-heading button,.shop-surface .product-close{font:18px Arial;min-width:35px;min-height:35px}
.shop-surface .filter-drawer fieldset{border:0;border-top:1px solid var(--line);padding:22px 0;margin:0}
.shop-surface .filter-drawer legend{font-size:12px;padding:0 10px 0 0}
.shop-surface .filter-drawer label{font-size:12px;display:flex;align-items:center;gap:12px;margin:0 0 15px;cursor:pointer}
.shop-surface .filter-drawer input{accent-color:#111;width:15px;height:15px;margin:0}
.shop-surface .color-dot{width:13px;height:13px;display:inline-block;border:1px solid #0002;border-radius:50%;background:var(--swatch)}
.shop-surface .drawer-actions{position:sticky;bottom:-26px;background:#fff;display:grid;grid-template-columns:1fr 2fr;gap:20px;border-top:1px solid var(--line);padding:20px 0 26px;font-size:11px}
.shop-surface .drawer-actions>button:first-child{text-decoration:underline}
.shop-surface .dark-button{background:#151515;color:#fff;border:1px solid #151515;min-height:47px;padding:13px 22px;font-size:11px;text-align:center;text-transform:uppercase;letter-spacing:.7px}
.shop-surface .dark-button:hover{background:#333;color:#fff}
.shop-surface .dark-button[aria-pressed=true]{background:#fff;color:#111}
.shop-surface .product-dialog{padding:0;width:min(1100px,calc(100vw - 60px));max-height:90dvh;overflow:auto}
.shop-surface .product-close{position:absolute;right:15px;top:15px;z-index:2;background:#ffffffd9}
.shop-surface .product-detail{display:grid;grid-template-columns:1.1fr 1fr}
.shop-surface .detail-gallery{align-self:start;position:sticky;top:0;min-width:0}
.shop-surface .detail-photo{background:#f7f3ed}
.shop-surface .detail-thumbnails{display:flex;gap:12px;padding:14px;background:#faf8f4}
.shop-surface .detail-thumbnails button{width:100px;padding:4px;border:1px solid transparent;background:transparent;text-align:center;cursor:pointer}
.shop-surface .detail-thumbnails button[aria-pressed=true]{border-color:#172d3a}
.shop-surface .detail-thumbnails button:focus-visible{outline:2px solid #172d3a;outline-offset:3px}
.shop-surface .detail-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.shop-surface .detail-thumbnails span{display:block;font-size:10px;line-height:1.4;padding:6px 0 2px}
.shop-surface .detail-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.shop-surface .detail-copy{padding:65px 40px 40px}
.shop-surface .detail-kicker{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.shop-surface .detail-copy h2{font:32px/1.1 var(--serif);margin-bottom:12px}
.shop-surface .detail-price{font-size:13px;margin-bottom:26px}
.shop-surface .detail-color{font-size:12px;color:#555}
.shop-surface .detail-copy .swatches{margin:14px 0 30px;gap:13px}
.shop-surface .detail-copy .swatch{width:23px;height:23px}
.shop-surface .detail-description{font:19px/1.35 var(--serif);margin:20px 0 25px}
.shop-surface .detail-save{width:100%}
.shop-surface .save-note{font-size:10px;color:var(--muted);margin-top:10px;text-align:center}
.shop-surface .detail-copy details{border-top:1px solid var(--line);margin-top:27px;padding-top:17px;font-size:12px}
.shop-surface .detail-copy summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.shop-surface .detail-copy summary:after{content:'+'}
.shop-surface .detail-copy details[open] summary:after{content:'−'}
.shop-surface .detail-copy details ul{padding-left:16px;line-height:1.7;color:#555}
.shop-surface .detail-copy details p{font-size:11px;line-height:1.7;margin-top:14px;color:var(--muted)}
.shop-surface .notes-dialog{padding:65px 40px 40px;width:min(550px,calc(100% - 30px))}
.shop-surface .notes-dialog h2{font:32px var(--serif);margin-bottom:20px}
.shop-surface .notes-dialog p{font-size:13px;line-height:1.7;margin-top:16px}
.shop-surface .shop-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;padding:14px 20px;background:#171717;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:calc(100% - 30px);width:max-content}
.shop-surface .shop-toast.visible{opacity:1}
@media(max-width:1150px){.shop-surface .collection-bar{gap:24px;flex-wrap:wrap;padding-top:15px;padding-bottom:4px}
.shop-surface .collection-bar #collection-title{flex:1}
.shop-surface .collection-tools{order:1}
.shop-surface .category-nav{order:2;flex-basis:100%;gap:30px}
.shop-surface .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-surface .product-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}
.shop-surface .detail-copy{padding:60px 25px 30px}}
@media(max-width:760px){.shop-surface .collection-bar{padding:9px 16px 0;gap:0;min-height:95px}
.shop-surface .collection-bar #collection-title{font-size:21px}
.shop-surface .collection-tools{gap:16px}
.shop-surface .collection-tools button{min-height:40px}
.shop-surface .category-nav{gap:25px;overflow:auto;scrollbar-width:none}
.shop-surface .category-nav::-webkit-scrollbar{display:none}
.shop-surface .category-nav button{font-size:9px;min-height:45px}
.shop-surface .collection-intro{padding:18px 16px;display:block;line-height:1.5;font-size:10px}
.shop-surface .collection-intro>span{display:block;font-size:8px;margin-top:9px}
.shop-surface .product-grid,.shop-surface .product-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px;gap:27px 10px}
.shop-surface .product-grid.dense{grid-template-columns:1fr}
.shop-surface .product-caption{padding-top:10px}
.shop-surface .product-caption h2,.shop-surface .product-caption h3{font-size:15px;line-height:1.12}
.shop-surface .product-meta{font-size:10px;flex-wrap:wrap;gap:3px 8px;margin-top:6px}
.shop-surface .swatches{margin-top:10px}
.shop-surface .swatch{width:15px;height:15px}
.shop-surface .save-product{right:6px;top:6px;width:28px;height:28px}
.shop-surface .product-quick{display:none}
.shop-surface .search-bar{margin:0 16px 20px;gap:6px;flex-wrap:wrap;padding-top:0}
.shop-surface .search-bar label{width:100%;font-size:10px}
.shop-surface .search-bar input{font-size:20px;padding-left:0}
.shop-surface .results-bar{padding:0 16px 17px;font-size:10px}
.shop-surface .collection-end{margin:40px 16px 50px;font-size:9px}
.shop-surface .product-dialog{width:calc(100vw - 16px);max-height:94dvh}
.shop-surface .product-detail{grid-template-columns:1fr}
.shop-surface .detail-gallery{position:static}
.shop-surface .detail-photo img{max-height:48dvh;object-fit:contain}
.shop-surface .detail-copy{padding:26px 24px}
.shop-surface .detail-copy h2{font-size:29px}
.shop-surface .detail-price{margin-bottom:22px}
.shop-surface .product-close{right:10px;top:10px}
.shop-surface .detail-description{font-size:19px}
.shop-surface .detail-copy .swatches{margin-bottom:22px}
.shop-surface .filter-drawer form{padding:24px}
.shop-surface .notes-dialog{padding:60px 25px 30px}
.shop-surface .shop-toast{font-size:11px}}

/* Keep collection choices and shopping controls legible on smaller screens. */
@media(max-width:760px){
  .shop-surface .collection-nav,.shop-surface.inline-shop .collection-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0 12px;padding:8px 12px;overflow:visible}
  .shop-surface .collection-nav a{justify-content:center;min-height:52px;padding:8px 4px;font-size:14px;line-height:1.3;letter-spacing:0;text-transform:none;white-space:normal;text-align:center}
  .shop-surface .collection-nav a[aria-current=page]{background:#f5f4f0;color:#172d3a}
  .shop-surface .collection-bar{padding:10px 12px;min-height:0;gap:6px;flex-wrap:wrap}
  .shop-surface .collection-tools{order:0;flex:1;width:100%;gap:10px;margin-left:0}
  .shop-surface .collection-tools button{flex:1;justify-content:center;min-width:44px;min-height:48px;padding:8px;font-size:13px;border:1px solid var(--line)}
  .shop-surface .filter-label,.shop-surface .grid-label{display:inline;font-size:13px;letter-spacing:0}
  .shop-surface .category-nav{order:1;flex-basis:100%;gap:20px}
  .shop-surface .category-nav button{flex:none;min-width:44px;min-height:48px;padding:0 4px;font-size:13px;letter-spacing:0;text-transform:none}
  .shop-surface .collection-intro{font-size:13px}
  .shop-surface .collection-intro>span{font-size:11px}
  .shop-surface .save-product{width:44px;height:44px}
  .shop-surface .search-bar label,.shop-surface .results-bar{font-size:13px}
  .shop-surface .search-bar>button,.shop-surface .results-bar button{min-width:44px;min-height:44px}
  .shop-surface .drawer-heading button,.shop-surface .product-close{min-width:44px;min-height:44px}
  .shop-surface .filter-drawer label{min-height:44px;margin-bottom:4px;font-size:14px}
  .shop-surface .filter-drawer input{width:18px;height:18px}
  .shop-surface .filter-drawer legend{font-size:14px}
  .shop-surface .drawer-actions{gap:12px;font-size:14px}
  .shop-surface .drawer-actions button{min-height:48px;font-size:13px}
}
