/* styles.css - generiertes CSS aus deinem Input */

/* Root variables (aus den SASS-Variablen konvertiert) */
:root{
  --background-color: #353b48;
  --font-family: "Fira Sans", sans-serif;
  --white: #f5f6fa;
  --black: #0C0E10;
  --gray: #202425;
  --blue: #446182;

  /* berechnete/ersatzfarben */
  --bench-brown: #5B3E2B;
  --bench-brown-dark: #4f3523; /* dunkleres Braun approximiert */
  --gray-light: #2a2b2a; /* leicht aufgehelltes Grau */
}

/* Reset / Box sizing */
*{
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
}

body {
  font-family: var(--font-family);
  color: var(--white);
  background: linear-gradient(var(--black), var(--blue));
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

/* Background ground */
.background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.background .ground {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 25vh;
  background: var(--black);
}

/* Layout container */
.container {
  position: relative;
  margin: 0 auto;
  width: 85%;
  height: 100vh;
  padding-bottom: 25vh;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

/* Sections */
.left-section, .right-section {
  position: relative;
}

.left-section {
  width: 40%;
}

/* Centering helper applied to inner-content */
.inner-content{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  text-align: center;
  padding: 0 1rem;
}

.heading {
  font-size: 9em;
  line-height: 1.3em;
  margin: 2rem 0 0.5rem 0;
  padding: 0;
  text-shadow: 0 0 1rem #fefefe;
  animation: glow 4s ease-in-out infinite;
}

.subheading {
  text-align: center;
  max-width: 480px;
  font-size: 1.5em;
  line-height: 1.15;
  padding: 0 1rem;
  margin: 0 auto;
}

/* Right section / SVG */
.right-section {
  width: 50%;
  position: relative;
}

.svgimg {
  position: absolute;
  bottom: 0;
  padding-top: 10vh;
  padding-left: 1vh;
  max-width: 100%;
  max-height: 100%;
}

/* SVG parts coloring */
.svgimg .bench-legs{
  fill: var(--black);
}
.svgimg .top-bench,
.svgimg .bottom-bench{
  stroke: var(--black);
  stroke-width: 1px;
  fill: var(--bench-brown);
}
.svgimg .bottom-bench path:first-child{
  fill: var(--bench-brown-dark);
}
.svgimg .lamp-details{
  fill: var(--gray);
}
.svgimg .lamp-accent{
  fill: var(--gray-light);
}
.svgimg .lamp-bottom{
  /* gradients as fill inside external CSS are complex for inline SVG;
     here we fallback to a solid darker gray */
  fill: #1f1f1f;
}
.svgimg .lamp-light{
  fill: #EFEFEF;
}

/* Glow animation for heading (text-shadow pulsing) */
@keyframes glow {
  0%   { text-shadow: 0 0 1rem #fefefe; }
  50%  { text-shadow: 0 0 1.85rem #ededed; }
  100% { text-shadow: 0 0 1rem #fefefe; }
}

/* Responsive small screens (mixin: max-width: 770px) */
@media (max-width: 770px) {
  .container {
    flex-direction: column;
    padding-bottom: 0;
  }

  .left-section {
    width: 100%;
    height: 40%;
    position: absolute;
    top: 0;
  }

  .inner-content {
    position: relative;
    transform: none;
    top: auto;
    padding: 1rem 0;
  }

  .heading {
    font-size: 7em;
    line-height: 1.15;
    margin: 0;
  }

  .subheading {
    font-size: 1.3em;
    line-height: 1.15;
    max-width: 100%;
  }

  .right-section {
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: 0;
  }

  .svgimg {
    padding-top: 0;
    padding-left: 0;
  }

  .background .ground {
    height: 0vh;
  }
}
