/* Kapnagora — one set of tokens, one header, one footer for every page (Salon look).
   Loaded LAST on the older pages (after style.css) so its tokens win, and on the Salon pages next to salon.css.
   The old-name aliases (--ink, --acc, --card …) let style.css render in the same palette. */
html:root,html:root[data-theme]{
  --bg:#0b0e0c; --bg2:#101813; --panel:#121b16; --green:#1f5137; --green-d:#16281f;
  --gold:#c9a227; --gold-hi:#e6c866; --line:rgba(201,162,39,.22); --line2:rgba(242,237,227,.10);
  --ivory:#f2ede3; --ink2:rgba(242,237,227,.72); --ink3:rgba(242,237,227,.64);
  --paper:#ece4d2; --paper2:#d9cfb8; --warn:#e0a070;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  /* old names → Salon values */
  --bg-elevated:var(--bg2); --card:var(--panel); --ink:var(--ivory); --ink-dim:var(--ink2); --muted:var(--ink3);
  --acc:var(--gold); --acc-ink:#17120a; --acc-soft:rgba(201,162,39,.12);
  --radius:4px; --radius-sm:3px; --shadow:none; color-scheme:dark;
}

/* header + footer (same markup everywhere: renderHeader / renderFooter in app.js) */
.sx-top{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line2);background:rgba(11,14,12,.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.sx-in{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;height:80px}
.sx-wm{display:inline-flex;align-items:center;min-height:44px;font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.02em;color:var(--ivory);white-space:nowrap;text-decoration:none}
.sx-top nav{display:flex;gap:30px;font-size:14px;color:var(--ink2)}
.sx-top nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border-bottom:1px solid transparent;color:inherit;text-decoration:none;white-space:nowrap}
.sx-top nav a.on,.sx-top nav a:hover{color:var(--gold-hi);border-color:var(--gold)}
.sx-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 18px;border-radius:3px;border:1px solid var(--gold);color:var(--gold-hi);font-weight:600;font-size:13px;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.sx-btn:hover{background:rgba(201,162,39,.1)}
.sx-foot{border-top:1px solid var(--line2);margin-top:96px;background:var(--bg);color:var(--ink3);font-size:13px}
.sx-foot .sx-in{height:auto;display:block;padding-top:34px;padding-bottom:56px}
.sx-foot .sx-wm{font-size:20px;display:inline-block;margin-bottom:18px}
.sx-foot .links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:18px}
.sx-foot .links a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;color:var(--ink2);text-decoration:none}.sx-foot .links a:hover{color:var(--gold-hi)}
.sx-foot p{max-width:820px;line-height:1.6;margin-top:10px;color:var(--ink3)}
.sx-foot p a{color:var(--ink2);text-decoration:underline}
@media (max-width:1000px){
  .sx-in{padding:0 20px;flex-wrap:wrap;height:auto;gap:0 16px;padding-top:14px}
  .sx-top nav{order:3;flex:0 0 100%;flex-wrap:wrap;gap:0 6px;font-size:13.5px;padding:2px 0 6px}
  .sx-top nav a,.sx-wm,.sx-foot .links a,.sx-foot .sx-wm{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 8px}
  .sx-top nav a{border-bottom-width:2px}
  .sx-foot .links{gap:0 8px}
  .sx-btn{display:none}
  .sx-wm{font-size:22px}
  .sx-foot{margin-top:64px}
}

/* photo safety (see wireFotoSchutz in app.js) */
.foto-fehlt-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.foto-fehlt{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;width:100%;height:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius,2px);text-align:center;padding:12px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60'%3E%3Cg fill='none' stroke='%238c8d80' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M20 22h140a8 8 0 0 1 0 16H20z'/%3E%3Cpath d='M160 22v16M148 22v16'/%3E%3Cpath d='M20 22c-6 0-6 16 0 16'/%3E%3C/g%3E%3C/svg%3E") no-repeat center 38%/46% auto}
.foto-fehlt small{font-family:var(--serif);font-size:clamp(14px,1.8vw,17px);line-height:1.2;color:var(--ink);letter-spacing:.02em}
.foto-fehlt em{font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.foto-leer{background:var(--card)!important}
.foto-klein{display:flex!important;align-items:center;justify-content:center}
.foto-klein img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:none;padding:0!important;mix-blend-mode:normal}

