@charset "UTF-8";
/* CSS Hamdala */

body {
      font-family: 'Source Sans 3'; font-weight: 400;
      margin: 0; padding-top: 100px; /* Platz fĆ¼r die fixe Navibar */
      background-color: #e0e0e0;
    }
    
h1, h2, h3, h4, h5 {
    font-family: 'Minion Pro'; font-weight: 600; 
}
h1 {font-size: 2.4rem;}
h2 {font-size: 2rem;}
h3 {font-size: 1.7rem;}
h4 {font-size: 1.4rem;}
h5 {font-size: 1.2rem;}

.button, .button.disabled {background-color: #39AA35;}
.button:hover {background-color: #116b0c;}
    
/* Navigation */  
a {color: #39AA35;}

.top-nav {
      font-family: 'Minion Pro';
      background-color: #fff;
      position: fixed;
      top: 0;
      width: 100%;
      height: 100px;
      z-index: 1000;
      color: #000;
      padding-top: 15px; padding-bottom: 15px;
      border-bottom: 2px solid #39AA35;
    }
.toplinks {
    text-align: right;
}
.toplinks a { color: #000; }
.toplinks a:hover {color:#89f4a4; }
.submenu a {color: #326e2e;}
.submenu a:hover {color: #000; }
.navilogo {
  height: 70px;
  width: auto;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  border-color: #39AA35 transparent transparent;
}
.navilogo {
  height: 70px;
  width: auto;
}

/* === Grabwert Navi: Mobile === */

[data-gw-nav="1"] {
  position: relative;
}

[data-gw-nav="1"] .toplinks {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Mobile Toggle Button */
[data-gw-nav="1"] .gw-mobile-toggle {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

[data-gw-nav="1"] .gw-mobile-toggle img {
  max-height: 32px;
  width: auto;
  display: block;
}

/* Grundlayout Men¸«ä */
[data-gw-nav="1"] .gw-main-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Small / Medium: Men¸«ä verborgen und als Dropdown unter der Leiste */
@media screen and (max-width: 63.999em) {
  [data-gw-nav="1"] .gw-main-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    z-index: 2000;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  }

  [data-gw-nav="1"] .gw-main-menu.is-open {
    display: block;
  }

  [data-gw-nav="1"] .gw-main-menu > li > a {
    display: block;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #eee;
  }

  [data-gw-nav="1"] .gw-main-menu > li:last-child > a {
    border-bottom: none;
  }

  /* Submen¸«ä im Mobile: unter dem Hauptpunkt ein-/ausklappen */
  [data-gw-nav="1"] .gw-main-menu .submenu {
    display: none;
    margin: 0;
    padding: 0;
    background: #f8f8f8;
  }

  [data-gw-nav="1"] .gw-main-menu .submenu.is-open {
    display: block;
  }

  [data-gw-nav="1"] .gw-main-menu .submenu li a {
    display: block;
    padding: 0.5rem 2rem;
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.95rem;
  }
}

/* Large: Desktop-Variante wie bisher (horizontales Men¸«ä) */
@media screen and (min-width: 64em) {
  [data-gw-nav="1"] .gw-mobile-toggle {
    display: none;
  }

  [data-gw-nav="1"] .gw-main-menu {
    display: flex !important;
    position: static;
    box-shadow: none;
  }

  [data-gw-nav="1"] .gw-main-menu > li > a {
    padding: 0.5rem 0.75rem;
  }

  [data-gw-nav="1"] .gw-main-menu .submenu {
    background: #ffffff;
  }
}

    
/* Content */
    .content {
      font-family: 'Source Sans 3';
      background-color: #ffffff;
      padding-top: 1.5rem;
    }
    .topdiv {padding: 2rem 0;}

    
/* Titelboxen */
.ham-startbox {
    background-image: url('../grafik/ham-startbild.jpg');
    background-size: cover;        /* Proportional, f¸«ällt das gesamte DIV */
    background-position: center;   /* Sauberes Framing */
    background-repeat: no-repeat;
    border-radius: 16px;
    margin-bottom: 2em;
}
.ham-startbox h1 {font-size: 3em; line-height: 1.0; margin-bottom: 1em;}
.ham-titelbox {
    border-radius: 16px;
    margin-bottom: 2em;
}
.ham-left {
    background: #2c8228;
    padding: 2rem;
    color: #fff;
    border-top-left-radius: 16px;
}
.ham-bg {
    background: #ccc;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 4em;
    border-bottom-right-radius: 16px;
}
.homelogo-wrapper {
    display: flex; 
    align-items: center;
    justify-content: center;
}
.spalten { margin-bottom: 2em; }
.homeicon { height: 3.5em; }
.itemtext { margin-top: 1em; font-size: 1.1em;}
@media screen and (max-width: 639px) {
    .ham-left { border-top-right-radius: 16px; }
    .ham-bg { border-bottom-left-radius: 16px; }
    .homelogo { height: 180px; margin: 2em;}
    .spalten { column-count: 1; }
}
@media screen and (min-width: 640px) {
    .ham-left { border-bottom-left-radius: 16px; }
    .ham-bg { border-top-right-radius: 16px; }
    .homelogo { height: 340px; }
    .spalten { column-count: 2; column-gap: 3em; }
}
.itembox {
    border: 1px solid #2c8228;
    border-radius: 16px;
    box-shadow: 0 0 15px rgba(0,0,0, 0.35); 
    padding: 1.5rem; 
    margin-bottom: 3em;
}

/* Live Auswahlbar */
    #live-auswahlbar {
      position: fixed;
      left: 0; right: 0; bottom: 0;
      z-index: 999;
      background: #fff;
      border-top: 1px solid #000;
      padding: 0.6rem 0;
    }
    #live-auswahlbar .grid-container { max-width: 1200px; }
    #live-auswahlbar .summary-text { font-size: 0.95rem; }
    #live-auswahlbar .summary-price { font-weight: 700; text-align: right; }
    body { padding-bottom: 72px; } /* Platz, damit Inhalt nicht von der Bar ¸«äberdeckt wird */
    
      /* Live-Bar soll sich nie wie ein Link anf¸«ählen */
  #live-auswahlbar, #live-auswahlbar * {
    cursor: default !important;
    text-decoration: none !important;
    color: #000 !important;
  }
  /* Falls doch mal ein <a> hinein ger¸«£t: klicks deaktivieren */
  #live-auswahlbar a {
    pointer-events: none !important;
    color: inherit !important;
  }
  /* Sicherstellen, dass die Live-Bar Klicks NICHT durchl¸«£sst */
  #live-auswahlbar { pointer-events: auto; }
  
  .schrift-gruppe {
    background: #9dce98;
    padding: 0.6rem 2rem;
    border-radius: 16px;
    margin-bottom: 2em;
}
.schrift-gruppe h2 {
    margin: 0;
}

/* === Referenz-Galerie (Flickr-Style) === */
.ref-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;              /* horizontal + vertikal Abstand */
  margin: 1rem 0;
}

.ref-item {
  position: relative;
  margin: 0;             /* Abstand l¸«£uft ¸«äber gap */
  overflow: hidden;
  cursor: pointer;
}

.ref-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === Popup-Overlay und Box === */
.ref-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;              /* wird per .is-visible aktiviert */
  z-index: 1000;
}

.ref-popup-overlay.is-visible {
  display: block;
}

/* zentrierte Box ¸«äber transform, unabh¸«£ngig von Flex */
.ref-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  max-width: 1000px;
  width: 90%;
  padding: 1.5rem 2rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* Bildbox 600 x 600, proportional */
.ref-popup-image-wrap {
  flex: 0 0 auto;
  width: 600px;
  height: 600px;
  max-width: 100%;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}

.ref-popup-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Textspalte rechts */
.ref-popup-content {
  flex: 1 1 250px;
}

.ref-popup-title {
  margin: 0 0 0.5rem;
}

.ref-popup-title b {
  font-weight: 700;
}

.ref-popup-desc,
.ref-popup-details {
  margin: 0.3rem 0;
}

/* Schlie¸©Īen-Button */
.ref-popup-close-btn {
  margin-top: 1rem;
  padding: 0.4rem 1.2rem;
  border: none;
  background: #514697;
  color: #fff;
  cursor: pointer;
}

.ref-popup-close-btn:hover {
  opacity: 0.9;
}
    
/* Footer */
footer {font-family: 'Source Sans 3';}
