/*
Theme Name:     GeneratePress Child
Template:       generatepress
Author:         Dein Name
Description:    Ein Child Theme für GeneratePress
Version:        1.0
*/

body {


  /* GMAP WPSL Style */

  #wpsl-result-list {
       display: none !important;
   }

   .footer-container-tm {
   display: flex;
   flex-wrap: wrap;
   gap: 2rem;
 }

 /* Standard: 4 Spalten */
 .footer-column-tm {
   width: 23%;
 }

 /* Breakpoint: 2 Spalten bei <= 1024px */
 @media (max-width: 1024px) {
   .footer-column-tm {
     width: 45%;
   }
 }

 /* Breakpoint: 1 Spalte bei <= 640px */
 @media (max-width: 640px) {
   .footer-column-tm {
     width: 100%;
   }
 }














/* 🔴 Standort-Button */
#wpsl-show-my-location {
   width: 60px;
   height: 60px;
   background-color: red;
   color: white;
   border: none;
   border-radius: 50%;
   font-size: 14px;
   font-weight: bold;
   text-align: center;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: background 0.3s, transform 0.2s;
   box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
   position: fixed;
   bottom: 20px;
   right: 20px;
}

#wpsl-show-my-location:hover {
   background-color: darkred;
   transform: scale(1.1);
}

/* 🔍 Suche verstecken */
#wpsl-search-wrap,
.wpsl-search {
   display: none !important;
   padding: 0 !important;
   margin: 0 !important;
   height: 0 !important;
   overflow: hidden !important;
}

#wpsl-search-form,
#wpsl-map-container,
.wpsl-marker {
   margin: 0 !important;
   padding: 0 !important;
}

#wpsl-map-container {
   padding: 0 !important;
   margin: 0 !important;
}

/* 📍 Hauptcontainer für Store-Liste */
#wpsl-stores {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
   padding: 10px;
   max-width: 1200px;
   margin: 0 auto;
}



#wpsl-stores ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
}

/* 📦 Einzelner Store */
#wpsl-stores li {
   background: #fff;
   padding: 10px;
   border-radius: 10px;
   box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
   text-align: center;
   transition: transform 0.2s ease-in-out;
   display: flex;
   flex-direction: column;
   align-items: center;
   width: 100%;
   max-width: 280px;
   position: relative;
}

#wpsl-stores li:hover {
   transform: translateY(-3px);
}

#wpsl-stores li div {
   display: flex;
   flex-direction: column;
   align-items: center;
   width: 100%;
   text-align: center;
}

/* 🖼️ Logo oben */
.wpsl-store-thumb {
   width: 60px;
   height: 60px;
   border-radius: 5px;
   object-fit: contain;
   display: block;
   margin: 0 auto 10px auto;
}

#wpsl-stores li p {
   display: flex;
   flex-direction: column;
   align-items: center;
}

#wpsl-stores li p img {
   order: -1;
}

/* 🏷️ Name */
#wpsl-stores li strong {
   font-size: 16px;
   font-weight: bold;
   margin: 10px 0;
   word-wrap: break-word;
   overflow-wrap: break-word;
   white-space: normal;
   max-width: 100%;
   text-align: center;
   display: block;
}

/* 🏠 Adresse */
.wpsl-street {
   font-size: 14px;
   color: #333;
   margin: 5px 0;
   display: block;
}

/* 🗺️ Stadtteil */
.wpsl-country {
   font-size: 13px;
   font-weight: bold;
   color: #000;
   margin-bottom: 5px;
   display: block;
}

/* 📞 Kontakt
.wpsl-contact-details {
display: none !important;
}
*/

/* 📏 Entfernung */
#wpsl-stores li div + span {
   font-size: 14px;
   font-weight: bold;
   margin-top: 5px;
   display: block;
   color: #555;
}

/* 🔗 Wegbeschreibung */
.wpsl-directions {
   font-weight: bold;
   font-size: 14px;
   color: #0073aa;
   text-decoration: none;
   display: block;
   margin-top: 5px;
}

.wpsl-directions:hover {
   text-decoration: underline;
}

/* ✅ Responsives 4-Spalten-Layout */
@media (min-width: 1025px) {
   #wpsl-stores li {
       flex: 0 0 calc(25% - 10px); /* 4 Spalten */
   }
}

@media (max-width: 1024px) {
   #wpsl-stores li {
       flex: 0 0 calc(33.33% - 10px); /* 3 Spalten */
   }
}

@media (max-width: 768px) {
   #wpsl-stores li {
       flex: 0 0 calc(50% - 10px); /* 2 Spalten */
   }
}

@media (max-width: 480px) {
   #wpsl-stores li {
       flex: 0 0 100%; /* 1 Spalte */
   }
}








  /* Partner-Liste Container */
  .partner-list {
      display: grid;
      grid-template-columns: repeat(4, 1fr); /* 4 Spalten */
      gap: 20px;
      padding: 20px;
      max-width: 1200px;
      margin: 0 auto;
  }

  /* Einzelner Partner-Container */
  .mix {
      width: 100%;
  }

  /* Partner Box */
  .partner {
      background: #fff;
      padding: 15px;
      border-radius: 10px;
      box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15); /* Weicher Schatten */
      text-align: center;
      transition: transform 0.2s ease-in-out;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
  }

  .partner:hover {
      transform: translateY(-3px);
  }

  /* Logo Styling */
  .partner .logo {
      max-width: 100%;
      display: flex;
      justify-content: center;
  }

  .partner .logo img {
      max-width: 70%;
      height: auto;
      border-radius: 5px;
      max-height: 80px; /* Einheitliche Logo-Höhe */
      object-fit: contain;
      margin-bottom: 10px;
  }

  /* Partner Details */
  .partner .details {
      width: 100%;
      text-align: center;
  }

  /* Name */
  .partner h5 {
      font-size: 16px;
      font-weight: bold;
      margin: 10px 0;
      word-wrap: break-word;
      overflow-wrap: break-word;
      white-space: normal;
      max-width: 100%;
      text-align: center;
  }

  /* Adresse */
  .partner p {
      font-size: 14px;
      color: #333;
      margin: 5px 0;
      word-wrap: break-word;
      overflow-wrap: break-word;
      word-break: break-word;
  }

  /* Stadtteil (District) */
  .partner .district {
      font-size: 13px;
      font-weight: bold;
      color: #0073aa;
      margin-bottom: 5px;
  }

  /* Schlichte Links */
  .partner a {
      font-weight: bold;
      font-size: 14px;
      color: #0073aa;
      text-decoration: none;
      display: block; /* Link auf eigener Zeile */
      margin-top: 5px;
  }

  .partner a:hover {
      text-decoration: underline;
  }

  /* ✅ Responsives Spaltenlayout */
  @media (max-width: 1024px) {
      .partner-list {
          grid-template-columns: repeat(3, 1fr); /* 3 Spalten */
      }
  }

  @media (max-width: 768px) {
      .partner-list {
          grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
      }
  }

  @media (max-width: 480px) {
      .partner-list {
          grid-template-columns: 1fr; /* 1 Spalte */
      }
  }


}
