/* Shop styles for multiple pages */

/* Produkt-Container mit Grid-Layout */
.product-container {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    grid-template-rows: auto auto;
    gap: 15px;
    max-width: 360px;
    margin-top: 15px;
    margin-left: auto; /* Rechtsbündige Ausrichtung */
    padding: 15px;
    border: 1px solid gray;
    border-radius: 5px;
    background-color: #c0c0c0;
}

/* Preis-Element (oben links) */
.product-price {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
}

.product-price .price-main {
    font-size: 20px;
    font-weight: bold;
    color: #333;
}

.product-price .price-unit {
    font-size: 14px;
    color: #666;
    margin-left: 3px;
}

.product-price .price-shipping {
    font-size: 14px;
    color: #666;
    margin-top: 3px;
}

/* Mengen-Element (unten links) */
.product-quantity {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    align-items: center;
}

.product-quantity label {
    font-size: 16px;
    color: #333;
    margin-right: 10px;
}

.product-quantity input {
    width: 50px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    text-align: center;
    font-size: 16px;
}

/* Varianten-Auswahl */
.product-variant {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-variant label {
    font-size: 16px;
    color: #333;
    margin-right: 10px;
}

.product-variant select {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: white;
    font-size: 16px;
    min-width: 150px;
}

/* Farbpunkt für Warenkorb */
.cart-item-color {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    border: 1px solid #ccc;
}

.cart-item-image-container {
    position: relative;
}

/* Artikelbild-Zelle mit relativer Positionierung für die Varianten-Auswahl */
.artikelbild {
    position: relative;
}

/* Responsive Design für Produktvarianten */
@media (max-width: 500px) {
    .artikelbild {
        display: flex;
        flex-direction: column;
        gap: 15px; /* Abstand zwischen den Elementen */
    }

    .product-variant,
    .char-counter {
        position: static !important; /* Wichtig, um inline style zu überschreiben */
        margin-top: 0 !important; /* Wichtig, um inline style zu überschreiben */
        width: 100%;
    }

    .product-variant textarea {
        box-sizing: border-box; /* Stellt sicher, dass Padding die Breite nicht beeinflusst */
        width: 100%;
    }

    .char-counter {
        text-align: right !important;
    }
}

.color-black {
    background-color: #000;
}

.color-gray {
    background-color: #606060;
}

.color-transparent {
    background-image: url('/pic/shop/transparent-pattern.png');
    background-size: cover;
}

.color-lightblue {
    background-color: #00cbff;
}

.color-green {
    background-color: #3fdb01;
}

.color-orange {
    background-color: #f47820;
}

/* Lieferzeit-Element (oben rechts) */
.product-availability {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Button-Element (unten rechts) */
.product-button {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    justify-content: flex-end;
}

/* Green dot with "sofort Lieferbar" text */
.availability-indicator {
    display: inline-flex;
    align-items: center;
    margin-right: 15px;
    text-align: left;
}

.availability-dot {
    width: 20px;
    height: 20px;
    background-color: green;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

.lightgreen-dot {
    width: 20px;
    height: 20px;
    background-color: greenyellow;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

.yellow-dot {
    width: 20px;
    height: 20px;
    background-color: yellow;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

.orange-dot {
    width: 20px;
    height: 20px;
    background-color: orange;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

.availability-text {
    font-size: 16px;
    color: #333;
}

/* Preis-Anzeige */
.preis {
    display: inline-flex;
    flex-direction: column;
    text-align: left;
}

/* Mengenfeld */
.quantity-selector {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.quantity-selector label {
    font-size: 16px;
    color: #333;
    margin-bottom: 2px;
}

.quantity-selector input {
    width: 50px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    text-align: center;
    font-size: 16px;
}

/* In den Warenkorb Button */
.add-to-cart-btn {
    display: inline-flex; /* Ändert das Verhalten, um die Breite an den Inhalt anzupassen */
    align-items: center;
    justify-content: center; /* Zentriert den Inhalt horizontal */
    padding: 8px 15px;
    background-color: #ef770b;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}

.add-to-cart-btn:hover {
    background-color: #d86c0a;
}

@media (max-width: 630px) and (min-width: 500px) {
    .add-to-cart-btn span {
        display: none;
    }

    .add-to-cart-btn {
        justify-content: center; /* Zentriert das Icon, wenn der Text weg ist */
    }
}

/* Warenkorb-Symbol in der Navigation */
nav > ul > li > a > img {
    height: 24px;
    vertical-align: middle;
    margin-right: 5px;
}

/* Toast-Benachrichtigung */
.toast-notification {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #ef770b;
    color: white;
    padding: 12px 20px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s, transform 0.3s;
}

.toast-notification.show {
    opacity: 1;
    transform: translateY(0);
}

.toast-notification img {
    height: 24px;
    margin-right: 10px;
}

.toast-notification-message {
    font-size: 16px;
    font-weight: 500;
}
