/* assets/css/override.css
   Central override file for pages under /new_site_sbtt
   Adjust variables and rules here to apply site-wide styles and to override inline styles when loaded last in <head>.
*/

:root{
  --bg: #0F1620;
  --bg-soft: #1a1d23;
  --bg-card: rgba(34,157,152,0.13);
  --border: #2a2e36;
  --text: #e5e7eb;
  --muted: #9ca3af;
  --accent: #00e5ff;
  --accent-hover: #60a5fa;
  --radius-lg: 16px;
  --radius-md: 12px;
  --pill: 999px;
}

/* Firefox */
body {
  scrollbar-width: none; /* keine Leiste */
}

/* Chrome, Safari, Edge */
body::-webkit-scrollbar {
  display: none;
}

/* Base */
html,body{height:100%;margin:0;padding: 0px;background:var(--bg);font-size: 19px; color:var(--muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial; -webkit-font-smoothing:antialiased;}

/* Layout */
/*.container{max-width:960px;margin:0 auto;padding:var(--container-padding,120px 25px 60px);} */
.page{min-height:100vh;display:flex;flex-direction:column}

/* Logo */
.logo-mark{width:40px;height:40px;border-radius:10px;background-image:url('/apple-touch-icon.png');background-size:cover;background-position:center}

/* Typography */
h1{font-size:clamp(32px,5vw,52px);line-height:1.1;font-weight:800;margin:0 0 30px}
h2{font-size:32px;margin:70px 0 30px;color:var(--accent);line-height: 40px;}
h3{font-size:24px; color: #fff; margin:0 0 20px}

/* Links */
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-hover);text-decoration:underline}

/* Cards / Info */
.infobox,.analysis-card,.card{background:var(--bg-soft);border:1px solid var(--border);padding:25px;border-radius:var(--radius-md)}

/* Utilities */
.hidden{display:none !important}
.center{text-align:center}

/* Small screens */
@media (max-width:768px){.container{padding-top:10px}.infobox{float:none;width:100%;margin-left:0}}

.hero-card-body {
    padding: 0px 8px;
}

.inline-viewer {
    font-family: var(--font-mono);
    font-size: 16px;
    line-height: 1.6;
}

.hero-subtitle {
    font-size: 19px;
    color: #e5e7eb;
}

.hero-kicker {
    color: #ff1a00;
}

.hero-card-title {
    color: #ffffff;
}

.metablock-text {
    color: #e5e7eb;
}

.inline-viewer-math {
    background: #1b2d32;
    font-size: 16px;
    color: #F44336;
}

.menu-label-btn {
    font-size: 13px;
    /* keep baseline layout stable across pages */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .25s, color .25s;
}

/* Ensure label text span is transformable; JS also applies these inline but
   this provides a reliable CSS fallback so the text animates even if JS
   doesn't execute or compute padding correctly. */
.menu-label-text {
    display: inline-block;
    transition: transform 320ms cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
    transform: translate(0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Fallback: approximate the same visual shift the JS computes */
.menu-label-btn:hover .menu-label-text { transform: translateX(-20px); }


@media (max-width: 680px) { 
  .metablock-grid { 
    padding: 15px; 
    margin: 10px;
  }

  .infobox,
  .analysis-card,
  .card {
    padding: 25px 10px;
  }

  .hero-kicker {
    margin: 20px 0 20px;
  }

  .hero-subtitle {
    font-size: 18px;
    font-weight: 400;
  }

  .hero-card {
    padding: 18px 5px 14px;
  }

}

@media (max-width: 1280px) and (min-width: 481px) {
  body {
    padding: 50px; /* oder was du brauchst */
  }
}








/* If you need to force a rule to override inline styles, use the --important helper below:
   e.g. .some-class{color:var(--accent) !important}
*/

/* Hide scrollbars across browsers (keep scrolling functionality) */
html, body {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
html::-webkit-scrollbar, body::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
}

/* Allow text selection in main content and within menus (override user-select: none from other styles) */
.page, .container, main, article, .menu-content-wrapper, .mega-menu-overlay, .ai-hero, .ai-body, .ai-inline-viewer {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Hide scrollbars in the mega menu overlay but keep scrolling functional */
.mega-menu-overlay {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.mega-menu-overlay::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}


::selection {
  background: #00e5ff34;   /* Hintergrundfarbe der Markierung */
  color: #00e5ff;        /* Schriftfarbe der Markierung */
}

/* Für Firefox zusätzlich */
::-moz-selection {
  background: #00e5ff34;
  color: #00e5ff;
}

/* End of override.css */