/* WC Produkt-Badges – Frontend Styles */

/* Wrapper direkt um das Produktbild – funktioniert in Block- und Classic-Themes */
.wcpb-image-wrapper {
    position: relative;
    display: block;
    line-height: 0; /* verhindert unerwünschten Whitespace unter dem Bild */
}
.wcpb-image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
}

/* Badge Basis */
.wcpb-badge {
    position: absolute;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    pointer-events: none;
    box-shadow: 3px 3px rgba(0, 0, 0, 0.15);
    font-weight: 700;
    text-align: center;
    line-height: 1;
}

/* Positionen */
.wcpb-pos-top-left     { top: 10px;    left: -8px;  }
.wcpb-pos-top-right    { top: 10px;    right: -8px; }
.wcpb-pos-bottom-left  { bottom: 10px; left: -8px;  }
.wcpb-pos-bottom-right { bottom: 10px; right: -8px; }

/* Formen */
.wcpb-form-kreis   { border-radius: 50%; }
.wcpb-form-quadrat { border-radius: 0; }
.wcpb-form-rund    { border-radius: 8px; padding: 0 8px; width: auto !important; }
.wcpb-form-kein    { background: transparent !important; box-shadow: none; width: auto !important; height: auto !important; }

/* Text im Badge */
.wcpb-badge .wcpb-text {
    display: inline-block;
    line-height: 1;
}

/* ---- Tooltip ---- */

/* Badge mit Tooltip braucht pointer-events damit hover funktioniert */
.wcpb-badge.wcpb-has-tooltip {
    pointer-events: auto;
    overflow: visible;
}

.wcpb-tooltip {
    position: absolute;
    z-index: 100;
    background: rgba(30, 30, 30, 0.92);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    padding: 5px 10px;
    border-radius: 4px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;

    /* Pfeil via pseudo-element */
}
.wcpb-tooltip::after {
    content: '';
    position: absolute;
    border: 5px solid transparent;
}

/* Hover: einblenden */
.wcpb-badge.wcpb-has-tooltip:hover .wcpb-tooltip {
    opacity: 1;
}

/* --- Tooltip oben --- */
.wcpb-tooltip-top .wcpb-tooltip {
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
}
.wcpb-badge.wcpb-tooltip-top:hover .wcpb-tooltip {
    transform: translateX(-50%) translateY(0);
}
.wcpb-tooltip-top .wcpb-tooltip::after {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top-color: rgba(30, 30, 30, 0.92);
}

/* --- Tooltip unten --- */
.wcpb-tooltip-bottom .wcpb-tooltip {
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
}
.wcpb-badge.wcpb-tooltip-bottom:hover .wcpb-tooltip {
    transform: translateX(-50%) translateY(0);
}
.wcpb-tooltip-bottom .wcpb-tooltip::after {
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-bottom-color: rgba(30, 30, 30, 0.92);
}

/* --- Tooltip links --- */
.wcpb-tooltip-left .wcpb-tooltip {
    right: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%) translateX(4px);
}
.wcpb-badge.wcpb-tooltip-left:hover .wcpb-tooltip {
    transform: translateY(-50%) translateX(0);
}
.wcpb-tooltip-left .wcpb-tooltip::after {
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-left-color: rgba(30, 30, 30, 0.92);
}

/* --- Tooltip rechts --- */
.wcpb-tooltip-right .wcpb-tooltip {
    left: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%) translateX(-4px);
}
.wcpb-badge.wcpb-tooltip-right:hover .wcpb-tooltip {
    transform: translateY(-50%) translateX(0);
}
.wcpb-tooltip-right .wcpb-tooltip::after {
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-right-color: rgba(30, 30, 30, 0.92);
}

/* Einzelprodukt-Seite */
.wcpb-single-wrapper {
    position: relative;
    display: contents; /* erbt den Kontext vom Gallery-Container */
}
.woocommerce div.product div.images {
    position: relative;
}
