/**
 * PB Custom Reviews - Stylesheet
 * ----------------------------------------------------------------------------
 * Styling gebaseerd op de WebwinkelKeur-analyse:
 *  - Witte review-kaarten met dunne lichtgrijze rand
 *  - Oranje sterren (#ffb000)
 *  - Border-radius 16px, geen zware schaduw
 *  - Poppins-typografie (met system fallback)
 *  - Clean, modern, responsive
 *
 * KLEUREN & AFRONDING zijn per shortcode aanpasbaar via CSS-variabelen:
 *   --cwcr-star-color, --cwcr-card-bg, --cwcr-border-color, --cwcr-border-radius
 * Deze worden inline op de .cwcr-reviews wrapper gezet door de PHP.
 * ----------------------------------------------------------------------------
 */

/* Standaardwaarden voor de CSS-variabelen (fallback als PHP ze niet meegeeft). */
.cwcr-reviews {
        --cwcr-star-color: #ffb000;
        --cwcr-card-bg: #ffffff;
        --cwcr-border-color: #dedede;
        --cwcr-border-radius: 16px;

        /* Poppins met uitgebreide system fallback. */
        font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        color: #333;
        box-sizing: border-box;
        width: 100%;
}

.cwcr-reviews *,
.cwcr-reviews *::before,
.cwcr-reviews *::after {
        box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
 * De review-kaart (basis voor alle layouts)
 * ------------------------------------------------------------------------- */
.cwcr-card {
        background: var(--cwcr-card-bg);
        border: 1px solid var(--cwcr-border-color);
        border-radius: var(--cwcr-border-radius);
        box-shadow: none;
        padding: 16px 22px;
        min-height: 155px;
        overflow: hidden;
}

/* Reviewer-naam: bovenaan, vet en donker. */
.cwcr-card__author {
        margin: 0 0 6px;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 700;
        color: #333;
}

/* Rij met sterren + datum. */
.cwcr-card__meta {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 8px;
        flex-wrap: wrap;
}

/* Datum: kleiner en lichtgrijs. */
.cwcr-card__date {
        font-size: 12px;
        font-weight: 400;
        color: #b8b8b8;
        line-height: 1;
}

/* Reviewtekst: compact, donkergrijs, afgekapt na 3 regels. */
.cwcr-card__text {
        margin: 0;
        font-size: 13px;
        line-height: 1.65;
        font-weight: 500;
        color: #3b3b3b;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

.cwcr-card__text p {
        margin: 0;
}

/* ---------------------------------------------------------------------------
 * Sterren
 * ------------------------------------------------------------------------- */
.cwcr-stars {
        display: inline-flex;
        gap: 2px;
        font-size: 16px;
        line-height: 1;
        letter-spacing: 0;
}

/* Gevulde ster krijgt de (aanpasbare) sterkleur. */
.cwcr-star--full {
        color: var(--cwcr-star-color);
}

/* Lege ster blijft licht grijs. */
.cwcr-star--empty {
        color: #d9d9d9;
}

/* ---------------------------------------------------------------------------
 * Layout: GRID (standaard)
 * ------------------------------------------------------------------------- */
.cwcr-reviews--grid .cwcr-track {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
}

/* ---------------------------------------------------------------------------
 * Layout: LIST (kaarten onder elkaar)
 * ------------------------------------------------------------------------- */
.cwcr-reviews--list .cwcr-track {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.cwcr-reviews--list .cwcr-card {
        min-height: 0;
}

/* ---------------------------------------------------------------------------
 * Layout: CAROUSEL (horizontaal scrollend met pijlen)
 * ------------------------------------------------------------------------- */
.cwcr-reviews--carousel {
        position: relative;
        display: flex;
        align-items: center;
        padding: 0 18px;
}

.cwcr-reviews--carousel .cwcr-track {
        display: flex;
        gap: 24px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        width: 100%;
        /* Scrollbar verbergen voor een cleane look. */
        scrollbar-width: none;
        -ms-overflow-style: none;
}

.cwcr-reviews--carousel .cwcr-track::-webkit-scrollbar {
        display: none;
}

.cwcr-reviews--carousel .cwcr-card {
        flex: 0 0 280px;
        max-width: 280px;
        scroll-snap-align: start;
}

/* Ronde navigatieknoppen. */
.cwcr-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 1px solid #e2e2e2;
        background: #fff;
        color: #555;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        z-index: 2;
        padding: 0;
        transition: background 0.2s ease, color 0.2s ease;
}

.cwcr-arrow:hover {
        background: #f5f5f5;
        color: #222;
}

.cwcr-arrow--prev {
        left: -4px;
}

.cwcr-arrow--next {
        right: -4px;
}

/* ---------------------------------------------------------------------------
 * Meldingen (geen reviews / WooCommerce niet actief)
 * ------------------------------------------------------------------------- */
.cwcr-notice {
        font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        font-size: 14px;
        color: #777;
        padding: 16px 0;
        margin: 0;
}

/* ---------------------------------------------------------------------------
 * Responsive gedrag
 * ------------------------------------------------------------------------- */

/* Tablet: 2 kaarten naast elkaar in grid. */
@media (max-width: 900px) {
        .cwcr-reviews--grid .cwcr-track {
                grid-template-columns: repeat(2, 1fr);
        }
}

/* Mobiel: 1 kaart per rij in grid; carousel blijft swipebaar. */
@media (max-width: 600px) {
        .cwcr-reviews--grid .cwcr-track {
                grid-template-columns: 1fr;
        }

        .cwcr-reviews--carousel .cwcr-card {
                flex: 0 0 85%;
                max-width: 85%;
        }
}



/* ---------------------------------------------------------------------------
 * Admin: live preview-container op de instellingenpagina (v1.1.0)
 * ------------------------------------------------------------------------- */
.cwcr-preview-output {
        margin-top: 16px;
        padding: 24px;
        background: #fff;
        border: 1px solid #dcdcde;
        border-radius: 8px;
        min-height: 80px;
}

/* Foutmelding binnen een notice. */
.cwcr-notice--error {
        color: #b32d2e;
}
