/* Hermes Lab — standard aplikacije za tematske module */
.hs-page{
  /* tonalna hijerarhija: app (chrome) < content (platno) < surface (kartice) < elevated (hover/popover) */
  --hs-bg-app:#17140f;--hs-bg-content:#1f1c17;--hs-bg-surface:#2b2620;--hs-bg-elevated:#38312a;
  --hs-border:#584d3c;--hs-text:#f7f2e8;--hs-muted:#cfc5b4;--hs-gold:#e0b96f;
  /* raspon zaobljenosti: icon = kružni kontrolni gumbi (×,‹,›,☰), pill = chip/tag,
     control = normalni CTA gumb, card = kartice/paneli. Ne koristiti pill posvuda. */
  --hs-r-icon:50%;--hs-r-pill:999px;--hs-r-control:10px;--hs-r-card:16px;
  background:var(--hs-bg-content)!important;color:var(--hs-text)!important;font:17px/1.68 system-ui,-apple-system,"Segoe UI",sans-serif!important;padding-bottom:0}
.hs-page *{box-sizing:border-box}.hs-appbar{position:sticky;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:9px clamp(14px,3vw,28px);border-bottom:1px solid var(--hs-border);background:color-mix(in srgb,var(--hs-bg-app) 96%,transparent);backdrop-filter:blur(12px);font-family:system-ui,sans-serif}
.hs-brand{display:flex;align-items:center;gap:10px;color:var(--hs-text);text-decoration:none;font-weight:700}.hs-mark{width:36px;height:36px;border:1px solid var(--hs-gold);border-radius:var(--hs-r-icon);display:grid;place-items:center;color:var(--hs-gold)}.hs-mark svg{width:23px;height:23px}.hs-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-actions{display:flex;gap:8px}.hs-home,.hs-toggle,.hs-back{min-height:42px;padding:9px 13px;border:1px solid var(--hs-border);background:var(--hs-bg-surface);color:var(--hs-text);text-decoration:none;font:650 14px system-ui,sans-serif;cursor:pointer;border-radius:var(--hs-r-control)}.hs-back:hover,.hs-home:hover,.hs-toggle:hover{border-color:var(--hs-gold);background:var(--hs-bg-elevated)}
.hs-layout{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1540px;margin:auto}.hs-sidebar{position:sticky;top:62px;align-self:start;height:calc(100vh - 62px);overflow:auto;padding:24px 20px;border-right:1px solid var(--hs-border);background:var(--hs-bg-app)}.hs-sidebar-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--hs-border)}.hs-sidebar-head span{display:block;color:var(--hs-gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hs-sidebar-head strong{font-size:19px}.hs-close{display:none;width:42px;height:42px;border:1px solid var(--hs-border);background:var(--hs-bg-surface);color:var(--hs-text);font-size:24px;border-radius:var(--hs-r-icon)}.hs-nav{padding-top:12px}.hs-nav button,.hs-nav a{display:flex;width:100%;align-items:center;gap:10px;min-height:46px;padding:10px 8px;border:0;border-bottom:1px solid #332e27;background:transparent;color:var(--hs-muted);text-align:left;text-decoration:none;font:600 15px system-ui,sans-serif;cursor:pointer}.hs-nav button:hover,.hs-nav a:hover,.hs-nav button.is-active{color:var(--hs-text);background:var(--hs-bg-surface)}.hs-index{min-width:25px;color:var(--hs-gold)}
.hs-path{margin-top:6px;padding:10px 0 4px}.hs-path-label{display:block;color:var(--hs-gold);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:9px}.hs-path-list{display:flex;flex-direction:column;gap:2px}.hs-path-item{display:flex;align-items:flex-start;gap:9px;width:100%;padding:7px 4px;border:0;background:transparent;color:var(--hs-muted);text-align:left;font:600 13px system-ui,sans-serif;cursor:pointer;border-radius:var(--hs-r-control)}.hs-path-item:hover{background:var(--hs-bg-surface);color:var(--hs-text)}.hs-path-dot{flex:none;width:16px;height:16px;margin-top:1px;border-radius:var(--hs-r-icon);border:2px solid var(--hs-border);display:grid;place-items:center;font-size:8px;color:transparent}.hs-path-item.is-current{color:var(--hs-text);font-weight:800}.hs-path-item.is-current .hs-path-dot{border-color:var(--hs-gold);background:var(--hs-gold);color:var(--hs-bg-app)}.hs-path-item.is-done .hs-path-dot{border-color:var(--hs-gold)}
.hs-nav-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--hs-border)}.hs-prevnext{display:flex;gap:8px}.hs-prevnext a,.hs-prevnext span{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--hs-border);border-radius:var(--hs-r-control);color:var(--hs-muted);text-decoration:none;font:600 12px/1.3 system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-prevnext a:hover{border-color:var(--hs-gold);color:var(--hs-text);background:var(--hs-bg-surface)}.hs-prevnext span{opacity:.4}.hs-prevnext small{display:block;color:var(--hs-gold);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.hs-catalog-btn{display:block;width:100%;margin-top:10px;padding:11px 12px;border:1px solid var(--hs-border);border-radius:var(--hs-r-control);background:transparent;color:var(--hs-muted);text-align:center;font:650 13px system-ui,sans-serif;cursor:pointer}.hs-catalog-btn:hover{border-color:var(--hs-gold);color:var(--hs-text);background:var(--hs-bg-surface)}
.hs-ov{position:fixed;inset:0;z-index:2000;display:none;background:rgba(10,9,7,.6)}.hs-ov.open{display:block}
.hs-cat-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,94vw);max-height:86vh;overflow:auto;background:var(--hs-bg-surface);color:var(--hs-text);border:1px solid var(--hs-border);border-radius:var(--hs-r-card);box-shadow:0 24px 70px rgba(0,0,0,.5);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.hs-cat-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--hs-bg-surface);border-bottom:1px solid var(--hs-border)}.hs-cat-head b{font-size:16px}
.hs-cat-x{appearance:none;cursor:pointer;width:34px;height:34px;border-radius:var(--hs-r-icon);border:1px solid var(--hs-border);background:var(--hs-bg-elevated);color:var(--hs-text);font-size:19px;line-height:1}
.hs-cat-area{padding:6px 0 10px;border-bottom:1px solid var(--hs-border)}.hs-cat-area:last-child{border-bottom:0}.hs-cat-area h3{margin:0;padding:14px 16px 2px;font-size:15px;font-weight:900;color:var(--hs-text)}
.hs-cat-grp{padding:8px 16px 4px}.hs-cat-grp h4{margin:0 0 6px;color:var(--hs-gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:950}
.hs-cat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hs-cat-list a{display:block;text-decoration:none;border:1px solid var(--hs-border);background:var(--hs-bg-elevated);color:var(--hs-text);border-radius:var(--hs-r-control);padding:9px 11px;font-size:13.5px;font-weight:700}.hs-cat-list a:hover,.hs-cat-list a.cur{background:var(--hs-gold);border-color:var(--hs-gold);color:var(--hs-bg-app)}
@media(max-width:620px){.hs-cat-list{grid-template-columns:1fr}}
.hs-main{min-width:0}.hs-collapsed .hs-layout{grid-template-columns:minmax(0,1fr)}.hs-collapsed .hs-sidebar{display:none}.hs-shade{display:none}.hs-bottom{display:none}
.hs-page .back,.hs-page .ht-back,.hs-page>#catbarWrap,.hs-page .mobile-dock{display:none!important}.hs-page h1,.hs-page h2,.hs-page h3,.hs-page h4{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:-.015em}.hs-page h1{color:var(--hs-text)!important}.hs-page .sub,.hs-page .note,.hs-page .summary,.hs-page .cs,.hs-page .ds{color:var(--hs-muted)!important}.hs-page .card,.hs-page .tile,.hs-page .node,.hs-page .box,.hs-page .explainBox{background:var(--hs-bg-surface)!important;color:var(--hs-text)!important;border-color:var(--hs-border)!important;box-shadow:none!important}
/* Popup nav/close gumbi (.popBtn) su definirani po-modulu (~27 datoteka,
   82 instance) s razlicitim radiusom (10px/9px/8px) naslijedenim iz stare
   verzije. Jedno pravilo ovdje prevagne sve njih odjednom (veca specificnost
   od plosnog .popBtn), umjesto rucne izmjene u 27 datoteka. */
.hs-page .popBtn{border-radius:var(--hs-r-icon)!important}
/* Sigurnosna mreza: mnogi moduli imaju vlastite podredene boje teksta
   (npr. .ds/.tt/span) zamisljene za staru svijetlu pozadinu kartice, koja
   gore postaje tamna. Umjesto rucnog lova kroz 33 datoteke, nasljeduje se
   citljiva boja svugdje OSIM elemenata koji vec imaju vlastitu pozadinu
   (bedz/chip/mod — ti ostaju samodovoljni, njihova boja ostaje ispravna). */
.hs-page .card :not(.n):not(.mod):not(.chip):not(.tag):not(.badge),
.hs-page .tile :not(.n):not(.mod):not(.chip):not(.tag):not(.badge),
.hs-page .node :not(.n):not(.mod):not(.chip):not(.tag):not(.badge),
.hs-page .box :not(.n):not(.mod):not(.chip):not(.tag):not(.badge),
.hs-page .explainBox :not(.n):not(.mod):not(.chip):not(.tag):not(.badge){color:inherit!important}.hs-page input[type="search"]{min-height:46px;background:var(--hs-bg-surface)!important;color:var(--hs-text)!important;border:1px solid var(--hs-border)!important}.hs-page button:focus-visible,.hs-page a:focus-visible,.hs-page input:focus-visible{outline:3px solid var(--hs-gold)!important;outline-offset:2px}
.hs-angel-seal{width:96px;height:96px;display:block;margin:auto;color:var(--hs-gold)}.hs-angel-seal .ring{fill:#11110f;stroke:currentColor;stroke-width:2}.hs-angel-seal .line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.hs-angel-seal text{fill:currentColor;font:700 15px system-ui,sans-serif;text-anchor:middle;dominant-baseline:middle}
@media(max-width:980px){.hs-layout,.hs-collapsed .hs-layout{grid-template-columns:1fr}.hs-sidebar{display:block!important;position:fixed;inset:0 auto 0 0;z-index:1100;width:min(86vw,340px);height:100dvh;transform:translateX(0);transition:transform .2s ease}.hs-collapsed .hs-sidebar{transform:translateX(-105%)}.hs-close{display:block}.hs-shade{display:block;position:fixed;inset:0;z-index:1090;border:0;background:rgba(0,0,0,.6)}.hs-collapsed .hs-shade{display:none}}
@media(max-width:760px){.hs-page{padding-bottom:70px!important}.hs-appbar{min-height:56px;padding:7px 11px}.hs-actions .hs-home,.hs-actions .hs-toggle,.hs-actions .hs-back{display:none}.hs-bottom{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:1080;min-height:64px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--hs-border);background:var(--hs-bg-app)}.hs-bottom a,.hs-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:6px 3px;border:0;background:transparent;color:var(--hs-text);text-decoration:none;font:12px/1.2 system-ui,sans-serif}.hs-bottom span{color:var(--hs-gold);font-size:19px}.hs-page .wrap{padding-left:15px!important;padding-right:15px!important}.hs-title{font-size:14px}
/* .hs-appbar (sticky, z-index:900) e .hs-bottom (fixed, z-index:1080) sono
   sopra qualunque popup .popup a schermo intero su mobile (z-index tipico
   40-120): senza questa regola restano visibili/cliccabili sopra il
   pannello, tagliandone l'intestazione o il fondo. Generico e sicuro: si
   attiva solo se il modulo ha davvero sia la shell hs- sia un .popup.open,
   stesso schema gia' usato per .hln-bar e .mh-bottom-nav. */
body:has(.popup.open) .hs-appbar,body:has(.popup.open) .hs-bottom{display:none}
/* simboli usa .modal/.open invece di .popup/.open (terza convenzione di
   naming per lo stesso problema): stessa correzione, selettore diverso. */
body:has(.modal.open) .hs-appbar,body:has(.modal.open) .hs-bottom{display:none}
/* loza-hermes koristi .pop/[hidden] (treca konvencija za isti problem,
   vidi napomenu iznad): isto pravilo, drugaciji selektor. */
body:has(.pop:not([hidden])) .hs-appbar,body:has(.pop:not([hidden])) .hs-bottom{display:none}}
@media(prefers-reduced-motion:reduce){.hs-sidebar{transition:none}}
.hs-main>#catbarWrap{display:none!important}.hs-symbol-seal{width:82px;height:82px;display:block;margin:0 0 14px;color:var(--hs-gold)}.hs-symbol-seal circle{fill:#11110f;stroke:currentColor;stroke-width:2}.hs-symbol-seal path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Angelologija — koristi izvorne pojedinačne SVG pečate */
.hs-angelologija .hs-main>header{display:none!important}.hs-angelologija .hs-main>.layout{min-height:calc(100dvh - 62px);grid-template-columns:minmax(0,1fr) minmax(300px,350px);background:var(--hs-bg-content)}
.hs-angelologija #stage{padding:clamp(20px,3vw,42px)!important;gap:22px!important;background:radial-gradient(circle at 50% 18%,rgba(224,185,111,.1),transparent 48%),var(--hs-bg-content)!important}
.hs-angelologija .rota-box{max-width:820px}.hs-angelologija .angel-wheel{max-height:760px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}
.hs-angelologija .stage-hint{max-width:68ch!important;color:var(--hs-muted)!important;font-size:16px!important;line-height:1.65!important}
.hs-angelologija .sgrid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))!important;gap:16px!important;max-width:1100px}
.hs-angelologija .scard{min-height:188px!important;justify-content:center;padding:20px 14px 17px!important;border:1px solid var(--hs-border)!important;border-radius:14px!important;background:var(--hs-bg-surface)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
.hs-angelologija .scard:hover{border-color:var(--hs-gold)!important;background:var(--hs-bg-elevated)!important}.hs-angelologija .scard .angel-seal{width:118px!important;height:118px!important;filter:drop-shadow(0 5px 12px rgba(0,0,0,.45))}.hs-angelologija .scard .sct{font:700 16px/1.35 system-ui,sans-serif!important;color:var(--hs-text)!important}
.hs-angelologija #side{padding:22px 18px!important;border-left:1px solid var(--hs-border)!important;background:var(--hs-bg-app)!important}.hs-angelologija #side .search{border:1px solid var(--hs-border)!important;border-radius:10px!important}.hs-angelologija details.grp{border:1px solid var(--hs-border)!important;border-radius:10px!important}.hs-angelologija details.grp>summary{background:var(--hs-bg-surface)!important;color:var(--hs-text)!important;font:750 14px/1.35 system-ui,sans-serif!important}.hs-angelologija .item{color:var(--hs-muted)!important;font:500 16px/1.4 system-ui,sans-serif!important}.hs-angelologija .item:hover{background:var(--hs-bg-elevated)!important;color:var(--hs-text)!important}
.hs-angelologija .pop{background:var(--hs-bg-surface)!important;border-color:var(--hs-border)!important}.hs-angelologija .pop-head{background:var(--hs-bg-elevated)!important;border-color:var(--hs-border)!important}.hs-angelologija .pop-body{font-family:system-ui,sans-serif!important}.hs-angelologija .pop-body .angel-seal{width:128px!important;height:128px!important}
@media(max-width:900px){.hs-angelologija .hs-main>.layout{grid-template-columns:1fr}.hs-angelologija #stage{padding:20px 14px!important}.hs-angelologija .sgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.hs-angelologija .scard{min-height:164px!important;padding:14px 8px!important}.hs-angelologija .scard .angel-seal{width:104px!important;height:104px!important}.hs-angelologija #side{top:56px!important;bottom:64px!important}
/* Popup je na mobitelu sada full-screen (vidi .pop u angelologija/index.html).
   Bez ovoga hs-appbar (z-index:900) i hs-bottom ostaju iznad popupa (z-index:60)
   i sijeku mu gornji/donji rub. Desktop popup je mali centrirani okvir kojem
   appbar ne smeta, pa se ovo skriva samo unutar ovog mobilnog media queryja. */
.hs-angelologija.pop-open .hs-appbar,.hs-angelologija.pop-open .hs-bottom{display:none!important}}
@media(max-width:430px){.hs-angelologija .sgrid{grid-template-columns:1fr 1fr!important}.hs-angelologija .scard .sct{font-size:14px!important}}
