/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,900;1,400;1,600;1,900&display=swap');
@font-face {
  font-family: 'Open Sans SemiCondensed';
  src: url('fonts/Open_Sans/OpenSans_SemiCondensed-Regular.ttf') format('truetype');
  font-weight: 400;
}
@font-face {
  font-family: 'Open Sans SemiCondensed';
  src: url('fonts/Open_Sans/OpenSans_SemiCondensed-SemiBold.ttf') format('truetype');
  font-weight: 600;
}

/* === GLOBAL RESET === */
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  font-family: 'Open Sans SemiCondensed', sans-serif;
  overflow-x: hidden;
}

/* === HEADER === */
.stoliva-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 8vh;
  background: #001b3d;
  z-index: 9999;
  display: flex;
  align-items: center;
}

/* === HEADINGS === */
h1, h2, h3 {
  font-family: 'Playfair Display', serif;
  margin: 0;
}
h1 {
  font-size: 3vw;
  font-weight: 100;
  text-align: right;
  line-height: 1.25;
  text-shadow: 0 0 8px rgba(0,0,0,0.7);
}
h2 {
  font-size: 2vw;
  font-weight: 100;
}
h3 {
  font-size: 1.75vw;
  font-weight: 600;
}

/* === GALLERY GRID === */
.image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  margin: 0;
  padding: 0;
  gap: 0;
}
.image-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === FOOTER === */
.stoliva-footer {
  background-color: #001b3d;
  color: #fffaee;
  padding: 6vh 0;
  display: flex;
  justify-content: center;
}
.footer-inner {
  width: 90vw;
  max-width: 1480px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3vh;
}
.footer-logo img {
  height: 8vh;
  max-height: 60px;
  filter: brightness(96%);
}
.footer-copy {
  font-size: 0.9vw;
  opacity: 0.8;
}
