/* ===== HexaForce – burger + celoobrazovkove menu =====
   Zdielane vsetkymi strankami. Tokeny maju fallback, lebo web ma tri CSS systemy
   (index/akademia/o-projekte inline, cine.css stranky, site.css). */

/* --- späť hore --- */
.hore{position:fixed;right:clamp(16px,2.4vw,30px);bottom:clamp(16px,2.4vw,30px);z-index:60;
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  appearance:none;cursor:pointer;border-radius:50%;
  background:rgba(15,12,8,.72);border:1px solid rgba(233,226,210,.22);
  color:var(--bone-dim,#A99E86);font-family:var(--mono,ui-monospace,monospace);font-size:17px;line-height:1;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .35s,transform .35s,color .3s,border-color .3s,visibility .35s}
.hore.on{opacity:1;visibility:visible;transform:none}
.hore:hover{color:var(--amber,#C0691C);border-color:var(--amber,#C0691C)}
.hore:focus-visible{outline:2px solid var(--amber,#C0691C);outline-offset:3px}
/* na mobile nesmie prekryt palcom ovladane prvky v pate */
@media(max-width:600px){.hore{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.hore{transition:opacity .01s,visibility .01s}}

/* --- burger --- */
.top__right{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
.mburg{appearance:none;background:none;border:0;padding:10px 2px;cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;gap:6px;width:34px;min-height:44px}
.mburg span{display:block;height:1.5px;width:26px;background:var(--bone,#E9E2D2);border-radius:2px;
  transition:transform .45s cubic-bezier(.465,.183,.153,.946),opacity .3s,background .3s}
.mburg:hover span{background:var(--amber,#C0691C)}
.mburg[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
.mburg[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
.mburg:focus-visible{outline:2px solid var(--amber,#C0691C);outline-offset:4px}

/* --- overlay --- */
.mmenu{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 90% at 50% 30%,#1a140d 0%,#0F0C08 62%);
  opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.33,0,.2,1);
  overflow-y:auto;padding:clamp(74px,9.5vh,100px) clamp(24px,6vw,80px) clamp(30px,5vh,54px)}
.mmenu.on{opacity:1;pointer-events:auto}
/* zatvorene = display:none (nie visibility) – inak by bolo menu pol sekundy
   nefokusovatelne, lebo visibility sa v prechode preklopi az na konci */
.mmenu[hidden]{display:none}
.mmenu__in{width:100%;max-width:820px;margin:auto}

.mmenu__nav{display:grid;gap:clamp(4px,1vh,12px)}
.mmenu__nav a{display:flex;align-items:baseline;gap:clamp(14px,2.2vw,28px);
  font-family:var(--display,'Fraunces',Georgia,serif);font-weight:600;
  /* mierka podla sirky AJ vysky – na nizkych oknach sa menu zmesti bez scrollu */
  font-size:clamp(26px,min(4.3vw,5.4vh),52px);line-height:1.1;letter-spacing:-.03em;
  color:var(--bone,#E9E2D2);padding:clamp(3px,.55vh,7px) 0;
  opacity:0;transform:translateY(18px);
  transition:color .35s,opacity .6s cubic-bezier(.33,0,.2,1),transform .6s cubic-bezier(.33,0,.2,1)}
.mmenu.on .mmenu__nav a{opacity:1;transform:none}
.mmenu__nav a:hover{color:var(--amber,#C0691C)}
.mmenu__nav a:focus-visible{color:var(--amber,#C0691C);outline:1px solid rgba(192,105,28,.55);outline-offset:6px}
.mmenu__nav a[aria-current]{color:var(--amber,#C0691C)}
.mmenu__nav a i{font-family:var(--mono,'JetBrains Mono',monospace);font-style:normal;
  font-size:13px;letter-spacing:.2em;color:var(--gold,#D9922F);flex:none;min-width:2.4em}

/* --- pata menu: socialne siete + pravne --- */
.mmenu__foot{margin-top:clamp(22px,3.8vh,44px);padding-top:clamp(18px,2.8vh,28px);
  border-top:1px solid rgba(233,226,210,.12);
  opacity:0;transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.33,0,.2,1) .25s,transform .6s cubic-bezier(.33,0,.2,1) .25s}
.mmenu.on .mmenu__foot{opacity:1;transform:none}
.mmenu__lbl{display:block;font-family:var(--mono,monospace);font-size:13px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--amber,#C0691C);margin-bottom:16px}
.mmenu__soc{display:flex;flex-wrap:wrap;gap:10px 12px}
.mmenu__soc a,.mmenu__soc span{font-family:var(--mono,monospace);font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bone-dim,#A99E86);
  border:1px solid rgba(233,226,210,.16);border-radius:2px;padding:10px 15px;
  transition:color .3s,border-color .3s}
.mmenu__soc a:hover,.mmenu__soc a:focus-visible{color:var(--amber,#C0691C);border-color:var(--amber,#C0691C)}
.mmenu__soc span{opacity:.5;cursor:default}
.mmenu__legal{display:inline-block;margin-top:clamp(20px,3vh,30px);
  font-family:var(--mono,monospace);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--taupe,#8A7E64);border-bottom:1px solid rgba(233,226,210,.14);padding-bottom:3px}
.mmenu__legal:hover{color:var(--amber,#C0691C)}

/* zamknutie scrollu na pozadi */
body.mlock{overflow:hidden}
/* pri otvorenom menu musi byt burger NAD overlayom, inak sa neda zavriet mysou.
   Logo ostava (odkaz domov), ostatne odkazy sa skryju, nech to nie je prepchate. */
body.mlock .top{z-index:75}
body.mlock .top__nav{opacity:0;pointer-events:none}
body.mlock .top.solid{background:none;-webkit-backdrop-filter:none;backdrop-filter:none}


@media(max-width:560px){
  .mmenu__nav a{font-size:clamp(21px,min(7.4vw,4.1vh),38px)}
  .mmenu__nav a i{min-width:2em;font-size:12px}
  .mmenu{padding-top:clamp(64px,8vh,84px)}
}
@media(prefers-reduced-motion:reduce){
  .mmenu,.mmenu__nav a,.mmenu__foot,.mburg span{transition:none}
  .mmenu__nav a,.mmenu__foot{opacity:1;transform:none}
}
