/* apotheke.css */
/* Montserrat lokal eingebunden */
@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/static/Montserrat-Regular.woff2') format('woff2'),
       url('./fonts/static/Montserrat-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/static/Montserrat-SemiBold.woff2') format('woff2'),
       url('./fonts/static/Montserrat-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/static/Montserrat-Bold.woff2') format('woff2'),
       url('./fonts/static/Montserrat-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/static/Montserrat-ExtraBold.woff2') format('woff2'),
       url('./fonts/static/Montserrat-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
}

:root { --max: 960px; --brand:#287028; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  background: #ffffff;
  color: var(--brand);
  line-height: 1.5;
}
main {
  min-height: 100vh;
  display: flex;               /* Flex statt Grid */
  flex-direction: column;
  align-items: center;
  padding: clamp(16px, 3vw, 48px);
}
.container {
  width: 100%;
  max-width: var(--max);
}
header { text-align: center; margin-bottom: clamp(16px, 3vw, 32px); }
h1 { font-weight: 600; font-size: clamp(1.75rem, 3vw, 2.5rem); margin: 0 0 0.5rem; }
h2 { font-weight: 600; font-size: clamp(1.5rem, 2vw, 2.0rem); margin: 0 0 0.5rem; }
p.lead1 { margin: 0; font-weight: 300; font-size: clamp(1rem, 1.6vw, 1.125rem); }
p.lead2 { margin: 0; font-weight: 500; font-size: clamp(1rem, 1.6vw, 1.125rem); }

.hours {
  margin: clamp(16px, 3vw, 32px) auto;
  width: 100%;
  max-width: 720px;
  display: grid;
  gap: 6px;
  text-align: center;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
}
.hours b { font-weight: 800; }

.image-wrap {
  display: flex; align-items: center; justify-content: center;
  padding: clamp(8px, 2vw, 16px);
  margin: 0 auto clamp(16px, 5vw, 200px); /* Abstand unter Bild max 200px */
}
.image-placeholder {
  width: min(100%, 1200px);
  aspect-ratio: 3 / 1;
  border: 2px dashed #b7d5b7;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  padding: 1rem;
}
.image-placeholder span {
  opacity: 0.9;
  font-weight: 600;
}
.image-wrap img, .Logo-Box img {
  display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 14px;
}