:root{color-scheme:dark;--bg:#111411;--panel:#1b1e19;--line:#34372e;--text:#f5f2e9;--muted:#b8b9ad;--gold:#dfc080;--ink:#1c2019}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:1320px;margin:auto;padding-left:36px;padding-right:36px}.topbar{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:25px;font-weight:750;letter-spacing:-1px}.brand-mark{background:var(--gold);color:var(--ink);width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;font-style:italic}.brand-section{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:10px}.nav-actions,.hero-links{display:flex;align-items:center;gap:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 21px;border:1px solid transparent;border-radius:8px;font-weight:650;line-height:1.4;text-align:center}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#efd497}.btn-outline{border-color:#777c69;background:transparent}.btn-outline:hover{background:var(--panel)}.text-btn{padding:10px 0;background:none;border:0;font-weight:600;color:var(--gold);min-height:44px}.text-btn:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;padding-top:62px;padding-bottom:65px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gold);margin:0 0 15px}h1{font-family:Georgia,serif;font-size:clamp(40px,4.8vw,66px);font-weight:400;line-height:1.1;letter-spacing:-2px;margin:0 0 22px}h1 em{color:var(--gold);font-weight:400}.hero-copy{color:var(--muted);max-width:520px;font-size:16px;margin:0 0 24px}.community-promo{background:linear-gradient(125deg,#2e3628,#20251e);border:1px solid #46503c;border-radius:16px;padding:28px 32px;position:relative;overflow:hidden}.community-promo h2{font:400 30px/1.2 Georgia,serif;margin:0 0 14px}.community-promo p:not(.eyebrow){color:#ccd0c2;max-width:295px;margin:0 0 8px}.community-promo .eyebrow{font-size:10px}.promo-icon{position:absolute;right:20px;top:24px;color:#9cae81;font-size:75px;line-height:1;opacity:.28}.promo-note{display:block;font-size:11px;color:var(--muted);margin-top:10px}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.directory-heading h2{font:400 32px/1.2 Georgia,serif;margin:0 0 23px}.directory-heading .eyebrow{margin-bottom:8px}.catalogue-count{font-size:13px;color:var(--muted)}.views{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:24px;overflow:auto}.view{white-space:nowrap;padding:15px 0;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font-weight:600}.view.active{color:var(--gold);border-bottom-color:var(--gold)}.view span{font-size:11px;border-radius:20px;background:#343a2e;padding:3px 7px;margin-left:5px}.filters{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-template-columns:2fr 1.4fr 1.2fr 1fr 1fr;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text);font-weight:550;min-width:0}.filters label>span{font-size:11px;color:var(--muted)}input,select,textarea{background:#12160f;color:var(--text);border:1px solid #444a3c;border-radius:7px;padding:11px 12px;width:100%;min-width:0;min-height:44px}input::placeholder,textarea::placeholder{color:#a6ac9d}textarea{resize:vertical}.quick-categories{display:flex;gap:8px;overflow-x:auto;padding:15px 0 6px;scrollbar-width:thin}.chip{white-space:nowrap;background:transparent;border:1px solid var(--line);border-radius:20px;padding:8px 14px;min-height:40px;font-size:12px;color:var(--muted)}.chip[aria-pressed=true],.chip:hover{border-color:var(--gold);color:var(--gold)}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0}.results-toolbar p{font-size:13px;color:var(--muted)}.results-toolbar>div{display:flex;gap:18px;align-items:center}.results-toolbar .text-btn{font-size:12px}.sort-label select{font-size:12px;background:transparent;border:0;max-width:180px}.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.store-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,transform .2s;scroll-margin-top:20px}.store-card:hover{border-color:#777c69;transform:translateY(-3px)}.card-img{height:155px;position:relative;background:linear-gradient(125deg,#3a4631,#1b2516);display:grid;place-items:center}.card-img img{width:100%;height:100%;object-fit:cover}.image-placeholder{font:italic 56px Georgia,serif;color:#e1c58c}.badge{position:absolute;left:12px;bottom:12px;font-size:10px;padding:3px 9px;background:#151910e8;border:1px solid #60664e;border-radius:4px;color:#f0deb4;max-width:75%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.favorite-btn{position:absolute;right:10px;top:10px;border:1px solid #6c735d;border-radius:50%;background:#131a11e8;width:38px;height:38px;font-size:23px;line-height:1;display:grid;place-items:center;color:#eee4ca}.favorite-btn[aria-pressed=true]{color:var(--gold)}.store-info{padding:17px;display:flex;flex-direction:column;flex:1}.store-country{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.store-name{font:400 23px/1.2 Georgia,serif;margin:0 0 9px;overflow-wrap:anywhere}.store-desc{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 14px;overflow-wrap:anywhere}.store-meta{font-size:10px;color:#bdc6af;margin-top:auto;padding-bottom:13px}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:10px}.visit-link{font-size:12px;color:var(--gold);font-weight:650;min-height:36px;display:flex;align-items:center}.card-share{background:none;border:0;color:var(--muted);padding:8px;font-size:16px}.community-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #505f41;border-radius:12px;padding:20px 24px;margin-bottom:20px;background:#242e1e}.community-intro h3{margin:0 0 5px;font:400 23px Georgia,serif}.community-intro p{margin:0;font-size:13px;color:#c5cebb;max-width:720px}.load-more{text-align:center;padding:28px}.empty-state{text-align:center;padding:50px 20px;border:1px dashed var(--line);border-radius:12px}.empty-state>span{font-size:45px;color:var(--gold)}.empty-state h3{font:400 28px Georgia,serif;margin:5px}.empty-state p{color:var(--muted)}.publish-banner{margin:35px 0 55px;padding:36px;border:1px solid #4b503e;background:#23291e;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:30px}.publish-banner h2{font:400 30px/1.3 Georgia,serif;margin:0 0 12px}.publish-banner p:last-child{color:var(--muted);font-size:13px;margin:0}footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px;display:flex;gap:30px;justify-content:space-between;align-items:center}footer p{font-size:11px;color:var(--muted);max-width:520px}footer>a:last-child{font-size:12px;white-space:nowrap;color:var(--gold)}dialog{background:#1b2018;color:var(--text);border:1px solid #545d45;border-radius:16px;padding:28px;width:min(720px,calc(100% - 24px));max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.dialog-heading h2{font:400 29px/1.2 Georgia,serif;margin:0}.dialog-heading .eyebrow{margin-bottom:10px}dialog>p{font-size:13px;color:var(--muted)}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:50%;min-width:40px;min-height:40px;font-size:24px}.store-form{display:grid;gap:17px;margin-top:22px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hint,.optional{font-size:11px;font-weight:400;color:var(--muted)}.checkbox-label{flex-direction:row;align-items:flex-start;gap:10px;font-size:12px;font-weight:400}.checkbox-label input{width:18px;min-height:18px;margin:3px 0;flex-shrink:0;accent-color:var(--gold)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{color:#ffb2a8;background:#3e2520;padding:12px;border-radius:6px;font-size:13px;margin:0}.preview{padding:18px;background:#12180e;border:1px dashed #4f5b40;border-radius:10px}.preview .store-card{max-width:290px;margin:14px auto 0}.preview .card-img{height:120px}.submit{width:100%}.btn-danger{background:#422a24;color:#ffc2b3;border-color:#855344}.success-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.api-status{padding:14px;border:1px solid #7f6942;border-radius:8px;font-size:13px;color:#ead5b2}.api-status button{margin-left:10px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{display:block;padding:10px;background:var(--gold);color:#111}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#e9dab5;color:#182012;padding:13px 22px;border-radius:10px;box-shadow:0 5px 24px #0005;z-index:10;max-width:90%;font-size:13px}.store-card:target{outline:3px solid var(--gold);outline-offset:3px}
/* Keep loaded portrait photos inside their frame; the whole content is a native link. */
.store-card{position:relative}
.store-card-link{display:flex;flex-direction:column;flex:1;min-width:0;color:inherit;text-decoration:none}
.store-card-link[href]{cursor:pointer}
.store-card-link:hover .store-name{color:var(--gold)}
.store-card:has(.store-card-link:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.store-card-link:focus-visible{outline:none}
.card-img{flex-shrink:0;min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.card-img img{position:absolute;inset:0;display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:cover}
.favorite-btn{z-index:2}
.card-share{position:absolute;bottom:17px;right:17px;z-index:2}
.card-actions{padding-right:40px}
.topbar{min-height:78px}.hero{padding-top:36px;padding-bottom:40px}.hero h1{font-size:clamp(40px,4.4vw,60px)}.community-promo{padding:24px 28px}.directory-heading h2{margin-bottom:15px}.views{margin-bottom:18px}
@media(min-width:1500px){.card-img{height:175px}}
@media(max-width:1100px){.store-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:30px}.filters{grid-template-columns:2fr 1.5fr 1.5fr}.nav-actions{gap:15px}.brand-section{display:none}}
@media(max-width:760px){.wrap{padding-left:20px;padding-right:20px}.topbar{min-height:78px;gap:12px}.brand{font-size:23px}.brand-mark{display:none}.nav-actions{gap:10px}.nav-actions>.text-btn{font-size:11px;max-width:75px;line-height:1.3}.nav-actions>.btn{padding:10px 12px;font-size:11px;min-height:42px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:35px;gap:25px}h1{font-size:47px}.hero-copy{font-size:14px}.hero-links{gap:18px;font-size:12px}.community-promo{padding:22px}.community-promo h2{font-size:25px}.community-promo h2 br{display:none}.community-promo p:not(.eyebrow){max-width:none}.promo-note{margin-top:3px}.directory-heading h2{font-size:28px}.catalogue-count{font-size:11px}.views{gap:22px}.view{font-size:12px}.filters{grid-template-columns:1fr 1fr;padding:13px;gap:12px}.search-field{grid-column:1/-1}.filters input,.filters select{font-size:16px;padding:10px}.results-toolbar{align-items:flex-start;flex-direction:column;gap:0}.results-toolbar p{margin-bottom:0}.results-toolbar>div{width:100%;gap:12px;justify-content:space-between}.sort-label select{max-width:145px;font-size:11px}.results-toolbar .text-btn{font-size:11px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-img{height:140px}.store-info{padding:13px}.store-name{font-size:21px}.store-desc{font-size:12px}.store-country{font-size:9px}.store-meta{font-size:10px}.community-intro{align-items:flex-start;flex-direction:column}.publish-banner{padding:24px;flex-direction:column;align-items:flex-start;margin-bottom:35px}.publish-banner h2{font-size:26px}footer{flex-wrap:wrap;gap:10px}footer p{order:3;flex-basis:100%}dialog{padding:20px}.dialog-heading h2{font-size:25px}.form-two{grid-template-columns:1fr}.success-actions{flex-wrap:wrap}.store-form input,.store-form select,.store-form textarea{font-size:16px}}
@media(max-width:760px){.hero{padding-top:28px;padding-bottom:28px;gap:20px}.community-promo{padding:6px 18px}.community-promo p,.community-promo h2,.community-promo .promo-note,.community-promo .promo-icon{display:none}.hero h1{font-size:44px}}
@media(max-width:360px){.store-grid{grid-template-columns:1fr}.card-img{height:170px}.hero h1{font-size:40px}.hero-links{flex-wrap:wrap}.results-toolbar>div{flex-wrap:wrap}.topbar{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.nav-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
