/* ============ STORE LAYER ============ */
/* header add-ons */
.curswitch{position:relative}
.curswitch>button{background:none;border:1px solid var(--line);color:inherit;font-family:var(--sans);font-size:11px;letter-spacing:.1em;padding:6px 10px;cursor:pointer;display:flex;gap:5px;align-items:center}
header.on-dark:not(.scrolled) .curswitch>button{border-color:rgba(255,255,255,.4)}
.curswitch .menu{position:absolute;top:120%;right:0;background:#fff;border:1px solid var(--line);min-width:150px;box-shadow:var(--shadow);display:none;z-index:60}
.curswitch.open .menu{display:block}
.curswitch .menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 14px;font-family:var(--sans);font-size:12.5px;color:var(--ink);cursor:pointer}
.curswitch .menu button:hover{background:var(--paper-2);color:var(--gold-d)}

/* toast */
#rg-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(30px);background:var(--olive);color:#fff;padding:14px 24px;font-size:13px;letter-spacing:.04em;z-index:9997;opacity:0;transition:.4s var(--ease);border-left:3px solid var(--gold);box-shadow:var(--shadow)}
#rg-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* cart drawer */
#rg-drawer{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:var(--paper);z-index:9990;transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;box-shadow:-20px 0 60px -30px rgba(0,0,0,.5)}
#rg-drawer.open{transform:translateX(0)}
#rg-ovl{position:fixed;inset:0;background:rgba(20,14,8,.5);z-index:9989;opacity:0;visibility:hidden;transition:.4s}
#rg-ovl.open{opacity:1;visibility:visible}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line-l)}
.dr-head h3{font-family:var(--serif);font-size:22px}
.dr-head .x{border:none;background:none;font-size:26px;cursor:pointer;color:var(--muted);line-height:1}
.dr-items{flex:1;overflow-y:auto;padding:10px 24px}
.dr-empty{text-align:center;color:var(--muted);padding:60px 0;font-size:14px}
.dr-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-l);align-items:center}
.dr-item img{width:64px;height:64px;object-fit:cover;background:var(--paper-3)}
.dr-item .di-n{font-family:var(--serif);font-size:15px;line-height:1.15}
.dr-item .di-o{font-size:11px;color:var(--muted)}
.dr-item .di-q{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:12px}
.dr-item .di-q button{width:20px;height:20px;border:1px solid var(--line);background:#fff;cursor:pointer;line-height:1}
.dr-item .di-p{font-family:var(--serif);font-weight:600;font-size:14px;white-space:nowrap}
.dr-item .di-rm{border:none;background:none;color:var(--muted);cursor:pointer;font-size:11px;display:block;margin-top:4px}
.dr-foot{padding:20px 24px;border-top:1px solid var(--line)}
.dr-foot .dr-tot{display:flex;justify-content:space-between;font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:14px}
.dr-foot .btn{width:100%;justify-content:center;margin-bottom:8px}

/* wishlist heart */
.wish{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.85);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;color:var(--ink)}
.wish:hover{background:#fff;transform:scale(1.08)}
.wish.on{color:#c0392b}
.wish svg{width:17px;height:17px}

/* search overlay */
#rg-search{position:fixed;inset:0;background:rgba(20,14,8,.55);backdrop-filter:blur(4px);z-index:9991;opacity:0;visibility:hidden;transition:.35s;display:flex;justify-content:center;align-items:flex-start}
#rg-search.open{opacity:1;visibility:visible}
.se-box{background:var(--paper);width:640px;max-width:92vw;margin-top:14vh;padding:30px;box-shadow:var(--shadow)}
.se-box input{width:100%;border:none;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:24px;padding:10px 0;background:none;outline:none;color:var(--ink)}
.se-res{margin-top:16px;max-height:44vh;overflow-y:auto}
.se-res a{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-l)}
.se-res a:hover{padding-left:6px}
.se-res img{width:52px;height:52px;object-fit:cover;background:var(--paper-3)}
.se-res .rn{font-family:var(--serif);font-size:16px}
.se-res .rp{font-size:12px;color:var(--gold-d)}
.se-hint{font-size:12px;color:var(--muted);margin-top:14px}

/* consent */
#rg-consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;margin:0 auto;background:var(--olive);color:#efe8d8;padding:18px 22px;z-index:9995;display:flex;gap:16px;align-items:center;flex-wrap:wrap;box-shadow:var(--shadow)}
#rg-consent p{font-size:12.5px;flex:1;min-width:220px;color:rgba(239,232,216,.85)}
#rg-consent a{color:var(--gold-l);text-decoration:underline}
#rg-consent button{border:none;padding:9px 18px;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
#rg-consent .ok{background:var(--gold);color:#2a1c08}
#rg-consent .no{background:none;color:#efe8d8;border:1px solid rgba(255,255,255,.3)}

/* subscription toggle */
.subwrap{margin-top:20px;border:1px solid var(--line);background:#fff}
.subopt{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--line-l)}
.subopt:last-child{border-bottom:none}
.subopt.on{background:var(--paper-2)}
.subopt .rd{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--muted);margin-top:2px;flex:0 0 auto}
.subopt.on .rd{border-color:var(--acc,var(--gold));background:radial-gradient(var(--acc,var(--gold)) 42%,transparent 48%)}
.subopt .st{font-size:13.5px}.subopt .st b{display:block;font-size:14px;color:var(--ink)}
.subopt .save{margin-left:auto;font-size:11px;background:var(--acc,var(--gold));color:#fff;padding:3px 8px;height:fit-content;letter-spacing:.06em}

/* reviews */
.reviews{padding:70px 0;background:var(--paper-2)}
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;flex-wrap:wrap;gap:16px}
.rv-head h2{font-family:var(--serif);font-size:32px}
.rv-avg{display:flex;align-items:center;gap:12px}
.rv-avg .big{font-family:var(--serif);font-size:40px;font-weight:600}
.rv-empty{background:#fff;border:1px dashed var(--line);padding:34px;text-align:center;color:var(--muted);font-size:14px}
.rv-form{background:#fff;border:1px solid var(--line-l);padding:26px;margin-top:22px;max-width:620px}
.rv-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rv-form input,.rv-form textarea,.rv-form select{width:100%;padding:11px 13px;border:1px solid var(--line);font-family:var(--sans);font-size:14px;background:var(--paper);margin-bottom:12px;outline:none}
.rv-form label{font-size:11px;letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:5px}

/* policy / prose pages */
.prose{padding:60px 0 90px;background:var(--paper)}
.prose .wrap{max-width:820px}
.prose h2{font-family:var(--serif);font-size:26px;margin:34px 0 12px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:15px;color:var(--ink-2);line-height:1.8;margin-bottom:12px}
.prose ul{margin:0 0 14px 20px}
.prose .updated{font-size:12px;color:var(--muted);margin-bottom:30px}
.faq-item{border-bottom:1px solid var(--line-l);padding:18px 0}
.faq-item summary{font-family:var(--serif);font-size:19px;cursor:pointer;color:var(--ink);list-style:none;display:flex;justify-content:space-between}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--gold-d);font-size:22px}
.faq-item[open] summary::after{content:"−"}
.faq-item p{margin-top:12px}

