/* Shared catalog and journal typography follows the atelier's charcoal palette. */
.site-header nav a[aria-current=page]{color:var(--accent)}
.site-header nav .nav-cart{font-size:13px;white-space:nowrap}
.site-header nav .nav-cart b{font-size:11px;font-weight:400;color:var(--accent)}
.shop-shell{max-width:1600px;margin:auto;padding:calc(var(--nav-height) + 46px) var(--space) 80px;min-height:80vh}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px;margin-bottom:38px}
.crumbs a:hover{color:var(--accent)}
.page-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:44px;border-bottom:1px solid var(--line)}
.page-intro h1,.product-info h1,.journal-article h1{font:400 clamp(34px,4.4vw,64px)/1.35 "Songti SC","STSong",Georgia,serif;margin:15px 0}
.page-intro p:last-child{color:var(--muted);font-size:14px;line-height:1.9;max-width:430px}
.intro-number{font:italic 90px/1 Georgia,serif;color:#ffffff18}
.catalog-section{margin:44px 0 0;scroll-margin-top:calc(var(--nav-height) + 20px)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.section-title h2{font:400 27px/1.4 "Songti SC",Georgia,serif}.section-title>span,.section-title>a{font-size:12px;color:var(--muted)}
.series-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.series-card{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:8px 0 18px;transition:border-color .2s}
.series-card[aria-current=true],.series-card:hover{border-color:var(--accent)}
.series-card img{width:70px;height:80px;object-fit:contain;background:#ffffff04}.series-card h3{font-size:17px;font-weight:400}.series-card small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.series-card>span{margin-left:auto;color:var(--accent)}
.filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:23px 0;border-block:1px solid var(--line);margin-bottom:26px}
.field{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:140px}.field>span{color:var(--muted)}
.field input,.field select,.field textarea,.search-field input{width:100%;background:#ffffff04;color:var(--ink);border:1px solid var(--line);border-radius:0;padding:11px 12px;font:inherit;min-height:43px}
.field textarea{resize:vertical;min-height:110px;line-height:1.7}.field input:focus,.field textarea:focus,.field select:focus{outline:1px solid var(--accent)}
.search-field{flex:1;min-width:200px}.filter-bar select{min-width:120px}.filter-bar button{min-height:43px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}
.catalog-card{min-width:0}.catalog-art{position:relative;background:var(--surface);aspect-ratio:1/1.02;display:grid;place-items:center;overflow:hidden}
.catalog-art img{width:77%;height:77%;object-fit:contain;transition:transform .5s}.catalog-art:hover img{transform:scale(1.055)}
.catalog-art>span{position:absolute;bottom:17px;right:18px;font-size:12px;color:var(--muted)}
.catalog-card-copy{padding:17px 0;border-bottom:1px solid var(--line)}.catalog-card-copy>div{display:flex;gap:12px;justify-content:space-between;align-items:center}
.catalog-card h3{font-size:21px;font-weight:400;letter-spacing:1px}.catalog-card small{font-size:12px;color:var(--muted)}.catalog-card p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:7px}
.empty-state{border-block:1px solid var(--line);padding:45px 18px;text-align:center;color:var(--muted);line-height:1.9}.empty-state h3{color:var(--ink);font:400 24px "Songti SC",serif;margin-bottom:13px}.empty-state a{display:inline-block;color:var(--accent);margin-top:16px}
.error-state{color:var(--red);padding:25px 0}.loading-state{padding:50px 0;color:var(--muted);font-size:14px}
.store-footer{border-top:1px solid var(--line);margin:0 var(--space);padding:28px 0;display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:12px}.store-footer>div{display:flex;gap:20px}
.product-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(35px,6vw,100px);align-items:start}
.detail-art{background:var(--surface);aspect-ratio:1;display:grid;place-items:center;position:relative}.detail-art img{width:82%;height:82%;object-fit:contain}.detail-art>span{position:absolute;left:22px;bottom:20px;font-size:11px;letter-spacing:2px;color:var(--muted)}
.detail-thumbs{display:flex;gap:10px;margin-top:13px;overflow:auto}.detail-thumbs button{width:72px;height:72px;flex:none;border:1px solid var(--line);padding:8px}.detail-thumbs button[aria-pressed=true]{border-color:var(--accent)}.detail-thumbs img{width:100%;height:100%;object-fit:contain}
.product-info .description{line-height:1.9;color:#c2c1c3;font-size:15px;margin:22px 0 30px;white-space:pre-line}
.product-info .price{font-size:23px;margin:15px 0}.product-info .price small{font-size:13px;color:var(--muted)}
.spec-options{padding:20px 0;border-top:1px solid var(--line)}.spec-options legend{padding:0;font-size:13px;color:var(--muted)}.spec-options fieldset{margin:0 0 17px;padding:0;border:0}.option-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.option-buttons button{padding:9px 14px;border:1px solid var(--line);font-size:13px}.option-buttons button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#c8b68e0b}.option-buttons button:disabled{opacity:.25;text-decoration:line-through}
.product-facts{font-size:13px;color:var(--muted);display:grid;gap:12px;margin:15px 0 26px}.product-facts>div{display:flex;gap:20px}.product-facts dt{min-width:70px}.product-facts dd{margin:0;color:var(--ink)}
.purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.purchase-actions .button{white-space:normal;gap:6px}.purchase-actions>a{grid-column:1/-1;text-align:center;font-size:13px;color:var(--muted);padding:10px}
.quantity-field{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.quantity-field input{width:76px;border:1px solid var(--line);padding:8px;background:transparent;color:var(--ink);font:inherit}
.fine-print{font-size:12px;color:var(--muted);line-height:1.9;margin-top:18px}.status-line{font-size:13px;color:var(--accent);min-height:24px}
.about-links{display:flex;gap:35px;padding-top:25px;font-size:14px}.about-links a:hover{color:var(--accent)}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.journal-card{border-bottom:1px solid var(--line);padding-bottom:23px}.journal-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}.journal-card .article-type{font-size:11px;color:var(--accent);letter-spacing:1px}.journal-card h3{font:400 25px/1.5 "Songti SC",serif;margin:13px 0}.journal-card p{font-size:14px;color:var(--muted);line-height:1.8}.journal-card time{display:block;color:var(--muted);font-size:12px;margin-top:18px}
.store-details{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding:28px 0 0}.store-details p{white-space:pre-line;color:var(--muted);line-height:1.9}.store-details dl{margin:0}.store-details dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;font-size:14px;margin-bottom:15px}.store-details dt{color:var(--muted)}.store-details dd{margin:0;white-space:pre-line}
.journal-article{max-width:850px;margin:auto}.journal-article .article-lead{color:var(--muted);font-size:18px;line-height:1.9;margin:25px 0}.article-body{font-size:16px;line-height:2;white-space:pre-wrap;margin:35px 0}.article-photos{display:grid;gap:20px;margin-top:30px}.article-photos img{width:100%;height:auto}
.bag-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;margin-top:35px}.bag-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:23px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.bag-row img{width:110px;height:120px;object-fit:contain;background:var(--surface)}.bag-row h2{font-weight:400;font-size:20px}.bag-row p{color:var(--muted);font-size:13px;line-height:1.8;margin:8px 0}.bag-row .bag-remove{font-size:12px;color:var(--muted);text-decoration:underline;margin-top:10px}.bag-summary{border-top:1px solid var(--accent);padding-top:23px;align-self:start}.bag-summary h2{font:400 26px "Songti SC",serif;margin-bottom:25px}.bag-summary .sum{display:block;font-size:28px;margin:12px 0 22px}.bag-summary .button{width:100%;margin-top:12px}
.candidate-shelf{border:1px solid var(--line);padding:18px;margin:16px 0}.candidate-shelf .section-title{margin-bottom:12px}.candidate-shelf h2{font:400 16px sans-serif}.candidate-items{display:flex;gap:10px;overflow:auto}.candidate-items .candidate{display:flex;align-items:center;gap:8px;flex:none;border:1px solid var(--line);padding:6px 10px}.candidate .tray-item{border:0;min-width:95px;padding:0;height:55px;background:none}.candidate>button:last-child{font-size:17px;color:var(--muted)}.candidate-shelf .fine-print{margin:0}
@media(max-width:1000px){.site-header nav{gap:18px}.series-grid{grid-template-columns:repeat(2,1fr)}.bag-layout{grid-template-columns:1fr 260px;gap:28px}.catalog-grid{gap:25px 18px}.product-layout{gap:30px}}
@media(max-width:700px){:root{--nav-height:110px}.site-header,.shop-page .site-header{height:var(--nav-height);flex-wrap:wrap;justify-content:center;padding:10px 18px 12px;gap:10px}.site-header .brand img{width:29px;height:29px}.site-header .brand>span{font-size:23px}.site-header .brand small{font-size:7px;margin-top:4px}.site-header nav{justify-content:space-between;gap:12px;width:100%;font-size:13px}.site-header nav .nav-diy{font-size:12px;padding:5px 8px}.site-header nav .nav-diy span{display:none}.site-header nav .nav-cart{font-size:12px}.hero-topline{top:calc(var(--nav-height) + 20px)}.hero-heading{top:25%}.shop-shell{padding-top:calc(var(--nav-height) + 25px);padding-bottom:45px}.crumbs{margin-bottom:25px}.page-intro{padding-bottom:30px;display:block}.intro-number{display:none}.page-intro h1{font-size:38px}.page-intro p:last-child{font-size:13px}.catalog-section{margin-top:33px}.series-grid{gap:13px}.series-card img{width:52px;height:62px}.series-card h3{font-size:15px}.series-card small{font-size:11px}.filter-bar{gap:12px}.filter-bar .search-field{min-width:100%}.filter-bar .field{min-width:0;flex:1}.filter-bar select{min-width:0}.catalog-grid{grid-template-columns:1fr 1fr;gap:26px 16px}.catalog-card h3{font-size:18px}.catalog-card-copy>div{display:block}.catalog-card small{display:block;margin-top:7px}.catalog-card p{font-size:12px}.catalog-art>span{display:none}.product-layout{grid-template-columns:1fr}.product-info h1{font-size:38px}.product-info .description{font-size:14px}.journal-grid{grid-template-columns:1fr}.store-details{grid-template-columns:1fr;gap:25px}.about-links{justify-content:space-between;gap:12px;font-size:13px}.bag-layout{grid-template-columns:1fr;gap:30px}.bag-row{grid-template-columns:75px 1fr;gap:15px}.bag-row img{width:75px;height:95px}.bag-row>div:last-child{grid-column:2}.bag-row h2{font-size:18px}.bag-summary{padding-top:20px}.store-footer{flex-wrap:wrap}.journal-article h1{font-size:34px}.purchase-actions .button{font-size:13px;padding:12px 8px}}

.candidate .tray-item small{display:block;font-size:11px;color:var(--muted);margin-top:4px}

.shop-shell [hidden]{display:none!important}.catalog-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 28px;font-size:14px;color:var(--muted)}.catalog-breadcrumb a:hover{color:var(--accent)}.catalog-breadcrumb strong{font-weight:400;color:var(--ink)}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.category-card{min-width:0;display:block}.category-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--surface)}.category-card>div{padding:18px 0}.category-card h3{font-size:21px;font-weight:400}.category-card p{font-size:14px;color:var(--muted);margin:9px 0;white-space:pre-wrap}.category-card small{font-size:13px;color:var(--accent)}.category-card:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.product-info .price del{font-size:16px;color:var(--muted);margin-right:12px}.filter-bar{flex-wrap:wrap}.filter-bar>.field{min-width:120px}
@media(max-width:700px){.category-grid{gap:16px}.category-card h3{font-size:18px}.category-card>div{padding:13px 0}.filter-bar>.field{min-width:0}}
