* {
    margin: 0;
    padding: 0;
}
*{
    font-family: 'Oswald', sans-serif;
}
body{
  min-width: 100%;
}

/* === grid === */
.gin-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
  align-items: stretch;
  row-gap: 6%;
  padding: 4%;
  gap: 2%;
  background: #ffc896;
  margin: auto;
  margin-bottom: 13%;
}

.gin {
  display:flex;
  gap: 2%;
  background: #f5f5dc;
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  padding: 5%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  line-height: 1.6;
  width: 25vw;
  height: 40vh;
}

.gin img{
  max-width: 45%;
  height:auto;
  border-radius: 5px;
  object-fit: contain;
}

.gin h2 {
  margin-top: 7.5%;
  font-size: 2.2em;
  color: #333;
  text-align: center;
  margin-bottom: 5%;
  text-shadow:0 4px 10px rgba(0,0,0,0.3);
}

.gin-rezept{
  padding-left: 25%;
}

.gin li{
  font-size: 1.25em;
}

.gin-beschreibung {
  list-style: decimal;
  padding:5% 5%;
  padding-left: 13%;
}

/* === footer === */
footer{
  background-color: black;
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  height:50px;
  bottom:0;
}
footer p{
  font-size: 1em;
  color:#ffc896;
}

/* === Responsive Design === */
@media(max-width:1710px){
  .gin-grid{
        grid-template-columns: repeat(3, 1fr);
        padding: 2%;
        margin-bottom: 30%;
    }
  .gin {
        flex-direction: column;
        padding: 4%;
        align-items: center;
        width: 28vw;
        height: 90vh;
    }
}

@media (max-width:1440px){
  .gin-grid{
        grid-template-columns: repeat(2, 1fr);
        
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 30%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 40vw;
        height: 75vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.8em;
    }
    .gin-grid .gin:last-child{
      grid-column: 1/-1;
    }

}

@media (max-width: 1024px) {
    .gin-grid {
        grid-template-columns: 1fr;
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 100%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 70vw;
        height: 80vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.8em;
    }
}

@media (max-width: 768px) {
    .gin-grid {
        grid-template-columns: 1fr;
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 110%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 70vw;
        height: 80vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.5em;
    }
}

@media (max-width: 480px) {
   .gin-grid {
        grid-template-columns: 1fr;
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 200%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 70vw;
        height: 80vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.5em;
    }
}

@media (max-width: 425px){
  .gin-grid {
        grid-template-columns: 1fr;
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 200%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 70vw;
        height: 80vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.5em;
    }
}

@media (max-width: 380px) {
    .gin-grid {
        grid-template-columns: 1fr;
        padding: 2%;
        row-gap: 1%;
        margin-bottom: 200%;
    }
    .gin {
        flex-direction: column;
        gap: 2%;
        padding: 4%;
        align-items: center;
        width: 70vw;
        height: 80vh;
    }
    .gin img {
        max-width: auto;
        height: 60%;
        margin-top: 5%;
        padding-bottom: 5%;
    }
    .gin h2 {
        font-size: 1.5em;
    }
}