/* calm error block (Kapnagora.errorBlock) on the Salon pages */
.placeholder[data-load-error]{padding:22px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink2);line-height:1.6}
.placeholder[data-load-error] p{margin:0}
.placeholder[data-load-error] .err-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px}
.placeholder[data-load-error] .err-help{font-size:14px;color:var(--ink2)}
.placeholder[data-load-error] .err-help a{color:var(--gold-hi);display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.placeholder[data-load-error] .btn{height:44px;margin-left:0;padding:0 16px;font-size:13px;display:inline-flex;align-items:center;border:1px solid var(--gold);color:var(--gold-hi);background:transparent;border-radius:3px}

/* Page heads on Library / Price records / Houses / Tables: same stage language as Discover —
   larger serif head over a soft green-gold floor light, ruled off from the content below. */
main .hero{position:relative;padding-top:clamp(56px,7vw,104px)!important;padding-bottom:clamp(36px,4vw,56px)!important;border-bottom:1px solid var(--line2);margin-bottom:28px}
main .hero::before{content:"";position:absolute;inset:-60px calc(50% - 50vw) 0;z-index:-1;background:radial-gradient(60% 90% at 30% 0%,rgba(31,81,55,.45),transparent 70%),radial-gradient(40% 70% at 85% 10%,rgba(201,162,39,.10),transparent 70%)}
main .hero h1{font-size:clamp(46px,6.6vw,96px)!important;letter-spacing:-.03em;font-weight:500}

/* Library: chapter cards with line diagrams, readable body copy, clear hierarchy */
.lib-head{text-align:left;padding:8px 0 28px!important;border:0!important;margin:0!important}
.lib-head::before{display:none!important}
.lib-head h1{font-size:clamp(34px,4.6vw,60px)!important;margin:10px 0 14px;letter-spacing:-.02em}
.lib-lead{max-width:680px;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--ink);opacity:.86}
.lib-doors{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:56px}
.lib-door{grid-column:span 2;display:flex;flex-direction:column;padding:0 0 22px;background:var(--panel);border:1px solid var(--line2);border-radius:4px;overflow:hidden;color:var(--ivory);text-decoration:none;transition:border-color .25s,transform .4s cubic-bezier(.2,.7,.2,1)}
.lib-door:nth-child(n+4){grid-column:span 3}
a.lib-door:hover{border-color:var(--gold);transform:translateY(-3px)}
a.lib-door:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.lib-art,.lib-fig svg{display:block;background:radial-gradient(80% 90% at 50% 100%,rgba(201,162,39,.16),transparent 70%),var(--green-d)}
.lib-art{padding:18px 24px;border-bottom:1px solid var(--line2)}
.lib-art svg{width:100%;height:auto;max-height:150px;display:block}
.lib-art svg,.lib-fig svg{fill:none;stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lib-art .f,.lib-fig .f{stroke:var(--gold);opacity:.6}
.lib-t{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.15;margin:20px 22px 6px;color:var(--ivory)}
.lib-s{margin:0 22px 16px;font-size:15.5px;line-height:1.55;color:var(--ivory);opacity:.82}
.lib-go{margin:auto 22px 0;font-size:13.5px;font-weight:600;color:var(--gold-hi);letter-spacing:.02em}
.lib-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lib-fig{margin:0;background:var(--panel);border:1px solid var(--line2);border-radius:4px;overflow:hidden}
.lib-fig svg{width:100%;height:auto;padding:16px 28px;border-bottom:1px solid var(--line2);box-sizing:border-box}
.lib-fig figcaption{padding:16px 20px 20px}
.lib-fig b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;margin-bottom:6px}
.lib-fig span{display:block;font-size:15px;line-height:1.55;opacity:.84}
.lib-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;border-top:1px solid var(--line2)}
.lib-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 4px;border-bottom:1px solid var(--line2);font-size:17px;color:var(--ivory);text-decoration:none}
.lib-row i{font-style:normal;color:var(--gold-hi)}
.lib-row:hover{color:var(--gold-hi)}
@media (max-width:1000px){
  .lib-doors{grid-template-columns:1fr}.lib-door,.lib-door:nth-child(n+4){grid-column:auto}
  .lib-trio,.lib-rows{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.lib-door{transition:none}a.lib-door:hover{transform:none}}
/* Storefront navigation: the five app worlds and sign-in stay reachable at every width. */
@media(max-width:1000px){
  .sx-top .sx-in{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding-top:8px}
  .sx-top .sx-wm{grid-column:1;min-height:42px;padding:0;font-size:20px}
  .sx-top .sx-btn{grid-column:2;display:inline-flex;min-height:40px;height:40px;padding:0 12px;font-size:12px}
  .sx-top nav{grid-column:1/-1;order:initial;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:14px;padding:0 24px 4px 0;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
  .sx-top nav::-webkit-scrollbar{display:none}
  .sx-top nav a{flex:none;min-height:43px;padding:0 2px;font-size:13px}
}
@media(max-width:1000px){
  .sx-top .sx-in{grid-template-areas:"brand action" "nav nav"}
  .sx-top .sx-wm{grid-area:brand}
  .sx-top .sx-btn{grid-area:action}
  .sx-top nav{grid-area:nav}
}
@media(max-width:1000px){.sx-top .sx-btn{min-height:44px;height:44px}}
@media(max-width:1000px){.sx-top .sx-wm{min-height:44px}}
@media(max-width:1000px){.sx-top nav a{min-height:44px}}
/* Kapnagora palette shared by catalogue, support and account entry pages. */
html:root,html:root[data-theme]{
  --bg:#081a1c;--bg2:#0a2223;--panel:#10282a;--green:#164143;--green-d:#102c2d;
  --gold:#e9a46a;--gold-hi:#f2b27a;--line:rgba(233,164,106,.3);--line2:rgba(182,205,200,.18);
  --ivory:#eef7f4;--ink2:#b6cdc8;--ink3:#a8c0bb;--paper:#e6e0d5;--paper2:#d7cec0;
  --bg-elevated:var(--bg2);--card:var(--panel);--ink:var(--ivory);--ink-dim:var(--ink2);--muted:var(--ink3);
  --acc:var(--gold);--acc-ink:#1d120a;--acc-soft:rgba(233,164,106,.12)
}
.sx-top{background:rgba(5,18,19,.88)}.sx-foot{background:#05100f}

/* One header on every public page (Web-E1): the home-page look, pinned by id so that no
   page stylesheet (style.css, kapnagora-3d.css, body classes) can restyle it. */
#site-header.sx-top{background:rgba(5,18,19,.88);border-bottom:1px solid rgba(233,164,106,.28)}
#site-header.sx-top .sx-wm{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:22px;font-weight:700;line-height:normal;letter-spacing:.08em;text-transform:uppercase;color:#eef7f4}
#site-header.sx-top nav a.on,#site-header.sx-top nav a:hover{color:#e9a46a;border-color:#e9a46a}
#site-header.sx-top .sx-btn{color:#e9a46a;border-color:#e9a46a}
@media(max-width:1000px){#site-header.sx-top .sx-wm{font-size:20px}}

/* Public cigar search in the header (WEB-S1). Desktop: between the navigation and "Sign in".
   Phone: its own full-width row between brand and navigation. */
.sx-search{position:relative;flex:0 1 230px;min-width:150px;margin:0}
.sx-search-l,.sx-search-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sx-search input[type=search]{width:100%;box-sizing:border-box;height:44px;padding:0 12px;border-radius:3px;border:1px solid rgba(233,164,106,.45);background:rgba(16,40,42,.9);color:#eef7f4;font:14px var(--sans);-webkit-appearance:none;appearance:none}
.sx-search input[type=search]::placeholder{color:#a8c0bb}
.sx-search input[type=search]:focus-visible,.sx-results a:focus-visible,.sx-results button:focus-visible{outline:2px solid #f2b27a;outline-offset:2px}
.sx-results{display:none;position:absolute;top:calc(100% + 6px);right:0;width:min(440px,calc(100vw - 40px));max-height:min(70vh,560px);overflow-y:auto;background:#0a2223;border:1px solid rgba(233,164,106,.4);border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.5);z-index:60}
.sx-results.show{display:block}
.sx-results .sr-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border-bottom:1px solid rgba(182,205,200,.14);color:#eef7f4;text-decoration:none}
.sx-results .sr-item:hover,.sx-results .sr-item:focus-visible{background:rgba(233,164,106,.14)}
.sx-results .sr-thumb{width:40px;height:40px;flex:none;border-radius:4px;background:#10282a;border:1px solid rgba(182,205,200,.18);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sx-results .sr-thumb img{width:100%;height:100%;object-fit:contain}
.sx-results .sr-mark{font:700 18px var(--serif);color:#e9a46a}
.sx-results .sr-main{display:flex;flex-direction:column;min-width:0}
.sx-results .sr-title{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.sx-results .sr-sub{font-size:12.5px;color:#b6cdc8;overflow-wrap:anywhere}
.sx-results .sr-empty{padding:16px 14px;font-size:14px;color:#b6cdc8}
.sx-results .sr-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:13px;color:#b6cdc8}
.sx-results .sr-more{min-height:44px;padding:0 16px;border:1px solid #e9a46a;border-radius:3px;background:transparent;color:#f2b27a;font:600 13px var(--sans);cursor:pointer}
@media(max-width:1000px){
  .sx-top .sx-in{grid-template-areas:"brand action" "search search" "nav nav"}
  .sx-top .sx-search{grid-area:search;flex:none;width:100%;margin:2px 0 4px}
  .sx-search input[type=search]{height:44px;font-size:16px}
  .sx-results{left:0;right:0;width:auto;max-height:60vh}
}

/* WEB-K1 (12.10.2026): quieter sign-in, hero search, glance line, photo frames, stacked sale rows, houses filter. */
.sx-btn.sx-signin,#site-header.sx-top .sx-btn.sx-signin{border:0;background:none;height:auto;min-height:44px;padding:0 4px;font-weight:500;font-size:13.5px;color:var(--ink2,#b6cdc8);text-decoration:underline;text-decoration-color:rgba(233,164,106,.45);text-underline-offset:5px}
.sx-btn.sx-signin:hover{background:none;color:#e9a46a}
@media(max-width:1000px){.sx-top .sx-btn.sx-signin{min-height:44px;height:44px;padding:0 4px;font-size:13px}}

/* Hero search + examples + numbers */
.web-hero-search{flex:none;width:min(100%,520px);margin:6px 0 12px}
.web-hero-search input[type=search]{height:54px;font-size:17px;padding:0 18px;border-radius:2px;border-color:rgba(233,164,106,.7);background:rgba(10,30,32,.88)}
.web-hero-search .sx-results{left:0;right:auto;width:100%}
.web-try{margin:0 0 18px;font:13px/1.6 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;color:#cdbeb0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.web-try button{min-height:44px;padding:0 12px;border:1px solid rgba(224,175,124,.4);background:rgba(16,40,42,.6);color:#f4d2b2;border-radius:999px;cursor:pointer;font:inherit}
.web-try button:hover{border-color:#e9a46a;background:rgba(233,164,106,.16)}
.web-hero-numbers{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 26px;min-height:1.6em;font:13px -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;color:#b6cdc8}
.web-hero-numbers b{font:600 20px var(--web-serif,Georgia,serif);color:#f2b27a;margin-right:4px}
@media(max-width:650px){.web-hero-inner{padding-bottom:60px}.web-hero h1{font-size:clamp(54px,17vw,68px)}.web-hero-lead{display:none}}

/* Home auction cards: logo or wordmark instead of a generic icon */
.web-sale-brandmark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:18px;box-sizing:border-box}
.web-sale-brandmark .web-sale-logo{max-width:70%;max-height:70%;object-fit:contain}
.web-sale-wordmark{font:400 30px/1.1 var(--web-serif,Georgia,serif);color:#976c4e;text-align:center;overflow-wrap:anywhere}

/* Cigar page: photo frame with fixed ratio and shimmer until loaded; the photo runs off the bottom edge */
@keyframes k1-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cigar-photo{aspect-ratio:1/1}
.cigar-photo img{padding:14px 14px 0;object-position:center bottom}
.cigar-photo:not(.is-loaded):not(.cigar-photo-empty):not(.foto-leer){background:linear-gradient(100deg,#d9d0bf 30%,#ece5d6 50%,#d9d0bf 70%) 0 0/200% 100%;animation:k1-shimmer 1.4s linear infinite}
.cigar-photo:not(.is-loaded) img{opacity:0}
.cigar-photo.is-loaded img{opacity:1;transition:opacity .25s}
@media(max-width:640px){.cigar-photo{max-height:none}}
@media(prefers-reduced-motion:reduce){.cigar-photo:not(.is-loaded){animation:none}}
.entity-mark{flex:none}

/* "At a glance" */
.glance{margin:4px 0 18px;padding:16px 20px;border:1px solid rgba(233,164,106,.35);border-radius:6px;background:rgba(233,164,106,.07)}
.glance-h{margin:0 0 10px;font:600 11px/1.4 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e9a46a}
.glance dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;margin:0}
.glance dt{font-size:11.5px;color:var(--muted,#9ab);text-transform:uppercase;letter-spacing:.08em}
.glance dd{margin:2px 0 0;font-size:17px;font-family:var(--serif,Georgia,serif)}
.glance dd small{display:block;font:12.5px -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;color:var(--muted,#9ab);margin-top:2px}
.glance p{margin:12px 0 0;font-size:15px;color:var(--ink2,#cfd9d6);max-width:70ch}
.bs-menge span{margin-left:2px}

/* Agora "Recently sold": per-cigar price first, rows stack on a phone, dates stay in one piece */
.sold-each{font-size:17px}
.sold-date{white-space:nowrap}
@media(max-width:640px){
  .sold-table thead{display:none}
  .sold-table,.sold-table tbody{display:block}
  .sold-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;border-bottom:1px solid var(--line)}
  .sold-table td{display:block;border:0;padding:0;text-align:left}
  .sold-table td.sold-cigar{grid-column:1/-1;font-size:15px}
  .sold-table td[colspan]{grid-column:1/-1}
  .sold-table tr:has(td[colspan]){display:block;padding:0}
  .sold-table td[data-l=Price]{grid-column:1}
  .sold-table td[data-l=Sold]{grid-column:2;grid-row:2;text-align:right;color:var(--muted)}
  .sold-table td[data-l=Source]{grid-column:1/-1;font-size:12.5px;color:var(--muted)}
}

/* Houses: top list, "All N houses", A-Z filter */
a.tile[hidden]{display:none}
.house-all-row{margin:22px 0 8px;text-align:center}
.house-all-row .btn{cursor:pointer;min-height:44px}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}
.az button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:6px;cursor:pointer;font:600 13px var(--sans,inherit)}
.az button.on{border-color:#e9a46a;color:#e9a46a;background:rgba(233,164,106,.12)}
@media(max-width:640px){#house-grid,#house-rest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#house-grid .tile-name,#house-rest-grid .tile-name{font-size:15px}}