/* journal article */
.art-hero{position:relative;min-height:66vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.art-hero .pbg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03)}
.art-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,8,.82) 0%,rgba(20,14,8,.35) 45%,rgba(20,14,8,.15) 100%)}
.art-hero-in{position:relative;z-index:2;padding:0 0 56px}
.art-hero h1{font-family:var(--serif);font-size:clamp(34px,5.4vw,62px);line-height:1.05;max-width:16ch;margin:6px 0 14px}
.art-meta{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.art-body{padding:60px 0 30px;background:var(--paper)}
.art-body .wrap{max-width:760px}
.art-lede{font-family:var(--serif);font-size:23px;line-height:1.5;color:var(--ink);font-style:italic;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line-l)}
.art-body h2{font-family:var(--serif);font-size:27px;color:var(--ink);margin:38px 0 12px}
.art-body p{font-size:16.5px;line-height:1.85;color:var(--ink-2);margin-bottom:18px}
.art-related{padding:20px 0 90px;background:var(--paper)}
.art-rel-h{font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:24px;text-align:center}
.j-grid.rel{grid-template-columns:1fr 1fr;max-width:820px;margin:0 auto}
@media(max-width:640px){.j-grid.rel{grid-template-columns:1fr}}

/* wishlist page */
.wl-wrap{padding:56px 0 90px;background:var(--paper);min-height:50vh}
.wl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px}
.wl-card{position:relative;background:#fff;border:1px solid var(--line-l);display:flex;flex-direction:column}
.wl-card .wl-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--paper-3)}
.wl-card .wl-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.wl-card:hover .wl-img img{transform:scale(1.05)}
.wl-rm{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;box-shadow:var(--shadow)}
.wl-rm:hover{background:#fff;color:#c0392b}
.wl-body{padding:16px 16px 20px;display:flex;flex-direction:column;gap:8px}
.wl-body h3{font-family:var(--serif);font-size:19px;line-height:1.15}
.wl-body h3 a{color:var(--ink)}
.wl-price{font-family:var(--serif);font-weight:600;color:var(--gold-d);font-size:16px}
.wl-add{margin-top:6px;justify-content:center;width:100%}
.wl-empty{text-align:center;padding:70px 20px;color:var(--muted)}
.wl-empty svg{color:var(--gold);margin-bottom:14px}
.wl-empty h3{font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:8px}
.wl-empty p{font-size:14px;margin-bottom:22px}

/* wholesale */
.ws-hero-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.ws-feat{text-align:center;padding:24px;background:var(--paper-2);border:1px solid var(--line-l)}
.ws-feat .wi{width:40px;height:40px;margin:0 auto 12px;color:var(--gold-d)}
.ws-feat h4{font-family:var(--serif);font-size:19px;margin-bottom:6px}
.ws-feat p{font-size:13px;color:var(--muted)}

@media(max-width:640px){
  .ws-hero-feats{grid-template-columns:1fr}
  .rv-form .f2{grid-template-columns:1fr}
  #rg-drawer{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.05ms!important;scroll-behavior:auto!important}
  .cur,.curd{display:none!important}
}
