/* The public catalogue shares the homepage's paper, green and muted gold. */
:root{color-scheme:only light;--bg:#f7f5ef;--surface:#faf9f5;--surface2:#eeeae0;--border:#d9dbd0;--text:#192820;--text-muted:#647068;--accent:#384e3e;--accent-hover:#263b2c;--accent-dim:#e6e9dd;--card-fill:#faf9f5;--card-fill-hover:#f0efe7;--card-on-fill:#192820;--card-on-fill-muted:#647068;--danger:#a32929;--shadow:0 10px 30px #19282012;--font:Arial,Helvetica,sans-serif}
body{background:var(--bg);color:var(--text)}
input,select,textarea{color-scheme:light}
html,.sidebar,.modal{scrollbar-color:#9da696 var(--bg)}
.header{background:#f7f5eff5;border-color:var(--border)}
.brand-mark{color:var(--accent);border-color:#818e7b;border-radius:24px 24px 0 0}
.brand-title,.catalog-phone{color:var(--text)}
.search-box input{background:var(--surface);border-color:var(--border)}
.sidebar{background:var(--bg);border-color:var(--border)}
.group-link{color:var(--text-muted)}
.group-link:hover{background:var(--surface2);color:var(--text)}
.group-link.active{color:var(--accent);background:var(--accent-dim)}
.group-count{color:var(--text-muted)}
/* Two primary sections belong to the masthead; the sidebar lists categories. */
.header{background:var(--bg);backdrop-filter:none}
.header>.header-inner{min-height:100px;display:grid;grid-template-columns:1fr auto 1fr;gap:32px;padding:18px 32px;align-items:center}
.header .brand-title{font-size:14px;letter-spacing:.13em}
.header .brand-title small{font-size:7px;letter-spacing:.24em}
.header .brand-mark{width:43px;height:47px}
.header .catalog-phone{justify-self:end;text-align:right;font-size:16px;line-height:1.5}
.catalog-phone small{display:block;font-size:10px;font-weight:400;color:var(--text-muted);letter-spacing:.04em;margin-bottom:3px}
.collection-tabs{display:flex;align-items:stretch;gap:10px;min-width:0}
.collection-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:60px;padding:14px 20px;text-decoration:none;color:var(--text-muted);border:1px solid transparent;border-radius:6px;transition:background .18s,color .18s,border-color .18s}
.collection-tab:hover{background:var(--surface2);color:var(--text)}
.collection-tab.active,.collection-tab[aria-current=page]{color:var(--text);background:#e9ecdf;border-color:#cfd6c3}
.collection-tab.active:after,.collection-tab[aria-current=page]:after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:2px;background:#69765e}
.collection-icon{width:27px;height:29px;flex:none;color:#69765e}
.collection-label{font-size:15px;line-height:1.4;font-weight:500;white-space:nowrap}
.collection-count{font-size:11px;font-variant-numeric:tabular-nums;line-height:1.5;color:var(--text-muted);background:#ffffff75;border:1px solid var(--border);border-radius:20px;padding:2px 7px;flex:none}
.header-tools{border-top:1px solid var(--border)}
.header-tools .header-actions{max-width:1800px;width:100%;margin:0 auto;padding:11px 32px;display:flex;align-items:center;gap:22px;min-width:0}
.header-tools .search-box{position:relative;flex:1;width:auto;max-width:620px;min-width:0}
.header-tools .search-box>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.header-tools .search-box input{width:100%;height:42px;background:var(--surface);border:1px solid var(--border);padding:10px 14px 10px 43px;font-size:13px}
.header-tools .brand-catalog-links{margin-left:auto;padding:0;display:flex;align-items:center;gap:18px;white-space:nowrap;font-size:11px;color:var(--text-muted)}
.header-tools .brand-catalog-link{font-size:11px;text-decoration:none;color:var(--accent);padding:8px 0}
.header-tools .brand-catalog-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.header-tools .auth-area{margin-left:0;flex:none}
.header-tools .sidebar-toggle{display:none}
#categoryNav{display:flex;flex-direction:column;gap:3px}
.group-all{font-weight:600;border-bottom:1px solid var(--border);margin-bottom:7px}
.sidebar-heading{padding:0 12px}
.sidebar .sidebar-heading h2{padding:0;text-transform:none;font:29px/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--text);margin:8px 0 22px}
.sidebar .eyebrow{font-size:8px;letter-spacing:.15em;color:var(--text-muted)}
.sidebar .section-filter{width:calc(100% - 24px);margin:0 12px 20px;font-size:12px;border-radius:5px}
.catalog-intro{padding-bottom:27px;margin-bottom:23px;border-bottom:1px solid var(--border)}
.intro-detail{border-color:#b6a47b;color:#69765e}.intro-detail:before{border-color:#d9cdae}
.catalog-service-link{display:inline-block;margin-top:13px;color:var(--accent);text-underline-offset:4px;font-size:12px}
.card{display:block;text-decoration:none;color:inherit;border-color:var(--border);box-shadow:none}
.card:hover{border-color:#99a58d;box-shadow:0 10px 24px #19282014}
.card-image{background:#d2d4c8}
.badge-accent{background:#f7f5eff0;color:var(--text);border-color:#d9dbd0}
.card-tag,.card-price{color:var(--accent)}
.card-open-hint{display:block;font-size:11px;margin-top:14px;color:var(--text-muted)}
.engraving-card .card-image,.engraving-preview{background:#171b18}
.engraving-card .card-image img{object-fit:contain}
.engraving-preview{display:flex;justify-content:center;padding:12px;margin:20px 0}
.engraving-preview img{display:block;max-width:100%;max-height:68vh;object-fit:contain}
.btn-primary,.btn-accent{background:var(--text);color:#fff;border-color:var(--text)}
.btn-primary:hover,.btn-accent:hover{background:#344b3e;color:#fff}
.btn-secondary{border-color:#9ba491;color:var(--text)}.btn-secondary:hover{background:var(--surface2)}
.modal{background:var(--bg);color:var(--text);border-color:var(--border)}
.modal-close{background:var(--surface2);color:var(--text)}
.tag,.auth-popover{border-color:var(--border)}
.toast{background:var(--text);color:#fff}
.auth-hint{color:var(--text-muted)}
.detail-preview-wrap{grid-template-columns:1fr}
.detail-actions{margin-top:18px}
.site-footer{flex-wrap:wrap}.site-footer a{color:var(--accent)}
.page-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text)}
.page-btn.active{background:var(--text);color:#fff}
.catalog-noscript{font-size:13px;color:var(--text-muted);padding-bottom:16px}
@media(max-width:1150px){
.header>.header-inner{gap:20px;padding:16px 24px}
.header .brand-title{font-size:12px}
.header .brand-title small{font-size:6px}
.header .catalog-phone{font-size:14px}
.collection-tab{padding:12px 14px;gap:9px}
.collection-label{font-size:14px}
.collection-icon{width:23px}
.header-tools .header-actions{padding-inline:24px}
}
@media(max-width:940px){
.header>.header-inner{grid-template-columns:1fr auto;gap:14px;padding:16px 24px 12px}
.collection-tabs{grid-row:2;grid-column:1/-1;gap:14px}
.collection-tab{flex:1;min-height:54px}
.header .catalog-phone{grid-column:2;grid-row:1;font-size:15px}
.header .brand-title{font-size:14px}
.header .brand-title small{font-size:7px}
}
@media(max-width:768px){
.header>.header-inner{padding:13px 16px 11px;gap:13px}
.header .brand-title{font-size:11px;gap:9px}
.header .brand-title small{font-size:6px;letter-spacing:.2em}
.header .brand-mark{width:32px;height:36px;font-size:16px}
.header .catalog-phone{font-size:12px}
.catalog-phone small{font-size:9px}
.collection-tabs{gap:10px}
.collection-tab{padding:11px 10px;gap:9px;min-height:51px}
.collection-label{font-size:14px}
.collection-icon{width:22px;height:24px}
.collection-count{font-size:10px;padding:1px 6px}
.header-tools .header-actions{padding:10px 16px;gap:10px}
.header-tools .search-box{max-width:none}
.header-tools .search-box input{font-size:12px;height:38px;padding-left:35px}
.header-tools .search-box>svg{left:11px;width:16px}
.header-tools .sidebar-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;height:38px;padding:8px 10px;font-size:11px;background:var(--surface2);border-color:var(--border);color:var(--text)}
.header-tools .brand-catalog-links{display:none}
.header-tools .auth-toggle{height:38px;width:36px}
.sidebar{background:var(--bg);z-index:190}
.sidebar-heading{padding:0 10px}
.catalog-intro{margin-bottom:20px}
}
@media(max-width:600px){
.collection-icon{display:none}
.collection-label{font-size:13px}
.collection-tab{gap:8px}
.header-tools .sidebar-toggle span{display:none}
.header-tools .sidebar-toggle{width:36px;padding:8px}
}
@media(max-width:380px){
.header .brand-title{font-size:10px;gap:7px}
.header .brand-title small{font-size:5px}
.header .brand-mark{width:28px;height:32px;font-size:15px}
.header .catalog-phone{font-size:11px}
.catalog-phone small{font-size:8px}
.collection-tabs{gap:8px}
.collection-tab{padding:9px 7px;gap:6px}
.collection-label{font-size:12px;white-space:normal}
.collection-count{font-size:9px;padding:1px 5px}
}
