/**
 * Karacter — Te-ar putea interesa și
 *
 * Culorile se iau din variabilele temei copil (custom.css), cu fallback:
 * modulul trebuie să arate decent și dacă tema se schimbă.
 *
 * Regulile care depind de breakpoint-ul reglabil din BO NU sunt aici — se
 * emit inline din PHP (Krcrelated::buildInlineCss).
 */

/* --- Baza Swiper, scopată -----------------------------------------------
   Nu presupunem că e încărcată de temă: build-ul Warehouse nu include tot
   CSS-ul Swiper (index §10). Se aplică doar când JS a pus clasele. */
.krc-rel.swiper {
    overflow: hidden;
}
.krc-rel .swiper-wrapper {
    display: flex;
    box-sizing: content-box;
    position: relative;
    width: 100%;
    height: 100%;
}
.krc-rel .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    position: relative;
}

/* --- Blocul ------------------------------------------------------------- */
.krc-rel {
    margin-top: 1.75rem;
}

.krc-rel-title {
    margin: 0 0 .85rem;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--c-text, #1A1A1A);
}

/* --- Card, formă implicită: orizontal (desktop) ------------------------- */
.krc-rel-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 0;
    border-top: 1px solid var(--c-border, #F3F3F3);
}
.krc-rel-item:first-child {
    border-top: none;
    padding-top: 0;
}

.krc-rel-thumb {
    flex: 0 0 auto;
    display: block;
    width: 96px;
    height: 96px;
    background: var(--c-bg-alt, #FAFAFA);
}
.krc-rel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Anulează width/height din HTML, care sunt cele ale formatului sursă. */
}

.krc-rel-body {
    flex: 1 1 auto;
    min-width: 0;
}

.krc-rel-name {
    display: block;
    margin-bottom: .35rem;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--c-text, #1A1A1A);
    text-decoration: none;
}
.krc-rel-name:hover,
.krc-rel-name:focus {
    color: var(--c-accent, #E50F1E);
    text-decoration: none;
}

/* --- Prețuri ------------------------------------------------------------
   Marginea de jos stă pe wrapper, nu pe preț: rândul „Inițial" apare doar la
   produsele cu reducere, iar fără wrapper spațierea până la buton ar fi
   diferită între cardurile cu și fără reducere. */
.krc-rel-prices {
    margin-bottom: .6rem;
}
.krc-rel-price {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--c-accent, #E50F1E);
}
.krc-rel-old {
    margin-top: .15rem;
    font-size: 13px;
    line-height: 1.3;
    color: #4a4a4a;
    font-weight: 500;
}

.krc-rel-discount {
    white-space: nowrap;
}

/* --- Stele -------------------------------------------------------------
   O singură bandă, umplută procentual cu --krc-rel-fill (setat inline din
   template). Masca e un singur SVG repetat de 5 ori pe orizontală, deci nu
   depinde de setul de iconițe al lui krcreviews. */
.krc-rel-rating {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .35rem;
    font-size: .8rem;
    color: var(--c-text-muted, rgba(26, 26, 26, .6));
}
.krc-rel-stars {
    --krc-rel-star: 14px;
    display: inline-block;
    width: calc(var(--krc-rel-star) * 5);
    height: var(--krc-rel-star);
    background: linear-gradient(
        90deg,
        #F5A623 var(--krc-rel-fill, 0%),
        #D8D8D8 var(--krc-rel-fill, 0%)
    );
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") 0 0 / var(--krc-rel-star) var(--krc-rel-star) repeat-x;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") 0 0 / var(--krc-rel-star) var(--krc-rel-star) repeat-x;
}
.krc-rel-grade {
    font-weight: 600;
    color: var(--c-text, #1A1A1A);
}

/* --- Buton -------------------------------------------------------------- */
.krc-rel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    background: var(--c-bg-dark, #1A1A1A);
    color: var(--c-text-invers, #FFFFFF) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    transition: background-color .15s ease;
}
.krc-rel-btn svg{
    width:12px;
    height:12px;
}
.krc-rel-btn:hover,
.krc-rel-btn:focus {
    background: var(--c-accent, #E50F1E);
    color: var(--c-text-invers, #FFFFFF);
    text-decoration: none;
}

/* --- Sub breakpoint: card vertical, în slider ---------------------------
   Comutarea se face prin clasa .krc-rel--slider, pusă de JS — breakpoint-ul
   fiind reglabil din BO, un media query static n-ar avea ce valoare să poarte. */
.krc-rel--slider .krc-rel-track {
    display: flex;
}
.krc-rel--slider .krc-rel-item {
    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
    padding: 0;
    border-top: none;
}
.krc-rel--slider .krc-rel-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}
.krc-rel--slider .krc-rel-btn {
    width: 100%;
}

/* --- Buline ------------------------------------------------------------- */
.krc-rel-pagination {
    display: none;
}
.krc-rel--slider .krc-rel-pagination {
    display: flex;
    justify-content: center;
    gap: .4rem;
    margin-top: .9rem;
}
.krc-rel-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-border, #D8D8D8);
    opacity: 1;
    cursor: pointer;
}
.krc-rel-pagination .swiper-pagination-bullet-active {
    background: var(--c-accent, #E50F1E);
}

@media (prefers-reduced-motion: reduce) {
    .krc-rel-btn {
        transition: none;
    }
}
