.product-info-tiles-wrapper {
    width: 100%;
}

.product-info-tiles-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    width: 100%;
    align-items: start;
}

.wcpit-col {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Reduzierter Abstand nach Vorgabe */
}

/* --- LEGENDE (Verfügbarkeit) --- */
.wcpit-legend-container {
    font-family: inherit;
}

.wcpit-legend-title {
    font-size: 0.85em;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    font-weight: 600;
}

.wcpit-legend-items {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.wcpit-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.wcpit-legend-bar {
    height: 6px;
    border-radius: 3px;
    width: 0; /* Start width for animation */
    transition: width 1s ease-out;
}

.wcpit-legend-bar--available {
    background-color: #179738;
}

.wcpit-legend-bar--unavailable {
    background-color: #e8e8e8;
}

/* Animation classes triggered by JS */
.wcpit-legend-container.is-visible .wcpit-legend-bar--available,
.wcpit-legend-container.is-visible .wcpit-legend-bar--unavailable {
    width: 40px; /* Target width */
}

.wcpit-legend-label {
    font-size: 0.9em;
    color: #333;
}


/* --- KACHELN --- */
.product-info-tile {
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    font-size: 12pt; 
    padding: 10px 12px;
    border-radius: 5px;
}

.product-info-tile__content {
    width: 100%;
}

.product-info-tile__text {
    line-height: 1.4;
}

.product-info-tile__text p {
    margin-bottom: 0.5em;
}
.product-info-tile__text p:last-child {
    margin-bottom: 0;
}

/* Spezifische Anforderung: Eigener Zeilenabstand für "Beschreibung" */
.product-info-tile--beschreibung .product-info-tile__text {
    line-height: 1.8;
}

/* --- GRAUE INAKTIV-KACHELN --- */
.product-info-tile.product-info-tile--grayed-out {
    background-color: #fcfcfc !important;
    border: 1px solid #f4f4f4 !important;
    color: #cdcdcd !important;
}

/* Überschreibt alle Inline-Farben innerhalb der ausgegrauten Kachel */
.product-info-tile.product-info-tile--grayed-out * {
    color: #cdcdcd !important;
}

/* Verhindert, dass Bilder oder Iframes in Kacheln überlaufen */
.product-info-tile img,
.product-info-tile iframe {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
    margin-top: 10px;
}

/* Responsivität Mobile */
@media (max-width: 768px) {
    .product-info-tiles-grid {
        grid-template-columns: 1fr;
    }
    /* Ich fuege sicherheitshalber den Map-Fix von eben wieder hinzu, falls er im Copy-Paste verloren ging */
    .flatsome-osm-map {
        width: 100% !important;
        max-width: 100% !important;
    }
}
