/* Gallery skin shared by amulets.guru and talismans.guru. Site colours and fonts arrive as tokens in the page head. */
body{font-size:16px}
.top{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.brand b{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:17px}
.brand small a{color:var(--muted);text-decoration:none}
.home-link{font-size:13px;color:var(--muted);text-decoration:none;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}
.home-link:hover{color:var(--accent)}
.theme-btn{display:none}
.hero h1,.ghead h1,.sub h2,.tcard h3,.pgroup h2{font-weight:500}
.eyebrow{color:var(--accent)}
.hero p{font-size:17px}

/* save heart on each photo */
.card .ph .save{position:absolute;left:6px;top:6px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:16px;line-height:1;opacity:.75;transition:opacity .15s,transform .15s;cursor:pointer}
.card:hover .ph .save,.card .ph .save:focus-visible{opacity:1}
.card .ph .save:hover{transform:scale(1.1)}
.card .ph .save.on{background:var(--accent);color:var(--accent-ink);opacity:1}

/* buttons */
.cta{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);padding:11px 18px;border-radius:3px;font:600 13px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.cta:hover{filter:brightness(1.08)}
.cta.small{padding:8px 13px;font-size:12px}
.ghost{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 16px;border-radius:3px;font:500 13px/1.2 var(--body);cursor:pointer}
.ghost:hover{border-color:var(--accent);color:var(--accent)}
.subcta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:2px 0 14px;font-size:14px;color:var(--muted)}

/* lightbox purchase block */
.info .buy{display:flex;flex-direction:column;gap:8px;margin:4px 0 16px;padding:14px;border:1px solid #2c3438;border-radius:6px;background:rgba(255,255,255,.03)}
.info .buy .cta{width:100%;font-size:14px;padding:13px}
.info .buy .ghost{width:100%;color:#e8eeec;border-color:#3a4448}
.info .buy .trust{font-size:12.5px;color:#9fb0ab;margin:2px 0 0;line-height:1.45}
.info .src{background:transparent;color:#9fb0ab;padding:0;font-weight:400;font-size:13px;text-decoration:underline}

/* enquiry form (lightbox + drawer) */
.enq{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.enq input,.enq select,.enq textarea{width:100%;padding:9px 10px;border-radius:3px;border:1px solid #3a4448;background:#0b1013;color:#eef2f0;font:14px/1.4 var(--body)}
.enq label{display:flex;flex-direction:column;gap:3px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9fb0ab}
.enq .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.enq .note{font-size:13px;margin:0;min-height:1em;color:#9fb0ab}
.enq .note.ok{color:#7fd3a8}.enq .note.err{color:#f08a7a}

/* shortlist tray */
#sl-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 18px;border-radius:40px;background:var(--surface);border:1px solid var(--accent);box-shadow:0 10px 30px rgba(0,0,0,.45);color:var(--ink);font-size:14px;max-width:calc(100vw - 32px)}
#sl-bar .cta{border-radius:30px}
#sl{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.6);display:flex;justify-content:flex-end}
#sl .panel{position:relative;width:min(520px,100vw);height:100%;overflow:auto;background:#0f1518;color:#e8eeec;padding:26px 22px 40px;border-left:1px solid #26323a}
#sl h3{font:500 24px/1.2 var(--display);margin:0 0 8px;color:#fff;padding-right:40px}
#sl .lead{color:#b9c6c2;font-size:14.5px;margin:0 0 14px}
#sl-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:8px;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:18px;cursor:pointer}
.sllist{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.sllist li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px;border:1px solid #26323a;border-radius:6px}
.sllist img{width:56px;height:56px;object-fit:contain;background:#050708;border-radius:4px}
.sllist b{display:block;font-size:14px;line-height:1.3}
.sllist span{font-size:12px;color:#9fb0ab}
.sllist button{border:0;background:none;color:#9fb0ab;font-size:12px;text-decoration:underline;cursor:pointer}
body.sl-lock{overflow:hidden}

/* explicit section: photographs blurred until the visitor chooses to see them */
.gatebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 4px;padding:10px 14px;border:1px dashed var(--line);border-radius:6px;font-size:14px;color:var(--muted)}
.gated:not(.shown) .card .ph img,.tcard.gated:not(.shown) img,.gated:not(.shown) .scard img{filter:blur(18px) saturate(.5);transform:scale(1.05)}
.gated .card .ph{overflow:hidden}

@media (max-width:640px){.enq .row{grid-template-columns:1fr}#sl-bar{font-size:13px;padding-left:14px}#sl-bar span{white-space:nowrap}.home-link{display:none}}

.gfoot{padding:22px 16px 90px;text-align:center;color:var(--muted);font-size:14px}
.gfoot a{color:var(--muted)}

[hidden]{display:none!important}
